.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.js-motion .reveal.is-visible{opacity:1;transform:none}.js-motion .reveal[data-delay="1"]{transition-delay:.08s}.js-motion .reveal[data-delay="2"]{transition-delay:.16s}.js-motion .reveal[data-delay="3"]{transition-delay:.24s}.js-motion .reveal[data-delay="4"]{transition-delay:.32s}.site-header{transition:box-shadow .3s ease}.site-header .wrap{transition:padding .3s ease}.site-header.is-scrolled{box-shadow:0 6px 24px #17131a14}.site-header.is-scrolled .wrap{padding-block:.55rem}.hero{position:relative;min-height:min(92svh,860px);display:flex;align-items:flex-end;padding-block:clamp(5rem,14vw,9rem) clamp(2.5rem,6vw,4rem);overflow:hidden;background:var(--ink)}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;will-change:transform}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#100d13eb,#100d138c 38%,#100d1326 70%,#100d1359),#100d132e}.hero .wrap{position:relative;z-index:2}.hero h1{text-shadow:0 2px 30px rgba(0,0,0,.35)}.hero h1,.hero .tagline{color:#fdfbfc}.hero .tagline{color:#fdfbfcd9}.hero-meta{border-top-color:#fdfbfc38;color:#fdfbfcc7}.hero .btn-ghost{color:#fdfbfc;border-color:#fdfbfc80}.hero .btn-ghost:hover{background:#fdfbfc;color:var(--ink);border-color:#fdfbfc}.js-motion .hero-bg{animation:kenburns 26s ease-in-out infinite alternate}@keyframes kenburns{0%{transform:scale(1.06) translateZ(0)}to{transform:scale(1.14) translate3d(-1.5%,-1.5%,0)}}.js-motion .hero-in>*{opacity:0;transform:translateY(22px);animation:heroUp .9s cubic-bezier(.22,1,.36,1) forwards}.js-motion .hero-in>*:nth-child(1){animation-delay:.15s}.js-motion .hero-in>*:nth-child(2){animation-delay:.28s}.js-motion .hero-in>*:nth-child(3){animation-delay:.41s}.js-motion .hero-in>*:nth-child(4){animation-delay:.54s}.js-motion .hero-in>*:nth-child(5){animation-delay:.67s}@keyframes heroUp{to{opacity:1;transform:none}}.status-pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.4rem .9rem .4rem .75rem;border-radius:999px;background:#fdfbfc1f;border:1px solid rgba(253,251,252,.28);color:#fdfbfc;backdrop-filter:blur(6px)}.status-pill[hidden]{display:none}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-faint);flex:none}.status-pill.is-open .status-dot{background:#5cc98b}.status-pill.is-closed .status-dot{background:#d98a6a}.js-motion .status-pill.is-open .status-dot{animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #5cc98b8c}70%{box-shadow:0 0 0 9px #5cc98b00}}.status-pill.on-light{background:#17131a0d;border-color:var(--line);color:var(--ink-soft)}.scroll-cue{position:absolute;left:50%;bottom:1.4rem;z-index:2;transform:translate(-50%);width:1px;height:46px;background:linear-gradient(to bottom,#fdfbfc00,#fdfbfcb3)}.js-motion .scroll-cue{transform-origin:bottom;animation:cue 2.6s ease-in-out infinite}@keyframes cue{0%,to{transform:translate(-50%) scaleY(.35);opacity:.35}50%{transform:translate(-50%) scaleY(1);opacity:1}}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2.5rem}.chip{font:inherit;font-size:.86rem;font-weight:500;padding:.42rem .95rem;border-radius:999px;background:transparent;color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.chip:hover{border-color:var(--copper-deep);color:var(--copper-deep)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}.menu-item.is-filtered,.menu-category.is-filtered{display:none}.filter-empty{color:var(--ink-faint);font-style:italic}.filter-empty[hidden]{display:none}.band{position:relative;overflow:hidden;min-height:clamp(320px,46vw,520px);display:flex;align-items:center;background:var(--ink)}.band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}.band:after{content:"";position:absolute;inset:0;background:#100d138c}.band .wrap{position:relative;z-index:2;text-align:center}.band blockquote{margin:0 auto;max-width:30ch;font-family:var(--display);font-size:clamp(1.5rem,4vw,2.6rem);line-height:1.2;color:#fdfbfc}.band cite{display:block;margin-top:1.5rem;font-family:var(--body);font-style:normal;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#fdfbfca6}.gallery-grid{display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr)}@media(min-width:760px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.gallery-item:first-child{grid-column:span 2;grid-row:span 2}}.gallery-item{position:relative;overflow:hidden;border:0;padding:0;margin:0;background:var(--cream-deep);aspect-ratio:4 / 3;cursor:zoom-in;border-radius:4px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.gallery-item:after{content:"";position:absolute;inset:0;background:#100d1300;transition:background .4s ease}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.06)}.gallery-item:hover:after{background:#100d131f}.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#0e0c0af0;padding:clamp(1rem,4vw,3rem)}.lightbox[hidden]{display:none}.js-motion .lightbox{animation:fade .28s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.lightbox figure{margin:0}.lightbox img{max-width:100%;max-height:78svh;width:auto;object-fit:contain;border-radius:4px}.lightbox-caption{color:#fdfbfccc;font-size:.9rem;text-align:center;margin:1rem auto 0;max-width:46ch}.lightbox-close,.lightbox-nav{position:absolute;z-index:2;width:44px;height:44px;border-radius:50%;background:#fdfbfc1a;border:1px solid rgba(253,251,252,.25);color:#fdfbfc;cursor:pointer;font-size:1.2rem;line-height:1;display:grid;place-items:center;transition:background .2s ease}.lightbox-close:hover,.lightbox-nav:hover{background:#fdfbfc3d}.lightbox-close{top:1.1rem;right:1.1rem}.lightbox-nav.prev{left:1rem;top:50%;transform:translateY(-50%)}.lightbox-nav.next{right:1rem;top:50%;transform:translateY(-50%)}.lightbox-count{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);color:#fdfbfc99;font-size:.82rem;font-variant-numeric:tabular-nums}.form-status{margin-top:1rem;font-size:.92rem}.form-status[hidden]{display:none}.form-status.ok{color:#2f7d54}.form-status.err{color:#a8452c}button[aria-busy=true]{opacity:.6;pointer-events:none}@media(prefers-reduced-motion:reduce){.js-motion .reveal,.js-motion .hero-in>*{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.js-motion .hero-bg,.js-motion .scroll-cue,.js-motion .lightbox,.js-motion .status-pill.is-open .status-dot{animation:none!important}.gallery-item img{transition:none}.gallery-item:hover img{transform:none}}.filters[hidden]{display:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.announce{background:var(--ink);color:var(--cream-deep);font-size:.9rem}.announce[hidden]{display:none}.announce .wrap{display:flex;align-items:center;gap:1rem;padding-block:.6rem}.announce p{margin:0;flex:1}.announce a{color:#fff;margin-left:.5rem}.announce-close{flex:none;background:none;border:0;color:inherit;cursor:pointer;font-size:1.25rem;line-height:1;padding:.15rem .35rem;opacity:.6;transition:opacity .2s ease}.announce-close:hover{opacity:1}.about-grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}@media(min-width:760px){.about-grid{grid-template-columns:1fr 1.1fr}}.about-photo{width:100%;border-radius:6px;box-shadow:0 18px 40px -18px #17131a73}.about-text{color:var(--ink-soft);font-size:1.1rem;max-width:44ch;margin-top:1.25rem}
