:root{
  --background:#e9efed;--surface:#fffdf8;--elevated:#f5f6f2;--text:#132a46;--muted:#55727a;
  --border:#aebfc1;--accent:#9b663e;--accent-hover:#714525;--cta:#132a46;--cta-text:#ffffff;
  --focus:#f0bd44;--success:#2f6658;--error:#9b3238;--header:#fffdf8;--footer:#e1e9e6;--form:#132a46;
  --sand:#c9a77b;--mist:#d5e4df;--denim:#315c78;--white:#ffffff;
  --display:Montserrat,"Trebuchet MS",Arial,sans-serif;--body:"Trebuchet MS",Arial,sans-serif;--serif:"PT Serif","Times New Roman",serif;
  --content:1280px;--narrow:760px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--text);font:16px/1.65 var(--body);text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.2em}button,input,select,textarea{font:inherit}button{color:inherit}address{font-style:normal}p,h1,h2,h3{margin-top:0}p{max-width:70ch}h1,h2,h3{font-family:var(--display);font-weight:750;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,5.2vw,4.9rem);line-height:.96;max-width:12ch}h2{font-size:clamp(1.9rem,3.4vw,3.35rem);line-height:1.02;max-width:18ch}h3{font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.15}.skip-link{position:fixed;z-index:999;left:1rem;top:1rem;transform:translateY(-200%);background:var(--text);color:#fff;padding:.7rem 1rem}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.site-header{position:relative;z-index:100;background:var(--header);border-bottom:1px solid var(--text)}.utility-bar{height:34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(24px,calc((100vw - var(--content))/2));background:var(--text);color:#fff;font:700 .68rem/1 var(--display);text-transform:uppercase;letter-spacing:.14em}.utility-bar span:nth-child(2){color:var(--mist)}.utility-bar a{justify-self:end;text-decoration:none}.masthead{height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.masthead .brand img{width:260px}.masthead p{margin:.15rem 0 0;font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.navigation-deck{max-width:var(--content);margin:auto;min-height:52px;padding:0 24px;display:grid;grid-template-columns:1fr auto;align-items:center}.main-nav{display:flex;align-items:stretch;height:52px}.main-nav a{display:grid;place-items:center;padding:0 1.15rem;border-left:1px solid var(--border);font:700 .73rem/1 var(--display);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;position:relative}.main-nav a:last-child{border-right:1px solid var(--border)}.main-nav a::after{content:"";position:absolute;left:-1px;right:-1px;bottom:-1px;height:4px;background:var(--sand);transform:scaleX(0);transform-origin:left;transition:transform .22s}.main-nav a:hover::after,.main-nav a.is-active::after{transform:scaleX(1)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border:1px solid var(--text);background:var(--cta);color:var(--cta-text);font:750 .78rem/1.15 var(--display);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}.header-cta{margin-left:1rem}.header-cta:hover,.button:hover{background:var(--sand);color:var(--text);box-shadow:inset 0 -5px 0 var(--text)}.button--light{background:var(--surface);color:var(--text);border-color:var(--surface)}.button--ghost{background:transparent;color:inherit;border-color:currentColor}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.text-link{font-weight:750;text-decoration-thickness:2px}.menu-toggle{display:none;background:none;border:0;padding:.5rem}.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after{display:block;width:27px;height:2px;background:currentColor;content:""}.menu-toggle i::before{transform:translateY(-7px)}.menu-toggle i::after{transform:translateY(5px)}
.hero{max-width:var(--content);margin:0 auto;padding:clamp(3rem,6vw,5.5rem) 24px 0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);column-gap:clamp(2rem,5vw,5rem);align-items:start}.hero-copy{padding:2rem 0 3rem;border-top:6px solid var(--sand)}.hero-copy .lead{font:clamp(1.08rem,1.8vw,1.32rem)/1.55 var(--serif);max-width:38rem;margin:1.3rem 0 1.8rem}.kicker{font:800 .67rem/1.2 var(--display);letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem}.hero-booking{min-width:0}.quick-booking{background:var(--form);color:#fff;padding:clamp(1.5rem,3vw,2.5rem);border-top:6px solid var(--sand)}.quick-booking h2{font-size:2rem;margin-bottom:.6rem}.quick-booking .kicker{color:var(--sand)}.quick-heading p{font-size:.82rem;color:#d9e5e6}.quick-fields{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem}.quick-booking label{display:block;font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.quick-booking input,.quick-booking textarea{width:100%;padding:.55rem 0;margin-top:.25rem;color:#fff;background:transparent;border:0;border-bottom:1px solid #89a2ae;border-radius:0}.quick-booking textarea{resize:vertical}.quick-booking .check{font-size:.7rem;text-transform:none;letter-spacing:0;font-weight:500}.quick-booking .button{background:var(--sand);color:var(--text);border-color:var(--sand);width:100%}.hero-gallery{grid-column:1/-1;display:grid;grid-template-columns:2.2fr .8fr;gap:12px;padding:12px;background:var(--text);clip-path:polygon(0 0,100% 0,97% 100%,0 100%)}.hero-gallery figure{margin:0;position:relative}.hero-gallery img{width:100%;height:clamp(300px,38vw,540px);object-fit:cover}.hero-detail img{filter:saturate(.75) contrast(.94)}.hero-gallery figcaption{position:absolute;left:0;bottom:0;background:var(--text);color:#fff;padding:.45rem .7rem;font:700 .62rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase}.statement{max-width:var(--content);margin:0 auto;padding:clamp(4rem,7vw,7rem) 24px;display:grid;grid-template-columns:1fr auto;align-items:end;border-bottom:1px solid var(--text)}.statement p{font:clamp(1.8rem,4vw,4rem)/1.1 var(--serif);max-width:23ch;margin:0}.statement em{font-style:normal;color:var(--denim)}.statement span{font:800 .72rem/1 var(--display);letter-spacing:.2em;writing-mode:vertical-rl}.section{max-width:var(--content);margin:0 auto;padding:clamp(3.8rem,7vw,6.5rem) 24px;border-bottom:1px solid var(--border)}.section-heading{display:grid;grid-template-columns:220px 1fr;gap:2rem;margin-bottom:2.8rem}.section-heading h2{margin:0}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.editorial-media{margin:0;background:var(--text);padding:12px}.editorial-media img{width:100%;height:100%;min-height:560px;object-fit:cover}.editorial-media figcaption{padding:.65rem 0 0;color:#fff;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.editorial-copy{padding:clamp(2rem,5vw,5rem);border:1px solid var(--text);border-left:0;background:var(--surface)}.editorial-copy>p:first-of-type{font:1.2rem/1.55 var(--serif)}.image-wide{margin:0;position:relative;background:var(--text);padding:12px}.image-wide img{width:100%;height:clamp(380px,58vw,700px);object-fit:cover}.image-wide figcaption{position:absolute;right:12px;bottom:12px;background:var(--text);color:#fff;padding:.5rem .8rem;font-size:.7rem}.price-preview{display:grid;grid-template-columns:.75fr 1.25fr;gap:4rem}.price-preview:nth-of-type(even){background:var(--surface)}.price-list{border-top:3px solid var(--text)}.price-row{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--border);transition:padding .18s,background .18s}.price-row:hover{padding-left:.7rem;padding-right:.7rem;background:var(--mist)}.price-row strong{font-family:var(--display);font-size:.95rem}.price-row span{font:800 .92rem/1 var(--display);white-space:nowrap}.price-row small{display:block;color:var(--muted);font-size:.76rem;margin-top:.2rem}.menu-catalogue{display:grid;grid-template-columns:200px 1fr;gap:3rem}.category-rail{position:sticky;top:18px;height:max-content;border-top:3px solid var(--text)}.category-rail a{display:block;padding:.7rem 0;border-bottom:1px solid var(--border);font:750 .72rem/1.2 var(--display);text-transform:uppercase;text-decoration:none}.menu-category{scroll-margin-top:24px;margin-bottom:4rem;display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--text)}.menu-category h2{grid-column:1/-1;font-size:2rem;max-width:none;padding:1rem 0;margin:0;border-bottom:1px solid var(--text)}.menu-item{display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:1.2rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.menu-item:nth-child(3n+1){border-left:1px solid var(--border)}.menu-item h3{font:750 1rem/1.25 var(--display);margin:0}.menu-item p{margin:.5rem 0 1.5rem;color:var(--muted);font-size:.8rem}.menu-item strong{font:800 .95rem/1 var(--display)}.program-feature{max-width:var(--content);margin:0 auto;padding:clamp(3.8rem,7vw,6.5rem) 24px;display:grid;grid-template-columns:1fr 1fr;gap:0}.program-feature>div:first-child{background:var(--sand);padding:12px}.program-feature img{width:100%;height:100%;min-height:470px;object-fit:cover}.program-feature>div:last-child{background:var(--text);color:#fff;padding:clamp(2rem,5vw,4rem)}.program-feature h2{max-width:14ch}.program-feature .kicker{color:var(--sand)}.rules-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #fff;border-bottom:1px solid #fff;margin-top:2rem}.rules-strip span{padding:.75rem .3rem;border-right:1px solid #fff;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;text-align:center}.rules-strip span:last-child{border:0}.program-actions{margin-top:2rem}.program-grid{display:flex;overflow-x:auto;border-top:3px solid var(--text);scroll-snap-type:x proximity}.program-card{flex:0 0 min(360px,82vw);min-height:260px;padding:1.5rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;scroll-snap-align:start;background:var(--elevated)}.program-card:first-child{border-left:1px solid var(--border)}.program-card h3{font-size:1.45rem}.program-card p{font-size:.86rem}.program-card a{margin-top:auto;font-weight:750;text-decoration-thickness:2px}.group-list{border-top:3px solid var(--text)}.group-row{display:grid;grid-template-columns:270px 1fr;gap:3rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}.group-row h2{font-size:1.35rem;margin:0}.service-links{display:flex;flex-wrap:wrap;gap:.55rem 1.4rem}.service-links a{font-size:.85rem;font-weight:700}.process{display:grid;grid-template-columns:repeat(5,1fr);border-top:3px solid var(--text);counter-reset:step}.process article{counter-increment:step;padding:1.2rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.process article:first-child{border-left:1px solid var(--border)}.process article::before{content:"0" counter(step);display:block;color:var(--accent);font:800 .7rem/1 var(--display);letter-spacing:.15em;margin-bottom:1.3rem}.process h3{font-size:1.05rem}.process p{font-size:.8rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}.facts{border-top:3px solid var(--text)}.facts div{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:.85rem}.facts dt{font-weight:800}.facts dd{margin:0}.hours{border-top:3px solid var(--text)}.hours>div{display:flex;justify-content:space-between;gap:2rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.hours dt{font-weight:800}.hours dd{margin:0}.page-hero{max-width:var(--content);margin:auto;padding:3.5rem 24px 2.8rem;display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:end;border-bottom:3px solid var(--text)}.page-hero h1{font-size:clamp(2.6rem,5.5vw,5.2rem);max-width:14ch;margin-bottom:1rem}.page-hero p{font-size:1rem}.page-hero .fact-column{border-left:5px solid var(--sand);padding-left:1.3rem;font-size:.82rem}.page-hero--image{grid-template-columns:.8fr 1.2fr;align-items:center}.page-hero--image img{aspect-ratio:3/2;object-fit:cover;border:12px solid var(--text)}.lede{font:clamp(1.12rem,1.8vw,1.4rem)/1.5 var(--serif)}.breadcrumb{max-width:var(--content);margin:0 auto;padding:1.1rem 24px 0;font:700 .65rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.1em}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}.breadcrumb li+li::before{content:"→";margin-right:.45rem;color:var(--accent)}
.booking-band{max-width:var(--content);margin:0 auto;padding:clamp(4rem,7vw,7rem) 24px}.booking-form{background:var(--form);color:#fff;padding:clamp(2rem,5vw,4rem);border-left:12px solid var(--sand)}.booking-form h2{font-size:clamp(2rem,4vw,3.6rem)}.booking-form a{color:inherit}.booking-form .kicker{color:var(--sand)}.form-heading{display:grid;grid-template-columns:180px 1fr 1fr;gap:2rem;margin-bottom:2rem}.form-heading h2,.form-heading p{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 2rem}.booking-form label{display:block;font-size:.73rem;font-weight:750;letter-spacing:.03em}.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin-top:.3rem;padding:.72rem 0;background:transparent;color:#fff;border:0;border-bottom:1px solid #96acb4;border-radius:0}.booking-form select option{color:var(--text)}.booking-form textarea{resize:vertical}.check{display:flex!important;gap:.7rem;align-items:flex-start;margin:1rem 0;font-weight:500!important;line-height:1.4}.check input{width:auto!important;margin:.25rem 0 0;accent-color:var(--sand)}.form-error{background:#fff;padding:1rem;color:var(--error);border-left:5px solid var(--error)}.honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:4rem}.faq-section .section-heading{display:block}.faq-list{border-top:3px solid var(--text)}.faq-list details{border-bottom:1px solid var(--border);padding:1rem 0}.faq-list summary{cursor:pointer;font:750 1rem/1.4 var(--display);list-style-position:outside;margin-left:1rem}.faq-list details p{padding-left:1rem;color:var(--muted);font-size:.88rem}.legal{max-width:850px;margin:0 auto;padding:3rem 24px 7rem}.legal h1{max-width:14ch;font-size:clamp(2.6rem,5.5vw,4.8rem)}.legal h2{font-size:1.7rem;margin-top:3rem}.legal h3{font-size:1.15rem;margin-top:1.8rem}.legal table{width:100%;border-collapse:collapse;font-size:.83rem}.legal th,.legal td{text-align:left;vertical-align:top;padding:.75rem;border-bottom:1px solid var(--border)}.notice{border-left:6px solid var(--sand);padding:1rem 1.2rem;background:var(--surface)}
.site-footer{background:var(--footer);border-top:1px solid var(--text)}.footer-invite{max-width:var(--content);margin:auto;padding:clamp(3rem,6vw,5rem) 24px;display:grid;grid-template-columns:.25fr .9fr .85fr;gap:2rem;align-items:end;border-bottom:1px solid var(--text)}.footer-invite h2{margin:0}.footer-invite>div p{font-family:var(--serif)}.footer-core{max-width:var(--content);margin:auto;padding:3rem 24px;display:grid;grid-template-columns:280px 1fr;gap:4rem}.footer-brand .brand img{width:220px}.footer-brand address{font-size:.82rem;margin-top:1.5rem}.footer-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.footer-directory h3{font:800 .68rem/1 var(--display);letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}.footer-directory a,.footer-link{display:block;margin:.55rem 0;background:none;border:0;padding:0;color:inherit;font-size:.8rem;text-align:left;text-decoration:none;cursor:pointer}.footer-directory a:hover,.footer-link:hover{text-decoration:underline}.footer-directory small{color:var(--accent)}.footer-practical{border-top:1px solid var(--border);padding:1rem max(24px,calc((100vw - var(--content))/2));display:flex;justify-content:space-between;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.cookie-banner{position:fixed;z-index:300;left:20px;right:20px;bottom:20px;max-width:1120px;margin:auto;background:var(--surface);border:3px solid var(--text);padding:1.5rem 3.5rem 1.5rem 1.5rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}.cookie-banner[hidden],.cookie-modal[hidden]{display:none}.cookie-banner h2{font-size:1.45rem}.cookie-banner p{font-size:.82rem;margin-bottom:0}.cookie-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.cookie-actions button{border:1px solid var(--text);background:transparent;padding:.65rem;font-size:.75rem;font-weight:800;cursor:pointer}.cookie-actions button:first-child{background:var(--text);color:#fff}.dialog-close{position:absolute;right:1rem;top:1rem;width:34px;height:34px;border:1px solid currentColor;background:transparent;font-size:1.3rem;cursor:pointer}.cookie-modal{position:fixed;z-index:400;inset:0;background:rgb(19 42 70/.75);display:grid;place-items:center;padding:24px}.cookie-panel{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;background:var(--surface);padding:clamp(1.5rem,4vw,3rem);border:8px solid var(--mist)}.cookie-panel h2{font-size:2rem}.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 0;border-top:1px solid var(--border)}.cookie-row p,.cookie-row small{display:block;color:var(--muted);margin:0}.cookie-row input{width:24px;height:24px;accent-color:var(--accent)}.mobile-booking{display:none}
@media(max-width:1050px){.main-nav a{padding:0 .7rem}.header-cta{font-size:.68rem}.form-heading{grid-template-columns:1fr 1fr}.form-heading .kicker{grid-column:1/-1}.rules-strip{grid-template-columns:repeat(3,1fr)}.rules-strip span:nth-child(3){border-right:0}.footer-invite{grid-template-columns:1fr 1fr}.footer-invite .kicker{grid-column:1/-1}.footer-core{grid-template-columns:1fr}.footer-directory{gap:1rem}}
@media(max-width:820px){body{padding-bottom:56px}.utility-bar{grid-template-columns:1fr auto;padding:0 16px}.utility-bar span:nth-child(2){display:none}.masthead{height:74px}.masthead .brand img{width:215px}.masthead p{display:none}.navigation-deck{min-height:52px;padding:0 16px;grid-template-columns:1fr auto}.menu-toggle{display:flex;gap:.7rem;align-items:center;font:800 .7rem/1 var(--display);text-transform:uppercase}.header-cta{margin:0}.main-nav{position:absolute;left:0;right:0;top:160px;height:auto;display:none;background:var(--surface);border-bottom:3px solid var(--text);padding:1rem 16px;flex-direction:column}.main-nav.is-open{display:flex}.main-nav a{display:block;padding:.75rem 0;border:0;border-bottom:1px solid var(--border);font-size:1rem}.hero{grid-template-columns:1fr;padding:3rem 18px 0}.hero-copy{padding-top:1.5rem}.hero-booking{margin-bottom:1rem}.hero-gallery{grid-column:auto;grid-template-columns:1fr;clip-path:none}.hero-gallery img{height:auto;aspect-ratio:3/2}.hero-detail{display:none}.statement{padding:4rem 18px}.statement span{display:none}.section{padding:4rem 18px}.section-heading{display:block}.editorial-grid,.price-preview,.program-feature,.split,.faq-section{grid-template-columns:1fr}.editorial-media img{min-height:0;aspect-ratio:3/2}.editorial-copy{border-left:1px solid var(--text);border-top:0;padding:2rem}.menu-catalogue{grid-template-columns:1fr}.category-rail{position:static;display:flex;overflow:auto;gap:1rem;border-top:0;border-bottom:3px solid var(--text)}.category-rail a{white-space:nowrap;border:0}.menu-category{grid-template-columns:1fr 1fr}.menu-item:nth-child(3n+1){border-left:0}.menu-item:nth-child(2n){border-left:1px solid var(--border)}.program-feature>div:last-child{padding:2rem}.program-feature img{min-height:0}.group-row{grid-template-columns:1fr;gap:.8rem}.process{grid-template-columns:1fr 1fr}.form-heading,.form-grid{grid-template-columns:1fr}.booking-band{padding:4rem 18px}.booking-form{padding:2rem;border-left-width:7px}.page-hero,.page-hero--image{display:block;padding:3rem 18px 2rem}.page-hero .fact-column{margin-top:2rem}.page-hero--image img{margin-top:2rem}.footer-invite,.footer-core{padding-left:18px;padding-right:18px}.footer-invite{grid-template-columns:1fr}.footer-directory{grid-template-columns:1fr 1fr}.cookie-banner{left:10px;right:10px;bottom:66px;display:block;padding:1.2rem}.cookie-actions{grid-template-columns:1fr;margin-top:1rem}.mobile-booking{position:fixed;z-index:180;left:0;right:0;bottom:0;height:56px;display:grid;grid-template-columns:1.5fr 1fr;background:var(--text)}.mobile-booking a{display:grid;place-items:center;color:#fff;text-decoration:none;font-weight:800}.mobile-booking a+a{border-left:1px solid #fff8}.legal{padding-bottom:5rem}}
@media(max-width:520px){h1{font-size:2.55rem}.quick-fields{grid-template-columns:1fr}.menu-category{grid-template-columns:1fr}.menu-item,.menu-item:nth-child(2n){border-left:1px solid var(--border)}.rules-strip,.process{grid-template-columns:1fr}.rules-strip span,.rules-strip span:nth-child(3){border-right:0;border-bottom:1px solid #fff}.footer-directory{grid-template-columns:1fr}.price-row{grid-template-columns:1fr;gap:.3rem}.cookie-row{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.site-header,.site-footer,.cookie-banner,.cookie-modal,.mobile-booking,.button-row{display:none!important}body{background:#fff;color:#000}.section,.page-hero{max-width:none;padding:2rem 0}}
.quick-booking input,.quick-booking textarea{color-scheme:dark}
