/* 바꿈영어 정적 페이지 공용 스타일 — 홈(/)과 커리큘럼(/curriculum)이 함께 씁니다.
   글 페이지(/posts)는 이 파일 뒤에 styles.css 를 덧붙여 씁니다. */
:root{
    --cream:#FAF6F1; --sand:#F3EAE0; --peach:#FBE4D2;
    --coral:#E4835C; --coral-soft:#EFA983; --gold:#D9A45B;
    --navy:#1B2E4A; --navy-soft:#3A5578; --dusk:#7A5E7A;
    --ink:#2C2A32; --muted:#7A7168; --line:#E7DBCD;
    --radius:14px; --maxw:1080px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  [id]{scroll-margin-top:96px}
  body{font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}
  .serif{font-family:'Noto Serif KR','Pretendard',serif}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--peach);color:var(--navy)}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eng-label{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--coral);text-transform:uppercase;margin-bottom:10px}

  @keyframes tw{0%,100%{opacity:.2}50%{opacity:.95}}
  @media(prefers-reduced-motion:reduce){*{animation:none !important}}
  .star{position:absolute;border-radius:50%;background:#fff;animation:tw 3s ease-in-out infinite}

  /* Header */
  header{position:sticky;top:0;z-index:50;background:rgba(250,246,241,.9);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:84px}
  .logo{display:flex;align-items:center;cursor:pointer}
  .logo img{height:50px;margin:0;display:block}
  .logo-text{font-weight:700;font-size:20px;color:var(--navy);letter-spacing:-.3px;line-height:1.25}
  .logo-text small{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.5px}
  .menu{display:flex;align-items:center;gap:20px}
  .menu a{font-size:15.5px;font-weight:500;white-space:nowrap;color:var(--ink);cursor:pointer;transition:color .15s}
  .menu a:hover{color:var(--coral)}
  .menu a.active{color:var(--coral);font-weight:700}
  .btn{display:inline-flex;align-items:center;gap:7px;background:var(--coral);color:#fff;padding:12px 22px;border-radius:100px;font-size:15px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:transform .15s,background .15s}
  .btn:hover{background:var(--navy);transform:translateY(-1px)}
  .btn-lg{padding:14px 26px;font-size:15px}
  .btn-light{background:#fff;color:var(--navy);box-shadow:0 8px 26px rgba(12,20,38,.25)}
  .btn-light:hover{background:var(--peach);color:var(--navy)}
  .btn-ghost-l{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);box-shadow:none}
  .btn-ghost-l:hover{background:rgba(255,255,255,.12);color:#fff}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}
  .drawer{display:none;border-top:1px solid var(--line);background:var(--cream);padding:12px 24px 18px}
  .drawer.open{display:grid;gap:4px}
  .drawer a{font-size:15px;font-weight:500;color:var(--ink);padding:9px 4px}
  .drawer a.active{color:var(--coral);font-weight:700}

  /* Hero - 해질녘 */
  .hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(180deg,#16253E 0%,#2E4568 42%,var(--dusk) 70%,#D9885E 100%)}
  .hero .glow{position:absolute;left:0;right:0;bottom:0;height:46%;background:radial-gradient(60% 80% at 50% 105%,rgba(240,158,105,.4),rgba(240,158,105,0) 72%);z-index:1}
  /* 우측 이미지 — 가운데 콘텐츠 컬럼 기준으로 오른쪽 끝까지 크게 깔고,
     사방 가장자리를 마스크로 녹여 사각 이미지 느낌 없이 배경 그라데이션에 섞는다.
     왼쪽(텍스트 쪽)은 더 강하게 비워 글씨가 잘 읽히게 한다. */
  .hero-media{
    position:absolute;top:-8px;bottom:-8px;z-index:1;
    left:41%;right:0;
    background:url('/assets/hero.jpg') no-repeat 36% 30%/cover;
    /* 한 겹 타원. 페이드가 박스 안에서 완전히 0 이 되어야 경계선이 안 생긴다.
       가로: 66% ± 52% → 14%~118% (오른쪽은 화면 끝이라 잘려도 안 보인다)
       세로: 50% ± 45% → 5%~95% (위아래 모두 박스 안에서 끝난다) */
    --fade:radial-gradient(ellipse 58% 46% at 64% 48%,
      #000 44%, rgba(0,0,0,.96) 58%, rgba(0,0,0,.78) 70%,
      rgba(0,0,0,.44) 82%, rgba(0,0,0,.16) 92%, transparent 99%);
    -webkit-mask-image:var(--fade);
    mask-image:var(--fade);
  }
  .hero-inner{position:relative;z-index:2;padding:96px 24px 84px}
  .hero-copy{max-width:560px}
  .hero .eng-label{color:#FBE0C8;letter-spacing:3px}
  /* 히어로 칩 — 수학 사이트의 eyebrow 와 같은 자리, 같은 알약 모양 */
  .hero-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#FBE0C8;font-size:13px;font-weight:700;letter-spacing:.6px;padding:7px 16px;border-radius:100px;transition:background .15s}
  .hero-chip:hover{background:rgba(255,255,255,.26)}
  .hero-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--coral-soft);flex-shrink:0}
  /* 굿이브닝이니까 달. 수학 사이트의 해 아이콘 자리와 같은 역할이다 */
  .ico-moon{width:14px;height:14px;flex-shrink:0;color:#F6E2C4}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--coral);letter-spacing:.4px;background:var(--peach);padding:7px 14px;border-radius:100px;margin-bottom:18px}
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--coral)}
  .hero h1{font-family:'Noto Serif KR',serif;font-size:clamp(27px,3.6vw,41px);font-weight:700;color:#fff;letter-spacing:-1px;line-height:1.35;margin:12px 0 18px;text-shadow:0 2px 20px rgba(0,0,0,.35);text-wrap:balance}
  .hero p{font-size:clamp(15.5px,1.8vw,17px);color:#F4E6DA;max-width:520px;margin:0 0 30px;line-height:1.8;text-wrap:pretty;text-shadow:0 1px 12px rgba(0,0,0,.3)}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
  .wave-divider{display:block;width:100%;height:40px;position:relative;z-index:2;margin-top:-2px}

  section.block{padding:88px 0}
  .sec-center{text-align:center;max-width:640px;margin:0 auto 48px}
  .sec-center .eng-label{display:block}
  .sec-center h2{font-family:'Noto Serif KR',serif;font-size:clamp(25px,3.4vw,34px);font-weight:700;color:var(--navy);letter-spacing:-.6px;line-height:1.4;margin-bottom:14px}
  .sec-center p{font-size:16px;color:var(--muted);line-height:1.75;text-wrap:pretty}

  /* Manifesto - 선언문 */
  .manifesto{background:var(--navy);color:#fff;position:relative;overflow:hidden}
  .manifesto .orb{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(239,169,131,.08),rgba(239,169,131,0) 70%)}
  .manifesto .wrap{position:relative;z-index:1}
  .manifesto .eng-label{color:var(--coral-soft);text-align:center;display:block}
  .manifesto h2{font-family:'Noto Serif KR',serif;text-align:center;color:#fff;font-size:clamp(23px,3.2vw,31px);font-weight:700;margin-bottom:14px;letter-spacing:-.5px}
  .manifesto .intro{text-align:center;color:#C7D2E0;max-width:640px;margin:0 auto 44px;font-size:16px;line-height:1.9;text-wrap:pretty}
  .compare{max-width:720px;margin:0 auto}
  .compare-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .compare-row:last-child{border-bottom:none}
  .c-left{text-align:right;color:#93A3B8;font-size:16px}
  .c-arrow{width:30px;height:30px;border-radius:50%;background:var(--coral);display:grid;place-items:center;flex-shrink:0}
  .c-right{text-align:left;color:#fff;font-size:17px;font-weight:600}
  .manifesto .closing{text-align:center;color:#DCE4EE;max-width:660px;margin:44px auto 0;font-size:16px;line-height:1.9;text-wrap:pretty}
  .manifesto .closing strong{color:#fff}

  /* Roadmap - 초등 4단계 */
  .roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;transition:transform .18s,box-shadow .18s}
  .step:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(228,131,92,.12)}
  .step .snum{font-size:12px;font-weight:800;letter-spacing:1.5px;color:var(--coral);background:var(--peach);display:inline-block;padding:5px 12px;border-radius:100px;margin-bottom:16px}
  .step h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:6px;letter-spacing:-.3px}
  .step .eng{font-size:12.5px;color:var(--coral-soft);font-weight:600;margin-bottom:12px}
  .step p{font-size:14px;color:var(--ink);line-height:1.65}
  .care{margin-top:24px;background:var(--sand);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;display:flex;align-items:center;gap:16px}
  .care .ci{width:40px;height:40px;border-radius:10px;background:var(--gold);display:grid;place-items:center;flex-shrink:0}
  .care h4{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:3px}
  .care p{font-size:14px;color:var(--muted)}

  /* 특징 카드 (중고등 / 설명회) */
  .feature-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .fcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .18s,box-shadow .18s}
  .fcard:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(228,131,92,.12)}
  .fcard .fi{width:44px;height:44px;border-radius:11px;background:var(--coral);display:grid;place-items:center;margin-bottom:16px}
  .fcard .flabel{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
  .fcard h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:8px;letter-spacing:-.3px}
  .fcard p{font-size:14.5px;color:var(--ink);line-height:1.7}

  /* Good Evening ENGLISH */
  .grammar{background:linear-gradient(135deg,var(--navy),var(--navy-soft));border-radius:24px;padding:52px 44px;color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
  .moon{position:absolute;border-radius:50%;background:radial-gradient(circle at 38% 35%,#FCF3E4,#F3DFC0);box-shadow:0 0 26px rgba(252,243,228,.5)}
  .grammar h2{font-family:'Noto Serif KR',serif;font-size:clamp(23px,3vw,30px);font-weight:700;letter-spacing:-.5px;margin-bottom:12px;color:#fff}
  .grammar .eng-label{color:var(--coral-soft)}
  /* .moon 은 장식이라 그리드 칸을 차지하면 안 된다. :not 으로 빼지 않으면
     이 규칙이 .moon{position:absolute} 를 이겨서 좌우가 밀린다. */
  .grammar > div:not(.moon){position:relative;z-index:1}
  .grammar .lead{font-size:15.5px;color:#D7E0EC;line-height:1.85;margin-bottom:22px;text-wrap:pretty}
  .glist{list-style:none;display:grid;gap:12px}
  .glist li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:#EAF0F7;line-height:1.6}
  .glist .gi{width:22px;height:22px;border-radius:50%;background:var(--coral);display:grid;place-items:center;flex-shrink:0;margin-top:2px}
  .gcard-wrap{text-align:center}
  .gcard{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:28px 24px;display:inline-block;min-width:220px;backdrop-filter:blur(2px)}
  .gcard .gk{font-size:13px;font-weight:700;letter-spacing:2px;color:var(--coral-soft);margin-bottom:8px}
  .gcard .gt{font-family:'Noto Serif KR',serif;font-size:34px;font-weight:700;color:#fff;line-height:1.2}
  .gcard .gs{font-size:13.5px;color:#C7D2E0;margin-top:8px}

  /* 블록제 표 */
  .block-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 24px rgba(27,46,74,.05)}
  .bt-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr;align-items:center}
  .bt-head{background:var(--navy);color:#fff}
  .bt-head div{padding:16px 20px;font-size:14px;font-weight:700}
  .bt-body{border-top:1px solid var(--line)}
  .bt-body:nth-child(odd){background:var(--sand)}
  .bt-body:hover{background:#FBF2E8}
  .bt-body div{padding:18px 20px;font-size:14.5px}
  .bt-body .lvl{font-weight:700;color:var(--navy)}
  .bt-body .blocks{color:var(--coral);font-weight:700}
  .bt-note{font-size:13px;color:var(--muted);margin-top:14px;text-align:center}

  /* 최종 CTA */
  .cta-final{background:linear-gradient(135deg,var(--navy),var(--navy-soft) 60%,var(--dusk));border-radius:24px;padding:64px 44px;text-align:center;color:#fff;position:relative;overflow:hidden;
    display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}
  .cta-final h2{font-family:'Noto Serif KR',serif;font-size:clamp(25px,3.2vw,34px);font-weight:700;color:#fff;letter-spacing:-.6px;margin-bottom:14px}
  .cta-final p{font-size:16px;color:#EAD9CC;margin-bottom:32px;text-wrap:pretty}
  .cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
  .btn-kakao{background:#FEE500;color:#3A2929;box-shadow:none}
  .btn-kakao:hover{background:#F5DC00;color:#3A2929}

  footer{border-top:1px solid var(--line);padding:44px 0 40px;background:var(--sand);margin-top:20px}
  .foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px 28px;align-items:start}
  .foot .fcol h5{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:12px}
  .foot .fcol p,.foot .fcol a{font-size:13.5px;color:var(--muted);line-height:1.9;display:block}
  .foot .fcol a:hover{color:var(--coral)}
  .foot-brand{max-width:320px}
  .foot-brand > p{margin-top:12px}
  .foot-brand .logo img{height:64px;margin:0}
  .foot-brand .logo-text{font-size:17px}
  .copy{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);line-height:1.8}

  /* 좁은 화면: 이미지를 위에 가로 배너로 쌓고 아래로 콘텐츠 */
  @media(max-width:980px){
    .hero{display:flex;flex-direction:column}
    .hero-media{position:relative;order:-1;left:auto;right:auto;top:auto;bottom:auto;width:100%;height:250px;
      background-size:cover;background-position:center 42%;
      -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.55) 0%, #000 16%, #000 62%, rgba(0,0,0,.5) 86%, transparent 100%);
      mask-image:linear-gradient(to bottom, rgba(0,0,0,.55) 0%, #000 16%, #000 62%, rgba(0,0,0,.5) 86%, transparent 100%)}
    /* flex 자식이라 margin:0 auto 가 stretch 를 막고 콘텐츠 너비로 늘어난다 — 명시적으로 100% */
    .hero-inner{width:100%;padding:24px 24px 64px}
    .hero-copy{max-width:none}
    .hero .star{display:none}
  }
  @media(max-width:1060px){
    .menu a:not(.btn){display:none}
    .menu-toggle{display:block}
  }
  @media(max-width:860px){
    .roadmap{grid-template-columns:1fr 1fr}
    .feature-list{grid-template-columns:1fr}
    .grammar{grid-template-columns:1fr;padding:40px 26px}
    .cta-final{padding:44px 26px}
  }
  @media(max-width:560px){
    .roadmap{grid-template-columns:1fr}
    .bt-row{grid-template-columns:1.2fr 1fr}
    .bt-head div:nth-child(3),.bt-head div:nth-child(4),.bt-body div:nth-child(3),.bt-body div:nth-child(4){display:none}
    /* 수강료는 세 열이 다 필요하다. 여백만 줄인다 */
    .pr-head div,.pr-body div{padding:14px 11px;font-size:12.5px}
  }

/* ===== 홈 전용 =====================================================
   change.classby.kr 홈의 구성을 해질녘 팔레트로 옮긴 부분입니다. */

/* 히어로 칩 여러 개 */
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}

/* 두 문장 대비 밴드 — 학생에게는 / 학부모님께는 */
.quote-band{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--navy);border-radius:24px;overflow:hidden;color:#fff}
.qb-cell{padding:44px 40px}
.qb-cell + .qb-cell{border-left:1px solid rgba(255,255,255,.14)}
.qb-cell .who{font-size:14px;color:#93A3B8;margin-bottom:10px}
.qb-cell .what{font-family:'Noto Serif KR',serif;font-size:clamp(22px,2.8vw,30px);font-weight:700;line-height:1.4;letter-spacing:-.5px}
.qb-cell .what em{font-style:normal;color:var(--coral-soft)}

/* SINCE 2014 브랜드 스토리 */
.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}
.story-side .eng-label{margin-bottom:6px}
.story-since{font-family:'Noto Serif KR',serif;font-size:52px;font-weight:700;color:var(--navy);line-height:1;letter-spacing:-2px}
.story-since small{display:block;font-family:'Pretendard',sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;color:var(--gold);margin-top:8px}
.story-main h2{font-family:'Noto Serif KR',serif;font-size:clamp(24px,3.2vw,32px);font-weight:700;color:var(--navy);letter-spacing:-.6px;line-height:1.4;margin-bottom:18px}
.story-quote{border-left:3px solid var(--coral);padding:6px 0 6px 18px;margin-bottom:20px;font-size:17px;color:var(--navy);font-weight:600;line-height:1.7}
.story-main p{font-size:15.5px;color:var(--ink);line-height:1.85;text-wrap:pretty}

/* 3단 카드 (다면 입체 테스트 / 입시·내신 정보) */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* 시험분석 카드 */
.exam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ecard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;transition:transform .18s,box-shadow .18s}
.ecard:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(228,131,92,.12)}
.ecard .school{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--coral);background:var(--peach);padding:5px 12px;border-radius:100px;margin-bottom:14px}
.ecard h3{font-size:16.5px;font-weight:700;color:var(--navy);line-height:1.5;letter-spacing:-.3px;margin-bottom:10px;text-wrap:balance}
.ecard p{font-size:14px;color:var(--muted);line-height:1.7;flex:1}
.ecard .more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--coral)}

/* 입시 전략 배너 */
.strategy{background:linear-gradient(135deg,var(--navy),var(--navy-soft) 65%,var(--dusk));border-radius:24px;padding:56px 44px;color:#fff;position:relative;overflow:hidden;text-align:center;
    display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px}
.strategy .eng-label{color:var(--coral-soft);display:block}
.strategy h2{font-family:'Noto Serif KR',serif;font-size:clamp(23px,3vw,31px);font-weight:700;color:#fff;letter-spacing:-.5px;line-height:1.45;margin-bottom:12px}
.strategy h2 em{font-style:normal;color:var(--gold)}
.strategy p{color:#D7E0EC;font-size:15.5px;margin-bottom:26px;text-wrap:pretty}

/* 학원 공간 */
.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.scard img{display:block;width:100%;height:200px;object-fit:cover}
.scard .cap{padding:14px 18px;font-size:14px;font-weight:600;color:var(--navy)}

/* 팔로우 카드 */
.follow-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fw{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .18s,box-shadow .18s}
.fw:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(228,131,92,.12)}
.fw .flabel{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-bottom:8px}
.fw h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:8px}
.fw p{font-size:14.5px;color:var(--muted);line-height:1.7}
.fw .more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--coral)}

@media(max-width:860px){
  .quote-band{grid-template-columns:1fr}
  .qb-cell + .qb-cell{border-left:none;border-top:1px solid rgba(255,255,255,.14)}
  .qb-cell{padding:34px 28px}
  .story{grid-template-columns:1fr;gap:24px}
  .grid3,.exam-grid,.space-grid{grid-template-columns:1fr 1fr}
  .follow-grid{grid-template-columns:1fr}
  .strategy{padding:38px 26px}
}
@media(max-width:560px){
  .grid3,.exam-grid,.space-grid{grid-template-columns:1fr}
  .story-since{font-size:42px}
}

/* ===== 수학 사이트에서 그대로 가져온 컴포넌트 =========================
   구조는 bakkum-math-blog/public/styles.css 와 동일하고 색만 해질녘으로
   바꿨습니다. 수학 쪽을 고치면 여기도 같이 봐야 합니다. */

/* 수강료 아코디언 */
.acc-wrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;max-width:760px;margin:0 auto}
.acc{border-bottom:1px solid var(--line)}
.acc:last-child{border-bottom:none}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;font-size:17px;font-weight:700;color:var(--navy)}
.acc summary::-webkit-details-marker{display:none}
.acc summary .sign{position:relative;width:16px;height:16px;flex-shrink:0}
.acc summary .sign::before,.acc summary .sign::after{content:"";position:absolute;background:var(--coral);border-radius:2px}
.acc summary .sign::before{left:0;top:7px;width:16px;height:2px}
.acc summary .sign::after{left:7px;top:0;width:2px;height:16px;transition:opacity .15s}
.acc[open] summary .sign::after{opacity:0}
.acc[open] summary{color:var(--coral)}
.acc-body{padding:2px 24px 18px}
.pr-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px dashed var(--line);font-size:15px}
.pr-row:last-child{border-bottom:none}
.pr-name{color:var(--ink)}
.pr-price{color:var(--navy);font-weight:700;letter-spacing:-.2px}

/* 수업 시간 (30분 블록제) */
.tt-card{background:var(--sand);border:1px solid var(--line);border-radius:20px;padding:34px 30px;position:relative;overflow:hidden;max-width:900px;margin:0 auto}
.tt-card::after{content:"";position:absolute;right:-30px;bottom:-40px;width:220px;height:220px;background:url('/assets/logo-mark.png') center/contain no-repeat;opacity:.05}
.tt-head{font-family:'Noto Serif KR','Pretendard',serif;font-size:clamp(23px,3.2vw,30px);font-weight:700;color:var(--navy);letter-spacing:-.6px;margin:6px 0 10px;line-height:1.35}
.tt-lead{color:var(--muted);font-size:15.5px;margin-bottom:26px}
.tt-list{position:relative;z-index:1}
.tt-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.tt-row:first-child{border-top:none}
.tt-t{font-size:17px;font-weight:700;color:var(--navy)}
.tt-m{font-size:13px;color:var(--coral);font-weight:600;margin-top:3px}
.tt-blocks{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:60%}
.tt-label{min-width:130px}
.blk{width:20px;height:20px;border-radius:6px;background:var(--coral)}
.tt-note{margin-top:16px;font-size:13.5px;color:var(--muted);text-align:center}

/* 학원 둘러보기 사진 갤러리 */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-card{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.photo-card .photo-img{position:relative;display:block;width:100%;aspect-ratio:4/3;background:var(--sand)}
.photo-card .photo-img img{display:block;width:100%;height:100%;object-fit:cover}
.photo-card figcaption{padding:12px 15px;font-size:13.5px;color:var(--muted);line-height:1.5}

/* 나중에 사진을 넣을 자리 — 지금은 빈 칸으로 둡니다 */
.photo-slot{display:grid;place-items:center;text-align:center;background:repeating-linear-gradient(45deg,var(--sand),var(--sand) 10px,#EFE3D6 10px,#EFE3D6 20px);color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.3px}

@media(max-width:860px){
  .photo-grid{grid-template-columns:1fr 1fr}
  .tt-blocks{max-width:100%;justify-content:flex-start}
}
@media(max-width:560px){
  .photo-grid{grid-template-columns:1fr}
  .tt-card{padding:26px 20px}
  .acc summary{padding:17px 18px;font-size:16px}
  .acc-body{padding:2px 18px 16px}
}

/* 스크롤 등장 효과 — JS 가 body.js-reveal 을 붙일 때만 켜진다.
   JS 가 안 돌거나 모션을 줄여 달라고 했으면 그냥 보인 상태로 남는다. */
.reveal{transition:opacity .7s ease, transform .8s cubic-bezier(.22,.7,.2,1)}
.js-reveal .reveal{opacity:0;transform:translateY(28px)}
.js-reveal .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js-reveal .reveal{opacity:1;transform:none;transition:none}}

/* 홈 갤러리 — 세 장만 세워 두고 좌우로 민다. 전체는 /about 에서 본다. */
.photo-carousel{position:relative}
.photo-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.photo-track::-webkit-scrollbar{display:none}
.photo-track .photo-card{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start}
.pc-nav{position:absolute;top:calc(50% - 22px);transform:translateY(-50%);z-index:2;
  width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;
  display:grid;place-items:center;cursor:pointer;color:var(--coral);background:#fff;
  box-shadow:0 6px 20px rgba(27,46,74,.16);transition:opacity .25s, background .2s, color .2s}
.pc-nav:hover{background:var(--coral);color:#fff}
.pc-nav:disabled{opacity:0;pointer-events:none}
.pc-prev{left:-20px}
.pc-next{right:-20px}
.gallery-more{margin-top:20px;text-align:center}
.gallery-more a{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--coral)}

/* 안쪽 페이지 머리 (수강료·수업시간·바꿈에 대하여) */
.page-top{background:linear-gradient(180deg,#1B2E4A 0%,#3A5578 60%,#7A5E7A 100%);color:#fff;padding:64px 0 56px;text-align:center}
.page-top .eng-label{color:#FBE0C8;letter-spacing:3px;display:block}
.page-top h1{font-family:'Noto Serif KR',serif;font-size:clamp(26px,3.6vw,36px);font-weight:700;letter-spacing:-.6px;line-height:1.4;margin-bottom:12px;text-wrap:balance}
.page-top p{color:#F0DFD2;font-size:16px;max-width:640px;margin:0 auto;text-wrap:pretty}

@media(max-width:1000px){
  .photo-track .photo-card{flex-basis:calc((100% - 16px)/2)}
}
@media(max-width:640px){
  .photo-track .photo-card{flex-basis:84%}
  .pc-nav{width:38px;height:38px}
  .pc-prev{left:4px}
  .pc-next{right:4px}
}

/* 좁은 화면 헤더 — 워드마크 로고가 214px 라 320px 에서 버튼·햄버거와 같이 안 들어간다 */
@media(max-width:760px){
  .nav{height:70px}
  .logo img{height:34px}
  .menu{gap:10px}
  .menu .btn{padding:9px 15px;font-size:13px}
}
@media(max-width:430px){
  .logo img{height:29px}
  /* 상담 신청은 드로어 안에 그대로 있다 */
  .menu .btn{display:none}
}

/* 수업 형태 (수학 /schedule 과 같은 구조) */
.fmt-head{margin-bottom:26px}
.fmt-head h2{font-family:'Noto Serif KR','Pretendard',serif;font-size:clamp(22px,3vw,29px);font-weight:700;color:var(--navy);letter-spacing:-.6px;line-height:1.35;margin:4px 0 10px}
.fmt-head p{font-size:15.5px;color:var(--muted)}
.format-list{background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 24px}
.format-row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.format-row:last-child{border-bottom:none}
.format-grade{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;color:var(--navy)}
.format-grade .bar{width:4px;height:20px;border-radius:2px;background:var(--coral)}
.format-opts{display:flex;flex-direction:column;gap:13px}
.fopt{display:flex;gap:18px;align-items:baseline}
.fopt .ftimes{color:var(--coral);font-weight:700;font-size:15.5px;flex-shrink:0;min-width:52px}
.fopt .fdesc{color:var(--ink);font-size:15.5px}
@media(max-width:560px){
  .format-row{grid-template-columns:1fr;gap:12px;padding:20px 0}
  .fopt{gap:12px}
  .format-list{padding:6px 18px}
}

/* 섹션 안에 넣는 설명 사진 한 장 */
.sec-photo{margin:26px 0 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.sec-photo img{display:block;width:100%;height:auto}
.sec-photo figcaption{padding:13px 18px;font-size:13.5px;color:var(--muted);line-height:1.6}

/* ===== 모바일 다듬기 =================================================
   푸터와 CTA 는 마케팅 페이지의 얼굴이라 좁은 화면에서도 줄이 흐트러지면 안 된다. */
@media(max-width:900px){
  .foot{grid-template-columns:1fr 1fr;gap:30px 24px}
  .foot-brand{grid-column:1 / -1;max-width:none}
}
@media(max-width:600px){
  footer{padding:40px 0 36px}
  .foot{grid-template-columns:1fr;gap:26px}
  .foot .fcol h5{font-size:13px;letter-spacing:.4px;margin-bottom:9px;
    padding-bottom:9px;border-bottom:1px solid var(--line)}
  .foot .fcol a,.foot .fcol p{font-size:14.5px;line-height:2.05}
  .foot-brand > p{font-size:14px;line-height:1.85}
  .copy{margin-top:28px;text-align:left}

  /* CTA 버튼은 한 줄에 하나씩, 폭을 꽉 채운다 */
  .cta-final{padding:44px 22px;min-height:0;border-radius:20px}
  .cta-final h2{font-size:24px;line-height:1.4}
  .cta-final p{font-size:15px;margin-bottom:26px}
  .cta-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%}
  .cta-actions .btn{width:100%;justify-content:center;padding:15px 18px;font-size:15px}
  .strategy{padding:40px 22px;min-height:0;border-radius:20px}
  .strategy .btn{width:100%;justify-content:center}
  .hero-actions{width:100%}
  .hero-actions .btn{flex:1 1 100%;justify-content:center}
}

/* 커리큘럼 설명 사진 — 네 장을 2열로 */
.photo-grid-2{grid-template-columns:1fr 1fr}
.photo-grid-2 .photo-card figcaption{font-size:14.5px;font-weight:600;color:var(--navy);padding:14px 18px}
@media(max-width:560px){.photo-grid-2{grid-template-columns:1fr}}

/* 커리큘럼 하단 — 블록제 표와 자주 묻는 질문 (수학 커리큘럼과 같은 구조) */
.cur-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;max-width:840px;margin:0 auto;background:#fff}
.cur-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
.cur-table th,.cur-table td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line)}
.cur-table thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13.5px}
.cur-table tbody tr:last-child td{border-bottom:none}
.cur-table td:first-child{font-weight:700;color:var(--navy)}
.cur-note{max-width:840px;margin:16px auto 0;font-size:13.5px;color:var(--muted);text-align:center;line-height:1.75}

.faq-list{max-width:760px;margin:0 auto}
.faq-item{border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px;overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;font-size:16px;font-weight:700;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .fsign{position:relative;width:15px;height:15px;flex-shrink:0}
.faq-item .fsign::before,.faq-item .fsign::after{content:"";position:absolute;background:var(--coral);border-radius:2px}
.faq-item .fsign::before{left:0;top:6.5px;width:15px;height:2px}
.faq-item .fsign::after{left:6.5px;top:0;width:2px;height:15px;transition:opacity .15s}
.faq-item[open] .fsign::after{opacity:0}
.faq-item[open] summary{color:var(--coral)}
.faq-a{padding:0 22px 20px;font-size:15px;color:var(--ink);line-height:1.85;word-break:keep-all}
@media(max-width:560px){
  .faq-item summary{padding:16px 18px;font-size:15px}
  .faq-a{padding:0 18px 18px;font-size:14.5px}
}

/* Good Evening ENGLISH 제목 옆 달 — 수학의 해 아이콘과 같은 자리 */
.ge-moon{width:.78em;height:.78em;vertical-align:-.04em;margin-left:.18em;color:var(--gold)}
