/* ============================================================
   HYZ — Iridescent Editorial Theme
   Mood: low-key, individualistic, G-Dragon / MJ editorial.
   Dark base + restrained holographic sheen + accent pops.
   ============================================================ */
:root{
  --bg:#0a0910; --bg2:#0c0a14;
  --ink:#ECE9F2; --ink2:#A9A4BC; --char:#0c0a14;
  --line:rgba(255,255,255,.10);
  --glass:rgba(255,255,255,.045);
  --glass2:rgba(255,255,255,.08);
  --iri1:#7b5cff; --iri2:#ff5ca8; --iri3:#36e0c8; --iri4:#ffd23f;
  --accent:#ff2fa0; --cobalt:#5b73ff; --pink:#ff7ac4;
}
/* fixed iridescent backdrop ----------------------------------- */
body{background:var(--bg);color:var(--ink);}
body::before{content:"";position:fixed;inset:0;z-index:-3;background:
  radial-gradient(50% 42% at 10% 6%, rgba(123,92,255,.32), transparent 60%),
  radial-gradient(48% 48% at 90% 14%, rgba(255,92,168,.24), transparent 60%),
  radial-gradient(60% 60% at 50% 108%, rgba(54,224,200,.20), transparent 60%),
  radial-gradient(42% 42% at 78% 82%, rgba(255,210,63,.12), transparent 60%),
  linear-gradient(180deg,#0a0910,#0c0a14);}
body::after{content:"";position:fixed;inset:-32%;z-index:-2;pointer-events:none;
  background:conic-gradient(from 0deg at 50% 50%,
    rgba(123,92,255,.14) 0deg, transparent 60deg,
    rgba(255,92,168,.14) 200deg, transparent 270deg,
    rgba(54,224,200,.12) 320deg, transparent 360deg);
  filter:blur(60px);opacity:1;animation:holospin 54s linear infinite;mix-blend-mode:screen}
@keyframes holospin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body::after{animation:none}}

/* header / footer --------------------------------------------- */
.top{background:rgba(10,9,16,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top nav a{color:var(--ink)}
.top nav a:hover,.top nav a[aria-current]{background:var(--glass2);color:#fff}
.logo span{color:var(--accent)}
.langsel summary,.top-wa{border-color:var(--line);color:var(--ink)}
.footer,footer{background:linear-gradient(180deg,#0b0a12,#08070e);color:var(--ink2);border-top:1px solid var(--line)}

/* sections ---------------------------------------------------- */
.sec{background:transparent}
.sec.alt{background:var(--glass)}
.sec.dark{background:var(--char);color:#f4efe6}
.eyebrow{color:var(--accent)}
.lede{color:var(--ink2)}
.kicker,.eyebrow,.ch-n b{background:linear-gradient(90deg,var(--iri1),var(--iri2),var(--iri3));
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* buttons ----------------------------------------------------- */
.btn{border:1px solid var(--line);color:var(--ink);background:var(--glass)}
.btn:hover{border-color:var(--accent);color:#fff}
.btn.solid{background:linear-gradient(120deg,var(--accent),var(--iri1));color:#fff;border:none}
.btn.solid:hover{filter:brightness(1.12)}

/* cards / panels --------------------------------------------- */
.card,.blk,.panel,.box{background:var(--glass);border:1px solid var(--line);color:var(--ink)}
.ch-in,.hero-fig{color:var(--ink)}

/* keep 3D stages on a dark editorial ground (garment pops) ---- */
.stage{background:radial-gradient(120% 90% at 50% 20%,#1a1822 0%,#121019 70%,#0d0a14 100%)!important;border-color:var(--line)}
#heroStage{background:radial-gradient(120% 90% at 50% 20%,#1a1822,#0d0a14)!important}
#heroStage .stat{background:rgba(12,10,20,.85)}

/* editorial image treatment ---------------------------------- */
img{transition:filter .5s ease, transform .6s cubic-bezier(.2,.7,.2,1)}
.look img,.lk-fig img,.grid img,figure img:not(.stat){
  filter:saturate(.88) contrast(1.05) brightness(.98);border-radius:14px}
a:hover .look img,a:hover .lk-fig img,a:hover .grid img,
figure:hover img{filter:saturate(1.18) contrast(1.07) brightness(1.03)}
.lk-fig,.look figure,.grid figure{overflow:hidden;border-radius:14px}
a:hover img,figure:hover img,.lk-fig:hover img,.look:hover img,.grid a:hover img{transform:scale(1.04)}
@media(hover:hover){
  .lk-fig:hover img,.look figure:hover img{
    transform:scale(1.05) perspective(900px) rotateX(2.2deg) rotateY(-3deg);
    box-shadow:0 24px 60px rgba(0,0,0,.5)}
}

/* iridescent text accents ------------------------------------ */
h1 em,h2 em,.pink{color:var(--accent)!important}
.ch-in h1 em{background:linear-gradient(92deg,var(--iri2),var(--iri3) 55%,var(--iri1));
  -webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.iri{background:linear-gradient(90deg,var(--iri1),var(--iri2),var(--iri3),var(--iri4));
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- site-wide cohesion: iridescent rule under every title ---- */
.sh h2,.blk h2,.pg h2,.psec h2{position:relative}
.sh h2::after,.blk h2::after{content:"";display:block;width:70px;height:3px;margin-top:14px;
  background:linear-gradient(90deg,var(--iri1),var(--iri2),var(--iri3));border-radius:3px;
  box-shadow:0 0 14px rgba(123,92,255,.5)}
.pg h2::after,.psec h2::after{content:"";display:block;width:56px;height:3px;margin-top:12px;
  background:linear-gradient(90deg,var(--iri1),var(--iri2),var(--iri3));border-radius:3px;
  box-shadow:0 0 12px rgba(123,92,255,.4)}

/* ---- 3D stage iridescent glow (homepage + inner heroes) ---- */
#heroStage{background:radial-gradient(120% 90% at 50% 20%,#1a1822,#0d0a14)!important;
  border-color:rgba(123,92,255,.28)!important;
  box-shadow:0 0 70px rgba(123,92,255,.22),0 0 120px rgba(255,92,168,.12);
  animation:stageglow 9s ease-in-out infinite alternate}
.pg-fig{box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 60px rgba(123,92,255,.14)}
@keyframes stageglow{from{box-shadow:0 0 55px rgba(123,92,255,.18),0 0 90px rgba(54,224,200,.10)}
  to{box-shadow:0 0 95px rgba(255,92,168,.24),0 0 130px rgba(123,92,255,.16)}}
@media(prefers-reduced-motion:reduce){#heroStage{animation:none}}

/* ---- hubs / category / service cards share the same glow ---- */
.hub,.cat,.svc article,.why article{transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .45s}
.hub:hover,.cat:hover,.svc article:hover,.why article:hover{transform:translateY(-4px);
  border-color:rgba(255,92,168,.5);
  box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 0 1px rgba(123,92,255,.25),0 0 40px rgba(123,92,255,.18)}

/* forms ------------------------------------------------------- */
input,select,textarea{background:var(--glass);border:1px solid var(--line);color:var(--ink)}
::placeholder{color:var(--ink2)}

/* contact / WhatsApp form: was white card + light text (unreadable).
   Force it onto the dark iridescent theme so it stays readable everywhere. */
.form{background:var(--glass)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.form label{color:var(--ink)!important;font-weight:600}
.form input,.form select,.form textarea{background:rgba(255,255,255,.06)!important;color:var(--ink)!important;
  border:1px solid var(--line)!important}
.form input::placeholder,.form textarea::placeholder{color:var(--ink2)!important}
.form small{color:var(--ink2)!important;display:block;margin-top:10px;line-height:1.6}
.form .btn.pink{color:#fff!important}

/* fabric-advisor option pills ---------------------------------
   site.css paints .opts labels white with dark ink; under the dark
   theme that flips to invisible (light text on white). Re-skin as
   iridescent dark-glass chips with high-contrast text. */
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{margin:0;display:inline-flex;gap:6px;align-items:center;
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;
  background:var(--glass);color:var(--ink);font-weight:500;cursor:pointer;
  transition:border-color .15s,background .15s,box-shadow .15s}
.opts label:hover{border-color:var(--accent)}
.opts input{width:auto;accent-color:var(--accent)}
.opts label:has(input:checked){
  background:linear-gradient(120deg,var(--iri1),var(--iri2));
  color:#0c0a14;border-color:transparent;
  box-shadow:0 0 22px rgba(255,92,168,.35)}

/* action buttons: bright iridescent fill + dark text for contrast */
.btn{background:linear-gradient(120deg,var(--iri1),var(--iri3));color:#0c0a14;
  border-color:transparent;font-weight:800}
.btn:hover{filter:brightness(1.08);transform:translateY(-2px)}
.btn.pink,.form .btn.pink{background:linear-gradient(120deg,var(--iri2),var(--iri4));
  color:#0c0a14!important;border-color:transparent}
.btn.cobalt{background:linear-gradient(120deg,var(--iri1),var(--cobalt));
  color:#0c0a14;border-color:transparent}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}

/* ---- lightbox: image opens into "another world" ----------- */
#lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;
  background:
    radial-gradient(60% 60% at 30% 20%, rgba(123,92,255,.30), transparent 60%),
    radial-gradient(60% 60% at 80% 80%, rgba(255,92,168,.26), transparent 60%),
    rgba(6,5,12,.92);
  backdrop-filter:blur(8px);cursor:zoom-out;padding:5vh 5vw}
#lb.open{display:flex;animation:lbin .4s ease}
@keyframes lbin{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
#lb img{max-width:90vw;max-height:84vh;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.6);
  border:1px solid var(--line)}
#lb figcaption{position:absolute;bottom:4vh;left:0;right:0;text-align:center;color:#fff;
  font:600 .82rem/1.4 var(--body,system-ui);letter-spacing:.04em;text-shadow:0 2px 12px rgba(0,0,0,.6)}
#lb .lb-x{position:absolute;top:18px;right:22px;width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line);background:var(--glass);color:#fff;font-size:1.3rem;cursor:pointer;display:grid;place-items:center}

/* ---- Intimates / editorial collection grid ---- */
.coll-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:1100px;margin:8px auto 40px;padding:0 22px}
@media(min-width:860px){.coll-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.coll-grid a{position:relative;display:block;overflow:hidden;border-radius:14px;aspect-ratio:3/4;background:#0c0b12;
  box-shadow:0 10px 30px rgba(0,0,0,.45)}
.coll-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02);
  transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s}
.coll-grid a:hover img{transform:scale(1.07);filter:saturate(1.18) contrast(1.05)}
.coll-grid a::after{content:"";position:absolute;inset:0;border-radius:14px;pointer-events:none;
  background:linear-gradient(135deg,rgba(123,97,255,.12),rgba(255,77,170,.10) 45%,rgba(54,222,222,.12));
  mix-blend-mode:screen;opacity:0;transition:opacity .5s}
.coll-grid a:hover::after{opacity:1}
.coll-note{max-width:820px;margin:0 auto 60px;padding:0 22px;color:#cfc9e6;font-size:.92rem;line-height:1.7}

/* ============================================================
   INNER-PAGE EDITORIAL LAYER  (scoped to .pg so homepage is untouched)
   Low-key luxe · G-Dragon / MJ · dark iridescent
   ============================================================ */
.pg{max-width:1180px;margin:0 auto;padding:0 22px}
.pgbody{padding:0 0 80px}
.pagehead{padding:46px 0 30px;border-bottom:1px solid var(--line);margin-bottom:8px}
.psec{padding:54px 0;border-top:1px solid var(--line)}
.psec:first-of-type{border-top:none}
.pn{padding:30px 0}
.psec h2,.pn h2,.pg h2{font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 14px;font-weight:800}
.pg h1{font-size:clamp(2rem,5.4vw,3.6rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 16px;font-weight:850}
.pg h3{font-size:1.12rem;letter-spacing:-.01em;margin:22px 0 8px;color:var(--ink);font-weight:700}
.pg p,.pg li{color:var(--ink2);line-height:1.72;font-size:1.02rem}
.pg p{margin:0 0 14px}
.pg ul,.pg ol{padding-left:1.1em;margin:0 0 16px}
.pg li{margin:6px 0}
.pg a:not(.btn){color:#cdbcff;text-decoration:none;border-bottom:1px solid rgba(205,188,255,.35)}
.pg a:not(.btn):hover{color:#fff;border-color:#fff}
.pg .lead,.pg .ch-p,.pg .lede{font-size:clamp(1.05rem,2vw,1.22rem);color:var(--ink);line-height:1.6;max-width:62ch}
.pg .kicker,.pg .eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:0 0 12px}

/* feature / numbered blocks -------------------------------- */
.pn{display:grid;gap:14px}
.pn h3{margin-top:0}

/* cards ------------------------------------------------------ */
.ccards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:18px 0}
.cc,.card,.blk,.panel,.box{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:22px 22px 24px;position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .45s}
.cc::before,.card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--iri1),var(--iri2),var(--iri3));opacity:.7}
.cc:hover,.card:hover,.blk:hover{transform:translateY(-4px);border-color:rgba(255,92,168,.5);box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 0 1px rgba(123,92,255,.25)}
.cc h3,.card h3{margin-top:4px}
.cc p,.card p{font-size:.96rem}

/* looks / 3D concept tiles -------------------------------- */
.lookgal,.lkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:18px 0}
.lookfig,.lk{position:relative;display:block;overflow:hidden;border-radius:16px;border:1px solid var(--line);background:#0c0b14;aspect-ratio:3/4;transition:transform .5s,border-color .4s,box-shadow .5s}
.lookfig img,.lk img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.lookfig:hover,.lk:hover{transform:translateY(-4px);border-color:rgba(54,224,200,.5);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.lookfig:hover img,.lk:hover img{transform:scale(1.06);filter:saturate(1.15) contrast(1.05)}
.lookfig::after,.lk::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(123,92,255,.12),rgba(255,92,168,.10) 45%,rgba(54,224,200,.12));mix-blend-mode:screen;opacity:0;transition:opacity .5s}
.lookfig:hover::after,.lk:hover::after{opacity:1}

/* 3D stage framing ------------------------------------------ */
.pg-fig{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:radial-gradient(120% 90% at 50% 18%,#1a1822,#0d0a14);box-shadow:0 20px 60px rgba(0,0,0,.5);margin:18px 0}
.pg-fig .stage,.pg-fig figure{height:min(70vh,620px)}

/* FAQ / accordion ------------------------------------------- */
.pfaq,.faq{border-top:1px solid var(--line);margin-top:10px}
.faq details,.pfaq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary,.pfaq summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] summary{color:#fff}

/* MOQ band / highlights ------------------------------------- */
.moqband{margin:22px 0;padding:22px 24px;border-radius:16px;background:linear-gradient(120deg,rgba(123,92,255,.14),rgba(255,92,168,.10));border:1px solid var(--line);color:var(--ink)}
.moqband b{color:#fff}

/* related / toc --------------------------------------------- */
.related,.rel{display:grid;gap:10px;margin:16px 0}
.toc{border:1px solid var(--line);border-radius:14px;padding:16px 20px;background:var(--glass);margin:18px 0}
.toc a{display:block;padding:4px 0}

/* generic images inside prose ------------------------------- */
.pg img{max-width:100%;border-radius:12px;border:1px solid var(--line)}
.pg figure{margin:18px 0}
.pg figcaption{color:var(--ink2);font-size:.86rem;margin-top:8px}

/* responsive tightening ------------------------------------- */
@media(max-width:680px){.psec{padding:40px 0}.pg h1{font-size:2.1rem}}

/* ============================================================
   EDITORIAL ENHANCEMENTS — film grain, color-block, marquee
   ============================================================ */

/* film grain overlay (subtle, fixed) ------------------------ */
body::after{ /* extend existing grain on top of holo spin */ }
.grain{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* big editorial display type --------------------------------- */
.display{font-weight:850;letter-spacing:-.04em;line-height:.94;
  font-size:clamp(2.6rem,9vw,7rem);text-transform:uppercase;
  background:linear-gradient(92deg,var(--iri1),var(--iri2) 40%,var(--iri3) 72%,var(--iri4));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.ed-stroke{-webkit-text-stroke:1.5px var(--iri2);color:transparent}

/* color-block band ------------------------------------------- */
.cblock{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:26px 0}
.cblock>div{padding:30px}
.cblock .cb-img{position:relative;min-height:320px;background:#100d18;overflow:hidden}
.cblock .cb-img img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.06)}
.cblock .cb-meta{display:flex;flex-direction:column;justify-content:center;gap:14px}
@media(max-width:760px){.cblock{grid-template-columns:1fr}}

/* marquee ----------------------------------------------------- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:14px 0;margin:30px 0;white-space:nowrap}
.marquee div{display:inline-block;animation:mq 26s linear infinite}
.marquee span{font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.95rem;
  color:var(--ink2);padding:0 22px}
.marquee span b{background:linear-gradient(90deg,var(--iri2),var(--iri3));-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
@keyframes mq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee div{animation:none}}

/* editorial image wall -------------------------------------- */
.wall{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}
@media(max-width:900px){.wall{grid-template-columns:repeat(2,1fr)}}
.wall a{position:relative;display:block;overflow:hidden;border-radius:12px;aspect-ratio:3/4;
  background:#100d18;border:1px solid var(--line)}
.wall img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05);
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.wall a:hover img{transform:scale(1.07);filter:saturate(1.2) contrast(1.06)}
.wall a::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(123,92,255,.14),rgba(255,92,168,.10) 45%,rgba(54,224,200,.12));
  mix-blend-mode:screen;opacity:0;transition:opacity .5s}
.wall a:hover::after{opacity:1}

/* atelier feature grid -------------------------------------- */
.atelier{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}
@media(max-width:820px){.atelier{grid-template-columns:1fr}}
.atelier figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#100d18}
.atelier img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(1.02) contrast(1.04)}
.atelier figcaption{padding:12px 14px;color:var(--ink2);font-size:.9rem}

/* ============================================================
   GLOBAL DARK-THEME OVERRIDE — site.css light components
   These were built for the light theme (white cards/pills,
   dark ink). Under holo.css the --ink token is light, so they
   flip to invisible (light text on white / pale-yellow).
   Force them onto the dark iridescent theme EVERYWHERE so no
   page can ever show unreadable white-on-white again.
   (Colored feature cards .card.c1/.c2/.c3 keep their look.)
   ============================================================ */
.card{background:var(--glass);color:var(--ink);border:1px solid var(--line)}
.tag{background:linear-gradient(120deg,var(--iri1),var(--iri2))!important;color:#0c0a14!important;border:none}
.chip{background:rgba(255,255,255,.08)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.chip.ok{background:#0e3b2c!important;color:#7ef0c0!important}
.chip.tbc{background:#3a2f08!important;color:#ffd86b!important}
.chip.no{background:#3d0f17!important;color:#ff9aa9!important}
.note{background:rgba(255,255,255,.06)!important;color:var(--ink)!important;border-left:4px solid var(--iri2)!important}
.note.no{border-left-color:#ff6b81!important}

/* configurator view-toggle pills (正面/侧面/背面/细节) */
.views button{border:1px solid var(--line)!important;background:var(--glass)!important;color:var(--ink)!important}
.views button[aria-pressed=true]{background:linear-gradient(120deg,var(--iri1),var(--iri2))!important;color:#0c0a14!important;border-color:transparent!important}

/* configurator style-list cards */
.sty button{background:var(--glass)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.sty button[aria-pressed=true]{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent) inset!important}
.sty button[disabled]{opacity:.5}

/* configurator summary card + warning notes */
.sum{background:var(--glass)!important;color:var(--ink)!important;border:1px dashed rgba(255,255,255,.28)!important}
.sum dt{color:var(--ink2)!important}
.sum dd{color:var(--ink)!important}

/* configurator status message + semantic status banners */
.cfg-msg.status{background:rgba(255,255,255,.08)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.status.good{background:#0e3b2c!important;color:#7ef0c0!important}
.status.bad{background:#3d0f17!important;color:#ff9aa9!important}
.status.info{background:rgba(123,92,255,.18)!important;color:#d9d2ff!important}

/* configurator 3D stage: dark backdrop + readable status pill */
.stage{background:radial-gradient(120% 90% at 50% 20%,#15121f 0%,#0e0b16 70%,#0a0810 100%)!important}
.stage .stat{background:rgba(10,9,16,.82)!important;color:var(--ink)!important;border:1px solid var(--line)!important}

/* fabric detail: spec table + media captions (were white) */
.tbl{background:var(--glass);color:var(--ink);border:1px solid var(--line)}
.tbl th{background:rgba(255,255,255,.08);color:var(--ink)}
.tbl td{color:var(--ink)}
.tbl th,.tbl td{border-bottom:1px solid var(--line)}
.tblw{border-color:var(--line)}
.fab-media figure{background:#100d18}
.fab-media figcaption{background:rgba(10,9,16,.85);color:var(--ink2);border-top:1px solid var(--line)}

/* page header for new editorial pages */
.pagehead{padding:48px 0 18px;border-bottom:1px solid var(--line);margin-bottom:8px}
.pagehead .lead{max-width:64ch;color:var(--ink);font-size:clamp(1.04rem,2vw,1.22rem);line-height:1.6}
.psec{padding:40px 0}
.moqband{margin:22px 0;padding:20px 22px;border-radius:16px;background:linear-gradient(120deg,rgba(123,92,255,.16),rgba(255,92,168,.12));border:1px solid var(--line);color:var(--ink)}
.moqband b{color:#fff}

/* —— thorough contrast sweep: every remaining light-bg component —— */
/* language switcher: current language was light-bg + white text (invisible) */
.lang a[aria-current]{background:var(--glass2)!important;color:#fff!important}
.lang a{color:var(--ink)!important}

/* category cards (.cat) were light-grey bg + white text (invisible titles) */
.cat{background:var(--glass)!important;color:#fff!important;border:1px solid var(--line)!important}
.cat .cap{background:rgba(10,9,16,.72)!important;color:var(--ink)!important}

/* image corner captions (.cap / hero-fig figcaption) were white pills w/ light text */
.cap,.hero-fig figcaption{background:rgba(10,9,16,.82)!important;color:var(--ink)!important;border:1px solid var(--line)!important}

/* fabric detail media captions (keep dark, boost contrast) */
.fab-media figcaption{background:rgba(10,9,16,.85)!important;color:var(--ink)!important;border-top:1px solid var(--line)!important}

/* advisor question box (.q) was light-blue bg + light text (invisible) */
.q{background:rgba(255,255,255,.09)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.q b{color:#fff!important}

/* advisor result status text low-contrast on dark */
.err{color:#ff8a9c!important}
.ok{color:#7ef0c0!important}

/* homepage 3D hero hint pill (.hk) was white bg + light text (invisible) */
#heroStage .hk{background:rgba(10,9,16,.85)!important;color:var(--ink)!important;border:1px solid var(--line)!important}

/* steps cards (safety net) */
.steps li{background:var(--glass)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.steps li:before{color:var(--accent)!important}

/* generic white pills / tags / small badges that may appear anywhere */
.pill{background:var(--glass)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.badge{background:var(--glass2)!important;color:#fff!important}

/* accessibility skip-link (only visible on keyboard focus) */
.skip:focus{background:var(--glass2)!important;color:var(--ink)!important;left:8px!important;top:8px!important}
