/* Wholesale Signs Direct - exclusive B2B fab brand */
:root{
 --bg:#070b12;
 --panel:#0e1522;
 --panel2:#121c2e;
 --line:rgba(120,160,200,.12);
 --text:#eef3fb;
 --muted:#8b9bb0;
 --mint:#2EE6A6;
 --cyan:#1AB8E0;
 --blue:#3B6CFF;
 --warn:#f0b429;
 --danger:#ff5c6c;
 --radius:18px;
 --font:"Segoe UI",system-ui,-apple-system,sans-serif;
 --mono:ui-monospace,"Cascadia Code",Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(1200px,92vw);margin:0 auto}

/* Top strip */
.partner-strip{
 background:linear-gradient(90deg,#0a1628,#0f1f38);
 border-bottom:1px solid var(--line);
 font-size:.78rem;font-weight:700;color:var(--muted);
 padding:.5rem 0;
}
.partner-strip .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}
.partner-strip strong{color:var(--mint);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}
.partner-strip a{color:var(--cyan)}

/* Nav */
.nav{
 position:sticky;top:0;z-index:50;
 background:rgba(7,11,18,.88);backdrop-filter:blur(16px);
 border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:1rem}
.logo{display:flex;align-items:center;gap:.75rem}
.logo img{width:44px;height:44px;border-radius:12px}
.logo.logo-wordmark img{
  width:auto;height:42px;max-width:min(280px,52vw);border-radius:0;
  object-fit:contain;
}
.logo strong{display:block;font-size:1.02rem;letter-spacing:-.02em}
.logo span{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
@media(max-width:560px){
  .logo.logo-wordmark img{height:36px;max-width:min(220px,58vw)}
}
.nav-links{display:flex;align-items:center;gap:1.15rem;font-size:.88rem;font-weight:650;color:var(--muted)}
.nav-links a:hover{color:var(--text)}
.btn{
 display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
 padding:.82rem 1.2rem;border-radius:999px;font-weight:800;font-size:.9rem;border:0;cursor:pointer;
 transition:transform .15s,filter .15s;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.btn-primary{
 background:linear-gradient(135deg,var(--mint),var(--cyan) 50%,var(--blue));
 color:#041018;box-shadow:0 12px 32px rgba(26,184,224,.28);
}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn-dark{background:var(--panel2);color:var(--text);border:1px solid var(--line)}
.btn-sm{padding:.55rem .95rem;font-size:.82rem}

/* Hero */
.hero{
 position:relative;min-height:min(92vh,860px);
 display:flex;align-items:flex-end;padding:6rem 0 4rem;overflow:hidden;
}
.hero-bg{
 position:absolute;inset:0;
 background:url("../images/hero/facility-floor.jpg?v=c05-nosigns") center/cover no-repeat;
 transform:scale(1.02);
}
.hero-media{
  position:absolute;inset:0;overflow:hidden;background:#070b12;
}
.hero-video-el{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;transform:scale(1.02);
}
.hero-scrim{
 position:absolute;inset:0;
 background:
 radial-gradient(ellipse at 70% 30%,rgba(46,230,166,.12),transparent 45%),
 linear-gradient(105deg,rgba(7,11,18,.96) 0%,rgba(7,11,18,.72) 48%,rgba(7,11,18,.45) 100%),
 linear-gradient(180deg,transparent 40%,rgba(7,11,18,.92) 100%);
}
.hero .wrap{position:relative;z-index:2}
.chip{
 display:inline-flex;align-items:center;gap:.45rem;
 background:rgba(46,230,166,.1);border:1px solid rgba(46,230,166,.35);
 color:var(--mint);padding:.38rem .8rem;border-radius:999px;
 font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.1rem;
}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint)}
.hero h1{
 font-size:clamp(2.5rem,6vw,4.2rem);line-height:1.02;letter-spacing:-.04em;
 max-width:15ch;margin-bottom:1rem;font-weight:800;
}
.hero h1 em{
 font-style:normal;
 background:linear-gradient(90deg,var(--mint),var(--cyan),var(--blue));
 -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{font-size:1.12rem;color:rgba(200,215,235,.82);max-width:44ch;margin-bottom:1.6rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:2rem}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:720px}
@media(max-width:700px){.stat-row{grid-template-columns:1fr 1fr}}
.stat{
 background:rgba(14,21,34,.75);border:1px solid var(--line);border-radius:14px;padding:.95rem;
 backdrop-filter:blur(10px);
}
.stat strong{display:block;font-size:1.15rem;color:var(--mint)}
.stat span{font-size:.76rem;color:var(--muted);font-weight:600}

/* Sections */
section{padding:5rem 0}
.sec-label{
 font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
 color:var(--cyan);margin-bottom:.55rem;
}
h2{font-size:clamp(1.75rem,3.2vw,2.5rem);letter-spacing:-.03em;line-height:1.12;margin-bottom:.6rem}
.lead{color:var(--muted);font-size:1.05rem;max-width:54ch}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;margin-top:2rem;align-items:center}
@media(max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr}}

.card{
 background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
 padding:1.35rem 1.3rem;position:relative;overflow:hidden;
}
.card::before{
 content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
 background:linear-gradient(180deg,var(--mint),var(--blue));opacity:.7;
}
.card h3{font-size:1.08rem;margin-bottom:.4rem}
.card p{color:var(--muted);font-size:.92rem}

.media-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.media-card img{width:100%;height:280px;object-fit:cover}
.media-card .cap{padding:1rem 1.15rem;font-size:.88rem;color:var(--muted)}

.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:2rem}
@media(max-width:900px){.product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.product-grid{grid-template-columns:1fr}}
.product{
 background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:1.1rem;
 font-weight:700;font-size:.92rem;position:relative;overflow:hidden;
 transition:border-color .2s,transform .15s,box-shadow .2s;
}
.product:hover{
 border-color:rgba(46,230,166,.35);
 transform:translateY(-2px);
 box-shadow:0 12px 28px rgba(0,0,0,.25);
}
.product span{display:block;font-size:.76rem;font-weight:600;color:var(--muted);margin-top:.25rem}
.product .product-ico{
 display:block;font-family:var(--mono);font-size:.68rem;font-weight:800;
 letter-spacing:.08em;color:var(--mint);margin-bottom:.45rem;opacity:.85;
}

/* Homepage fabrication showcase — uses former hero plant photo as section backdrop */
.fab-section{
 position:relative;
 padding:5.5rem 0 5rem;
 overflow:hidden;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
 background:#070b12;
}
.fab-section-bg{
  position:absolute;inset:0;
  background:url("../images/hero/facility-floor.jpg?v=c05-nosigns") center/cover no-repeat;
  transform:scale(1.02);
}
.fab-section-scrim{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 70% 20%,rgba(46,230,166,.1),transparent 45%),
    linear-gradient(105deg,rgba(7,11,18,.94) 0%,rgba(7,11,18,.78) 48%,rgba(7,11,18,.62) 100%),
    linear-gradient(180deg,rgba(7,11,18,.55) 0%,rgba(7,11,18,.88) 100%);
}
.fab-section .wrap{position:relative;z-index:1}
.fab-head{
 display:block;
 position:relative;z-index:1;
 max-width:58ch;
}
.fab-head-copy .lead{max-width:48ch}
.fab-bullets{
 margin:1.15rem 0 0;padding:0 0 0 1.1rem;color:var(--muted);line-height:1.85;font-size:.95rem;
}
.fab-bullets strong{color:var(--text)}
.fab-catalog-label{
 display:flex;align-items:center;gap:.85rem;margin:2.6rem 0 0;position:relative;z-index:1;
 font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);
}
.fab-catalog-line{
 flex:1;height:1px;background:linear-gradient(90deg,rgba(46,230,166,.45),transparent);
}
.fab-catalog-note{
 font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:none;color:var(--muted);
 white-space:nowrap;
}
@media(max-width:700px){
 .fab-catalog-label{flex-wrap:wrap}
 .fab-catalog-note{white-space:normal}
 .fab-catalog-line{display:none}
}
.fab-product-grid{margin-top:1.1rem;position:relative;z-index:1}
.fab-section .product{
  background:rgba(10,15,26,.88);
  backdrop-filter:blur(8px);
  border-color:rgba(120,160,200,.18);
}
.fab-section .fab-catalog-label,
.fab-section .sec-label{text-shadow:0 1px 12px rgba(0,0,0,.65)}
.fab-section .fab-head-copy h2,
.fab-section .fab-head-copy .lead,
.fab-section .fab-bullets{text-shadow:0 1px 14px rgba(0,0,0,.55)}
.fab-consult{
 display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch;
 margin-top:2.4rem;position:relative;z-index:1;
}
@media(max-width:900px){.fab-consult{grid-template-columns:1fr}}
.fab-consult .media-card{
  background:rgba(10,15,26,.9);
  backdrop-filter:blur(8px);
}
.fab-consult .media-card img{height:100%;min-height:260px}
.fab-consult-card{
 background:linear-gradient(145deg,rgba(14,21,34,.96),rgba(18,28,46,.98));
 border:1px solid rgba(46,230,166,.22);
 border-radius:var(--radius);
 padding:1.75rem 1.6rem;
 display:flex;flex-direction:column;justify-content:center;
 box-shadow:0 0 0 1px rgba(26,184,224,.06),0 20px 50px rgba(0,0,0,.25);
 backdrop-filter:blur(10px);
}
.fab-consult-card h3{font-size:1.35rem;letter-spacing:-.02em;margin:.2rem 0 .65rem}
.fab-consult-card > p{color:var(--muted);font-size:.98rem;max-width:42ch}
.fab-consult-card .fab-bullets{margin:.9rem 0 1.35rem}
.fab-consult-card .btn{align-self:flex-start}
.fab-ul-card .ul-badge{margin-bottom:.75rem}

.ul-band{
 margin:0 auto;width:min(1200px,92vw);
 background:linear-gradient(135deg,#0c1a14,#0e1a2c 50%,#101828);
 border:1px solid rgba(46,230,166,.25);border-radius:24px;padding:2.2rem 2rem;
 display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;align-items:center;
}
/* Consulting band (below fab) — same shell, cooler panel accent */
.ul-band.consult-band{
 background:linear-gradient(135deg,#0e1522,#101a2c 55%,#0c121c);
 border-color:rgba(120,160,200,.2);
}
.ul-band.consult-band .card{
 background:rgba(14,21,34,.9);
 border:1px solid rgba(46,230,166,.18);
}
.ul-band.consult-band .fab-bullets{color:var(--muted);font-size:.92rem}
@media(max-width:800px){.ul-band{grid-template-columns:1fr}}
.ul-badge{
 display:inline-flex;align-items:center;gap:.5rem;
 background:rgba(46,230,166,.12);border:1px solid rgba(46,230,166,.35);
 color:var(--mint);padding:.5rem .9rem;border-radius:12px;font-weight:800;font-size:.85rem;margin-bottom:1rem;
}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
.step{
 background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.2rem;
}
.step .n{font-family:var(--mono);font-size:.75rem;color:var(--mint);font-weight:800;margin-bottom:.5rem}
.step h3{font-size:1rem;margin-bottom:.35rem}
.step p{font-size:.88rem;color:var(--muted)}

.cta-final{
 text-align:center;padding:4rem 0 5rem;
 background:radial-gradient(ellipse at 50% 0%,rgba(59,108,255,.15),transparent 55%);
}
.cta-final p{color:var(--muted);max-width:42ch;margin:.75rem auto 1.5rem}

/* Partner Portal advertising showcase (CGS-style energy, WSD brand) */
.portal-ad{
 position:relative;overflow:hidden;
 padding:5.5rem 0 4.5rem;
 background:
 radial-gradient(ellipse 70% 55% at 90% 15%,rgba(46,230,166,.12),transparent 55%),
 radial-gradient(ellipse 50% 45% at 5% 85%,rgba(26,184,224,.1),transparent 50%),
 radial-gradient(ellipse 40% 40% at 50% 50%,rgba(59,108,255,.08),transparent 60%),
 linear-gradient(180deg,#080d16 0%,#070b12 100%);
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
}
.portal-ad-glow{
 position:absolute;inset:auto -10% -30% auto;width:55%;height:70%;
 background:radial-gradient(circle,rgba(46,230,166,.14),transparent 65%);
 pointer-events:none;filter:blur(10px);
}
.portal-ad-top{
 display:grid;grid-template-columns:1.08fr .92fr;gap:2.25rem;align-items:center;
 position:relative;z-index:1;
}
@media(max-width:980px){.portal-ad-top{grid-template-columns:1fr}}
.portal-ad-copy h2{
 font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.15;letter-spacing:-.03em;margin:.35rem 0 .9rem;
}
.portal-ad-accent{
 display:block;margin-top:.4rem;
 background:linear-gradient(90deg,var(--mint),var(--cyan),var(--blue));
 -webkit-background-clip:text;background-clip:text;color:transparent;
 font-size:.92em;letter-spacing:.01em;
}
.portal-badge-row{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.05rem}
.portal-badge{
 display:inline-flex;align-items:center;
 font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
 padding:.38rem .7rem;border-radius:999px;
 background:rgba(46,230,166,.1);border:1px solid rgba(46,230,166,.32);
 color:var(--mint);
}
.portal-benefits{
 margin:1rem 0 1.35rem;padding-left:1.15rem;line-height:1.6;color:var(--muted);font-size:.95rem;
}
.portal-benefits li{margin:.55rem 0}
.portal-benefits strong{color:var(--text)}
.portal-ad-ctas{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.25rem}
.portal-demo-note{margin-top:.85rem;font-size:.82rem;color:var(--muted)}
.portal-demo-note code{color:var(--mint);font-size:.8rem}

/* Right-side portal product visual v2 (v1 backup in _backups/) */
.portal-ad-media{
  position:relative;
  min-height:520px;
  display:flex;align-items:center;justify-content:center;
}
.portal-visual{
  position:relative;width:100%;max-width:460px;margin:0 auto;
  padding:1.1rem 0 1.25rem;
}
.pv-orbit{
  position:absolute;inset:-10% -14% -14% -10%;
  background:
    radial-gradient(circle at 72% 22%,rgba(46,230,166,.26),transparent 40%),
    radial-gradient(circle at 18% 78%,rgba(26,184,224,.18),transparent 42%),
    radial-gradient(circle at 50% 50%,rgba(59,108,255,.12),transparent 55%);
  filter:blur(2px);pointer-events:none;z-index:0;
}
.pv-card{
  position:relative;z-index:2;
  background:
    linear-gradient(145deg,rgba(255,255,255,.04),transparent 40%),
    linear-gradient(165deg,rgba(14,22,36,.98) 0%,rgba(8,12,22,.99) 100%);
  border:1px solid rgba(120,180,220,.18);
  border-radius:24px;
  padding:1.2rem 1.15rem 1rem;
  box-shadow:
    0 36px 80px rgba(0,0,0,.55),
    0 0 0 1px rgba(46,230,166,.1),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.pv-top{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;
}
.pv-brand{display:flex;align-items:center;gap:.7rem}
.pv-mark{
  width:38px;height:38px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,var(--mint),var(--cyan) 55%,var(--blue));
  box-shadow:0 10px 24px rgba(46,230,166,.32);
}
.pv-brand strong{display:block;font-size:.98rem;letter-spacing:-.02em}
.pv-brand em{display:block;font-style:normal;font-size:.68rem;color:var(--muted);font-weight:650;margin-top:.12rem}
.pv-live{
  display:inline-flex;align-items:center;gap:.35rem;
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--mint);background:rgba(46,230,166,.1);border:1px solid rgba(46,230,166,.32);
  padding:.38rem .7rem;border-radius:999px;
}
.pv-live i{
  width:7px;height:7px;border-radius:50%;background:var(--mint);
  box-shadow:0 0 10px var(--mint);animation:pvPulse 1.6s ease-in-out infinite;
}
@keyframes pvPulse{0%,100%{opacity:1}50%{opacity:.45}}

.pv-hero-stat{
  background:linear-gradient(135deg,rgba(46,230,166,.1),rgba(26,184,224,.06));
  border:1px solid rgba(46,230,166,.2);
  border-radius:16px;padding:.95rem 1rem .9rem;margin-bottom:.9rem;
}
.pv-hero-row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.7rem;
}
.pv-hero-stat span{
  display:block;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:.28rem;
}
.pv-hero-stat strong{display:block;font-size:1.02rem;letter-spacing:-.02em;line-height:1.25}
.pv-status-chip{
  flex-shrink:0;font-style:normal;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#041018;background:linear-gradient(135deg,var(--mint),var(--cyan));
  padding:.35rem .55rem;border-radius:999px;margin-top:.1rem;
}
.pv-progress{
  height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin-bottom:.4rem;
}
.pv-progress b{
  display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--mint),var(--cyan),var(--blue));
  box-shadow:0 0 12px rgba(46,230,166,.35);
}
.pv-progress-meta{
  display:flex;justify-content:space-between;font-size:.72rem;font-weight:700;color:var(--muted);
}

.pv-metrics{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-bottom:1rem;
}
.pv-metrics div{
  text-align:center;padding:.6rem .2rem .5rem;
  background:rgba(7,11,18,.72);border:1px solid var(--line);border-radius:12px;
}
.pv-metrics span{
  display:block;font-size:.56rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);
}
.pv-metrics strong{display:block;font-size:1.12rem;color:var(--text);margin-top:.18rem;font-weight:800}
.pv-metrics div:nth-child(3) strong{color:var(--warn)}
.pv-metrics div:nth-child(4) strong{color:var(--mint)}

/* Horizontal journey rail (cleaner than tall vertical list) */
.pv-rail{
  display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem;margin-bottom:1rem;
  padding:.15rem 0 .1rem;
}
.pv-rail-step{
  text-align:center;font-size:.58rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;
  color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.35rem;
}
.pv-rail-step span{
  width:100%;height:4px;border-radius:999px;background:rgba(255,255,255,.08);
  position:relative;
}
.pv-rail-step.done{color:rgba(200,220,235,.9)}
.pv-rail-step.done span{background:rgba(46,230,166,.55)}
.pv-rail-step.now{color:var(--text)}
.pv-rail-step.now span{
  background:linear-gradient(90deg,var(--mint),var(--cyan));
  box-shadow:0 0 12px rgba(46,230,166,.45);
}

/* Fab photo proof strip */
.pv-proof{margin-bottom:.9rem}
.pv-proof-label{
  font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.45rem;
}
.pv-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.pv-thumb{
  aspect-ratio:1;border-radius:10px;border:1px solid rgba(120,180,220,.15);
  background-size:cover;background-position:center;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);
}
.pv-thumb.t1{
  background:
    linear-gradient(135deg,rgba(46,230,166,.15),transparent),
    radial-gradient(circle at 40% 40%,#e8eef8 0 18%,transparent 19%),
    linear-gradient(160deg,#1a2438,#0d1422);
}
.pv-thumb.t2{
  background:
    linear-gradient(145deg,rgba(26,184,224,.2),transparent 50%),
    linear-gradient(160deg,#243048,#101826);
}
.pv-thumb.t3{
  background:
    radial-gradient(circle at 60% 50%,rgba(240,180,41,.35),transparent 40%),
    linear-gradient(160deg,#1c2230,#0c1018);
}
.pv-thumb.more{
  display:flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:800;color:var(--mint);
  background:rgba(46,230,166,.08);border-color:rgba(46,230,166,.25);
}

/* Next action integrated (no floating overlap) */
.pv-action-bar{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.85rem .9rem;
  border-radius:14px;
  background:linear-gradient(110deg,rgba(46,230,166,.12),rgba(26,184,224,.08));
  border:1px solid rgba(46,230,166,.28);
}
.pv-action-bar strong{
  display:block;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mint);margin-bottom:.2rem;
}
.pv-action-bar p{margin:0;font-size:.82rem;font-weight:650;color:var(--text);line-height:1.3}
.pv-action-go{
  flex-shrink:0;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#041018;background:linear-gradient(135deg,var(--mint),var(--cyan));
  padding:.55rem .85rem;border-radius:999px;
  box-shadow:0 8px 18px rgba(46,230,166,.25);
}

@media(max-width:980px){
  .portal-ad-media{min-height:0;margin-top:.5rem}
  .portal-visual{max-width:100%}
  .pv-rail-step{font-size:.52rem}
}

.portal-tools-label{
 display:flex;align-items:center;gap:.85rem;margin:2.6rem 0 1rem;position:relative;z-index:1;
 font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);
}
.portal-tools-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(26,184,224,.45),transparent)}
.portal-tools-grid{
 display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;position:relative;z-index:1;
}
@media(max-width:1000px){.portal-tools-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.portal-tools-grid{grid-template-columns:1fr}}
.portal-tool{
 background:rgba(14,21,34,.85);border:1px solid var(--line);border-radius:16px;padding:1.15rem 1.05rem;
 transition:border-color .2s,transform .15s,box-shadow .2s;
}
.portal-tool:hover{
 border-color:rgba(46,230,166,.35);transform:translateY(-2px);
 box-shadow:0 14px 32px rgba(0,0,0,.28);
}
.portal-tool .pt-n{
 font-family:var(--mono);font-size:.7rem;font-weight:800;color:var(--mint);margin-bottom:.45rem;letter-spacing:.06em;
}
.portal-tool h3{font-size:.98rem;margin-bottom:.35rem}
.portal-tool p{font-size:.84rem;color:var(--muted);line-height:1.5}

.portal-ad-strip{
 margin-top:2rem;position:relative;z-index:1;
 display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;
 padding:1.25rem 1.4rem;border-radius:18px;
 background:linear-gradient(110deg,rgba(46,230,166,.12),rgba(26,184,224,.08) 45%,rgba(59,108,255,.12));
 border:1px solid rgba(46,230,166,.28);
}
.portal-ad-strip strong{display:block;font-size:1.02rem;margin-bottom:.2rem}
.portal-ad-strip span{color:var(--muted);font-size:.9rem;max-width:52ch;display:block}
.portal-ad-strip-actions{display:flex;flex-wrap:wrap;gap:.5rem}

/* Stripe trust — compact; never nested inside equal-height tool cards */
.stripe-trust{
  display:flex;align-items:center;gap:.75rem .9rem;flex-wrap:wrap;
  margin:1rem 0 0;
  padding:.65rem .9rem;
  border-radius:12px;
  background:rgba(99,91,255,.07);
  border:1px solid rgba(99,91,255,.2);
}
.stripe-trust-inline{
  margin-top:1rem;
  padding:.55rem .85rem;
  gap:.65rem .75rem;
}
.stripe-trust-kicker{
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#a8a3ff;white-space:nowrap;
}
.stripe-trust-sep{
  width:1px;height:1rem;background:rgba(168,163,255,.35);flex-shrink:0;
}
.stripe-trust-bar{
  margin:1.35rem 0 0;
  position:relative;z-index:1;
}
.stripe-trust-logo{
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;height:24px;padding:0;
  text-decoration:none;line-height:0;
}
.stripe-trust-logo img,.stripe-trust-logo svg{
  height:18px;width:auto;display:block;
}
.stripe-trust-copy{
  flex:1;min-width:min(100%,200px);
  margin:0;
  font-size:.82rem;line-height:1.4;color:var(--muted);
}
.stripe-trust-copy strong{color:var(--text);font-weight:700}
.stripe-trust-link{
  flex-shrink:0;
  font-size:.78rem;font-weight:700;color:#a8a3ff;
  text-decoration:none;letter-spacing:.02em;
}
.stripe-trust-link:hover{color:#c4c0ff;text-decoration:underline}

/* Partner App install — blended into portal section (not a floating “stuck on” box) */
.pwa-install-card{
  display:flex;gap:1rem;align-items:flex-start;
  margin-top:1.65rem;
  padding:1.2rem 0 0;
  border-radius:0;
  background:transparent;
  border:0;
  border-top:1px solid rgba(120,160,200,.14);
  box-shadow:none;
  position:relative;
}
.pwa-install-card::before{
  content:"";
  position:absolute;left:0;top:-1px;width:min(9rem,28%);height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--mint),var(--cyan),transparent);
  opacity:.85;
}
.pwa-install-icon{
  flex-shrink:0;width:48px;height:48px;border-radius:12px;overflow:hidden;
  border:1px solid rgba(46,230,166,.22);
  box-shadow:0 0 0 4px rgba(46,230,166,.06);
  background:rgba(7,11,18,.45);
}
.pwa-install-icon img{width:100%;height:100%;object-fit:cover;display:block}
.pwa-install-copy{flex:1;min-width:0}
.pwa-install-copy .sec-label{
  margin-bottom:.3rem;
  opacity:.95;
}
.pwa-install-copy h3{
  font-size:1.02rem;letter-spacing:-.02em;margin:0 0 .4rem;
  font-weight:750;
}
.pwa-install-copy > p{
  color:var(--muted);font-size:.9rem;line-height:1.55;margin:0 0 .9rem;max-width:48ch;
}
.pwa-install-copy .btn{
  margin-bottom:.15rem;
  /* Match portal section energy without a second heavy card frame */
  box-shadow:0 10px 28px rgba(46,230,166,.18);
}
.pwa-ios-hint,.pwa-installed-note{
  margin-top:.65rem;font-size:.84rem;color:var(--muted);line-height:1.45;
}
.pwa-ios-hint strong{color:var(--text)}
.pwa-installed-note{color:var(--mint);font-weight:700}
@media(max-width:560px){
  .pwa-install-card{flex-direction:column;align-items:stretch;padding-top:1.1rem}
}

/* Tour page extras */
.tour-hero-band{
 background:
 radial-gradient(ellipse at 80% 0%,rgba(46,230,166,.12),transparent 50%),
 linear-gradient(180deg,#0a121f,#070b12);
}
.tour-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-top:1.5rem}
@media(max-width:800px){.tour-feature-grid{grid-template-columns:1fr}}
.tour-feature{
 background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.2rem;
}
.tour-feature h3{font-size:1rem;margin-bottom:.35rem}
.tour-feature p{font-size:.88rem;color:var(--muted)}

/* Forms public */
.page-hero{padding:5.5rem 0 2.5rem;border-bottom:1px solid var(--line)}
.page-main{padding:2.5rem 0 4rem}
.form-shell{
 background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:1.5rem;
 max-width:720px;
}
.form-shell h2{font-size:1.2rem;margin-bottom:.35rem}
.form-shell .hint{color:var(--muted);font-size:.9rem;margin-bottom:1.2rem}
label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:.65rem 0 .28rem}
input,select,textarea{
 width:100%;padding:.75rem .85rem;border-radius:10px;
 border:1px solid var(--line);background:#0a101a;color:var(--text);font:inherit;
}
input:focus,select:focus,textarea:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
@media(max-width:600px){.row{grid-template-columns:1fr}}
.section-title{
 margin:1.4rem 0 .4rem;padding-top:1rem;border-top:1px solid var(--line);
 font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mint);
}
.form-note{font-size:.8rem;color:var(--muted);margin-top:.35rem}
.alert{
 padding:.85rem 1rem;border-radius:12px;margin:1rem 0;font-size:.9rem;
 background:rgba(46,230,166,.08);border:1px solid rgba(46,230,166,.25);color:var(--text);
}
.alert.warn{background:rgba(240,180,41,.08);border-color:rgba(240,180,41,.3)}

footer{
 border-top:1px solid var(--line);padding:2.5rem 0 2rem;margin-top:2rem;color:var(--muted);font-size:.9rem;
}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr}}
footer strong{color:var(--text);display:block;margin-bottom:.4rem}
footer a:hover{color:var(--mint)}
.foot-bottom{
 border-top:1px solid var(--line);padding-top:1rem;
 display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;
}


/* mobile-seo-nightly 2026-08-13 — readability & touch targets (no layout rewrite) */
@media (max-width:720px){
  body{font-size:16px;-webkit-text-size-adjust:100%}
  .btn,.nav-links a,.portal-badge{min-height:44px}
  .btn{padding:.85rem 1.15rem}
  .hero h1{line-height:1.12}
  .hero-lead,.lead{font-size:1.02rem;line-height:1.55}
  .product{min-height:3rem}
  a,button{touch-action:manipulation}
}