html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--c-bg);color:var(--c-text);font-family:var(--sans);font-size:1rem;line-height:1.85;overflow-x:clip;padding-bottom:4.5rem}.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}.narrow{max-width:var(--narrow)}.section{padding-block:clamp(var(--sp8),10vw,var(--sp12))}section[id]{scroll-margin-top:7rem}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:1000;background:#111;color:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.sample-bar{background:var(--c-deep);color:#fff;text-align:center;font-size:.78rem;letter-spacing:.08em;padding:.35rem 1rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(253,248,234,.95);border-bottom:1px solid var(--c-line);backdrop-filter:blur(10px)}.header-inner{min-height:5.25rem;display:flex;align-items:center;gap:2rem}.brand{text-decoration:none;margin-right:auto;display:flex;flex-direction:column;line-height:1}.brand-name{font:700 2rem/1 var(--serif);letter-spacing:.08em}.brand-sub{font-size:.68rem;margin-top:.35rem;letter-spacing:.06em}.site-header nav{display:flex;gap:1.5rem}.site-header nav a{text-decoration:none;font-size:.9rem}.header-cta,.button{background:var(--c-main);color:#fff;text-decoration:none;padding:.8rem 1.25rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center}.hero{min-height:42rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,.72fr);max-width:90rem;margin:auto;background:var(--c-paper)}.hero-copy{padding:clamp(3rem,8vw,8rem);align-self:center}.eyebrow,.section-en,.course-no,.label{font:600 .78rem/1.4 var(--sans);letter-spacing:.18em;color:var(--c-main)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.4}h1{font-size:var(--h1);letter-spacing:.02em;margin-top:1rem}h2{font-size:var(--h2);margin:.8rem 0 2rem}h3{font-size:1.35rem}.lead{max-width:40rem;margin-top:2rem}.draft-note{display:inline-block;background:var(--c-note);color:#654b19;border:1px solid #e5c77e;padding:.5rem .75rem;font-size:.82rem;line-height:1.5;margin-top:1.25rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem;flex-wrap:wrap}.text-link{text-underline-offset:.3em}.hero-visual{background:linear-gradient(145deg,#dbc59d,#9b7b52);min-height:30rem;display:grid;place-items:center;color:#fff;text-align:center;letter-spacing:.2em}.hero-visual small{letter-spacing:.03em}.intro{text-align:center}.intro p{max-width:43rem;margin-inline:auto}.intro .draft-note{margin-top:1.5rem}.courses{background:var(--c-paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:30rem}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.course-card{background:#fff;border:1px solid var(--c-line);padding:2rem;display:flex;flex-direction:column;box-shadow:var(--shadow)}.course-card.featured{border-top:4px solid var(--c-gold)}.course-card h3{margin:1rem 0}.course-card h3 span{display:inline-block;font:600 .68rem/1 var(--sans);background:var(--c-note);padding:.35rem;margin-left:.35rem}.for{color:var(--c-main);font-weight:700;margin-top:.5rem}.course-card dl{border-top:1px solid var(--c-line);margin:1.5rem 0}.course-card dl div{padding:1rem 0;border-bottom:1px solid var(--c-line)}dt{font-weight:700;font-size:.8rem;color:var(--c-muted)}.price{font-family:var(--serif);font-size:1.3rem}.price small{display:block;font:400 .78rem/1.5 var(--sans)}.course-card>a{margin-top:auto;text-align:center;background:var(--c-deep);color:#fff;padding:.8rem;text-decoration:none}.curriculum{background:var(--c-deep);color:#fff}.curriculum .section-en{color:#e4c88e}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem)}.curriculum .draft-note{color:#3e311e}.steps{list-style:none}.steps li{display:grid;grid-template-columns:3rem 1fr;gap:1.25rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.25)}.steps li>span{font-family:var(--serif);color:#e4c88e;font-size:1.3rem}.steps p{color:#ede7dc}.support-box{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--c-line)}.support-box>div{padding:2rem;border-right:1px solid var(--c-line)}.support-box>div:last-child{border-right:0}.support-box h3{margin:.75rem 0}.faq{background:var(--c-paper)}details{border-top:1px solid var(--c-line);padding:1.25rem 0}details:last-child{border-bottom:1px solid var(--c-line)}summary{cursor:pointer;font-family:var(--serif);font-size:1.12rem;font-weight:600;min-height:2.75rem}details p{padding:1rem 0 0 1.5rem;color:var(--c-muted)}.contact{background:var(--c-gold)}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.cta-stack{display:grid;gap:.75rem}.cta-stack button{border:1px solid var(--c-deep);background:var(--c-deep);color:#fff;min-height:3.5rem;cursor:pointer}.cta-stack .outline{background:transparent;color:var(--c-deep)}#demoMessage{font-size:.85rem;text-align:center}footer{background:var(--c-deep);color:#fff;padding:3rem 0}footer p{margin:.5rem 0}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;padding:.6rem max(.75rem,env(safe-area-inset-right)) calc(.6rem + env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));box-shadow:0 -.4rem 1.5rem rgba(0,0,0,.12)}.mobile-cta a{display:block;background:var(--c-main);color:#fff;text-decoration:none;text-align:center;padding:.8rem;min-height:2.75rem}:focus-visible{outline:3px solid #106ac0;outline-offset:3px}@media(min-width:769px){body{padding-bottom:0}.mobile-cta{display:none}}@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-visual{min-height:22rem}.hero-copy{padding:4rem 2rem}.section-heading{display:block}.section-heading>p{margin-top:1rem}.course-grid,.support-box{grid-template-columns:1fr}.course-card{padding:1.5rem}.support-box>div{border-right:0;border-bottom:1px solid var(--c-line)}.support-box>div:last-child{border-bottom:0}.split,.contact-inner{grid-template-columns:1fr}}@media(max-width:520px){.header-inner{min-height:4.25rem}.header-cta{font-size:.82rem;padding:.65rem .8rem}.brand-name{font-size:1.55rem}.brand-sub{font-size:.58rem}.hero{min-height:auto}.hero-copy{padding:3.5rem 1.25rem}.hero-visual{min-height:16rem}.container{width:min(calc(100% - 1.5rem),var(--container))}.section{padding-block:4.5rem}.support-box>div{padding:1.5rem}.contact h2 br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
