/* =========================================================
   Teacher Korea Consulting — styles.css
   와이드 랜딩 / 모바일 대응 / pdp-maker식 스텝·배지 / SVG 아이콘
   ========================================================= */

:root{
  --ink:#12263A;
  --ink-soft:#3F5666;
  --brand:#1B6E8C;
  --brand-dark:#124D63;
  --accent:#FF7A4D;
  --accent-dark:#E9633A;
  --gold:#F6C453;
  --gold-dark:#E4A92E;
  --cream:#FBF7F0;
  --cream-2:#F3ECE0;
  --white:#FFFFFF;
  --line:#E6DFD3;
  --shadow-sm:0 2px 10px rgba(18,38,58,.06);
  --shadow:0 18px 50px rgba(18,38,58,.12);
  --shadow-lg:0 30px 80px rgba(18,38,58,.18);
  --radius:18px;
  --radius-lg:28px;
  --maxw:1480px;
  --gap:clamp(20px,4vw,64px);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:110px;}
body{margin:0;font-family:"Inter",system-ui,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:"Sora",system-ui,sans-serif;line-height:1.15;margin:0;color:var(--ink);}
p{margin:0;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,56px);}
.center{text-align:center;}

/* ---------- 아이콘 (SVG 스프라이트) ---------- */
.ic{width:1.4em;height:1.4em;display:inline-block;vertical-align:middle;flex:none;}
.ic--xs{width:1.05em;height:1.05em;}
.ic--sm{width:1.2em;height:1.2em;}
.ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(27,110,140,.1);color:var(--brand);flex:none;}
.ico .ic{width:26px;height:26px;}
.ico--sm{width:44px;height:44px;border-radius:12px;}
.ico--lg{width:60px;height:60px;border-radius:16px;}
.ico--warn{background:rgba(255,122,77,.12);color:var(--accent-dark);}
.ico--emoji{font-size:26px;line-height:1;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;}
.ico--sm.ico--emoji{font-size:22px;}
.ico--lg.ico--emoji{font-size:30px;}

/* ---------- 버튼 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:"Sora",sans-serif;font-weight:600;font-size:1rem;padding:.85rem 1.5rem;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn--primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(255,122,77,.35);}
.btn--primary:hover{background:var(--accent-dark);}
.btn--dark{background:var(--brand);color:#fff;box-shadow:0 10px 24px rgba(27,110,140,.3);}
.btn--dark:hover{background:var(--brand-dark);}
.btn--gold{background:var(--gold);color:#4a3410;box-shadow:0 10px 24px rgba(246,196,83,.4);}
.btn--gold:hover{background:var(--gold-dark);}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn--outline:hover{background:var(--ink);color:#fff;}
.btn--ghost{background:rgba(27,110,140,.08);color:var(--brand-dark);}
.btn--ghost:hover{background:rgba(27,110,140,.16);}
.btn--lg{padding:1.05rem 1.9rem;font-size:1.06rem;}
.btn--sm{padding:.6rem 1.1rem;font-size:.92rem;}
.btn--block{width:100%;}

/* ---------- 공용 ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-family:"Sora",sans-serif;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;color:var(--brand);background:rgba(27,110,140,.1);padding:.4rem .85rem;border-radius:999px;margin-bottom:1rem;}
.eyebrow--center{margin-left:auto;margin-right:auto;}
.eyebrow--light{color:#fff;background:rgba(255,255,255,.18);}
.hl{color:var(--accent);white-space:nowrap;}
.section{padding:clamp(56px,8vw,116px) 0;}
.section__head{max-width:780px;margin:0 auto clamp(34px,5vw,60px);text-align:center;}
.section h2{font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:800;}
.section__head .eyebrow{display:inline-flex;}
.section__sub{margin-top:1rem;color:var(--ink-soft);font-size:clamp(1rem,1.6vw,1.18rem);}
.section__sub--light{color:rgba(255,255,255,.85);}
.fine{font-size:.9rem;color:var(--ink-soft);}
.grid{display:grid;gap:clamp(18px,2.5vw,28px);}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}

/* ---------- 상단 바 + 내비 ---------- */
.topbar{background:var(--brand-dark);color:#fff;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem;padding:.5rem 1rem;text-align:center;}
.topbar .ic{color:var(--gold);}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line);}
.nav__inner{display:flex;align-items:center;gap:1.2rem;height:70px;}
.brand{display:flex;align-items:center;gap:.6rem;font-family:"Sora",sans-serif;font-weight:700;}
.brand__mark{border-radius:8px;}
.brand__name{font-size:1.05rem;color:var(--ink);white-space:nowrap;}
.brand__name b{color:var(--brand);font-weight:800;}
.nav__links{display:flex;gap:1.25rem;margin-left:auto;font-weight:500;font-size:.94rem;color:var(--ink-soft);}
.nav__links a:hover{color:var(--brand);}
.nav__cta{display:flex;gap:.6rem;}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.nav__burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.25s;}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* 모바일 메뉴 — 헤더 아래 컴팩트 드롭다운 카드 (화면을 덮지 않음) */
.mobile-menu{position:absolute;top:calc(100% + 8px);right:clamp(12px,3vw,32px);
  width:min(320px,88vw);max-height:min(72vh,560px);overflow-y:auto;z-index:60;
  display:flex;flex-direction:column;padding:.5rem 1.1rem 1rem;background:#fff;
  border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);}
.mobile-menu a{padding:.6rem 0;font-weight:600;font-size:.97rem;border-bottom:1px solid var(--cream-2);}
.mobile-menu__cta{display:flex;flex-direction:column;gap:.5rem;margin-top:.7rem;}
.mobile-menu__cta .btn{width:100%;padding:.7rem 1rem;}
body.menu-open .sticky-cta{display:none!important;}

/* ---------- 히어로 ---------- */
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% -10%,rgba(246,196,83,.28),transparent 55%),radial-gradient(110% 80% at 0% 0%,rgba(27,110,140,.14),transparent 50%),linear-gradient(180deg,var(--cream),#fff 90%);}
/* 시네마틱 변형 — 북촌 노을 풀블리드 + 딥틸 오버레이 */
.hero--cinematic{background:
  linear-gradient(100deg,rgba(9,38,52,.88) 0%,rgba(9,38,52,.62) 48%,rgba(18,77,99,.45) 100%),
  url("../images/why-korea.jpg") center 60%/cover no-repeat;color:#fff;}
.hero--cinematic h1{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35);}
.hero--cinematic .hl{color:var(--gold);}
.hero--cinematic .hero__lead{color:rgba(255,255,255,.92);}
.hero--cinematic .hero__lead b{color:var(--gold);font-weight:600;}
.eyebrow--glass{color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);}
.trust-chips--light{color:#fff;}
.trust-chips--light .ic{color:var(--gold);}
.btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.75);}
.btn--outline-light:hover{background:#fff;color:var(--ink);border-color:#fff;}
.hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--gap);align-items:center;padding:clamp(44px,7vw,92px) 0 clamp(52px,8vw,100px);}
.hero h1{font-size:clamp(2.2rem,5.2vw,4.1rem);font-weight:800;letter-spacing:-.02em;}
.hero__lead{margin-top:1.3rem;font-size:clamp(1.02rem,1.8vw,1.28rem);color:var(--ink-soft);max-width:40ch;}
.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem;}
.trust-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;padding:0;margin:1.8rem 0 0;color:var(--brand-dark);font-weight:600;font-size:.95rem;}
.trust-chips li{display:inline-flex;align-items:center;gap:.4rem;}
.trust-chips .ic{color:var(--brand);}
.hero__visual{position:relative;}
.browser{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--line);}
.browser__bar{display:flex;align-items:center;gap:6px;padding:12px 16px;background:#f1eee7;border-bottom:1px solid var(--line);}
.browser__bar>span{width:11px;height:11px;border-radius:50%;background:#d9d2c6;}
.browser__bar>span:nth-child(1){background:#ff6159;}
.browser__bar>span:nth-child(2){background:#ffbd2e;}
.browser__bar>span:nth-child(3){background:#28c840;}
.browser__url{margin-left:12px;font-size:.78rem;color:#8a8172;background:#fff;border-radius:999px;padding:.28rem .9rem;flex:1;max-width:320px;}
.browser__img{width:100%;height:clamp(320px,42vw,520px);object-fit:cover;}
.img-fallback{min-height:320px;background:linear-gradient(135deg,var(--brand),var(--accent));}
.float-card{position:absolute;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:.8rem 1rem;display:flex;align-items:center;gap:.7rem;font-size:.9rem;max-width:240px;}
.float-card strong{display:block;font-family:"Sora",sans-serif;font-size:.95rem;}
.float-card small{color:var(--ink-soft);}
.float-card__ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:11px;flex:none;}
.float-card__ic--gold{background:rgba(246,196,83,.2);color:var(--gold-dark);}
.float-card__ic--teal{background:rgba(27,110,140,.12);color:var(--brand);}
.float-card--a{left:-26px;top:20%;animation:float 6s ease-in-out infinite;}
.float-card--b{right:-18px;bottom:12%;animation:float 6s ease-in-out infinite 1.6s;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

/* ---------- 임팩트 숫자 밴드 ---------- */
.stats{background:var(--ink);color:#fff;padding:1.7rem 0;}
.stats__inner{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem clamp(2rem,4vw,3.6rem);text-align:center;}
.stat b{font-family:"Sora",sans-serif;font-size:clamp(1.35rem,2.6vw,1.9rem);font-weight:800;color:var(--gold);display:block;line-height:1.15;}
.stat small{color:rgba(255,255,255,.75);font-size:.87rem;}

/* ---------- 등록 가능 국가 (국기 카드 + 배지) ---------- */
.countries{background:var(--cream);}
.inline-flag{display:inline-block;width:1.1em;height:.8em;object-fit:cover;border-radius:3px;vertical-align:baseline;box-shadow:0 1px 3px rgba(0,0,0,.2);margin:0 .1em;}
.flag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,22px);max-width:1040px;margin:0 auto;}
.flag-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.4rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .2s ease;}
.flag-card.is-open{border-color:rgba(27,110,140,.35);}
.flag-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.flag-card .flag{width:52px;height:36px;object-fit:cover;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.18);flex:none;}
.flag--ph{display:grid;place-items:center;background:var(--cream-2);color:var(--ink-soft);font-family:"Sora",sans-serif;font-weight:700;font-size:.8rem;}
.flag-card h3{font-size:1.12rem;flex:1;}
.badge{font-family:"Sora",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;padding:.35rem .7rem;border-radius:999px;background:var(--cream-2);color:var(--ink-soft);white-space:nowrap;}
.badge--open{background:rgba(40,180,110,.14);color:#1f8a54;}

/* ---------- 문제 ---------- */
.problem{background:var(--white);}
.pain{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.8rem;box-shadow:var(--shadow-sm);}
.pain .ico{margin-bottom:1rem;}
.pain h3{font-size:1.2rem;margin-bottom:.5rem;}
.pain p{color:var(--ink-soft);}

/* ---------- 가이드 / 공용 2단 ---------- */
.guide{background:var(--cream);}
.guide__inner,.why__inner,.welcome__inner,.schools__inner,.founder__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:center;}
.guide__media img,.schools__media img{width:100%;height:100%;max-height:560px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow);}

/* 사진 공통 보정 — AI 생성 이미지의 파스텔톤을 또렷하게 */
.browser__img,.guide__media img,.schools__media img,.founder__media img,
.why__media>img:first-child,.why__media-small,.quote figcaption img{
  filter:saturate(1.12) contrast(1.05);
}
.feature-list{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1.1rem;}
.feature-list li{display:flex;gap:1rem;align-items:flex-start;}
.feature-list--tight{margin-top:1.4rem;gap:.9rem;}
.feature-list strong{font-family:"Sora",sans-serif;}

/* ---------- 법률 하이라이트 ---------- */
.legal{background:var(--white);}
.legal__card{position:relative;background:linear-gradient(155deg,var(--brand-dark),var(--brand));color:#fff;border-radius:var(--radius-lg);padding:clamp(2rem,5vw,3.4rem);box-shadow:var(--shadow-lg);overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:clamp(1.4rem,3vw,2.6rem);align-items:center;}
.legal__card::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(246,196,83,.16);}
.legal__badge{display:grid;place-items:center;width:96px;height:96px;border-radius:24px;background:rgba(255,255,255,.14);color:var(--gold);flex:none;}
.legal__badge .ic{width:52px;height:52px;}
.legal__body{position:relative;z-index:1;}
.legal__body h2{color:#fff;}
.legal__body>p{margin-top:1rem;color:rgba(255,255,255,.9);max-width:60ch;}
.legal__stats{display:flex;flex-wrap:wrap;gap:1rem 2.4rem;margin:1.8rem 0;}
.legal__media{display:none;position:relative;z-index:1;}
@media (min-width:1100px){
  .legal__card{grid-template-columns:auto 1.35fr 1fr;}
  .legal__media{display:block;}
  .legal__media img{width:100%;height:100%;max-height:400px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow);}
}
.lstat b{font-family:"Sora",sans-serif;font-size:1.9rem;font-weight:800;color:var(--gold);display:block;line-height:1;}
.lstat small{color:rgba(255,255,255,.8);font-size:.9rem;}

/* ---------- 창업자 ---------- */
.founder{background:var(--cream);}
.founder__media{position:relative;}
.founder__media img{width:100%;height:100%;max-height:600px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.founder__media .img-fallback{min-height:420px;}
.founder__flags{position:absolute;left:18px;bottom:18px;display:flex;gap:.5rem;background:rgba(255,255,255,.92);padding:.5rem .6rem;border-radius:12px;box-shadow:var(--shadow-sm);}
.founder__flags img{width:34px;height:24px;object-fit:cover;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.founder__copy>p{margin-top:1rem;color:var(--ink-soft);}
.founder__name{font-family:"Sora",sans-serif;font-weight:700;color:var(--brand-dark)!important;font-size:1.1rem;margin-top:.4rem!important;}

/* ---------- 왜 한국 ---------- */
.why{background:var(--white);}
.why__cards{margin-top:1.8rem;}
.mini-card{background:var(--cream);border-radius:var(--radius);padding:1.4rem;}
.mini-card .ico{margin-bottom:.6rem;}
.mini-card h4{margin:.2rem 0 .3rem;font-size:1.08rem;}
.mini-card p{color:var(--ink-soft);font-size:.95rem;}
.why__media{position:relative;}
.why__media>img:first-child{width:100%;height:clamp(340px,40vw,520px);object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.why__media-small{position:absolute;right:-14px;bottom:-24px;width:44%;max-width:240px;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius);border:6px solid #fff;box-shadow:var(--shadow);}

/* ---------- 진행 방식 ---------- */
.how{background:linear-gradient(180deg,var(--cream),#fff);}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,26px);}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.6rem 1.7rem;box-shadow:var(--shadow-sm);}
.step__num{font-family:"Sora",sans-serif;font-weight:800;font-size:.95rem;color:var(--accent);letter-spacing:.05em;}
.step .ico{margin:.7rem 0;}
.step h3{font-size:1.16rem;margin-bottom:.4rem;}
.step p{color:var(--ink-soft);font-size:.95rem;}
.step:not(:last-child)::after{content:"";position:absolute;right:-15px;top:50%;width:22px;height:2px;background:var(--brand);opacity:.5;}

/* ---------- 누구를 환영 ---------- */
.welcome{background:var(--white);}
.checklist{list-style:none;padding:0;margin:1.6rem 0;display:grid;gap:.8rem;}
.checklist li{position:relative;padding-left:2rem;font-size:1.05rem;}
.checklist li::before{content:"✓";position:absolute;left:0;top:.05rem;color:#fff;background:var(--brand);width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;}
.welcome__reassure{background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:clamp(1.8rem,3vw,2.6rem);box-shadow:var(--shadow);}
.welcome__reassure h3{color:#fff;font-size:1.4rem;margin-bottom:1.2rem;}
.avoid{list-style:none;padding:0;margin:0;display:grid;gap:1rem;}
.avoid li{padding-left:1.8rem;position:relative;color:rgba(255,255,255,.86);}
.avoid li::before{content:"↳";position:absolute;left:0;color:var(--gold);}
.avoid b{color:#fff;}

/* ---------- 학원용 ---------- */
.schools{background:var(--cream);}

/* ---------- 후기 ---------- */
.testimonials{background:var(--white);}
.quote{margin:0;background:var(--cream);border-radius:var(--radius);padding:2rem 1.8rem;border:1px solid var(--line);}
.quote__stars{display:flex;gap:.15rem;color:var(--gold-dark);margin-bottom:.9rem;}
.quote blockquote{margin:0 0 1.4rem;font-size:1.08rem;color:var(--ink);font-weight:500;}
.quote figcaption{display:flex;align-items:center;gap:.8rem;}
.quote figcaption img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#dfe7ea;}
.avatar-ph{background:linear-gradient(135deg,var(--brand),var(--accent))!important;}
.quote figcaption b{font-family:"Sora",sans-serif;display:block;}
.quote figcaption small{color:var(--ink-soft);}

/* ---------- FAQ ---------- */
.faq{background:var(--cream);}
.faq__inner{max-width:820px;margin:0 auto;}
.faq__list{display:grid;gap:.9rem;}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 1.4rem;box-shadow:var(--shadow-sm);}
.faq summary{cursor:pointer;list-style:none;padding:1.2rem 0;font-family:"Sora",sans-serif;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--brand);transition:.2s;flex:none;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{padding:0 0 1.3rem;color:var(--ink-soft);}

/* ---------- 문의 ---------- */
.contact{background:linear-gradient(160deg,var(--brand-dark),var(--brand));color:#fff;}
.contact h2{color:#fff;}
.contact__cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.5vw,28px);max-width:960px;margin:0 auto;}
.contact-card{background:#fff;color:var(--ink);border-radius:var(--radius-lg);padding:clamp(1.8rem,3vw,2.6rem);box-shadow:var(--shadow-lg);}
.contact-card .ico{margin-bottom:1rem;}
.contact-card h3{font-size:1.32rem;margin-bottom:.5rem;}
.contact-card p{color:var(--ink-soft);margin-bottom:1.4rem;}
.contact-card__alt{display:block;margin-top:1rem;text-align:center;font-size:.88rem;color:var(--ink-soft);text-decoration:underline;}
.contact__embed{max-width:760px;margin:clamp(28px,4vw,44px) auto 0;background:#fff;color:var(--ink);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow-lg);}
.embed-note{font-family:"Sora",sans-serif;font-weight:700;margin-bottom:.6rem;}
.embed-logo{width:150px;margin:0 auto .9rem;}
.embed-fallback{margin-top:.8rem;font-size:.9rem;color:var(--ink-soft);text-align:center;}
.embed-fallback a{color:var(--brand);text-decoration:underline;}
.contact__social{text-align:center;margin:clamp(20px,3vw,32px) auto 0;}
.contact__social a{display:inline-flex;align-items:center;gap:.5rem;font-family:"Sora",sans-serif;font-weight:600;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:.65rem 1.3rem;border-radius:999px;transition:background .2s ease;}
.contact__social a:hover{background:rgba(255,255,255,.24);}
.contact__social .ic{color:var(--gold);}

/* ---------- 푸터 ---------- */
.footer{background:var(--ink);color:rgba(255,255,255,.78);padding:clamp(48px,6vw,80px) 0 2rem;}
.footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--gap);}
.footer .brand__name{color:#fff;font-size:1.2rem;font-family:"Sora",sans-serif;}
.footer .brand__name b{color:var(--gold);}
.footer__brand p{margin-top:.8rem;max-width:44ch;}
.footer__col h4{color:#fff;font-size:1rem;margin-bottom:1rem;}
.footer__col a{display:block;padding:.28rem 0;color:rgba(255,255,255,.72);}
.footer__col a:hover{color:var(--gold);}
.footer__sns{display:inline-flex!important;align-items:center;gap:.4rem;}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.14);font-size:.82rem;color:rgba(255,255,255,.55);}

/* ---------- 혜택 ---------- */
.benefits{background:var(--white);}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px);}
.benefit-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem 1.4rem;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .2s ease;}
.benefit-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.benefit-card .ico{margin-bottom:.9rem;}
.benefit-card h3{font-size:1.1rem;margin-bottom:.35rem;}
.benefit-card p{color:var(--ink-soft);font-size:.94rem;}
.benefit-card--free{background:linear-gradient(155deg,var(--brand),var(--brand-dark));border-color:transparent;color:#fff;box-shadow:var(--shadow);}
.benefit-card--free h3{color:#fff;}
.benefit-card--free p{color:rgba(255,255,255,.85);}
.benefit-card--free .ico{background:rgba(255,255,255,.16);color:var(--gold);}

/* ---------- 풀서비스 지원 ---------- */
.support{background:linear-gradient(180deg,#fff,var(--cream));}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,28px);}
.support-item{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.4rem;box-shadow:var(--shadow-sm);}
.support-item strong{font-family:"Sora",sans-serif;display:block;margin-bottom:.25rem;}
.support-item p{color:var(--ink-soft);font-size:.92rem;}

/* =========================================================
   반응형
   ========================================================= */
@media (max-width:1100px){
  /* 떠 있는 메뉴 창 없음 — 링크를 상단에 항상 노출(가로 스크롤) */
  .nav__cta{display:none;}
  .nav__burger,.mobile-menu{display:none!important;}
  .nav__inner{flex-wrap:wrap;height:auto;padding-top:.55rem;}
  .nav__links{order:3;width:100%;display:flex;margin-left:0;gap:1.15rem;
    overflow-x:auto;white-space:nowrap;padding:.5rem 2px .7rem;font-size:.9rem;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .nav__links::-webkit-scrollbar{display:none;}
  .float-card--a{left:0;}
  .float-card--b{right:0;}
}
@media (max-width:920px){
  .hero__inner{grid-template-columns:1fr;text-align:center;}
  .hero__lead{margin-left:auto;margin-right:auto;}
  .hero__actions,.trust-chips{justify-content:center;}
  .hero__visual{margin-top:1rem;}
  .guide__inner,.why__inner,.welcome__inner,.schools__inner,.founder__inner{grid-template-columns:1fr;}
  .guide__media,.schools__media,.founder__media{order:-1;max-width:560px;margin:0 auto;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .step:not(:last-child)::after{display:none;}
  .flag-grid{grid-template-columns:repeat(2,1fr);}
  .benefit-grid{grid-template-columns:repeat(2,1fr);}
  .support-grid{grid-template-columns:repeat(2,1fr);}
  .legal__card{grid-template-columns:1fr;text-align:center;}
  .legal__badge{margin:0 auto;}
  .legal__stats{justify-content:center;}
  .footer__inner{grid-template-columns:1fr 1fr;}
  .why__media-small{position:static;width:60%;margin:1rem auto 0;}
}
@media (max-width:600px){
  .grid--3,.grid--2{grid-template-columns:1fr;}
  .steps,.flag-grid,.benefit-grid,.support-grid{grid-template-columns:1fr;}
  .contact__cards{grid-template-columns:1fr;}
  .footer__inner{grid-template-columns:1fr;}
  .btn--lg{width:100%;}
  .hero__actions{flex-direction:column;}
  .float-card{display:none;}
  .stats__inner{gap:1rem 1.6rem;}
  .legal__stats{gap:1rem 1.6rem;}
}

/* ---------- 모바일 하단 고정 CTA ---------- */
.sticky-cta{display:none;}
@media (max-width:700px){
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:.65rem .9rem calc(.65rem + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
    border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(18,38,58,.14);}
  .sticky-cta .btn{width:100%;}
  body{padding-bottom:74px;}
}

/* ---------- 스크롤 리빌 (JS가 .rv 부여 — JS 없으면 항상 보임) ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
.rv-in{opacity:1;transform:none;}

:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px;}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}html{scroll-behavior:auto;}.rv{opacity:1;transform:none;}}
