@font-face{font-family:Luxia;src:url('fonts/Luxia-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Luxia;src:url('fonts/Luxia-700.woff2') format('woff2');font-weight:700;font-display:swap}

@font-face{font-family:Canela;src:url('/long-table/fonts/Canela-300.woff2') format('woff2');font-weight:300;font-display:swap}




:root{--cali-crimson:#97262C;--cali-gold:#C9A96E;--cali-cream:#FBF5F0;--cali-ink:#3D3530;--red:var(--cali-crimson);--gold:var(--cali-gold);--gold-dp:#A9762B;--bg:var(--cali-cream);--panel:#F9EBDF;--ink:var(--cali-ink);--dim:#6b5b50;--garden:#40614C;--line:rgba(61,53,48,.15);--veil:rgba(30,24,19,.5);--d:Luxia,Canela,Georgia,serif;--b:Canela,Georgia,serif;--n:Canela,Georgia,serif;--lbl:Luxia,Canela,Georgia,serif;--mx:clamp(22px,5vw,84px)}
*{margin:0;padding:0;box-sizing:border-box;font-style:normal!important;font-weight:400!important}
h1,h2,h3,h4,.dp,.hcap h1,.c22 .num,.mgh,.flogo-t{font-weight:300!important}
html,body{height:100%}
body{font-family:var(--b);color:var(--ink);background:var(--ink);font-size:16px;line-height:1.7;letter-spacing:-0.003em;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--d);line-height:1.07}
::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--red);color:var(--cali-cream);padding:10px 16px;font-size:12px}.skip:focus{left:8px;top:8px}
#scroller{height:100%;overflow-y:auto;overflow-x:hidden;position:relative;scroll-behavior:smooth;background:var(--bg);padding-bottom:60px}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--mx)}
.eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--red)}
.btn{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;padding:14px 24px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:.25s}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.solid{background:var(--red);border-color:var(--red);color:var(--cali-cream)}.btn.solid:hover{background:#7c1f24}
.btn.light{border-color:var(--bg);color:var(--bg)}.btn.light:hover{background:var(--bg);color:var(--ink)}
.btn.ghost{font-size:11px;padding:11px 18px;border-color:var(--line)}
header{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hb{display:flex;align-items:center;justify-content:space-between;height:82px}
.hb .logo{height:48px;width:auto}
nav.main{display:flex;gap:30px;align-items:center}
nav.main a{font-size:15px;letter-spacing:0;opacity:.82}nav.main a:hover{opacity:1;color:var(--red)}
.hb .res{font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:12px 22px;background:var(--red);color:var(--cali-cream)}
.hright{display:flex;align-items:center;gap:16px}
.lang{display:flex;gap:1px}
.lang button{font-size:11px;letter-spacing:.06em;padding:5px 7px;background:none;border:0;color:var(--dim);cursor:pointer;font-family:var(--b)}
.lang button.on{color:var(--red);font-weight:600!important}
.burger{display:inline-flex;width:34px;height:24px;position:relative;background:none;border:0;cursor:pointer}
.burger i{position:absolute;left:3px;right:3px;height:1.5px;background:var(--ink)}
.burger i:nth-child(1){top:5px}.burger i:nth-child(2){top:12px}.burger i:nth-child(3){top:19px}
.drawer{position:fixed;inset:0;z-index:120;background:var(--bg);transform:translateY(-100%);visibility:hidden;transition:transform .5s cubic-bezier(.7,0,.2,1),visibility 0s .5s;display:flex;flex-direction:column;padding:80px var(--mx) 40px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.drawer.open{transform:translateY(0);visibility:visible;transition-delay:0s}
.drawer a{font-family:var(--d);font-size:clamp(24px,6.5vw,30px);line-height:1.25;padding:12px 0;border-bottom:1px solid var(--line)}
.drawer a:first-of-type{margin-top:auto}.drawer a:last-of-type{margin-bottom:auto}
.drawer .x{position:absolute;top:22px;right:var(--mx);font-size:13px;letter-spacing:.2em;text-transform:uppercase;background:none;border:0;cursor:pointer}
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;display:flex;align-items:flex-end;background:var(--ink)}
.hero .bg{position:absolute;inset:0;background:url('/long-table/images/bg-1.jpeg') center/cover;animation:kb 32s linear infinite alternate;will-change:transform}
@keyframes kb{from{transform:scale(1.0)}to{transform:scale(1.09)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,13,.28) 0%,rgba(20,16,13,.05) 34%,var(--veil) 100%)}
.hcap{position:relative;z-index:2;width:100%;color:var(--bg);padding-bottom:clamp(40px,7vh,84px)}
.hcap .eyebrow{color:var(--gold)}
.hcap h1{font-size:clamp(46px,7vw,96px);color:var(--bg);margin:14px 0 0}.hcap h1 .g{color:var(--gold)}
.hcap .lede{max-width:540px;margin:18px 0 0;font-size:17px;color:#F3E9DE}
.hacts{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}
.facts{display:flex;gap:34px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid rgba(251,245,240,.26)}
.facts b{font-family:var(--d);font-size:22px;display:block;line-height:1;color:var(--bg)}
.facts a{color:var(--bg)}.facts a:hover{color:var(--gold)}
.facts span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.72}
section.band{padding:clamp(62px,9vh,112px) 0;background:var(--bg);position:relative}
.band.tint{background:var(--panel)}
h2.big{font-size:clamp(30px,4.4vw,52px)}
.lead{font-size:clamp(16px,1.3vw,17.5px);line-height:1.6;max-width:680px;color:#4a3a30}
.intro .grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,5vw,66px);align-items:end}
.intro figure{overflow:hidden;position:relative}.intro figure img{width:100%;aspect-ratio:4/5;object-fit:cover;animation:kb 40s linear infinite alternate}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--line)}
.pillars .col{padding:28px 34px 4px 0}
.pillars .n{font-family:var(--d);font-size:15px;color:var(--red)}
.pillars h4{font-size:23px;margin:8px 0}.pillars p{font-size:14.5px;color:var(--dim);line-height:1.55}
/* gallery */
.gallery .grid{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:8px}
.gallery .col2{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.gallery .im{overflow:hidden}.gallery .im img{width:100%;height:100%;object-fit:cover;animation:kb 42s linear infinite alternate}
.gallery .big img{aspect-ratio:16/12}.gallery .sm img{aspect-ratio:16/9}
.imband{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 var(--mx) clamp(58px,9vh,110px);max-width:1200px;margin:0 auto}.imband .im{overflow:hidden}.imband .im img{width:100%;aspect-ratio:3/2;object-fit:cover;animation:kb 44s linear infinite alternate}@media(max-width:900px){.imband{grid-template-columns:1fr}}
/* signatures */
.sig .row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.sig .card{position:relative;overflow:hidden}
.sig .card img{width:100%;aspect-ratio:4/5;object-fit:cover;animation:kb 34s linear infinite alternate}
.sig .cap{position:absolute;left:0;right:0;bottom:0;padding:20px;background:linear-gradient(0deg,rgba(20,16,13,.82),transparent);color:var(--bg)}
.sig .nm{font-family:var(--d);font-size:23px}.sig .pr{font-size:12px;letter-spacing:.12em;opacity:.85;margin-top:4px}
/* menu */
.menu{position:relative;overflow:hidden}
.menu .mbg{position:absolute;inset:0;background:url('/long-table/images/hero-bg.webp') center/cover;opacity:.05;pointer-events:none}
.menu .wrap{position:relative;z-index:1}
.menu .head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}
.menu .head .r{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.menu .note{font-size:13px;color:var(--dim)}
.mnav{position:sticky;top:78px;z-index:40;display:flex;gap:6px;overflow-x:auto;padding:14px 0;margin:22px 0 6px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);scrollbar-width:none}
.mnav::-webkit-scrollbar{display:none}
.mnav button{flex:0 0 auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7a675a;padding:9px 14px;border:1px solid transparent;background:none;cursor:pointer;white-space:nowrap;transition:.2s}
.mnav button:hover{color:var(--ink)}.mnav button.on{color:var(--red);font-weight:700!important;border-color:transparent;background:none;border-bottom:2px solid var(--red)}
.mgroup{padding:32px 0 6px;scroll-margin-top:140px;border-bottom:1px solid var(--line)}.mgroup:last-child{border-bottom:0}
.mgh{font-size:clamp(26px,3.2vw,36px);color:var(--red);margin-bottom:18px}
.dishes{list-style:none;display:grid;grid-template-columns:1fr;gap:0}
.dish{padding:14px 0;max-width:860px}
.vtag{font-size:9px;font-weight:600!important;color:var(--garden);border:1px solid rgba(64,97,76,.55);border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px}
.mlegend{font-size:12.5px;color:var(--dim);margin:14px 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dtop{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.dn{font-size:17.5px}
.dish.star .dn::before{content:"★";color:var(--gold);font-size:11px;margin-right:6px;vertical-align:2px}
.dp{font-family:var(--d);font-size:17px;white-space:nowrap;margin-left:auto}
.dd{font-size:14.5px;color:#5c4c42;margin-top:6px;line-height:1.6;max-width:76ch}
.pils{display:inline-flex;gap:5px}
.pil{font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--line);color:#8a7568}
.pil.t-beef{color:#8a3324;border-color:rgba(138,51,36,.4)}.pil.t-poultry{color:#b06a1e;border-color:rgba(176,106,30,.45)}.pil.t-sea{color:#2f6f83;border-color:rgba(47,111,131,.45)}.pil.t-veg{color:var(--garden);border-color:rgba(64,97,76,.5)}.pil.t-egg{color:#a98322;border-color:rgba(169,131,34,.45)}.pil.t-veg{color:var(--garden);border-color:rgba(64,97,76,.5)}.pil.t-sheep{color:#7a4a3a;border-color:rgba(122,74,58,.45)}
.mfoot{font-size:12.5px;color:var(--dim);padding-top:24px;line-height:1.6}
.c22{position:relative;color:var(--bg);overflow:hidden;background:var(--red)}
.c22 .cbg{position:absolute;inset:0;background:url('/long-table/images/menu-bg.webp') center/cover;opacity:.2;animation:kb 46s linear infinite alternate}
.c22::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(90,20,24,.5),rgba(60,14,17,.82))}
.c22 .in{position:relative;z-index:2;padding:clamp(72px,12vh,134px) 0;text-align:center}
.c22 .num{font-family:var(--d);font-size:clamp(95px,17vw,210px);line-height:.8;color:var(--gold)}
.c22 .eyebrow{color:var(--gold)}.c22 h2{font-size:clamp(30px,4.4vw,50px);color:var(--bg);margin:6px 0 14px}
.c22 p{max-width:600px;margin:0 auto;opacity:.92;font-size:16px}
.c22 .stats{display:flex;justify-content:center;gap:clamp(30px,6vw,78px);flex-wrap:wrap;margin-top:42px;padding-top:32px;border-top:1px solid rgba(251,245,240,.24)}
.c22 .stats b{font-family:var(--d);font-size:clamp(34px,5vw,52px);display:block;line-height:1;color:var(--bg)}
.c22 .stats span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.75}
.rband{background:var(--garden);color:var(--bg)}
.rband .in{padding:clamp(54px,8vh,86px) 0;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.rband h2{font-size:clamp(30px,4vw,46px);color:var(--bg);max-width:640px}.rband .meta{font-size:14px;opacity:.9;margin-top:9px}
/* other places */
.others .cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px);margin-top:40px}
.others .cards.four{grid-template-columns:repeat(4,1fr)}
.others a.oc{display:block}.others a.oc:hover{border-color:var(--red)}
.others .oc{border:1px solid var(--line);background:var(--bg);padding:28px}
.others .oc .plogo{height:44px;width:auto;margin-bottom:16px;opacity:.95}
.others .k{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.others .oc h3{font-size:27px;margin:6px 0 8px;letter-spacing:.02em}
.others .oc p{font-size:14px;color:var(--dim);line-height:1.55}
.others .oc .meta{font-size:12.5px;color:#7a675a;margin-top:12px}
.others .soon{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#a08b7d;margin-top:12px}
.faq details{border-bottom:1px solid var(--line);padding:2px 0}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;font-family:var(--d);font-size:clamp(19px,2.2vw,25px);display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq .pm{font-family:var(--b);font-size:23px;color:var(--red);transition:.3s}.faq details[open] .pm{transform:rotate(45deg)}
.faq .a{padding:0 0 22px;max-width:800px;color:#4a3a30;font-size:16px}
/* sticky bar */
.ariabar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.ariabar .in{max-width:1200px;margin:0 auto;padding:9px var(--mx);display:flex;align-items:center;gap:12px}
.ariabar .aface{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 36px;border:1px solid var(--line)}
.ariabar .chips{display:flex;gap:6px}
.ariabar .chips a{font-size:11.5px;padding:9px 13px;border:1px solid var(--line);color:var(--ink);white-space:nowrap;transition:.2s}
.ariabar .chips a:hover{border-color:var(--red);color:var(--red)}
.ariabar .ask{flex:1;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--dim);border:1px solid var(--line);background:var(--bg);padding:11px 16px}
.ariabar .ask b{width:7px;height:7px;background:var(--red);display:inline-block}
.ariabar .go{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.ariabar a.r{font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:11px 20px;background:var(--red);color:var(--cali-cream)}
.ariabar a.o{font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:11px 20px;border:1px solid var(--ink)}
@media(max-width:980px){.ariabar .ask,.ariabar .chips{display:none}}
/* FOOTER — light, matching the homepage */
footer{position:relative;background:var(--bg);color:var(--ink);padding:clamp(46px,6vh,64px) 0 30px;border-top:1px solid var(--gold);overflow:hidden}
footer .foodwm{position:absolute;right:-4%;bottom:-8%;width:min(34vw,400px);aspect-ratio:3/2;background:url('/long-table/images/c22-bg.webp') center/cover;opacity:.06;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 70% 60%,var(--cali-ink),transparent 72%);mask-image:radial-gradient(circle at 70% 60%,var(--cali-ink),transparent 72%)}
footer .wrap{position:relative;z-index:1}
.fpartners{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:22px}
.fpartners .pk{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.fpartners .pbox{font-family:var(--d);font-size:18px;padding:14px 26px;border:1px solid var(--gold)}
.fbrands{display:flex;gap:clamp(14px,2.4vw,34px);flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fbrands a{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.fbrands a:hover{color:var(--ink)}.fbrands a.cur{color:var(--red);border-bottom:2px solid var(--red);padding-bottom:5px}
.fmain{display:grid;grid-template-columns:1.5fr 1.3fr .9fr .9fr 1.1fr;gap:34px;padding:44px 0}
.flogo{height:52px;width:auto}
.fsub{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-dp);margin-top:14px}
.ftag{font-family:var(--d);font-size:19px;line-height:1.35;margin:18px 0;max-width:22ch}
.femail{font-size:14px;color:var(--red)}.femail:hover{text-decoration:underline}
.fsocial{display:flex;gap:11px;margin-top:18px}
.fsocial a{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center}
.fsocial svg{width:15px;height:15px;fill:currentColor}
footer h5{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dp);margin-bottom:16px}
.loc{margin-bottom:20px}.loc b{font-size:14px;display:block}.loc span{font-size:13px;color:var(--dim);display:block;line-height:1.5}.loc a{font-size:13.5px;color:var(--red);display:inline-block;margin-top:2px}
.fcol a{display:block;font-size:14px;color:var(--ink);padding:4px 0}.fcol a:hover{color:var(--red)}
.acard{border:1px solid var(--line);background:var(--panel);padding:16px;display:flex;gap:14px}
.acard img{width:64px;height:64px;object-fit:cover;flex:0 0 64px}
.acard .an{font-family:var(--d);font-size:20px}.acard p{font-size:12px;color:var(--dim);line-height:1.5;margin:4px 0 8px}
.acard a{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.fentity{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--line)}
.fentity .fe1{display:flex;align-items:center;gap:16px}
.fmarque{height:52px;width:auto}
.fentity b{font-size:15px;display:block}.fentity span{font-size:12.5px;color:var(--dim);display:block;line-height:1.5}
.fpow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);padding:16px 28px;background:var(--gold)}
.flegal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--dim)}
.flegal a{color:var(--dim);margin-left:20px}.flegal a:hover{color:var(--ink)}

/* monthly promo */
.promo .pcard{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);overflow:hidden;background:var(--panel)}
.promo .pimg{overflow:hidden;min-height:440px}.promo .pimg img{width:100%;height:100%;object-fit:cover;animation:kb 42s linear infinite alternate}
.promo .ptext{padding:clamp(30px,4vw,54px);display:flex;flex-direction:column;justify-content:center}
.promo .ptext h2{margin:12px 0 16px;font-size:clamp(34px,4.8vw,58px)}.promo .ptext p{font-size:15.5px;color:#4a3a30;max-width:44ch;margin-bottom:22px}
/* blog */
.blog .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px);margin-top:8px}
.blog .post{display:block}.blog .pim{overflow:hidden;aspect-ratio:4/3}.blog .pim img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.blog .post:hover .pim img{transform:scale(1.05)}
.blog .pb{padding:16px 0}.blog .pcat{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.blog .post h3{font-size:21px;margin-top:7px;line-height:1.2}
@media(max-width:900px){.promo .pcard{grid-template-columns:1fr}.promo .pimg{min-height:260px}.blog .posts{grid-template-columns:1fr}.others .cards.four{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.others .cards.four{grid-template-columns:1fr}}
.rv{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease}.rv.in{opacity:1;transform:none}
@media(max-width:1000px){.fmain{grid-template-columns:1fr 1fr 1fr}.fconcierge{grid-column:span 3}}
@media(max-width:900px){
 nav.main,.hb .res{display:none}.burger{display:block}
 .intro .grid{grid-template-columns:1fr}.intro figure{display:none}
 .pillars{grid-template-columns:1fr}.pillars .col{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
 .gallery .grid{grid-template-columns:1fr}.gallery .col2{grid-template-rows:auto}
 .sig .row{grid-template-columns:1fr}.sig .card img{aspect-ratio:16/10}
 .dishes{grid-template-columns:1fr}.others .cards{grid-template-columns:1fr}
 .fmain{grid-template-columns:1fr 1fr}.fconcierge{grid-column:span 2}
 .rband .in{flex-direction:column;align-items:flex-start}
 .flegal{flex-direction:column}
}
@media(max-width:560px){.fmain{grid-template-columns:1fr}.fconcierge{grid-column:span 1}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}


.setmenu .sm-price{margin:6px 0 30px;padding-bottom:22px;border-bottom:1px solid rgba(42,31,26,.14)}
.setmenu .sm-price b{font-family:'Canela',Georgia,serif;font-weight:300;font-size:clamp(20px,2.4vw,27px);color:var(--red)}
.setmenu .sm-price span{margin:0 12px;color:var(--gold)}
.setmenu .sm-price p{margin:12px 0 0;max-width:640px;color:#6b5c52;font-size:15px;line-height:1.7}
.setmenu .sm-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 48px}
.setmenu .sm-col.wide{grid-column:1 / -1}
.setmenu .sm-col h4{font-family:'Canela',Georgia,serif;font-weight:300;font-size:20px;color:var(--ink);margin:0 0 2px}
.setmenu .sm-pick{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.setmenu .sm-i{padding:10px 0;border-top:1px solid rgba(42,31,26,.08)}
.setmenu .sm-i:first-of-type{border-top:0}
.setmenu .sm-i b{display:block;font-size:15.5px;color:var(--ink)}
.setmenu .sm-i .sm-v{display:inline-block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#40614c;margin:2px 0}
.setmenu .sm-i p{margin:3px 0 0;color:#6b5c52;font-size:14px;line-height:1.6}
.setmenu .sm-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.setmenu .sm-add{margin-top:30px;padding:18px 22px;background:rgba(150,38,44,.05);border:1px solid rgba(150,38,44,.16)}
.setmenu .sm-add b{color:var(--red);letter-spacing:.06em;text-transform:uppercase;font-size:12px;display:block;margin-bottom:6px}
@media(max-width:760px){.setmenu .sm-grid{grid-template-columns:1fr}.setmenu .sm-mgrid{grid-template-columns:1fr}}

.band.others{position:relative}.band.others .obg{position:absolute;inset:0;background:url('/long-table/images/bg-2.jpeg') center/cover;opacity:.07;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 50% 42%,var(--cali-ink),transparent 78%);mask-image:radial-gradient(circle at 50% 42%,var(--cali-ink),transparent 78%)}.band.others .wrap{position:relative;z-index:1}

/* ============================================================================
   CALI Brand System 2026 -- website alignment.
   Generated by scripts/brand_2026.py. Edit that, not this.
   ============================================================================ */

/* -- Header geometry ---------------------------------------------------------
   The wordmark's clear space is one cap height on all four sides, and the
   wordmark's own minimum is 140px wide. 140px wide is 34px of cap height, so
   the header cannot be shorter than 34 + 34 + 34 = 102px and still hold it.
   104px, and every sticky offset measured off the old 82/86px header, follow
   from that one rule. */
:root{--hh:104px;--logo-w:140px;--logo-clear:34px}
.hb,.nav{height:var(--hh)}
.wrap.hb,.wrap.nav{padding-left:max(var(--mx,22px),var(--logo-clear));
                   padding-right:max(var(--mx,22px),var(--logo-clear))}
.hb .logo,.brand svg{display:block;width:var(--logo-w);height:auto;
                   margin-right:var(--logo-clear);color:var(--cali-crimson)}
.mnav{top:calc(var(--hh) - 4px)}
.cat-nav{top:calc(var(--hh) - 12px)}
.cart-col,.bside,.gv-prev{top:calc(var(--hh) + 6px)}
.doc,.del,.mb-hero,.resv,.gv{padding-top:calc(var(--hh) + 5vh)}
.nf{padding-top:calc(var(--hh) + 12vh)}
/* The hero stays 100svh, so its caption keeps the height it was composed for.
   What moves is the caption's bottom padding: the fact rail used to clear the
   fixed Aria bar by 19px, and 18px more header would have put it under the bar.
   This is the clearance the Long Table page had already had to invent for
   itself, applied to every hero. */
.hero .cap,.hcap{padding-bottom:clamp(98px,13vh,150px)}
/* On a phone the caption is nearly as tall as the hero, so the same clearance
   has to come out of a smaller budget: enough to keep the fact rail off the
   Aria bar, not so much that the eyebrow rides up under the header. */
/* On a phone the caption is nearly as tall as the hero, so the same clearance
   comes out of a smaller budget. The floor matters more than the vh here: below
   about 700px tall the homepage caption is taller than the hero whatever the
   header does -- it overflowed before this change too -- and the floor is what
   keeps the fact rail clear of the Aria bar when that happens, letting the
   overflow go off the top, which is where the delivery already put it. */
@media(max-width:700px){.hero .cap,.hcap{padding-bottom:clamp(88px,10.5vh,130px)}}
/* No filters, shadows, gradients or hover shifts on the mark. */
.hb .logo,.brand svg,.flogo,.plogo{filter:none;box-shadow:none;transform:none}

/* Footer lockup: wordmark with the endorsement, 200px minimum, on cream ground
   -- so the crimson colourway, not the cream one the pack ships for a crimson
   footer. Clear space is the cap height at that width, 48px. */
.flogo{display:block;width:200px;height:auto;margin:0 0 48px;color:var(--cali-crimson)}
/* Gift voucher card: cream on the dark ground, at the wordmark's own minimum. */
.v-logo{display:block;width:var(--logo-w);height:auto;color:var(--cali-cream)}
.plogo{display:block;width:var(--logo-w);height:auto;margin-bottom:var(--logo-clear)}

/* -- Type --------------------------------------------------------------------
   Luxia MediumDisplay for display, Luxia BoldDisplay for section labels, Canela
   for body and for every price. Luxia carries 124 glyphs and no $ % + = @ or
   dash beyond the plain hyphen, which is why the stack falls to Canela and
   never to a system serif, and why prices are pulled out by name below. */
h1,h2,h3,h4,h5,h6,.page-h1,.hd,.big,.nf-h,
.doc-body h2,.doc-card b,.tier-n,.nm,.an,.go-n,.s22-n,.c22 .num,.c22 .stats b{
  font-family:var(--d,var(--f-d));
}
h1,h2,.page-h1,.hd,.nf-h{letter-spacing:.02em}   /* Luxia wants air at size */

.eyebrow,.lbl,.k,.nj-eyebrow,.v-badge,.cap2,.tier-q,.sm-pick,
.facts span,.rail span,.stat span,.cap3 span,.pk,.partners .k,.fpartners .pk{
  font-family:var(--lbl,var(--f-d));font-weight:700!important;text-transform:uppercase;
}
/* Tracking is a floor, not a value: every other label was already set wider
   than 0.16em by the delivery, and pinning them all to 0.16em would tighten
   them. Only the two that sat under the floor move. */
.tier-q,.setmenu .sm-pick{letter-spacing:.16em}

/* Canela is mandatory here -- not a preference. A price left in a Luxia block
   loses its currency symbol to a silent system-serif fallback mid-line. */
.dp,.mn .row .pr,.c22 .stat b,.ev .cap3 b,.amt,.v-val,.v-cur,.wl-amt,.wl-cur,
.setmenu .sm-price b,.setmenu .sm-add,.mprice,.calc-note,.cmp-row>span,
.ct-row,.cart-fab,.ca,[itemprop="price"]{
  font-family:var(--n,'Canela',Georgia,serif)!important;
}

/* -- Colour ------------------------------------------------------------------
   The four tokens are on :root. Cream, not white, carries reversed type; the
   gold that reads as ornament stays gold, and the gold that was carrying text
   on cream is moved to crimson -- gold on cream is about 2.0:1 and fails AA. */
.skip,.btn.solid,.hb .res,.doc-cta,.cart-fab,.ca-solid,.tier-badge,
.vp .li:hover,.cal-d[aria-selected="true"]{color:var(--cali-cream)}
