:root{--navy:#152a45;--navy-deep:#0b1624;--navy-mid:#1f3a5f;--gold:#c9a56a;--gold-bright:#e0c48a;--gold-dim:#c9a56a59;--ink:#141820;--ink-soft:#4a5260;--pearl:#f3f5f7;--pearl-deep:#e4e9ef;--mist:#d5dde8;--white:#fff;--line:#14182024;--line-gold:#c9a56a8c;--font-script:"Great Vibes", cursive;--font-display:"Bodoni Moda", "Times New Roman", serif;--font-body:"Figtree", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--header-h:5.75rem;--max:72rem;--gutter:clamp(1.25rem, 4vw, 2.75rem)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%, #c9a56a1a, transparent 55%), radial-gradient(900px 500px at 100% 0%, #1e3a5f1a, transparent 50%), linear-gradient(180deg, #f6f7f9 0%, var(--pearl) 42%, #eef1f4 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.05rem;font-weight:400;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button{font:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-weight:600;line-height:1.15}p{margin:0}.skip-link{background:var(--navy);color:var(--pearl);z-index:1000;padding:.75rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{top:1rem;left:1rem}#root{min-height:100vh}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.outline-type{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1.15px var(--ink);paint-order:stroke fill;letter-spacing:.04em;font-weight:600}.outline-type-gold{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1.1px var(--gold-bright);paint-order:stroke fill;letter-spacing:.06em;font-weight:600}@media (width>=768px){.outline-type{-webkit-text-stroke-width:1.35px}.outline-type-gold{-webkit-text-stroke-width:1.3px}}.brand-mark{flex-direction:column;align-items:flex-start;line-height:1.2;text-decoration:none;display:inline-flex;overflow:visible}.brand-mark .cafe{font-family:var(--font-script);color:var(--gold-bright);text-shadow:0 1px #0b16248c,0 2px 10px #0b162459;margin:0;padding:.55em .35em .15em .45em;font-size:1.7rem;font-weight:400;line-height:1.35}.brand-mark .num{font-family:var(--font-display);letter-spacing:.08em;color:var(--gold-bright);text-shadow:0 1px #0b16248c,0 2px 10px #0b162459;margin:.05rem 0 0 .55rem;padding:.15em .25em .35em .1em;font-size:1.3rem;font-weight:600;line-height:1.25}.brand-mark.lg .cafe{text-shadow:0 1px #0b162480,0 3px 16px #0b162466;padding:.55em .4em .18em .55em;font-size:clamp(2.75rem,9vw,5.25rem);line-height:1.35}.brand-mark.lg .num{text-shadow:0 1px #0b162480,0 3px 16px #0b162466;margin-left:.95rem;padding:.15em .3em .4em .15em;font-size:clamp(2.15rem,7vw,4rem);line-height:1.3}.brand-mark.on-light .cafe,.brand-mark.on-light .num{color:var(--navy);text-shadow:none}.brand-mark.is-image{flex-direction:row;align-items:center;padding:0;line-height:0;display:inline-flex;overflow:visible}.brand-mark .brand-img{object-fit:contain;object-position:left center;background:0 0;border-radius:0;width:auto;max-width:min(12.5rem,48vw);height:3.5rem;display:block;overflow:visible}.brand-mark.lg.is-image{max-width:none}.brand-mark.lg .brand-img{object-position:left center;max-width:min(25rem,86vw);height:clamp(6.75rem,24vw,11.5rem)}.site-header .brand-mark.is-image{flex-shrink:0;overflow:visible}.hero-content .brand-mark.is-image{margin-bottom:1.15rem;overflow:visible}.site-header{z-index:50;min-height:var(--header-h);height:auto;padding:1rem max(var(--gutter), 1.5rem);transition:background .4s var(--ease), backdrop-filter .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease);color:var(--pearl);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;inset:0 0 auto;overflow:visible}.site-header.scrolled,.site-header.solid{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b1624e0;border-bottom-color:#c9a56a2e}.site-header .nav-links{gap:1.75rem;margin:0;padding:0;list-style:none;display:none}.site-header .nav-links a{letter-spacing:.14em;text-transform:uppercase;opacity:.82;transition:opacity .25s var(--ease), color .25s var(--ease);font-size:.82rem;font-weight:500;text-decoration:none}.site-header .nav-links a:hover,.site-header .nav-links a.active{opacity:1;color:var(--gold-bright)}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:6px;width:2.5rem;height:2.5rem;padding:0;display:inline-flex}.nav-toggle span{width:100%;height:1.5px;transition:transform .3s var(--ease), opacity .3s var(--ease);background:currentColor;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7.5px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.mobile-nav{inset:var(--header-h) 0 0;color:var(--pearl);padding:2rem var(--gutter);opacity:0;pointer-events:none;transition:opacity .35s var(--ease), transform .35s var(--ease);z-index:40;background:#0b1624f7;flex-direction:column;gap:1.25rem;display:flex;position:fixed;transform:translateY(-.5rem)}.mobile-nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav a{font-family:var(--font-display);letter-spacing:.04em;font-size:2rem;text-decoration:none}@media (width>=880px){.site-header .nav-links{display:flex}.nav-toggle,.mobile-nav{display:none}}.btn{letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:.5rem;padding:.9rem 1.5rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-gold{background:var(--gold);color:var(--navy-deep)}.btn-gold:hover{background:var(--gold-bright)}.btn-ghost{color:var(--pearl);background:0 0;border-color:#f4f1ea73}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright)}.btn-navy{background:var(--navy);color:var(--pearl)}.btn-navy:hover{background:var(--navy-mid)}.btn-outline-ink{color:var(--ink);border-color:var(--ink);background:0 0}.btn-outline-ink:hover{background:var(--ink);color:var(--pearl)}.btn-row{flex-wrap:wrap;gap:.85rem;display:flex}.section{padding:clamp(4rem, 10vw, 7.5rem) var(--gutter)}.section-narrow{max-width:var(--max);margin:0 auto}.section-head{max-width:38rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.section-head .eyebrow{margin-bottom:.85rem;display:block}.section-head h2{margin-bottom:.85rem;font-size:clamp(2.1rem,5vw,3.4rem)}.section-head p{color:var(--ink-soft);font-size:1.05rem}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:600}.gold-rule{background:var(--gold);border:0;width:3.5rem;height:1px;margin:1.25rem 0}.hero{min-height:100svh;color:var(--pearl);align-items:end;display:grid;position:relative;overflow:visible}.hero-media{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-media img{object-fit:cover;object-position:50% 28%;width:100%;height:100%;animation:hero-drift 18s var(--ease) infinite alternate;transform:scale(1.04)}.hero-media:before{content:none}.hero-media:after{content:"";z-index:1;background:linear-gradient(#0b162459 0%,#0b162426 35%,#0b1624d1 100%),radial-gradient(at 70% 20%,#c9a56a2e,#0000 50%);position:absolute;inset:0}.hero-content{z-index:3;padding:calc(var(--header-h) + 2rem) var(--gutter) clamp(3rem, 8vw, 5rem);max-width:44rem;animation:rise-in 1.1s var(--ease) both;position:relative}.hero-content .brand-mark{margin-bottom:1.25rem;padding:0;overflow:visible}.hero-lead{font-family:var(--font-display);color:#f4f1eaeb;max-width:28rem;margin:.75rem 0 1.75rem;font-size:clamp(1.35rem,3.2vw,1.85rem);font-style:italic;font-weight:400;line-height:1.35}.hero-kicker{letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:.5rem;font-size:.72rem}.scroll-hint{right:var(--gutter);z-index:1;letter-spacing:.2em;text-transform:uppercase;color:#f4f1eaa6;writing-mode:vertical-rl;font-size:.68rem;animation:2.8s ease-in-out infinite pulse-soft;position:absolute;bottom:2rem}.band-navy{background:radial-gradient(800px 400px at 0% 0%, #c9a56a1f, transparent 60%), linear-gradient(160deg, var(--navy-deep), var(--navy) 55%, #18324f);color:var(--pearl)}.band-navy p{color:#f4f1eac7}.band-pearl{background:0 0}.split{align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}@media (width>=900px){.split{grid-template-columns:1.05fr .95fr}.split.reverse{grid-template-columns:.95fr 1.05fr}.split.reverse .split-copy{order:2}}.split-media{min-height:22rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #152a45bf}.split-media img{object-fit:cover;width:100%;height:100%;min-height:22rem;animation:media-in 1.2s var(--ease) both}.band-navy .split-media{box-shadow:inset 0 0 0 3px #c9a56a59,0 0 0 3px #152a45e6}.split-copy h2{margin-bottom:1rem;font-size:clamp(2rem,4.5vw,3.1rem)}.split-copy .lede{color:var(--ink-soft);max-width:32rem;margin-bottom:1.5rem}.band-navy .split-copy .lede{color:#f4f1eac7}.dish-grid{gap:clamp(1.5rem,3vw,2.25rem);display:grid}@media (width>=800px){.dish-grid{grid-template-columns:repeat(3,1fr)}}.dish{flex-direction:column;gap:1rem;display:flex}.dish-media{aspect-ratio:3/4;background:var(--navy-deep);overflow:hidden}.dish-media img{object-fit:cover;object-position:center 40%;width:100%;height:100%;transition:transform .9s var(--ease)}.dish-media img[src*=smoked-salmon]{object-position:18% 45%}.dish-media img[src*=lamb]{object-position:center 35%}.dish-media img[src*=coastal]{object-position:center 45%}.dish-media img[src*=pesto]{object-position:center 48%}.dish-media img[src*=cauliflower]{object-position:center 42%}@media (width>=800px){.dish-grid.dense{grid-template-columns:repeat(3,1fr)}}@media (width>=1100px){.dish-grid.dense-5{grid-template-columns:repeat(6,1fr)}.dish-grid.dense-5 .dish:first-child,.dish-grid.dense-5 .dish:nth-child(2),.dish-grid.dense-5 .dish:nth-child(3){grid-column:span 2}.dish-grid.dense-5 .dish:nth-child(4){grid-column:2/span 2}.dish-grid.dense-5 .dish:nth-child(5){grid-column:4/span 2}}.dish:hover .dish-media img{transform:scale(1.04)}.dish h3{margin-bottom:.35rem;font-size:1.45rem}.dish p{color:var(--ink-soft);font-size:.98rem}.note-chip{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:.5rem;font-size:.72rem;display:inline-block}.visit-strip{background:var(--navy-deep);color:var(--pearl);gap:0;display:grid;overflow:hidden}@media (width>=900px){.visit-strip{grid-template-columns:1.1fr .9fr}}.visit-strip .copy{padding:clamp(3rem, 7vw, 5rem) var(--gutter)}.visit-strip h2{margin:.5rem 0 1rem;font-size:clamp(2.2rem,5vw,3.4rem)}.visit-strip p{color:#f4f1eabf;max-width:28rem;margin-bottom:1.5rem}.visit-meta{gap:1rem;margin:0 0 1.75rem;padding:0;display:grid}.visit-meta div{border-top:1px solid #c9a56a40;padding-top:.75rem}.visit-meta dt{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem;font-size:.68rem}.visit-meta dd{font-family:var(--font-display);margin:0;font-size:1.15rem}.visit-meta.on-pearl{color:var(--ink)}.visit-meta.on-pearl div{border-top-color:var(--line)}.visit-meta.on-pearl dt{color:var(--navy-mid)}.visit-meta.on-pearl a{color:var(--navy)}.visit-strip .media{min-height:18rem}.visit-strip .media img{object-fit:cover;width:100%;height:100%;min-height:18rem}.page-hero{padding:calc(var(--header-h) + 3.5rem) var(--gutter) 3.5rem;background:linear-gradient(160deg, var(--navy-deep), var(--navy) 60%, #1a3554);color:var(--pearl);position:relative;overflow:hidden}.page-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#c9a56a2e,#0000 65%);width:28rem;height:28rem;position:absolute;inset:auto -10% -40% auto}.page-hero .inner{max-width:var(--max);margin:0 auto;position:relative}.page-hero h1{margin:.4rem 0 .85rem;font-size:clamp(2.8rem,8vw,5rem)}.page-hero p{color:#f4f1eac7;max-width:32rem;font-size:1.1rem}.gallery-grid{grid-template-columns:1fr;gap:.85rem;display:grid}@media (width>=640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid .span-2{grid-column:span 2}}.gallery-item{aspect-ratio:3/4;background:var(--navy-deep);position:relative;overflow:hidden}.gallery-item.span-2{aspect-ratio:16/10}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease)}.gallery-item:hover img{transform:scale(1.05)}.gallery-item figcaption{color:var(--pearl);letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(#0000,#0b1624bf);padding:1.25rem;font-size:.78rem;position:absolute;bottom:0;left:0;right:0}.statement{text-align:center;padding:clamp(4rem, 12vw, 8rem) var(--gutter)}.statement .outline-type{max-width:16ch;margin:0 auto 1.25rem;font-size:clamp(2.4rem,8vw,5.5rem);line-height:1.05}.statement p{max-width:28rem;color:var(--ink-soft);margin:0 auto}.site-footer{background:var(--navy-deep);color:#f4f1eac7;padding:3.5rem var(--gutter) 1.5rem;border-top:1px solid #c9a56a33}.footer-grid{max-width:var(--max);gap:2rem;margin:0 auto;display:grid}@media (width>=800px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.footer-brand p{max-width:22rem;margin-top:.85rem;font-size:.95rem}.footer-col h4{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.85rem;font-size:.72rem;font-weight:600}.footer-col a{opacity:.85;margin-bottom:.5rem;text-decoration:none;display:block}.footer-col a:hover{color:var(--gold-bright);opacity:1}.footer-bottom{max-width:var(--max);border-top:1px solid #f4f1ea1a;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:2.5rem auto 0;padding-top:1.25rem;font-size:.85rem;display:flex}.footer-bottom a{color:var(--gold);text-decoration:none}.footer-bottom a:hover{color:var(--gold-bright)}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(1.25rem)}.reveal.in{opacity:1;transform:none}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}@keyframes rise-in{0%{opacity:0}to{opacity:1}}@keyframes media-in{0%{opacity:.6;transform:scale(1.06)}to{opacity:1;transform:none}}@keyframes hero-drift{0%{transform:scale(1.04)translate(0,0)}to{transform:scale(1.08)translate(-1.2%,-.8%)}}@keyframes pulse-soft{0%,to{opacity:.45}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
