
  :root{
    --cream:#FAF5EE;--cream-deep:#F1E7D8;--beige:#E8D9C3;--sand:#D9C4A8;
    --ink:#2B2521;--ink-soft:#6B5F54;--pink:#D9A7A0;--pink-deep:#C58A82;
    --blush:#F3E1DC;--gold:#B8985A;--gold-deep:#9C7E42;--line:rgba(43,37,33,0.12);
    --serif:'Cormorant Garamond','Gowun Batang',serif;--kserif:'Gowun Batang',serif;--sans:'Noto Sans KR',sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  ::selection{background:var(--pink);color:#fff}
  img{display:block;width:100%;height:100%;object-fit:cover}

  /* NAV */
  header{position:fixed;top:0;left:0;width:100%;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,64px);transition:background .5s,padding .5s,box-shadow .5s}
  header.scrolled{background:rgba(250,245,238,0.92);backdrop-filter:blur(12px);padding:14px clamp(20px,5vw,64px);box-shadow:0 1px 0 var(--line)}
  .logo{font-family:var(--serif);font-weight:500;letter-spacing:.32em;font-size:21px;color:var(--ink);text-decoration:none;transition:color .4s}
  .logo span{color:var(--gold-deep)}
  header:not(.scrolled) .logo,header:not(.scrolled) nav a{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}
  nav{display:flex;gap:clamp(20px,3vw,40px);align-items:center}
  nav a{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;position:relative;transition:color .35s}
  nav a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .4s}
  nav a:hover::after{width:100%}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}
  .nav-toggle span{width:24px;height:1.5px;background:#fff;display:block;transition:.3s}
  header.scrolled .nav-toggle span{background:var(--ink)}

  /* LANGUAGE SWITCH */
  .lang-switch{display:flex;align-items:center;gap:2px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);border-radius:50px;padding:3px}
  header.scrolled .lang-switch{background:rgba(43,37,33,.06);border-color:var(--line)}
  .lang-switch a{font-size:11px;letter-spacing:.1em;padding:6px 13px;border-radius:50px;text-decoration:none;color:inherit;opacity:.68;transition:.3s;text-shadow:none!important}
  .lang-switch a:hover{opacity:1}
  .lang-switch a::after{display:none!important}
  .lang-switch a.active{background:var(--ink);color:#fff!important;opacity:1}
  header:not(.scrolled) .lang-switch a.active{background:rgba(250,245,238,.95);color:var(--ink)!important}

  /* HERO */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#9C8472}
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,30,25,.5),rgba(70,52,44,.3) 45%,rgba(40,30,25,.6))}
  .hero-grain{position:absolute;inset:0;opacity:.09;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
  .hero-inner{position:relative;z-index:2;padding:0 24px;max-width:900px}
  .hero .eyebrow{font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:#fff;opacity:.92;margin-bottom:30px;animation:fadeUp 1s ease both .2s}
  .hero h1{font-family:var(--serif);color:#fff;font-weight:300;font-size:clamp(46px,8.5vw,108px);line-height:1.04;letter-spacing:.02em;text-shadow:0 2px 40px rgba(0,0,0,.3);animation:fadeUp 1.1s ease both .35s}
  .hero h1 em{font-style:italic;color:var(--blush)}
  .hero .sub{font-family:var(--kserif);color:#fff;font-size:clamp(15px,1.8vw,20px);margin-top:30px;letter-spacing:.04em;opacity:.96;line-height:1.95;text-shadow:0 1px 16px rgba(0,0,0,.4);animation:fadeUp 1.1s ease both .55s}
  .hero .scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.85;animation:fadeUp 1s ease both .9s}
  .hero .scroll::after{content:'';display:block;width:1px;height:46px;margin:14px auto 0;background:linear-gradient(#fff,transparent);animation:scrollline 2.2s ease-in-out infinite}
  @keyframes scrollline{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

  /* SHELL */
  .wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
  .section-label{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:22px;display:flex;align-items:center;gap:14px}
  .section-label::before{content:'';width:34px;height:1px;background:var(--gold)}
  .reveal{opacity:0;transform:translateY(36px);transition:opacity 1s,transform 1s}
  .reveal.in{opacity:1;transform:none}
  .frame{border-radius:2px;overflow:hidden;position:relative;box-shadow:0 30px 60px -34px rgba(120,90,70,.55)}

  /* SPLIT (philosophy/feature/about) */
  .split{padding:clamp(86px,13vh,160px) 0}
  .split .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,96px);align-items:center}
  .split.img-right .wrap{grid-template-columns:1.05fr 1fr}
  .split.img-right .txt{order:-1}
  .split h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.6vw,56px);line-height:1.22;color:var(--ink)}
  .split h2 em{font-style:italic;color:var(--gold-deep)}
  .split .ko{font-family:var(--kserif);font-size:clamp(15px,1.5vw,18px);color:var(--ink-soft);margin-top:26px;line-height:2.05}
  .split .frame{aspect-ratio:4/5}
  .split.wide .frame{aspect-ratio:5/6}
  .bg-cream{background:var(--cream)}.bg-deep{background:var(--cream-deep)}.bg-blush{background:var(--blush)}

  .pilllist{margin-top:30px;display:grid;gap:13px}
  .pilllist li{list-style:none;display:flex;gap:14px;font-size:14.5px;color:var(--ink-soft);font-family:var(--kserif)}
  .pilllist li b{color:var(--gold-deep);font-family:var(--serif);font-size:17px;line-height:1.4}

  /* PROGRAM */
  .program{padding:clamp(86px,13vh,160px) 0;background:var(--cream-deep)}
  .program .head{text-align:center;margin-bottom:64px}
  .program .section-label{justify-content:center}
  .program .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,5vw,60px);color:var(--ink)}
  .program .head p{font-family:var(--kserif);color:var(--ink-soft);margin-top:14px;font-size:16px}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .card{background:var(--cream);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:transform .55s cubic-bezier(.2,.7,.3,1),box-shadow .55s}
  .card:hover{transform:translateY(-10px);box-shadow:0 40px 70px -40px rgba(120,90,70,.55)}
  .card .visual{aspect-ratio:1/1;position:relative;overflow:hidden}
  .card .visual img{transition:transform .9s cubic-bezier(.2,.7,.3,1)}
  .card:hover .visual img{transform:scale(1.06)}
  .card .visual .no{position:absolute;left:22px;bottom:18px;font-family:var(--serif);font-size:54px;font-weight:300;color:#fff;line-height:1;text-shadow:0 2px 18px rgba(0,0,0,.4);z-index:2}
  .card .visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(40,30,25,.45))}
  .card .body{padding:28px 28px 34px}
  .card .en{font-family:var(--serif);font-size:25px;font-weight:500;color:var(--ink)}
  .card .ko-t{font-family:var(--kserif);font-size:15px;color:var(--gold-deep);margin-top:4px}
  .card .desc{font-size:14px;color:var(--ink-soft);margin-top:14px;line-height:1.95}

  /* DARK feature (autonomic) */
  .split.dark{background:var(--ink)}
  .split.dark h2{color:var(--cream)}
  .split.dark h2 em{color:var(--pink)}
  .split.dark .ko{color:rgba(250,245,238,.78)}
  .split.dark .section-label{color:var(--gold)}
  .split.dark .section-label::before{background:var(--gold)}

  /* ABOUT */
  .about{padding:clamp(86px,13vh,170px) 0;background:var(--ink);color:var(--cream)}
  .about .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,96px);align-items:center}
  .about .section-label{color:var(--gold)}.about .section-label::before{background:var(--gold)}
  .about h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.6vw,56px);line-height:1.22;color:var(--cream)}
  .about h2 em{font-style:italic;color:var(--pink)}
  .about .ko{font-family:var(--kserif);color:rgba(250,245,238,.78);margin-top:24px;line-height:2;font-size:16px}
  .about .creds{margin-top:32px;border-top:1px solid rgba(250,245,238,.18);padding-top:26px;display:grid;gap:13px}
  .about .creds li{list-style:none;display:flex;gap:16px;font-size:14px;color:rgba(250,245,238,.85)}
  .about .creds li b{color:var(--gold);font-family:var(--serif);font-size:16px;min-width:18px}
  .about .frame{aspect-ratio:3/4}

  /* TEAM / INSTRUCTORS */
  .team{background:var(--ink);color:var(--cream);padding-top:clamp(86px,13vh,150px)}
  .team .head{text-align:center;margin-bottom:clamp(40px,7vh,72px);padding:0 24px}
  .team .head .section-label{justify-content:center;color:var(--gold)}
  .team .head .section-label::before{background:var(--gold)}
  .team .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,5vw,60px);color:var(--cream)}
  .team .head p{font-family:var(--kserif);color:rgba(250,245,238,.7);margin-top:14px;font-size:16px}
  .instructor{position:relative;overflow:hidden;border-top:1px solid rgba(250,245,238,.12)}
  .instructor .bg{position:absolute;inset:0;z-index:0}
  .instructor .bg img{width:100%;height:100%;object-fit:cover;opacity:.38}
  .instructor::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(28,23,20,.62),rgba(28,23,20,.78))}
  .instructor .inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:clamp(64px,11vh,130px) clamp(20px,5vw,64px)}
  .instructor.director .inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,68px);align-items:start}
  .ins-eyebrow{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
  .ins-name{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,58px);line-height:1.05;color:var(--cream)}
  .ins-name small{display:block;font-size:.36em;letter-spacing:.32em;color:rgba(250,245,238,.6);margin-top:12px;font-family:var(--sans);font-weight:300}
  .ins-role{font-family:var(--kserif);font-size:clamp(16px,1.9vw,20px);color:var(--pink);margin-top:20px}
  .ins-quote{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,28px);color:var(--blush);line-height:1.5;margin:26px 0 6px}
  .ins-body{font-family:var(--kserif);font-size:14.5px;line-height:2;color:rgba(250,245,238,.82);margin-top:18px}
  .ins-body p+p{margin-top:14px}
  .ins-sub{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:30px 0 14px;display:flex;align-items:center;gap:12px}
  .ins-sub::before{content:'';width:24px;height:1px;background:var(--gold)}
  .ins-list{display:grid;gap:9px}
  .ins-list li{list-style:none;display:flex;gap:11px;font-size:13.5px;color:rgba(250,245,238,.82);font-family:var(--kserif);line-height:1.55}
  .ins-list li::before{content:'\25C6';color:var(--gold);font-size:9px;margin-top:6px;flex:none}
  .ins-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
  .ins-tags span{font-family:var(--kserif);font-size:12.5px;color:var(--cream);border:1px solid rgba(184,152,90,.5);border-radius:50px;padding:7px 15px;background:rgba(184,152,90,.12)}
  .ins-clients{font-family:var(--kserif);font-size:13px;color:rgba(250,245,238,.62);margin-top:22px;letter-spacing:.02em}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}
  @media(max-width:880px){
    .instructor.director .inner{grid-template-columns:1fr;gap:8px}
    .two-col{grid-template-columns:1fr;gap:24px}
  }

  /* SOMA FLOW ACADEMY */
  .somaflow{padding:clamp(90px,14vh,170px) 0;background:var(--ink);color:var(--cream)}
  .somaflow .section-label{color:var(--gold)}.somaflow .section-label::before{background:var(--gold)}
  .somaflow .sf-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:start;margin-bottom:clamp(60px,9vh,100px)}
  .somaflow h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.6vw,56px);line-height:1.2;color:var(--cream)}
  .somaflow h2 em{font-style:italic;color:var(--pink)}
  .somaflow .sf-desc{font-family:var(--kserif);font-size:15px;line-height:2.05;color:rgba(250,245,238,.82);margin-top:24px}
  .somaflow .sf-tagline{font-family:var(--serif);font-style:italic;font-size:clamp(16px,2vw,22px);color:var(--gold);margin-top:18px}
  .sf-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:clamp(60px,9vh,100px)}
  .sf-step{border:1px solid rgba(250,245,238,.12);border-radius:3px;padding:28px 24px;position:relative;transition:.4s}
  .sf-step:hover{background:rgba(250,245,238,.06);border-color:rgba(184,152,90,.4)}
  .sf-step .num{font-family:var(--serif);font-size:48px;font-weight:300;color:rgba(184,152,90,.25);line-height:1;margin-bottom:12px}
  .sf-step h4{font-family:var(--kserif);font-size:15px;color:var(--cream);margin-bottom:8px}
  .sf-step p{font-size:13px;color:rgba(250,245,238,.65);line-height:1.85;font-family:var(--kserif)}
  .sf-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:clamp(60px,9vh,100px)}
  .sf-module{background:rgba(250,245,238,.05);border:1px solid rgba(250,245,238,.1);border-radius:3px;padding:34px 28px;transition:.5s cubic-bezier(.2,.7,.3,1)}
  .sf-module:hover{background:rgba(184,152,90,.12);border-color:rgba(184,152,90,.45);transform:translateY(-6px)}
  .sf-module .mod-num{font-size:11px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
  .sf-module h3{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);color:var(--cream);margin-bottom:6px}
  .sf-module .mod-sub{font-family:var(--kserif);font-size:12px;color:var(--gold);margin-bottom:16px;letter-spacing:.06em}
  .sf-module p{font-family:var(--kserif);font-size:13.5px;color:rgba(250,245,238,.72);line-height:1.9;margin-bottom:18px}
  .sf-module ul{list-style:none;display:grid;gap:7px}
  .sf-module ul li{font-size:13px;color:rgba(250,245,238,.65);font-family:var(--kserif);display:flex;gap:10px;line-height:1.55}
  .sf-module ul li::before{content:'◆';color:var(--gold);font-size:7px;margin-top:5px;flex:none}
  .sf-module .mod-badge{margin-top:20px;font-size:11px;letter-spacing:.12em;color:var(--gold);border:1px solid rgba(184,152,90,.4);border-radius:50px;padding:6px 14px;display:inline-block;font-family:var(--sans)}
  .sf-founders{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:clamp(50px,7vh,80px)}
  .sf-founder{border:1px solid rgba(250,245,238,.1);border-radius:3px;padding:30px 26px;transition:.4s}
  .sf-founder:hover{border-color:rgba(184,152,90,.4);background:rgba(250,245,238,.04)}
  .sf-founder.highlight{border-color:rgba(184,152,90,.5);background:rgba(184,152,90,.08)}
  .sf-founder .f-eyebrow{font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
  .sf-founder h4{font-family:var(--serif);font-size:clamp(22px,2.4vw,28px);color:var(--cream)}
  .sf-founder h4 small{display:block;font-size:.4em;letter-spacing:.3em;color:rgba(250,245,238,.55);margin-top:8px;font-family:var(--sans);font-weight:300}
  .sf-founder .f-role{font-family:var(--kserif);font-size:13px;color:var(--pink);margin-top:12px;margin-bottom:16px}
  .sf-founder .f-body{font-family:var(--kserif);font-size:13px;color:rgba(250,245,238,.72);line-height:1.9}
  .sf-founder .f-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
  .sf-founder .f-tags span{font-size:11px;color:rgba(250,245,238,.7);border:1px solid rgba(184,152,90,.35);border-radius:50px;padding:5px 12px;font-family:var(--sans)}
  .sf-workshops{border:1px solid rgba(250,245,238,.12);border-radius:3px;overflow:hidden;margin-bottom:clamp(40px,6vh,60px)}
  .sf-workshops table{width:100%;border-collapse:collapse}
  .sf-workshops th{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);padding:14px 24px;text-align:left;border-bottom:1px solid rgba(250,245,238,.1);font-family:var(--sans);font-weight:400;background:rgba(250,245,238,.04)}
  .sf-workshops td{padding:18px 24px;font-family:var(--kserif);font-size:14px;color:rgba(250,245,238,.82);border-bottom:1px solid rgba(250,245,238,.07);vertical-align:middle}
  .sf-workshops tr:last-child td{border-bottom:none}
  .sf-workshops .badge{display:inline-block;font-size:11px;padding:4px 12px;border-radius:50px;font-family:var(--sans)}
  .sf-workshops .badge.done{background:rgba(184,152,90,.2);color:var(--gold);border:1px solid rgba(184,152,90,.4)}
  .sf-workshops .badge.ready{background:rgba(211,138,130,.15);color:var(--pink);border:1px solid rgba(211,138,130,.3)}
  .sf-workshops .badge.confirmed{background:rgba(100,180,120,.15);color:#8ec89a;border:1px solid rgba(100,180,120,.3)}
  .sf-link{text-align:center}
  .sf-link a{display:inline-flex;align-items:center;gap:12px;padding:16px 38px;border:1px solid rgba(184,152,90,.6);border-radius:50px;color:var(--gold);text-decoration:none;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--sans);transition:.4s}
  .sf-link a:hover{background:var(--gold-deep);color:#fff;border-color:var(--gold-deep)}
  @media(max-width:880px){
    .somaflow .sf-intro,.sf-steps,.sf-modules,.sf-founders{grid-template-columns:1fr}
    .sf-workshops td,.sf-workshops th{padding:12px 16px;font-size:13px}
  }

  /* BLOG / 블로그 소식 */
  .blognews{padding:clamp(86px,13vh,160px) 0;background:var(--cream-deep)}
  .blognews .head{text-align:center;margin-bottom:clamp(40px,6vh,64px)}
  .blognews .section-label{justify-content:center}
  .blognews .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5vw,58px);color:var(--ink)}
  .blognews .head p{font-family:var(--kserif);color:var(--ink-soft);margin-top:14px;font-size:15.5px}
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .blog-card{background:var(--cream);border:1px solid var(--line);border-radius:4px;overflow:hidden;text-decoration:none;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s;box-shadow:0 24px 50px -42px rgba(120,90,70,.4)}
  .blog-card:hover{transform:translateY(-8px);box-shadow:0 40px 70px -42px rgba(120,90,70,.5)}
  .blog-card .thumb{aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--sand),var(--blush))}
  .blog-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
  .blog-card:hover .thumb img{transform:scale(1.06)}
  .blog-card .thumb .noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:15px;letter-spacing:.28em;color:rgba(43,37,33,.35);text-transform:uppercase}
  .blog-card .src{position:absolute;top:12px;left:12px;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:4px 11px;border-radius:50px;color:#fff;z-index:2}
  .blog-card .src.naver{background:#03C75A}
  .blog-card .src.tistory{background:var(--gold-deep)}
  .blog-card .body{padding:22px 24px 26px}
  .blog-card .date{font-family:var(--kserif);font-size:12px;color:var(--ink-soft);letter-spacing:.02em}
  .blog-card .title{font-family:var(--kserif);font-size:15.5px;color:var(--ink);margin-top:10px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .blog-empty,.blog-loading{grid-column:1/-1;text-align:center;padding:50px 20px;font-family:var(--kserif);color:var(--ink-soft);font-size:14px}
  .blognews .more{text-align:center;margin-top:clamp(34px,5vh,52px);display:flex;justify-content:center;gap:22px;flex-wrap:wrap}
  .blognews .more a{font-family:var(--kserif);font-size:13.5px;color:var(--gold-deep);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px;transition:.3s}
  .blognews .more a:hover{color:var(--ink);border-color:var(--ink)}
  @media(max-width:880px){.blog-grid{grid-template-columns:1fr}}

  /* REVIEWS / 회원 후기 */
  .reviews{padding:clamp(86px,13vh,160px) 0;background:var(--cream)}
  .reviews .head{text-align:center;margin-bottom:clamp(40px,6vh,64px)}
  .reviews .section-label{justify-content:center}
  .reviews .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5vw,58px);color:var(--ink)}
  .reviews .rating{display:inline-flex;align-items:center;gap:14px;margin-top:22px;padding:11px 26px;border:1px solid var(--line);border-radius:50px;background:#fff}
  .reviews .rating .stars{color:var(--gold);font-size:17px;letter-spacing:3px}
  .reviews .rating .score{font-family:var(--serif);font-size:22px;color:var(--ink);font-weight:500}
  .reviews .rating .count{font-family:var(--kserif);font-size:13px;color:var(--ink-soft)}
  .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .review-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:34px 30px 30px;display:flex;flex-direction:column;box-shadow:0 24px 50px -40px rgba(120,90,70,.5);transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s}
  .review-card:hover{transform:translateY(-8px);box-shadow:0 40px 70px -42px rgba(120,90,70,.55)}
  .review-card .qmark{font-family:var(--serif);font-size:52px;line-height:.6;color:var(--sand);margin-bottom:12px}
  .review-card .stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:16px}
  .review-card .text{font-family:var(--kserif);font-size:14.5px;line-height:2;color:var(--ink);flex:1}
  .review-card .meta{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px}
  .review-card .avatar{width:38px;height:38px;flex:none;border-radius:50%;background:var(--blush);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px;color:var(--pink-deep)}
  .review-card .who b{display:block;font-family:var(--kserif);font-size:13.5px;color:var(--ink)}
  .review-card .who span{font-size:11px;letter-spacing:.06em;color:var(--ink-soft)}
  .reviews .more{text-align:center;margin-top:clamp(34px,5vh,52px)}
  .reviews .more a{font-family:var(--kserif);font-size:13.5px;color:var(--gold-deep);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px;transition:.3s}
  .reviews .more a:hover{color:var(--ink);border-color:var(--ink)}
  @media(max-width:880px){.review-grid{grid-template-columns:1fr}}
  /* 리뷰 탭 */
  .review-tabs{display:flex;justify-content:center;gap:0;margin-bottom:clamp(32px,5vh,48px);border:1.5px solid var(--line);border-radius:50px;overflow:hidden;width:fit-content;margin-left:auto;margin-right:auto}
  .review-tab{padding:12px 32px;font-family:var(--kserif);font-size:14px;cursor:pointer;border:none;background:transparent;color:var(--ink-soft);transition:.3s;display:flex;align-items:center;gap:8px;letter-spacing:.03em}
  .review-tab.active{background:var(--ink);color:var(--cream)}
  .review-tab .badge{font-size:11px;padding:2px 8px;border-radius:50px;font-weight:600}
  .review-tab:first-child .badge{background:#03C75A;color:#fff}
  .review-tab:last-child .badge{background:var(--gold);color:#fff}
  .review-tab.active .badge{opacity:.9}
  .review-panel{display:none}.review-panel.active{display:block}
  .review-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
  .review-keywords span{font-size:11.5px;padding:4px 10px;border-radius:50px;background:var(--cream-deep);color:var(--ink-soft);font-family:var(--kserif);border:1px solid var(--line)}

  /* WHY */
  .why{padding:clamp(86px,13vh,160px) 0;background:var(--cream)}
  .why .head{text-align:center;margin-bottom:60px}
  .why .section-label{justify-content:center}
  .why .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5vw,58px);color:var(--ink)}
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,60px)}
  .why-item{text-align:center;padding:0 10px}
  .why-item .ic{width:64px;height:64px;margin:0 auto 22px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;color:var(--gold-deep)}
  .why-item h3{font-family:var(--kserif);font-size:20px;color:var(--ink);margin-bottom:11px}
  .why-item p{font-size:14px;color:var(--ink-soft);line-height:1.95}

  /* PROMO */
  .promo{padding:clamp(96px,15vh,180px) 0;text-align:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,rgba(243,225,220,.6),transparent 60%),linear-gradient(135deg,#C9A24B22,#D9A7A022),var(--cream-deep)}
  .promo .section-label{justify-content:center}
  .promo h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,6vw,72px);color:var(--ink);line-height:1.1}
  .promo h2 em{font-style:italic;color:var(--gold-deep)}
  .promo p{font-family:var(--kserif);color:var(--ink-soft);margin:22px auto 38px;max-width:560px;font-size:16px;line-height:2}
  .btn{display:inline-flex;align-items:center;gap:12px;padding:18px 42px;border-radius:50px;text-decoration:none;font-size:13px;letter-spacing:.18em;text-transform:uppercase;background:var(--ink);color:var(--cream);transition:.4s;border:1px solid var(--ink)}
  .btn:hover{background:transparent;color:var(--ink)}
  .btn.gold{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
  .btn.gold:hover{background:transparent;color:var(--gold-deep)}
  .btn-row{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}

  /* HERO CTA 버튼 */
  .hero-cta{margin-top:38px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;animation:fadeUp 1.1s ease both .75s}
  .hero-cta .btn-kakao{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:50px;background:#FEE500;color:#3A1D1D;font-size:13px;letter-spacing:.1em;text-decoration:none;font-weight:600;transition:.35s;border:2px solid transparent}
  .hero-cta .btn-kakao:hover{background:#e6ce00}
  .hero-cta .btn-kakao svg{width:20px;height:20px;flex:none}
  .hero-cta .btn-naver{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:50px;background:#03C75A;color:#fff;font-size:13px;letter-spacing:.1em;text-decoration:none;font-weight:600;transition:.35s;border:2px solid transparent}
  .hero-cta .btn-naver:hover{background:#02ad4f}
  .hero-cta .btn-naver svg{width:20px;height:20px;flex:none}

  /* 네이버톡톡 플로팅 버튼 */
  .float-naver{position:fixed;bottom:30px;right:24px;z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px}
  .float-naver a{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 6px 24px rgba(0,0,0,.22);transition:.35s;position:relative}
  .float-naver .f-naver{background:#03C75A}
  .float-naver .f-kakao{background:#FEE500}
  .float-naver a:hover{transform:scale(1.12)}
  .float-naver a svg{width:28px;height:28px}
  .float-naver a .tooltip{position:absolute;right:62px;top:50%;transform:translateY(-50%);background:rgba(30,24,20,.85);color:#fff;font-size:11px;white-space:nowrap;padding:6px 12px;border-radius:6px;opacity:0;pointer-events:none;transition:.25s;font-family:var(--sans);letter-spacing:.04em}
  .float-naver a:hover .tooltip{opacity:1}
  @media(max-width:880px){.float-naver{bottom:20px;right:14px}.float-naver a{width:48px;height:48px}}

  /* 상담 신청 폼 */
  .consult{padding:clamp(86px,13vh,160px) 0;background:var(--cream-deep)}
  .consult .head{text-align:center;margin-bottom:clamp(40px,6vh,60px)}
  .consult .section-label{justify-content:center}
  .consult .head h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5vw,56px);color:var(--ink)}
  .consult .head h2 em{font-style:italic;color:var(--gold-deep)}
  .consult .head p{font-family:var(--kserif);color:var(--ink-soft);margin-top:12px;font-size:15px}
  .consult-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,80px);align-items:start}
  .consult-info{padding-top:8px}
  .consult-info h3{font-family:var(--serif);font-weight:300;font-size:clamp(22px,3vw,32px);color:var(--ink);line-height:1.4}
  .consult-info p{font-family:var(--kserif);font-size:14.5px;color:var(--ink-soft);line-height:2.1;margin-top:18px}
  .consult-info .ci-list{margin-top:28px;display:grid;gap:14px}
  .consult-info .ci-list li{list-style:none;display:flex;gap:12px;font-family:var(--kserif);font-size:14px;color:var(--ink-soft)}
  .consult-info .ci-list li b{color:var(--gold-deep);font-family:var(--serif);font-size:18px;line-height:1.2;min-width:18px}
  .consult-form{background:#fff;border-radius:4px;padding:clamp(28px,4vw,48px);box-shadow:0 30px 60px -30px rgba(120,90,70,.35)}
  .cf-row{margin-bottom:20px}
  .cf-row label{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;font-family:var(--sans)}
  .cf-row input,.cf-row select,.cf-row textarea{width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:3px;font-family:var(--kserif);font-size:14.5px;color:var(--ink);background:var(--cream);outline:none;transition:.3s;-webkit-appearance:none}
  .cf-row select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B5F54' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
  .cf-row input:focus,.cf-row select:focus,.cf-row textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(184,152,90,.12)}
  .cf-row textarea{resize:vertical;min-height:110px;line-height:1.8}
  .cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .cf-submit{width:100%;padding:16px;border:none;border-radius:3px;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:13px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:.4s;margin-top:6px}
  .cf-submit:hover{background:var(--gold-deep)}
  .cf-submit:disabled{opacity:.55;cursor:not-allowed}
  .cf-msg{text-align:center;margin-top:16px;font-family:var(--kserif);font-size:14px;min-height:22px}
  .cf-msg.ok{color:#4a8c5c}.cf-msg.err{color:#c0392b}
  .cf-notice{font-size:12px;color:var(--ink-soft);margin-top:14px;font-family:var(--kserif);line-height:1.7;opacity:.8}
  @media(max-width:880px){.consult-inner{grid-template-columns:1fr}.cf-grid{grid-template-columns:1fr}}

  /* CONTACT */
  .contact{padding:clamp(86px,13vh,160px) 0;background:var(--ink);color:var(--cream)}
  .contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,90px)}
  .contact .section-label{color:var(--gold)}.contact .section-label::before{background:var(--gold)}
  .contact h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.5vw,52px);color:var(--cream);line-height:1.2}
  .contact .info{margin-top:30px;display:grid;gap:22px}
  .contact .info .row label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:6px}
  .contact .info .row p{font-family:var(--kserif);font-size:17px;color:var(--cream)}
  .contact .info .row a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(250,245,238,.3);transition:.3s}
  .contact .info .row a:hover{color:var(--pink);border-color:var(--pink)}
  .contact .frame{min-height:340px;aspect-ratio:auto}

  /* FOOTER */
  footer{background:var(--ink);color:rgba(250,245,238,.55);padding:48px 0;border-top:1px solid rgba(250,245,238,.12)}
  footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
  footer .logo{font-size:18px;color:var(--cream)}
  footer .copy{font-size:12px;letter-spacing:.05em}
  footer .socials{display:flex;gap:22px}
  footer .socials a{color:rgba(250,245,238,.6);text-decoration:none;font-size:12px;letter-spacing:.18em;text-transform:uppercase;transition:.3s}
  footer .socials a:hover{color:var(--pink)}

  @media(max-width:1080px){
    nav{position:fixed;top:0;right:-100%;height:100vh;height:100dvh;width:78%;max-width:340px;background:var(--cream);flex-direction:column;justify-content:flex-start;align-items:stretch;padding:96px 32px 40px;gap:4px;transition:right .5s;box-shadow:-20px 0 60px rgba(0,0,0,.18);overflow-y:auto}
    nav.open{right:0}
    nav .lang-switch{background:rgba(43,37,33,.06);border-color:var(--line)}
    nav .lang-switch a.active{background:var(--ink);color:#fff!important}
    nav a,header:not(.scrolled) nav a{color:var(--ink);text-shadow:none;font-size:15px}
    .nav-toggle{display:flex}
    .nav-toggle.x span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
    .nav-toggle.x span:nth-child(2){opacity:0}
    .nav-toggle.x span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
    .nav-toggle.x span,header.scrolled .nav-toggle.x span{background:var(--ink)}
    .split .wrap,.split.img-right .wrap,.about .wrap,.contact .wrap{grid-template-columns:1fr}
    .split .txt,.split.img-right .txt{order:0}
    .split .frame,.split.wide .frame{order:-1;aspect-ratio:16/11}
    .about .frame{aspect-ratio:16/12}
    .cards,.why-grid{grid-template-columns:1fr}
  }

  /* ══════════════ 멀티페이지 공통 추가 ══════════════ */
  .skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:var(--cream);padding:12px 20px;font-size:13px}
  .skip:focus{left:0}
  a:focus-visible,button:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}

  /* 서브페이지는 헤더가 항상 밝은 배경 위에 있음 */
  body.sub header{background:rgba(250,245,238,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);padding:14px clamp(20px,5vw,64px)}
  body.sub header .logo,body.sub header nav a{color:var(--ink-soft);text-shadow:none}
  body.sub header .logo{color:var(--ink)}
  body.sub .nav-toggle span{background:var(--ink)}

  nav a.on{color:var(--gold-deep)}
  nav a.on::after{width:100%}
  .nav-cta{color:var(--gold-deep)!important;font-weight:500}

  /* 드롭다운 */
  .has-sub{position:relative;display:flex;align-items:center;gap:6px}
  .submenu{position:absolute;top:calc(100% + 14px);left:-18px;min-width:214px;background:var(--cream);border:1px solid var(--line);border-radius:3px;box-shadow:0 24px 50px -28px rgba(120,90,70,.5);padding:10px 0;list-style:none;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.28s}
  .has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:none}
  .submenu li a{display:block;padding:10px 22px;font-size:13px;letter-spacing:.04em;text-transform:none;color:var(--ink-soft)!important;font-family:var(--kserif);text-shadow:none!important}
  .submenu li a::after{display:none}
  .submenu li a:hover{background:var(--blush);color:var(--ink)!important}
  .sub-toggle{display:none;background:none;border:none;cursor:pointer;width:30px;height:30px;position:relative}
  .sub-toggle::before{content:'';position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-5px 0 0 -4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);color:var(--ink-soft)}

  /* Breadcrumb */
  .crumb{background:var(--cream);border-bottom:1px solid var(--line);padding:96px 0 0}
  .crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:16px 0;font-size:12.5px;font-family:var(--kserif);color:var(--ink-soft)}
  .crumb li+li::before{content:'›';margin-right:8px;color:var(--sand)}
  .crumb a{color:var(--ink-soft);text-decoration:none;transition:.3s}
  .crumb a:hover{color:var(--gold-deep)}
  .crumb li[aria-current]{color:var(--gold-deep)}

  /* 페이지 히어로 */
  .phero{padding:clamp(52px,8vh,84px) 0 clamp(44px,7vh,72px);background:linear-gradient(180deg,var(--cream),var(--cream-deep))}
  .phero .eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:20px}
  .phero h1{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5.2vw,60px);line-height:1.18;color:var(--ink);letter-spacing:.005em}
  .phero h1 em{font-style:italic;color:var(--gold-deep)}
  .phero .lede{font-family:var(--kserif);font-size:clamp(15px,1.7vw,18px);color:var(--ink-soft);line-height:2.05;margin-top:26px;max-width:760px}
  .phero .lede strong{color:var(--ink);font-weight:400}

  /* WHO/WHERE/WHAT/HOW 팩트 박스 */
  .facts{margin-top:38px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}
  .facts div{background:var(--cream);padding:22px 24px}
  .facts dt{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:9px}
  .facts dd{font-family:var(--kserif);font-size:14px;line-height:1.85;color:var(--ink)}
  .facts dd a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--sand)}
  @media(max-width:880px){.facts{grid-template-columns:1fr}}

  /* 일반 본문 블록 */
  .prose{padding:clamp(60px,9vh,110px) 0}
  .prose.alt{background:var(--cream-deep)}
  .prose.deep{background:var(--ink);color:var(--cream)}
  .prose.deep h2,.prose.deep h3{color:var(--cream)}
  .prose.deep p,.prose.deep li{color:rgba(250,245,238,.8)}
  .prose.deep .section-label{color:var(--gold)}
  .prose.deep .section-label::before{background:var(--gold)}
  .prose h2{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.8vw,44px);line-height:1.28;color:var(--ink)}
  .prose h2 em{font-style:italic;color:var(--gold-deep)}
  .prose h3{font-family:var(--kserif);font-size:clamp(17px,2vw,21px);color:var(--ink);margin-top:34px;margin-bottom:12px}
  .prose p{font-family:var(--kserif);font-size:15.5px;line-height:2.1;color:var(--ink-soft);margin-top:18px;max-width:820px}
  .prose p strong{color:var(--ink);font-weight:400}
  .prose ul.dots{list-style:none;display:grid;gap:12px;margin-top:22px;max-width:820px}
  .prose ul.dots li{font-family:var(--kserif);font-size:15px;line-height:1.9;color:var(--ink-soft);display:flex;gap:13px}
  .prose ul.dots li::before{content:'◆';color:var(--gold);font-size:8px;margin-top:9px;flex:none}
  .prose.deep ul.dots li::before{color:var(--gold)}
  .prose .two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px)}
  @media(max-width:880px){.prose .two{grid-template-columns:1fr}}

  /* 순서 스텝 */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;counter-reset:s}
  .steps li{list-style:none;background:var(--cream);border:1px solid var(--line);border-radius:3px;padding:26px 24px 28px}
  .prose.alt .steps li{background:#fff}
  .steps li::before{counter-increment:s;content:'0' counter(s);display:block;font-family:var(--serif);font-size:34px;font-weight:300;color:var(--sand);line-height:1;margin-bottom:14px}
  .steps h3{font-family:var(--kserif);font-size:16px;color:var(--ink);margin:0 0 8px}
  .steps p{font-size:13.5px;line-height:1.9;margin:0;color:var(--ink-soft)}
  @media(max-width:880px){.steps{grid-template-columns:1fr}}

  /* 프로그램 카드 그리드(링크형) */
  .plinks{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}
  .plink{display:block;background:var(--cream);border:1px solid var(--line);border-radius:3px;padding:32px 30px 34px;text-decoration:none;transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s,border-color .4s}
  .prose.alt .plink{background:#fff}
  .plink:hover{transform:translateY(-7px);box-shadow:0 36px 64px -44px rgba(120,90,70,.6);border-color:var(--sand)}
  .plink .en{font-family:var(--serif);font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep)}
  .plink h3{font-family:var(--kserif);font-size:clamp(19px,2.2vw,23px);color:var(--ink);margin:12px 0 0}
  .plink p{font-family:var(--kserif);font-size:14px;line-height:1.95;color:var(--ink-soft);margin-top:14px}
  .plink .go{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
  @media(max-width:880px){.plinks{grid-template-columns:1fr}}

  /* 강사 목록 카드 */
  .ins-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px}
  .ins-card{display:block;text-decoration:none;background:var(--cream);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s}
  .ins-card:hover{transform:translateY(-8px);box-shadow:0 40px 70px -44px rgba(120,90,70,.55)}
  .ins-card .ph{aspect-ratio:3/4;overflow:hidden;background:var(--beige)}
  .ins-card .ph img{transition:transform .9s cubic-bezier(.2,.7,.3,1)}
  .ins-card:hover .ph img{transform:scale(1.05)}
  .ins-card .bd{padding:24px 22px 28px}
  .ins-card .role{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep)}
  .ins-card h2,.ins-card h3{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--ink);margin:10px 0 2px}
  .ins-card h2 small,.ins-card h3 small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.26em;color:var(--ink-soft);margin-top:7px;font-weight:300}
  .ins-card .spec{font-family:var(--kserif);font-size:13.5px;color:var(--ink-soft);line-height:1.85;margin-top:14px}
  .ins-card .go{display:inline-block;margin-top:16px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
  @media(max-width:1080px){.ins-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.ins-grid{grid-template-columns:1fr}}

  /* 강사 상세 */
  .idetail{padding:clamp(48px,7vh,80px) 0 clamp(60px,9vh,110px);background:var(--cream)}
  .idetail .top{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:start}
  .idetail .photo{border-radius:3px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 34px 64px -40px rgba(120,90,70,.6);background:var(--beige)}
  .idetail .eyebrow{font-size:11px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px}
  .idetail h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,56px);color:var(--ink);line-height:1.05}
  .idetail h1 small{display:block;font-family:var(--sans);font-size:.28em;letter-spacing:.3em;color:var(--ink-soft);margin-top:14px;font-weight:300}
  .idetail .role{font-family:var(--kserif);font-size:clamp(15px,1.9vw,19px);color:var(--pink-deep);margin-top:18px}
  .idetail .quote{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.2vw,25px);color:var(--gold-deep);line-height:1.55;margin:24px 0 0}
  .idetail .bio{font-family:var(--kserif);font-size:15px;line-height:2.1;color:var(--ink-soft);margin-top:20px}
  .idetail .bio p+p{margin-top:14px}
  .itags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
  .itags span{font-family:var(--kserif);font-size:12.5px;color:var(--ink);border:1px solid var(--sand);border-radius:50px;padding:7px 15px;background:rgba(217,196,168,.16)}
  .icols{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,4vw,56px);margin-top:clamp(44px,7vh,72px)}
  .icols h2,.iblock h2{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px;display:flex;align-items:center;gap:12px;font-family:var(--sans);font-weight:400}
  .icols h2::before,.iblock h2::before{content:'';width:24px;height:1px;background:var(--gold)}
  .icols ul,.iblock ul{list-style:none;display:grid;gap:10px}
  .icols li,.iblock li{font-family:var(--kserif);font-size:14px;line-height:1.65;color:var(--ink-soft);display:flex;gap:11px}
  .icols li::before,.iblock li::before{content:'◆';color:var(--gold);font-size:7.5px;margin-top:7px;flex:none}
  .iblock{margin-top:clamp(36px,5vh,56px)}
  @media(max-width:880px){.idetail .top,.icols{grid-template-columns:1fr}.idetail .photo{max-width:400px}}

  /* 스튜디오 영상 */
  .studiovideo{padding:clamp(60px,9vh,120px) 0;background:var(--cream-deep)}
  .vidbox{position:relative;border-radius:3px;overflow:hidden;background:#1c1714;aspect-ratio:16/9;box-shadow:0 40px 80px -50px rgba(120,90,70,.7);margin-top:34px}
  .vidbox video{width:100%;height:100%;object-fit:cover;display:block}
  .vidbox .cover{position:absolute;inset:0;border:none;padding:0;margin:0;width:100%;cursor:pointer;background:none;display:block}
  .vidbox .cover img{width:100%;height:100%;object-fit:cover}
  .vidbox .cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,23,20,.12),rgba(28,23,20,.45))}
  .vidbox .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:78px;height:78px;border-radius:50%;background:rgba(250,245,238,.92);display:flex;align-items:center;justify-content:center;transition:.4s;pointer-events:none}
  .vidbox .cover:hover .play{transform:translate(-50%,-50%) scale(1.09);background:#fff}
  .vidbox .play::before{content:'';border-left:19px solid var(--ink);border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
  .vidbox .vlabel{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:22px 26px;color:#fff;font-family:var(--kserif);font-size:14px;letter-spacing:.03em;text-shadow:0 1px 12px rgba(0,0,0,.5);pointer-events:none}
  .vidcap{font-family:var(--kserif);font-size:14.5px;line-height:2;color:var(--ink-soft);margin-top:22px;max-width:840px}

  /* FAQ */
  .faq{padding:clamp(60px,9vh,110px) 0;background:var(--cream)}
  .faq.alt{background:var(--cream-deep)}
  .faq-list{margin-top:34px;border-top:1px solid var(--line);max-width:900px}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;font-family:var(--kserif);font-size:clamp(15.5px,1.8vw,17.5px);color:var(--ink);line-height:1.6}
  .faq-q::after{content:'';position:absolute;right:8px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:1.5px solid var(--gold-deep);border-bottom:1.5px solid var(--gold-deep);transform:rotate(45deg);transition:.35s}
  .faq-item.open .faq-q::after{transform:rotate(-135deg);margin-top:-3px}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
  .faq-item.open .faq-a{max-height:600px}
  .faq-a p{font-family:var(--kserif);font-size:14.5px;line-height:2.05;color:var(--ink-soft);padding:0 20px 26px 0}
  .faq-a a{color:var(--gold-deep)}

  /* 관련 링크 */
  .related{padding:clamp(52px,8vh,86px) 0;background:var(--cream-deep);border-top:1px solid var(--line)}
  .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
  .rel-grid a{display:block;background:var(--cream);border:1px solid var(--line);border-radius:3px;padding:22px 24px;text-decoration:none;transition:.35s}
  .rel-grid a:hover{border-color:var(--gold);background:#fff}
  .rel-grid b{display:block;font-family:var(--kserif);font-size:16px;color:var(--ink);font-weight:400}
  .rel-grid span{display:block;font-family:var(--kserif);font-size:13px;color:var(--ink-soft);margin-top:7px;line-height:1.75}
  @media(max-width:880px){.rel-grid{grid-template-columns:1fr}}

  /* CTA 밴드 */
  .ctaband{padding:clamp(66px,10vh,120px) 0;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(243,225,220,.6),transparent 60%),linear-gradient(135deg,#C9A24B22,#D9A7A022),var(--cream-deep)}
  .ctaband h2{font-family:var(--serif);font-weight:300;font-size:clamp(28px,4.6vw,54px);color:var(--ink);line-height:1.15}
  .ctaband h2 em{font-style:italic;color:var(--gold-deep)}
  .ctaband p{font-family:var(--kserif);color:var(--ink-soft);margin:20px auto 34px;max-width:600px;font-size:15.5px;line-height:2}
  .ctaband .tel{display:block;font-family:var(--serif);font-size:clamp(20px,3vw,30px);color:var(--gold-deep);text-decoration:none;letter-spacing:.06em;margin-bottom:26px}

  /* 오시는 길 */
  .routes{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:36px}
  .route{background:var(--cream);border:1px solid var(--line);border-radius:3px;padding:30px 28px}
  .prose.alt .route{background:#fff}
  .route h3{font-family:var(--kserif);font-size:19px;color:var(--ink);margin:0 0 6px}
  .route .line{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px}
  .route ol{padding-left:20px;display:grid;gap:10px}
  .route li{font-family:var(--kserif);font-size:14.5px;line-height:1.85;color:var(--ink-soft)}
  @media(max-width:880px){.routes{grid-template-columns:1fr}}
  .mapframe{margin-top:38px;border-radius:3px;overflow:hidden;border:1px solid var(--line)}
  .mapframe iframe{width:100%;height:420px;border:0;display:block}
  @media(max-width:880px){.mapframe iframe{height:320px}}

  /* NAP 카드 */
  .napcard{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-top:34px;font-style:normal}
  .napcard>div{background:var(--cream);padding:26px 28px}
  .prose.alt .napcard>div{background:#fff}
  .napcard dt{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px}
  .napcard dd{font-family:var(--kserif);font-size:15.5px;line-height:1.9;color:var(--ink)}
  .napcard dd a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--sand)}
  @media(max-width:880px){.napcard{grid-template-columns:1fr}}

  /* 안내 노트 */
  .note{margin-top:26px;border-left:2px solid var(--gold);background:rgba(184,152,90,.08);padding:18px 22px;font-family:var(--kserif);font-size:14px;line-height:1.95;color:var(--ink-soft);max-width:820px;border-radius:0 3px 3px 0}

  /* 홈 요약 섹션 */
  .homeintro{padding:clamp(70px,11vh,130px) 0;background:var(--cream)}
  .homeintro h2{font-family:var(--serif);font-weight:300;font-size:clamp(28px,4.4vw,50px);line-height:1.24;color:var(--ink)}
  .homeintro h2 em{font-style:italic;color:var(--gold-deep)}
  .homeintro .lede{font-family:var(--kserif);font-size:clamp(15px,1.7vw,17.5px);line-height:2.1;color:var(--ink-soft);margin-top:24px;max-width:860px}
  .homeintro .lede strong{color:var(--ink);font-weight:400}

  /* 예약 페이지 */
  .resv{padding:clamp(48px,7vh,90px) 0 clamp(60px,9vh,120px);background:var(--cream-deep)}
  .resv-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,5vw,76px);align-items:start}
  @media(max-width:880px){.resv-inner{grid-template-columns:1fr}}
  .chan{display:grid;gap:12px;margin-top:26px}
  .chan a{display:flex;align-items:center;gap:14px;padding:16px 22px;border-radius:50px;text-decoration:none;font-family:var(--kserif);font-size:15px;transition:.35s;border:1px solid transparent}
  .chan a svg{width:20px;height:20px;flex:none}
  .chan .c-kakao{background:#FEE500;color:#3A1D1D}
  .chan .c-naver{background:#03C75A;color:#fff}
  .chan .c-tel{background:var(--ink);color:var(--cream)}
  .chan a:hover{transform:translateX(4px)}

  /* 404 */
  .nf{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 24px 90px;background:var(--cream)}
  .nf h1{font-family:var(--serif);font-weight:300;font-size:clamp(36px,7vw,72px);color:var(--ink)}
  .nf p{font-family:var(--kserif);color:var(--ink-soft);margin:20px 0 32px;font-size:15.5px;line-height:2}
  .nf ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
  .nf ul a{font-family:var(--kserif);font-size:14px;color:var(--gold-deep);text-decoration:none;border:1px solid var(--sand);border-radius:50px;padding:10px 20px;transition:.3s}
  .nf ul a:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

  /* FOOTER 확장 */
  footer .foot-top{display:grid;grid-template-columns:1.05fr 1.6fr;gap:clamp(36px,5vw,80px);align-items:start;padding-bottom:40px}
  footer .foot-brand .logo{font-family:var(--serif);font-weight:500;letter-spacing:.3em;font-size:20px;color:var(--cream);display:inline-block}
  footer .foot-brand .logo span{color:var(--gold)}
  footer .foot-desc{font-family:var(--kserif);font-size:13.5px;line-height:1.95;color:rgba(250,245,238,.6);margin-top:16px;max-width:380px}
  footer .foot-nap{font-style:normal;display:grid;gap:7px;margin-top:20px;font-family:var(--kserif);font-size:13px;line-height:1.75;color:rgba(250,245,238,.6)}
  footer .foot-nap .nap-name{color:var(--cream);font-size:14px}
  footer .foot-nap a{color:rgba(250,245,238,.85);text-decoration:none;border-bottom:1px solid rgba(250,245,238,.25)}
  footer .foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  footer .foot-cols h2{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-family:var(--sans);font-weight:400}
  footer .foot-cols ul{list-style:none;display:grid;gap:10px}
  footer .foot-cols a{font-family:var(--kserif);font-size:13.5px;color:rgba(250,245,238,.68);text-decoration:none;transition:.3s}
  footer .foot-cols a:hover{color:var(--pink)}
  footer .foot-bot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:26px;border-top:1px solid rgba(250,245,238,.12)}
  @media(max-width:880px){footer .foot-top{grid-template-columns:1fr}footer .foot-cols{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){footer .foot-cols{grid-template-columns:1fr}}

  /* 모바일 내비 (드롭다운 포함) */
  @media(max-width:1080px){
    nav>a,.has-sub>a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:.06em;text-transform:none;font-family:var(--kserif);width:100%}
    nav>a::after,.has-sub>a::after{display:none}
    .has-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;position:static}
    .has-sub>a{flex:1;border-bottom:none}
    .sub-toggle{display:block;border-bottom:none}
    .has-sub{border-bottom:1px solid var(--line)}
    .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:none;width:100%;max-height:0;overflow:hidden;padding:0;transition:max-height .4s}
    .has-sub.open .submenu{max-height:640px;padding:4px 0 12px}
    .submenu li a{padding:9px 14px;font-size:14px;color:var(--ink-soft)!important}
    .lang-switch{margin-top:18px;align-self:flex-start}
    .nav-cta{margin-top:14px;border:1px solid var(--gold);border-radius:50px;text-align:center;padding:13px 4px!important}
    body.sub header nav a{color:var(--ink-soft)}
    .crumb{padding-top:76px}
    .phero .facts dd{font-size:13.5px}
  }
  @media(max-width:520px){
    .crumb ol{font-size:11.5px}
    .vidbox{aspect-ratio:4/3}
    .vidbox .play{width:62px;height:62px}
  }

  .sf-step h3{font-family:var(--kserif);font-size:15px;color:var(--cream);margin-bottom:8px;font-weight:400}

  /* 모바일 메뉴 열림 상태 보정 */
  .nav-toggle{position:relative;z-index:120}
  body.nav-open .float-naver{opacity:0;visibility:hidden;transition:.3s}
  body.nav-open .nav-toggle span{background:var(--ink)!important}
  .nav-scrim{position:fixed;inset:0;background:rgba(28,23,20,.45);opacity:0;visibility:hidden;transition:.4s;z-index:90}
  body.nav-open .nav-scrim{opacity:1;visibility:visible}
  @media(min-width:1081px){.nav-scrim{display:none}}

  /* 수강료 */
  .pricing{padding:clamp(60px,9vh,110px) 0;background:var(--cream)}
  .pricing.alt{background:var(--cream-deep)}
  .pricing h2{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.8vw,44px);color:var(--ink);line-height:1.28}
  .pricing .p-lede{font-family:var(--kserif);font-size:15px;line-height:2.05;color:var(--ink-soft);margin-top:18px;max-width:760px}
  .pricing .p-lede strong{color:var(--ink);font-weight:400}
  .pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px}
  .pcard{background:#fff;border:1px solid var(--line);border-radius:3px;padding:30px 26px 32px;transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .5s,border-color .4s;display:flex;flex-direction:column}
  .pcard:hover{transform:translateY(-6px);border-color:var(--sand);box-shadow:0 34px 60px -44px rgba(120,90,70,.55)}
  .pcard:first-child{border-color:var(--gold);background:linear-gradient(180deg,rgba(184,152,90,.07),#fff)}
  .pcard .p-name{font-family:var(--kserif);font-size:16px;color:var(--gold-deep);letter-spacing:.02em}
  .pcard .p-won{font-family:var(--serif);font-size:clamp(28px,3.2vw,38px);font-weight:400;color:var(--ink);margin-top:14px;line-height:1.1}
  .pcard .p-won span{font-family:var(--kserif);font-size:15px;color:var(--ink-soft);margin-left:3px}
  .pcard .p-note{font-family:var(--kserif);font-size:13px;line-height:1.85;color:var(--ink-soft);margin-top:14px}
  .pterms{list-style:none;display:grid;gap:11px;margin-top:34px;max-width:820px;border-top:1px solid var(--line);padding-top:26px}
  .pterms li{font-family:var(--kserif);font-size:14px;line-height:1.9;color:var(--ink-soft);display:flex;gap:12px}
  .pterms li::before{content:'◆';color:var(--gold);font-size:7px;margin-top:9px;flex:none}
  .pterms li strong{color:var(--ink);font-weight:400}
  @media(max-width:1080px){.pgrid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.pgrid{grid-template-columns:1fr}}

  /* 한글 줄바꿈 — 단어 중간에서 끊기지 않도록 */
  h1,h2,h3,h4,.hero h1,.hero .sub,.phero .lede,.plink h3,.ins-card h2,.ins-card h3,
  .pcard .p-name,.faq-q,.route h3,.steps h3,.why-item h3,.ctaband h2,.ctaband p,
  .prose p,.prose li,.napcard dd,.facts dd,.vidcap,.p-lede{word-break:keep-all;overflow-wrap:break-word}
  .hero h1{font-size:clamp(40px,7.4vw,92px)}

  /* 블로그 탭 (인기 글 / 최신 글) */
  .blog-tabs{display:flex;justify-content:center;gap:0;margin:0 auto clamp(30px,5vh,46px);
    border:1.5px solid var(--line);border-radius:50px;overflow:hidden;width:fit-content;background:var(--cream)}
  .blog-tabs[hidden]{display:none}
  .blog-tab{padding:12px 34px;font-family:var(--kserif);font-size:14px;cursor:pointer;border:none;
    background:transparent;color:var(--ink-soft);transition:.3s;letter-spacing:.03em}
  .blog-tab.active{background:var(--ink);color:var(--cream)}
  .blog-tab:not(.active):hover{color:var(--gold-deep)}
  @media(max-width:520px){.blog-tab{padding:11px 24px;font-size:13.5px}}

  .blog-card .date{min-height:18px}
  .blog-card .body{display:flex;flex-direction:column}

  /* 프로그램 드롭다운 8개 항목 — 세로 여백 축소 */
  .submenu li a{padding:9px 22px}
