/* PBismark Premium Visual System -- Direction A: Premium Dark Aurora
   Shared across homepage + service pages. Pure CSS/SVG, no JS, no canvas,
   no video. Animates only transform/opacity/background-position for 60fps.
   See docs/design/PBISMARK_VISUAL_SYSTEM_REDESIGN.md for the full rationale. */

:root{
  --pb-navy-deep:#0a1220;
  --pb-navy:#0f1d34;
  --pb-charcoal:#141b28;
  --pb-glow-blue:#0876d9;
  --pb-glow-blue-soft:#60bfff;
  --pb-glow-amber:#f0b45e;
  --pb-aurora-text:#eef3fb;
  --pb-aurora-muted:#aab8cc;

  /* ---- Semantic theme tokens (v4). Signature (dark) values live here on
     :root; html[data-pb-theme="light"] overrides them below. Every themed
     component must consume these instead of hard-coded colors. ---- */
  --pb-page:var(--pb-navy);
  --pb-page-deep:var(--pb-navy-deep);
  --pb-surface:rgba(255,255,255,.05);
  --pb-surface-elevated:rgba(20,32,52,.7);
  --pb-surface-glass:rgba(20,32,52,.55);
  --pb-text:var(--pb-aurora-text);
  --pb-text-muted:var(--pb-aurora-muted);
  --pb-text-soft:#8ea3c2;
  --pb-border:rgba(150,180,220,.18);
  --pb-border-strong:rgba(150,180,220,.35);
  --pb-border-glow:rgba(96,191,255,.4);
  --pb-cyan:var(--pb-glow-blue-soft);
  --pb-blue:var(--pb-glow-blue);
  --pb-amber:var(--pb-glow-amber);
  --pb-gold:#cfa63f;
  --pb-gold-text:#e3c268;
  --pb-shadow:0 24px 60px -30px rgba(8,118,217,.55);
  --pb-input:rgba(255,255,255,.06);
  --pb-input-border:rgba(150,180,220,.35);
  --pb-focus:var(--pb-glow-blue-soft);
  --pb-success:#7be2a4;
  --pb-warning:#f0b45e;
  --pb-nav-bg:rgba(10,18,32,.88);
  --pb-nav-link:#aebdd6;
  --pb-nav-link-hover:#fff;
  --pb-footer-bg:var(--pb-navy-deep);
  --pb-footer-text:#8ea3c2;
  --pb-btn-bg:rgba(255,255,255,.06);
  --pb-btn-border:rgba(150,180,220,.35);
  --pb-btn-text:var(--pb-aurora-text);
  --pb-cta-bg:var(--pb-glow-blue-soft);
  --pb-cta-text:var(--pb-navy-deep);
  --pb-grid-line:rgba(96,191,255,.07);
  --pb-sec-grad-a:linear-gradient(175deg,var(--pb-navy) 0%,var(--pb-charcoal) 100%);
  --pb-sec-grad-b:linear-gradient(170deg,var(--pb-charcoal) 0%,var(--pb-navy) 100%);
  --pb-sec-grad-c:linear-gradient(180deg,var(--pb-navy) 0%,var(--pb-navy-deep) 100%);
  --pb-sec-grad-d:linear-gradient(165deg,var(--pb-navy-deep) 0%,var(--pb-navy) 100%);
}

/* ---- LIGHT MODE: warm ivory / champagne / stone editorial. Not plain
   white -- a deliberately warm premium palette with navy typography and
   restrained gold/cyan accents. Activated by data-pb-theme="light" on
   <html> (set pre-paint by the inline head snippet, so no flicker). ---- */
html[data-pb-theme="light"]{
  --pb-page:#f4efe4;
  --pb-page-deep:#ece5d4;
  --pb-surface:#faf6ec;
  --pb-surface-elevated:#fbf8f0;
  --pb-surface-glass:rgba(251,248,240,.82);
  --pb-text:#16233a;
  --pb-text-muted:#4d5a72;
  --pb-text-soft:#6f7a8e;
  --pb-border:#ddd2b8;
  --pb-border-strong:#c9bc9c;
  --pb-border-glow:rgba(166,124,26,.45);
  --pb-cyan:#0d6fa8;
  --pb-blue:#0a5c9e;
  --pb-amber:#a3661a;
  --pb-gold:#a67c1a;
  --pb-gold-text:#8a6413;
  --pb-shadow:0 24px 55px -32px rgba(120,95,40,.4);
  --pb-input:#fefcf7;
  --pb-input-border:#c9bc9c;
  --pb-focus:#0d6fa8;
  --pb-success:#1c7b5d;
  --pb-warning:#a3661a;
  --pb-nav-bg:rgba(244,239,228,.92);
  --pb-nav-link:#41506b;
  --pb-nav-link-hover:#16233a;
  --pb-footer-bg:#1c2a44;
  --pb-footer-text:#aab8cc;
  --pb-btn-bg:#fbf8f0;
  --pb-btn-border:#c9bc9c;
  --pb-btn-text:#16233a;
  --pb-cta-bg:#16233a;
  --pb-cta-text:#f6f1e7;
  --pb-grid-line:rgba(166,124,26,.1);
  --pb-sec-grad-a:linear-gradient(175deg,#f4efe4 0%,#ede5d2 100%);
  --pb-sec-grad-b:linear-gradient(170deg,#efe9da 0%,#f6f1e7 100%);
  --pb-sec-grad-c:linear-gradient(180deg,#f4efe4 0%,#eae2cf 100%);
  --pb-sec-grad-d:linear-gradient(165deg,#efe7d5 0%,#f6f1e7 100%);
}

/* ---- Dark aurora hero background ---- */
.pb-aurora{
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg,var(--pb-navy-deep) 0%,var(--pb-navy) 55%,var(--pb-charcoal) 100%);
  color:var(--pb-aurora-text);
  isolation:isolate;
}
.pb-aurora *{color:inherit}
.pb-aurora .pb-aurora-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  opacity:.55;
  will-change:transform,opacity;
  pointer-events:none;
  z-index:0;
}
.pb-aurora .b1{width:56vw;height:56vw;max-width:760px;max-height:760px;top:-18%;left:-10%;
  background:radial-gradient(circle at 40% 40%,var(--pb-glow-blue-soft),var(--pb-glow-blue) 55%,transparent 75%);
  animation:pbAuroraDrift1 32s ease-in-out infinite;}
.pb-aurora .b2{width:44vw;height:44vw;max-width:620px;max-height:620px;bottom:-22%;right:-8%;
  background:radial-gradient(circle at 60% 60%,var(--pb-glow-amber),transparent 72%);
  opacity:.35;
  animation:pbAuroraDrift2 40s ease-in-out infinite;}
.pb-aurora .b3{width:30vw;height:30vw;max-width:420px;max-height:420px;top:30%;left:58%;
  background:radial-gradient(circle at 50% 50%,var(--pb-glow-blue-soft),transparent 70%);
  opacity:.28;
  animation:pbAuroraDrift3 26s ease-in-out infinite;}
.pb-aurora .pb-aurora-grid{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(96,191,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(96,191,255,.05) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 85%);
          mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 85%);
}
.pb-aurora>.wrap,.pb-aurora>*:not(.pb-aurora-blob):not(.pb-aurora-grid){position:relative;z-index:1}

@keyframes pbAuroraDrift1{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(4%,3%) scale(1.06)}
}
@keyframes pbAuroraDrift2{
  0%,100%{transform:translate(0,0) scale(1);opacity:.3}
  50%{transform:translate(-3%,-4%) scale(1.08);opacity:.42}
}
@keyframes pbAuroraDrift3{
  0%,100%{transform:translate(0,0);opacity:.22}
  50%{transform:translate(-2%,3%);opacity:.32}
}

/* ---- Restrained glass card, used sparingly on dark aurora zones ---- */
.pb-glass{
  background:rgba(20,32,52,.55);
  border:1px solid rgba(150,180,220,.18);
  border-radius:16px;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

/* ---- Subtle light-zone mesh accent for body sections (readability-first) ---- */
.pb-light-mesh{
  position:relative;
  background:
    radial-gradient(ellipse 60% 50% at 15% 0%, rgba(8,118,217,.06), transparent 60%),
    radial-gradient(ellipse 50% 40% at 100% 100%, rgba(240,180,94,.07), transparent 60%),
    #f4f7fb;
}

/* ---- Explicit readable overrides for known hero components on dark aurora ---- */
.pb-aurora h1{color:var(--pb-aurora-text)}
.pb-aurora .hero-copy,.pb-aurora .section-copy{color:var(--pb-aurora-muted)}
.pb-aurora .eyebrow{color:var(--pb-glow-blue-soft)}
.pb-aurora .micro{color:#8ea3c2}
.pb-aurora .btn{background:rgba(255,255,255,.06);border-color:rgba(150,180,220,.35);color:var(--pb-aurora-text)}
.pb-aurora .btn.primary{background:var(--pb-glow-blue-soft);border-color:var(--pb-glow-blue-soft);color:var(--pb-navy-deep);font-weight:800}
.pb-aurora .btn.primary:hover{background:#7cc8ff}
.pb-aurora a:not(.btn){color:var(--pb-glow-blue-soft)}

/* ---- Reduced motion: static frame, no drift, still on-brand ---- */
@media (prefers-reduced-motion:reduce){
  .pb-aurora .pb-aurora-blob{animation:none !important}
}

/* ---- Performance: pause off-screen aurora animation ---- */
@media (max-width:480px){
  .pb-aurora .b3{display:none} /* fewer blurred layers on small/slow devices */
}

/* =========================================================================
   V2 additions -- eliminates remaining plain-white sections. Every
   <section> on a public page must carry one of: .pb-aurora (hero only),
   .pb-tint, .pb-tint-b, .pb-light-mesh, or .pb-dark-panel. Plain white
   (falling through to body{background:#fff}) is never acceptable for a
   full-width section.
   ========================================================================= */

/* ---- Solid dark content panel (non-hero): for FAQ/proof/dense-content
   sections that don't need hero-weight animated blobs -- same navy family
   as .pb-aurora, but static and cheap for long scrolling pages. ---- */
.pb-dark-panel{
  background:linear-gradient(175deg,var(--pb-navy) 0%,var(--pb-charcoal) 100%);
  color:var(--pb-aurora-text);
}
.pb-dark-panel *{color:inherit}
.pb-dark-panel .section-copy,.pb-dark-panel p{color:var(--pb-aurora-muted)}
.pb-dark-panel .section-kicker,.pb-dark-panel .eyebrow{color:var(--pb-glow-blue-soft)}
.pb-dark-panel a:not(.btn){color:var(--pb-glow-blue-soft)}
.pb-dark-panel .card,.pb-dark-panel .panel,.pb-dark-panel .evidence-item,
.pb-dark-panel details{
  background:rgba(20,32,52,.55);
  border:1px solid rgba(150,180,220,.18);
  border-radius:16px;
}
.pb-dark-panel .note-block{
  background:rgba(20,32,52,.55);
  border-left:4px solid var(--pb-glow-blue-soft);
}
.pb-dark-panel .note-block h3{color:var(--pb-aurora-text)}
.pb-dark-panel .process-list li{color:var(--pb-aurora-muted)}
.pb-dark-panel .process-list strong{color:var(--pb-aurora-text)}
.pb-dark-panel .process-list li:before{background:var(--pb-glow-blue-soft);color:var(--pb-navy-deep)}
.pb-dark-panel h1,.pb-dark-panel h2,.pb-dark-panel h3{color:var(--pb-aurora-text)}
.pb-dark-panel .btn{background:rgba(255,255,255,.06);border-color:rgba(150,180,220,.35);color:var(--pb-aurora-text)}
.pb-dark-panel .btn.primary{background:var(--pb-glow-blue-soft);border-color:var(--pb-glow-blue-soft);color:var(--pb-navy-deep);font-weight:800}
.pb-dark-panel .btn.primary:hover{background:#7cc8ff}
.pb-dark-panel .micro{color:#8ea3c2}
.pb-dark-panel details{border-top:none;border-bottom:none;padding:18px 22px;margin:10px 0}
.pb-dark-panel details:last-child{border-bottom:1px solid rgba(150,180,220,.18)}
.pb-dark-panel summary{color:var(--pb-aurora-text)}
.pb-dark-panel .proof-label{background:rgba(240,180,94,.16);color:var(--pb-glow-amber)}

/* =========================================================================
   V3 additions -- owner rejected the v2 light/dark "rhythm" as still
   reading like a white document: .pb-tint / .pb-tint-b / .pb-light-mesh
   and several page-local classes (.offer, .founder, .card, .panel) were
   near-white (#eef3fb / #f6f4ef / #f4f7fb / #f7faff) and visually failed
   even though none of them were literally #fff. Variation must now come
   from different DARK tones/textures, never from returning to a light
   background. The classes below are the only sanctioned full-width
   section backgrounds going forward; .pb-tint/.pb-tint-b/.pb-light-mesh
   remain defined (harmless) but must not be applied to a new section.
   ========================================================================= */

.pb-dark-base,.pb-dark-elevated,.pb-dark-grid,.pb-dark-editorial,.pb-dark-pricing,.pb-dark-form{
  color:var(--pb-text);
}
.pb-dark-base *,.pb-dark-elevated *,.pb-dark-grid *,.pb-dark-editorial *,.pb-dark-pricing *,.pb-dark-form *{color:inherit}
.pb-dark-base .section-copy,.pb-dark-base p,
.pb-dark-elevated .section-copy,.pb-dark-elevated p,
.pb-dark-grid .section-copy,.pb-dark-grid p,
.pb-dark-editorial .section-copy,.pb-dark-editorial p,
.pb-dark-pricing .section-copy,.pb-dark-pricing p,
.pb-dark-form .section-copy,.pb-dark-form p{color:var(--pb-text-muted)}
.pb-dark-base .section-kicker,.pb-dark-base .eyebrow,
.pb-dark-elevated .section-kicker,.pb-dark-elevated .eyebrow,
.pb-dark-grid .section-kicker,.pb-dark-grid .eyebrow,
.pb-dark-editorial .section-kicker,.pb-dark-editorial .eyebrow,
.pb-dark-pricing .section-kicker,.pb-dark-pricing .eyebrow,
.pb-dark-form .section-kicker,.pb-dark-form .eyebrow{color:var(--pb-cyan)}
.pb-dark-base h1,.pb-dark-base h2,.pb-dark-base h3,
.pb-dark-elevated h1,.pb-dark-elevated h2,.pb-dark-elevated h3,
.pb-dark-grid h1,.pb-dark-grid h2,.pb-dark-grid h3,
.pb-dark-editorial h1,.pb-dark-editorial h2,.pb-dark-editorial h3,
.pb-dark-pricing h1,.pb-dark-pricing h2,.pb-dark-pricing h3,
.pb-dark-form h1,.pb-dark-form h2,.pb-dark-form h3{color:var(--pb-text)}
.pb-dark-base .micro,.pb-dark-elevated .micro,.pb-dark-grid .micro,.pb-dark-editorial .micro,.pb-dark-pricing .micro,.pb-dark-form .micro{color:var(--pb-text-soft)}
.pb-dark-base a:not(.btn),.pb-dark-elevated a:not(.btn),.pb-dark-grid a:not(.btn),.pb-dark-editorial a:not(.btn),.pb-dark-pricing a:not(.btn),.pb-dark-form a:not(.btn){color:var(--pb-cyan)}
.pb-dark-base .btn,.pb-dark-elevated .btn,.pb-dark-grid .btn,.pb-dark-editorial .btn,.pb-dark-pricing .btn,.pb-dark-form .btn{background:var(--pb-btn-bg);border-color:var(--pb-btn-border);color:var(--pb-btn-text)}
.pb-dark-base .btn.primary,.pb-dark-elevated .btn.primary,.pb-dark-grid .btn.primary,.pb-dark-editorial .btn.primary,.pb-dark-pricing .btn.primary,.pb-dark-form .btn.primary{background:var(--pb-cta-bg);border-color:var(--pb-cta-bg);color:var(--pb-cta-text);font-weight:800}
.pb-dark-base .btn.primary:hover,.pb-dark-elevated .btn.primary:hover,.pb-dark-grid .btn.primary:hover,.pb-dark-editorial .btn.primary:hover,.pb-dark-pricing .btn.primary:hover,.pb-dark-form .btn.primary:hover{filter:brightness(1.12)}

/* pb-dark-base: flattest, cheapest themed slab */
.pb-dark-base{background:var(--pb-sec-grad-c)}

/* pb-dark-elevated: "raised" surface relative to a base/panel neighbor */
.pb-dark-elevated{
  background:var(--pb-sec-grad-b);
  box-shadow:inset 0 1px 0 rgba(150,180,220,.12);
}

/* pb-dark-grid: base + a restrained, static grid texture (no motion,
   no blobs) -- for content-dense sections that want a bit of atmosphere
   without hero-weight animation cost */
.pb-dark-grid{position:relative;overflow:hidden;isolation:isolate;background:var(--pb-sec-grad-a)}
.pb-dark-grid:before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--pb-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--pb-grid-line) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(ellipse 85% 75% at 50% 15%,rgba(0,0,0,.85),transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 15%,rgba(0,0,0,.85),transparent 80%);
}
.pb-dark-grid>.wrap{position:relative;z-index:1}

/* pb-dark-editorial: founder/story sections -- deepest tone, gold quote rule */
.pb-dark-editorial{background:var(--pb-sec-grad-d)}
.pb-dark-editorial .quote{border-left:3px solid var(--pb-gold);padding-left:22px}

/* pb-dark-pricing: tuned for an offer/pricing layout; gold-accented kicker,
   gold price emphasis, gold top rule on the price panel */
.pb-dark-pricing{background:var(--pb-sec-grad-b)}
.pb-dark-pricing .section-kicker{color:var(--pb-gold-text)}
.pb-dark-pricing .price,.pb-dark-elevated .price{color:var(--pb-gold-text)}
.pb-dark-pricing .panel,.pb-dark-elevated .panel{border-top:2px solid var(--pb-gold)}

/* pb-dark-form: contact/lead forms -- inputs get an !important override
   because page-level inline style="" attributes otherwise always win */
.pb-dark-form{background:var(--pb-sec-grad-c)}
.pb-dark-form label{color:var(--pb-text-muted);font-weight:600}
.pb-dark-form label span{color:var(--pb-text)}
.pb-dark-form input,.pb-dark-form textarea{
  background:var(--pb-input) !important;
  border:1px solid var(--pb-input-border) !important;
  color:var(--pb-text) !important;
  border-radius:10px !important;
}
.pb-dark-form input::placeholder,.pb-dark-form textarea::placeholder{color:var(--pb-text-soft)}
.pb-dark-form input:focus,.pb-dark-form textarea:focus{outline:2px solid var(--pb-focus);outline-offset:2px}

/* pb-glass-card: general-purpose elevated card inside any themed section */
.pb-glass-card{
  background:var(--pb-surface);
  border:1px solid var(--pb-border);
  border-radius:14px;
  padding:26px;
}
.pb-glass-card h3{color:var(--pb-text);margin:10px 0}
.pb-glass-card p,.pb-glass-card li,.pb-glass-card span{color:var(--pb-text-muted)}
.pb-glass-card strong{color:var(--pb-text)}

/* pb-illuminated-card: featured/highlighted card with a glowing accent
   border and a thin gold top rule -- one per section at most */
.pb-illuminated-card{
  background:var(--pb-surface-elevated);
  border:1px solid var(--pb-border-glow);
  border-top:2px solid var(--pb-gold);
  border-radius:16px;
  padding:30px;
  box-shadow:0 0 0 1px rgba(96,191,255,.08),var(--pb-shadow);
}
.pb-illuminated-card h3{color:var(--pb-text)}
.pb-illuminated-card p,.pb-illuminated-card li{color:var(--pb-text-muted)}

/* ---- Secondary light tint (warm-neutral) for alternating rhythm against
   the cooler .pb-light-mesh, so consecutive light sections don't look
   identical. ---- */
.pb-tint-b{
  background:
    radial-gradient(ellipse 55% 45% at 90% 0%, rgba(240,180,94,.08), transparent 60%),
    radial-gradient(ellipse 45% 40% at 0% 100%, rgba(8,118,217,.05), transparent 60%),
    #f6f4ef;
}

/* ---- Plain flat tint, cheapest option, for short/simple sections ---- */
.pb-tint{background:#eef3fb}

/* ---- Elevated card usable on any light tint section ---- */
.pb-card{
  background:#fff;
  border:1px solid var(--line,#dfe6ef);
  border-radius:14px;
  box-shadow:0 16px 45px -38px rgba(17,26,45,.45);
}

/* =========================================================================
   Premium product card component (reusable for digital products / future
   product area). Supports: cover image, name, outcome line, type,
   availability badge, price/coming-soon, included list, license summary,
   platform requirements, preview + purchase/notify buttons, membership
   status, update status, support-limitation note.
   ========================================================================= */
.pb-product-card{
  display:flex;flex-direction:column;
  background:rgba(20,32,52,.55);
  border:1px solid rgba(150,180,220,.18);
  border-radius:18px;
  overflow:hidden;
}
.pb-product-card .pb-product-cover{
  aspect-ratio:16/9;width:100%;object-fit:cover;display:block;background:#0f1d34;
}
.pb-product-card .pb-product-body{padding:22px 24px 24px}
.pb-product-card .pb-product-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.pb-product-card .pb-product-badge{
  font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.08);
  color:#c7d3e6;border:1px solid rgba(150,180,220,.28);
}
.pb-product-card .pb-product-badge.live{background:rgba(46,204,113,.14);color:#7be2a4;border-color:rgba(46,204,113,.35)}
.pb-product-card .pb-product-badge.soon{background:rgba(240,180,94,.16);color:#f0b45e;border-color:rgba(240,180,94,.35)}
.pb-product-card h3{margin:0 0 6px;font-size:20px;color:var(--pb-aurora-text,#eef3fb)}
.pb-product-card .pb-product-outcome{font-size:15px;color:var(--pb-aurora-muted,#aab8cc);margin:0 0 14px}
.pb-product-card .pb-product-price{font-size:22px;font-weight:800;color:#fff;margin:0 0 14px}
.pb-product-card .pb-product-price small{font-size:12px;font-weight:400;color:var(--pb-aurora-muted,#aab8cc)}
.pb-product-card .pb-product-meta{list-style:none;margin:0 0 16px;padding:0;font-size:13px;color:var(--pb-aurora-muted,#aab8cc);display:grid;gap:6px}
.pb-product-card .pb-product-meta li{display:flex;gap:8px}
.pb-product-card .pb-product-meta b{color:#dbe4f2;font-weight:700;min-width:118px;display:inline-block}
.pb-product-card .pb-product-actions{display:flex;gap:10px;margin-top:auto;flex-wrap:wrap}
.pb-product-card .pb-product-note{font-size:11.5px;color:#8ea3c2;margin-top:12px}

/* ---- Consistent button hierarchy (extends the base .btn already used
   site-wide): primary = filled brand blue, secondary = outline, ghost =
   text-only, all with a single hover language. ---- */
.btn.ghost{background:transparent;border-color:transparent;text-decoration:underline;padding-left:4px;padding-right:4px}
.pb-aurora .btn.ghost,.pb-dark-panel .btn.ghost{color:var(--pb-glow-blue-soft)}

/* ---- Type-scale tokens for consistent hierarchy across new components ---- */
:root{
  --pb-h1:clamp(34px,4.4vw,50px);
  --pb-h2:clamp(24px,3vw,34px);
  --pb-h3:19px;
  --pb-body:15.5px;
  --pb-micro:12.5px;
}

/* ---- Global footer: every page's footer previously fell through to the
   plain white body background. A slim dark closing band reads as an
   intentional part of the system rather than a leftover white strip. ---- */
footer{
  background:var(--pb-footer-bg) !important;
  color:var(--pb-footer-text) !important;
  border-top:none !important;
}
footer a{color:var(--pb-glow-blue-soft) !important}
footer strong{color:var(--pb-aurora-text,#eef3fb) !important}

/* ---- Global nav: every page's sticky nav previously fell through to a
   plain white bar sitting on top of the dark hero -- the same white-region
   problem as the old footer, just at the top of the page instead. ---- */
nav{
  background:var(--pb-nav-bg) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  border-bottom:1px solid var(--pb-border) !important;
}
nav .brand,nav .brand span{color:var(--pb-text) !important}
nav svg text{fill:var(--pb-text) !important}
nav a{color:var(--pb-nav-link) !important}
.nav-links a{color:var(--pb-nav-link) !important}
.nav-links a:hover{color:var(--pb-nav-link-hover) !important}
.nav-links a.nav-cta{
  color:var(--pb-cta-text) !important;
  background:var(--pb-cta-bg) !important;
  padding:9px 16px !important;
  border-radius:8px !important;
  font-weight:700 !important;
}
.skip{background:var(--pb-page-deep) !important;color:var(--pb-text) !important}

/* =========================================================================
   V4: theme switcher control + light-mode component overrides + legal-page
   editorial treatment. The html[data-pb-theme="light"] attribute selector
   adds specificity, so these rules beat each page's own equal-specificity
   inline-<style> rules regardless of load order (pages load their <style>
   AFTER this file).
   ========================================================================= */

/* ---- Theme switcher (injected by assets/pbismark-theme.js) ---- */
.pb-theme-ctl{display:inline-flex;align-items:center;gap:7px}
.pb-theme-ctl label{font-size:12px;color:var(--pb-nav-link);font-weight:700;letter-spacing:.03em}
.pb-theme-ctl select{
  font:inherit;font-size:13px;font-weight:700;
  background:var(--pb-btn-bg);color:var(--pb-btn-text);
  border:1px solid var(--pb-btn-border);border-radius:8px;
  padding:6px 8px;cursor:pointer;
}
.pb-theme-ctl select:focus-visible{outline:2px solid var(--pb-focus);outline-offset:2px}
.pb-theme-ctl.pb-theme-floating{position:fixed;top:10px;right:12px;z-index:50;background:var(--pb-nav-bg);padding:6px 10px;border-radius:10px;border:1px solid var(--pb-border)}

/* ---- Light-mode aurora hero: warm ivory horizon with soft gold/cyan
   light instead of navy blobs ---- */
html[data-pb-theme="light"] .pb-aurora{
  background:linear-gradient(160deg,#f7f2e8 0%,#f1e9d8 55%,#ece2cc 100%);
  color:var(--pb-text);
}
html[data-pb-theme="light"] .pb-aurora .b1{background:radial-gradient(circle at 40% 40%,rgba(13,111,168,.28),transparent 72%);opacity:.5}
html[data-pb-theme="light"] .pb-aurora .b2{background:radial-gradient(circle at 60% 60%,rgba(166,124,26,.3),transparent 72%);opacity:.45}
html[data-pb-theme="light"] .pb-aurora .b3{background:radial-gradient(circle at 50% 50%,rgba(13,111,168,.2),transparent 70%);opacity:.35}
html[data-pb-theme="light"] .pb-aurora .pb-aurora-grid{
  background-image:linear-gradient(rgba(166,124,26,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(166,124,26,.08) 1px,transparent 1px);
}
html[data-pb-theme="light"] .pb-aurora h1{color:var(--pb-text)}
html[data-pb-theme="light"] .pb-aurora .hero-copy,
html[data-pb-theme="light"] .pb-aurora .section-copy{color:var(--pb-text-muted)}
html[data-pb-theme="light"] .pb-aurora .eyebrow{color:var(--pb-gold-text)}
html[data-pb-theme="light"] .pb-aurora .micro{color:var(--pb-text-soft)}
html[data-pb-theme="light"] .pb-aurora .btn{background:var(--pb-btn-bg);border-color:var(--pb-btn-border);color:var(--pb-btn-text)}
html[data-pb-theme="light"] .pb-aurora .btn.primary{background:var(--pb-cta-bg);border-color:var(--pb-cta-bg);color:var(--pb-cta-text)}
html[data-pb-theme="light"] .pb-aurora a:not(.btn){color:var(--pb-cyan)}

/* ---- Light-mode pb-dark-panel (v2 class still used on several pages) ---- */
html[data-pb-theme="light"] .pb-dark-panel{background:var(--pb-sec-grad-a);color:var(--pb-text)}
html[data-pb-theme="light"] .pb-dark-panel .section-copy,
html[data-pb-theme="light"] .pb-dark-panel p{color:var(--pb-text-muted)}
html[data-pb-theme="light"] .pb-dark-panel .section-kicker,
html[data-pb-theme="light"] .pb-dark-panel .eyebrow{color:var(--pb-cyan)}
html[data-pb-theme="light"] .pb-dark-panel h1,
html[data-pb-theme="light"] .pb-dark-panel h2,
html[data-pb-theme="light"] .pb-dark-panel h3,
html[data-pb-theme="light"] .pb-dark-panel summary{color:var(--pb-text)}
html[data-pb-theme="light"] .pb-dark-panel .card,
html[data-pb-theme="light"] .pb-dark-panel .panel,
html[data-pb-theme="light"] .pb-dark-panel .evidence-item,
html[data-pb-theme="light"] .pb-dark-panel details{background:var(--pb-surface);border-color:var(--pb-border)}
html[data-pb-theme="light"] .pb-dark-panel .note-block{background:var(--pb-surface);border-left-color:var(--pb-cyan)}
html[data-pb-theme="light"] .pb-dark-panel .process-list li{color:var(--pb-text-muted)}
html[data-pb-theme="light"] .pb-dark-panel .process-list strong{color:var(--pb-text)}
html[data-pb-theme="light"] .pb-dark-panel .btn{background:var(--pb-btn-bg);border-color:var(--pb-btn-border);color:var(--pb-btn-text)}
html[data-pb-theme="light"] .pb-dark-panel .btn.primary{background:var(--pb-cta-bg);border-color:var(--pb-cta-bg);color:var(--pb-cta-text)}
html[data-pb-theme="light"] .pb-dark-panel .micro{color:var(--pb-text-soft)}
html[data-pb-theme="light"] .pb-dark-panel a:not(.btn){color:var(--pb-cyan)}
html[data-pb-theme="light"] .pb-dark-panel .proof-label{background:rgba(166,124,26,.14);color:var(--pb-gold-text)}

/* ---- Light-mode overrides for page-local hard-coded dark components.
   These match the rgba(255,255,255,.05)-style rules each page defines
   inline; the attribute selector wins on specificity. ---- */
html[data-pb-theme="light"] .problem,
html[data-pb-theme="light"] .pb-dark-grid .card,
html[data-pb-theme="light"] .pb-dark-elevated .card,
html[data-pb-theme="light"] .transparency,
html[data-pb-theme="light"] .showcase-card,
html[data-pb-theme="light"] .pending-card,
html[data-pb-theme="light"] .path-card,
html[data-pb-theme="light"] #faq details{
  background:var(--pb-surface);border-color:var(--pb-border);
}
html[data-pb-theme="light"] .panel,
html[data-pb-theme="light"] .pb-dark-pricing .panel{
  background:var(--pb-surface-elevated);
  border-color:var(--pb-border-glow);
  border-top:2px solid var(--pb-gold);
  box-shadow:var(--pb-shadow);
}
html[data-pb-theme="light"] .price{color:var(--pb-gold-text) !important}
html[data-pb-theme="light"] .status{background:rgba(13,111,168,.1);border-left-color:var(--pb-cyan)}
html[data-pb-theme="light"] .industries span{background:var(--pb-surface);border-color:var(--pb-border);color:var(--pb-text-muted)}
html[data-pb-theme="light"] .process-list li:before{background:var(--pb-cyan);color:#fff}
html[data-pb-theme="light"] .tag{background:var(--pb-surface);color:var(--pb-text-muted);border-color:var(--pb-border-strong)}
html[data-pb-theme="light"] .path-num{color:rgba(22,35,58,.1)}
html[data-pb-theme="light"] .audience{background:var(--pb-page-deep);color:var(--pb-text)}
html[data-pb-theme="light"] .audience .section-copy{color:var(--pb-text-muted)}
html[data-pb-theme="light"] .audience-card{background:var(--pb-surface);border-color:var(--pb-border)}
html[data-pb-theme="light"] .audience-card p,html[data-pb-theme="light"] .audience-card li{color:var(--pb-text-muted)}
html[data-pb-theme="light"] .fit-note{border-color:var(--pb-border-strong);color:var(--pb-text-muted)}
html[data-pb-theme="light"] .cta{background:linear-gradient(135deg,#1c2a44,#3b2d63);color:#fff}
html[data-pb-theme="light"] input,html[data-pb-theme="light"] textarea{
  background:var(--pb-input) !important;
  border:1px solid var(--pb-input-border) !important;
  color:var(--pb-text) !important;
}
html[data-pb-theme="light"] .pb-product-card{background:var(--pb-surface-elevated);border-color:var(--pb-border)}
html[data-pb-theme="light"] .pb-product-card h3{color:var(--pb-text)}
html[data-pb-theme="light"] .pb-product-card .pb-product-outcome,
html[data-pb-theme="light"] .pb-product-card .pb-product-meta{color:var(--pb-text-muted)}
html[data-pb-theme="light"] .pb-product-card .pb-product-price{color:var(--pb-gold-text)}
html[data-pb-theme="light"] .pb-product-card .pb-product-meta b{color:var(--pb-text)}
html[data-pb-theme="light"] .pb-glass,
html[data-pb-theme="light"] .pb-glass-card{background:var(--pb-surface-glass);border-color:var(--pb-border)}
html[data-pb-theme="light"] .pb-glass h3,html[data-pb-theme="light"] .path-card h3{color:var(--pb-text)}
html[data-pb-theme="light"] .path-card p{color:var(--pb-text-muted)}
html[data-pb-theme="light"] body.pb-aurora .links a{background:var(--pb-surface);border-color:var(--pb-border);color:var(--pb-text)}
html[data-pb-theme="light"] body.pb-aurora .links .sub{color:var(--pb-text-muted)}
html[data-pb-theme="light"] body.pb-aurora .tagline{color:var(--pb-text)}
html[data-pb-theme="light"] body.pb-aurora .role{color:var(--pb-text-muted)}
html[data-pb-theme="light"] body.pb-aurora .actions-row a{border-color:var(--pb-btn-border);background:var(--pb-btn-bg);color:var(--pb-btn-text)}
html[data-pb-theme="light"] body.pb-aurora .actions-row a.primary{background:var(--pb-cta-bg);border-color:var(--pb-cta-bg);color:var(--pb-cta-text)}
html[data-pb-theme="light"] body.pb-aurora .micro{color:var(--pb-text-soft)}
html[data-pb-theme="light"] nav svg text{fill:#0f1d34 !important}

/* ---- Legal/utility page editorial treatment (.pb-doc on <body>):
   calmer, but unmistakably PBismark in both themes ---- */
body.pb-doc{
  background:var(--pb-page);
  color:var(--pb-text);
  min-height:100vh;
}
body.pb-doc .wrap{background:var(--pb-surface);border:1px solid var(--pb-border);border-radius:16px;padding:34px 38px;margin-top:40px;margin-bottom:40px}
body.pb-doc h1{color:var(--pb-text)}
body.pb-doc p,body.pb-doc li{color:var(--pb-text-muted)}
body.pb-doc a{color:var(--pb-cyan)}
body.pb-doc .notice{background:rgba(240,180,94,.12);border-left:3px solid var(--pb-warning);color:var(--pb-text-muted)}
body.pb-doc .item{border:1px solid var(--pb-border);background:var(--pb-surface);border-radius:10px}
body.pb-doc .note{background:rgba(96,191,255,.08);border-left:3px solid var(--pb-cyan);color:var(--pb-text-muted)}
body.pb-doc .score,body.pb-doc strong{color:var(--pb-text)}
body.pb-doc footer{background:transparent !important;border-top:1px solid var(--pb-border) !important;color:var(--pb-text-soft) !important}
