/* =====================================================================
   RAYA · web-b — page patterns for batch B (light-lab, process, brief, portal, passport,
   journal, article, about, contact, visit, faq, legal, 404).  Loaded after web.css.
   ===================================================================== */

/* ── light lab ────────────────────────────────────────────────────── */
.lab-top{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-block-end:2rem}
.scene-chips .chip{--surface:var(--ink-2);color:#F5EEE2;border-color:rgba(245,238,226,.25)}
.scene-chips .chip.on{background:var(--amber);color:var(--ink);border-color:var(--amber)}
.lab2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}
.lab-stage{aspect-ratio:4/3.2;position:sticky;inset-block-start:calc(var(--nav-h) + 20px)}
.lab-stage img{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease),filter .6s var(--ease)}
.lab-stage img.on{opacity:1}
.lab-stage .k-dim{position:absolute;inset:0;background:#000;opacity:calc(1 - var(--dim,1));pointer-events:none;z-index:2;transition:opacity .3s}
.lab-stage .k-badge{z-index:4}.lab-stage .k-badge .sep{opacity:.5}
.lab-stage .ph-flag{z-index:4}
.lab-stage .stage-name{position:absolute;inset-block-end:16px;inset-inline-start:16px;z-index:4;font-family:var(--f-display);font-weight:700;font-size:var(--fs-14);background:rgba(14,10,7,.78);color:#fff;padding:.3rem .9rem;border-radius:var(--r-pill);backdrop-filter:blur(8px)}
.k-ticks{display:flex;justify-content:space-between;margin-block-start:6px;font:700 11px var(--f-num);color:var(--text-3)}
.lab-ctrl .chip{--surface:var(--ink-2);color:#F5EEE2;border-color:rgba(245,238,226,.25)}
.lab-ctrl .chip.on{background:var(--amber);color:var(--ink);border-color:var(--amber);box-shadow:none}
#roomTbl .btn.on{outline:3px solid var(--amber);outline-offset:2px}
@media (max-width:900px){.lab2{grid-template-columns:1fr}.lab-stage{position:relative;inset-block-start:0}}

.cri-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cri-row figure{margin:0;display:grid;gap:8px;text-align:center;font-size:var(--fs-13);font-weight:600}
.cri-row img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:var(--r-md);border:var(--bw) solid var(--ink);box-shadow:var(--sh-1);transition:filter .6s var(--ease)}
.cri-row[data-cri-mode="70"] img{filter:saturate(.45) contrast(.88) brightness(1.07) sepia(.22) hue-rotate(-10deg)}
.cri-note{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-block-start:1rem;flex-wrap:wrap}
@media (max-width:520px){.cri-row{grid-template-columns:repeat(2,1fr)}}

.flick-c{border:var(--bw) solid rgba(245,238,226,.25);border-radius:var(--r-lg);padding:1.4rem;background:var(--ink-2);display:grid;gap:1rem}
.flick-c .bulb{display:grid;place-items:center;height:130px;border-radius:var(--r-md);background:rgba(245,238,226,.05);color:var(--amber)}
.flick-c.good .bulb{filter:drop-shadow(0 0 18px rgba(242,163,58,.7))}
.flick-c.bad .bulb{animation:slow-flick 1.8s ease-in-out infinite;color:var(--rust)}
.flick-c .wave{width:100%;height:60px;overflow:visible}
.flick-c .wave path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.flick-c.good .wave path{stroke:var(--sage-lt,#A9CC9C)}
.flick-c.bad .wave path{stroke:var(--rust-lt,#F0A08F);stroke-dasharray:6 6;animation:wave-run 3s linear infinite}
@keyframes slow-flick{0%,100%{opacity:1}45%{opacity:.35}55%{opacity:.9}}
@keyframes wave-run{to{stroke-dashoffset:-48}}
@media (prefers-reduced-motion:reduce){.flick-c.bad .bulb{animation:none;opacity:.6}.flick-c.bad .wave path{animation:none}}

.mist{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.mist>*{grid-column:span 2}.mist>:nth-child(-n+2){grid-column:span 3}
.mist .box .big-n{font-family:var(--f-num);font-weight:900;font-size:clamp(3rem,2rem + 3vw,5rem);line-height:.9;direction:ltr;opacity:.95}
.mist .fix{margin-block-start:auto;padding:.7rem .9rem;border-radius:var(--r-sm);background:rgba(255,255,255,.18);font-size:var(--fs-14);display:flex;gap:8px;align-items:flex-start}
.mist .box.amber .fix{background:rgba(23,17,12,.1)}
@media (max-width:900px){.mist{grid-template-columns:1fr}.mist>*,.mist>:nth-child(-n+2){grid-column:auto}}
.cta-split{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}

/* ── process ──────────────────────────────────────────────────────── */
.ov{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.ov-wall{padding:clamp(1rem,2vw,1.8rem);background:var(--card);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);box-shadow:var(--sh-3)}
.ov-wall .wall .slat{--sh:clamp(80px,9vw,130px)}
@media (max-width:900px){.ov{grid-template-columns:1fr}}
.proc-nav a{border:var(--bw-h) solid transparent}
.proc-nav a:hover{background:var(--surface-2);color:var(--text)}
.pstep .big-n{align-self:start}
.pinfo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block-start:1.4rem}
.pinfo>div{padding:.9rem 1.1rem;border-radius:var(--r-md);background:var(--card);border:var(--bw-h) solid var(--hair);display:grid;gap:4px}
.pinfo .xs{color:var(--text-2);font-weight:600}
.pinfo b{font-family:var(--f-display);font-weight:600;font-size:var(--fs-15);line-height:1.6;display:flex;gap:8px;align-items:flex-start}
.pinfo .you{background:var(--dusk-bg);border-color:var(--dusk)}
.pinfo .no{background:var(--rust-bg);border-color:var(--rust)}
.pinfo .no b{color:var(--rust-dp)}
@media (max-width:640px){.pinfo{grid-template-columns:1fr}.pinfo .span-2{grid-column:auto}}
.docm{background:#FFFCF6;color:var(--ink);border:var(--bw) solid var(--ink);border-radius:var(--r-md);box-shadow:var(--sh-2);overflow:hidden;--text-2:#6F5F49;--hair-c:#DFD2BA;--hair:#DFD2BA}
.docm-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:.7rem 1rem;background:var(--ink);color:#F5EEE2;font-family:var(--f-display);font-size:var(--fs-14)}
.docm .tbl{min-width:0;font-size:var(--fs-13)}.docm .tbl-wrap{border:0}
.docm .tbl th{background:var(--tint)}
.rep-b{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:1rem;align-items:center}
.rep-b img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);border:var(--bw-h) solid var(--ink)}
@media (max-width:520px){.rep-b{grid-template-columns:1fr}}
.dur{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.dur-l{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.dur-l li{display:flex;gap:14px;align-items:center;padding:1rem 1.2rem;border-radius:var(--r-md);background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2)}
.dur-l b{display:block;font-family:var(--f-display)}.dur-l .sm{color:#C3D4E6}
@media (max-width:900px){.dur{grid-template-columns:1fr}}

/* ── brief builder ────────────────────────────────────────────────── */
.fs{border:0;margin:0;padding:0;min-width:0}
.fs legend{padding:0;font-family:var(--f-display);font-weight:800}
.brief{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:start}
.brief-sum{position:sticky;inset-block-start:calc(var(--nav-h) + 20px)}
.brief .stepper .s{font-size:12px}
.sum-sw{display:flex;gap:8px;margin-block-start:1rem;min-height:30px}
.sum-price{display:flex;gap:10px;align-items:center;margin-block-start:1.2rem;padding:.7rem .9rem;border-radius:var(--r-sm);background:rgba(242,163,58,.16);color:var(--amber-lt);font-size:var(--fs-13);font-weight:600}
@media (max-width:980px){.brief{grid-template-columns:1fr}.brief-sum{position:relative;inset-block-start:0}}
@media (max-width:560px){.brief .stepper .s{font-size:10px}}
.done-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.brief-doc{max-width:520px;justify-self:center;width:100%}
.brief-doc .row-k{align-items:start}
@media (max-width:900px){.done-grid{grid-template-columns:1fr}}
@media print{
  body[data-page="brief"] .nav,body[data-page="brief"] .proto-bar,body[data-page="brief"] .foot,body[data-page="brief"] .phero,body[data-page="brief"] .fab-wa,body[data-page="brief"] .to-top,body[data-page="brief"] .led-progress,body[data-page="brief"] .done-grid>div:first-child{display:none!important}
  body[data-page="brief"] .sec{padding:0}
  body[data-page="brief"] .brief-doc{transform:none;box-shadow:none;max-width:none}
}

/* ── portal ───────────────────────────────────────────────────────── */
.portal{background:var(--card);border:var(--bw) solid var(--ink);border-radius:var(--r-xl);box-shadow:var(--sh-3);padding:clamp(1rem,2.4vw,2rem);position:relative}
.portal-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-block-end:1.2rem;margin-block-end:.4rem}
.portal .tabs{margin-block-end:1.6rem}
.portal .tab{gap:8px;padding-inline:1rem}
.portal .tab .badge-n{margin-inline-start:2px}
.pw{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:1.2rem}
.pw-big{grid-row:span 2}
.pw-k{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-block-start:1.4rem}
.pw-k div{padding:.7rem;border-radius:var(--r-sm);background:rgba(245,238,226,.08);text-align:center;font-size:12px;color:#BBAA8F;display:grid;gap:2px}
.pw-k b{font-size:1.5rem;color:#F5EEE2}
.pw-wall .wall .slat{--sh:clamp(90px,10vw,150px)}
.pw-det{min-height:200px}
.pw-next{grid-column:1/-1}
@media (max-width:900px){.pw{grid-template-columns:1fr}.pw-big{grid-row:auto}}
.ps{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:1.6rem;align-items:start}
@media (max-width:900px){.ps{grid-template-columns:1fr}}
.weeks{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;direction:rtl}
.weeks i{aspect-ratio:1;border-radius:7px;background:var(--surface-2);border:var(--bw-h) solid var(--hair);display:grid;place-items:center;font-style:normal;font-size:10px}
.weeks i.d{background:var(--sage);color:#fff;border-color:var(--ink)}
.weeks i.now{background:var(--amber);border:var(--bw) solid var(--ink);box-shadow:var(--glow);font-weight:800}
.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.2rem}
.ap{padding:1.3rem;border:var(--bw) solid var(--ol);border-radius:var(--r-lg);background:var(--card);display:grid;gap:.8rem;align-content:start;box-shadow:var(--sh-1);transition:all var(--t-base)}
.ap.ok{border-color:var(--sage);background:var(--sage-bg);box-shadow:none}
.ap.chg{border-color:var(--dusk);background:var(--dusk-bg);box-shadow:none}
.ap-sw{margin-block:.2rem}
.docs{display:grid;gap:10px}
.doc{display:flex;align-items:center;gap:14px;padding:.9rem 1.1rem;border:var(--bw-h) solid var(--hair);border-radius:var(--r-md);background:var(--card);transition:border-color var(--t-fast),box-shadow var(--t-fast);flex-wrap:wrap}
.doc:hover{border-color:var(--ol);box-shadow:var(--sh-1)}
.chat{display:grid;grid-template-rows:auto 1fr auto auto;border:var(--bw) solid var(--ol);border-radius:var(--r-lg);overflow:hidden;max-width:820px;margin-inline:auto;background:var(--surface)}
.chat-h{display:flex;align-items:center;gap:12px;padding:.9rem 1.1rem;background:var(--surface-2);border-block-end:var(--bw-h) solid var(--hair)}
.chat-b{height:340px;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:10px;background:var(--bg);scroll-behavior:smooth}
.bub{max-width:78%;padding:.6rem .9rem;border-radius:16px;font-size:var(--fs-14);line-height:1.7;display:grid;gap:2px;animation:fade-up .35s var(--ease)}
.bub small{font-size:10px;opacity:.6}
.bub.them{align-self:flex-start;background:var(--card);border:var(--bw-h) solid var(--hair);border-end-start-radius:4px}
.bub.me{align-self:flex-end;background:var(--amber);color:var(--ink);border:var(--bw-h) solid var(--ink);border-end-end-radius:4px}
.typing span{display:flex;gap:4px;padding-block:6px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--soft);animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
.chat-q{display:flex;gap:8px;flex-wrap:wrap;padding:.7rem 1rem 0}
.chat-f{display:flex;gap:10px;padding:.8rem 1rem 1rem}
.chat-f .inp{border-radius:var(--r-pill)}

/* ── passport ─────────────────────────────────────────────────────── */
.pp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block-end:1.2rem}
.pdoc{max-width:1040px;margin-inline:auto;background:#FFFCF6;color:var(--ink);border:var(--bw) solid var(--ink);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:clamp(1.2rem,3vw,3rem);position:relative;overflow:hidden;--text-2:#6F5F49;--hair-c:#DFD2BA;--hair:#DFD2BA;--surface:#FFFCF6;--surface-2:#F3EBDC}
.pdoc::before{content:"";position:absolute;inset-inline:0;inset-block-start:0;height:12px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,var(--amber) 10px 20px)}
.pdoc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap;padding-block-start:1rem}
.pdoc-id{display:grid;gap:6px;justify-items:center;text-align:center}
.qr{display:grid;grid-template-columns:repeat(21,1fr);width:128px;height:128px;padding:8px;background:#fff;border:var(--bw) solid var(--ink);border-radius:10px}
.qr i{background:transparent}.qr i.on{background:var(--ink)}
.pdoc-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:1.6rem 0 0;padding:1rem;background:var(--surface-2);border-radius:var(--r-md)}
.pdoc-meta dt{font-size:12px;color:var(--text-2);font-weight:600}.pdoc-meta dd{margin:2px 0 0;font-weight:700;font-size:var(--fs-14)}
@media (max-width:760px){.pdoc-meta{grid-template-columns:repeat(2,1fr)}}
.pdoc-s{margin-block-start:2.6rem}
.pdoc-sh{display:flex;align-items:center;gap:14px;margin-block-end:1rem}
.pdoc .tbl-wrap{border-color:var(--ink)}
.paints{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.paint{display:flex;gap:12px;align-items:center;padding:.8rem;border:var(--bw-h) solid var(--hair);border-radius:var(--r-md);background:#fff}
.care{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.care-i{display:flex;gap:12px;align-items:flex-start;padding:1rem;border:var(--bw-h) solid var(--hair);border-radius:var(--r-md);background:#fff}
.warranty{padding:1.2rem;border:2px dashed var(--amber-dp);border-radius:var(--r-md);background:var(--amber-bg);display:grid;gap:8px;justify-items:start}
.pdoc-f{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-block-start:3rem;padding-block-start:1.4rem;border-block-start:var(--bw) solid var(--ink)}
.sig{display:grid;gap:4px;min-width:150px}.sig span{display:block;height:34px;border-block-end:1.5px solid var(--ink)}.sig small{color:var(--text-2)}
@media print{
  @page{size:A4;margin:12mm}
  body[data-page="passport"] .nav,body[data-page="passport"] .proto-bar,body[data-page="passport"] .foot,body[data-page="passport"] .phero,body[data-page="passport"] .fab-wa,body[data-page="passport"] .to-top,body[data-page="passport"] .led-progress,body[data-page="passport"] .pp-actions,body[data-page="passport"] .demo-note,body[data-page="passport"] .no-print,body[data-page="passport"] .mnav,body[data-page="passport"] [data-theme="amber"],body[data-page="passport"] .cursor-light,body[data-page="passport"] .cursor-ring,body[data-page="passport"] .scrim{display:none!important}
  body[data-page="passport"]{background:#fff;font-size:11px}
  body[data-page="passport"] .sec,body[data-page="passport"] [data-theme="tint"]{padding:0;background:#fff}
  body[data-page="passport"] .wrap{padding:0;max-width:none}
  body[data-page="passport"] .pdoc{box-shadow:none;border:0;padding:0;border-radius:0}
  body[data-page="passport"] .tbl tr,body[data-page="passport"] .pdoc-s,body[data-page="passport"] .care-i,body[data-page="passport"] .paint{break-inside:avoid}
  body[data-page="passport"] .tbl-wrap{overflow:visible}
  body[data-page="passport"] *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ── journal / article ────────────────────────────────────────────── */
.feat{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0;border:var(--bw) solid var(--ink);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-3);background:var(--card);transition:transform var(--t-base) var(--ease),box-shadow var(--t-base)}
.feat:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}
.feat-img{position:relative;min-height:340px;overflow:hidden;background:var(--ink)}
.feat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.feat:hover .feat-img img{transform:scale(1.05)}
.feat-b{padding:clamp(1.4rem,3vw,3rem);display:flex;flex-direction:column;gap:1rem;justify-content:center}
@media (max-width:860px){.feat{grid-template-columns:1fr}.feat-img{min-height:240px}}
.jwrap .pgrid .acard{margin-block-start:0!important}
.nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.nl-f{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.nl-f .field{flex:1 1 220px}
.nl .inp{--surface:#FFE1A8}
@media (max-width:860px){.nl{grid-template-columns:1fr}}
.art{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;max-width:1000px;margin-inline:auto}
.art.no-toc{grid-template-columns:minmax(0,1fr);max-width:760px}
.art-toc{position:sticky;inset-block-start:calc(var(--nav-h) + 24px);display:grid;gap:.8rem}
.art-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-inline-start:3px solid var(--hair)}
.art-toc a{display:block;padding:.4rem .9rem;margin-inline-start:-3px;border-inline-start:3px solid transparent;font-size:var(--fs-14);color:var(--text-2);transition:all var(--t-fast)}
.art-toc a:hover{color:var(--text)}
.art-toc a.on{color:var(--text);font-weight:700;border-color:var(--amber)}
@media (max-width:900px){.art{grid-template-columns:1fr}.art-toc{position:static}}
.art .prose{max-width:none}
.art .prose p{font-size:var(--fs-18)}
.art-by{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-block-start:3rem;padding:1.2rem;border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:var(--card)}
.art-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-block-start:1.6rem}
.art-nav a{padding:1rem 1.2rem;border:var(--bw-h) solid var(--hair);border-radius:var(--r-md);display:grid;gap:4px;transition:all var(--t-base)}
.art-nav a:hover{border-color:var(--ol);box-shadow:var(--sh-1);transform:translate(-2px,-2px)}
.art-nav a.n{text-align:end}
.art-nav b{font-family:var(--f-display);font-size:var(--fs-15);line-height:1.5}
@media (max-width:560px){.art-nav{grid-template-columns:1fr}}

/* ── about ────────────────────────────────────────────────────────── */
.ab-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.ab-founder{display:grid;grid-template-columns:auto 1fr;gap:1rem 1.2rem;align-items:center;--pad:1.6rem}
@media (max-width:900px){.ab-intro{grid-template-columns:1fr}}
.princ{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.princ .box{min-height:250px}.princ .slats{margin-block-end:auto}
@media (max-width:1000px){.princ{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.princ{grid-template-columns:1fr}}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,2.4vw,2.4rem)}
.trio-v{aspect-ratio:4/3;display:grid;place-items:center;border:var(--bw) solid var(--ink);border-radius:var(--r-lg);background:var(--ink);color:var(--amber);box-shadow:var(--sh-2);margin-block-end:1.2rem;position:relative;overflow:hidden}
.trio-v.glow{background:radial-gradient(60% 70% at 50% 40%,rgba(242,163,58,.55),var(--ink) 70%);color:var(--amber-lt)}
.trio-v.paper{background:#FFFCF6;color:var(--ink)}
.trio-i h3{font-size:var(--fs-h3);margin-block-end:.4rem}.trio-i p{color:var(--text-2)}
@media (max-width:800px){.trio{grid-template-columns:1fr}}
.nots{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.nots li{display:flex;gap:14px;align-items:flex-start;padding:1rem 1.2rem;border:var(--bw) solid var(--ink);border-radius:var(--r-md);background:rgba(23,17,12,.18);font-family:var(--f-display);font-weight:600;font-size:var(--fs-16);line-height:1.7}
.nots .ic{flex:none;width:28px;height:28px;padding:5px;border-radius:50%;background:var(--ink);color:var(--amber);margin-block-start:2px}
.team{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}
@media (max-width:800px){.team{grid-template-columns:1fr}}

/* ── contact / visit ──────────────────────────────────────────────── */
.ct-row{display:flex;gap:14px;align-items:center;padding:.8rem;border-radius:var(--r-md);background:rgba(245,238,226,.07);transition:background var(--t-fast)}
a.ct-row:hover{background:rgba(242,163,58,.2)}
.ct-row small{display:block;color:#BBAA8F;font-size:12px}.ct-row b{display:block;font-family:var(--f-display);font-size:var(--fs-15);line-height:1.5}
.done-box{display:grid;gap:1rem;justify-items:start}
.visit{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:start}
@media (max-width:980px){.visit{grid-template-columns:1fr}}
.vcal{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:1.6rem;align-items:start}
@media (max-width:720px){.vcal{grid-template-columns:1fr}.vcal .cal{max-width:none}}
.visit .brief-sum{position:sticky;inset-block-start:calc(var(--nav-h) + 20px)}
@media (max-width:980px){.visit .brief-sum{position:relative;inset-block-start:0}}

/* ── legal ────────────────────────────────────────────────────────── */
.legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.legal .prose{max-width:none}.legal .prose h2{margin-block:2.4rem .8rem;display:flex;gap:10px;align-items:baseline}.legal .prose section:first-child h2{margin-block-start:0}
@media (max-width:900px){.legal{grid-template-columns:1fr}.legal .art-toc{position:static}}

/* ── 404 ──────────────────────────────────────────────────────────── */
.nf{position:relative;min-height:calc(100svh - var(--proto-h));margin-block-start:calc(var(--nav-h)*-1);padding-block:calc(var(--nav-h) + 3rem) 4rem;display:grid;place-items:center;text-align:center;overflow:hidden;isolation:isolate}
.nf-bg{position:absolute;inset:0;z-index:-2}.nf-bg img{width:100%;height:100%;object-fit:cover;opacity:.32}
.nf::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 60% at 50% 40%,rgba(242,163,58,.22),transparent 70%),linear-gradient(0deg,var(--night),transparent 50%,var(--night))}
.nf-in{display:grid;justify-items:center}
.nf-wall{display:flex;gap:clamp(6px,1.4vw,14px);justify-content:center;direction:ltr;margin-block-start:1.5rem}
.nf-s{--sw:clamp(22px,4vw,48px)!important;--sh:clamp(120px,20vw,220px)!important;border-width:var(--bw)!important}
.nf-s.miss{border-style:dashed;background:transparent}
.nf-s.miss::after{opacity:.9}
.nf-act{margin-block-start:2rem;justify-content:center}
.nf-search{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:0 1.2rem;border:var(--bw) solid rgba(245,238,226,.4);border-radius:var(--r-pill);color:#F5EEE2;background:rgba(14,10,7,.5);backdrop-filter:blur(8px);min-width:min(100%,340px);transition:all var(--t-base)}
.nf-search:hover{border-color:var(--amber);box-shadow:0 0 0 4px rgba(242,163,58,.2)}
.nf-search span:nth-child(2){flex:1;text-align:start;color:#BBAA8F}
.nf-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-block-start:2.5rem;width:min(100%,820px)}
.nf-l{display:flex;gap:10px;align-items:center;justify-content:center;padding:.9rem 1rem;border:1.5px solid rgba(245,238,226,.2);border-radius:var(--r-md);font-family:var(--f-display);font-weight:600;font-size:var(--fs-14);color:#F5EEE2;transition:all var(--t-base)}
.nf-l:hover{background:var(--amber);color:var(--ink);border-color:var(--amber);transform:translateY(-3px)}
.nf h1.display{font-size:clamp(2.2rem,1rem + 4vw,4.4rem)}
.nf-s{--sh:clamp(90px,14vw,160px)!important}

@media (max-width:640px){
  .portal-top{align-items:flex-start}
  .portal-top .grow{flex:1 1 calc(100% - 100px)}
  .portal-top .flag{order:5}
  .pw-wall .wall .w .ic{display:none}
  .pw-wall .wall .w span{font-size:9px}.pw-wall .wall .w b{font-size:9px}
  .pw-wall .wall{gap:4px}
  .portal{padding:1rem}
  .portal .tab{padding-inline:.8rem;font-size:var(--fs-14)}
}
