@font-face{font-family:League Gothic;src:url('/assets/fonts/league-gothic-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('/assets/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f5f0ea;--cream:#eae1d8;--ink:#211e1b;--wine:#482a2a;--dark:#251a1a;--muted:#756b63;--line:rgba(33,30,27,.23);--display:'League Gothic',Impact,sans-serif;--body:'Manrope',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;--gutter:22px;--header:76px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}ul{list-style:none;margin:0;padding:0}a,button,input,textarea{touch-action:manipulation}::selection{background:var(--wine);color:var(--paper)}:focus-visible{outline:2px solid #986948;outline-offset:5px}main,section,article,figure{min-width:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;z-index:200;padding:12px;background:var(--paper)}.skip:focus{top:12px}
.shell{width:100%;max-width:1720px;padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:72px}.eyebrow,.caption,.meta{font:400 10px/1.65 var(--mono);text-transform:uppercase;letter-spacing:.08em}.eyebrow{display:block;margin-bottom:24px}.eyebrow .index{margin-right:22px;color:var(--muted)}.display{font-family:var(--display);text-transform:uppercase;line-height:.96;letter-spacing:-.015em;font-weight:400}.heading{font-size:clamp(62px,16vw,92px)}.subheading{font:400 clamp(34px,9vw,48px)/1.05 var(--display);text-transform:uppercase}.copy{max-width:410px;color:var(--muted);font-size:14px}.arrow{width:19px;height:19px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:48px;border-bottom:1px solid currentColor;font:400 11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.025em;padding:10px 0}.text-link .arrow{transition:transform .3s var(--ease)}.text-link:hover .arrow{transform:translate(3px,-3px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}.section-head>.text-link{flex-shrink:0}.section-head .eyebrow{margin-bottom:16px}.dark{background:var(--dark);color:var(--paper)}.dark .copy,.dark .eyebrow .index{color:#c6b7ab}.dark .text-link{border-color:#b5a397}.wine{background:var(--wine);color:var(--paper)}.frame{overflow:hidden;background:var(--cream)}.frame img{height:100%;object-fit:cover;transition:transform 1s var(--ease)}@media(hover:hover){.zoom:hover img{transform:scale(1.025)}}.portrait{aspect-ratio:2/3}.photo-caption{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.photo-caption .caption:last-child{text-align:right}.photo-button{display:block;width:100%;padding:0;text-align:left}.photo-button:focus-visible{outline-offset:7px}.reveal{opacity:1;transform:none}.reveal.is-seen{animation:reveal-in .85s var(--ease) both}@keyframes reveal-in{from{opacity:.25;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.site-header{height:var(--header);position:fixed;inset:0 0 auto;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);transition:background .35s,color .35s,border-color .35s}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:block;width:135px;flex-shrink:0}.brand img{width:100%}.desktop-nav{display:none}.header-actions{display:flex;align-items:center;gap:22px}.header-book{font:400 10px var(--mono);text-transform:uppercase;border-bottom:1px solid currentColor;padding-block:10px}.menu-button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0}.menu-icon{width:22px;height:12px;display:flex;flex-direction:column;justify-content:space-between}.menu-icon i{width:100%;height:1px;background:currentColor}.page-home .site-header:not(.scrolled){background:linear-gradient(180deg,rgba(20,17,14,.65),rgba(20,17,14,0));color:var(--paper);border-color:transparent}.page-home .site-header:not(.scrolled) .brand img{filter:brightness(0) invert(1)}
.menu-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:var(--dark);color:var(--paper)}.menu-top{display:flex;justify-content:space-between;align-items:center;padding-block:20px}.menu-top img{width:135px;filter:brightness(0) invert(1)}.close-button{min-width:48px;min-height:48px;display:grid;place-items:center}.close-button svg{width:25px;height:25px}.mobile-nav{display:flex;flex-direction:column;justify-content:center;min-height:60vh;gap:14px;padding-block:30px}.mobile-nav a{font:400 clamp(55px,14vw,90px)/1.1 var(--display);text-transform:uppercase}.mobile-nav a[aria-current]{color:#c6a493}.menu-foot{display:flex;justify-content:space-between;gap:20px;padding-block:24px;border-top:1px solid #ffffff35}.menu-dialog[open]{animation:menu-in .4s var(--ease)}@keyframes menu-in{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
.home-hero{position:relative;background:var(--ink);height:90svh;min-height:520px;max-height:1100px}.home-hero picture{display:block;width:100%;height:100%}.home-hero img{height:100%;object-fit:cover;object-position:50% 47%}.home-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 24%)}
.intro{padding-top:54px}.intro-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line)}.intro-top .eyebrow{margin:0}.intro-title{font-size:clamp(84px,22vw,170px);margin:38px 0 45px;max-width:1000px}.intro-title span{display:block}.intro-bottom{display:grid;gap:32px}.intro-photo{width:78%;justify-self:end}.intro-story{max-width:440px}.intro-story .subheading{margin-bottom:22px}.intro-story .text-link{margin-top:20px}.intro-bottom .photo-caption{color:var(--muted)}
.service-preview-list{border-top:1px solid var(--line)}.service-preview{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.service-preview .meta{color:var(--muted)}.service-preview h3{font:400 34px/1.05 var(--display);text-transform:uppercase}.service-preview .price{font:400 11px var(--mono);white-space:nowrap}.service-preview .arrow{display:none}.service-preview:hover h3{color:var(--wine)}.preview-note{margin-top:24px}.home-services{border-top:1px solid var(--line)}
.work-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}.work-preview figure:nth-child(3){grid-column:1/-1;width:74%;justify-self:center}.work-preview .photo-caption .caption:last-child{display:none}.home-people{display:grid;gap:36px}.home-people__copy .heading{margin-bottom:24px}.home-people__copy .text-link{margin-top:24px}.people-preview{display:grid;grid-template-columns:1fr 1fr;gap:14px}.people-preview figure:nth-child(2){margin-top:55px}.location-layout{display:grid;gap:36px}.location-copy .heading{margin-bottom:28px}.location-copy address{font-style:normal;max-width:270px;margin:25px 0}.location-copy .text-link{min-width:190px}.location-photo{width:85%;justify-self:end}.location-photo .frame{aspect-ratio:2/3}
.booking-band{padding-block:64px}.booking-band .shell{display:grid;gap:24px}.booking-band .heading{font-size:clamp(76px,19vw,160px)}.booking-band .text-link{justify-self:start;min-width:210px}.booking-band .eyebrow{margin-bottom:18px}.footer{padding-top:45px;padding-bottom:25px}.footer-top{display:grid;gap:38px;padding-bottom:42px}.footer-brand{width:180px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}.footer-links ul{display:grid;gap:8px}.footer-links .meta{color:var(--muted);margin-bottom:10px}.footer-links a{font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px}.footer a:hover{text-decoration:underline;text-underline-offset:5px}
.page-hero{padding-top:calc(var(--header) + 54px);padding-bottom:50px;text-align:center}.page-hero .heading{font-size:clamp(90px,24vw,190px)}.page-hero .copy{margin:24px auto 0;max-width:410px}.page-hero .eyebrow{margin-bottom:22px}.page-hero .meta-line{display:flex;justify-content:center;gap:20px;margin-top:24px}.page-hero-split{display:grid;gap:32px}.page-hero-split .page-hero{padding-bottom:0}.page-hero-image{width:78%;margin:0 auto 48px}.page-hero-image .frame{aspect-ratio:2/3}.page-hero-image .caption{text-align:left}.services-intro{border-top:1px solid var(--line)}.price-layout{display:grid;gap:36px}.price-nav{display:flex;gap:8px;flex-wrap:wrap}.price-nav a{border:1px solid var(--line);padding:8px 12px;font:400 10px/1.8 var(--mono);text-transform:uppercase}.price-nav a:hover{background:var(--wine);color:var(--paper)}.service-group{scroll-margin-top:105px;margin-bottom:50px}.service-group:last-child{margin-bottom:0}.service-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px;border-bottom:1px solid var(--ink);padding-bottom:20px}.service-group-head .meta{color:var(--muted)}.group-description{font-size:12px;color:var(--muted);margin-top:12px}.service-row{display:grid;grid-template-columns:1fr auto;column-gap:16px;row-gap:12px;padding:22px 0;border-bottom:1px solid var(--line)}.service-row h3{font-size:15px;font-weight:500}.service-row .features{font-size:11px;color:var(--muted);margin-top:8px;max-width:350px;line-height:1.8}.service-row .amount{font:400 12px/1.6 var(--mono);white-space:nowrap;padding-top:2px}.service-book{display:inline-flex;align-items:center;gap:14px;font:400 10px/1.5 var(--mono);text-transform:uppercase;padding:8px 0;grid-column:1/-1;justify-self:start}.service-book:hover{text-decoration:underline;text-underline-offset:5px}.service-book .arrow{width:16px;height:16px}.service-aside .copy{margin-top:22px;font-size:12px}.service-aside .frame{display:none}.service-aside .caption{display:none}.service-details{margin-top:44px;border-top:1px solid var(--line);padding-top:25px}.service-details p{font-size:12px;color:var(--muted);max-width:500px}.service-details .text-link{margin-top:16px}
.gallery-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:34px;border-bottom:1px solid var(--line);padding-bottom:18px}.filter-button{padding:10px 14px;min-height:44px;font:400 10px var(--mono);text-transform:uppercase}.filter-button[aria-pressed=true]{background:var(--wine);color:var(--paper)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 15px}.gallery .caption{font-size:9px;letter-spacing:.025em}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.crew-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.crew-grid .frame{aspect-ratio:2/3}.crew-grid .photo-caption{color:#c6b7ab}.team-story{display:grid;gap:30px;align-items:center;margin-top:72px;padding-top:55px;border-top:1px solid #ffffff30}.team-story .frame{width:82%;justify-self:end;aspect-ratio:2/3}.team-story .heading{margin-bottom:25px}.partners{border-bottom:1px solid var(--line)}.partner-layout{display:grid;gap:30px}.partner-logos{display:grid;grid-template-columns:1fr 1fr;gap:30px}.partner-logo{padding-top:18px;border-top:1px solid var(--line)}.partner-logo img{width:100px;height:100px;object-fit:contain;margin:15px 0 24px}.partner-logo .meta{color:var(--muted)}
.visit-details{display:grid;gap:44px}.visit-details h2{margin-bottom:24px}.contact-row{display:grid;gap:7px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-row .meta{color:var(--muted)}.contact-row a{overflow-wrap:anywhere}.visit-actions{display:flex;flex-wrap:wrap;gap:20px}.visit-actions .text-link{min-width:170px}.map-frame{margin-top:45px;border:1px solid var(--line);background:var(--cream)}.map-frame iframe{display:block;width:100%;height:350px;border:0}.map-caption{padding-top:12px;color:var(--muted)}.visit-interior{display:grid;gap:24px}.visit-interior .frame{aspect-ratio:4/3}.visit-interior .copy{align-self:end}.visit-interior .subheading{margin-bottom:20px}.hours-note{margin-top:30px}
dialog::backdrop{background:rgba(18,15,13,.7);backdrop-filter:blur(5px)}.booking-dialog{width:min(100% - 24px,580px);max-height:calc(100dvh - 24px);border:0;padding:28px;background:var(--paper);color:var(--ink);overflow:auto}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.dialog-top .eyebrow{margin:0}.booking-dialog h2{font-size:55px}.selected-service{border-block:1px solid var(--line);margin-block:22px;padding-block:18px}.selected-service p{font:400 11px var(--mono);margin-top:8px}.form-grid{display:grid;gap:16px}.field{display:grid;gap:7px}.field span{font:400 10px/1.6 var(--mono);text-transform:uppercase}.field input,.field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:0;background:transparent;padding:11px 12px;color:var(--ink);font-size:16px}.field input{min-height:46px}.field textarea{resize:vertical;min-height:80px}.form-submit{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--wine);color:var(--paper);width:100%;padding:17px 18px;font:400 11px var(--mono);text-transform:uppercase;min-height:52px}.form-note{font-size:11px;color:var(--muted);margin-top:12px}.form-error{font-size:12px;color:#8e2828;margin-top:15px}.lightbox{width:100%;height:100dvh;max-width:none;max-height:none;border:0;padding:70px 18px 40px;background:#171412;color:var(--paper);margin:0}.lightbox figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.lightbox img{width:auto;height:auto;max-height:calc(100dvh - 150px);max-width:100%;object-fit:contain}.lightbox .close-button{position:absolute;right:18px;top:14px}.lightbox .caption{text-align:center}
@media(min-width:600px){:root{--gutter:36px}.form-grid{grid-template-columns:1fr 1fr}.field-wide{grid-column:1/-1}.intro-bottom{grid-template-columns:1fr 1fr;align-items:center;gap:45px}.intro-photo{width:100%;grid-column:2;grid-row:1}.intro-story{grid-row:1;grid-column:1}.intro-title{font-size:21vw}.gallery{gap:48px 24px}.footer-links{grid-template-columns:repeat(3,1fr)}.service-row{grid-template-columns:1fr auto auto;gap:20px}.service-book{grid-column:auto;justify-self:end;align-self:start;padding-top:3px}.service-row .amount{min-width:95px;text-align:right}.service-row .features{max-width:300px}}
@media(min-width:960px){:root{--gutter:clamp(40px,4.2vw,80px);--header:86px}body{font-size:15px}.section{padding-block:110px}.eyebrow,.caption,.meta{font-size:11px}.heading{font-size:clamp(86px,9vw,155px)}.copy{font-size:15px;line-height:1.9}.desktop-nav{display:flex;align-items:center;gap:32px}.desktop-nav a{font:400 10px var(--mono);text-transform:uppercase;position:relative;padding-block:15px}.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{transform:scaleX(1)}.menu-button{display:none}.brand{width:160px}.header-book{font-size:11px;display:flex;gap:24px;align-items:center}.home-hero{height:94svh;min-height:650px}.home-hero img{object-position:50% 50%}.intro{padding-top:45px}.intro-title{font-size:clamp(160px,21vw,310px);margin:50px 0 70px;max-width:1200px}.intro-title span:last-child{padding-left:16%}.intro-bottom{grid-template-columns:repeat(12,1fr);gap:28px}.intro-photo{grid-column:7/11;grid-row:1}.intro-story{grid-column:2/6;align-self:center}.intro-story .subheading{font-size:55px}.home-services .shell{display:grid;grid-template-columns:4fr 7fr;gap:8%}.home-services .section-head{display:block}.home-services .section-head .text-link{margin-top:38px}.service-preview{gap:20px;padding:30px 0;grid-template-columns:28px 1fr auto 20px}.service-preview .arrow{display:block}.service-preview h3{font-size:45px}.service-preview .price{font-size:12px}.service-preview-list{margin-top:8px}.work-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.work-preview figure:nth-child(2){margin-top:85px}.work-preview figure:nth-child(3){grid-column:auto;width:100%;justify-self:auto;margin-top:25px}.work-preview .photo-caption .caption:last-child{display:block}.section-head{margin-bottom:50px}.home-people{grid-template-columns:4fr 6fr;gap:12%;align-items:center}.people-preview{gap:28px}.people-preview figure:nth-child(2){margin-top:100px}.location-layout{grid-template-columns:1fr 1fr;align-items:center;gap:10%}.location-copy{padding-left:12%}.location-photo{width:82%;justify-self:start}.booking-band{padding-block:90px}.booking-band .shell{grid-template-columns:1fr auto;align-items:end}.booking-band .text-link{margin-bottom:8px;min-width:220px}.footer-top{grid-template-columns:1fr 1fr;gap:80px}.footer-brand{width:220px}.footer-links{gap:45px}.footer-links a{font-size:13px}.footer{padding-top:65px}.page-hero{padding-top:calc(var(--header) + 80px);padding-bottom:75px}.page-hero .heading{font-size:clamp(140px,19vw,285px)}.page-hero .copy{margin-top:28px}.page-hero-split{grid-template-columns:1fr 1fr;gap:10%;padding-top:calc(var(--header) + 65px);padding-bottom:65px;align-items:center}.page-hero-split .page-hero{padding:0;text-align:left}.page-hero-split .page-hero .heading{font-size:clamp(115px,15vw,240px)}.page-hero-split .page-hero .copy{margin:28px 0 0}.page-hero-split .meta-line{justify-content:start}.page-hero-image{width:88%;margin:0;justify-self:end}.page-hero-image .frame{max-height:680px}.price-layout{grid-template-columns:3fr 7fr;gap:10%}.price-nav{display:grid;gap:0}.price-nav a{border:0;border-bottom:1px solid var(--line);padding:16px 0;font-size:11px}.price-nav a:hover{background:none;color:var(--wine);padding-left:8px}.service-aside .frame{display:block;aspect-ratio:2/3;margin-top:44px}.service-aside .caption{display:block;margin-top:12px}.service-group{margin-bottom:65px}.service-group-head .subheading{font-size:48px}.service-row{padding-block:25px}.service-row h3{font-size:16px}.service-book{min-width:70px}.service-row .features{max-width:400px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 30px}.gallery:not(.is-filtered) figure:nth-child(3n+2){transform:translateY(55px)}.gallery{padding-bottom:55px}.gallery .caption{font-size:10px}.crew-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 30px}.team-story{grid-template-columns:1fr 1fr;gap:15%;margin-top:100px;padding-top:85px}.team-story .frame{width:80%;grid-column:1;grid-row:1;justify-self:start}.team-story>div{grid-column:2;grid-row:1}.partner-layout{grid-template-columns:1fr 1fr;align-items:center;gap:10%}.partner-logos{gap:60px}.partner-logo img{width:125px;height:125px}.visit-details{grid-template-columns:1fr 1fr;gap:12%}.visit-interior{grid-template-columns:7fr 3fr;gap:7%;align-items:end}.visit-interior .frame{aspect-ratio:16/9}.map-frame iframe{height:450px}.booking-dialog{padding:36px}.lightbox{padding:55px 60px 35px}}
@media(max-width:599px){.header-book .arrow{display:none}.section-head{align-items:start;flex-direction:column;gap:18px}.section-head>.text-link{align-self:start}.intro-top{justify-content:center;text-align:center}.intro-top>.meta{display:none}.intro-title{text-align:center;font-size:23vw;line-height:1}.intro-story{text-align:center;margin-inline:auto}.intro-story .copy{margin-inline:auto}.intro-photo{width:85%;justify-self:center}.intro-story .text-link{min-width:180px}.home-people__copy{text-align:center}.home-people__copy .copy{margin-inline:auto}.home-people__copy .text-link{min-width:200px}.gallery .photo-caption{display:block}.gallery .photo-caption .caption:last-child{display:none}.crew-grid .caption{font-size:9px}.footer-bottom .meta{font-size:9px}.booking-band .shell{text-align:center}.booking-band .text-link{justify-self:center}.page-hero-split .page-hero .copy{margin-inline:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.parallax{transform:none!important}}
