/* The Catch Seafood & Sushi: public site. Deep ocean, warm sand, seafoam and amber. */
:root{--ink:#07151d;--ocean:#0a1c27;--navy:#10303f;--char:#1a2126;--sand:#f3ead9;--sand2:#e8dcc5;--foam:#7fd6c2;--amber:#eba63a;--amber2:#f6c56b;--coral:#e4674f;--text:#f4efe6;--mute:#a9b8bd;--line:rgba(255,255,255,.12);--r:18px;--serif:"Fraunces",Georgia,serif;--sans:"Manrope",system-ui,-apple-system,Segoe UI,sans-serif;--shadow:0 20px 50px -20px rgba(0,0,0,.55)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ocean);color:var(--text);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:0}
img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0 0 .5em;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(2.5rem,7vw,5rem)}h2{font-size:clamp(1.8rem,4vw,2.9rem)}h3{font-size:1.3rem}p{margin:0 0 1em}address{font-style:normal}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}.narrow{max-width:760px}.sr,.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:#111;padding:.6rem 1rem;z-index:99;border-radius:0 0 8px 0}.skip:focus{left:0}
:focus-visible{outline:3px solid var(--foam);outline-offset:3px;border-radius:6px}
.muted{color:var(--mute)}.big{font-size:1.15rem;line-height:1.65}.eyebrow,.kicker{font:700 .76rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem}
.oc{display:inline-block;font:700 .62rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:#fff3c4;color:#5b4300;border:1px dashed #b98900;border-radius:99px;padding:.3rem .55rem;vertical-align:middle;white-space:nowrap}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8rem 1.5rem;border-radius:99px;font:700 .95rem/1 var(--sans);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}.btn.sm{min-height:40px;padding:.55rem 1.1rem;font-size:.86rem}
.btn-amber{background:var(--amber);color:#1b1203;box-shadow:0 10px 30px -10px rgba(235,166,58,.7)}.btn-amber:hover{background:var(--amber2)}
.btn-light{background:var(--sand);color:#132028}.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.btn-foam{background:var(--foam);color:#06231d}.btn-ink{background:var(--ocean);color:#fff}.btn-line{border-color:#13202866;color:#132028}
.link{font-weight:700;color:inherit;text-underline-offset:4px;margin-right:1.2rem}.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1.5rem 0 0}
/* header */
.promo{display:flex;gap:.8rem;justify-content:center;align-items:center;flex-wrap:wrap;background:var(--amber);color:#1b1203;padding:.55rem 1rem;font-size:.9rem;text-decoration:none;text-align:center}.promo i{font-style:normal;font-weight:800;border:1px dashed #1b1203;border-radius:6px;padding:0 .4rem}
.previewbar{background:#fff3c4;color:#3d2e00;text-align:center;padding:.5rem 1rem;font-size:.9rem;font-weight:600}
.site-head{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1.5rem;padding:.7rem clamp(1rem,3vw,2.2rem);background:rgba(7,21,29,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;display:flex;align-items:center}.brand img{height:46px;width:auto}
.wordmark{display:flex;flex-direction:column;line-height:1}.wordmark b{font:600 1.45rem/1 var(--serif);letter-spacing:.02em}.wordmark i{font:700 .58rem/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--amber);font-style:normal;margin-top:.3rem}.wordmark.lg b{font-size:2rem}
.nav{display:flex;gap:1.4rem;margin-left:auto}.nav a{text-decoration:none;font-weight:600;font-size:.9rem;opacity:.85;padding:.4rem 0;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current]{opacity:1;border-color:var(--amber)}
.head-cta{display:flex;gap:.5rem}.burger{display:none;background:none;border:0;width:46px;height:46px;padding:11px;cursor:pointer;margin-left:auto}.burger span{display:block;height:2px;background:#fff;margin:6px 0;border-radius:2px;transition:.25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
/* hero */
.hero{position:relative;min-height:min(58vh,520px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}.hero-home{min-height:min(92vh,860px)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-home .hero-bg{animation:slow 26s ease-in-out infinite alternate}
@keyframes slow{from{transform:scale(1)}to{transform:scale(1.08)}}
.art{background:radial-gradient(80% 60% at 78% 18%,rgba(235,166,58,.38),transparent 60%),radial-gradient(70% 70% at 12% 85%,rgba(127,214,194,.28),transparent 60%),radial-gradient(60% 50% at 55% 60%,rgba(228,103,79,.16),transparent 70%),linear-gradient(160deg,#0d2b3a,#07151d 70%)}
.art::after,.ph::before{content:"";position:absolute;inset:0;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cpath d='M0 36h12V24h12V12h12V0M36 72V60h12V48h12V36h12M0 72l0 0M36 36h-12v12h-12v12H0' fill='none' stroke='%23f3ead9' stroke-width='1.5'/%3E%3C/svg%3E")}
.art.alt{background:radial-gradient(70% 70% at 20% 20%,rgba(127,214,194,.3),transparent 60%),radial-gradient(60% 60% at 85% 80%,rgba(235,166,58,.32),transparent 60%),linear-gradient(200deg,#143a4a,#07151d 75%)}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,21,29,.35) 0%,rgba(7,21,29,.15) 35%,rgba(7,21,29,.92) 100%)}
.hero-in{padding:7rem 0 3.2rem}.hero-sm .hero-in{padding:5rem 0 2.6rem}.hero h1 em{font-style:italic;color:var(--amber2);font-weight:400}.hero-sm h1{font-size:clamp(2.2rem,5.5vw,3.8rem)}
.h1-name{display:block;font:700 .8rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--foam);margin-bottom:1.1rem}
.lede{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:44rem;color:#e6e0d3}
.hero-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;padding:0;margin:2rem 0 0;font-size:.92rem;color:#dcd6c8}.hero-meta a{text-decoration:none}.hero-meta a:hover{text-decoration:underline}
.status{display:inline-flex;align-items:center;gap:.5rem;font-weight:700}.status::before{content:"";width:9px;height:9px;border-radius:50%;background:#8b979b}.status.on::before{background:#58e08f;box-shadow:0 0 0 4px rgba(88,224,143,.22)}
.stars{color:var(--amber);letter-spacing:.08em}.stars span{opacity:.3}
.ticker{overflow:hidden;border-block:1px solid var(--line);background:var(--ink)}.ticker div{display:flex;width:max-content;animation:tick 42s linear infinite}.ticker span{font:400 italic 1.25rem/1 var(--serif);padding:1rem 1.6rem;white-space:nowrap;color:#d9d2c3}.ticker span::after{content:"◆";font-size:.5rem;color:var(--amber);margin-left:3.2rem;vertical-align:middle;font-style:normal}
@keyframes tick{to{transform:translateX(-50%)}}
/* sections */
.sec{padding:clamp(3.5rem,8vw,6.5rem) 0}.sand{background:var(--sand);color:#132028}.sand .eyebrow{color:#7a4700}.sand .muted{color:#4d5b61}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.sec-head h2{margin:0}
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,5rem);align-items:center}.two.top{align-items:start}.two.flip>*:first-child{order:0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.cols{columns:2;column-gap:1.2rem}.cols .card{break-inside:avoid;margin-bottom:1.2rem}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.8rem 0;padding-top:1.5rem;border-top:1px solid #13202822}.duo h3{font-size:1.15rem}.duo p{font-size:.95rem;margin:0}
.stack{position:relative;aspect-ratio:1/1.05}.stack>*{position:absolute;border-radius:var(--r);object-fit:cover;box-shadow:var(--shadow)}.stack .s1{inset:0 18% 14% 0;width:82%;height:86%}.stack .s2{right:0;bottom:0;width:52%;height:52%;border:6px solid var(--sand)}.stack.one .s1{inset:0;width:100%;height:100%}
.ph{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(90% 80% at 80% 10%,rgba(235,166,58,.45),transparent 60%),radial-gradient(80% 80% at 10% 90%,rgba(127,214,194,.4),transparent 60%),linear-gradient(150deg,#16404f,#0a1c27);color:#f3ead9;min-height:160px;width:100%;height:100%}
.ph span{position:relative;font:600 .68rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;opacity:.75;border:1px solid rgba(243,234,217,.4);padding:.5rem .8rem;border-radius:99px;text-align:center}
.card{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem}.sand .card{background:#fff;border-color:#1320281a;box-shadow:0 12px 30px -18px rgba(19,32,40,.35)}
.hours{width:100%;border-collapse:collapse;font-size:.95rem}.hours th{text-align:left;font-weight:500;padding:.32rem 0}.hours td{text-align:right;font-variant-numeric:tabular-nums}.hours .is-today th,.hours .is-today td{font-weight:800;color:var(--amber)}.sand .hours .is-today th,.sand .hours .is-today td{color:#7a4700}
.ticks{list-style:none;padding:0;margin:1.2rem 0}.ticks li{padding:.45rem 0 .45rem 1.7rem;position:relative}.ticks li::before{content:"";position:absolute;left:0;top:.95rem;width:.8rem;height:2px;background:var(--amber)}
/* dishes */
.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.dish{position:relative}
.dish-big{background:var(--char);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.dish-big:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.sand .dish-big{background:#fff;border-color:#1320281a}
.dish-img{position:relative;aspect-ratio:4/3;overflow:hidden}.dish-img img,.dish-img .ph{width:100%;height:100%;object-fit:cover;transition:transform .6s}.dish-big:hover .dish-img img{transform:scale(1.05)}
.dish-big .dish-body{padding:1.2rem 1.3rem 1.4rem}.dish-top{display:flex;justify-content:space-between;gap:.3rem 1rem;align-items:baseline;flex-wrap:wrap}.dish h3{margin:0;font-size:1.22rem}.dish p{margin:.4rem 0 0;font-size:.93rem;color:var(--mute)}.sand .dish p{color:#55646a}
.price{font:700 1rem/1.3 var(--sans);color:var(--amber2);text-align:right}.sand .price{color:#7a4700}.price.mp{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}.price small{display:block;font-weight:500;font-size:.7rem;opacity:.8}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem!important}.tag,.badge{font:700 .66rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:.34rem .55rem;border-radius:99px;border:1px solid var(--line);color:#cfd8da}.sand .tag{border-color:#13202833;color:#33444b}
.t-raw{color:#9fd8ff;border-color:#9fd8ff55}.t-spicy{color:#ff9d8a;border-color:#ff9d8a55}.t-veg{color:#9fe3b0;border-color:#9fe3b055}.t-peru{color:var(--amber2);border-color:#f6c56b55}.t-gf{color:#d9c8ff;border-color:#d9c8ff55}
.sand .t-raw{color:#0b5a8a}.sand .t-spicy{color:#a8301a}.sand .t-veg{color:#1c6b33}.sand .t-peru{color:#8a5200}
.badge.out{background:var(--coral);border-color:var(--coral);color:#fff}.badge.soft{background:rgba(255,255,255,.08)}.dish-img .badge.out{position:absolute;top:.8rem;left:.8rem;font-size:.74rem;padding:.45rem .7rem}
.is-out h3,.is-out .price,.is-out>.dish-body>p:not(.chips){opacity:.5}.is-out h3{text-decoration:line-through;text-decoration-thickness:1px}.mods{font-size:.84rem!important}
/* menu page */
.menu-tools{position:sticky;top:67px;z-index:30;background:rgba(10,28,39,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:.8rem 0 .2rem}
.search input{width:100%;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:99px;color:#fff;font:inherit;padding:.7rem 1.2rem;min-height:46px}.search input::placeholder{color:#93a3a8}
.filters,.catnav{display:flex;gap:.45rem;overflow-x:auto;padding:.7rem 0;scrollbar-width:none}.filters::-webkit-scrollbar,.catnav::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:38px;background:transparent;border:1px solid var(--line);color:#dfe6e8;border-radius:99px;padding:.45rem 1rem;font:600 .85rem/1 var(--sans);cursor:pointer}.chip.is-on{background:var(--foam);border-color:var(--foam);color:#06231d}
.sand .chip,.sec:not(.sand) .gallery~.chip{}.catnav{padding-top:0}.catnav a{flex:none;text-decoration:none;font:600 .82rem/1 var(--sans);color:var(--mute);padding:.6rem .2rem;margin-right:1rem;border-bottom:2px solid transparent}.catnav a:hover,.catnav a.is-on{color:#fff;border-color:var(--amber)}
.menu-body{padding:1rem 0 4rem}.menu-sec{padding:3rem 0 1rem;scroll-margin-top:220px}.menu-sec header{margin-bottom:1.4rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.menu-sec header h2{margin:0}.menu-sec header p{margin:.4rem 0 0;color:var(--mute)}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 3.5rem}.menu-list .dish{padding:1.15rem 0;border-bottom:1px dashed rgba(255,255,255,.14);cursor:pointer;display:flex;gap:1rem}.menu-list .dish:hover h3{color:var(--amber2)}.menu-list .dish-body{flex:1;min-width:0}
.menu-list .dish-img{flex:none;width:92px;height:92px;aspect-ratio:1;border-radius:14px}.menu-list .dish-img .badge{display:none}
.sand .menu-list .dish{border-color:#13202826}.empty{padding:3rem 0;text-align:center;color:var(--mute)}
.fineprint{margin-top:3rem;padding:1.6rem;border:1px solid var(--line);border-radius:var(--r);font-size:.88rem;color:var(--mute)}.fineprint b{color:var(--text)}
dialog{border:0;padding:0;color:var(--text);background:var(--char);border-radius:22px;width:min(560px,92vw);box-shadow:0 40px 100px rgba(0,0,0,.7)}dialog::backdrop{background:rgba(3,10,14,.75);backdrop-filter:blur(4px)}
dialog .x{position:absolute;top:.6rem;right:.6rem;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:1.5rem;cursor:pointer}
#dish-dialog-body .dish{display:block}#dish-dialog-body .dish-img{display:block;width:100%;height:auto;aspect-ratio:16/10;border-radius:0}#dish-dialog-body .dish-body{padding:1.5rem 1.6rem 1.8rem}#dish-dialog-body h3{font-size:1.7rem}#dish-dialog-body p{font-size:1rem}
.lightbox{background:transparent;width:auto;max-width:94vw}.lightbox img{max-height:88vh;border-radius:12px}
/* reviews */
.reviews{background:linear-gradient(180deg,var(--ink),var(--ocean))}.rep{display:flex;align-items:center;gap:1.5rem;margin-bottom:2.5rem}.rep-n{font:500 clamp(4.5rem,12vw,7.5rem)/.9 var(--serif);margin:0;color:var(--amber2)}.rep .stars{font-size:1.5rem}.rep p{margin:.2rem 0 0}
.review-grid{columns:3;column-gap:1.3rem}.review{break-inside:avoid;margin:0 0 1.3rem;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}.review blockquote{margin:0}.review blockquote p{font:400 1.05rem/1.55 var(--serif);margin:0 0 1rem}.review figcaption{display:flex;flex-wrap:wrap;gap:.2rem .7rem;align-items:center;font-size:.86rem}.review figcaption span:last-child{color:var(--mute)}
/* happy hour, events, stories */
.tonight{border-left:4px solid var(--amber);padding:.3rem 0 .3rem 1.1rem;margin:1.5rem 0}.tonight span{font:700 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#7a4700}.tonight b{display:block;font:500 1.5rem/1.2 var(--serif)}.tonight p{margin:.2rem 0 0}
.week{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.5rem}.day{background:#fff;border-radius:var(--r);padding:1.3rem;border:1px solid #1320281a}.day .d{font:700 .7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#7a4700;margin-bottom:.6rem}.day .d span{background:var(--ocean);color:#fff;border-radius:99px;padding:.2rem .5rem;margin-left:.3rem;letter-spacing:.06em}.day p{margin:0;font-size:.93rem;color:#55646a}.day.is-today{outline:3px solid var(--amber)}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.event-card{display:flex;gap:1.1rem;text-decoration:none;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;transition:transform .25s,border-color .25s}.event-card:hover{transform:translateY(-4px);border-color:var(--amber)}
.event-card .date{flex:none;width:62px;height:70px;border-radius:14px;background:var(--amber);color:#1b1203;display:grid;place-content:center;text-align:center}.date b{font:600 1.7rem/1 var(--serif)}.date span{font:800 .66rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.event-card h3{font-size:1.15rem;margin:0 0 .2rem}.event-card p{margin:0;font-size:.9rem;color:var(--mute)}
.band{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4rem,10vw,7.5rem) 0;text-align:center}.band-in{max-width:720px}.band p{font-size:1.1rem;color:#e6e0d3}
.timeline{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.timeline li{border-top:2px solid var(--amber);padding-top:1.2rem}.timeline b{font:700 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--foam)}.timeline h3{margin:.6rem 0 .3rem;font-size:1.5rem}.timeline p{color:var(--mute);margin:0}
.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.story-card{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;text-decoration:none;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.story-card img,.story-card .ph{width:100%;height:100%;object-fit:cover;min-height:170px}.story-card>div{padding:1.3rem 1.3rem 1.3rem 0}.story-card h2{font-size:1.35rem}.story-card p:last-child{color:var(--mute);font-size:.93rem;margin:0}.story-card .eyebrow{margin-bottom:.6rem}
.prose{font-size:1.1rem;line-height:1.75}.prose h2{font-size:1.6rem;margin-top:2rem}.byline{color:var(--mute);font-size:.92rem}.article-img{margin:1.5rem 0;border-radius:var(--r);overflow:hidden}
.faq{border-bottom:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:700;cursor:pointer;font-size:1.05rem}.faq p{margin:.7rem 0 0;color:var(--mute)}
.gallery{columns:3;column-gap:1rem;margin-top:1.5rem}.gallery figure{margin:0 0 1rem;break-inside:avoid;border-radius:14px;overflow:hidden}.gallery .ph{aspect-ratio:4/5}.gallery figure:nth-child(3n) .ph{aspect-ratio:1}.gallery img{width:100%;transition:transform .5s}.gallery a:hover img{transform:scale(1.04)}.gallery figcaption{font-size:.82rem;color:var(--mute);padding:.4rem .2rem}.gallery [hidden]{display:none}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.82rem;color:var(--mute);padding:.9rem 0;position:absolute;z-index:5;left:0;right:0}.crumbs a{text-decoration:none}.crumbs a::after{content:"/";margin-left:.5rem;opacity:.5}
/* forms */
.form h2{font-size:1.6rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.f{display:block;margin-bottom:.9rem}.f span{display:block;font:700 .78rem/1 var(--sans);letter-spacing:.04em;margin-bottom:.4rem;color:#cfd8da}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=time],select,textarea{width:100%;min-height:48px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font:inherit;padding:.7rem .9rem;color-scheme:dark}select option{color:#111}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--mute);margin:.4rem 0 1rem}.check input{width:20px;height:20px;margin-top:.1rem;flex:none;accent-color:var(--amber)}
.form-msg{margin:.9rem 0 0;font-weight:700;min-height:1.4em}.form-msg.ok{color:var(--foam)}.form-msg.err{color:#ff9d8a}.form.is-done>*:not(.form-msg):not(h2){display:none}
/* footer */
.site-foot{background:var(--ink);border-top:1px solid var(--line);padding:4rem 0 6.5rem;font-size:.93rem}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:2.5rem}.site-foot h2{font:700 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem}
.site-foot a{text-decoration:none}.site-foot a:hover{text-decoration:underline}.links{list-style:none;padding:0;margin:0}.links li{margin-bottom:.45rem}.social a{margin-right:1rem;font-weight:700}
.foot-signup{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}.signup h2{font:500 1.5rem/1.2 var(--serif);letter-spacing:0;text-transform:none;color:var(--text)}.signup .row{display:flex;gap:.6rem;max-width:520px;margin-bottom:.6rem}
.foot-legal{margin-top:2.5rem;color:#7f9197;font-size:.78rem}
.dock{display:none}
/* motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media (max-width:1080px){.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);padding:.5rem 1.25rem 1.5rem;border-bottom:1px solid var(--line)}.nav.is-open{display:flex}.nav a{padding:1rem 0;font-size:1.1rem;border-bottom:1px solid var(--line)}.burger{display:block;margin-left:0}.head-cta{margin-left:auto}.dish-grid,.event-grid{grid-template-columns:1fr 1fr}.review-grid,.gallery{columns:2}.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.head-cta .btn-ghost{display:none}.two,.three,.timeline,.story-grid,.menu-list,.dish-grid,.event-grid{grid-template-columns:1fr}.cols{columns:1}.two.flip>*:first-child{order:2}.review-grid{columns:1}.gallery{columns:2}.grid2{grid-template-columns:1fr}.menu-list{gap:0}
.hero-home{min-height:86svh}.hero-in{padding:5rem 0 2.2rem}.cta-row .btn{flex:1 1 44%}.stack{aspect-ratio:1/.9}.duo{grid-template-columns:1fr}.menu-tools{top:63px}.story-card{grid-template-columns:110px 1fr}.foot-grid{grid-template-columns:1fr;gap:2rem}.signup .row{flex-direction:column}
.dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:.6rem;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom));z-index:50;background:rgba(7,21,29,.92);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:99px;padding:.3rem;box-shadow:0 14px 40px rgba(0,0,0,.6)}.dock a{text-align:center;text-decoration:none;padding:.85rem 0;border-radius:99px;font-size:.86rem}.dock a:first-child{background:var(--amber);color:#1b1203}
.crumbs{position:static;padding:.7rem 0 0}.rep{gap:1rem}}
.dish-big:not(:has(.dish-img)){border-top:3px solid var(--amber)}
.strip{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-top:1.6rem}.strip a{display:block;aspect-ratio:3/4;border-radius:14px;overflow:hidden}.strip img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.strip a:hover img{transform:scale(1.05)}
.brand img{height:54px}
@media (max-width:760px){.strip{grid-template-columns:repeat(5,62%);overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-1.25rem;padding-right:1.25rem}.strip a{scroll-snap-align:start}.brand img{height:44px}}
.hero-shade{background:linear-gradient(90deg,rgba(7,21,29,.82) 0%,rgba(7,21,29,.55) 45%,rgba(7,21,29,.15) 100%),linear-gradient(180deg,rgba(7,21,29,.45) 0%,rgba(7,21,29,.25) 35%,rgba(7,21,29,.95) 100%)}
.hero .kicker,.hero .h1-name{text-shadow:0 1px 10px rgba(0,0,0,.8)}.hero h1,.hero .lede{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.brand img{height:60px}
@media (max-width:760px){.hero-shade{background:linear-gradient(180deg,rgba(7,21,29,.6) 0%,rgba(7,21,29,.62) 40%,rgba(7,21,29,.96) 100%)}.brand img{height:46px}}
