@font-face{font-family:RiamDisplay;src:url('fonts/cormorant.woff2') format('woff2');font-weight:300 700;font-display:swap}@font-face{font-family:RiamDisplay;src:url('fonts/cormorant-italic.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:RiamSans;src:url('fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--serif:RiamDisplay,Georgia,serif;--sans:RiamSans,Arial,sans-serif;--ivory:#f8f5ee;--ink:#24231f;--burgundy:#612c3c;--taupe:#67635b;--line:#d4cec0;--space:clamp(20px,5vw,80px);--width:1440px}body{font-size:15px;line-height:1.7}h1,h2,h3{font-family:var(--serif)}.site-header{border-bottom:0}.header-row{padding-block:12px}.brand img{mix-blend-mode:multiply;width:84px;height:84px}.brand-name{font-size:12px;letter-spacing:.14em}.nav{gap:26px;font-size:12px}.nav .button{min-height:44px;font-size:12px;padding:12px 20px}.button{font-size:12px;font-weight:600;letter-spacing:.02em;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.text-link{font-size:13px;text-decoration:none;border-bottom:1px solid currentColor;line-height:1.4;min-height:44px;gap:10px}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--taupe)}.preview-note{display:none}
.hero{grid-template-columns:1.05fr 1fr;gap:4%;align-items:center;padding-top:28px;padding-bottom:76px;min-height:650px}.hero-copy{position:relative;z-index:2;padding-block:24px}.hero h1{font-size:clamp(70px,9.4vw,142px);line-height:.82;letter-spacing:-.045em;font-weight:400;margin-top:32px;position:relative}.hero h1>span{display:block}.hero-last{padding-left:16%;color:var(--burgundy)}.title-dot{color:var(--sage)}.hero-description{margin-top:34px;font-size:14px;line-height:1.8;max-width:330px}.hero-actions{gap:24px;margin-top:24px}.hero-footnote{font-size:9px;letter-spacing:.19em;margin-top:30px}.hero-image-wrap{padding:0;margin-right:26px;align-self:start;margin-top:28px}.hero-image-wrap:before{display:none}.hero-photo{border-radius:0;aspect-ratio:4/5;max-height:640px}.hero-stamp{position:absolute;right:-28px;bottom:80px;background:var(--ivory);color:var(--burgundy);border-radius:50%;width:98px;height:98px;display:grid;place-content:center;text-align:center;font:11px/1.8 var(--sans);letter-spacing:.13em;transform:rotate(9deg)}.hero-index{position:static;display:block;writing-mode:horizontal-tb;transform:none;color:var(--taupe);font:9px/1.5 var(--sans);letter-spacing:.15em;margin-top:16px}.riam-line{position:absolute;right:28%;bottom:4px;width:clamp(180px,28vw,400px);height:auto;pointer-events:none;z-index:3;overflow:visible}.riam-line path{stroke:var(--sage);stroke-width:1.5}.category-strip{font:11px/1.6 var(--sans);letter-spacing:.08em;padding:22px 20px;justify-content:space-between;padding-inline:var(--space)}.category-strip a{text-decoration:none}
.section{padding-block:104px}.section h2{font-size:clamp(44px,6.2vw,88px);line-height:.94;font-weight:400;letter-spacing:-.035em;margin-top:20px}.section-top{margin-bottom:50px;align-items:end}.section-top>p{font-size:13px;line-height:1.8;max-width:290px}.service-grid{grid-template-columns:1.15fr .85fr 1fr;gap:6%}.service-card:nth-child(2){padding-top:85px}.service-card:nth-child(3){padding-top:34px}.service-photo{aspect-ratio:4/5}.service-card:first-child .service-photo{aspect-ratio:1/1}.service-card:nth-child(2) .service-photo{border-radius:45% 45% 0 0}.service-title h3{font-size:38px}.service-title{margin-top:24px}.service-card p{font-size:12px;margin-top:10px}.service-card .text-link{font-size:12px}.menu-heading{display:flex;justify-content:space-between;align-items:end;margin-top:82px;gap:24px}.menu-heading h3{font-size:36px}.menu-heading p{font-size:12px;color:var(--taupe);max-width:230px}.menu-category summary{font-family:var(--serif);font-size:30px;min-height:72px}.menu-count{font:11px var(--sans)}.menu-item h4{font-size:15px;font-weight:500;margin:0}.menu-item small,.menu-item p{font-size:11px}.menu-price strong{font-size:14px}.menu-price a{font-size:11px}.menu-category{scroll-margin-top:30px}
.gallery-section{background:#252a25;color:var(--ivory);overflow:clip}.gallery-section .eyebrow,.gallery-section .section-top p{color:#c5c9be}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px}.gallery-filters button,.gallery-filters a{border:1px solid #8b9688;background:transparent;color:var(--ivory);border-radius:40px;padding:11px 20px;min-height:44px;font:11px/1.5 var(--sans);text-decoration:none}.gallery-filters [aria-pressed=true],.gallery-filters [aria-current=true]{background:var(--ivory);color:#252a25;border-color:var(--ivory)}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:58px 30px;align-items:start}.gallery-tile{margin:0;grid-column:span 4;padding:0;min-width:0}.gallery-tile:nth-child(6n+1){grid-column:span 7}.gallery-tile:nth-child(6n+2){grid-column:9/span 4;margin-top:90px}.gallery-tile:nth-child(6n+3){grid-column:2/span 4;margin-top:-25px}.gallery-tile:nth-child(6n+4){grid-column:7/span 6;margin-top:100px}.gallery-tile:nth-child(6n+5){grid-column:span 5;margin-top:24px}.gallery-tile:nth-child(6n){grid-column:8/span 5;margin-top:70px}.gallery-photo{aspect-ratio:4/5;overflow:hidden;background:#44483d}.gallery-tile:nth-child(6n+1) .gallery-photo,.gallery-tile:nth-child(6n+4) .gallery-photo{aspect-ratio:3/2}.gallery-tile:nth-child(6n+3) .gallery-photo{aspect-ratio:1}.gallery-tile a{display:block;text-decoration:none;position:relative}.gallery-open{position:absolute;right:14px;bottom:14px;display:grid;place-content:center;width:40px;height:40px;background:var(--ivory);color:var(--ink);border-radius:50%;font-size:21px;transition:transform .25s}.gallery-tile a:hover .gallery-open{transform:rotate(45deg)}.gallery-tile figcaption{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding-top:18px}.gallery-tile figcaption strong{font:26px/1.2 var(--serif);font-weight:400}.gallery-tile figcaption small{font:9px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#c5c9be}.gallery-tile figcaption span{font-size:12px}.gallery-detail img{transform:none}.gallery-control-row{display:flex;justify-content:space-between;align-items:center;margin-top:34px;gap:14px}.gallery-count{font-size:10px;letter-spacing:.09em;color:#c5c9be}.gallery-arrows{display:none;gap:8px}.gallery-arrows button{border:1px solid #8b9688;background:transparent;color:var(--ivory);width:48px;height:48px;border-radius:50%;font-size:20px}.gallery-pages{margin-top:26px}.gallery-section :focus-visible{outline-color:var(--ivory)}[hidden]{display:none!important}
.portrait-interlude{position:relative;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;background:#dfded0}.interlude-image .photo{aspect-ratio:3/2;max-height:660px}.interlude-copy{padding:70px 12%;}.interlude-title{font:clamp(36px,4.4vw,70px)/1 var(--serif);margin-top:24px;letter-spacing:-.03em}.interlude-copy .text-link{margin-top:24px}.training{gap:10%;padding-top:120px}.training-image{position:relative;padding-bottom:22px}.training-photo{aspect-ratio:5/4}.training-index{font:9px var(--sans);letter-spacing:.15em;position:absolute;bottom:0;left:0}.training-copy p{font-size:13px;line-height:1.9;margin-top:24px}.training-copy .eyebrow{font-size:10px}.training-copy h2{font-size:clamp(44px,5.8vw,80px)}.training-copy .text-link{margin-top:26px}.course-section{padding-bottom:30px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.course-card{padding:28px 0;border:0;border-top:1px solid var(--line);background:none}.course-card h3{font-size:30px;line-height:1.1;margin-top:14px}.course-card p{font-size:12px;margin-top:16px;line-height:1.8}.course-card dl{font-size:11px;margin-top:24px}.course-card .text-link{font-size:11px}.visit{border-top:0}.visit-grid{gap:7%;font-size:12px}.visit-grid h3{font-size:28px;margin-bottom:18px}.visit-grid p{margin-top:12px}.hours{font-size:11px}.policy-numbers{font-size:13px}.booking-section{background:var(--burgundy);padding-block:90px}.booking-section h2{font-size:clamp(50px,7vw,96px);line-height:.95}.booking-section>div>div>p{font-size:13px;line-height:1.9;max-width:330px}.booking-panel{padding:38px}.booking-panel h3{font-size:32px}.booking-panel p{font-size:12px}.booking-panel .form-status{margin-top:18px;font-size:11px}.footer{padding-block:50px}.footer h3{font-size:34px}.footer p{font-size:12px}.footer-bottom{font-size:10px}.footer-links{font-size:12px}
.gallery-viewer{border:0;padding:22px;background:#20251f;color:var(--ivory);width:min(1040px,94vw);max-height:94vh;overflow:auto}.gallery-viewer::backdrop{background:rgba(12,18,13,.9)}.gallery-viewer[open]{display:flex;flex-direction:column}.viewer-toolbar,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.viewer-toolbar{margin-bottom:16px}.viewer-toolbar p{font:24px var(--serif)}.gallery-viewer button{padding:10px 14px;min-height:44px;color:inherit;background:transparent;border:1px solid #92998d;font:11px var(--sans)}.gallery-viewer img{max-height:70vh;width:100%;object-fit:contain;flex:1;min-height:0}.viewer-bottom{margin-top:16px}.gallery-viewer :focus-visible{outline-color:var(--ivory)}.gallery-viewer-open{overflow:hidden}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-photo img,.gallery-photo img{transition:transform .65s cubic-bezier(.2,.6,.3,1)}.service-card:hover .service-photo img,.gallery-tile a:hover img{transform:scale(1.025)}}
@media(max-width:900px){.nav{gap:14px}.brand-name{display:none}.hero{min-height:0}.hero h1{font-size:clamp(58px,9.2vw,92px)}.hero-image-wrap{margin-right:12px}.hero-stamp{width:74px;height:74px;font-size:9px;right:-18px}.hero-actions{gap:14px}.section{padding-block:76px}.gallery-grid{gap:40px 20px}.gallery-tile:nth-child(6n+2){margin-top:50px}.gallery-tile:nth-child(6n+4){margin-top:65px}.gallery-tile figcaption strong{font-size:23px}.gallery-tile figcaption small{display:none}.course-grid{gap:20px}.course-card h3{font-size:26px}.interlude-copy{padding:40px 10%}.booking-panel{padding:28px}}
@media(max-width:680px){html{scroll-padding-top:30px}.header-row{padding-block:8px}.brand img{width:64px;height:64px}.brand-name{display:block;font-size:10px}.brand-name small{font-size:8px}.menu-toggle{font-size:11px;padding:9px 16px}.nav{background:var(--ivory);padding:22px var(--space);gap:10px}.nav a{font-size:13px;min-height:44px;display:flex;align-items:center}.hero{display:grid;grid-template-columns:1fr;gap:28px;padding-top:12px;padding-bottom:64px}.hero-copy{padding:10px 0 0}.hero h1{font-size:clamp(64px,20vw,104px);line-height:.84;margin-top:26px}.hero h1>span:nth-child(2){padding-left:8%}.hero-last{padding-left:24%}.hero-description{font-size:12px;margin-top:28px;max-width:310px}.hero-actions{margin-top:22px;gap:18px}.hero-actions .button{padding:13px 17px;font-size:11px}.hero-actions .text-link{font-size:11px}.hero-footnote{display:none}.hero-image-wrap{margin:0 26px 0 20px;align-self:auto}.hero-photo{aspect-ratio:4/5;max-height:none}.hero-stamp{right:-24px;bottom:64px}.hero-index{font-size:8px;margin-top:12px}.riam-line{width:160px;right:0;bottom:14px}.category-strip{gap:16px;font-size:9px;letter-spacing:.02em;padding-block:18px}.category-strip span{max-width:175px}.section{padding-block:68px}.section-top{display:block;margin-bottom:32px}.section h2{font-size:clamp(44px,12vw,65px);line-height:.96;margin-top:18px}.section-top>p{font-size:12px;margin-top:24px;max-width:300px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 18px}.service-card:first-child{grid-column:1/-1;margin-right:16%}.service-card:nth-child(2){padding-top:0}.service-card:nth-child(3){padding-top:42px}.service-card:first-child .service-photo{aspect-ratio:4/3}.service-photo{aspect-ratio:4/5}.service-title{margin-top:16px}.service-title h3{font-size:29px}.service-card p{font-size:11px;line-height:1.7}.service-card .text-link{font-size:11px;margin-top:8px}.service-title span{font-size:9px}.menu-heading{margin-top:48px;display:block}.menu-heading h3{font-size:32px}.menu-heading p{font-size:11px;margin-top:12px}.menu-category summary{font-size:28px}.menu-count{font-size:10px}.menu-item{grid-template-columns:1fr;gap:12px;padding-block:22px}.menu-price{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}.menu-item h4{font-size:14px}.menu-item small,.menu-item p{font-size:11px}.gallery-section .container{width:100%;}.gallery-section .section-top,.gallery-filters,.gallery-control-row,.gallery-pages{margin-inline:var(--space)}.gallery-filters{gap:7px;margin-bottom:24px}.gallery-filters button,.gallery-filters a{font-size:10px;padding:10px 16px}.gallery-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--space);padding:0 var(--space) 12px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#899480 transparent;align-items:flex-start}.gallery-tile,.gallery-tile:nth-child(n){flex:0 0 82vw;grid-column:auto;margin:0;padding:0;scroll-snap-align:start}.gallery-photo,.gallery-tile:nth-child(n) .gallery-photo{aspect-ratio:4/5;height:auto;max-height:none}.gallery-tile figcaption{padding-top:16px;display:flex;gap:10px}.gallery-tile figcaption strong{font-size:25px}.gallery-tile figcaption small{display:block;font-size:8px}.gallery-control-row{margin-top:22px}.gallery-arrows{display:flex}.gallery-count{font-size:9px}.portrait-interlude{display:block}.interlude-image .photo{aspect-ratio:3/2}.interlude-copy{padding:34px var(--space) 44px}.interlude-title{font-size:44px}.training{display:flex;flex-direction:column;gap:36px;padding-top:68px}.training-image,.training-copy{width:100%;}.training-photo{aspect-ratio:3/2}.training-copy h2{font-size:48px}.training-copy p{font-size:12px}.course-grid{display:block}.course-card{padding-block:26px}.course-card h3{font-size:32px}.course-card .eyebrow{font-size:9px}.course-card dl{margin-top:18px}.visit-grid{display:block}.visit-grid>div{margin-bottom:32px}.visit-grid h3{font-size:30px}.visit-grid p{font-size:12px}.hours{font-size:12px}.booking-section{padding-block:60px}.booking-layout{display:block}.booking-section h2{font-size:58px}.booking-panel{margin-top:36px;padding:26px}.booking-panel h3{font-size:30px}.footer{padding-bottom:112px}.footer-row{gap:24px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.mobile-book{padding:10px var(--space);font-size:9px;gap:12px;background:var(--ivory)}.mobile-book .button{font-size:11px;padding:12px 18px}.gallery-viewer{padding:14px;width:96vw}.viewer-toolbar p{font-size:20px}.viewer-bottom{gap:8px;font-size:10px}.gallery-viewer button{font-size:10px;padding:10px}.gallery-viewer img{max-height:66vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-photo img,.gallery-photo img,.gallery-open{transition:none}.button:hover{transform:none}.gallery-grid{scroll-behavior:auto}}
/* Reset legacy mobile grid placement as the v3 hero stacks its own blocks. */
@media(min-width:681px){.gallery-grid.is-filtered .gallery-tile:nth-child(n){grid-column:span 6;margin-top:0}.gallery-grid.is-filtered .gallery-tile[data-visible-index="0"]{grid-column:span 7}.gallery-grid.is-filtered .gallery-tile[data-visible-index="1"]{grid-column:9/span 4;margin-top:60px}.gallery-grid.is-filtered .gallery-tile[data-visible-index="2"]{grid-column:2/span 7;margin-top:0}}
@media(max-width:680px){.hero-copy{display:block}.hero-image-wrap{grid-column:auto;grid-row:auto}.hero-index{display:block}.hero-copy .eyebrow{margin-top:0}.hero-copy h1{grid-column:auto;grid-row:auto}.hero-copy .hero-description,.hero-copy .hero-actions{grid-column:auto}.hero-copy{padding-right:0}.hero-stamp{font-size:8px;width:68px;height:68px}.hero{overflow:visible}.hero-actions .button{max-width:100%}}

/* Keep small interlude text readable against its muted background. */
.portrait-interlude .eyebrow{color:#524f48}
