:root{--ink:#17130f;--ink-2:#252019;--cream:#f2eadc;--paper:#fbf7ef;--wood:#b87536;--copper:#d7944e;--sage:#99a487;--line:#d8c9b5;--max:1180px;--shadow:0 20px 60px #17130f18;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--hero-saturation:.7;--hero-contrast:1.08;--hero-overlay:#17130f22;--hero-source-brightness:1.9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08}h1{font-size:clamp(2.8rem,8vw,6.8rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.035em}h3{font-size:1.55rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;z-index:99;left:1rem;top:-5rem;background:#fff;padding:.8rem}.skip:focus{top:1rem}.site-header{height:86px;display:flex;align-items:center;gap:2rem;padding:0 max(1.25rem,calc((100% - var(--max))/2));background:var(--ink);color:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff18}.brand{margin-right:auto}.brand img{width:190px;height:auto}.site-header nav ul{display:flex;gap:1.35rem;list-style:none;padding:0;margin:0}.site-header nav a{text-decoration:none;font-size:.88rem}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--copper)}.header-cta{border:1px solid var(--copper);color:var(--cream);padding:.65rem 1rem;text-decoration:none;font-size:.84rem}.menu-button{display:none}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.05fr .95fr;background:var(--cream)}.hero-copy{padding:clamp(4rem,9vw,9rem) max(1.5rem,calc((100vw - var(--max))/2));padding-right:clamp(2rem,6vw,6rem);align-self:center}.hero h1{max-width:780px;margin:.2em 0}.lead{font-size:clamp(1.1rem,2vw,1.4rem);max-width:650px;color:#554b40}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:750;font-size:.72rem;color:#8b5422}.hero-media{position:relative;overflow:hidden;min-height:500px;background:var(--ink)}.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(var(--hero-saturation)) contrast(var(--hero-contrast));opacity:1}.hero--courses-treatment .hero-media img.hero-photo--dark-source{filter:saturate(var(--hero-saturation)) contrast(var(--hero-contrast)) brightness(var(--hero-source-brightness))}.student-photo{object-fit:cover;object-position:center 42%}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--hero-overlay),transparent);opacity:1}.hero-media span{position:absolute;z-index:2;right:2rem;bottom:2rem;color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;background:var(--wood);color:#fff;text-decoration:none;padding:.75rem 1.25rem;border:1px solid var(--wood);font-weight:700;font-size:.9rem}.button:hover{background:#925923}.button.secondary{background:transparent;color:var(--ink);border-color:#716456}.hero .button.secondary{color:var(--ink)}.section,.intro{padding:clamp(4.5rem,9vw,8rem) max(1.5rem,calc((100% - var(--max))/2))}.section-head{max-width:760px;margin-bottom:3rem}.section-head h2{margin:.15em 0}.section-head>p:last-child{font-size:1.1rem;color:#65594d}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,8vw,8rem);align-items:center}.intro>div>p:last-child{font-size:1.15rem}.intro blockquote{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.35;margin:0;padding-left:2rem;border-left:3px solid var(--wood)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{background:#fff;padding:2rem;border:1px solid #e6dac9;box-shadow:0 8px 30px #291b0b08}.card h3{margin:.6rem 0}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#89531f}.text-link{font-weight:750;color:#7d481d;text-decoration:none}.text-link:hover{text-decoration:underline}.work{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--cream)}.work>div:last-child{padding:clamp(3rem,8vw,7rem);align-self:center}.work img{height:100%;width:100%;object-fit:cover;max-height:720px}.work p{color:#cfc1ae}.light{color:var(--copper)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);gap:1px}.gallery figure{margin:0;position:relative;aspect-ratio:3/4;overflow:hidden}.gallery img{height:100%;width:100%;object-fit:cover;filter:saturate(.75)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:4rem 1.5rem 1.5rem;background:linear-gradient(transparent,#000c);color:#fff}.center{text-align:center;margin-top:2rem}.compact{max-width:950px;margin:auto}.faq-list details{border-top:1px solid var(--line);padding:1.25rem 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{font-family:var(--serif);font-size:1.3rem;cursor:pointer;font-weight:600}details p{margin:1rem 0 0;max-width:780px}.final-cta{background:var(--wood);color:#fff;text-align:center;padding:clamp(4.5rem,10vw,8rem) 1.5rem}.final-cta h2{max-width:850px;margin:.2em auto}.final-cta p{max-width:680px;margin-left:auto;margin-right:auto}.final-cta .eyebrow{color:#2f1b0c}.final-cta .button{background:var(--ink);border-color:var(--ink)}footer{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3rem;background:var(--ink);color:#d9cfbf;padding:4rem max(1.5rem,calc((100% - var(--max))/2))}footer>div:first-child{display:flex;align-items:center;gap:1rem}footer img{object-fit:contain}footer h2{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--copper)}footer a{color:#eee}.wa-float{position:fixed;right:1.25rem;bottom:1.25rem;z-index:15;background:#217f48;color:#fff;border-radius:999px;padding:.8rem 1.1rem;text-decoration:none;font-weight:750;box-shadow:0 8px 30px #0005}.service-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem);align-items:center}.service-block img,.split img{width:100%;height:550px;object-fit:cover}.check{padding:0;list-style:none}.check li{padding:.55rem 0 .55rem 1.7rem;border-bottom:1px solid var(--line);position:relative}.check li:before{content:"✓";position:absolute;left:0;color:var(--wood);font-weight:bold}.note,.notice{background:#efe2cf;padding:1rem 1.25rem;border-left:4px solid var(--wood)}.course-row{display:grid;grid-template-columns:120px 1fr;gap:2rem;padding:clamp(4rem,8vw,7rem) max(1.5rem,calc((100% - 900px)/2));border-bottom:1px solid var(--line)}.course-row>div{max-width:700px}.course-num{font-family:var(--serif);font-size:3rem;color:var(--wood)}.steps,.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.steps>div,.module-grid article{padding:2rem;background:var(--paper)}.steps b,.module-grid span{color:var(--wood);font-family:var(--serif);font-size:2rem}.dark{background:var(--ink);color:var(--cream)}.dark .module-grid{background:#ffffff22}.dark .module-grid article{background:var(--ink-2)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}.price-group{margin-top:4rem}.price-group h2{font-size:2.3rem}.price-table{border-top:2px solid var(--ink)}.price-row{display:grid;grid-template-columns:1fr 140px 140px;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:center}.price-row strong{text-align:right}.price-row small{text-align:right;color:#6e6359}.article-grid{display:grid;gap:1.5rem}.article-grid article{display:grid;grid-template-columns:320px 1fr;background:#fff;box-shadow:var(--shadow)}.article-grid img{width:100%;height:260px;object-fit:cover}.article-grid article>div{padding:2rem}.article{max-width:980px;margin:auto;padding:clamp(3rem,8vw,7rem) 1.5rem}.article>header{max-width:820px;margin:3rem 0}.article h1{font-size:clamp(3rem,7vw,6rem)}.article>figure{margin:0 0 4rem}.article>figure img{width:100%;max-height:620px;object-fit:cover}.article figcaption{font-size:.78rem;color:#6d635a;margin-top:.5rem}.prose{max-width:760px;margin:auto}.prose section{margin:0 0 3rem}.prose section p{font-size:1.13rem}.prose aside{padding:2rem;background:var(--cream);margin-top:4rem}.back{text-decoration:none;font-weight:700}.faq-page>section{display:grid;grid-template-columns:240px 1fr;margin-bottom:4rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-grid article{padding:clamp(2rem,5vw,4rem);background:var(--cream)}.big{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3rem)}.number-list{padding-left:1.5rem}.number-list li{padding:.7rem}.mail{font-size:clamp(1rem,2.3vw,1.6rem)}.error-page{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem}.error-page h1{max-width:850px}.error-page .button{margin-top:1rem}
@media(max-width:900px){.site-header{height:74px}.brand img{width:155px}.header-cta{display:none}.menu-button{display:grid;gap:5px;border:0;background:none;padding:10px}.menu-button span:not(.sr-only){width:25px;height:2px;background:#fff}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--ink);padding:1rem 1.5rem 2rem}.site-header nav.open{display:block}.site-header nav ul{display:grid;gap:0}.site-header nav a{display:block;padding:.75rem 0;border-bottom:1px solid #ffffff18;font-size:1rem}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:5rem 1.5rem}.hero-media{min-height:55vh}.cards{grid-template-columns:1fr 1fr}.steps,.module-grid{grid-template-columns:1fr 1fr}.service-block,.split{gap:3rem}.faq-page>section{grid-template-columns:1fr}.faq-page h2{margin-bottom:1rem}}
@media(max-width:620px){h1{font-size:clamp(2.7rem,15vw,4.2rem)}.hero-media{min-height:430px}.intro,.service-block,.split,.contact-grid{grid-template-columns:1fr}.service-block.reverse img{order:2}.cards,.gallery,.article-grid article{grid-template-columns:1fr}.gallery figure{aspect-ratio:4/3}.course-row{grid-template-columns:1fr;gap:0}.course-num{margin-bottom:.5rem}.steps,.module-grid{grid-template-columns:1fr}.price-row{grid-template-columns:1fr auto}.price-row small{grid-column:1/-1;text-align:left}.service-block img,.split img{height:380px}.article-grid img{height:240px}footer{grid-template-columns:1fr}.wa-float{bottom:.75rem;right:.75rem}.wa-float span{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
