:root{--paper:#f8f0e2;--paper-deep:#f2e7d6;--ink:#133b25;--ink-muted:#3e5947;--accent:#a3472d;--rule:#bc6c50;--white:#fffaf1;--focus:#93402a;--font-display:'Instrument Serif',Georgia,serif;--font-body:'Karla',Arial,sans-serif;--header-height:96px;--gutter:clamp(22px,4.1vw,72px);--radius:4px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:20px;line-height:1.45;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
a,button,summary{touch-action:manipulation}
:focus-visible{outline:3px solid var(--focus);outline-offset:6px}
.hero :focus-visible,.final-cta :focus-visible{outline-color:var(--white)}
img{display:block;width:100%;height:auto}
figure,p,h1,h2{margin:0}
h1,h2,.wordmark{font-family:var(--font-display);font-weight:400}
h1,h2{text-wrap:balance}
h2{font-size:clamp(48px,5.2vw,76px);line-height:1.02;letter-spacing:-.025em}
::selection{background:var(--ink);color:var(--paper)}
.container{width:min(100% - var(--gutter)*2,1320px);margin-inline:auto}
.section{padding-block:clamp(64px,7vw,106px)}
.eyebrow{font-size:15px;font-weight:600;line-height:1.35;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter}
.icon--arrow{width:32px}
.icon--reverse{transform:rotate(180deg)}
.skip-link{position:fixed;left:20px;top:16px;z-index:20;padding:14px 20px;background:var(--ink);color:var(--paper);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:var(--header-height);position:sticky;top:0;background:var(--paper);z-index:10;border-bottom:1px solid rgba(19,59,37,.1)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.wordmark{font-family:Georgia,serif;font-weight:700;font-size:clamp(29px,2.65vw,39px);line-height:1;letter-spacing:-.06em;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.site-nav{display:flex;align-items:center;gap:clamp(24px,3vw,45px);font-size:18px}
.site-nav>a:not(.button){padding-block:12px;position:relative}
.site-nav>a:not(.button)::after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.site-nav>a:hover::after{transform:scaleX(1)}
.menu-toggle{display:none;background:transparent;border:0;width:48px;height:48px;padding:12px 8px}
.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0;transition:transform .18s ease,opacity .18s ease}
.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;border:1px solid transparent;border-radius:var(--radius);min-height:60px;padding:16px 25px;font-size:20px;font-weight:600;line-height:1.25;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.button--green{background:var(--ink);color:var(--paper);font-size:18px;min-height:50px;padding:12px 25px}
.button--cream{background:var(--paper);color:var(--ink)}
.button--green:hover{background:#245338}
.button--cream:hover{background:#fffaf2;transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.hero{position:relative;isolation:isolate;min-height:clamp(650px,51vw,790px);color:var(--paper);display:flex;align-items:center;overflow:hidden;background:#183c23}
.hero-media,.hero-media img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-media img{object-fit:cover;object-position:center}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,22,10,.87),rgba(5,22,10,.67) 29%,rgba(5,22,10,.12) 58%,rgba(5,22,10,0) 76%)}
.hero-content{padding-top:42px;padding-bottom:125px}
.hero-location{color:var(--paper);margin-bottom:29px;font-size:15px}
.hero h1{font-size:clamp(78px,8.1vw,120px);line-height:.97;letter-spacing:-.035em;max-width:680px}
.hero-description{font-size:clamp(22px,2vw,28px);line-height:1.35;max-width:560px;margin-top:28px}
.hero-button{margin-top:42px}
.hero-caption{position:absolute;bottom:36px;left:0;right:0;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.highlights{padding-top:32px}
.highlights ul{list-style:none;margin:0;padding:25px 0;border-block:1px solid var(--rule);display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-size:25px;line-height:1.4}
.highlights li+li{border-left:1px solid var(--rule)}
.intro{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(48px,7vw,110px);align-items:center}
.intro h2{font-size:clamp(56px,6.1vw,88px);margin-bottom:32px}
.intro-copy>p:not(.eyebrow){max-width:470px;font-size:23px;line-height:1.45}
.intro-copy>p:not(.eyebrow)+p{margin-top:24px}
.text-link{display:inline-flex;align-items:center;gap:16px;font-weight:600;font-size:23px;padding-block:11px 7px;border-bottom:1px solid var(--accent);min-height:48px;transition:color .18s ease}
.text-link:hover{color:var(--accent)}
.intro .text-link{margin-top:20px}
.intro-photo img{aspect-ratio:4/4.65;object-fit:cover;border-radius:var(--radius)}
figcaption{font-size:18px;font-style:italic;line-height:1.4;margin-top:12px}
.gallery{border-top:1px solid var(--rule);padding-top:64px}
.gallery h2{margin-bottom:24px}
.gallery-lede{font-size:23px;line-height:1.45;max-width:1040px;margin-bottom:42px}
.gallery-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px}
.gallery-image{position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--radius);overflow:hidden;background:var(--paper-deep);height:560px;text-align:left}
.gallery-image img{height:100%;object-fit:cover;transition:transform .5s ease}
.gallery-grid figure:first-child img{object-position:center 67%}
.gallery-image:hover img{transform:scale(1.035)}
.gallery-zoom{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:14px;font-weight:600;min-height:44px}
.gallery-zoom .icon{width:17px;height:17px}
.location-wrap{padding-top:0;padding-bottom:72px;border-bottom:1px solid var(--rule)}
.location{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:50px;background:var(--paper-deep);padding:52px 44px;border-radius:var(--radius)}
.location h2{font-size:clamp(44px,4.1vw,62px)}
.location-copy{padding-left:44px;border-left:1px solid var(--rule)}
.location-copy p{font-size:22px;line-height:1.45}
.location-copy p+p{margin-top:20px}
.location .text-link{margin-top:10px}
.faq{padding-top:64px}
.faq h2{margin-bottom:42px}
.faq-list{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;gap:24px;align-items:center;justify-content:space-between;min-height:84px;cursor:pointer;list-style:none;padding:24px;font-size:24px;font-weight:600;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:''}
.faq summary:hover{background:var(--paper-deep)}
.faq summary:focus-visible{outline-offset:-4px}
.faq-indicator{width:20px;height:20px;flex:none;position:relative}
.faq-indicator::before,.faq-indicator::after{content:'';position:absolute;top:9px;left:1px;width:18px;height:2px;background:var(--ink)}
.faq-indicator::after{transform:rotate(90deg)}
details[open] .faq-indicator::after{display:none}
.faq-answer{padding:0 70px 28px 24px;max-width:1150px}
.faq-answer p{font-size:21px;line-height:1.5}
.faq-answer a{text-decoration:underline;text-underline-offset:4px}
.final-cta{background:var(--ink);color:var(--paper);padding-block:64px 70px}
.final-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:48px}
.final-cta h2{font-size:clamp(56px,5.8vw,84px)}
.final-cta p{font-size:24px;margin-top:24px}
.final-cta .button{flex:none}
.site-footer{padding-block:30px 38px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--rule);padding-top:28px}
.site-footer .wordmark{font-size:34px}
.site-footer p{font-size:17px;margin-top:8px}
.instagram-link{display:flex;align-items:center;gap:10px;min-height:48px;font-size:18px}
.instagram-link:hover{text-decoration:underline;text-underline-offset:5px}
.instagram-link .icon{width:18px;height:18px}
.site-footer .illustration-note{font-size:13px;line-height:1.5;letter-spacing:.04em;text-align:right;margin:0;color:var(--ink-muted)}
.lightbox{width:min(100% - 32px,1000px);max-height:94dvh;padding:0;background:var(--paper);color:var(--ink);border:0;border-radius:var(--radius);box-shadow:0 12px 80px #0006}
.lightbox::backdrop{background:rgba(4,19,10,.86)}
.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px}
.lightbox-bar h2{font-family:var(--font-body);font-size:19px;letter-spacing:0;line-height:1.3}
.icon-button{display:inline-grid;place-items:center;width:48px;height:48px;flex:none;padding:10px;border:1px solid transparent;border-radius:var(--radius);background:transparent}
.icon-button:hover{background:var(--paper-deep)}
.lightbox-photo{height:min(70dvh,750px);background:#0c2416}
.lightbox-photo img{width:100%;height:100%;object-fit:contain}
.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px}
.lightbox-controls p{font-size:14px;text-align:center}
@media(min-width:1700px){.hero-content{padding-left:0}.hero{min-height:850px}}
@media(max-width:1050px){:root{--header-height:84px}.site-nav{gap:22px;font-size:16px}.button--green{font-size:16px;padding-inline:18px}.wordmark{font-size:34px}.hero{min-height:650px}.hero h1{font-size:86px}.hero-description{font-size:24px}.intro{gap:42px}.intro-copy>p:not(.eyebrow){font-size:20px}.gallery-image{height:470px}.location{gap:30px;padding:38px 28px}.location-copy{padding-left:30px}.location-copy p{font-size:20px}.location .text-link{font-size:20px}.final-cta-inner{gap:25px}.final-cta .button{font-size:18px;padding-inline:20px}}
@media(max-width:800px){:root{--header-height:76px}.header-inner{position:relative}.wordmark{font-size:35px}.menu-toggle{display:block;flex:none}.site-nav{display:none;position:absolute;top:calc(var(--header-height) - 1px);left:calc(-1*var(--gutter));right:calc(-1*var(--gutter));padding:20px var(--gutter) 28px;background:var(--paper);border-bottom:1px solid var(--rule);align-items:stretch;flex-direction:column;gap:10px;font-size:20px}.site-nav.is-open{display:flex}.site-nav a{min-height:48px}.site-nav .button{margin-top:8px;font-size:18px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}.hero{min-height:660px}.hero h1{font-size:78px}.hero-content{padding-bottom:110px}.hero-description{max-width:370px}.hero-button{font-size:18px;gap:13px;padding-inline:20px}.hero-shade{background:linear-gradient(90deg,rgba(5,22,10,.87),rgba(5,22,10,.64) 45%,rgba(5,22,10,.06) 100%)}.highlights ul{font-size:21px}.intro{grid-template-columns:1fr;gap:36px}.intro-copy{max-width:590px}.intro-copy>p:not(.eyebrow){font-size:22px;max-width:100%}.intro-photo{max-width:100%}.intro-photo img{aspect-ratio:4/3;object-position:center 50%}.intro h2{font-size:70px}.gallery h2{font-size:60px}.gallery-lede{font-size:21px}.gallery-grid{gap:20px}.gallery-image{height:400px}.location{grid-template-columns:1fr;gap:28px;padding:34px}.location h2{font-size:54px}.location-copy{border-left:0;border-top:1px solid var(--rule);padding:26px 0 0}.location-copy p{font-size:21px}.faq h2{font-size:60px}.faq summary{font-size:22px;padding-inline:16px}.faq-answer{padding-inline:16px 44px}.final-cta-inner{display:block}.final-cta .button{margin-top:32px;font-size:20px}.final-cta h2{font-size:72px}.footer-inner{flex-wrap:wrap}.site-footer .illustration-note{text-align:left;flex-basis:100%}}
@media(max-width:600px){body{font-size:18px}.section{padding-block:58px}.eyebrow{font-size:13px;letter-spacing:.16em;margin-bottom:20px}.header-inner{gap:12px}.wordmark{font-size:31px}.hero{min-height:690px;align-items:flex-start}.hero-media img{object-position:center bottom}.hero-shade{background:linear-gradient(90deg,rgba(5,22,10,.86),rgba(5,22,10,.69) 49%,rgba(5,22,10,.06) 100%)}.hero-content{padding-top:38px;padding-bottom:190px}.hero-location{font-size:12px;max-width:230px;line-height:1.6;letter-spacing:.18em;margin-bottom:24px}.hero h1{font-size:clamp(54px,14.7vw,78px);line-height:1.01;max-width:100%}.hero-description{font-size:21px;line-height:1.4;margin-top:24px;max-width:315px}.desktop-break{display:none}.hero-button{font-size:18px;min-height:60px;padding:15px 17px;max-width:100%;margin-top:28px;gap:10px}.hero-button .icon{width:25px}.hero-caption{display:none}.highlights{padding-top:22px}.highlights ul{padding:0;display:block;font-size:21px}.highlights li{padding:15px 0}.highlights li+li{border-left:0;border-top:1px solid var(--rule)}.intro{gap:28px}.intro h2{font-size:clamp(52px,14vw,68px);margin-bottom:26px}.intro-copy>p:not(.eyebrow){font-size:18px;line-height:1.55}.intro-copy>p:not(.eyebrow)+p{margin-top:20px}.text-link{font-size:20px;gap:14px}.intro .text-link{margin-top:14px}.intro-photo img{aspect-ratio:1.15;object-position:center 50%}figcaption{font-size:16px;margin-top:10px}.gallery{padding-top:45px}.gallery h2{font-size:clamp(43px,12vw,58px);max-width:360px;margin-bottom:20px}.gallery-lede{font-size:18px;line-height:1.55;margin-bottom:28px}.gallery-grid{grid-template-columns:1fr;gap:28px}.gallery-image{height:auto;aspect-ratio:1.07}.gallery-grid figure:first-child img{object-position:center 70%}.gallery-grid figure:last-child .gallery-image{aspect-ratio:1.15}.gallery-grid figure:last-child img{object-position:center 50%}.gallery-zoom{font-size:13px;bottom:12px;right:12px}.location-wrap{padding-bottom:48px}.location{gap:24px;padding:28px 22px}.location h2{font-size:45px}.location-copy{padding-top:22px}.location-copy p{font-size:18px;line-height:1.55}.location .text-link{font-size:19px}.faq h2{font-size:47px;margin-bottom:28px}.faq summary{font-size:19px;min-height:80px;padding:22px 4px;gap:18px}.faq-answer{padding:0 32px 24px 4px}.faq-answer p{font-size:18px;line-height:1.55}.faq-indicator{width:18px}.final-cta{padding-block:48px 52px}.final-cta h2{font-size:clamp(49px,13vw,66px)}.final-cta p{font-size:20px;max-width:290px;margin-top:22px}.final-cta .button{font-size:18px;padding:17px 22px}.site-footer{padding-block:24px 30px}.footer-inner{display:block;padding-top:22px}.site-footer .wordmark{font-size:30px}.site-footer p{font-size:16px}.instagram-link{font-size:16px;margin-top:17px}.site-footer .illustration-note{margin-top:19px;font-size:12px}.illustration-note br{display:none}.lightbox{width:calc(100% - 20px)}.lightbox-bar{padding:8px 10px}.lightbox-bar h2{font-size:17px}.lightbox-controls{padding:6px}.lightbox-controls p{font-size:12px}.lightbox-photo{height:64dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.gallery-image:hover img,.button:hover{transform:none}}
.gallery-grid figure:first-child img{object-position:right bottom}
@media(max-width:600px){.wordmark{font-size:27px}.gallery-grid figure:first-child img{object-position:right bottom}.hero-shade{background:linear-gradient(180deg,rgba(5,22,10,.58),rgba(5,22,10,.52) 42%,rgba(5,22,10,0) 78%),linear-gradient(90deg,rgba(5,22,10,.6),rgba(5,22,10,.3) 60%,rgba(5,22,10,0))}}
@media print{.site-header,.button,.text-link,.gallery-zoom,.lightbox{display:none}.hero{min-height:500px;print-color-adjust:exact}.final-cta{print-color-adjust:exact}.section{break-inside:avoid}.intro,.gallery-grid{display:block}.gallery-image{height:300px}.container{width:92%}}
