/* ============================================================
   FACEBOOK ADS — page styles
   Reuses hero2/kinetic/marquee/funnel/acc from style.css
   ============================================================ */

/* ---------- hero ad-card visual ---------- */
.fb-hero-stage{
  position:absolute;z-index:2;right:clamp(-60px,6vw,160px);top:50%;
  transform:translateY(-50%);width:380px;pointer-events:none;
  display:none;
}
@media(min-width:1080px){.fb-hero-stage{display:block;}}
.ad-mock{
  background:rgba(15,31,54,.85);border:1px solid rgba(127,166,204,.25);
  border-radius:18px;padding:1.1rem 1.2rem;backdrop-filter:blur(6px);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  animation:adFloat 6s ease-in-out infinite;
}
@keyframes adFloat{
  0%,100%{transform:translateY(0) rotate(-1deg);}
  50%{transform:translateY(-16px) rotate(1deg);}
}
.ad-mock .ad-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem;}
.ad-mock .ad-avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,#1b8df6,#0044ff);
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;
}
.ad-mock .ad-shop{font-weight:800;font-size:.9rem;}
.ad-mock .ad-sp{display:block;font-size:.7rem;color:#7fa6cc;font-weight:600;}
.ad-mock .ad-body{font-size:.88rem;line-height:1.5;color:#cfe3f7;margin-bottom:.9rem;}
.ad-mock .ad-img{
  height:120px;border-radius:10px;margin-bottom:.9rem;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 30% 60%, rgba(27,141,246,.4), transparent 60%),
    radial-gradient(circle at 75% 30%, rgba(0,68,255,.35), transparent 60%),
    #0a1830;
}
.ad-mock .ad-img::after{
  content:"YOUR SHOP. THEIR FEED.";position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:.82rem;letter-spacing:.14em;color:rgba(207,227,247,.9);
}
.ad-mock .ad-foot{
  display:flex;justify-content:space-between;font-size:.78rem;color:#7fa6cc;font-weight:700;
}
.ad-mock .ad-foot i{margin-right:.3rem;}
.ad-likes{position:relative;}
/* floating reaction bubbles */
.reaction{
  position:absolute;font-size:1.05rem;opacity:0;left:0;
  animation:reactUp 3.6s linear infinite;
}
.reaction.rx2{left:26px;animation-delay:1.2s;}
.reaction.rx3{left:52px;animation-delay:2.4s;}
@keyframes reactUp{
  0%{transform:translateY(0);opacity:0;}
  15%{opacity:1;}
  100%{transform:translateY(-90px);opacity:0;}
}

/* ---------- three customers ---------- */
.cust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.6rem;}
.cust-card{
  border:1px solid rgba(127,166,204,.18);border-radius:18px;
  padding:1.8rem 1.5rem;background:rgba(21,39,65,.45);
  position:relative;overflow:hidden;
  transition:transform .3s ease,border-color .3s ease;
}
.cust-card:hover{transform:translateY(-5px);border-color:rgba(27,141,246,.5);}
.cust-card .cc-icon{
  font-size:1.6rem;color:#1b8df6;display:inline-flex;padding:.6rem;
  border-radius:12px;background:rgba(27,141,246,.12);margin-bottom:.9rem;
}
.cust-card h3{margin:0 0 .45rem;font-size:1.12rem;}
.cust-card p{margin:0;font-size:.9rem;color:#9db8d6;line-height:1.55;}
.cust-card .cc-tag{
  display:inline-block;margin-top:1rem;font-size:.72rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:#7fc1ff;
  padding:.3rem .65rem;border-radius:999px;border:1px solid rgba(27,141,246,.3);
  background:rgba(27,141,246,.1);
}
.cust-punch{
  text-align:center;margin-top:2.2rem;font-size:1.18rem;font-weight:700;color:#cfe3f7;
}
.cust-punch b{color:#1b8df6;}

/* ---------- campaign machine rows ---------- */
.machine{margin-top:2.5rem;border-top:1px solid rgba(127,166,204,.16);}
.m-row{
  display:grid;grid-template-columns:72px 1.1fr 1.6fr 200px;gap:1.4rem;align-items:center;
  padding:1.7rem 0;border-bottom:1px solid rgba(127,166,204,.16);
  transition:background .3s ease;
}
.m-row:hover{background:rgba(27,141,246,.04);}
.m-row .m-ic{
  width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(27,141,246,.12);color:#1b8df6;font-size:1.5rem;
}
.m-row h3{margin:0 0 .25rem;font-size:1.18rem;}
.m-row .m-sub{font-size:.8rem;color:#7fa6cc;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.m-row p{margin:0;font-size:.93rem;color:#9db8d6;line-height:1.55;}
.m-visual{display:flex;align-items:center;justify-content:center;}
/* loan growth arrow */
.m-arrow{display:flex;align-items:center;gap:.5rem;font-weight:900;}
.m-arrow .from{color:#7fa6cc;font-size:.95rem;}
.m-arrow .to{color:#1b8df6;font-size:1.25rem;}
.m-arrow .shaft{
  width:46px;height:2px;background:linear-gradient(90deg,#33527a,#1b8df6);position:relative;
}
.m-arrow .shaft::after{
  content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:#1b8df6;
}
/* tv sellout bar */
.m-stock{width:150px;}
.m-stock .bar{
  height:10px;border-radius:999px;background:rgba(127,166,204,.18);overflow:hidden;position:relative;
}
.m-stock .bar i{
  position:absolute;inset:0 0 0 auto;width:100%;background:linear-gradient(90deg,#1b8df6,#6fc1ff);
  border-radius:999px;animation:stockDrain 4s ease-in-out infinite;
}
@keyframes stockDrain{
  0%{width:100%;}
  70%{width:4%;}
  100%{width:4%;}
}
.m-stock span{display:block;text-align:center;font-size:.68rem;font-weight:800;color:#7fa6cc;margin-top:.45rem;letter-spacing:.1em;text-transform:uppercase;}
/* stigma crack */
.m-crack{font-size:2rem;font-weight:900;color:#1b8df6;display:flex;align-items:center;gap:.4rem;}
.m-crack small{font-size:.68rem;color:#7fa6cc;font-weight:800;letter-spacing:.1em;text-transform:uppercase;max-width:90px;line-height:1.3;}
/* retarget loop */
.m-loop{position:relative;width:74px;height:74px;}
.m-loop svg{width:100%;height:100%;animation:loopSpin 7s linear infinite;}
@keyframes loopSpin{to{transform:rotate(360deg);}}
.m-loop .ic{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#1b8df6;font-size:1.3rem;
}

/* ---------- receipts wall ---------- */
.receipts{position:relative;overflow:clip;}
.receipts::before{
  content:"$1M+";position:absolute;right:-2%;top:8%;z-index:0;pointer-events:none;
  font-size:clamp(8rem,20vw,16rem);font-weight:900;color:transparent;
  -webkit-text-stroke:1px rgba(27,141,246,.10);line-height:1;
}
.receipts .wrap{position:relative;z-index:1;}

/* honesty note */
.honest{
  max-width:640px;margin:2.6rem auto 0;padding:1.5rem 1.8rem;border-radius:16px;
  border:1px dashed rgba(127,166,204,.35);background:rgba(21,39,65,.35);
  font-size:.98rem;color:#cfe3f7;text-align:center;line-height:1.6;
}
.honest b{color:#1b8df6;}

/* ---------- atmosphere ---------- */
.fb-letter{position:relative;overflow:clip;}
.fb-letter::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(40% 30% at 85% 10%, rgba(27,141,246,.07), transparent 70%),
    radial-gradient(30% 26% at 8% 85%, rgba(0,68,255,.06), transparent 70%);
}

/* ---------- packages ---------- */
.pkg-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;
  margin:3rem 0 2rem;align-items:start;
}
.pkg{
  position:relative;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--ink-2);padding:2.2rem 1.8rem;display:flex;flex-direction:column;
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.pkg:hover{transform:translateY(-4px);border-color:rgba(27,141,246,.4);}
.pkg-flag{
  border-color:rgba(27,141,246,.55);
  background:linear-gradient(180deg, rgba(27,141,246,.08), var(--ink-2) 60%);
  box-shadow:0 20px 60px rgba(27,141,246,.14);
}
.pkg-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;
  font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:.35rem .9rem;border-radius:999px;white-space:nowrap;
  box-shadow:0 6px 18px rgba(27,141,246,.4);
}
.pkg-name{font-size:1rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;}
.pkg-price{font-size:2.4rem;font-weight:900;letter-spacing:-.02em;margin:.4rem 0 .2rem;}
.pkg-price small{font-size:.95rem;font-weight:600;color:var(--text-dim);letter-spacing:0;}
.pkg-spend{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  font-size:.9rem;color:var(--text-dim);
  background:rgba(27,141,246,.08);border:1px solid rgba(27,141,246,.2);
  border-radius:10px;padding:.6rem .8rem;margin:.8rem 0 1.4rem;
}
.pkg-spend i{color:var(--accent);font-size:1.1rem;}
.pkg-spend b{color:var(--text);}
.pkg-feats{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-direction:column;gap:.7rem;flex:1;}
.pkg-feats li{display:block;position:relative;padding-left:1.65rem;font-size:.92rem;line-height:1.4;}
.pkg-feats li i:first-child{position:absolute;left:0;top:.15rem;color:var(--accent);font-size:1rem;}
.pkg-feats li.muted{color:var(--text-dim);}
.pkg-feats li.muted i{color:#5a6b82;}
.pkg-feats .ph-star{color:#e6c878;}
.pkg .btn{width:100%;text-align:center;justify-content:center;}
.pkg-note{text-align:center;max-width:680px;margin:0 auto;font-size:.92rem;color:var(--text-dim);}

/* ---------- education manifesto ---------- */
.edu{position:relative;overflow:clip;}
.edu .eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;}
.edu-stat{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;justify-content:center;margin:1rem auto 0;max-width:820px;text-align:center;}
.edu-big{
  font-size:clamp(5rem,16vw,9rem);font-weight:900;line-height:.85;letter-spacing:-.04em;
  background:linear-gradient(135deg,#bfe1ff,#1b8df6 55%,#0044ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.edu-big-cap{font-size:1.15rem;max-width:360px;text-align:left;color:var(--text-dim);}
.edu-big-cap b{color:var(--text);}
.edu-buckets{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:2rem 0;}
.edu-bucket{border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-2);padding:1.8rem;}
.eb-ic{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:12px;background:rgba(27,141,246,.12);color:var(--accent);font-size:1.5rem;margin-bottom:.8rem;}
.edu-bucket h3{margin-bottom:.4rem;}
.edu-bucket p{color:var(--text-dim);font-size:.96rem;}

/* search-trend proof */
.trend{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:2.5rem 0 1.4rem;}
.trend-col{border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;background:var(--ink-2);position:relative;overflow:hidden;}
.trend-col.down{border-color:rgba(255,99,99,.25);}
.trend-col.up{border-color:rgba(46,204,113,.3);}
.trend-arrow{font-size:2.2rem;margin-bottom:.5rem;}
.trend-col.down .trend-arrow{color:#ff6363;}
.trend-col.up .trend-arrow{color:#2ecc71;}
.trend-col h3{font-size:1.1rem;margin-bottom:.3rem;}
.trend-col p{color:var(--text-dim);font-size:.95rem;}

/* ---------- squeeze / flywheel ---------- */
.squeeze{background:var(--ink-2);position:relative;overflow:clip;}
.sq-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:1rem;margin:3rem 0;}
.sq-step{border:1px solid var(--line);border-radius:var(--radius);background:var(--ink);padding:1.8rem;height:100%;}
.sq-n{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:rgba(27,141,246,.14);border:1px solid rgba(27,141,246,.45);color:var(--accent);font-weight:800;margin-bottom:.8rem;}
.sq-step h3{font-size:1.08rem;margin-bottom:.4rem;}
.sq-step p{color:var(--text-dim);font-size:.95rem;}
.sq-arrow{color:var(--accent);font-size:1.6rem;display:flex;align-items:center;justify-content:center;}
.sq-punch{display:flex;gap:1.4rem;align-items:flex-start;border:1px solid rgba(27,141,246,.4);border-radius:var(--radius);background:linear-gradient(180deg,rgba(27,141,246,.08),var(--ink) 70%);padding:2rem;box-shadow:0 20px 60px rgba(27,141,246,.12);}
.sq-punch-ic{flex:0 0 auto;display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;font-size:1.8rem;}
.sq-punch h3{margin-bottom:.5rem;font-size:1.3rem;}
.sq-punch p{color:var(--text-dim);}

/* ---------- forever ad system ---------- */
.forever .eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;}
.forever-grid{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0 1.2rem;}
.fv-chip{
  display:inline-flex;align-items:center;gap:.55rem;
  border:1px solid var(--line);border-radius:999px;padding:.7rem 1.1rem;
  background:var(--ink-2);font-weight:600;font-size:.94rem;
  transition:border-color .25s ease, transform .25s ease, background .25s ease;
}
.fv-chip:hover{border-color:rgba(27,141,246,.5);transform:translateY(-2px);background:rgba(27,141,246,.08);}
.fv-chip i{color:var(--accent);font-size:1.1rem;}
.forever-note{color:var(--text-dim);font-size:.96rem;font-style:italic;}

/* ---------- two types ---------- */
.types{background:var(--ink-2);position:relative;overflow:clip;}
.types-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin:2.5rem 0 2rem;}
.type-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--ink);padding:2.2rem;transition:transform .3s ease,border-color .3s ease;}
.type-card:hover{transform:translateY(-4px);border-color:rgba(27,141,246,.4);}
.tc-ic{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;font-size:1.8rem;margin-bottom:1rem;}
.type-card h3{font-size:1.4rem;margin-bottom:.5rem;}
.type-card p{color:var(--text-dim);}
.bolt-wrap{border:1px dashed rgba(27,141,246,.35);border-radius:var(--radius);padding:1.8rem;background:rgba(27,141,246,.04);margin-bottom:1.4rem;}
.bolt-label{font-weight:700;margin-bottom:1rem;color:var(--text);}
.bolt-chips{display:flex;flex-wrap:wrap;gap:.7rem;}
.bolt-chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:999px;padding:.55rem .95rem;background:var(--ink-2);font-size:.9rem;font-weight:600;}
.bolt-chip i{color:var(--accent);}
.types-punch{text-align:center;max-width:680px;margin:0 auto;font-size:1.08rem;}

/* ---------- density / which package ---------- */
.density-why{max-width:760px;margin:1.4rem auto 0;text-align:center;color:var(--text-dim);}
.density-why b{color:var(--text);}
.density-foot{text-align:center;max-width:700px;margin:0 auto;color:var(--text-dim);font-size:.96rem;}

/* ---------- zone / non-compete ---------- */
.zone{background:var(--ink-2);position:relative;overflow:clip;}
.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:2.5rem 0 1.4rem;}
.zone-grid.zone-grid-2{grid-template-columns:repeat(2,1fr);max-width:720px;margin-inline:auto;}
.zone-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--ink);padding:2rem 1.6rem;text-align:center;position:relative;}
.zone-card.zc-no{border-color:rgba(255,99,99,.4);}
.zone-card.zc-ask{border-color:rgba(230,200,120,.4);}
.zone-card.zc-open{border-color:rgba(46,204,113,.4);}
.zone-card.zc-metro{border-color:rgba(27,141,246,.45);}
.zone-rad{font-size:1.8rem;font-weight:900;letter-spacing:-.02em;}
.zone-rule{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;margin:.4rem 0 .9rem;}
.zc-no .zone-rule{color:#ff6363;}
.zc-ask .zone-rule{color:#e6c878;}
.zc-open .zone-rule{color:#2ecc71;}
.zc-metro .zone-rule{color:var(--accent);}
.zone-card p{color:var(--text-dim);font-size:.94rem;}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .cust-grid{grid-template-columns:1fr;}
  .m-row{grid-template-columns:52px 1fr;gap:.9rem;}
  .m-row p{grid-column:1/-1;}
  .m-visual{grid-column:1/-1;justify-content:flex-start;}
  .pkg-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto;}
  .edu-buckets{grid-template-columns:1fr;}
  .edu-stat{flex-direction:column;text-align:center;}
  .edu-big-cap{text-align:center;}
  .trend{grid-template-columns:1fr;}
  .sq-flow{grid-template-columns:1fr;gap:0;position:relative;}
  /* mobile: compact timeline rows instead of stacked full cards */
  .sq-arrow{display:none;}
  .sq-step{
    display:grid;grid-template-columns:38px 1fr;column-gap:1rem;align-items:start;
    background:none;border:0;border-radius:0;padding:0 0 1.6rem;
    position:relative;height:auto;
  }
  .sq-step::before{
    content:"";position:absolute;left:19px;top:42px;bottom:6px;width:2px;
    background:linear-gradient(180deg, rgba(27,141,246,.5), rgba(27,141,246,.12));
  }
  .sq-step:last-child::before{display:none;}
  .sq-step:last-child{padding-bottom:0;}
  .sq-n{margin-bottom:0;grid-row:span 2;}
  .sq-step h3{margin:.45rem 0 .3rem;grid-column:2;}
  .sq-step p{grid-column:2;margin:0;}
  .sq-punch{flex-direction:row;gap:1rem;padding:1.4rem;}
  .sq-punch-ic{width:44px;height:44px;font-size:1.4rem;border-radius:12px;}
  .sq-punch h3{font-size:1.1rem;}
  .sq-punch p{font-size:.92rem;}
  .types-grid{grid-template-columns:1fr;}
  .zone-grid, .zone-grid.zone-grid-2{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}
}
@media(prefers-reduced-motion:reduce){
  .ad-mock,.reaction,.m-stock .bar i,.m-loop svg{animation:none;}
}

/* ============================================================
   FB ADS v2 — the 90% story rebuild (20260701)
   hero people wall · survey buckets · pop-culture · trap ·
   interrupt · arsenal · three lines · pairs · 50-metro map ·
   sticky ad-phone guide
   ============================================================ */

/* ---------- fixed atmosphere background (whole page) ---------- */
.fb-atmo{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.atmo-blob{
  position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;
  will-change:transform;
}
.atmo-blob.ab1{
  width:56vw;height:56vw;left:-18vw;top:-14vw;
  background:radial-gradient(circle, rgba(27,141,246,.16), transparent 65%);
  animation:atmoDrift1 26s ease-in-out infinite;
}
.atmo-blob.ab2{
  width:46vw;height:46vw;right:-16vw;top:28vh;
  background:radial-gradient(circle, rgba(0,68,255,.13), transparent 65%);
  animation:atmoDrift2 32s ease-in-out infinite;
}
.atmo-blob.ab3{
  width:40vw;height:40vw;left:22vw;bottom:-18vw;
  background:radial-gradient(circle, rgba(111,193,255,.09), transparent 65%);
  animation:atmoDrift3 38s ease-in-out infinite;
}
@keyframes atmoDrift1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(6vw,4vh) scale(1.12);}}
@keyframes atmoDrift2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-5vw,-6vh) scale(.92);}}
@keyframes atmoDrift3{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(4vw,-5vh) scale(1.08);}}
.atmo-dots{
  position:absolute;inset:0;opacity:.35;
  background-image:radial-gradient(rgba(127,166,204,.14) 1px, transparent 1.4px);
  background-size:34px 34px;
  mask-image:radial-gradient(75% 60% at 50% 40%, black, transparent 85%);
  -webkit-mask-image:radial-gradient(75% 60% at 50% 40%, black, transparent 85%);
}
/* everything static rides above the atmosphere.
   ONLY element-type selectors here: never touch .nav, modals, rails or
   any position:fixed overlay (a broader `~ *` rule out-specifies
   .nav{position:fixed} and breaks the header + mobile menu). */
.fb-atmo ~ header, .fb-atmo ~ section, .fb-atmo ~ footer{position:relative;z-index:1;}
/* section separators: subtle angled edges + glow seams for page shape */
.survey,.interrupt,.threelines,.receipts{
  border-top:1px solid rgba(27,141,246,.10);
}
.trap,.arsenal,.pairs,.zone{
  border-top:1px solid rgba(127,166,204,.08);
  box-shadow:inset 0 60px 120px -80px rgba(27,141,246,.18);
}

/* ---------- hero: copy left, viz right ---------- */
.fb-hero{flex-direction:column;justify-content:center;padding-top:2rem;}
.fb-hero h1 .counter{display:inline;color:inherit;}
.fb-hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;width:100%;
}
.fb-hero-copy{padding-bottom:0;}
.fb-hero h1{font-size:clamp(2.4rem,4.6vw,4rem);}
/* the 9-of-10 viz: floating constellation card */
.fb-hero-viz{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:1.2rem;
  animation:vizFloat 7s ease-in-out infinite;
}
@keyframes vizFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.viz-halo{
  position:absolute;inset:-14%;border-radius:32px;pointer-events:none;
  background:
    radial-gradient(60% 60% at 50% 40%, rgba(27,141,246,.14), transparent 70%);
  filter:blur(24px);
}
.viz-grid{
  position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;
  padding:1.8rem;border-radius:26px;
  background:linear-gradient(160deg, rgba(21,39,65,.72), rgba(11,20,36,.85));
  border:1px solid rgba(127,166,204,.22);
  backdrop-filter:blur(10px);
  box-shadow:0 34px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(207,227,247,.08);
}
.vz-person{
  width:72px;height:72px;border-radius:18px;cursor:pointer;
  border:1px solid rgba(127,166,204,.16);
  background:linear-gradient(160deg, rgba(21,39,65,.5), rgba(11,20,36,.7));
  color:#2e4666;font-size:1.9rem;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .18s ease, background .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;
  animation:vzIn .6s cubic-bezier(.34,1.56,.64,1) both;
  animation-delay:calc(var(--d) * 70ms + 400ms);
}
@keyframes vzIn{
  0%{opacity:0;transform:translateY(14px) scale(.7);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
.vz-person:hover{transform:translateY(-4px) scale(1.07);border-color:rgba(27,141,246,.45);}
.vz-person:active{transform:scale(.86);}
.vz-person.lit{
  background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;
  border-color:rgba(111,193,255,.85);
  box-shadow:0 0 22px rgba(27,141,246,.6), 0 8px 24px rgba(27,141,246,.35);
}
.vz-person.lit:not([style*="--d:0"]){animation:personPop .45s cubic-bezier(.34,1.56,.64,1);}
@keyframes personPop{
  0%{transform:scale(.7);}
  60%{transform:scale(1.18);}
  100%{transform:scale(1);}
}
.viz-chip{
  position:relative;font-size:.88rem;color:#9db8d6;text-align:center;
  border:1px solid rgba(127,166,204,.2);border-radius:999px;
  background:rgba(15,31,54,.7);backdrop-filter:blur(6px);
  padding:.6rem 1.2rem;max-width:340px;
}
.viz-chip b{color:#cfe3f7;}

/* ---------- survey buckets ---------- */
.survey{position:relative;overflow:clip;}
.survey::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(40% 30% at 88% 8%, rgba(27,141,246,.06), transparent 70%),
    radial-gradient(30% 26% at 6% 90%, rgba(0,68,255,.05), transparent 70%);
}
.bucket-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;margin-top:2.4rem;}
.bucket-card{
  position:relative;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--ink-2);padding:2.2rem 1.9rem;overflow:hidden;
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.bucket-card:hover{transform:translateY(-5px);border-color:rgba(27,141,246,.5);box-shadow:0 18px 50px rgba(0,0,0,.35);}
.bucket-card.bk-stigma:hover{border-color:rgba(255,99,99,.5);}
.bk-num{
  font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7fa6cc;
  display:block;margin-bottom:1rem;
}
.bk-ic{
  display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;
  border-radius:14px;background:rgba(27,141,246,.12);color:var(--accent);font-size:1.7rem;margin-bottom:1rem;
}
.bk-stigma .bk-ic{background:rgba(255,99,99,.1);color:#ff8585;}
.bucket-card h3{font-size:1.35rem;margin-bottom:.6rem;letter-spacing:-.02em;}
.bucket-card p{font-size:.97rem;color:#9db8d6;line-height:1.6;}
.bk-tag{
  display:inline-block;margin-top:1.2rem;font-size:.72rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:#7fc1ff;
  padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(27,141,246,.3);
  background:rgba(27,141,246,.1);
}
.bk-stigma .bk-tag{color:#ffa3a3;border-color:rgba(255,99,99,.3);background:rgba(255,99,99,.08);}

/* ---------- pop culture screens ---------- */
.screen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:2.4rem;max-width:760px;margin-inline:auto;}
/* pop-culture headline: wider block + tuned size so it lands on 2 lines, not 4 */
.pc-lead{max-width:940px;}
.pc-lead h2{font-size:clamp(1.9rem,4.2vw,2.9rem);}
/* the "two buckets, one disease" callout sits outside .prose, so give it its own
   card look and a readable max-width instead of spanning the full section */
.survey .callout{
  max-width:720px;margin:2.6rem auto 0;
  border-left:3px solid var(--accent);background:rgba(27,141,246,0.07);
  padding:1.4rem 1.6rem;border-radius:0 12px 12px 0;color:var(--text);font-size:1.05rem;
}
/* interrupt headline highlight on "interrupt their scroll"; wider block so the
   two-line break reads clean instead of wrapping to four lines */
.interrupt h2 .hl{color:var(--accent);}
.interrupt > .wrap.prose{max-width:1000px;}
.screen-card{
  position:relative;border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(11,20,36,.9), var(--ink-2));
  padding:1.9rem 1.6rem;overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
.screen-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,0,0,.14) 3px 4px);
}
.screen-card:hover{transform:translateY(-5px);border-color:rgba(27,141,246,.45);}
.sc-ic{
  display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;
  border-radius:12px;background:rgba(27,141,246,.12);color:var(--accent);font-size:1.5rem;margin-bottom:.9rem;
  position:relative;z-index:1;
}
.screen-card h3{position:relative;z-index:1;font-size:1.15rem;margin-bottom:.45rem;}
.screen-card p{position:relative;z-index:1;font-size:.92rem;color:#9db8d6;line-height:1.58;}

/* ---------- the trap ---------- */
.trap{background:var(--ink-2);position:relative;overflow:clip;}
.trap .eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;}

/* ---------- interrupt ---------- */
.interrupt{position:relative;overflow:clip;}
.interrupt .eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;}

/* ---------- arsenal ---------- */
.arsenal{background:var(--ink-2);position:relative;overflow:clip;}
.arsenal .eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;}
.ars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.6rem;}
.ars-card{
  position:relative;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--ink);padding:1.7rem 1.4rem;overflow:hidden;
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.ars-card::after{
  content:"";position:absolute;inset:auto -30% -45% auto;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle, rgba(27,141,246,.16), transparent 70%);
  opacity:0;transition:opacity .3s ease;pointer-events:none;
}
.ars-card:hover{transform:translateY(-6px);border-color:rgba(27,141,246,.5);box-shadow:0 16px 44px rgba(0,0,0,.35);}
.ars-card:hover::after{opacity:1;}
.ars-ic{
  display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;
  border-radius:12px;background:rgba(27,141,246,.12);color:var(--accent);font-size:1.45rem;margin-bottom:.85rem;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.ars-card:hover .ars-ic{transform:scale(1.1) rotate(-4deg);background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;}
.ars-card h3{font-size:1.04rem;margin-bottom:.4rem;letter-spacing:-.01em;}
.ars-card p{font-size:.86rem;color:#9db8d6;line-height:1.55;}

/* ---------- three lines of business ---------- */
.threelines{position:relative;overflow:clip;}
.threelines .eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;}
.line-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.6rem;}
.line-card{
  position:relative;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--ink-2);padding:2.1rem 1.8rem;overflow:hidden;
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.line-card:hover{transform:translateY(-6px);border-color:rgba(27,141,246,.5);box-shadow:0 20px 55px rgba(0,0,0,.4);}
.ln-num{
  position:absolute;right:.9rem;top:.4rem;font-size:3.6rem;font-weight:900;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(27,141,246,.22);pointer-events:none;
}
.ln-ic{
  display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;
  border-radius:14px;background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;font-size:1.7rem;margin-bottom:1rem;
}
.line-card h3{font-size:1.5rem;margin-bottom:.55rem;letter-spacing:-.02em;}
.line-card p{font-size:.95rem;color:#9db8d6;line-height:1.6;}
.ln-stat{
  margin-top:1.3rem;display:inline-flex;align-items:center;gap:.5rem;
  font-weight:900;font-size:1.15rem;color:var(--accent);
  border-top:1px solid rgba(127,166,204,.16);padding-top:1.1rem;width:100%;
}
.ln-stat small{font-weight:600;color:#7fa6cc;font-size:.78rem;}

/* ---------- pairs with shmello ---------- */
.pairs{background:var(--ink-2);position:relative;overflow:clip;}
.pairs .eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;}
.pairs-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center;}
.pairs-viz{display:flex;flex-direction:column;align-items:center;gap:0;}
.pv-node{
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
  border:1px solid rgba(27,141,246,.35);border-radius:18px;background:var(--ink);
  padding:1.5rem 2.2rem;text-align:center;
}
.pv-node i{font-size:2rem;color:var(--accent);}
.pv-node img{width:64px;height:64px;object-fit:contain;}
.pv-node span{font-weight:700;font-size:.92rem;color:#cfe3f7;}
.pv-pipe{
  position:relative;width:3px;height:84px;background:rgba(127,166,204,.2);overflow:hidden;border-radius:999px;
}
.pv-pulse{
  position:absolute;left:-2.5px;width:8px;height:8px;border-radius:50%;
  background:#6fc1ff;box-shadow:0 0 12px rgba(27,141,246,.9);
  animation:pipeDrop 2.4s linear infinite;
}
.pv-pulse.p2{animation-delay:.8s;}
.pv-pulse.p3{animation-delay:1.6s;}
@keyframes pipeDrop{
  0%{top:-10px;opacity:0;}
  12%{opacity:1;}
  88%{opacity:1;}
  100%{top:92px;opacity:0;}
}

/* ---------- 50-metro map v2 ---------- */
.map-wrap{display:grid;grid-template-columns:1.7fr .9fr;gap:2rem;margin-top:2.8rem;align-items:start;}
.us-map{position:relative;}
.us-svg{width:100%;opacity:.9;filter:drop-shadow(0 20px 60px rgba(27,141,246,.12));}
.pin2{
  position:absolute;transform:translate(-50%,-50%);cursor:pointer;
  background:none;border:none;z-index:2;
  /* generous hit target so taps land even slightly off the dot */
  padding:10px;
  display:flex;align-items:center;justify-content:center;
}
.pin2-dot{
  display:flex;align-items:center;justify-content:center;
  width:16px;height:16px;border-radius:50%;position:relative;
  transition:transform .2s ease;
}
.pin2:hover .pin2-dot{transform:scale(1.45);}
.pin2:hover{z-index:6;}
/* open pins: blue pulse */
.pin-open .pin2-dot{
  background:#1b8df6;box-shadow:0 0 0 3px rgba(27,141,246,.25), 0 0 14px rgba(27,141,246,.7);
}
.pin-open .pin2-dot::after{
  content:"";position:absolute;inset:-7px;border-radius:50%;
  border:2px solid rgba(27,141,246,.55);animation:pinPulse 2.2s ease-out infinite;
}
@keyframes pinPulse{
  0%{transform:scale(.5);opacity:1;}
  100%{transform:scale(1.7);opacity:0;}
}
/* taken pins: bigger, red-amber, lock icon, unmistakable */
.pin-taken .pin2-dot{
  width:24px;height:24px;background:linear-gradient(135deg,#3c1220,#611b25);
  border:2px solid #ff6363;color:#ff8585;font-size:.75rem;
  box-shadow:0 0 0 3px rgba(255,99,99,.18), 0 4px 14px rgba(0,0,0,.5);
}
.pin-taken .pin2-dot::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1px dashed rgba(255,99,99,.5);
}
.pin-taken{cursor:not-allowed;}
/* labels */
.pin2-label{
  position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);
  background:rgba(11,20,36,.96);border:1px solid rgba(127,166,204,.3);border-radius:10px;
  padding:.5rem .8rem;font-size:.78rem;font-weight:700;color:#eef4fb;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .18s ease, transform .18s ease;
  box-shadow:0 10px 30px rgba(0,0,0,.5);text-align:center;
}
.pin2-label b{display:block;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-top:.15rem;}
.pin-open .pin2-label b{color:#6fc1ff;}
.pin-taken .pin2-label b{color:#ff8585;}
.pin2:hover .pin2-label,.pin2:focus .pin2-label{opacity:1;transform:translateX(-50%) translateY(0);}
/* side column */
.map-side{display:flex;flex-direction:column;gap:1.2rem;}
.map-count{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.mc-block{
  border:1px solid var(--line);border-radius:14px;background:var(--ink-2);
  padding:1.1rem;text-align:center;
}
.mc-block b{display:block;font-size:2rem;font-weight:900;line-height:1.1;}
.mc-block span{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7fa6cc;}
.mc-taken{border-color:rgba(255,99,99,.35);}
.mc-taken b{color:#ff8585;}
.mc-open{border-color:rgba(27,141,246,.4);}
.mc-open b{color:var(--accent);}
.map-legend{
  border:1px solid var(--line);border-radius:14px;background:var(--ink-2);padding:1.4rem;
}
.ml-row{display:flex;align-items:center;gap:.7rem;font-size:.9rem;font-weight:600;margin-bottom:.7rem;}
.ml-swatch{
  flex:0 0 auto;width:20px;height:20px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;
}
.ml-swatch.taken{background:linear-gradient(135deg,#3c1220,#611b25);border:2px solid #ff6363;color:#ff8585;}
.ml-swatch.open{background:#1b8df6;box-shadow:0 0 10px rgba(27,141,246,.7);}
.ml-note{font-size:.8rem;color:#7fa6cc;line-height:1.5;margin-top:.6rem;}
.lg-open-inline{color:#6fc1ff;font-weight:800;}
.lg-taken-inline{color:#ff8585;font-weight:800;}
.taken-list{
  border:1px solid rgba(255,99,99,.25);border-radius:14px;background:rgba(60,18,32,.25);padding:1.3rem 1.4rem;
}
.taken-list h4{
  display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:#ff8585;margin-bottom:.8rem;
}
.taken-list ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem;}
.taken-list li{
  font-size:.78rem;font-weight:600;color:#e8b8c0;
  border:1px solid rgba(255,99,99,.25);border-radius:999px;padding:.3rem .7rem;
  background:rgba(60,18,32,.4);
}

/* ---------- sticky ad-phone guide ---------- */
.adphone{
  position:fixed;left:22px;bottom:22px;z-index:80;width:238px;
  opacity:0;transform:translateY(24px) scale(.92);pointer-events:none;
  transition:opacity .4s ease, transform .4s cubic-bezier(.34,1.56,.64,1);
}
.adphone.on{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.ap-bubble{
  position:absolute;bottom:calc(100% + 10px);left:8px;right:-30px;
  background:#eef4fb;color:#0b1424;font-size:.82rem;font-weight:700;line-height:1.4;
  border-radius:14px 14px 14px 4px;padding:.7rem .9rem;
  opacity:0;transform:translateY(8px);transition:opacity .3s ease, transform .3s ease;
  box-shadow:0 12px 34px rgba(0,0,0,.45);
}
.ap-bubble::after{
  content:"";position:absolute;left:16px;top:100%;
  border:7px solid transparent;border-top-color:#eef4fb;border-left-color:#eef4fb;
}
.adphone.talk .ap-bubble{opacity:1;transform:translateY(0);}
.ap-shell{
  position:relative;display:block;width:100%;text-align:left;cursor:pointer;
  background:rgba(15,31,54,.97);border:1px solid rgba(127,166,204,.35);
  border-radius:20px;padding:1rem .95rem .8rem;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.55), 0 0 0 4px rgba(11,20,36,.6);
  transition:transform .25s ease, border-color .25s ease;
  font-family:inherit;color:inherit;
}
.ap-shell:hover{border-color:rgba(27,141,246,.6);}
.ap-shell.boost{animation:apSquish .55s cubic-bezier(.34,1.56,.64,1);}
@keyframes apSquish{
  0%{transform:scale(1,1);}
  30%{transform:scale(1.08,.82);}
  60%{transform:scale(.94,1.08);}
  100%{transform:scale(1,1);}
}
.ap-notch{
  display:block;width:64px;height:5px;border-radius:999px;background:rgba(127,166,204,.3);
  margin:0 auto .7rem;
}
.ap-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.55rem;}
.ap-avatar{
  flex:0 0 auto;width:30px;height:30px;border-radius:50%;
  background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:.85rem;
}
.ap-meta{display:flex;flex-direction:column;line-height:1.25;}
.ap-meta b{font-size:.78rem;font-weight:800;}
.ap-meta i{font-style:normal;font-size:.62rem;color:#7fa6cc;font-weight:600;}
.ap-body{
  display:block;font-size:.8rem;line-height:1.45;color:#cfe3f7;margin-bottom:.6rem;min-height:3.4em;
}
.ap-body.swap{animation:apType .5s ease;}
@keyframes apType{
  0%{opacity:0;transform:translateY(6px);}
  100%{opacity:1;transform:translateY(0);}
}
.ap-img{
  display:flex;align-items:center;justify-content:center;height:64px;border-radius:10px;margin-bottom:.6rem;
  background:
    radial-gradient(circle at 30% 60%, rgba(27,141,246,.4), transparent 60%),
    radial-gradient(circle at 75% 30%, rgba(0,68,255,.35), transparent 60%),
    #0a1830;
  color:rgba(207,227,247,.9);font-size:1.6rem;
}
.ap-foot{
  display:flex;align-items:center;justify-content:space-between;
  font-size:.68rem;color:#7fa6cc;font-weight:700;
}
.ap-boost{
  color:#6fc1ff;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.6rem;
  animation:boostBlink 2.6s ease-in-out infinite;
}
@keyframes boostBlink{0%,100%{opacity:.55;}50%{opacity:1;}}
.ap-burst{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.ap-burst span{
  position:absolute;bottom:8px;font-size:1.05rem;opacity:0;
  animation:burstUp 1s ease-out forwards;
}
@keyframes burstUp{
  0%{transform:translateY(0) scale(.7);opacity:0;}
  20%{opacity:1;}
  100%{transform:translateY(-110px) scale(1.25);opacity:0;}
}

/* ============================================================
   STATEMENT ART v3 — signal beam · thought bubbles · mini-scenes ·
   story rail · cursor glow · map arc
   ============================================================ */

/* ---------- cursor-reactive glow (desktop) ---------- */
.atmo-cursor{
  position:absolute;width:520px;height:520px;border-radius:50%;
  left:0;top:0;transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(27,141,246,.07), transparent 65%);
  opacity:0;transition:opacity .6s ease;will-change:transform;
}
.atmo-cursor.live{opacity:1;}

/* ---------- story rail: scroll journey (desktop) ---------- */
.story-rail{
  position:fixed;right:26px;top:50%;transform:translateY(-50%);
  height:46vh;width:3px;z-index:70;pointer-events:none;
  opacity:0;transition:opacity .5s ease;
}
.story-rail.on{opacity:1;}
.rail-track{position:absolute;inset:0;border-radius:999px;background:rgba(127,166,204,.14);}
.rail-fill{
  position:absolute;left:0;top:0;width:100%;height:0%;border-radius:999px;
  background:linear-gradient(180deg,#6fc1ff,#1b8df6);
  box-shadow:0 0 12px rgba(27,141,246,.6);
}
.rail-dot{
  position:absolute;left:50%;top:0%;transform:translate(-50%,-50%);
  width:11px;height:11px;border-radius:50%;
  background:#6fc1ff;box-shadow:0 0 14px rgba(27,141,246,.9), 0 0 4px rgba(255,255,255,.6);
}
.rail-dot::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1.5px solid rgba(111,193,255,.45);
  animation:railPulse 2s ease-out infinite;
}
@keyframes railPulse{0%{transform:scale(.5);opacity:1;}100%{transform:scale(1.6);opacity:0;}}

/* ---------- signal beam: headline -> people wall ---------- */
.signal-beam{
  position:absolute;top:50%;right:calc(100% - 8px);width:38vw;max-width:560px;height:2px;
  transform-origin:right center;pointer-events:none;z-index:1;
  background:linear-gradient(90deg, transparent, rgba(111,193,255,.15) 30%, #6fc1ff 85%, #fff);
  filter:drop-shadow(0 0 8px rgba(27,141,246,.8));
  animation:beamFire 5.2s ease-in-out infinite;
}
.signal-beam::after{
  content:"";position:absolute;right:-4px;top:50%;transform:translate(0,-50%);
  width:10px;height:10px;border-radius:50%;
  background:#fff;box-shadow:0 0 16px 4px rgba(111,193,255,.9);
  animation:beamSpark 5.2s ease-in-out infinite;
}
@keyframes beamFire{
  0%, 55%{opacity:0;transform:scaleX(0);}
  62%{opacity:1;transform:scaleX(1);}
  78%{opacity:1;transform:scaleX(1);}
  86%,100%{opacity:0;transform:scaleX(1);}
}
@keyframes beamSpark{
  0%,55%{opacity:0;}
  62%,78%{opacity:1;}
  86%,100%{opacity:0;}
}
/* beam flash on the wall card when the beam lands */
.viz-grid{animation:wallCatch 5.2s ease-in-out infinite;}
@keyframes wallCatch{
  0%,60%{box-shadow:0 34px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(207,227,247,.08);}
  70%,78%{box-shadow:0 34px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(207,227,247,.08), 0 0 44px rgba(27,141,246,.35);}
  90%,100%{box-shadow:0 34px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(207,227,247,.08);}
}

/* ---------- thought-bubble scenes (survey buckets) ---------- */
.bucket-card{text-align:left;}
.thought{position:relative;margin:.4rem 0 1.4rem;padding-left:12px;min-height:118px;}
.th-bubble{
  position:relative;display:inline-block;
  font-size:1.06rem;font-weight:800;line-height:1.35;letter-spacing:-.01em;color:#eef4fb;
  background:linear-gradient(160deg, rgba(27,141,246,.16), rgba(21,39,65,.7));
  border:1px solid rgba(111,193,255,.35);
  border-radius:22px 22px 22px 22px;padding:.95rem 1.25rem;
  box-shadow:0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(207,227,247,.1);
  animation:thFloat 5s ease-in-out infinite;
}
.bk-stigma .th-bubble{
  background:linear-gradient(160deg, rgba(255,99,99,.13), rgba(48,18,30,.6));
  border-color:rgba(255,133,133,.4);
}
@keyframes thFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.th-tail{
  position:absolute;border-radius:50%;
  background:rgba(27,141,246,.25);border:1px solid rgba(111,193,255,.3);
}
.bk-stigma .th-tail{background:rgba(255,99,99,.14);border-color:rgba(255,133,133,.32);}
.th-tail.t1{width:14px;height:14px;left:34px;bottom:26px;animation:thFloat 5s ease-in-out .2s infinite;}
.th-tail.t2{width:8px;height:8px;left:24px;bottom:12px;animation:thFloat 5s ease-in-out .35s infinite;}
.th-head{
  position:absolute;left:-2px;bottom:-14px;
  width:40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg, rgba(21,39,65,.9), rgba(11,20,36,.95));
  border:1px solid rgba(127,166,204,.3);color:#5a7ba3;font-size:1.3rem;
}

/* ---------- mini scenes (pop culture) ---------- */
.screen-card{text-align:left;}
.mini-scene{
  position:relative;height:110px;margin-bottom:1.2rem;border-radius:14px;overflow:hidden;
  background:#050b16;border:1px solid rgba(127,166,204,.14);
}
/* movie: neon PAWN sign in a dark alley shot */
.ms-screen{position:absolute;inset:0;}
.ms-sign{
  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  font-size:1.7rem;font-weight:900;letter-spacing:.34em;padding-left:.34em;
  color:#ff5b5b;text-shadow:0 0 14px rgba(255,80,80,.9), 0 0 40px rgba(255,60,60,.5);
  animation:neonBuzz 4s linear infinite;
}
@keyframes neonBuzz{
  0%,18%,22%,62%,68%,100%{opacity:1;}
  19%,21%{opacity:.35;}
  63%,66%{opacity:.5;}
}
.ms-scanlines{
  position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:repeating-linear-gradient(0deg, transparent 0 2px, rgba(0,0,0,.32) 2px 4px);
}
.ms-glare{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg, transparent 30%, rgba(207,227,247,.06) 45%, transparent 60%);
  animation:glareSweep 6s ease-in-out infinite;
}
@keyframes glareSweep{0%,100%{transform:translateX(-60%);}50%{transform:translateX(60%);}}
.ms-flicker{
  position:absolute;inset:0;background:rgba(9,14,26,.5);opacity:0;pointer-events:none;
  animation:filmFlicker 7s steps(1) infinite;
}
@keyframes filmFlicker{0%,92%,100%{opacity:0;}93%,94%{opacity:.5;}96%{opacity:.2;}}
.ms-base{display:none;}
/* game: "New Objective" quest popup on a CRT game screen (sibling of the neon movie card) */
.vg-hud{
  position:absolute;inset:0;padding:0 15px;
  display:flex;flex-direction:column;justify-content:center;
  background:radial-gradient(115% 88% at 50% 12%, rgba(27,141,246,.14), transparent 62%);
}
.vg-hud::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;opacity:.5;
  background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.30) 2px 4px);}
.vg-hud::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;
  background:linear-gradient(115deg,transparent 34%,rgba(207,227,247,.06) 48%,transparent 62%);
  animation:vgSweep 6s ease-in-out infinite;}
@keyframes vgSweep{0%,100%{transform:translateX(-60%);}50%{transform:translateX(60%);}}
.vg-vig{position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:14px;
  box-shadow:inset 0 0 20px rgba(0,0,0,.5), inset 0 0 55px rgba(0,0,0,.3);
  background:radial-gradient(130% 118% at 50% 50%, transparent 60%, rgba(0,0,0,.32) 100%);}
.vg-card{position:relative;z-index:2;padding-left:13px;}
.vg-card::before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:3px;border-radius:2px;
  background:linear-gradient(180deg,#1b8df6,#7fc1ff);box-shadow:0 0 10px rgba(27,141,246,.7);}
.vg-label{display:flex;align-items:center;gap:6px;font-size:.56rem;font-weight:800;letter-spacing:.26em;
  text-transform:uppercase;color:#7fc1ff;font-family:"Courier New",monospace;margin-bottom:8px;
  text-shadow:0 0 10px rgba(27,141,246,.55);}
.vg-label i{font-size:.85rem;}
.vg-new{margin-left:auto;width:6px;height:6px;border-radius:50%;background:#7fc1ff;
  box-shadow:0 0 8px rgba(127,193,255,.9);animation:vgPulse 2.4s ease-in-out infinite;}
@keyframes vgPulse{0%,100%{opacity:.4;transform:scale(.8);}50%{opacity:1;transform:scale(1.2);}}
.vg-obj{display:flex;align-items:flex-start;gap:9px;}
.vg-check{flex:none;margin-top:1px;width:15px;height:15px;border-radius:4px;
  border:1.5px solid rgba(127,193,255,.6);background:rgba(27,141,246,.08);
  box-shadow:inset 0 0 8px rgba(27,141,246,.22), 0 0 6px rgba(27,141,246,.25);}
.vg-obj-text{font-size:.85rem;font-weight:700;line-height:1.25;color:#eef4fb;letter-spacing:-.005em;}
.vg-obj-text b{color:#7fc1ff;font-weight:800;text-shadow:0 0 12px rgba(27,141,246,.45);}
.vg-reward{margin-top:7px;display:flex;align-items:center;gap:5px;font-size:.58rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:#e6c878;font-family:"Courier New",monospace;
  text-shadow:0 0 8px rgba(230,200,120,.3);}
.vg-reward i{font-size:.8rem;filter:drop-shadow(0 0 6px rgba(230,200,120,.5));
  animation:vgCoin 2.8s ease-in-out infinite;}
@keyframes vgCoin{0%,100%{transform:translateY(0);}50%{transform:translateY(-1.5px);}}
@media(max-width:360px){.vg-obj-text{font-size:.8rem;}.vg-label{letter-spacing:.2em;}}
@media(prefers-reduced-motion:reduce){.vg-hud::before,.vg-new,.vg-reward i{animation:none;}}

/* ---------- aurora arc behind the map ---------- */
.avail{position:relative;overflow:clip;}
.map-arc{
  position:absolute;left:50%;top:-6%;transform:translateX(-50%);
  width:150%;max-width:1900px;aspect-ratio:2.6/1;border-radius:50%;
  pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%, transparent 58%, rgba(27,141,246,.22) 63%, rgba(111,193,255,.34) 66%, rgba(0,68,255,.18) 70%, transparent 78%);
  filter:blur(6px);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, black 26%, black 52%, transparent 62%);
  mask-image:linear-gradient(180deg, transparent 0%, black 26%, black 52%, transparent 62%);
  animation:arcBreathe 9s ease-in-out infinite;
}
@keyframes arcBreathe{0%,100%{opacity:.75;}50%{opacity:1;}}

/* ---------- story-rail / cursor hidden on touch & small ---------- */
@media(max-width:1180px){
  .story-rail,.atmo-cursor{display:none;}
  .signal-beam{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .signal-beam,.signal-beam::after,.viz-grid,.th-bubble,.th-tail,.ms-sign,.ms-glare,.ms-flicker,
  .map-arc,.rail-dot::after{animation:none;}
  .story-rail{display:none;}
}

/* ============================================================
   NO-BRICK-WALL ELEMENTS v4 — chat thread · dead search ·
   definition card · feed demo · teach chips · mega quote ·
   proof badge
   ============================================================ */

/* ---------- survey chat thread ---------- */
.chat-thread{max-width:520px;margin-top:1.6rem;}
.ct-row{display:flex;margin-bottom:.65rem;}
.ct-row.us{justify-content:flex-start;}
.ct-row.them{justify-content:flex-end;}
.ct-bubble{
  display:inline-block;padding:.75rem 1.15rem;border-radius:20px;
  font-size:1.02rem;font-weight:700;line-height:1.4;
  animation:ctIn .5s cubic-bezier(.34,1.56,.64,1) both;
}
.ct-row.us .ct-bubble{
  background:linear-gradient(135deg,#1b8df6,#0a6fd4);color:#fff;
  border-bottom-left-radius:6px;
  box-shadow:0 8px 24px rgba(27,141,246,.3);
}
.ct-row.them .ct-bubble{
  background:rgba(21,39,65,.85);color:#cfe3f7;
  border:1px solid rgba(127,166,204,.25);
  border-bottom-right-radius:6px;
}
.ct-row:nth-child(1) .ct-bubble{animation-delay:.1s;}
.ct-row:nth-child(2) .ct-bubble{animation-delay:.45s;}
.ct-row:nth-child(3) .ct-bubble{animation-delay:.8s;}
@keyframes ctIn{
  0%{opacity:0;transform:translateY(12px) scale(.9);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
.ct-note{
  margin-top:1rem;font-size:.92rem;color:#9db8d6;font-weight:600;
}

/* ---------- dead search bar ---------- */
.dead-search{max-width:560px;margin:2.2rem auto 0;text-align:center;}
.ds-bar{
  display:flex;align-items:center;gap:.8rem;
  background:rgba(15,31,54,.85);border:1px solid rgba(127,166,204,.3);
  border-radius:999px;padding:1rem 1.5rem;
  box-shadow:0 18px 50px rgba(0,0,0,.4), inset 0 1px 0 rgba(207,227,247,.06);
}
.ds-bar i{color:#5a7ba3;font-size:1.25rem;}
.ds-text{font-size:1.15rem;font-weight:700;color:#5a7ba3;letter-spacing:.01em;}
.ds-text s{text-decoration-color:rgba(255,99,99,.85);text-decoration-thickness:3px;}
.ds-caret{
  width:2px;height:1.25em;background:#5a7ba3;
  animation:dsBlink 1.1s steps(1) infinite;
}
@keyframes dsBlink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
.ds-caption{
  margin-top:1rem;font-size:.95rem;font-weight:700;color:#ff8585;
}

/* ---------- definition card ---------- */
.defn{
  max-width:640px;margin:2.4rem auto 0;
  border-left:4px solid var(--accent);border-radius:6px 18px 18px 6px;
  background:linear-gradient(120deg, rgba(27,141,246,.09), rgba(21,39,65,.5));
  padding:1.8rem 2rem;
  box-shadow:0 16px 44px rgba(0,0,0,.3);
}
.defn-term{
  font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:900;letter-spacing:-.02em;color:#eef4fb;
}
.defn-type{
  font-size:.85rem;font-style:italic;color:#7fa6cc;margin:.25rem 0 .9rem;
}
.defn-body{font-size:1.05rem;line-height:1.55;color:#c4d6ee;}
.defn-body b{color:#6fc1ff;}

/* ---------- interrupt grid: feed demo + chips ---------- */
.interrupt-grid{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center;
  margin:3rem auto 0;max-width:960px;
}
.feed-demo{display:flex;flex-direction:column;align-items:center;gap:1rem;}
.fd-phone{
  position:relative;width:230px;height:340px;border-radius:26px;overflow:hidden;
  background:#0a1426;border:1px solid rgba(127,166,204,.3);
  box-shadow:0 30px 70px rgba(0,0,0,.55), 0 0 0 5px rgba(11,20,36,.8);
}
.fd-notch{
  position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:3;
  width:70px;height:7px;border-radius:999px;background:rgba(127,166,204,.25);
}
.fd-track{
  position:absolute;left:10px;right:10px;top:24px;
  display:flex;flex-direction:column;gap:10px;
  animation:feedScroll 9s linear infinite;
}
@keyframes feedScroll{
  0%{transform:translateY(0);}
  100%{transform:translateY(-50%);}
}
.fd-post{
  border-radius:12px;background:rgba(21,39,65,.6);
  border:1px solid rgba(127,166,204,.12);padding:.7rem;flex-shrink:0;
}
.fd-post.skel .fd-av{display:inline-block;width:22px;height:22px;border-radius:50%;background:rgba(127,166,204,.2);vertical-align:middle;}
.fd-lines{display:inline-flex;flex-direction:column;gap:4px;margin-left:8px;vertical-align:middle;}
.fd-lines i{display:block;height:6px;border-radius:3px;background:rgba(127,166,204,.18);width:90px;}
.fd-lines i:last-child{width:60px;}
.fd-img{display:block;height:52px;border-radius:8px;background:rgba(127,166,204,.1);margin-top:8px;}
.fd-post.yours{
  background:linear-gradient(160deg, rgba(27,141,246,.2), rgba(21,39,65,.85));
  border-color:rgba(111,193,255,.55);
  box-shadow:0 0 22px rgba(27,141,246,.35);
}
.fd-head{display:flex;align-items:center;gap:6px;font-size:.62rem;color:#eef4fb;}
.fd-head b{font-weight:800;}
.fd-head i{font-style:normal;color:#7fa6cc;font-size:.56rem;}
.fd-av.you{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;font-weight:900;font-size:.6rem;
}
.fd-copy{display:block;font-size:.66rem;color:#cfe3f7;line-height:1.4;margin:.45rem 0;}
.fd-vid{
  display:flex;align-items:center;justify-content:center;height:58px;border-radius:8px;
  background:radial-gradient(circle at 40% 50%, rgba(27,141,246,.45), #0a1830);
  color:#fff;font-size:1.5rem;
}
.fd-caption{font-size:.88rem;font-weight:700;color:#9db8d6;text-align:center;}
/* teach chips */
.teach-chips{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start;}
.tc-label{
  font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:.3rem;
}
.teach-chip{
  display:inline-flex;align-items:center;gap:.65rem;
  border:1px solid rgba(27,141,246,.3);border-radius:999px;
  background:rgba(27,141,246,.07);padding:.8rem 1.3rem;
  font-size:1rem;font-weight:700;color:#eef4fb;
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}
.teach-chip:hover{transform:translateX(6px);border-color:rgba(111,193,255,.6);background:rgba(27,141,246,.14);}
.teach-chip i{color:var(--accent);font-size:1.2rem;}
.tc-note{margin-top:.6rem;font-size:.92rem;color:#9db8d6;max-width:380px;line-height:1.5;}

/* ---------- mega quote ---------- */
.mega-quote{
  text-align:center;margin:4.5rem auto;max-width:820px;
  font-size:clamp(1.7rem,4.2vw,2.8rem);font-weight:900;letter-spacing:-.02em;line-height:1.2;
  color:#eef4fb;
}
.mq-grad{
  background:linear-gradient(135deg,#6fc1ff,#1b8df6 55%,#0044ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---------- proof badge ---------- */
.proof-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(27,141,246,.12);border:1px solid rgba(27,141,246,.4);
  border-radius:999px;padding:.2rem .75rem;
  font-weight:800;color:#6fc1ff;white-space:nowrap;
}
.proof-badge i{font-size:1rem;}

/* ---------- no-brick-wall responsive ---------- */
@media(max-width:960px){
  .interrupt-grid{grid-template-columns:1fr;gap:2.2rem;}
  .feed-demo{order:2;}
  .teach-chips{order:1;}
  .defn{padding:1.4rem 1.5rem;}
}
@media(prefers-reduced-motion:reduce){
  .ct-bubble{animation:none;opacity:1;}
  .fd-track,.ds-caret{animation:none;}
}

/* ---------- arsenal manifest: numbered dossier rows ---------- */
.manifest{
  margin-top:2.6rem;border:1px solid rgba(127,166,204,.18);border-radius:20px;
  background:linear-gradient(180deg, rgba(15,31,54,.55), rgba(11,20,36,.75));
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.mf-row{
  position:relative;display:grid;grid-template-columns:86px 1fr 60px;align-items:center;
  padding:1.35rem 1.6rem 1.35rem 0;
  border-bottom:1px solid rgba(127,166,204,.1);
  transition:background .25s ease;
}
.mf-row:last-child{border-bottom:none;}
.mf-row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#1b8df6,#0044ff);
  transform:scaleY(0);transform-origin:top;transition:transform .3s ease;
}
.mf-row:hover{background:rgba(27,141,246,.05);}
.mf-row:hover::before{transform:scaleY(1);}
.mf-num{
  text-align:center;font-size:1.5rem;font-weight:900;letter-spacing:-.02em;
  color:transparent;-webkit-text-stroke:1.5px rgba(27,141,246,.55);
  transition:color .25s ease, -webkit-text-stroke-color .25s ease;
}
.mf-row:hover .mf-num{color:#1b8df6;-webkit-text-stroke-color:transparent;}
.mf-body h3{font-size:1.12rem;margin:0 0 .25rem;letter-spacing:-.01em;}
.mf-body p{margin:0;font-size:.92rem;color:#9db8d6;line-height:1.55;max-width:58ch;}
.mf-tick{
  display:flex;align-items:center;justify-content:center;
  color:rgba(127,166,204,.35);font-size:1.35rem;
  transition:color .25s ease, transform .25s ease;
}
.mf-row:hover .mf-tick{color:#6fc1ff;transform:scale(1.15);}
@media(max-width:700px){
  .mf-row{grid-template-columns:56px 1fr 40px;padding:1.1rem 1rem 1.1rem 0;}
  .mf-num{font-size:1.15rem;}
  .mf-tick{font-size:1.1rem;}
}

/* ---------- zone pop-up card ---------- */
.zone-pop{
  position:absolute;z-index:20;width:250px;
  background:rgba(11,20,36,.98);border-radius:16px;padding:1.2rem 1.2rem 1.1rem;
  border:1px solid rgba(27,141,246,.5);
  box-shadow:0 24px 60px rgba(0,0,0,.65), 0 0 34px rgba(27,141,246,.2);
  animation:zpIn .28s cubic-bezier(.34,1.56,.64,1);
  text-align:left;
}
.zone-pop.zp-taken{border-color:rgba(255,99,99,.5);box-shadow:0 24px 60px rgba(0,0,0,.65), 0 0 34px rgba(255,99,99,.14);}
@keyframes zpIn{
  0%{opacity:0;transform:translateY(10px) scale(.92);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
.zp-x{
  position:absolute;top:8px;right:8px;width:26px;height:26px;border:0;border-radius:50%;
  background:rgba(127,166,204,.15);color:#9db8d6;font-size:.7rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease, color .15s ease;
}
.zp-x:hover{background:rgba(127,166,204,.3);color:#fff;}
.zp-status{
  display:flex;align-items:center;gap:.45rem;
  font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#6fc1ff;margin-bottom:.35rem;
}
.zp-taken .zp-status{color:#ff8585;}
.zp-live{
  width:9px;height:9px;border-radius:50%;background:#2ecc71;
  box-shadow:0 0 8px rgba(46,204,113,.9);
  animation:zpLive 1.6s ease-in-out infinite;
}
@keyframes zpLive{0%,100%{opacity:1;}50%{opacity:.45;}}
.zp-name{font-size:1.15rem;font-weight:900;letter-spacing:-.01em;color:#eef4fb;margin-bottom:.4rem;}
.zp-note{font-size:.82rem;color:#9db8d6;line-height:1.5;margin:0 0 .9rem;}
.zp-cta{width:100%;justify-content:center;text-align:center;font-size:.88rem;padding:.7rem 1rem;}
@media(max-width:640px){
  .zone-pop{width:210px;padding:1rem;}
  .zp-name{font-size:1rem;}
}
@media(prefers-reduced-motion:reduce){
  .zone-pop{animation:none;}
  .zp-live{animation:none;}
}

/* ---------- v2 responsive ---------- */
@media(max-width:1180px){
  .ars-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:960px){
  .bucket-grid{grid-template-columns:1fr;}
  .screen-grid{grid-template-columns:1fr;}
  .line-grid{grid-template-columns:1fr;}
  .pairs-grid{grid-template-columns:1fr;gap:2rem;}
  .map-wrap{grid-template-columns:1fr;}
  .fb-hero-grid{grid-template-columns:1fr;gap:2.2rem;}
  .fb-hero-viz{max-width:420px;margin:0 auto;}
  .vz-person{width:56px;height:56px;font-size:1.5rem;border-radius:14px;}
  .viz-grid{padding:1.2rem;gap:.6rem;}
  .atmo-blob{filter:blur(60px);}
  .adphone{display:none;}
}
@media(max-width:640px){
  .ars-grid{grid-template-columns:1fr;}
  .map-count{grid-template-columns:1fr 1fr;}
}
@media(prefers-reduced-motion:reduce){
  .pv-pulse,.pin-open .pin2-dot::after,.ap-boost,.vz-person,.fb-hero-viz,.atmo-blob{animation:none;}
  .ap-shell.boost{animation:none;}
  .vz-person{opacity:1;}
}

/* ===== MARKETPLACE COST COMPARE (facebook-marketplace.html) ===== */
.mkt-compare{
  display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;align-items:stretch;
  margin:2.6rem 0 1.4rem;
}
.mkt-side{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-2);
  padding:2rem 1.8rem;display:flex;flex-direction:column;position:relative;overflow:clip;
}
.mkt-diy{border-color:rgba(255,99,99,.35);}
.mkt-us{border-color:rgba(27,141,246,.5);background:linear-gradient(180deg,rgba(27,141,246,.07),var(--ink-2));}
.mkt-tag{
  font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;
  color:var(--text-dim);margin-bottom:1.2rem;
}
.mkt-us .mkt-tag{color:var(--accent);}
.mkt-lines{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-direction:column;gap:.8rem;flex:1;}
.mkt-lines li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;line-height:1.45;color:#c4d6ee;}
.mkt-lines li i{flex:0 0 auto;margin-top:.1rem;font-size:1.1rem;}
.mkt-diy .mkt-lines li i{color:#ff8585;}
.mkt-us .mkt-lines li i{color:var(--accent);}
.mkt-lines b{color:var(--text);}
.mkt-total{border-top:1px solid rgba(127,166,204,.16);padding-top:1.2rem;}
.mkt-total-num{display:block;font-size:2rem;font-weight:900;letter-spacing:-.02em;line-height:1.1;}
.mkt-diy .mkt-total-num{color:#ff8585;}
.mkt-us .mkt-total-num{color:var(--accent);}
.mkt-total-cap{display:block;margin-top:.4rem;font-size:.88rem;color:var(--text-dim);line-height:1.4;}
.mkt-vs{
  align-self:center;font-weight:900;font-size:1.1rem;color:var(--text-dim);
  text-transform:uppercase;letter-spacing:.05em;
}
@media(max-width:760px){
  .mkt-compare{grid-template-columns:1fr;gap:.9rem;}
  .mkt-vs{padding:.2rem 0;}
}


/* ============================================================
   v3 additions (20260702) — rap sheet · search trends · share bar
   ============================================================ */

/* ---------- pop-culture rap sheet ---------- */
.rapsheet{
  max-width:760px;margin:2.6rem auto 2.2rem;border-radius:20px;overflow:hidden;
  border:1px solid rgba(127,166,204,.2);
  background:linear-gradient(180deg, rgba(15,31,54,.6), rgba(11,20,36,.8));
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.rs-head{
  display:flex;align-items:center;gap:.6rem;
  padding:1rem 1.4rem;font-size:.8rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:#7fc1ff;
  background:rgba(27,141,246,.08);border-bottom:1px solid rgba(127,166,204,.15);
}
.rs-row{
  display:flex;align-items:baseline;gap:1rem;padding:1rem 1.4rem;
  border-bottom:1px solid rgba(127,166,204,.1);
  transition:background .25s ease;
}
.rs-row:last-of-type{border-bottom:none;}
.rs-row:hover{background:rgba(27,141,246,.05);}
.rs-tag{
  flex:0 0 62px;text-align:center;font-size:.6rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;padding:.3rem 0;border-radius:999px;
}
.rs-tag.rs-game{background:rgba(155,89,246,.14);color:#c9a6ff;border:1px solid rgba(155,89,246,.35);}
.rs-tag.rs-movie{background:rgba(246,178,27,.12);color:#ffd36e;border:1px solid rgba(246,178,27,.3);}
.rs-body b{display:block;font-size:1rem;color:#eef4fb;}
.rs-body span{display:block;font-size:.88rem;color:#9db8d6;line-height:1.5;margin-top:.15rem;}
.rs-foot{
  padding:1.1rem 1.4rem;font-size:.9rem;color:#c4d6ee;
  border-top:1px dashed rgba(127,166,204,.2);background:rgba(27,141,246,.04);
}
@media(max-width:600px){
  .rs-row{flex-direction:column;gap:.35rem;}
  .rs-tag{flex-basis:auto;align-self:flex-start;padding:.3rem .7rem;}
}

/* ---------- market-share segmented bar ---------- */
.share-band{
  max-width:720px;margin:2.6rem auto 0;text-align:center;
  border:1px solid rgba(27,141,246,.3);border-radius:20px;padding:2rem 1.8rem;
  background:linear-gradient(180deg, rgba(27,141,246,.07), rgba(11,20,36,.6));
}
.share-band h3{margin:0 0 1.4rem;font-size:1.25rem;}
.share-band p{margin:1.4rem auto 0;max-width:52ch;font-size:.95rem;color:#9db8d6;line-height:1.6;}
/* red ocean (crowded 10%) vs blue ocean (open 90%) */
.ocean{
  position:relative;display:flex;align-items:stretch;
  height:196px;border-radius:16px;overflow:hidden;
  border:1px solid rgba(127,166,204,.2);text-align:left;
}
.oc-red,.oc-blue{position:relative;overflow:hidden;padding:1.05rem 1.15rem;}
.oc-red{flex:0 0 34%;background:linear-gradient(155deg,#5c1512,#280a09 88%);}
.oc-blue{flex:1;background:linear-gradient(155deg,rgba(27,141,246,.30),#0a2b52 90%);}
/* faint water shimmer along the bottom of each ocean */
.oc-red::after,.oc-blue::after{
  content:"";position:absolute;left:-20%;right:-20%;bottom:0;height:58%;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(255,255,255,.05) 13px 15px);
  -webkit-mask:linear-gradient(0deg,#000,transparent);mask:linear-gradient(0deg,#000,transparent);
}
.oc-label{display:flex;align-items:baseline;gap:.45rem;position:relative;z-index:2;}
.oc-pct{font-size:1.75rem;font-weight:900;letter-spacing:-.02em;color:#fff;line-height:1;}
.oc-name{font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.oc-red .oc-name{color:#ff8a80;}
.oc-blue .oc-name{color:#7fc1ff;}
.oc-sub{margin-top:.4rem;font-size:.72rem;line-height:1.4;color:rgba(255,255,255,.72);position:relative;z-index:2;max-width:20ch;}
/* crowded competitor boats jammed into the red ocean */
.oc-boats{position:absolute;left:0;right:0;bottom:.55rem;display:flex;flex-wrap:wrap;
  gap:0 .12rem;justify-content:center;align-content:flex-end;padding:0 .55rem;z-index:1;line-height:.9;}
.oc-boats i{font-size:1.02rem;color:rgba(255,138,128,.8);}
/* your boat sailing the open blue */
.oc-you{position:absolute;right:15%;bottom:24%;font-size:2.5rem;color:#fff;z-index:2;
  filter:drop-shadow(0 0 12px rgba(111,193,255,.85));animation:ocSail 6s ease-in-out infinite;}
@keyframes ocSail{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-6px) rotate(2deg);}}
/* the come-this-way pull straddling the boundary */
.oc-arrow{position:absolute;left:34%;top:50%;transform:translate(-50%,-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:.2rem;color:#fff;}
.oc-arrow i{font-size:1.5rem;animation:ocNudge 1.7s ease-in-out infinite;}
.oc-arrow span{font-size:.54rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7fc1ff;white-space:nowrap;}
@keyframes ocNudge{0%,100%{transform:translateX(-3px);}50%{transform:translateX(4px);}}
@media(prefers-reduced-motion:reduce){.oc-you,.oc-arrow i{animation:none;}}
@media(max-width:560px){
  .ocean{flex-direction:column;height:auto;}
  .oc-red{flex-basis:auto;}
  .oc-red .oc-boats{position:static;margin-top:.6rem;justify-content:flex-start;}
  .oc-blue{min-height:150px;}
  /* the boundary arrow only reads in the side-by-side desktop layout */
  .oc-arrow{display:none;}
}


/* ---------- time ledger: the reclaimed hours (marketplace) ---------- */
.time-ledger{
  max-width:720px;margin:2.6rem auto 0;border-radius:20px;overflow:hidden;
  border:1px solid rgba(127,166,204,.2);
  background:linear-gradient(180deg, rgba(15,31,54,.6), rgba(11,20,36,.8));
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.tl-head{
  display:flex;align-items:center;gap:.6rem;
  padding:1rem 1.4rem;font-size:.8rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:#7fc1ff;
  background:rgba(27,141,246,.08);border-bottom:1px solid rgba(127,166,204,.15);
}
.tl-row{
  display:flex;align-items:baseline;gap:1rem;padding:1.05rem 1.4rem;
  border-bottom:1px solid rgba(127,166,204,.1);
  transition:background .25s ease;
}
.tl-row:last-of-type{border-bottom:none;}
.tl-row:hover{background:rgba(27,141,246,.05);}
.tl-who{
  flex:0 0 92px;font-size:.62rem;font-weight:800;text-align:center;
  letter-spacing:.08em;text-transform:uppercase;padding:.32rem .4rem;border-radius:999px;
  background:rgba(127,166,204,.1);color:#9db8d6;border:1px solid rgba(127,166,204,.25);
}
.tl-body b{display:block;font-size:1rem;color:#eef4fb;}
.tl-body span{display:block;font-size:.88rem;color:#9db8d6;line-height:1.5;margin-top:.15rem;}
.tl-row.tl-you{background:rgba(27,141,246,.06);}
.tl-row.tl-you .tl-who{background:rgba(27,141,246,.16);color:#7fc1ff;border-color:rgba(27,141,246,.4);}
.tl-row.tl-you .tl-body b{color:#6fc1ff;}
@media(max-width:560px){
  .tl-row{flex-direction:column;gap:.4rem;}
  .tl-who{flex-basis:auto;align-self:flex-start;padding:.32rem .7rem;}
}

/* ============================================================
   MARKETPLACE v2 (20260702) — feed mock hero · availability chat ·
   price plaque · slot meters · proof placeholders · account team
   ============================================================ */

/* ---------- hero: live marketplace feed mock ---------- */
@media(min-width:1080px){
  .mkt-hero{position:relative;}
  .mkt-hero .hero2-inner{padding-right:clamp(430px,42vw,520px);}
  .mkt-hero h1{font-size:clamp(2.7rem,4.4vw,3.6rem);}
  .mkt-stage{
    position:absolute;right:clamp(24px,5vw,110px);top:50%;
    transform:translateY(-50%);width:min(420px,34vw);z-index:2;
  }
}
.mkt-stage{display:none;}
@media(min-width:1080px){.mkt-stage{display:block;}}
.mkfeed{
  border-radius:22px;overflow:hidden;
  border:1px solid rgba(127,166,204,.25);
  background:linear-gradient(180deg, rgba(15,31,54,.9), rgba(11,20,36,.96));
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.mkf-bar{
  display:flex;align-items:center;gap:.5rem;padding:.75rem 1.1rem;
  background:rgba(10,19,34,.9);border-bottom:1px solid rgba(127,166,204,.15);
  font-size:.78rem;font-weight:700;color:#9db8d6;
}
.mkf-bar i{color:#6fc1ff;}
.mkf-bar .mkf-live{
  margin-left:auto;font-size:.58rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;padding:.24rem .55rem;border-radius:999px;
  background:rgba(53,208,127,.14);color:#7fe0a8;border:1px solid rgba(53,208,127,.35);
}
.mkf-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:.9rem;}
.mk-item{
  position:relative;border-radius:12px;overflow:hidden;
  border:1px solid rgba(127,166,204,.18);background:rgba(21,39,65,.6);
  transition:opacity .45s ease, transform .45s ease;
}
.mk-thumb{
  height:86px;display:flex;align-items:center;justify-content:center;
  font-size:2rem;color:#7fc1ff;
  background:
    radial-gradient(60% 90% at 50% 110%, rgba(27,141,246,.22), transparent 70%),
    linear-gradient(160deg,#16263f,#0d1b30);
}
.mk-meta{padding:.55rem .7rem .7rem;}
.mk-meta b{display:block;font-size:.74rem;color:#eef4fb;line-height:1.25;}
.mk-meta span{display:block;font-size:.78rem;font-weight:800;color:#6fc1ff;margin-top:.2rem;}
.mk-stamp{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(8,14,26,.55);opacity:0;transition:opacity .3s ease;
}
.mk-stamp b{
  font-size:1.05rem;font-weight:900;letter-spacing:.18em;color:#7fe0a8;
  border:2px solid #7fe0a8;border-radius:8px;padding:.25rem .8rem;
  transform:rotate(-10deg);background:rgba(8,20,14,.6);
}
.mk-item.sold .mk-stamp{opacity:1;}
.mk-item.out{opacity:0;transform:scale(.86);}
.mkf-cap{
  padding: .7rem 1.1rem .9rem;font-size:.72rem;color:#7fa6cc;text-align:center;
  border-top:1px dashed rgba(127,166,204,.15);
}

/* ---------- availability chat demo ---------- */
.avail-chat{
  max-width:520px;margin:2.4rem auto 0;border-radius:20px;overflow:hidden;
  border:1px solid rgba(127,166,204,.25);
  background:linear-gradient(180deg, rgba(15,31,54,.85), rgba(11,20,36,.95));
  box-shadow:0 24px 70px rgba(0,0,0,.4);
}
.ac-bar{
  display:flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;
  background:rgba(10,19,34,.9);border-bottom:1px solid rgba(127,166,204,.15);
  font-size:.75rem;font-weight:700;color:#9db8d6;
}
.ac-bar i{color:#6fc1ff;}
.ac-thread{padding:1.1rem;display:flex;flex-direction:column;gap:.7rem;}
.ac-msg{max-width:82%;padding:.7rem .95rem;border-radius:15px;font-size:.88rem;line-height:1.45;font-weight:600;}
.ac-msg.buyer{align-self:flex-start;background:rgba(21,39,65,.85);color:#cfe3f7;border:1px solid rgba(127,166,204,.25);border-bottom-left-radius:5px;}
.ac-msg.you{align-self:flex-end;color:#fff;background:linear-gradient(135deg,#1b8df6,#0a6fd4);border-bottom-right-radius:5px;}
.ac-tag{
  align-self:center;font-size:.66rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#7fe0a8;padding:.3rem .7rem;border-radius:999px;
  background:rgba(53,208,127,.1);border:1px solid rgba(53,208,127,.3);
}

/* ---------- price plaque (compact) ---------- */
.mkt-plaque{
  max-width:560px;margin:2.6rem auto 0;text-align:center;position:relative;overflow:hidden;
  border:1px solid rgba(27,141,246,.35);border-radius:22px;
  background:
    radial-gradient(80% 120% at 50% 0%, rgba(27,141,246,.12), transparent 60%),
    linear-gradient(180deg, rgba(15,31,54,.7), rgba(11,20,36,.9));
  padding:2.2rem 1.8rem 2rem;box-shadow:0 24px 70px rgba(0,0,0,.4);
}
.mkt-plaque .mp-eyebrow{
  display:block;font-size:.74rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:#7fc1ff;margin-bottom:.8rem;
}
.mkt-plaque .mp-num{
  font-size:clamp(2.8rem,7vw,4.2rem);font-weight:900;letter-spacing:-.03em;line-height:1;
  background:linear-gradient(92deg,#eef4fb 20%,#6fc1ff 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.mkt-plaque .mp-cap{font-size:.85rem;color:#7fa6cc;font-weight:700;margin-top:.5rem;}

/* ---------- slot meters on POS tiers ---------- */
.slot-meter{margin-top:1.1rem;}
.slot-meter .sm-lab{
  display:flex;justify-content:space-between;font-size:.68rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;color:#7fa6cc;margin-bottom:.4rem;
}
.slot-meter .sm-track{
  height:10px;border-radius:999px;background:rgba(127,166,204,.14);overflow:hidden;
}
.slot-meter .sm-fill{
  height:100%;border-radius:999px;width:0;
  background:linear-gradient(90deg,#1b8df6,#6fc1ff);
  transition:width 1.2s cubic-bezier(.22,1,.36,1) .3s;
}
.reveal.in .slot-meter .sm-fill,.slot-meter.in .sm-fill{width:var(--slots);}

/* ---------- proof placeholders ---------- */
.mkt-proof{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;
  max-width:920px;margin:2.6rem auto 0;
}
.mkp-card{
  text-align:center;border-radius:18px;padding:1.7rem 1.3rem;
  background:linear-gradient(170deg, rgba(21,39,65,.6), rgba(13,25,44,.85));
  border:1px solid rgba(127,166,204,.2);
}
.mkp-card b{
  display:block;font-size:2.1rem;font-weight:900;letter-spacing:-.02em;
  background:linear-gradient(135deg,#6fc1ff,#1b8df6);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.mkp-card span{display:block;font-size:.85rem;color:#9db8d6;margin-top:.5rem;line-height:1.5;}
.mkp-note{
  text-align:center;font-size:.78rem;color:#7fa6cc;margin-top:1.2rem;
}
@media(max-width:820px){.mkt-proof{grid-template-columns:1fr;max-width:420px;}}

/* ---------- account team ---------- */
.acct-team{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;
  max-width:920px;margin:2.6rem auto 0;
}
.at-card{
  text-align:center;border-radius:18px;padding:1.6rem 1rem 1.4rem;
  background:linear-gradient(170deg, rgba(21,39,65,.55), rgba(13,25,44,.85));
  border:1px solid rgba(127,166,204,.2);
  transition:transform .25s ease, border-color .25s ease;
}
.at-card:hover{transform:translateY(-4px);border-color:rgba(27,141,246,.5);}
.at-card .at-ph{
  width:84px;height:84px;border-radius:50%;margin:0 auto .8rem;overflow:hidden;
  border:2px solid rgba(27,141,246,.45);box-shadow:0 10px 30px rgba(0,0,0,.4);
  display:flex;align-items:center;justify-content:center;
  background:rgba(27,141,246,.1);color:#6fc1ff;font-weight:900;font-size:1.2rem;
}
.at-card .at-ph img{width:100%;height:100%;object-fit:cover;}
.at-card h3{margin:0;font-size:1rem;}
.at-card span{display:block;font-size:.74rem;color:#7fa6cc;font-weight:700;margin-top:.25rem;}
@media(max-width:820px){.acct-team{grid-template-columns:repeat(2,1fr);max-width:460px;}}

/* ============================================================
   SCENE: never-google autocomplete (ng-)
   ============================================================ */
.ng-stage{position:relative;width:100%;max-width:560px;margin:2.2rem auto 0;text-align:center;}
.ng-stage::before{
  content:"";position:absolute;inset:-70px 0;pointer-events:none;
  background:radial-gradient(ellipse 85% 55% at 50% 28%,rgba(27,141,246,.08),transparent 70%);
}
.ng-search{position:relative;text-align:left;}
.ng-stage .dead-search{margin:0;max-width:none;}
.ng-stage .ds-bar{
  position:relative;
  transition:border-radius .42s cubic-bezier(.22,1,.36,1),border-bottom-color .42s ease;
}
.ng-stage.ng-open .ds-bar{
  border-radius:24px 24px 0 0;
  border-bottom-color:transparent;
}
.ng-panel{
  max-height:0;opacity:0;overflow:hidden;
  background:#0d1a2e;
  border:1px solid rgba(127,166,204,.3);border-top:none;
  border-radius:0 0 22px 22px;
  box-shadow:0 30px 60px rgba(0,0,0,.45);
  transition:max-height .42s cubic-bezier(.22,1,.36,1),opacity .32s ease;
}
.ng-stage.ng-open .ng-panel{max-height:360px;opacity:1;}
.ng-panel::before{
  content:"";display:block;height:1px;margin:0 1.35rem .35rem;
  background:rgba(127,166,204,.16);
}
.ng-row{
  display:flex;align-items:center;gap:.85rem;
  padding:.6rem 1.45rem;
  opacity:0;transform:translateY(6px);
  transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.ng-row i{
  flex:0 0 auto;width:1.3rem;display:inline-flex;justify-content:center;
  color:#5a7ba3;font-size:1.05rem;
}
.ng-q{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:1rem;font-weight:600;letter-spacing:.01em;color:#cfe3f7;
}
.ng-history .ng-q{color:#5a7ba3;}
.ng-mark{
  margin-left:auto;flex:0 0 auto;
  font-size:.66rem;font-weight:700;letter-spacing:.05em;
}
.ng-falling{color:#f08c8c;}
.ng-climbing{color:rgba(53,208,127,.78);}
.ng-divider{
  padding:.8rem 1.45rem .3rem;text-align:left;
  font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#7fa6cc;
  opacity:0;transform:translateY(6px);
  transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.ng-foot{
  margin-top:.4rem;padding:.6rem 1.45rem .95rem;text-align:left;
  border-top:1px solid rgba(127,166,204,.1);
  font-size:.62rem;font-weight:600;letter-spacing:.03em;color:#5a7ba3;
  opacity:0;transform:translateY(6px);
  transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.ng-open .ng-row,.ng-open .ng-divider,.ng-open .ng-foot{opacity:1;transform:none;}
.ng-open .ng-history{transition-delay:.18s;}
.ng-open .ng-divider{transition-delay:.28s;}
.ng-open .ng-t1{transition-delay:.38s;}
.ng-open .ng-t2{transition-delay:.48s;}
.ng-open .ng-t3{transition-delay:.58s;}
.ng-open .ng-foot{transition-delay:.7s;}
.ng-open.ng-settled .ng-history{opacity:.35;transition:opacity 1.8s ease;transition-delay:0s;}
.ng-open.ng-settled .ng-history:hover{opacity:1;transition:opacity .3s ease;}
.ng-trend:hover{background:rgba(255,255,255,.04);}
.ng-caption{
  margin:1.15rem 0 0;font-size:.95rem;font-weight:700;color:#ff8585;
  opacity:0;transform:translateY(6px);
  transition:opacity .5s ease .55s,transform .5s cubic-bezier(.22,1,.36,1) .55s;
}
.ng-caption span{color:#7fe0a8;}
.ng-kicker{
  margin:1.35rem auto 0;max-width:460px;
  font-size:1.08rem;line-height:1.5;color:#9db8d6;
  opacity:0;transform:translateY(6px);
  transition:opacity .5s ease .75s,transform .5s cubic-bezier(.22,1,.36,1) .75s;
}
.ng-kicker b{color:#eef4fb;}
.ng-open .ng-caption,.ng-open .ng-kicker{opacity:1;transform:none;}
@media(max-width:560px){
  .ng-mark{font-size:.62rem;}
  .ng-row{padding:.55rem 1.25rem;}
  .ng-divider,.ng-foot{padding-left:1.25rem;padding-right:1.25rem;}
  .ng-panel::before{margin:0 1.15rem .3rem;}
}
@media(max-width:360px){
  .ng-mark{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .ng-stage .ds-bar{border-radius:24px 24px 0 0;border-bottom-color:transparent;transition:none;}
  .ng-panel{max-height:none;opacity:1;transition:none;}
  .ng-row,.ng-divider,.ng-foot,.ng-caption,.ng-kicker{opacity:1;transform:none;transition:none;}
  .ng-history{opacity:.35;}
  .ng-open.ng-settled .ng-history{transition:none;}
}

/* ============================================================
   SCENE: PL-50 market scope (dz-)
   ============================================================ */
/* ============ PL-50 MARKET SCOPE (dz) ============ */
.dz-stage{
  position:relative;width:100%;max-width:680px;margin:2.4rem auto 0;
  display:flex;flex-direction:column;align-items:center;z-index:1;
}
.dz-pool{
  position:absolute;inset:-70px 0;pointer-events:none;z-index:0;
  background:
    radial-gradient(58% 44% at 50% 60%, rgba(27,141,246,.075), transparent 72%),
    radial-gradient(46% 15% at 50% 4%, rgba(232,93,93,.055), transparent 75%);
}
.dz-trap{position:relative;z-index:1;width:100%;margin:0 0 2.3rem;}
.dz-trap .dead-search{margin-top:0;}

.dz-inst{position:relative;z-index:1;width:100%;max-width:620px;}
.dz-chassis{
  position:relative;border-radius:20px;padding:1.4rem 1.4rem 1.45rem;
  background:linear-gradient(180deg,#152a46 0%,#0f2038 9%,#0d1a2e 58%,#0a1526 100%);
  border:1px solid rgba(127,166,204,.16);
  box-shadow:
    0 34px 70px -28px rgba(0,0,0,.8),
    inset 0 2px 0 rgba(127,193,255,.09),
    inset 0 -16px 44px -22px rgba(0,0,0,.75);
}
.dz-chassis::before{
  content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px);
}

/* corner screws */
.dz-screw{
  position:absolute;width:13px;height:13px;border-radius:50%;z-index:2;
  background:radial-gradient(circle at 35% 30%, #3d5a80, #16283f 62%, #0a1420);
  box-shadow:0 1px 2px rgba(0,0,0,.7), 0 0 0 1px rgba(0,0,0,.45), inset 0 1px 0 rgba(127,193,255,.16);
}
.dz-screw::after{
  content:"";position:absolute;left:2.5px;right:2.5px;top:50%;height:2px;margin-top:-1px;
  background:rgba(4,9,16,.9);border-radius:2px;transform:rotate(24deg);
}
.dz-s1{top:10px;left:10px;}
.dz-s2{top:10px;right:10px;}  .dz-s2::after{transform:rotate(-38deg);}
.dz-s3{bottom:10px;left:10px;} .dz-s3::after{transform:rotate(66deg);}
.dz-s4{bottom:10px;right:10px;} .dz-s4::after{transform:rotate(-12deg);}

/* etched head */
.dz-head{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:0 0 1.15rem;}
.dz-etch{
  font-weight:800;font-size:.8rem;letter-spacing:.34em;text-indent:.34em;color:#7fa6cc;
  text-shadow:0 1px 0 rgba(0,0,0,.85), 0 -1px 0 rgba(127,193,255,.1);
}
.dz-placard{
  font-size:.64rem;font-weight:700;letter-spacing:.18em;text-indent:.18em;text-align:center;
  color:#9db8d6;padding:.44rem .95rem;border-radius:6px;
  background:linear-gradient(180deg,rgba(3,8,15,.55),rgba(6,12,22,.3));
  box-shadow:inset 0 1px 3px rgba(0,0,0,.65), 0 1px 0 rgba(127,193,255,.07);
  text-shadow:0 1px 0 rgba(0,0,0,.8);
}

/* ---------- scope ---------- */
.dz-scope{position:relative;width:min(100%,440px);margin:0 auto;aspect-ratio:1;}
.dz-bezel{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 130deg,#26425f,#101f34 22%,#1d3450 48%,#0c1828 72%,#26425f);
  box-shadow:0 16px 34px -14px rgba(0,0,0,.85), inset 0 1px 0 rgba(127,193,255,.16);
}
.dz-glass{
  position:absolute;inset:10px;border-radius:50%;overflow:hidden;
  background:radial-gradient(circle at 50% 42%, #0a1626 0%, #060b16 60%, #04080f 100%);
  box-shadow:
    0 0 0 1px rgba(127,193,255,.15),
    inset 0 20px 44px -14px rgba(0,0,0,.85),
    inset 0 -12px 34px -18px rgba(27,141,246,.28);
}
.dz-glass svg{position:absolute;inset:0;width:100%;height:100%;display:block;}
.dz-sweep{
  position:absolute;inset:0;border-radius:50%;pointer-events:none;mix-blend-mode:screen;
  background:conic-gradient(from 0deg,
    rgba(27,141,246,0) 0deg, rgba(27,141,246,0) 286deg,
    rgba(27,141,246,.1) 322deg, rgba(94,172,255,.28) 357deg,
    rgba(148,204,255,.5) 360deg);
  animation:dzSweep 6s linear infinite;
}
@keyframes dzSweep{to{transform:rotate(360deg);}}
.dz-scan{
  position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(127,193,255,.05) 0 1px, transparent 1px 4px);
}
.dz-glare{
  position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(58% 36% at 32% 18%, rgba(238,244,251,.065), transparent 70%);
}

/* map linework */
.dz-grid line{stroke:rgba(127,166,204,.09);stroke-width:1;}
.dz-grid line.dz-art{stroke:rgba(127,166,204,.17);stroke-width:1.4;}
.dz-hwy{stroke:rgba(127,193,255,.13);stroke-width:2.4;fill:none;}
.dz-ring{fill:none;stroke:rgba(127,166,204,.22);stroke-width:1;stroke-dasharray:3 5;}
.dz-rlab{fill:rgba(157,184,214,.52);font-size:8px;font-weight:700;letter-spacing:.14em;text-anchor:middle;}
.dz-r50{
  fill:rgba(27,141,246,.035);stroke:#1b8df6;stroke-width:1.8;
  filter:drop-shadow(0 0 6px rgba(27,141,246,.7));
}
.dz-tag circle{fill:#7fc1ff;}
.dz-tag path{stroke:rgba(127,193,255,.75);stroke-width:1.2;}
.dz-tag text{fill:#7fc1ff;font-size:11px;font-weight:800;letter-spacing:.2em;}
.dz-pin path{fill:#ffd98c;filter:drop-shadow(0 0 5px rgba(232,181,63,.85));}
.dz-pin-halo{fill:none;stroke:rgba(232,181,63,.42);stroke-width:1;}
.dz-pin text{fill:#ffd98c;font-size:9.5px;font-weight:800;letter-spacing:.24em;text-anchor:middle;}

/* dot layers + sweep-chasing flares */
.dz-layer{opacity:0;transition:opacity .8s ease;}
.dz-layer.dz-onl{opacity:1;}
.dz-sec{opacity:.55;animation:dzFlare 6s linear infinite;}
.dz-layer:not(.dz-onl) .dz-sec{animation-play-state:paused;}
@keyframes dzFlare{
  0%{opacity:1;}
  12%{opacity:.98;}
  40%{opacity:.58;}
  100%{opacity:.55;}
}

/* ---------- control plate ---------- */
.dz-panel{
  display:grid;grid-template-columns:1fr auto;gap:1.3rem;align-items:center;
  margin-top:1.35rem;padding-top:1.25rem;
  border-top:1px solid rgba(0,0,0,.55);
  box-shadow:inset 0 1px 0 rgba(127,193,255,.07);
}
.dz-ro-label{
  display:block;font-size:.62rem;font-weight:800;letter-spacing:.24em;color:#7fa6cc;
  margin-bottom:.5rem;text-shadow:0 1px 0 rgba(0,0,0,.8);
}
.dz-seg{
  position:relative;display:inline-block;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-variant-numeric:tabular-nums;font-size:clamp(1.85rem,5.4vw,2.5rem);
  font-weight:700;line-height:1;letter-spacing:.05em;
  padding:.5rem .8rem .45rem;border-radius:10px;
  background:linear-gradient(180deg,#030710,#081124);
  box-shadow:0 0 0 1px rgba(127,166,204,.15), inset 0 3px 10px rgba(0,0,0,.75), 0 1px 0 rgba(127,193,255,.06);
  color:#ffd98c;
  text-shadow:0 0 10px rgba(232,181,63,.5), 0 0 28px rgba(232,181,63,.22);
}
.dz-seg-ghost{position:absolute;left:.8rem;top:.5rem;color:rgba(232,181,63,.09);text-shadow:none;user-select:none;}
.dz-seg-val{position:relative;display:inline-block;min-width:7ch;text-align:right;}
.dz-math{
  margin-top:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.7rem;font-weight:700;letter-spacing:.13em;color:#7fa6cc;
  text-shadow:0 1px 0 rgba(0,0,0,.8);
}
.dz-math b{color:#ffd98c;font-weight:700;text-shadow:0 0 8px rgba(232,181,63,.35);}

/* knob */
.dz-knobwrap{display:flex;flex-direction:column;align-items:center;gap:.15rem;}
.dz-dial{position:relative;width:128px;height:120px;display:grid;place-items:center;}
.dz-tick{
  position:absolute;left:50%;top:50%;width:2px;height:8px;margin:-4px 0 0 -1px;
  background:rgba(127,166,204,.65);border-radius:1px;
  transform:rotate(var(--dza)) translateY(-55px);
}
.dz-knob{
  position:relative;width:94px;height:94px;border-radius:50%;
  border:0;padding:0;background:transparent;cursor:grab;touch-action:none;
  -webkit-tap-highlight-color:transparent;
}
.dz-knob:active{cursor:grabbing;}
.dz-knob:focus-visible{outline:2px solid #7fc1ff;outline-offset:5px;}
.dz-face{
  position:absolute;inset:0;border-radius:50%;display:block;
  background:repeating-conic-gradient(rgba(5,10,18,.9) 0deg 4deg, rgba(72,102,142,.55) 4deg 8deg);
  box-shadow:0 7px 16px rgba(0,0,0,.65), 0 0 0 1px rgba(127,166,204,.22);
  transition:transform .5s cubic-bezier(.3,1.65,.45,1);
}
.dz-face::before{
  content:"";position:absolute;inset:9px;border-radius:50%;
  background:radial-gradient(circle at 38% 28%, #2c4b72, #15283f 55%, #0b1729);
  box-shadow:inset 0 1px 0 rgba(127,193,255,.2), inset 0 -5px 12px rgba(0,0,0,.6);
}
.dz-face::after{
  content:"";position:absolute;left:50%;top:12px;width:5px;height:17px;margin-left:-2.5px;
  border-radius:3px;background:#ffd98c;box-shadow:0 0 9px rgba(232,181,63,.75);
}
.dz-knob.dz-drag .dz-face{transition:none;}

/* detent labels */
.dz-dets{display:flex;gap:.35rem;justify-content:center;}
.dz-det{
  min-width:62px;min-height:44px;padding:.25rem .5rem;border:0;border-radius:8px;
  background:transparent;cursor:pointer;font:inherit;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  -webkit-tap-highlight-color:transparent;
}
.dz-det:focus-visible{outline:2px solid #7fc1ff;outline-offset:2px;}
.dz-det b{
  font-size:.84rem;font-weight:800;letter-spacing:.06em;color:#9db8d6;
  font-variant-numeric:tabular-nums;transition:color .3s ease, text-shadow .3s ease;
  text-shadow:0 1px 0 rgba(0,0,0,.8);
}
.dz-det small{font-size:.53rem;font-weight:700;letter-spacing:.2em;color:#5a7ba3;}
.dz-det:hover b{color:#eef4fb;}
.dz-det.dz-cur b{color:var(--dzt);text-shadow:0 0 12px var(--dzg);}

/* tier color tokens */
.dz-t0{--dzc:#35d07f;--dzt:#35d07f;--dzg:rgba(53,208,127,.18);}
.dz-t1{--dzc:#1b8df6;--dzt:#7fc1ff;--dzg:rgba(27,141,246,.2);}
.dz-t2{--dzc:#e8b53f;--dzt:#ffd98c;--dzg:rgba(232,181,63,.18);}

/* engraved legend strip */
.dz-legend{
  display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:1.25rem;border-radius:12px;overflow:hidden;
  background:linear-gradient(180deg,rgba(3,8,15,.5),rgba(7,14,26,.32));
  box-shadow:inset 0 2px 6px rgba(0,0,0,.55), 0 1px 0 rgba(127,193,255,.06);
}
.dz-tier{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:.22rem;
  padding:.85rem .5rem .8rem;opacity:.55;transition:opacity .5s ease;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.dz-tier + .dz-tier{border-left:1px solid rgba(0,0,0,.55);box-shadow:inset 1px 0 0 rgba(127,193,255,.06);}
.dz-tier:hover:not(.dz-on){opacity:.8;}
.dz-tier:focus-visible{outline:2px solid #7fc1ff;outline-offset:-2px;}
.dz-tier::before{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s ease;pointer-events:none;
  background:radial-gradient(85% 130% at 50% 112%, var(--dzg), transparent 72%);
}
.dz-tier.dz-on{opacity:1;}
.dz-tier.dz-on::before{opacity:1;}
.dz-lamp{
  width:6px;height:6px;border-radius:50%;background:rgba(90,123,163,.45);
  box-shadow:inset 0 1px 1px rgba(0,0,0,.6);transition:background .4s ease, box-shadow .4s ease;
}
.dz-tier.dz-on .dz-lamp{background:var(--dzc);box-shadow:0 0 8px var(--dzc), 0 0 18px var(--dzg);}
.dz-tn{
  font-size:.7rem;font-weight:800;letter-spacing:.16em;color:#9db8d6;
  text-shadow:0 1px 0 rgba(0,0,0,.75);transition:color .4s ease, text-shadow .4s ease;white-space:nowrap;
}
.dz-tier.dz-on .dz-tn{color:var(--dzt);text-shadow:0 0 14px var(--dzg), 0 1px 0 rgba(0,0,0,.75);}
.dz-tr{font-size:.56rem;font-weight:700;letter-spacing:.15em;color:#7fa6cc;white-space:nowrap;}
.dz-tp{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;color:#eef4fb;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}

.dz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}

/* ---------- mobile ---------- */
@media (max-width:480px){
  .dz-chassis{padding:1.1rem .85rem 1.15rem;border-radius:16px;}
  .dz-etch{font-size:.72rem;letter-spacing:.28em;text-indent:.28em;}
  .dz-placard{font-size:.56rem;letter-spacing:.14em;text-indent:.14em;padding:.4rem .7rem;}
  .dz-panel{grid-template-columns:1fr;justify-items:center;text-align:center;gap:.9rem;}
  .dz-legend{grid-template-columns:1fr;}
  .dz-tier{flex-direction:row;justify-content:flex-start;gap:.55rem;padding:.72rem .8rem;}
  .dz-tier + .dz-tier{border-left:0;border-top:1px solid rgba(0,0,0,.55);box-shadow:inset 0 1px 0 rgba(127,193,255,.06);}
  .dz-tier::before{background:radial-gradient(120% 160% at 8% 50%, var(--dzg), transparent 68%);}
  .dz-tn{font-size:.66rem;}
  .dz-tr{margin-left:auto;}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .dz-sweep{animation:none;opacity:.4;transform:rotate(211deg);}
  .dz-sec{animation:none;opacity:.85;}
  .dz-face{transition:none;}
  .dz-layer{transition:none;}
  .dz-tier,.dz-tier::before,.dz-lamp,.dz-tn,.dz-det b{transition:none;}
}
