/* Saffron Room: cobalt night, saffron gold. Dashboard layout. */
:root{
  --ground:#0A1128;--surface:#111C3D;--surface2:#16244D;--ink:#F4EFE6;--primary:#4C6FFF;--primary-ink:#8FA6FF;--accent:#E9A23B;--muted:#A7B0CC;
  --line:rgba(244,239,230,.12);--line2:rgba(143,166,255,.22);
  --r:18px;--r-s:10px;--wrap:1280px;
  --fd:'Forum',Georgia,serif;--fb:'IBM Plex Sans',system-ui,sans-serif;
  color-scheme:dark;
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
.vt-title{view-transition-name:page-title}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.65 var(--fb);font-variant-numeric:tabular-nums;overflow-x:hidden;
  background-image:radial-gradient(900px 500px at 85% -10%,rgba(76,111,255,.18),transparent 60%),radial-gradient(700px 400px at -10% 30%,rgba(233,162,59,.07),transparent 60%);background-attachment:fixed}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--fd);font-weight:400;line-height:1.08;margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(2.3rem,6.4vw,4rem)}
h2{font-size:clamp(1.9rem,4.6vw,3rem)}
h3{font-size:1.45rem}
p{margin:0 0 1em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--accent);color:var(--ground);padding:10px 16px;border-radius:8px;font-weight:600}
.skip:focus{top:60px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
@media(min-width:760px){.wrap{padding:0 32px}}
.kicker,.panel-l{font:500 .74rem/1.3 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .7em;display:flex;align-items:center;gap:.5em}
.panel-l{color:var(--muted);letter-spacing:.1em}
.lead{font-size:1.12rem;color:#D9DCEA;max-width:60ch}
.note,.small{font-size:.88rem;color:var(--muted)}
.ic{width:22px;height:22px;flex:none}
.ic-s{width:16px;height:16px;vertical-align:-3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.7em 1.4em;border-radius:999px;font:500 .98rem var(--fb);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn-solid{background:var(--accent);color:#1A1205}
.btn-solid:hover{background:#F4B654;color:#1A1205}
.btn-ghost{border-color:var(--line2);color:var(--ink);background:rgba(143,166,255,.06)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-s{min-height:44px;padding:.5em 1.1em;font-size:.92rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
button{font:inherit;color:inherit}

/* header */
.top{position:sticky;top:0;z-index:50;transition:background .3s,box-shadow .3s}
.top-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px 16px}
.top.is-scrolled{background:rgba(10,17,40,.88);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 1.45rem var(--fd);color:var(--ink);min-height:44px}
.mono{width:38px;height:38px;color:var(--ink)}
.status{display:none;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);border:1px solid var(--line);padding:6px 12px;border-radius:999px;white-space:nowrap}
.pulse{width:8px;height:8px;border-radius:50%;background:#5BD68B;box-shadow:0 0 0 0 rgba(91,214,139,.6);animation:pulse 2s infinite;display:inline-block}
@keyframes pulse{to{box-shadow:0 0 0 10px rgba(91,214,139,0)}}
.nav{display:none;margin-left:auto;gap:4px}
.nav a{text-decoration:none;font-size:.92rem;padding:10px 12px;border-radius:999px;color:#D9DCEA}
.nav a[aria-current]{background:rgba(143,166,255,.12);color:var(--ink)}
.top-cta{display:none}
.menu-btn{margin-left:auto;display:flex;align-items:center;gap:10px;background:none;border:1px solid var(--line2);border-radius:999px;min-height:44px;padding:0 16px;cursor:pointer;font-size:.9rem}
.bars{display:grid;gap:5px}.bars i{display:block;width:18px;height:1.5px;background:currentColor}
@media(min-width:1100px){.nav{display:flex}.top-cta{display:inline-flex}.menu-btn{margin-left:0}.status{display:inline-flex}.menu-btn span:last-child{display:none}}
@media(min-width:1100px) and (max-width:1300px){.status{display:none}}
.menu{position:fixed;inset:0;z-index:2000;background:rgba(6,10,26,.97);backdrop-filter:blur(14px);overflow:auto}
.menu-in{max-width:1200px;margin:0 auto;padding:72px 16px 40px}
.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.menu-x{background:none;border:1px solid var(--line2);border-radius:999px;min-height:44px;padding:0 18px;cursor:pointer}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(min-width:700px){.mgrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}}@media(max-width:699px){.mtile{padding:12px;flex-direction:column;gap:8px}.mtile small{font-size:.78rem}}
.mtile{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:var(--r-s);text-decoration:none;background:var(--surface);transition:border-color .2s,transform .2s}
.mtile:hover{border-color:var(--accent);transform:translateY(-2px)}
.mtile .ic{color:var(--accent);margin-top:2px}
.mtile b{display:block;font-weight:500}.mtile small{color:var(--muted);font-size:.85rem}
.mtile[aria-current]{border-color:var(--primary)}
.menu-foot{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--muted)}
.menu-foot a{color:var(--ink)}

/* photos */
.ph{margin:0;background:linear-gradient(135deg,#1B2A5E,#2A1E2E);border-radius:var(--r);overflow:hidden;position:relative}
.ph img{width:100%;height:100%;object-fit:cover}

/* hero */
.hero{position:relative;padding:28px 0 56px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-1;opacity:.28;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 95%);mask-image:linear-gradient(180deg,#000 30%,transparent 95%)}
.hero-ph{position:absolute;inset:-60px 0}
.hero-ph .ph{height:100%;border-radius:0;aspect-ratio:auto!important}
.hero-in{display:grid;gap:32px}
.hero-txt h1{max-width:15ch}
.hero-acts{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.hero-facts{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
.hero-facts li{background:rgba(10,17,40,.9);padding:12px}
.hero-facts b{display:block;font:400 1.25rem var(--fd);color:var(--accent)}
.hero-facts span{font-size:.78rem;color:var(--muted)}
@media(min-width:1000px){.hero{padding:48px 0 80px}.hero-in{grid-template-columns:1.05fr 1fr;align-items:center;gap:56px}}
.board{background:rgba(17,28,61,.82);border:1px solid var(--line2);border-radius:24px;padding:16px;box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.board-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.board-top .panel-l{margin:0}
.live{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:#9FE7BA}
.board-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bcard{background:var(--ground);border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}
.bcard .panel-l{font-size:.66rem}
.bcard .ic{width:16px;height:16px;color:var(--accent)}
.big{display:block;font:400 2.3rem/1 var(--fd);color:var(--ink);margin:.1em 0 .25em}
.big small{font-size:.5em;color:var(--muted)}
.stat-s{font-size:.8rem;color:var(--muted);margin:0}
.meter{height:6px;border-radius:9px;background:rgba(143,166,255,.15);overflow:hidden;margin:6px 0 8px}
.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:9px;transition:width .8s}
.gauge{width:100%;max-width:140px;height:auto;display:block;margin:2px 0 -4px}
.g-bg,.g-fg{fill:none;stroke-width:9;stroke-linecap:round}
.g-bg{stroke:rgba(143,166,255,.15)}
.g-fg{stroke:url(#none);stroke:var(--accent);transition:stroke-dasharray 1s ease}
.pass{font:400 1.2rem/1.25 var(--fd);margin:.2em 0 .4em;transition:opacity .25s;min-height:2.5em}
.spark{width:100%;height:46px;display:block;margin-top:6px}
.spark-a{fill:rgba(233,162,59,.12)}
.spark-l{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}
@media(max-width:380px){.big{font-size:1.9rem}}

/* ticker */
.ticker{border-block:1px solid var(--line);overflow:hidden;background:rgba(17,28,61,.6)}
.ticker-in{display:flex;gap:40px;width:max-content;padding:12px 0;animation:tick 48s linear infinite}
.ticker span{display:inline-flex;gap:8px;align-items:center;font-size:.86rem;color:var(--muted);white-space:nowrap}
.ticker .ic{color:var(--accent)}
@keyframes tick{to{transform:translateX(-50%)}}

/* sections */
.sec{padding:64px 0}
@media(min-width:900px){.sec{padding:96px 0}}
.sec-h{max-width:760px;margin-bottom:32px}
.sec-intro{color:#C9CEE0;font-size:1.05rem}
.phead{padding:32px 0 24px;border-bottom:1px solid var(--line)}
.phead-in{display:grid;gap:28px}
@media(min-width:900px){.phead{padding:56px 0 48px}.phead-in{grid-template-columns:1.4fr .8fr;align-items:end}}
.phead-aside .ph{max-height:420px}
.crumb{font-size:.85rem;color:var(--muted)}
.crumb a{color:var(--muted)}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.chip-stat{border:1px solid var(--line2);border-radius:12px;padding:10px 14px;background:rgba(17,28,61,.7);min-width:120px}
.chip-stat span{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.chip-stat b{font:400 1.25rem var(--fd);color:var(--accent)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}

/* journey route */
.route{position:relative;padding:12px 0}
.route-line{position:absolute;left:0;right:0;top:44px;width:100%;height:80px;display:none}
.route-line path{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:6 6;vector-effect:non-scaling-stroke;opacity:.6}
.jnodes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;position:relative}
.jn{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.jn-n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);font-size:.8rem;margin-bottom:8px;background:var(--ground)}
.jn b{display:block;font:400 1.2rem var(--fd)}
.jn small{display:block;color:var(--muted);font-size:.8rem}
.jn em{font-style:normal;font-size:.78rem;color:var(--primary-ink)}
@media(min-width:1100px){.route-line{display:block}.jnodes{grid-template-columns:repeat(9,1fr);gap:8px}.jn{padding:12px;background:rgba(17,28,61,.9)}.jn:nth-child(even){margin-top:56px}}
.route-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:28px;color:#C9CEE0}
.route-foot p{max-width:56ch;margin:0}

/* bento */
.bento{display:grid;gap:12px;grid-template-columns:1fr;grid-auto-flow:dense}
.bx{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;position:relative;overflow:hidden;min-width:0}
.bx-photo{padding:0;min-height:260px}
.bx-photo .ph{position:absolute;inset:0;border-radius:0;aspect-ratio:auto!important;height:100%}
.bx-over{position:relative;z-index:1;padding:20px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,transparent 20%,rgba(6,10,26,.92) 85%);min-height:inherit}
.bx-over p{margin:0;color:#E6E8F2}
.bx-cap{font-size:.9rem;color:#C9CEE0;margin:12px 0 0}
@media(min-width:700px){.bento{grid-template-columns:repeat(2,1fr)}.bx-wide{grid-column:span 2}}
@media(min-width:1050px){.bento{grid-template-columns:repeat(4,1fr)}.bx-tall{grid-row:span 2}.bx-wide{grid-column:span 2}.bento.b3{grid-template-columns:repeat(3,1fr)}}
.donut{position:relative;width:120px;height:120px}
.d-bg,.d-fg{fill:none;stroke-width:10}
.d-bg{stroke:rgba(143,166,255,.15)}
.d-fg{stroke:var(--accent);stroke-linecap:round}
.donut-t{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.donut-t b{font:400 1.7rem var(--fd)}
.donut-t span{font-size:.62rem;color:var(--muted);max-width:80px;line-height:1.2}
.hbars{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hbars li{display:grid;grid-template-columns:minmax(80px,1.2fr) 2fr auto;gap:10px;align-items:center;font-size:.86rem}
.hb-l{color:#C9CEE0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-t{height:8px;background:rgba(143,166,255,.12);border-radius:9px;overflow:hidden}
.hb-t i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:9px}
.hbars b{font-weight:500;font-size:.82rem;color:var(--ink)}

/* comparison table */
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:620px;border-collapse:collapse;font-size:.95rem}
.cmp th,.cmp td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.cmp thead th{font:400 1.2rem var(--fd);background:var(--surface)}
.cmp tbody th{font-weight:500;color:var(--muted);font-size:.85rem}
.cmp .hl{background:rgba(233,162,59,.08);color:var(--ink)}
.cmp thead .hl{color:var(--accent)}
.cmp tr:last-child>*{border-bottom:0}

/* chef */
.chef-in{display:grid;gap:32px;align-items:center}
@media(min-width:900px){.chef-in{grid-template-columns:.9fr 1.1fr;gap:64px}}
.chef-txt h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.chef-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}
.chef-stats div{border-top:1px solid var(--accent);padding-top:10px}
.chef-stats b{display:block;font:400 2rem var(--fd)}
.chef-stats span{font-size:.8rem;color:var(--muted)}

/* quotes */
.quotes{display:grid;gap:12px}
@media(min-width:860px){.quotes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
.q{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column}
.q-stars{color:var(--accent);letter-spacing:3px;margin-bottom:10px}
.q blockquote{margin:0 0 16px;font:400 1.22rem/1.4 var(--fd);flex:1}
.q figcaption{font-size:.85rem;color:var(--muted)}

/* tabs */
.tablist{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px;scrollbar-width:none}
.tablist [role=tab]{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:none;cursor:pointer;font-size:.92rem}
.tablist [role=tab][aria-selected=true]{background:var(--accent);color:#1A1205;border-color:var(--accent)}
.tablist .ic{width:18px;height:18px}
.tp-in{display:grid;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;align-items:center}
@media(min-width:800px){.tp-in{grid-template-columns:1fr 1fr;padding:20px;gap:36px}}

/* find + map */
.find{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.find{grid-template-columns:1.1fr .9fr;gap:48px}}
.map{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.map svg{display:block;width:100%;height:auto}
.m-bg{fill:#0E1838}
.m-road{fill:none;stroke:#2A3A70;stroke-width:10;stroke-linecap:round}
.m-big{stroke:#34488A;stroke-width:16}.m-thin{stroke-width:5}
.m-ring{fill:none;stroke:#34488A;stroke-width:8}
.m-pin path{fill:var(--accent)}.m-dot{fill:var(--ground)}
.m-t{fill:var(--ink);font:500 15px var(--fb)}.m-t2{fill:var(--muted);font:12px var(--fb)}
.map-note{position:absolute;left:12px;bottom:10px;font-size:.75rem;color:var(--muted);background:rgba(10,17,40,.8);padding:4px 8px;border-radius:6px}
.hours{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:16px 0;font-size:.95rem}
.hours dt{color:var(--muted)}.hours dd{margin:0}

/* cta */
.cta-band{padding:40px 0 80px}
.cta-in{display:grid;gap:20px;align-items:center;padding:32px 20px;border-radius:24px;border:1px solid var(--line2);background:radial-gradient(600px 300px at 90% 0,rgba(233,162,59,.18),transparent 70%),var(--surface)}
.cta-in p{color:#C9CEE0;margin:0}
.cta-acts{display:flex;flex-wrap:wrap;gap:12px}
@media(min-width:860px){.cta-in{grid-template-columns:1.5fr auto;padding:44px}}

/* related */
.rel{display:grid;gap:12px}
@media(min-width:760px){.rel{grid-template-columns:repeat(3,1fr)}}
.rel-c{display:flex;flex-direction:column;gap:4px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);text-decoration:none;transition:transform .3s,border-color .3s;will-change:transform}
.rel-c:hover{border-color:var(--accent);color:var(--ink)}
.rel-c>.ic{color:var(--accent);margin-bottom:8px}
.rel-c b{font:400 1.35rem var(--fd)}
.rel-c span{color:var(--muted);font-size:.9rem}
.rel-c em{font-style:normal;color:var(--accent);font-size:.88rem;margin-top:8px;display:flex;gap:6px;align-items:center}

/* journey page */
.j-grid{display:grid;gap:24px}
.jdash{position:sticky;top:112px;z-index:5;background:rgba(17,28,61,.96);border:1px solid var(--line2);border-radius:20px;padding:14px;backdrop-filter:blur(10px);display:grid;grid-template-columns:110px 1fr;gap:4px 14px;align-items:center}
.jdash .jd-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
.jdash .jd-top .panel-l{margin:0}
.jd-step{margin:0;font-size:.85rem;color:var(--muted)}.jd-step b{color:var(--accent);font-size:1.1rem}
.jdash h3{margin:0;font-size:1.5rem;grid-column:2}
.jd-region{grid-column:2;margin:0;color:var(--muted);font-size:.85rem}
.radar{grid-row:2/5;grid-column:1;width:110px;height:110px}
.rd-ring{fill:none;stroke:rgba(143,166,255,.18)}
.rd-ax{stroke:rgba(143,166,255,.18)}
.rd-poly{fill:rgba(233,162,59,.3);stroke:var(--accent);stroke-width:2;stroke-linejoin:round}
.rd-t{fill:var(--muted);font:11px var(--fb);display:none}
.jd-row{grid-column:2;display:flex;gap:18px}
.jd-row .panel-l{font-size:.6rem;margin:0}
.jd-row b{font:400 1.1rem var(--fd)}
.jd-prog{grid-column:1/-1;height:4px;background:rgba(143,166,255,.15);border-radius:4px;overflow:hidden;margin-top:6px}
.jd-prog i{display:block;height:100%;background:var(--accent);transition:width .6s}
@media(min-width:960px){
  .j-grid{grid-template-columns:380px 1fr;gap:48px;align-items:start}
  .jdash{top:140px;display:block;padding:24px}
  .jdash h3{font-size:2rem;margin-top:6px}
  .radar{width:100%;height:auto;margin:10px 0}
  .rd-t{display:block}
  .jd-row{gap:28px}.jd-row b{font-size:1.5rem}
}
.courses{display:grid;gap:16px}
.course{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--surface);transition:border-color .4s,background .4s,opacity .4s;opacity:.7}
.course.is-on{border-color:var(--accent);background:linear-gradient(160deg,rgba(233,162,59,.08),var(--surface) 50%);opacity:1}
@media(min-width:960px){.course{padding:32px;min-height:62vh;display:flex;flex-direction:column;justify-content:center}}
.course-n{font:400 3rem/1 var(--fd);color:var(--accent);margin:0 0 6px}
.course-n span{font-size:.4em;color:var(--muted)}
.course h3{font-size:2rem;margin-bottom:.2em}
.course-dish{font-size:1.1rem;color:#E6E8F2}
.course-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:.86rem;color:var(--muted)}
.tag{border:1px solid var(--line2);border-radius:999px;padding:2px 10px;font-size:.75rem;color:var(--primary-ink)}
.fl-mini{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.fl-mini li{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.fl-mini i{display:block;height:4px;margin-top:6px;border-radius:4px;background:linear-gradient(90deg,var(--accent) calc(var(--v)*20%),rgba(143,166,255,.15) 0)}

/* builder */
.builder{display:grid;gap:20px}
@media(min-width:960px){.builder{grid-template-columns:1fr 1fr;gap:32px}}
.b-form fieldset{border:0;padding:0;margin:0 0 20px;display:grid;gap:10px}
.b-form legend{font:400 1.3rem var(--fd);margin-bottom:10px}
.opt-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line2);border-radius:14px;cursor:pointer;background:var(--surface);transition:border-color .2s,background .2s}
.opt-card:has(input:checked){border-color:var(--accent);background:rgba(233,162,59,.08)}
.opt-card input{accent-color:var(--accent);width:20px;height:20px;flex:none}
.opt-card b{display:block;font-weight:500}.opt-card small{color:var(--muted)}
.opt-grid{display:grid;gap:10px;margin-bottom:16px}
@media(min-width:700px){.opt-grid{grid-template-columns:repeat(3,1fr)}}
.chk{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--accent)}
.b-out{background:var(--surface);border:1px solid var(--line2);border-radius:var(--r);padding:20px}
.b-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:4px}
.b-list li{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line);transition:opacity .3s}
.b-list li.off{opacity:.25;text-decoration:line-through}
.b-sw{grid-column:2;font-style:normal;font-size:.78rem;color:var(--accent)}.b-sw:empty{display:none}
.b-list .bc-n{color:var(--accent);font-size:.85rem}
.b-list b{font-weight:500;display:block}.b-list small{color:var(--muted);font-size:.8rem;display:block}
.b-list em{font-style:normal;font-size:.8rem;color:var(--muted)}
.b-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.b-sum div{background:var(--ground);border-radius:12px;padding:10px}
.b-sum span{display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.b-sum b{font:400 1.2rem var(--fd);color:var(--accent)}

/* timeline, cards */
.tl{list-style:none;padding:0;margin:0;display:grid;gap:0;border-left:1px solid var(--line2);margin-left:8px}
.tl li{position:relative;padding:0 0 22px 24px;display:grid;gap:4px}
.tl li::before{content:"";position:absolute;left:-6px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--ground);border:2px solid var(--accent)}
.tl b{font:400 1.3rem var(--fd);color:var(--accent)}
.tl span{color:#C9CEE0;max-width:62ch}
@media(min-width:900px){.tl{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-left:0;border-top:1px solid var(--line2);margin:0}.tl li{padding:24px 20px 0 0}.tl li::before{left:0;top:-6px}}
.diet,.price-grid,.specs{display:grid;gap:12px}
@media(min-width:700px){.diet,.specs{grid-template-columns:repeat(2,1fr)}.price-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1050px){.diet,.specs{grid-template-columns:repeat(4,1fr)}}
.dcard,.pcard,.spec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.dcard .ic,.spec .ic{color:var(--accent);width:28px;height:28px;margin-bottom:12px}
.dcard p,.pcard p{color:#C9CEE0;margin:0 0 .8em}
.spec b{display:block;font:400 1.3rem var(--fd)}.spec span{color:#C9CEE0;font-size:.95rem}
.pcard ul{list-style:none;padding:0;margin:0}
.pcard li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.pcard li b{color:var(--accent);font-weight:500;white-space:nowrap}

/* faq */
.faq{display:grid;gap:8px;max-width:880px}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;min-height:52px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:14px;height:14px;position:relative;flex:none}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;background:var(--accent);transition:transform .3s}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq-a{padding:0 18px 16px;color:#C9CEE0}

/* menu filter */
.mf-bar{display:grid;gap:12px;margin-bottom:20px;padding:12px 0}
.mf-btns{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.mf-btns button{white-space:nowrap;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:none;cursor:pointer;font-size:.88rem}
.mf-btns button[aria-pressed=true]{background:var(--accent);color:#1A1205;border-color:var(--accent)}
.mf-count{margin:0;font-size:.85rem;color:var(--muted)}
@media(min-width:900px){.mf-bar{grid-template-columns:320px 1fr auto;align-items:end;position:sticky;top:120px;z-index:4;background:rgba(10,17,40,.95);backdrop-filter:blur(8px)}.mf-q{margin:0}}
.dishes{list-style:none;padding:0;margin:0;display:grid;gap:10px}
@media(min-width:800px){.dishes{grid-template-columns:repeat(2,1fr)}}
.dish{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}
.dish-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.dish h3{margin:0;font-size:1.35rem}
.dish-top b{color:var(--accent);font-weight:500;white-space:nowrap}
.dish p{margin:.3em 0;color:#C9CEE0;font-size:.95rem}
.dish-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.8rem!important;color:var(--muted)!important}
.hot{color:#FF8A5B}.v{color:#7FD49A}.n{color:#E5C185}
.sig{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:1px 8px}
.mild{color:var(--muted)}
.empty{color:var(--muted);padding:20px;border:1px dashed var(--line2);border-radius:14px;text-align:center}

/* split + prose */
.split{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:56px}.split.rev>:first-child{order:2}}
.prose p{color:#D3D7E6}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ticks li{padding-left:24px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.6em;width:12px;height:2px;background:var(--accent)}
.pours{list-style:none;padding:0;margin:0;display:grid;gap:2px}
.pours li{display:grid;grid-template-columns:40px 1fr;gap:2px 12px;padding:14px 0;border-bottom:1px solid var(--line)}
.po-n{grid-row:span 3;color:var(--accent);font:400 1.4rem var(--fd)}
.pours b{font-weight:500}.pours span{color:#C9CEE0;font-size:.92rem}.pours em{font-style:normal;color:var(--primary-ink);font-size:.8rem}
.src-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.src-list li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}
.src-list span{color:var(--muted);font-size:.9rem}

/* wizard + calendar */
.wiz{background:var(--surface);border:1px solid var(--line2);border-radius:24px;padding:16px}
@media(min-width:800px){.wiz{padding:32px}}
.wiz-steps{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.wiz-steps li{font-size:.8rem;color:var(--muted);padding-top:10px;border-top:3px solid rgba(143,166,255,.18);display:flex;gap:6px;align-items:center}
.wiz-steps li.on{border-color:var(--accent);color:var(--ink)}
.wiz-steps span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ground);font-size:.72rem}
@media(max-width:480px){.wiz-steps li{font-size:0;gap:0}.wiz-steps span{font-size:.72rem}}
.wiz-row{display:flex;flex-wrap:wrap;gap:16px;align-items:end;justify-content:space-between;margin-bottom:12px}
.wiz-row .field{width:140px;margin:0}
.legend{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.78rem;color:var(--muted);margin:0}
.lg{width:12px;height:12px;border-radius:4px;display:inline-block}
.lg.open,.cal-d.open{background:rgba(91,214,139,.18)}
.lg.few,.cal-d.few{background:rgba(233,162,59,.24)}
.lg.full,.cal-d.full{background:rgba(255,120,120,.12)}
.lg.shut{background:rgba(143,166,255,.08)}
.cal{max-width:560px}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cal-head b{font:400 1.4rem var(--fd)}
.cal-nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:none;cursor:pointer;font-size:1.4rem}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-w{font-size:.7rem;color:var(--muted);text-align:center;padding:4px 0}
.cal-d{aspect-ratio:1;min-height:40px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-size:.92rem}
.cal-d:disabled{cursor:not-allowed;color:rgba(167,176,204,.45);text-decoration:line-through}
.cal-d.past{background:none;text-decoration:none}
.cal-d.shut{background:rgba(143,166,255,.05)}
.cal-d.sel{border-color:var(--accent);background:var(--accent);color:#1A1205}
.cal-d:not(:disabled):hover{border-color:var(--accent)}
.wiz-h{font-size:1.5rem}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.slot{padding:14px;border-radius:14px;border:1px solid var(--line2);background:var(--ground);cursor:pointer;text-align:left}
.slot b{display:block;font:400 1.4rem var(--fd)}.slot span{font-size:.8rem;color:var(--muted)}
.slot[aria-pressed=true]{border-color:var(--accent);background:rgba(233,162,59,.12)}
.slot:disabled{opacity:.4;cursor:not-allowed}
.wiz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.wiz-nav [data-w-next]{margin-left:auto}
.wiz-sum{background:var(--ground);border-radius:14px;padding:16px;margin-bottom:16px}
.wiz-sum dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.wiz-sum dt{color:var(--muted)}.wiz-sum dd{margin:0}

/* forms */
.form{display:grid;gap:14px}
@media(min-width:700px){.form{grid-template-columns:1fr 1fr}.field.full,.form-foot{grid-column:1/-1}}
.field{display:grid;gap:6px;margin-bottom:4px}
.field label{font-size:.9rem;font-weight:500}
.opt{color:var(--muted);font-weight:400}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--ground);color:var(--ink);font:400 16px var(--fb)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.field input[type=range]{padding:0;accent-color:var(--accent);border:0;background:none}
.field.is-bad input,.field.is-bad select,.field.is-bad textarea{border-color:#FF8A8A}
.err{font-size:.82rem;color:#FFB0B0;min-height:0}
.hint{font-size:.8rem;color:var(--muted)}
.form-foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.form-foot .small{margin:0}
.thanks{border:1px solid var(--accent);border-radius:var(--r);padding:24px;background:rgba(233,162,59,.06)}
.thanks-k{color:var(--accent);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.formwrap{max-width:860px}

/* galleries, rooms, posts */
.gal{columns:2;column-gap:10px}
@media(min-width:900px){.gal{columns:3;column-gap:14px}}
.g-it{display:block;margin-bottom:10px;break-inside:avoid;position:relative;border-radius:var(--r);overflow:hidden}
.g-zoom{position:absolute;right:10px;bottom:10px;width:36px;height:36px;border-radius:50%;background:rgba(10,17,40,.8);display:grid;place-items:center;color:var(--accent);font-size:1.3rem}
.rooms,.boxes,.posts,.people{display:grid;gap:12px}
@media(min-width:760px){.rooms,.posts{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.boxes,.people{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.boxes{grid-template-columns:repeat(3,1fr)}.people{grid-template-columns:repeat(4,1fr)}}
.room-c,.post{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.room-c .ph,.post .ph{border-radius:0}
.room-c>div{padding:18px}.room-c p{color:#C9CEE0;margin:0}
.post a{display:block;text-decoration:none;padding-bottom:18px}
.post a>*:not(.ph){margin-left:18px;margin-right:18px}
.post .ph{margin-bottom:14px}
.post-k{font-size:.78rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}
.post p{color:#C9CEE0}
.more{display:inline-flex;gap:6px;align-items:center;color:var(--accent);font-size:.9rem}
.soon{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.soon li{display:grid;gap:4px;padding:16px;border:1px dashed var(--line2);border-radius:14px}
.soon b{font-size:.8rem;color:var(--accent);font-weight:500;text-transform:uppercase;letter-spacing:.08em}
.person{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.avatar{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--primary),#2A1E5E);display:grid;place-items:center;font:400 1.5rem var(--fd);margin-bottom:14px;color:var(--ink)}
.role{color:var(--accent);font-size:.85rem}
.person p:last-child{color:#C9CEE0;margin:0}
.ct-pay{display:grid;gap:20px;align-items:center;background:var(--surface);border:1px solid var(--line2);border-radius:var(--r);padding:20px}
@media(min-width:800px){.ct-pay{grid-template-columns:1.2fr 1fr;padding:32px}}
.ct-sum{background:var(--ground);border-radius:14px;padding:18px;display:grid;gap:10px}
.ct-sum b{font:400 2.2rem var(--fd);color:var(--accent)}
.calc{display:grid;gap:20px}
@media(min-width:900px){.calc{grid-template-columns:1.1fr .9fr;gap:32px}}
.calc-in{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:8px}
.calc-out{background:linear-gradient(160deg,rgba(76,111,255,.18),var(--surface) 60%);border:1px solid var(--line2);border-radius:var(--r);padding:24px;align-self:start;position:sticky;top:140px}
.calc-lines{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}
.calc-lines li{display:flex;justify-content:space-between;gap:10px;font-size:.92rem;border-bottom:1px dashed var(--line);padding-bottom:6px}
[data-pd-warn]{color:#FFC48A}
.mc-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.mc-row{display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:center;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.mc-row b{display:block;font:400 1.25rem var(--fd)}.mc-row span{color:var(--muted);font-size:.9rem}
.mc-row em{font-style:normal;color:var(--accent);font-size:.85rem}
.mc-row .btn{grid-column:1/-1}
.mc-row.full{opacity:.55}
@media(min-width:760px){.mc-row{grid-template-columns:1fr auto auto}.mc-row .btn{grid-column:auto}}
.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:2px 14px}
.steps li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font:400 1.6rem var(--fd);color:var(--accent)}
.steps span{color:#C9CEE0}
.box-c{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.box-c:hover{border-color:var(--line2)}
.box-art{height:110px;border-radius:14px;margin-bottom:14px;display:grid;place-items:center;background:radial-gradient(120px 80px at 30% 30%,rgba(233,162,59,.25),transparent),linear-gradient(135deg,#16244D,#0A1128)}
.box-art .ic{width:54px;height:54px;color:var(--accent)}
.box-c p{color:#C9CEE0;font-size:.95rem}
.box-meta{display:flex;justify-content:space-between;margin-top:auto!important}
.box-meta b{color:var(--accent);font:400 1.3rem var(--fd)}
.bagbar{position:fixed;left:16px;bottom:84px;z-index:60;transform:translateY(160%);transition:transform .4s}
.bagbar.has{transform:translateY(0)}
@media(min-width:900px){.bagbar{bottom:24px;left:24px}}
.drawer{position:fixed;inset:0;z-index:3000;background:rgba(3,6,16,.6);display:flex;justify-content:flex-end}
.drawer-box{width:min(440px,100%);height:100%;overflow:auto;background:var(--surface);padding:72px 20px 24px;border-left:1px solid var(--line2);display:flex;flex-direction:column;gap:10px}
.drawer-top{display:flex;justify-content:space-between;align-items:center}
.drawer-top h2{margin:0;font-size:1.8rem}
.bag-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.bag-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.bag-list small{display:block;color:var(--muted)}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:none;cursor:pointer}
.qty output{min-width:20px;text-align:center}
.bag-sum{display:grid;grid-template-columns:1fr auto;gap:6px;margin:8px 0}
.bag-sum dt{color:var(--muted)}.bag-sum dd{margin:0}
.bag-sum dt:last-of-type,.bag-sum dd:last-of-type{font-weight:600;color:var(--accent)}
.gc{display:grid;gap:24px;align-items:start}
@media(min-width:900px){.gc{grid-template-columns:1fr 1fr;gap:48px}}
.gc-card{position:relative;aspect-ratio:1.6;border-radius:22px;overflow:hidden;padding:22px;transition:background .4s,color .4s;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.gc-card[data-design=cobalt]{background:radial-gradient(400px 200px at 80% 10%,rgba(76,111,255,.6),transparent),linear-gradient(135deg,#16244D,#070C1E);color:var(--ink)}
.gc-card[data-design=saffron]{background:linear-gradient(135deg,#F2B54E,#B86E12);color:#1A1205}
.gc-card[data-design=ivory]{background:linear-gradient(135deg,#FBF7EF,#E9DFCB);color:#14183A}
.gc-card[data-design=saffron] .mono,.gc-card[data-design=ivory] .mono{color:currentColor}
.gc-in{position:relative;z-index:1;height:100%;display:flex;flex-direction:column}
.gc-brand{display:flex;align-items:center;gap:8px;font:400 1.2rem var(--fd)}
.gc-brand .mono{width:30px;height:30px}
.gc-to{margin-top:auto;margin-bottom:0;opacity:.85}
.gc-amt{font:400 clamp(2rem,6vw,3rem)/1.1 var(--fd)}
.gc-msg{margin:0;opacity:.85;font-style:italic}
.gc-art{position:absolute;right:-30px;bottom:-30px;width:220px;height:220px;opacity:.16;color:currentColor}
.gc-form fieldset{border:0;padding:0;margin:0 0 16px}
.gc-form legend{font:400 1.25rem var(--fd);margin-bottom:8px}
.amts{display:flex;flex-wrap:wrap;gap:8px}
.pill{position:relative}
.pill input{position:absolute;opacity:0;inset:0}
.pill span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);cursor:pointer}
.pill input:checked+span{background:var(--accent);color:#1A1205;border-color:var(--accent)}
.pill input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.art{display:grid;gap:32px}
@media(min-width:960px){.art{grid-template-columns:1fr 300px;gap:64px}.art-side{position:sticky;top:140px;align-self:start}}
.art-main>.ph{margin-bottom:32px}
.art-s{max-width:68ch}
.art-s h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:.6em}
.art-s p{color:#D3D7E6;font-size:1.06rem}

/* footer */
.foot{border-top:1px solid var(--line);background:#070C1E;padding:56px 0 110px}
@media(min-width:900px){.foot{padding-bottom:32px}}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:0 16px;display:grid;gap:32px;grid-template-columns:1fr 1fr}
.foot-brand{grid-column:1/-1}
.foot-brand p{color:var(--muted);max-width:44ch}
.foot-name{font:400 1.8rem var(--fd);color:var(--ink)!important;margin:.3em 0}
.foot-h{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.foot-col{display:flex;flex-direction:column;gap:2px}
.foot-col a{text-decoration:none;color:#C9CEE0;padding:6px 0;font-size:.95rem}
.foot-hours p{color:#C9CEE0;font-size:.92rem}.foot-hours .foot-h{color:var(--accent);font-size:.75rem}
.foot-hours{grid-column:1/-1}
@media(min-width:900px){.foot-in{grid-template-columns:1.6fr 1fr 1fr 1fr 1.3fr;padding:0 32px}.foot-brand,.foot-hours{grid-column:auto}}
.foot-base{max-width:var(--wrap);margin:40px auto 0;padding:20px 16px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted)}
.foot-base p{margin:0}
.ld-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:none;cursor:pointer;font-size:.85rem}
.ld-btn i{width:30px;height:18px;border-radius:9px;background:rgba(143,166,255,.2);position:relative;transition:background .2s}
.ld-btn i::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--ink);transition:transform .2s}
.ld-btn[aria-pressed=true] i{background:var(--accent)}
.ld-btn[aria-pressed=true] i::after{transform:translateX(12px)}

/* phone dock */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(7,12,30,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line2);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.dock a,.dock button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.68rem;text-decoration:none;color:#C9CEE0;background:none;border:0;min-height:52px;justify-content:center;cursor:pointer}
.dock .ic{width:22px;height:22px}
.dock-main{color:var(--accent)!important}
.dock-main .ic{width:26px;height:26px}
@media(min-width:900px){.dock{display:none}}

/* Vablus chat */
.vb{position:fixed;right:12px;bottom:80px;z-index:900}
@media(min-width:900px){.vb{right:24px;bottom:24px}}
.vb-launch{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;min-height:56px;padding:8px 18px 8px 14px;border-radius:18px;border:1px solid var(--accent);background:var(--surface);cursor:pointer;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.vb-dot{grid-row:span 2;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(233,162,59,.2)}
.vb-l1{font-weight:500;font-size:.92rem}.vb-l2{font-size:.7rem;color:var(--muted)}
.vb.is-open .vb-launch{display:none}
@media(max-width:899px){.vb-launch{min-height:48px;padding:6px 14px 6px 12px;border-radius:14px}.vb-l1{font-size:.84rem}.vb-l2{font-size:.66rem}}
.vb-panel{width:min(380px,calc(100vw - 24px));height:min(560px,calc(100vh - 170px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line2);border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.vb-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#1B2C66,var(--surface));border-bottom:1px solid var(--line)}
.vb-head strong{display:block;font-weight:500}.vb-head span{font-size:.75rem;color:var(--accent)}
.vb-x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:none;cursor:pointer;font-size:1.3rem}
.vb-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.vb-m{max-width:86%;padding:10px 14px;border-radius:14px;font-size:.93rem;line-height:1.5}
.vb-bot{background:var(--ground);border:1px solid var(--line);border-bottom-left-radius:4px}
.vb-me{align-self:flex-end;background:var(--accent);color:#1A1205;border-bottom-right-radius:4px}
.vb-m a{color:var(--accent)}
.vb-typing{display:flex;gap:4px}.vb-typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:dots 1s infinite}
.vb-typing i:nth-child(2){animation-delay:.15s}.vb-typing i:nth-child(3){animation-delay:.3s}
@keyframes dots{50%{opacity:.3}}
.vb-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;border-top:1px solid var(--line);scrollbar-width:none}
.vb-chips button{white-space:nowrap;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:none;cursor:pointer;font-size:.82rem}
.vb-chips button:hover{border-color:var(--accent)}
.vb-form{display:flex;gap:8px;padding:10px 14px 14px}
.vb-form input{flex:1;min-width:0;min-height:46px;border-radius:12px;border:1px solid var(--line2);background:var(--ground);color:var(--ink);padding:0 12px;font:16px var(--fb)}
.vb-form button{min-height:46px;padding:0 16px;border-radius:12px;border:0;background:var(--accent);color:#1A1205;cursor:pointer;font-weight:500}

/* modals: Receivly + lightbox */
.modal{position:fixed;inset:0;z-index:3000;background:rgba(3,6,16,.72);display:grid;place-items:center;padding:16px;overflow:auto}
.rcv-box{width:min(440px,100%);background:#FBF8F2;color:#14183A;border-radius:22px;padding:22px;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.rcv-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
.rcv-brand{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:#1D3FD6;margin:0 0 6px}
.rcv-brand span{color:#5A6080;font-weight:400}
.rcv-amt{font:600 2rem var(--fb);margin:0;color:#14183A}
.rcv-for{color:#5A6080;font-size:.9rem;margin:0}
.rcv-x{width:44px;height:44px;border-radius:50%;border:1px solid #D8DBE8;background:none;cursor:pointer;font-size:1.3rem;color:#14183A}
.rcv-tabs{display:grid;grid-template-columns:1fr 1fr;background:#ECEEF6;border-radius:12px;padding:4px;margin-bottom:14px}
.rcv-tabs button{min-height:42px;border:0;background:none;border-radius:9px;cursor:pointer;font-weight:500;color:#14183A}
.rcv-tabs [aria-selected=true]{background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.rcv-f{display:grid;gap:4px;font-size:.82rem;color:#5A6080;margin-bottom:10px}
.rcv-f input{width:100%;min-width:0;min-height:46px;border-radius:10px;border:1px solid #D8DBE8;padding:0 12px;font:16px var(--fb);color:#14183A;background:#fff}
.rcv-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rcv-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.92rem}
.rcv-dl dt{color:#5A6080}.rcv-dl dd{margin:0;font-weight:500}
.rcv-note{font-size:.8rem;color:#5A6080}
.rcv-go,.rcv-ok,.rcv-print{min-height:50px;width:100%;border-radius:12px;border:0;background:#1D3FD6;color:#fff;font-weight:600;cursor:pointer}
.rcv-step[data-s=wait]{text-align:center;padding:30px 0}
.rcv-spin{width:44px;height:44px;margin:0 auto 14px;border-radius:50%;border:4px solid #D8DBE8;border-top-color:#1D3FD6;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.rcv-tick{width:56px;color:#1E9E5A;margin-bottom:8px}
.rcv-step[data-s=done] h3{font-family:var(--fb);font-weight:600;color:#14183A}
.rcv-receipt dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;background:#fff;border:1px dashed #C6CADB;border-radius:12px;padding:14px;font-size:.9rem;margin:0 0 10px}
.rcv-receipt dt{color:#5A6080}.rcv-receipt dd{margin:0}
.rcv-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rcv-print{background:#ECEEF6;color:#14183A}
.lb-fig{margin:0;max-width:min(1100px,100%);text-align:center}
.lb-img{background:var(--surface);border-radius:14px;overflow:hidden;min-height:200px}
.lb-img img{max-height:78vh;width:auto;margin:0 auto}
.lb-fig figcaption{color:var(--muted);margin-top:10px;font-size:.9rem}
.lb-b{position:fixed;width:48px;height:48px;border-radius:50%;border:1px solid var(--line2);background:rgba(10,17,40,.85);cursor:pointer;font-size:1.6rem;color:var(--ink)}
.lb-prev{left:12px;top:50%}.lb-next{right:12px;top:50%}.lb-x{right:12px;top:60px}
html.modal-open,html.menu-open{overflow:hidden}

/* motion + low-data */
.rel-c,.box-c,.post{transform:perspective(900px) rotateX(0deg) rotateY(0deg) translateY(0px)}
html.lowdata .hero-bg,html.lowdata .ticker-in{animation:none}
html.lowdata .hero-bg{opacity:.12}
html.lowdata *,html.no-motion .ticker-in{animation-duration:0s!important;animation-iteration-count:1!important}
html.lowdata .ticker-in{transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}@view-transition{navigation:none}}
@media print{body *{visibility:hidden}html.print-receipt .rcv-box,html.print-receipt .rcv-box *{visibility:visible}html.print-receipt .rcv-box{position:absolute;left:0;top:0}.rcv-acts,.rcv-x{display:none}}
