:root{--ink:#0b0b0a;--ink2:#151512;--paper:#f2eee5;--paper2:#e8e0d2;--gold:#caa55d;--gold2:#e2c57f;--muted:#8e897f;--line:rgba(202,165,93,.28);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px;top:8px;background:var(--paper);color:var(--ink);padding:10px;z-index:100}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 max(5vw,24px);background:rgba(11,11,10,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.12em;font-size:.86rem}.brand img{width:52px;height:52px;object-fit:contain}.desktop-nav{display:flex;gap:30px;color:#d2cec5;font-size:.83rem}.desktop-nav a:hover{color:var(--gold2)}.header-actions{display:flex;align-items:center;gap:20px}.languages{display:flex;gap:9px}.lang{border:0;background:none;color:#77736d;cursor:pointer;padding:4px;font-size:.72rem}.lang.active{color:var(--gold2)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:1px solid var(--gold);background:var(--gold);color:#111;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;cursor:pointer;transition:.2s}.button:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-1px)}.button-small{min-height:40px;padding:0 18px}.button-outline{background:transparent;color:var(--paper)}.button-outline:hover{color:#111}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.05fr .95fr;max-width:1500px;margin:auto;overflow:hidden}.hero-copy{padding:clamp(70px,9vw,130px) 4vw 60px max(6vw,40px);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 22px;color:var(--gold2);text-transform:uppercase;letter-spacing:.26em;font-weight:700;font-size:.67rem}.hero h1{margin:0;font-family:Georgia,serif;font-weight:400;line-height:.92;letter-spacing:-.045em}.hero h1 span{display:block;font-size:clamp(3rem,5vw,6rem)}.hero h1 em{display:block;margin-top:18px;color:var(--gold2);font-size:clamp(3.8rem,6vw,7.3rem);font-weight:400}.hero-lead{font-family:Georgia,serif;font-size:clamp(1.45rem,2.1vw,2.2rem);line-height:1.25;margin:34px 0 12px;max-width:700px}.hero-text{max-width:690px;color:#b8b3aa;margin:0}.hero-buttons{display:flex;align-items:center;gap:30px;margin-top:34px}.text-link{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid var(--gold);padding:10px 0}.text-link::after{content:' →';color:var(--gold2)}.hero-proof{border-left:1px solid var(--gold);padding-left:18px;margin-top:42px}.hero-proof blockquote{font-family:Georgia,serif;font-size:1.3rem;margin:0 0 4px}.hero-proof span{color:#817c73;text-transform:uppercase;letter-spacing:.1em;font-size:.58rem}.hero-visual{position:relative;min-height:680px;background:radial-gradient(circle at 50% 30%,#25231f 0,#0b0b0a 67%)}.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88) contrast(1.04)}.hero-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0,transparent 24%),linear-gradient(0deg,var(--ink) 0,transparent 24%)}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);max-width:var(--max);margin:auto}.trust-strip div{padding:28px 26px;border-right:1px solid rgba(255,255,255,.1)}.trust-strip div:last-child{border:0}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.trust-strip span{color:#817c73;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;margin-top:5px}.section{padding:clamp(80px,10vw,140px) max(6vw,40px)}.about{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.section-heading h2,.section-intro h2,.media h2,.contact h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.04;margin:0;font-size:clamp(2.8rem,5vw,5.5rem)}.about-copy>p{font-family:Georgia,serif;font-size:clamp(1.2rem,1.65vw,1.55rem);margin:0 0 30px}.signature{padding:26px;border-left:2px solid var(--gold);background:rgba(202,165,93,.1)}.signature span{color:#8d6929;text-transform:uppercase;letter-spacing:.18em;font-size:.63rem;font-weight:700}.signature p{font-family:Georgia,serif;font-size:1.14rem;margin:10px 0 0}.credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.credentials span{border:1px solid #cfc6b7;padding:8px 12px;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.programs{background:var(--paper2);color:var(--ink)}.section-intro{max-width:920px;margin-bottom:52px}.section-intro.compact{max-width:850px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--max);margin:auto}.program-card{background:#f8f4ec;border:1px solid #d9d0c0;min-height:100%;display:flex;flex-direction:column}.program-card>img{width:100%;height:310px;object-fit:cover;filter:saturate(.85)}.program-card:nth-child(1)>img{object-position:center 22%}.program-card:nth-child(2)>img{object-position:center 24%}.program-card:nth-child(3)>img{object-position:center 22%}.program-body{padding:28px;display:flex;flex-direction:column;flex:1}.program-body>span{color:#8d6929;text-transform:uppercase;letter-spacing:.15em;font-size:.62rem}.program-body h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:13px 0}.program-body p{color:#5f5b53;margin:0 0 24px}.program-body a{margin-top:auto;border-top:1px solid #d9d0c0;padding-top:16px;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.program-body a::after{content:' →';color:#8d6929}.formats{background:var(--paper);color:var(--ink)}.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:var(--max);margin:0 auto 42px}.format-grid article{border:1px solid #d4ccbd;padding:34px;min-height:360px;display:flex;flex-direction:column}.format-grid article.featured{background:var(--ink);color:var(--paper);border-color:var(--ink)}.format-grid article>span{color:#a17a38;font-size:.72rem}.format-grid h3{font-family:Georgia,serif;font-size:2.3rem;font-weight:400;margin:60px 0 20px}.format-grid p{color:#676159}.format-grid .featured p{color:#bcb6ab}.format-grid small{margin-top:auto;text-transform:uppercase;letter-spacing:.1em;color:#9a9184}.center{text-align:center}.button-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.media{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}.media-copy p:not(.eyebrow){color:#a7a198}.text-link.light{display:inline-block;margin-top:18px}.video-frame{position:relative;padding-top:56.25%;border:1px solid rgba(202,165,93,.4);box-shadow:0 30px 90px rgba(0,0,0,.45)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.gallery{background:var(--ink2)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:12px;max-width:var(--max);margin:auto}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid figure.wide{grid-column:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s;filter:saturate(.82)}.gallery-grid figure:hover img{transform:scale(1.025);filter:saturate(1)}.gallery-grid figure:nth-child(1) img{object-position:center 42%}.gallery-grid figure:nth-child(2) img{object-position:center 28%}.gallery-grid figure:nth-child(3) img{object-position:center 20%}.gallery-grid figure:nth-child(4) img{object-position:center 34%}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--paper);color:var(--ink)}.contact-copy>p:not(.eyebrow){color:#5f5a52;max-width:560px}.direct-contact{display:grid;gap:18px;margin-top:38px}.direct-contact a{border-top:1px solid #cfc6b7;padding-top:14px}.direct-contact span,.direct-contact strong{display:block}.direct-contact span{text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;color:#8d6929}.direct-contact strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:34px;background:#e8e0d2;border:1px solid #d2c6b4}.booking-form label{display:flex;flex-direction:column;gap:7px}.booking-form label:nth-child(5){grid-column:1/-1}.booking-form label span{text-transform:uppercase;letter-spacing:.11em;font-size:.62rem}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:0;border-bottom:1px solid #a99f91;background:transparent;padding:12px 2px;border-radius:0;color:var(--ink)}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:1px solid var(--gold);outline-offset:4px}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:22px;margin-top:8px}.text-button{border:0;border-bottom:1px solid #8d6929;background:none;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;cursor:pointer;padding:10px 0}.form-note{grid-column:1/-1;margin:0;color:#756e64;font-size:.72rem}footer{max-width:var(--max);margin:auto;padding:45px 20px 110px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:62px;height:62px}.footer-brand strong,.footer-brand span{display:block}.footer-brand strong{font-family:Georgia,serif;font-size:1.1rem}.footer-brand span{color:#716c64;font-size:.58rem;letter-spacing:.1em}.footer-links{display:flex;gap:22px;text-transform:uppercase;letter-spacing:.11em;font-size:.65rem}.footer-links a:hover{color:var(--gold2)}footer small{grid-column:1/-1;color:#59554f}.mobile-booking{display:none}
@media(max-width:980px){.desktop-nav{display:none}.header-actions .button{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:72px 7vw 32px}.hero-visual{min-height:620px}.hero-visual::after{background:linear-gradient(180deg,var(--ink) 0,transparent 25%),linear-gradient(0deg,var(--ink) 0,transparent 18%)}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip div:nth-child(2){border-right:0}.about,.media,.contact{grid-template-columns:1fr}.program-grid{grid-template-columns:1fr}.program-card{display:grid;grid-template-columns:.8fr 1.2fr}.program-card>img{height:100%;min-height:310px}.format-grid{grid-template-columns:1fr}.format-grid article{min-height:260px}.format-grid h3{margin-top:35px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid figure.wide{grid-column:span 2}}
@media(max-width:640px){body{font-size:15px}.site-header{height:66px;padding:0 16px}.brand span{display:none}.brand img{width:46px;height:46px}.header-actions{gap:10px}.languages{gap:4px}.hero-copy{padding:55px 20px 28px}.hero h1 span{font-size:2.7rem}.hero h1 em{font-size:3.35rem}.hero-lead{font-size:1.45rem}.hero-buttons{align-items:flex-start;flex-direction:column;gap:12px}.hero-proof{margin-top:30px}.hero-visual{min-height:500px}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip div{padding:20px 16px}.trust-strip strong{font-size:1.15rem}.section{padding:72px 20px}.section-heading h2,.section-intro h2,.media h2,.contact h2{font-size:2.65rem}.about{gap:44px}.program-card{display:flex}.program-card>img{height:250px;min-height:0}.program-body{padding:23px}.booking-form{grid-template-columns:1fr;padding:24px}.booking-form label:nth-child(5),.form-actions,.form-note{grid-column:1}.form-actions{align-items:stretch;flex-direction:column}.form-actions .button{width:100%}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.gallery-grid figure.wide{grid-column:1}.gallery-grid figure:nth-child(1){grid-row:span 2}.direct-contact strong{font-size:1.05rem;overflow-wrap:anywhere}footer{grid-template-columns:1fr;padding:40px 20px 100px}.footer-links{flex-wrap:wrap}.mobile-booking{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:60;bottom:0;left:0;right:0;background:#0b0b0a;border-top:1px solid var(--gold);padding:9px}.mobile-booking a{text-align:center;padding:8px 4px;border-right:1px solid rgba(255,255,255,.12);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.mobile-booking a:last-child{border:0;color:var(--gold2)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
