:root{--paper: #f6f4ec;--paper-deep: #eceadd;--ink: #21261f;--ink-soft: #596155;--pistachio: #abc7a0;--pistachio-pale: #d9e4d0;--moss: #3f5a38;--line: #d9d6c6;--line-ink: #3a4037;--font-display: "Bodoni Moda", "Bodoni 72", Didot, serif;--font-body: "Archivo", "Helvetica Neue", Arial, sans-serif;--measure: 60ch;--gutter: clamp(1.25rem, 4vw, 3.5rem);--section: clamp(4.5rem, 10vw, 9rem)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.68;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit}::selection{background:var(--pistachio);color:var(--ink)}h1,h2,h3,.display{font-family:var(--font-display);font-weight:500;line-height:1.04;letter-spacing:-.005em}.display-xl{font-size:clamp(2.9rem,7.6vw,6.2rem)}.display-lg{font-size:clamp(2.3rem,5vw,4rem)}.display-md{font-size:clamp(1.7rem,3.2vw,2.6rem)}.overline{font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--moss)}.lede{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.6;max-width:34em}.prose{max-width:var(--measure)}.prose p+p{margin-top:1.1em}.muted{color:var(--ink-soft)}.serif-i{font-family:var(--font-display);font-style:italic;font-weight:400}.wrap{padding-inline:var(--gutter);max-width:1440px;margin-inline:auto}.rule{border:0;border-top:1px solid var(--line)}.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:100}.skip-link:focus{left:0}.nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand-badge{width:2.35rem;height:2.35rem;flex:none}.brand-name{font-family:var(--font-display);font-size:1.35rem;font-weight:500;line-height:1}.brand-sub{display:block;font-size:.6rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);margin-top:.28rem}.nav-links{display:flex;align-items:center;gap:clamp(1.1rem,2.5vw,2.2rem)}.nav-links a{font-size:.76rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);padding:.35rem 0;border-bottom:1px solid transparent}.nav-links a:hover{color:var(--ink)}.nav-links a.active{color:var(--ink);border-bottom-color:var(--moss)}.nav-call{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-decoration:none;color:var(--paper);background:var(--moss);padding:.55rem 1.1rem;white-space:nowrap}.nav-call:hover{background:var(--ink)}.nav-toggle{display:none;background:none;border:1px solid var(--line-ink);color:var(--ink);font:600 .72rem/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;padding:.55rem .9rem;cursor:pointer}.nav-drawer{display:none}@media (max-width: 860px){.nav-links,.nav-call{display:none}.nav-toggle{display:block}.nav-drawer{display:block;border-bottom:1px solid var(--line);background:var(--paper)}.nav-drawer nav{display:flex;flex-direction:column;padding:.5rem var(--gutter) 1.25rem}.nav-drawer a{font-size:.82rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding:.85rem 0;border-bottom:1px solid var(--line)}.nav-drawer a.active{color:var(--moss)}.nav-drawer a:last-child{border-bottom:0}}.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.5rem,5vw,4.5rem) var(--section)}.hero-rail{align-self:start;position:sticky;top:6.5rem}.hero-rail h1{margin-top:1.4rem}.hero-rail .lede{margin-top:1.6rem}.hero-meta{margin-top:2.4rem;border-top:1px solid var(--line)}.hero-meta div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.hero-meta dt{color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:600;padding-top:.2rem}.hero-meta dd{text-align:right}.hero-meta a{color:var(--moss);text-decoration-thickness:1px;text-underline-offset:3px}.hero-stream{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.75rem)}.hero-stream figure img{width:100%;object-fit:cover}.hero-stream .tall img{aspect-ratio:4 / 5}.hero-stream .wide img{aspect-ratio:16 / 10}figcaption{font-size:.78rem;color:var(--ink-soft);margin-top:.6rem;letter-spacing:.02em}@media (max-width: 900px){.hero{grid-template-columns:1fr}.hero-rail{position:static}}.band{background:var(--pistachio);color:var(--ink)}.band-inner{padding-block:var(--section);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end}.band .overline{color:var(--ink);opacity:.75}.band h2{margin-top:1.2rem}.band-note{max-width:38ch;padding-bottom:.4rem}@media (max-width: 900px){.band-inner{grid-template-columns:1fr;align-items:start}}.offer{padding-block:var(--section);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,5vw,5rem)}.offer-list{border-top:1px solid var(--line)}.offer-row{display:grid;grid-template-columns:3.2rem minmax(0,15rem) 1fr;gap:clamp(1rem,3vw,2.5rem);align-items:baseline;padding:1.6rem 0;border-bottom:1px solid var(--line)}.offer-row .num{font-family:var(--font-display);font-style:italic;color:var(--moss);font-size:1.1rem}.offer-row h3{font-size:clamp(1.35rem,2.2vw,1.9rem)}.offer-row p{font-size:.95rem;color:var(--ink-soft);max-width:44ch}@media (max-width: 900px){.offer{grid-template-columns:1fr}.offer-row{grid-template-columns:2.4rem 1fr}.offer-row p{grid-column:2}}.reviews{background:var(--ink);color:var(--paper)}.reviews-inner{padding-block:var(--section)}.reviews .overline{color:var(--pistachio)}.reviews-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.reviews-head h2{margin-top:1.2rem}.review-score{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.4rem);line-height:1}.review-score span{display:block;font-family:var(--font-body);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#f6f4ec99;margin-top:.7rem}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) clamp(2.5rem,5vw,6rem)}.review blockquote{font-family:var(--font-display);font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:400;line-height:1.42}.review cite{display:block;font-style:normal;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:#f6f4ec99;margin-top:1.1rem}.review .stars{color:var(--pistachio);font-size:.85rem;letter-spacing:.3em;margin-bottom:.9rem}@media (max-width: 800px){.review-grid{grid-template-columns:1fr}}.invite{padding-block:var(--section);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:center}.invite img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.invite h2{margin-top:1.2rem}.invite .lede{margin-top:1.4rem}.invite-links{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:1rem}@media (max-width: 900px){.invite{grid-template-columns:1fr}}.btn{display:inline-block;font:600 .8rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.95rem 1.6rem;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer}.btn:hover{background:var(--ink);color:var(--paper)}.btn.solid{background:var(--moss);border-color:var(--moss);color:var(--paper)}.btn.solid:hover{background:var(--ink);border-color:var(--ink)}.reviews .btn,.page-hero-dark .btn{border-color:var(--paper);color:var(--paper)}.reviews .btn:hover{background:var(--paper);color:var(--ink)}.page-head{padding-block:clamp(3rem,6vw,5.5rem) clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line)}.page-head h1{margin-top:1.3rem;max-width:14em}.page-head .lede{margin-top:1.5rem}.about-strip{padding-block:var(--section);display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}.about-strip.flip .about-copy{order:2}.about-copy{grid-column:span 5}.about-copy .overline{display:block;margin-bottom:1.1rem}.about-copy h2{margin-bottom:1.3rem;max-width:12em}.about-media{grid-column:span 7}.about-media img{width:100%;object-fit:cover;aspect-ratio:4 / 3}.about-media.portrait img{aspect-ratio:4 / 5}@media (max-width: 900px){.about-copy,.about-media{grid-column:1 / -1}.about-strip.flip .about-copy{order:0}}.about-full{padding-bottom:var(--section)}.about-full img{width:100%;aspect-ratio:21 / 9;object-fit:cover}.menu-intro{padding-block:clamp(2.5rem,5vw,4rem)}.menu-section{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(2.5rem,5vw,4.5rem);border-top:1px solid var(--line)}.menu-section>header .overline{display:block}.menu-section>header h2{margin-top:.9rem;font-size:clamp(1.6rem,2.6vw,2.3rem)}.menu-items{display:grid;gap:1.6rem}.menu-item h3{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:.01em}.menu-item p{font-size:.92rem;color:var(--ink-soft);max-width:52ch;margin-top:.25rem}.menu-figure{padding-block:clamp(2rem,4vw,3.5rem)}.menu-figure img{width:100%;aspect-ratio:21 / 10;object-fit:cover}.menu-note{border-top:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4rem) var(--section)}.menu-note p{max-width:46ch}@media (max-width: 800px){.menu-section{grid-template-columns:1fr}}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(120px,16vw,230px);grid-auto-flow:dense;gap:clamp(.6rem,1.2vw,1.1rem);padding-block:clamp(2.5rem,5vw,4rem) var(--section)}.gallery-grid figure{overflow:hidden}.gallery-grid img{width:100%;height:100%;object-fit:cover}.g-c4r2{grid-column:span 4;grid-row:span 2}.g-c2r2{grid-column:span 2;grid-row:span 2}.g-c2r1{grid-column:span 2;grid-row:span 1}.g-c3r2{grid-column:span 3;grid-row:span 2}.g-c3r1{grid-column:span 3;grid-row:span 1}.g-c6r2{grid-column:span 6;grid-row:span 2}@media (max-width: 720px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:38vw}.gallery-grid figure{grid-column:span 2!important;grid-row:span 2!important}}.visit-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.5rem,5vw,4.5rem)}.visit-facts{border-top:1px solid var(--line);margin-top:1.8rem}.visit-facts>div{padding:1.2rem 0;border-bottom:1px solid var(--line)}.visit-facts dt{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem}.visit-facts dd{font-size:1.05rem}.visit-facts a{color:var(--moss);text-underline-offset:3px;text-decoration-thickness:1px}.visit-map{min-height:420px;display:flex}.visit-map iframe{border:0;width:100%;min-height:420px;filter:grayscale(.35)}@media (max-width: 900px){.visit-grid{grid-template-columns:1fr}}.contact{background:var(--paper-deep)}.contact-inner{padding-block:var(--section);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem)}.contact-inner h2{margin-top:1.2rem}.contact-inner .prose{margin-top:1.3rem}.form-grid{display:grid;gap:1.4rem}.field label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem}.field input,.field textarea{width:100%;font:400 1rem/1.5 var(--font-body);color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:.85rem 1rem}.field input:focus,.field textarea:focus{outline:2px solid var(--moss);outline-offset:-1px}.form-status{font-size:.92rem;padding:.9rem 1.1rem;border:1px solid var(--moss);color:var(--moss)}.form-status.error{border-color:#8a3b2e;color:#8a3b2e}.footer{background:var(--ink);color:var(--paper)}.footer-inner{padding-block:clamp(3rem,6vw,5rem) 2rem}.footer-mark{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.05;max-width:12em}.footer-cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:2rem;border-top:1px solid rgba(246,244,236,.18)}.footer-col{font-size:.9rem;color:#f6f4ecbf}.footer-col .overline{color:var(--pistachio);display:block;margin-bottom:.8rem}.footer-col a{color:var(--paper);text-underline-offset:3px;text-decoration-thickness:1px}.footer-col nav{display:grid;gap:.45rem}.footer-col nav a{text-decoration:none;color:#f6f4ecbf}.footer-col nav a:hover{color:var(--paper)}.footer-base{margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(246,244,236,.18);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.75rem;color:#f6f4ec80}
