/* =================================================================
   STATART Insights and Analytics, Global Stylesheet
   Shared across all pages. No page-specific styles here unless they
   are reusable. Page-specific tweaks (e.g., body class) sit at the
   bottom under "PAGE OVERRIDES".
================================================================= */

:root{
  /* Navy + new Blue family (primary UI accents) */
  --navy:#0A1F3F;       --navy-2:#132B4F;
  --blue:#2563EB;       --blue-deep:#1D4ED8;
  --blue-soft:#DBEAFE;  --blue-faint:#EFF4FB;

  /* Logo brand colors, kept available so the logo SVG and brand touches stay intact */
  --teal:#00C9D2;       --teal-deep:#0099A8;
  --gold:#F5A623;       --gold-deep:#d88e15;
  --red:#E63946;

  /* Refined cool-white background system (layered) */
  --bg:#FFFFFF;         --bg-2:#F7F9FC;
  --card:#FFFFFF;
  --text:#0F1B2D;       --muted:#64748B;
  --line:#E2E8F0;       --line-2:#CBD5E1;
  --green:#22c55e;
  --hero-grad:linear-gradient(135deg,#0A1F3F 0%,#132B4F 100%);
  --btn-grad:linear-gradient(135deg,#2563EB 0%,#1D4ED8 100%);
  --shadow-sm:0 1px 3px rgba(15,27,45,.05);
  --shadow-md:0 4px 14px rgba(15,27,45,.07);
  --shadow-lg:0 16px 40px rgba(15,27,45,.10);
  --display:'Outfit',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  /* v135 theme tokens. Light values equal the literals they replace, so the
     light theme renders exactly as it did before themes existed. */
  --tint-1:#f8fafc; --tint-2:#fafbfd; --tint-3:#f1f5f9; --tint-4:#f4f7fb;
  --tint-5:#eef1f5; --tint-blue:#e0eaff;
  --header-bg:rgba(255,255,255,.94);
  --navy-surface:#0A1F3F;
  --blue-solid:#2563EB;
  color-scheme:light;
  /* Feature flags read by main.js. If a page meets an older stylesheet that
     lacks a flag, the matching feature steps back instead of breaking. */
  --statart-css-features:"theme directory datashop";
  --panel-w:300px;
  --header-h:72px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);font-size:16px;line-height:1.7;
  color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:14px}

.container{max-width:1240px;margin:0 auto;padding:0 32px}

/* Side-panel offset on desktop, only when body has .has-panel */
@media (min-width:1100px){
  body.has-panel{padding-right:var(--panel-w)}
  body.has-panel .site-header{padding-right:var(--panel-w)}
}

/* =================================================================
   LOADING SCREEN
================================================================= */
.loading-screen{
  position:fixed;inset:0;z-index:9999;
  background:var(--card);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .6s ease, visibility .6s ease;
  overflow:hidden;
}
.loading-screen.hide{opacity:0;visibility:hidden;pointer-events:none}
.loading-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.15}
.loading-content{
  position:relative;z-index:2;text-align:center;
  display:flex;flex-direction:column;align-items:center;
  padding:24px;max-width:90vw;
}
.loading-logo{
  display:flex;align-items:flex-end;gap:8px;line-height:1;
  animation:logoZoom 2.4s ease-in-out infinite;
  transform-origin:center;
}
.loading-logo .word{
  font-family:var(--display);font-weight:700;
  font-size:clamp(32px,5vw,56px);letter-spacing:-1px;color:var(--navy);
}
.loading-logo .mark{
  display:inline-flex;align-items:flex-end;
  height:clamp(32px,5vw,56px);
}
.loading-logo .mark svg{height:100%;width:auto;display:block}
.loading-tag{
  font-family:var(--display);font-weight:500;
  font-size:clamp(10px,1.4vw,13px);letter-spacing:3px;
  text-transform:uppercase;color:var(--blue-deep);
  margin-top:14px;
  animation:tagFade 2.4s ease-in-out infinite;
}
.loading-quote{
  margin-top:32px;max-width:520px;
  font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(14px,1.6vw,17px);
  color:var(--muted);line-height:1.6;
  opacity:0;animation:quoteIn .8s ease .3s forwards;
}
.loading-quote::before{content:"\201C";color:var(--gold);margin-right:4px}
.loading-quote::after{content:"\201D";color:var(--gold);margin-left:4px}

@keyframes logoZoom{
  0%,100%{transform:scale(.92) rotate(-1deg)}
  50%{transform:scale(1.05) rotate(1deg)}
}
@keyframes tagFade{
  0%,100%{opacity:.4}
  50%{opacity:1}
}
@keyframes quoteIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .loading-logo,.loading-tag,.loading-quote{animation:none}
  .loading-screen{transition-duration:.2s}
  .loading-quote{opacity:1}
}

/* =================================================================
   BUTTONS
================================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 28px;border-radius:999px;
  font-family:var(--display);font-weight:600;font-size:13px;
  letter-spacing:.5px;text-transform:uppercase;
  transition:transform .25s ease, box-shadow .25s ease, background .25s, color .25s;
  white-space:nowrap;
}
.btn:hover{transform:scale(1.03)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-deep);box-shadow:0 0 24px rgba(245,166,35,.45)}
.btn-teal{background:var(--btn-grad);color:#fff}
.btn-teal:hover{box-shadow:0 0 24px rgba(37,99,235,.4)}
.btn-outline{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}
.btn-outline:hover{background:var(--blue-solid);color:#fff;border-color:var(--blue);box-shadow:0 6px 18px rgba(37,99,235,.25)}
.btn-ghost-dark{background:var(--bg-2);color:var(--text)}
.btn-ghost-dark:hover{background:var(--line)}

/* =================================================================
   HEADER
================================================================= */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:90;
  background:var(--header-bg);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(10,31,63,.06);
  box-shadow:0 1px 0 rgba(10,31,63,.04);
}
.header-inner{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 32px;max-width:1240px;margin:0 auto;
  height:var(--header-h);
}
.logo{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1}
.logo-row{display:flex;align-items:flex-end;gap:6px;line-height:1}
.logo-word{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.5px;color:var(--navy)}
.logo-mark{display:inline-flex;align-items:flex-end;height:22px}
.logo-mark svg{height:100%;width:auto;display:block}
.logo-tag-mini{
  font-family:var(--display);font-weight:500;
  font-size:9px;letter-spacing:2px;text-transform:uppercase;
  color:var(--muted);margin-top:3px;
}
.nav{display:flex;align-items:center;gap:30px}
.nav a{
  font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.5px;
  color:var(--text);position:relative;padding:6px 0;
  transition:color .2s;
}
.nav a:hover{color:var(--blue-deep)}
.nav a:not(.btn)::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--blue-solid);transform:scaleX(0);transform-origin:center;
  transition:transform .25s ease;
}
.nav a:not(.btn):hover::after,
.nav a.active::after{transform:scaleX(1)}
.nav a.active{color:var(--blue-deep)}
/* Dropdown links must NOT get the top-level nav underline (it was crossing the list). Show the arrow instead. */
.nav .nav-dropdown a:not(.btn)::after{
  content:"\2192";left:auto;right:14px;bottom:auto;top:50%;
  width:auto;height:auto;background:none;
  transform:translateY(-50%);opacity:0;color:var(--blue-deep);
  transition:opacity .15s ease, transform .15s ease;
}
.nav .nav-dropdown a:not(.btn):hover::after{opacity:1;transform:translateY(-50%) translateX(2px)}
.menu-btn{display:none;color:var(--navy);font-size:24px;background:transparent;border:0}

/* Push first section below the fixed header (except hero, which goes full-bleed) */
main{padding-top:var(--header-h)}
main.has-hero{padding-top:0}

/* =================================================================
   HERO (home only)
================================================================= */
.hero{
  position:relative;min-height:100vh;
  background:var(--card);color:var(--text);
  display:flex;align-items:center;
  padding:calc(var(--header-h) + 48px) 0 80px;overflow:hidden;
}
.hero-bg{position:absolute;inset:0;opacity:.55;pointer-events:none}
.hero-bg svg{width:100%;height:100%}
.hero-glow{
  position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.18) 0%,transparent 60%);
  top:-150px;right:-100px;pointer-events:none;
}
.hero-glow-2{
  position:absolute;width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,166,35,.14) 0%,transparent 60%);
  bottom:-150px;left:-100px;pointer-events:none;
}
.hero-inner{position:relative;z-index:2;max-width:880px}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--display);font-weight:500;
  font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--blue-deep);padding:8px 16px;
  border:1px solid rgba(37,99,235,.3);border-radius:999px;
  background:rgba(37,99,235,.08);margin-bottom:28px;
}
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--blue-solid);animation:pulse 1.6s infinite}
.hero h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(36px,5.4vw,56px);line-height:1.1;
  letter-spacing:-1px;margin-bottom:24px;color:var(--navy);
}
.hero h1 .accent{color:var(--gold)}
.hero p.lede{
  font-size:18px;color:var(--muted);
  max-width:60ch;margin-bottom:40px;line-height:1.7;
}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-scroll{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  color:var(--muted);animation:bounce 2s infinite;font-size:24px;opacity:.5;
}

/* =================================================================
   PAGE HEADER (non-home pages)
================================================================= */
.page-head{
  background:var(--card);color:var(--text);padding:80px 0 64px;position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
}
.page-head::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(10,31,63,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,31,63,.025) 1px,transparent 1px);
  background-size:60px 60px;pointer-events:none;
}
.page-head .container{position:relative}
.crumbs{
  font-family:var(--display);font-weight:500;font-size:11px;
  letter-spacing:2px;text-transform:uppercase;
  color:var(--blue-deep);margin-bottom:14px;
}
.crumbs a{color:var(--blue-deep);opacity:.7;transition:opacity .2s}
.crumbs a:hover{opacity:1}
.crumbs .sep{color:var(--line-2);margin:0 8px}
.page-head h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(36px,5vw,52px);line-height:1.1;
  letter-spacing:-.8px;margin-bottom:14px;color:var(--navy);
}
.page-head p.kicker{
  color:var(--muted);font-size:17px;max-width:60ch;
}

/* =================================================================
   SECTION COMMON
================================================================= */
.section{padding:96px 0}
.section-eyebrow{
  font-family:var(--display);font-weight:600;
  font-size:11px;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;
}
.section-title{
  font-family:var(--display);font-weight:700;
  font-size:clamp(28px,3.6vw,42px);line-height:1.15;
  letter-spacing:-.5px;color:var(--text);margin-bottom:20px;
}
.section.dark{
  background:linear-gradient(180deg,var(--card) 0%,var(--blue-faint) 100%);
  color:var(--text);position:relative;overflow:hidden;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.section.dark::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(10,31,63,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,31,63,.025) 1px,transparent 1px);
  background-size:60px 60px;pointer-events:none;
}
.section.dark .container{position:relative}
.section.dark .section-title{color:var(--navy)}
.section.dark .section-eyebrow{color:var(--blue-deep)}

/* =================================================================
   CARDS / GRIDS
================================================================= */
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.about-grid p{color:var(--muted);margin-bottom:18px}
.about-extra{max-height:0;overflow:hidden;transition:max-height .5s ease}
.about-extra.open{max-height:1000px}
.read-more-link{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--display);font-weight:600;
  font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--blue-deep);padding:8px 0;
  border-bottom:2px solid var(--blue-deep);
  transition:color .2s, border-color .2s;
}
.read-more-link:hover{color:var(--gold);border-color:var(--gold)}
.about-vis{
  position:relative;aspect-ratio:1/1;max-width:480px;margin-left:auto;
  background:var(--card);border-radius:24px;overflow:hidden;
  box-shadow:var(--shadow-lg);padding:32px;
}
.about-vis svg{width:100%;height:100%}

/* Counters (Trust section) */
.counter-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  max-width:900px;margin:0 auto;
}
.counter-card{
  background:var(--card);border:1px solid var(--line);
  border-radius:20px;padding:40px 24px;
  box-shadow:0 2px 8px rgba(10,31,63,.04);
  transition:transform .3s, border-color .3s, box-shadow .3s;text-align:center;
}
.counter-card:hover{
  transform:translateY(-4px);
  border-color:rgba(37,99,235,.4);
  box-shadow:0 12px 32px rgba(10,31,63,.08);
}
.counter-num{
  font-family:var(--mono);font-weight:700;
  font-size:56px;color:var(--blue-deep);line-height:1;
  display:block;margin-bottom:8px;
}
.counter-num .suffix{font-size:36px;color:var(--gold)}
.counter-label{
  font-family:var(--display);font-weight:600;
  font-size:13px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--muted);
}

/* Service cards */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
.service-card{
  background:var(--card);border-radius:16px;padding:36px;
  box-shadow:var(--shadow-sm);border-top:3px solid var(--blue);
  transition:transform .3s, box-shadow .3s;position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.service-icon{
  width:56px;height:56px;border-radius:12px;
  background:linear-gradient(135deg,rgba(37,99,235,.15) 0%,rgba(37,99,235,.05) 100%);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  color:var(--blue-deep);
}
.service-card h3{font-family:var(--display);font-weight:600;font-size:20px;color:var(--text);margin-bottom:10px}
.service-card p{color:var(--muted);font-size:14px;line-height:1.65;margin-bottom:18px}
.service-card .btn{margin-top:auto}
.service-card ul{list-style:none;margin-bottom:18px}
.service-card li{
  font-size:13px;color:var(--text);padding:6px 0;
  border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;
}
.service-card li:last-child{border-bottom:none}
.service-card li::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-solid);flex-shrink:0;
}
.quote-tag{
  font-family:var(--display);font-weight:600;
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);
}

/* Nationwide / Map */
.nationwide-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;margin-top:48px}
.map-wrap{
  position:relative;aspect-ratio:5/4;
  background:var(--card);border-radius:20px;
  box-shadow:var(--shadow-sm);padding:32px;
}
.map-wrap svg{width:100%;height:100%}
.map-pin{transform-origin:center;animation:pin-pulse 2.4s infinite}
.map-pin:nth-child(2n){animation-delay:.4s}
.map-pin:nth-child(3n){animation-delay:.8s}
.solutions-list{display:flex;flex-direction:column;gap:14px}
.solution-row{
  display:flex;align-items:center;gap:18px;
  background:var(--card);padding:18px 22px;border-radius:12px;
  border-left:3px solid var(--blue);
  box-shadow:var(--shadow-sm);transition:transform .25s;
}
.solution-row:hover{transform:translateX(4px)}
.solution-row .num{
  font-family:var(--mono);font-weight:700;font-size:14px;
  color:var(--gold);min-width:28px;
}
.solution-row .label{flex:1}
.solution-row .label h4{font-family:var(--display);font-weight:600;font-size:15px;color:var(--text)}
.solution-row .label span{font-size:12px;color:var(--muted)}
.solution-row .quote{
  font-family:var(--display);font-weight:600;
  font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--gold);white-space:nowrap;
}

/* Diff / Ethics */
.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ethics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.ethics-tile{
  background:var(--bg);border-radius:16px;padding:24px;
  text-align:center;border:1px solid var(--line);
  transition:border-color .3s, transform .3s;
}
.ethics-tile:hover{border-color:var(--blue);transform:translateY(-3px)}
.ethics-tile .icon{
  width:48px;height:48px;border-radius:12px;
  background:rgba(37,99,235,.1);color:var(--blue-deep);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;
}
.ethics-tile h4{font-family:var(--display);font-weight:600;font-size:14px;color:var(--text);margin-bottom:4px}
.ethics-tile p{font-size:12px;color:var(--muted);line-height:1.5}

/* =================================================================
   PROCESS TIMELINE
================================================================= */
.timeline{position:relative;margin-top:64px}
.timeline::before{
  content:"";position:absolute;left:36px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--blue) 0%,var(--gold) 100%);
}
.tl-step{
  display:grid;grid-template-columns:88px 1fr;gap:24px;
  margin-bottom:36px;position:relative;
}
.tl-step:last-child{margin-bottom:0}
.tl-icon{
  width:72px;height:72px;border-radius:16px;
  background:var(--card);border:2px solid var(--blue);
  display:flex;align-items:center;justify-content:center;
  color:var(--blue-deep);position:relative;z-index:1;
  box-shadow:var(--shadow-sm);
}
.tl-num{
  font-family:var(--mono);font-weight:700;font-size:11px;
  color:var(--gold);letter-spacing:1.5px;margin-bottom:6px;
}
.tl-body h3{font-family:var(--display);font-weight:600;font-size:20px;color:var(--text);margin-bottom:8px}
.tl-body p{color:var(--muted);font-size:14px;line-height:1.7;max-width:60ch}

/* =================================================================
   CASE STUDY CARDS
================================================================= */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.case-card{
  background:var(--card);border-radius:16px;overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .3s, box-shadow .3s;
  display:flex;flex-direction:column;
}
.case-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.case-cover{
  aspect-ratio:16/10;background:var(--navy-surface);position:relative;overflow:hidden;
}
.case-cover svg{width:100%;height:100%}
.case-tag{
  position:absolute;top:14px;left:14px;
  font-family:var(--display);font-weight:600;font-size:10px;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);
  background:var(--gold);padding:5px 10px;border-radius:4px;
}
.case-body{padding:24px;flex:1;display:flex;flex-direction:column}
.case-body h3{font-family:var(--display);font-weight:600;font-size:18px;color:var(--text);margin-bottom:8px}
.case-body p{color:var(--muted);font-size:14px;flex:1;margin-bottom:16px}
.case-body .meta{
  font-family:var(--display);font-size:11px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--blue-deep);font-weight:600;
}
.case-body .meta::after{content:" \2192"}

/* =================================================================
   CONTACT
================================================================= */
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;margin-top:48px}
.contact-form-wrap{
  background:var(--card);border-radius:20px;padding:40px;
  box-shadow:var(--shadow-sm);
}
.field{margin-bottom:18px}
.field label{
  display:block;font-family:var(--display);font-weight:500;
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--text);margin-bottom:6px;
}
.field input, .field textarea, .field select{
  width:100%;padding:12px 14px;border:1.5px solid var(--line);
  border-radius:10px;color:var(--text);transition:border-color .2s;
  background:var(--bg);
}
.field input:focus, .field textarea:focus, .field select:focus{
  outline:none;border-color:var(--blue);background:var(--card);
}
.field textarea{resize:vertical;min-height:120px}
.honeypot{position:absolute;left:-9999px;visibility:hidden}
.contact-side{
  background:var(--tint-2);color:var(--text);border:1px solid var(--line);
  border-top:3px solid var(--blue);
  border-radius:20px;padding:40px;
  display:flex;flex-direction:column;gap:28px;
}
.contact-side h3{font-family:var(--display);font-weight:600;font-size:18px;color:var(--navy);margin-bottom:10px}
.contact-side .info-row{
  display:flex;gap:14px;align-items:flex-start;
  padding-bottom:18px;border-bottom:1px solid var(--line);
}
.contact-side .info-row:last-child{border-bottom:none;padding-bottom:0}
.contact-side .info-row .ic{
  width:36px;height:36px;border-radius:10px;
  background:rgba(37,99,235,.12);color:var(--blue-deep);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-side .info-row .txt{font-size:14px;color:var(--text)}
.contact-side .info-row .lbl{
  font-family:var(--display);font-size:10px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--muted);margin-bottom:2px;
}
.contact-side a{color:var(--blue-deep)}

/* =================================================================
   ON THE RACK & FOLLOW US (used on home and elsewhere)
================================================================= */
.rack-section{
  background:linear-gradient(180deg,var(--card) 0%,var(--blue-faint) 100%);
  color:var(--text);text-align:center;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.rack-section .section-title{color:var(--navy)}
.rack-section .section-eyebrow{color:var(--blue-deep)}
.rack-section p{color:var(--muted);max-width:60ch;margin:0 auto 32px;font-size:17px}

.social-section{background:var(--card);text-align:center;padding:64px 0}
.social-icons{display:flex;justify-content:center;gap:18px;margin-top:28px}
.social-icons a{
  width:54px;height:54px;border-radius:14px;
  border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  color:var(--blue-deep);transition:all .3s;
}
.social-icons a:hover{
  background:var(--blue-solid);color:#fff;border-color:var(--blue);
  transform:translateY(-4px);box-shadow:0 8px 20px rgba(37,99,235,.3);
}

/* =================================================================
   FOOTER  (white theme)
================================================================= */
footer{
  background:var(--bg-2);
  color:var(--muted);
  padding:64px 0 28px;
  border-top:1px solid var(--line);
}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:28px;margin-bottom:48px}
.footer-brand{display:flex;align-items:flex-end;gap:8px;margin-bottom:6px;line-height:1}
.footer-brand-word{font-family:var(--display);font-weight:700;font-size:30px;color:var(--navy);letter-spacing:-.7px}
.footer-brand-mark{display:inline-flex;align-items:flex-end;height:30px}
.footer-brand-mark svg{height:100%;width:auto;display:block}
.footer-tag{
  font-family:var(--display);font-weight:500;font-size:10px;
  letter-spacing:2px;text-transform:uppercase;color:var(--gold-deep);
  display:block;margin-bottom:18px;
}
.footer-grid p{font-size:14px;line-height:1.7;max-width:38ch;color:var(--muted)}
/* Footer column labels are h2 for a correct heading outline (they were h5,
   which skipped levels on every page). line-height is left to inherit, as the
   h5 did, so each page renders exactly as before. */
.footer-grid h5,
.footer-grid .footer-h{
  color:var(--navy);font-family:var(--display);font-weight:600;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;
}
.footer-grid li{list-style:none;margin-bottom:10px;font-size:14px}
.footer-grid a{color:var(--muted);transition:color .2s}
.footer-brand-contact{font-size:14px;line-height:1.6;color:var(--muted);margin:6px 0 0;max-width:38ch}
.footer-brand-contact span{color:var(--muted)}
.footer-grid a:hover{color:var(--blue-deep)}
.footer-bottom{
  border-top:1px solid var(--line);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:var(--muted);
}
.footer-bottom a{color:var(--muted);margin-left:18px;transition:color .2s}
.footer-bottom a:hover{color:var(--blue-deep)}

/* =================================================================
   SIDE PANEL (live data widgets)
================================================================= */
.side-panel{
  position:fixed;right:0;top:0;width:var(--panel-w);height:100vh;
  background:var(--card);
  border-left:1px solid var(--line);
  padding:calc(var(--header-h) + 16px) 16px 24px;
  overflow-y:auto;z-index:80;color:var(--text);
}
.side-panel::-webkit-scrollbar{width:4px}
.side-panel::-webkit-scrollbar-thumb{background:rgba(37,99,235,.4);border-radius:2px}
.panel-title{
  font-family:var(--display);font-weight:600;
  font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--blue-deep);margin-bottom:14px;display:flex;align-items:center;gap:8px;
}
.panel-title .live-dot{
  width:6px;height:6px;border-radius:50%;background:#22c55e;animation:pulse 1.6s infinite;
}
.widget{
  background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:16px;margin-bottom:14px;position:relative;
  border-top:2px solid var(--blue);
  box-shadow:0 2px 8px rgba(10,31,63,.04);
}
.widget-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.widget-label{
  font-family:var(--display);font-weight:600;
  font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--muted);
}
.widget-pulse{
  width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 1.6s infinite;
}
.widget-pulse.stale{background:var(--gold)}
.widget-num{
  font-family:var(--mono);font-weight:700;font-size:24px;color:var(--navy);
  display:flex;align-items:baseline;gap:6px;
}
.widget-num .ccy{font-size:11px;color:var(--muted);font-weight:500}
.widget-change{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:12px;font-weight:500;margin-top:4px}
.widget-change.up{color:var(--green)}
.widget-change.down{color:var(--red)}
.spark{margin-top:8px;height:32px;width:100%}
.commodity-row,.company-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 0;border-bottom:1px solid var(--line);font-size:12px;
}
.commodity-row:last-child,.company-row:last-child{border-bottom:none}
.commodity-row .name{color:var(--text);font-weight:500}
.commodity-row .price,.company-row .pr{font-family:var(--mono);font-weight:500;color:var(--navy)}
.commodity-row .pct,.company-row .ch{font-family:var(--mono);font-size:11px;margin-left:6px}
.commodity-row .pct.up,.company-row .ch.up{color:var(--green)}
.commodity-row .pct.down,.company-row .ch.down{color:var(--red)}
.company-row .sym{font-family:var(--mono);font-weight:600;font-size:11px;color:var(--blue-deep);min-width:48px}
.company-row .nm{color:var(--text);flex:1;font-size:11px}
.news-ticker{font-family:var(--body);font-size:13px;color:var(--text);line-height:1.5;min-height:56px}
.news-item{display:none;animation:fadeIn .5s}
.news-item.active{display:block}
.news-item a{color:var(--blue-deep);text-decoration:underline}
.news-empty{color:var(--muted);font-size:12px;font-style:italic}

/* =================================================================
   MODAL
================================================================= */
.modal{
  position:fixed;inset:0;background:rgba(10,31,63,.7);
  backdrop-filter:blur(8px);z-index:200;
  display:none;align-items:center;justify-content:center;padding:24px;
}
.modal.open{display:flex}
.modal-card{
  background:var(--card);border-radius:20px;padding:40px;max-width:520px;width:100%;
  box-shadow:0 24px 60px rgba(0,0,0,.3);position:relative;
}
.modal-close{
  position:absolute;top:16px;right:16px;
  width:32px;height:32px;border-radius:8px;
  color:var(--muted);transition:background .2s;
  display:flex;align-items:center;justify-content:center;
}
.modal-close:hover{background:var(--bg)}
.modal-card h3{font-family:var(--display);font-weight:700;font-size:24px;color:var(--text);margin-bottom:8px}
.modal-card p.sub{color:var(--muted);font-size:14px;margin-bottom:24px}

/* =================================================================
   ANIMATIONS
================================================================= */
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.6);opacity:1}
  50%{box-shadow:0 0 0 6px rgba(34,197,94,0);opacity:.85}
}
@keyframes pin-pulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.3);opacity:.7}
}
@keyframes bounce{
  0%,100%{transform:translate(-50%,0)}
  50%{transform:translate(-50%,8px)}
}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* =================================================================
   RESPONSIVE
================================================================= */
@media (max-width:1099px){
  .side-panel{
    position:relative;width:100%;height:auto;
    padding:24px 20px;border-left:none;border-top:1px solid rgba(255,255,255,.08);
    display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  }
  .panel-title{display:none}
  .widget{min-width:240px;flex-shrink:0;scroll-snap-align:start;margin-bottom:0}
}
@media (max-width:900px){
  .nav{display:none}
  .nav.open{
    display:flex;flex-direction:column;align-items:flex-start;gap:18px;
    position:absolute;top:100%;left:0;right:0;
    background:var(--card);padding:24px 32px;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 32px rgba(10,31,63,.08);
  }
  .menu-btn{display:block}
  .about-grid,.nationwide-grid,.diff-grid,.contact-grid{grid-template-columns:1fr;gap:48px}
  .services-grid,.ethics-grid,.case-grid{grid-template-columns:1fr}
  .counter-grid{grid-template-columns:1fr;gap:18px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .section{padding:64px 0}
  .hero{padding:96px 0 60px;min-height:auto}
}
@media (max-width:540px){
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .container{padding:0 20px}
  .tl-step{grid-template-columns:60px 1fr;gap:14px}
  .tl-icon{width:54px;height:54px}
  .timeline::before{left:27px}
}

/* =================================================================
   FX RATES BOARD (Widget 1, replaces old USD/NGN widget)
================================================================= */
.fx-board{
  background:var(--card);
  border:1px solid var(--line);
  border-top:2px solid var(--blue);
  border-radius:14px;
  padding:0;overflow:hidden;
  box-shadow:0 2px 8px rgba(10,31,63,.04);
  /* override generic .widget defaults */
  border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}
.fx-head{
  padding:12px 14px 7px;background:var(--tint-2);
  text-align:center;
  font-family:var(--display);font-weight:700;font-size:10.5px;
  letter-spacing:1px;color:var(--navy);text-transform:uppercase;line-height:1.4;
}
.fx-rows{padding:6px 0}
.fx-row{
  display:flex;align-items:center;
  padding:7px 14px;gap:10px;
  border-bottom:1px solid var(--line);
}
.fx-row:last-child{border-bottom:none}
.fx-flag{
  width:22px;height:14px;border-radius:2px;overflow:hidden;
  display:inline-block;flex-shrink:0;
  box-shadow:0 1px 2px rgba(10,31,63,.15);
}
.fx-flag svg{width:100%;height:100%;display:block}
.fx-ccy{
  font-family:var(--display);font-weight:600;font-size:12px;
  color:var(--text);flex:1;letter-spacing:.5px;
}
.fx-rate{
  font-family:var(--mono);font-weight:600;font-size:12px;
  color:var(--blue-deep);text-align:right;
}
.fx-footer{
  padding:9px 14px;border-top:1px solid var(--line);
  background:var(--tint-2);text-align:center;
}
.fx-brand{
  font-family:var(--display);font-weight:600;font-size:8px;
  letter-spacing:1.8px;color:var(--muted);text-transform:uppercase;
}
.fx-date{
  text-align:center;background:var(--tint-2);
  padding:0 14px 10px;border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:10px;color:var(--gold-deep);
}

/* Mobile widget sizing (already inside scrolling strip) */
@media (max-width:1099px){
  .fx-board{min-width:260px}
}

/* Reduce-motion: kill all subtle animations (pulse dots, pin pulse) */
@media (prefers-reduced-motion:reduce){
  .map-pin,.widget-pulse,.panel-title .live-dot,
  .hero-eyebrow .dot,.hero-scroll{animation:none}
}

/* =================================================================
   BLOG SHOWCASE (home page)
================================================================= */
.showcase-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:18px;margin-bottom:40px;
}
.showcase-view-all{align-self:flex-end}

.showcase-grid{
  display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:stretch;
}
.showcase-grid.no-recent{grid-template-columns:1fr;max-width:780px;margin:0 auto}

/* Featured (large) card */
.showcase-featured{
  display:flex;flex-direction:column;background:var(--card);
  border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .3s ease, box-shadow .3s ease;
  text-decoration:none;color:inherit;
}
.showcase-featured:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.showcase-cover{
  position:relative;aspect-ratio:16/9;overflow:hidden;
  background:linear-gradient(135deg,var(--tint-4) 0%,#E5EBF2 100%);
  display:flex;align-items:center;justify-content:center;
}
.showcase-cover img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s ease;
}
.showcase-featured:hover .showcase-cover img{transform:scale(1.05)}
.showcase-cover[data-no-img]::after{
  content:"STATART";font-family:var(--display);font-weight:700;
  color:rgba(10,31,63,.12);font-size:40px;letter-spacing:3px;
  position:absolute;
}
.showcase-category{
  position:absolute;top:16px;left:16px;z-index:2;
  background:var(--gold);color:var(--navy);
  padding:6px 12px;border-radius:4px;
  font-family:var(--display);font-weight:700;font-size:10px;
  letter-spacing:1.5px;text-transform:uppercase;
}
.showcase-info{padding:28px 28px 32px}
.showcase-meta{
  font-family:var(--display);font-weight:600;font-size:11px;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);
  margin-bottom:12px;
}
.showcase-info h3{
  font-family:var(--display);font-weight:700;font-size:26px;
  line-height:1.25;color:var(--text);margin-bottom:14px;letter-spacing:-.3px;
}
.showcase-summary{
  color:var(--muted);font-size:14.5px;line-height:1.65;margin-bottom:20px;
}
.showcase-readmore{
  font-family:var(--display);font-weight:600;font-size:12px;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--blue-deep);
  display:inline-flex;align-items:center;gap:6px;transition:gap .25s ease;
}
.showcase-featured:hover .showcase-readmore{gap:12px}

/* Recent (small) cards on the right */
.showcase-recent-list{display:flex;flex-direction:column;gap:14px}
.showcase-recent{
  display:grid;grid-template-columns:112px 1fr;gap:16px;
  background:var(--card);border-radius:12px;overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .25s ease, box-shadow .25s ease;
  text-decoration:none;color:inherit;align-items:stretch;
}
.showcase-recent:hover{transform:translateX(4px);box-shadow:var(--shadow-lg)}
.showcase-recent-thumb{
  aspect-ratio:1/1;overflow:hidden;position:relative;
  background:linear-gradient(135deg,var(--tint-4) 0%,#E5EBF2 100%);
  display:flex;align-items:center;justify-content:center;
}
.showcase-recent-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.showcase-recent-thumb[data-no-img]::after{
  content:"·";font-family:var(--display);font-size:48px;
  color:rgba(10,31,63,.2);line-height:0;
}
.showcase-recent-info{
  padding:14px 18px 14px 0;
  display:flex;flex-direction:column;justify-content:center;
}
.showcase-meta-tiny{
  font-family:var(--display);font-weight:600;font-size:9px;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--blue-deep);
  margin-bottom:6px;
}
.showcase-recent h4{
  font-family:var(--display);font-weight:600;font-size:14px;
  line-height:1.35;color:var(--text);
  /* Truncate to 3 lines */
  display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;
  -webkit-box-orient:vertical;overflow:hidden;
}

.showcase-recent-date{
  margin-top:8px;font-family:var(--display);font-weight:600;font-size:10px;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);
}
.showcase-recent-thumb{aspect-ratio:auto;min-height:112px;height:100%}
@media (max-width:1000px){
  .showcase-grid{grid-template-columns:1fr;gap:18px}
  .showcase-info h3{font-size:22px}
}
@media (max-width:480px){
  .showcase-recent{grid-template-columns:96px 1fr}
  .showcase-info{padding:22px}
  .showcase-info h3{font-size:19px}
}

/* =================================================================
   TOP NAV: Dropdown Menus
   Reports / Data / Surveys / Products, each is a hover/click menu
================================================================= */
.nav-item{position:relative;display:inline-block}
.nav-trigger{
  background:transparent;border:0;cursor:pointer;
  font-family:var(--display);font-weight:500;font-size:13px;
  letter-spacing:.5px;color:var(--text);
  padding:6px 4px;
  display:inline-flex;align-items:center;gap:6px;
  transition:color .2s;
}
.nav-trigger:hover,
.nav-item:hover .nav-trigger,
.nav-item.open .nav-trigger{color:var(--blue-deep)}
.nav-chevron{
  transition:transform .25s ease;
  opacity:.65;
  stroke-width:1.6;
}
.nav-item:hover .nav-chevron,
.nav-item.open .nav-chevron{transform:rotate(180deg);opacity:1}

.nav-dropdown{
  position:absolute;top:calc(100% + 14px);left:50%;
  transform:translateX(-50%) translateY(-8px);
  background:var(--card);border-radius:14px;
  box-shadow:0 16px 48px rgba(10,31,63,.18), 0 2px 8px rgba(10,31,63,.08);
  padding:10px;
  min-width:260px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:100;
}
/* Small arrow pointing up to the trigger */
.nav-dropdown::before{
  content:"";position:absolute;
  top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:var(--card);
  border-top:1px solid rgba(10,31,63,.05);
  border-left:1px solid rgba(10,31,63,.05);
}
/* Hover bridge, invisible area between trigger and dropdown so cursor can travel */
.nav-item::after{
  content:"";position:absolute;top:100%;left:0;right:0;height:18px;
}
/* Show on hover (desktop) or .open class (mobile / keyboard) */
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown,
.nav-item.open .nav-dropdown{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
  display:block;padding:11px 16px;border-radius:8px;
  font-family:var(--display);font-weight:500;font-size:13px;
  letter-spacing:.3px;color:var(--text);
  white-space:nowrap;transition:background .15s, color .15s, padding-left .2s;
  position:relative;
}
.nav-dropdown a:hover{
  background:var(--bg-2);color:var(--blue-deep);padding-left:20px;
}
.nav-dropdown a::after{
  content:"\2192";position:absolute;right:14px;top:50%;transform:translateY(-50%);
  opacity:0;transition:opacity .15s, transform .15s;color:var(--blue-deep);
}
.nav-dropdown a:hover::after{opacity:1;transform:translateY(-50%) translateX(2px)}

/* Mobile, expand inline inside the white menu */
@media (max-width: 880px){
  .nav-trigger{
    width:100%;justify-content:space-between;
    color:var(--text);padding:14px 0;font-size:15px;
    border-bottom:1px solid var(--line);
  }
  .nav-trigger:hover{color:var(--blue-deep)}
  .nav-dropdown{
    position:static;
    transform:none !important;
    background:transparent;
    box-shadow:none;padding:6px 0 14px 18px;margin:0;
    min-width:0;
    border-left:2px solid rgba(37,99,235,.3);
    margin-left:6px;
    opacity:0;visibility:hidden;pointer-events:none;
    max-height:0;overflow:hidden;
    transition:max-height .3s ease, opacity .2s, visibility .2s;
  }
  .nav-dropdown::before{display:none}
  .nav-item::after{display:none}
  /* On mobile we ONLY rely on .open, no hover */
  .nav-item:hover .nav-dropdown{
    opacity:0;visibility:hidden;pointer-events:none;max-height:0;
  }
  .nav-item.open .nav-dropdown{
    opacity:1;visibility:visible;pointer-events:auto;max-height:500px;
  }
  .nav-dropdown a{
    color:var(--muted);font-size:13.5px;padding:9px 0;
  }
  .nav-dropdown a:hover{
    color:var(--blue-deep);background:transparent;padding-left:6px;
  }
  .nav-dropdown a::after{display:none}
  .nav-item{display:block;width:100%}
}

/* =================================================================
   PAID SURVEYS
================================================================= */
.surveys-intro{
  text-align:center;max-width:680px;margin:0 auto 56px;
}
.surveys-intro p{color:var(--muted);font-size:17px;line-height:1.7;margin-bottom:24px}
.surveys-stats{
  display:flex;justify-content:center;gap:36px;flex-wrap:wrap;
  padding-top:22px;border-top:1px solid var(--line);margin-top:22px;
}
.surveys-stat{text-align:center}
.surveys-stat .n{
  font-family:var(--mono);font-weight:700;font-size:24px;
  color:var(--blue-deep);line-height:1;display:block;
}
.surveys-stat .l{
  font-family:var(--display);font-size:10px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--muted);margin-top:6px;display:block;
}
.surveys-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:24px;margin-bottom:48px;
}
.survey-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:28px;display:flex;flex-direction:column;
  box-shadow:var(--shadow-sm);
  transition:transform .3s, box-shadow .3s, border-color .3s;
  position:relative;
}
.survey-card:hover{
  transform:translateY(-4px);box-shadow:var(--shadow-lg);
  border-color:rgba(37,99,235,.3);
}
.survey-card.is-full,.survey-card.is-closed{opacity:.7}
.survey-top{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:12px;margin-bottom:14px;
}
.survey-topic{
  font-family:var(--display);font-weight:600;font-size:10px;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--blue-deep);
  background:var(--blue-faint);padding:5px 11px;border-radius:6px;
  display:inline-block;
}
.survey-status{
  font-family:var(--display);font-weight:600;font-size:9px;
  letter-spacing:1.5px;text-transform:uppercase;padding:4px 9px;
  border-radius:999px;display:inline-flex;align-items:center;gap:5px;
}
.survey-status::before{
  content:"";width:6px;height:6px;border-radius:50%;
}
.survey-status.open{background:rgba(34,197,94,.1);color:#15803d}
.survey-status.open::before{background:#22c55e;animation:pulse 1.6s infinite}
.survey-status.full{background:rgba(245,166,35,.12);color:#c2741c}
.survey-status.full::before{background:var(--gold)}
.survey-status.closed{background:rgba(100,116,139,.12);color:var(--muted)}
.survey-status.closed::before{background:var(--muted)}
.survey-card h3{
  font-family:var(--display);font-weight:700;font-size:18px;
  color:var(--navy);margin-bottom:10px;line-height:1.3;letter-spacing:-.2px;
}
.survey-card .desc{
  color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:18px;flex:1;
}
.survey-payment{
  display:flex;align-items:baseline;gap:6px;
  padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin-bottom:18px;
}
.survey-payment .amount{
  font-family:var(--mono);font-weight:700;font-size:30px;
  color:var(--navy);line-height:1;letter-spacing:-.5px;
}
.survey-payment .currency{
  font-family:var(--display);font-weight:600;font-size:13px;
  color:var(--muted);text-transform:uppercase;letter-spacing:1px;
}
.survey-payment .per{
  font-family:var(--display);font-size:12px;color:var(--muted);margin-left:auto;
}
.survey-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:var(--muted);margin-bottom:18px;
}
.survey-meta-item{display:inline-flex;align-items:center;gap:6px}
.survey-meta-item svg{flex-shrink:0}
.survey-progress{
  height:5px;background:var(--bg-2);border-radius:3px;overflow:hidden;
  margin-bottom:6px;
}
.survey-progress-bar{
  height:100%;background:linear-gradient(90deg,var(--blue) 0%,var(--blue-deep) 100%);
  border-radius:3px;transition:width .4s;
}
.survey-progress-text{
  font-family:var(--display);font-size:11px;color:var(--muted);
  letter-spacing:.5px;text-align:right;margin-bottom:16px;
}
.survey-cta{
  display:block;text-align:center;padding:13px 20px;
  background:var(--btn-grad);color:#fff;
  border-radius:10px;font-family:var(--display);font-weight:600;
  font-size:13px;letter-spacing:1px;text-transform:uppercase;
  transition:transform .2s, box-shadow .2s;
}
.survey-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(37,99,235,.3);color:#fff;
}
.survey-cta.disabled{
  background:var(--bg-2);color:var(--muted);
  pointer-events:none;cursor:not-allowed;
}
.surveys-empty{
  text-align:center;padding:60px 20px;color:var(--muted);
  background:var(--bg-2);border-radius:16px;border:1px dashed var(--line-2);
}
.surveys-empty h3{
  font-family:var(--display);font-weight:600;font-size:20px;
  color:var(--navy);margin-bottom:8px;
}

/* Homepage promo strip */
.surveys-promo{
  background:linear-gradient(135deg,var(--blue-faint) 0%,var(--card) 100%);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  text-align:center;
}
.surveys-promo .promo-eyebrow{
  display:inline-block;font-family:var(--display);font-weight:600;
  font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--blue-deep);padding:6px 14px;
  background:rgba(37,99,235,.08);border-radius:999px;margin-bottom:18px;
}
.surveys-promo h2{
  font-family:var(--display);font-weight:700;font-size:clamp(28px,4vw,40px);
  color:var(--navy);margin-bottom:12px;letter-spacing:-.5px;
}
.surveys-promo p{
  color:var(--muted);font-size:17px;line-height:1.6;
  max-width:560px;margin:0 auto 28px;
}

/* =================================================================
   COMPREHENSIVE MOBILE OPTIMIZATIONS
   Phone:  < 768px  - single-column, hide side panel, full-width buttons
   Tablet: 768-1099 - keep horizontal side-panel cards, 2-3 col footer
   Desktop: 1100+   - full fixed side-panel layout
================================================================= */

/* === PHONE: under 768px === */
@media (max-width: 767px) {
  /* Hide the side-panel widgets row on phones, frees up real estate */
  .side-panel { display: none !important; }
  body.has-panel { padding-right: 0 !important; }
  body.has-panel .site-header { padding-right: 0 !important; }

  /* Tighter container */
  .container { padding: 0 18px; }

  /* Header, compact */
  .header-inner { padding: 12px 18px; }
  .logo-word { font-size: 18px; }
  .logo-mark { height: 18px; }
  .logo-tag-mini { display: none; }  /* hide micro-tagline on tiny screens */

  /* Hero, tighter vertical rhythm + stacked CTAs */
  .hero {
    padding: calc(var(--header-h) + 32px) 0 56px;
    min-height: auto;
  }
  .hero h1 { font-size: clamp(28px, 8vw, 38px); margin-bottom: 18px; }
  .hero p.lede { font-size: 15px; margin-bottom: 28px; line-height: 1.6; }
  .hero-eyebrow { font-size: 10px; padding: 6px 12px; margin-bottom: 20px; }
  .hero-cta { flex-direction: column; gap: 12px; width: 100%; }
  .hero-cta .btn { width: 100%; text-align: center; justify-content: center; }
  .hero-scroll { display: none; }
  .hero-glow, .hero-glow-2 { opacity: 0.4; }

  /* Page heads, tighter */
  .page-head { padding: 56px 0 40px; }
  .page-head h1 { font-size: clamp(28px, 7vw, 36px); }
  .page-head p.kicker { font-size: 15px; }
  .crumbs { font-size: 10px; }

  /* Sections, less padding */
  .section { padding: 56px 0; }
  .section-title { font-size: clamp(24px, 6vw, 32px); margin-bottom: 12px; }
  .section-eyebrow { font-size: 10px; }

  /* Footer, single column always */
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-grid p { max-width: 100%; }

  /* Counter cards, compact */
  .counter-grid { grid-template-columns: 1fr; gap: 16px; }
  .counter-card { padding: 28px 20px; }
  .counter-num { font-size: 44px; }

  /* Survey cards, 1 column */
  .surveys-grid { grid-template-columns: 1fr; gap: 18px; }
  .survey-card { padding: 22px; border-radius: 14px; }
  .survey-payment .amount { font-size: 26px; }
  .surveys-stats { gap: 20px; }
  .surveys-stat .n { font-size: 20px; }
  .surveys-intro p { font-size: 15px; }

  /* Surveys promo on homepage */
  .surveys-promo h2 { font-size: clamp(24px, 6.5vw, 32px); }
  .surveys-promo p { font-size: 15px; }

  /* All grids → 1 col */
  .showcase-grid,
  .showcase-recent-list,
  .services-grid,
  .ethics-grid,
  .case-grid,
  .about-grid,
  .nationwide-grid,
  .diff-grid,
  .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  /* Buttons, larger tap targets, full readable text */
  .btn {
    min-height: 48px;
    padding: 14px 24px;
    font-size: 12px;
  }

  /* Modal, bottom-sheet style on phone */
  .modal-card {
    max-width: 100% !important;
    border-radius: 18px 18px 0 0 !important;
    margin: auto 0 0 !important;   /* slide up from bottom */
    max-height: 92vh;
    overflow-y: auto;
  }
  .modal { align-items: flex-end !important; }

  /* Nav drawer, scrollable, comfortable padding */
  .nav.open {
    padding: 20px 18px 28px;
    max-height: calc(100vh - var(--header-h));
    overflow-y: auto;
    gap: 4px;
  }

  /* Recent showcase items, stack vertically inside the row */
  .showcase-recent {
    grid-template-columns: 96px 1fr !important;
    gap: 14px;
  }
  .showcase-recent-thumb { width: 96px; height: 96px; aspect-ratio: 1; }

  /* Process timeline, tighter */
  .tl-step { grid-template-columns: 50px 1fr; gap: 14px; }
  .tl-icon { width: 48px; height: 48px; }
  .timeline::before { left: 24px; }

  /* Footer bottom, vertical stack */
  .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
}

/* === TABLET: 768px to 1099px === */
@media (min-width: 768px) and (max-width: 1099px) {
  /* Footer: 3 cols (instead of cramming 6) */
  .footer-grid { grid-template-columns: repeat(3, 1fr); gap: 32px; }
  .container { padding: 0 24px; }

  /* Side panel, cleaner horizontal scrolling at bottom */
  .side-panel {
    background:var(--bg-2);
    border-top: 1px solid var(--line);
    padding: 24px 20px;
  }

  /* Survey grid: 2 cols on tablet */
  .surveys-grid { grid-template-columns: repeat(2, 1fr); }

  /* Hero buttons can be side-by-side at this width */
  .hero h1 { font-size: clamp(34px, 5.5vw, 48px); }
}

/* === TOUCH TARGETS: applied to all non-desktop sizes === */
@media (max-width: 1099px) {
  .nav-trigger { min-height: 44px; }
  .nav-dropdown a { min-height: 44px; display: flex; align-items: center; }
  .footer-grid li { margin-bottom: 14px; }
  .footer-grid a { padding: 4px 0; display: inline-block; }
}

/* === SMALL PHONES: under 380px (iPhone SE, etc.) === */
@media (max-width: 379px) {
  .container { padding: 0 14px; }
  .hero h1 { font-size: 26px; }
  .page-head h1 { font-size: 26px; }
  .section-title { font-size: 22px; }
  .surveys-stats { flex-direction: column; gap: 16px; }
  .counter-num { font-size: 38px; }
}



/* =================================================================
   AESTHETIC POLISH LAYER
   Refined shadows, micro-interactions, decorative accents.
   Maintains the white + blue/navy theme, adds depth & craft.
================================================================= */

/* Smooth anchor scrolling */
html{scroll-behavior:smooth}

/* Refined multi-layer shadow system (softer, more premium) */
:root{
  --shadow-sm:0 1px 2px rgba(15,27,45,.04), 0 2px 8px rgba(15,27,45,.05);
  --shadow-md:0 4px 10px rgba(15,27,45,.05), 0 10px 28px rgba(15,27,45,.07);
  --shadow-lg:0 8px 18px rgba(15,27,45,.06), 0 24px 56px rgba(15,27,45,.10);
}

/* ---- Section eyebrow: decorative leading accent line ---- */
.section-eyebrow::before{
  content:"";display:inline-block;
  width:26px;height:2px;border-radius:2px;
  background:linear-gradient(90deg, var(--blue), var(--teal));
  vertical-align:middle;margin-right:11px;
  transform:translateY(-2px);
}

/* ---- Buttons: layered depth + smoother lift ---- */
.btn{transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, background .25s, color .25s}
.btn:hover{transform:translateY(-2px)}
.btn-teal{box-shadow:0 4px 14px rgba(37,99,235,.22)}
.btn-teal:hover{box-shadow:0 10px 28px rgba(37,99,235,.38)}
.btn-gold{box-shadow:0 4px 14px rgba(245,166,35,.22)}
.btn-gold:hover{box-shadow:0 10px 28px rgba(245,166,35,.42)}

/* ---- Service cards: gradient wash + accent on hover ---- */
.service-card{transition:transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s, border-color .3s}
.service-card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(circle at 100% 0%, rgba(37,99,235,.06), transparent 55%);
  opacity:0;transition:opacity .42s;
}
.service-card:hover{transform:translateY(-6px);border-top-color:var(--teal)}
.service-card:hover::after{opacity:1}

/* ---- Case cards & survey cards: refined lift ---- */
.case-card,.survey-card{transition:transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s, border-color .3s}
.case-card:hover,.survey-card:hover{transform:translateY(-6px)}

/* ---- Counter cards: gradient number + glow on hover ---- */
.counter-card{transition:transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s, border-color .3s}
.counter-num{
  background:linear-gradient(135deg, var(--blue-deep) 0%, var(--teal-deep) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--blue-deep);
}

/* ---- Hero: richer layered gradient mesh ---- */
.hero{
  background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(37,99,235,.07), transparent 70%),
    radial-gradient(ellipse 60% 50% at 100% 0%, rgba(0,201,210,.06), transparent 60%),
    radial-gradient(ellipse 50% 40% at 0% 100%, rgba(245,166,35,.05), transparent 60%),
    var(--card);
}
.hero-glow{animation:floatGlow 9s ease-in-out infinite}
.hero-glow-2{animation:floatGlow 11s ease-in-out infinite reverse}
@keyframes floatGlow{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(-18px,18px) scale(1.06)}
}

/* ---- Decorative bloom behind dark/pearl sections ---- */
.section.dark,.rack-section,.surveys-promo{position:relative;overflow:hidden}
.section.dark::after,.surveys-promo::after{
  content:"";position:absolute;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,.06), transparent 70%);
  top:-180px;right:-120px;pointer-events:none;z-index:0;
}
.section.dark .container,.surveys-promo .container{position:relative;z-index:1}

/* ---- Card-grid items get a gentle stagger feel via consistent radius/border ---- */
.service-card,.case-card,.survey-card,.counter-card,.widget{
  border-radius:18px;
}

/* ---- Links: smoother colour transitions ---- */
a{transition:color .2s ease}

/* ---- Footer links: subtle slide on hover ---- */
.footer-grid a{display:inline-block;transition:color .2s ease, transform .2s ease}
.footer-grid a:hover{transform:translateX(3px)}

/* ---- FX board / widgets: refined hover ---- */
.widget{transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s}
.side-panel .widget:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* ---- Accessible, on-brand focus states ---- */
a:focus-visible,button:focus-visible,
input:focus-visible,textarea:focus-visible,select:focus-visible,
.btn:focus-visible{
  outline:2px solid var(--blue);outline-offset:3px;border-radius:6px;
}

/* ---- Form inputs: refined focus ---- */
input:focus,textarea:focus,select:focus{
  border-color:var(--blue) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.12) !important;
  outline:none;
}

/* ---- Page-head: subtle gradient underline accent on H1 ---- */
.page-head h1{position:relative}

/* ---- Refined scrollbar (desktop) ---- */
@media (min-width:1024px){
  ::-webkit-scrollbar{width:11px;height:11px}
  ::-webkit-scrollbar-track{background:var(--bg-2)}
  ::-webkit-scrollbar-thumb{background:#c3ccd9;border-radius:6px;border:3px solid var(--bg-2)}
  ::-webkit-scrollbar-thumb:hover{background:var(--blue-solid)}
}

/* ---- Selection colour ---- */
::selection{background:rgba(37,99,235,.18);color:var(--navy)}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce){
  .hero-glow,.hero-glow-2{animation:none}
  html{scroll-behavior:auto}
}

/* Keep counter suffix (+ / %) visible gold despite gradient-text parent */
.counter-num .suffix{
  -webkit-text-fill-color:var(--gold);
  color:var(--gold);
}

/* ---- Legal pages (privacy, terms) ---- */
.legal-body h3{
  font-family:var(--display);font-weight:600;font-size:19px;
  color:var(--text);margin:32px 0 10px;
}
.legal-body h3:first-child{margin-top:0}
.legal-body p{
  color:var(--muted);font-size:15.5px;line-height:1.8;margin-bottom:8px;
}
.legal-body a{color:var(--blue);text-decoration:underline}
.legal-body a:hover{color:var(--blue-deep)}

/* ---- Footer contact: extra office blocks ---- */
.footer-contact .office-extra{
  margin-top:14px;padding-top:14px;
  border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:4px;
}
.footer-contact .office-extra .office-addr{display:block}
.footer-contact .office-line{display:block}

/* =================================================================
   HEADER TAGLINE
   Elegant pill in the right-hand header space, a soft call-to-action.
   Hidden on tablet/mobile (the hamburger takes that space).
================================================================= */
.header-tagline{
  display:flex;align-items:center;gap:9px;
  max-width:330px;
  font-family:var(--body);font-size:12px;font-weight:500;line-height:1.3;
  color:var(--navy);
  background:linear-gradient(135deg, var(--blue-faint) 0%, var(--card) 100%);
  border:1px solid rgba(37,99,235,.16);
  border-radius:999px;
  padding:9px 15px;
  text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.header-tagline:hover{
  background:var(--card);
  border-color:var(--blue);
  box-shadow:0 6px 18px rgba(37,99,235,.16);
  transform:translateY(-1px);
}
.header-tagline svg{flex-shrink:0;color:var(--blue)}
.header-tagline span[data-cms-key]{flex:1}
.header-tagline .ht-arrow{
  flex-shrink:0;color:var(--blue);font-weight:700;font-size:14px;
  transition:transform .25s ease;
}
.header-tagline:hover .ht-arrow{transform:translateX(3px)}

/* Hide on tablet/mobile, the hamburger menu occupies this space */
@media (max-width:1099px){
  .header-tagline{display:none !important}
}

/* =================================================================
   PAID SURVEYS WIDGET (side panel)
   Auto-scrolling list of live surveys. Pauses on hover; up/down
   buttons for manual navigation. Click a survey to open it.
================================================================= */
#w-surveys .widget-head{display:flex;align-items:center;justify-content:space-between}
.sv-live{
  font-family:var(--display);font-weight:700;font-size:8.5px;letter-spacing:1.4px;
  color:#fff;background:linear-gradient(135deg,var(--red) 0%, #c81f2c 100%);
  padding:3px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;
}
.sv-live::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--card);animation:pulse 1.6s infinite}

.sv-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}
.sv-nav{
  width:100%;height:22px;display:flex;align-items:center;justify-content:center;
  background:var(--blue-faint);border:1px solid var(--line);border-radius:8px;
  color:var(--blue);cursor:pointer;opacity:0;pointer-events:none;
  transition:opacity .25s ease, background .2s ease, color .2s ease;
}
.sv-wrap:hover .sv-nav{opacity:1;pointer-events:auto}
.sv-nav:hover{background:var(--blue-solid);color:#fff}
.sv-nav:active{transform:scale(.96)}

.sv-viewport{
  width:100%;height:236px;overflow-y:auto;overflow-x:hidden;position:relative;
  scrollbar-width:none;-ms-overflow-style:none;
  scroll-behavior:smooth;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);
}
.sv-viewport::-webkit-scrollbar{width:0;height:0;display:none}
.sv-track{display:flex;flex-direction:column;gap:9px;will-change:transform}

.sv-card{
  display:block;text-decoration:none;flex-shrink:0;
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:11px 12px;transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sv-card:hover{border-color:var(--blue);box-shadow:0 6px 16px rgba(37,99,235,.12);transform:translateY(-1px)}
.sv-card .sv-title{
  font-family:var(--display);font-weight:600;font-size:13px;color:var(--text);
  line-height:1.3;margin-bottom:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.sv-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sv-chip{
  font-family:var(--mono);font-size:10px;font-weight:500;padding:3px 8px;border-radius:999px;
  background:var(--blue-faint);color:var(--blue-deep);border:1px solid rgba(37,99,235,.15);
}
.sv-chip.reward{background:rgba(245,166,35,.12);color:var(--gold-deep);border-color:rgba(245,166,35,.25)}
.sv-chip.bonus{background:rgba(0,201,210,.1);color:var(--teal-deep);border-color:rgba(0,201,210,.25)}
.sv-loading,.sv-empty{color:var(--muted);font-style:italic;font-size:12.5px;padding:18px 4px;text-align:center}

.sv-all{
  display:block;text-align:center;margin-top:10px;
  font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.4px;
  color:var(--blue);text-decoration:none;transition:color .2s ease;
}
.sv-all:hover{color:var(--blue-deep)}

/* =================================================================
   SURVEY ACCOUNT PAGE (account.html)
   Signup / login + earnings dashboard. Talks to the survey platform
   backend (shared account with the app).
================================================================= */
.acct-card{
  background:var(--card);border:1px solid var(--line);border-radius:20px;
  box-shadow:var(--shadow-md);padding:30px 28px;
}
.acct-loading,.acct-msg{color:var(--muted);text-align:center;padding:24px 0;font-size:15px}
.acct-tabs{display:flex;gap:6px;background:var(--bg-2);border-radius:12px;padding:5px;margin-bottom:24px}
.acct-tab{
  flex:1;padding:10px;border:none;background:transparent;border-radius:9px;cursor:pointer;
  font-family:var(--display);font-weight:600;font-size:13px;color:var(--muted);transition:all .2s ease;
}
.acct-tab.active{background:var(--card);color:var(--blue-deep);box-shadow:0 2px 6px rgba(10,31,63,.08)}
.acct-field{margin-bottom:14px}
.acct-field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px;letter-spacing:.3px}
.acct-field input,.acct-field select{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:11px;
  font-family:var(--body);font-size:15px;color:var(--text);background:var(--card);
}
.acct-row{display:flex;gap:12px}.acct-row>*{flex:1}
.acct-submit{
  width:100%;padding:14px;border:none;border-radius:12px;cursor:pointer;
  background:var(--btn-grad);color:#fff;font-family:var(--display);font-weight:600;font-size:15px;
  box-shadow:0 4px 14px rgba(37,99,235,.22);transition:transform .25s ease, box-shadow .25s ease;margin-top:4px;
}
.acct-submit:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,99,235,.38)}
.acct-submit:disabled{opacity:.6;cursor:default;transform:none}
.acct-err{background:#FEF2F2;border:1px solid #FECACA;color:#B91C1C;padding:11px 13px;border-radius:11px;font-size:13.5px;margin-bottom:14px}
.acct-note{text-align:center;color:var(--muted);font-size:13px;margin-top:16px;line-height:1.6}

/* Dashboard */
.acct-hi{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:8px}
.acct-hi .who{font-family:var(--display);font-weight:700;font-size:18px;color:var(--text)}
.acct-hi .mid{font-family:var(--mono);font-size:12px;color:var(--muted)}
.acct-logout{background:none;border:1px solid var(--line);border-radius:9px;padding:7px 14px;cursor:pointer;font-size:13px;color:var(--muted);font-weight:600;transition:all .2s}
.acct-logout:hover{border-color:var(--blue);color:var(--blue-deep)}
.acct-earn{
  text-align:center;padding:26px 20px;border-radius:16px;margin-bottom:18px;
  background:linear-gradient(135deg,var(--blue-faint) 0%, var(--card) 100%);border:1px solid rgba(37,99,235,.16);
}
.acct-earn .label{font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.acct-earn .naira{font-family:var(--display);font-weight:800;font-size:38px;line-height:1;
  background:linear-gradient(135deg,var(--blue-deep),var(--teal-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.acct-earn .pts{font-family:var(--mono);font-size:13px;color:var(--gold-deep);margin-top:8px}
.acct-stats{display:flex;gap:12px;margin-bottom:18px}
.acct-stat{flex:1;text-align:center;padding:16px 10px;background:var(--bg-2);border-radius:13px;border:1px solid var(--line)}
.acct-stat .n{font-family:var(--display);font-weight:700;font-size:22px;color:var(--text)}
.acct-stat .l{font-size:11px;color:var(--muted);margin-top:3px;letter-spacing:.3px}
.acct-prog-wrap{margin-bottom:22px}
.acct-prog-label{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:7px}
.acct-prog{height:9px;background:var(--bg-2);border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.acct-prog>i{display:block;height:100%;background:var(--btn-grad);border-radius:6px;transition:width .6s ease}

/* =================================================================
   HEADER ACTIONS: right-side cluster (tagline + Sign In + menu btn)
================================================================= */
.header-actions{display:flex;align-items:center;gap:14px}
.header-signin{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  background:var(--btn-grad);color:#fff;
  font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.2px;
  padding:9px 18px;border-radius:999px;text-decoration:none;
  box-shadow:0 4px 14px rgba(37,99,235,.22);
  transition:transform .25s ease, box-shadow .25s ease;
}
.header-signin:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(37,99,235,.4)}
.header-signin svg{flex-shrink:0}
/* On small phones, tighten the button so it fits beside the hamburger */
@media (max-width:420px){
  .header-signin{padding:8px 13px;font-size:12px}
  .header-signin svg{display:none}
}

/* =================================================================
   ACCOUNT PAGE: toggle, surveys list, payment, demo banner
================================================================= */
.acct-demo{background:#FFF8E6;border:1px solid #F5D98A;color:#8A6212;padding:10px 13px;border-radius:11px;font-size:12.5px;margin-bottom:18px;line-height:1.5}
.acct-toggle{position:relative;display:flex;background:var(--bg-2);border-radius:12px;padding:5px;margin-bottom:22px}
.acct-tgl{flex:1;position:relative;z-index:2;padding:11px;border:none;background:transparent;border-radius:9px;cursor:pointer;
  font-family:var(--display);font-weight:600;font-size:14px;color:var(--muted);transition:color .2s ease}
.acct-tgl.active{color:var(--blue-deep)}
.acct-tgl-slide{position:absolute;top:5px;left:5px;z-index:1;width:calc(50% - 5px);height:calc(100% - 10px);
  background:var(--card);border-radius:9px;box-shadow:0 2px 8px rgba(10,31,63,.1);transition:transform .28s cubic-bezier(.4,0,.2,1)}
.acct-err.info{background:var(--blue-faint);border-color:rgba(37,99,235,.2);color:var(--blue-deep)}
.acct-pay-toggle{margin:6px 0 16px;border:1px solid var(--line);border-radius:11px;padding:0 14px;background:var(--bg-2)}
.acct-pay-toggle summary{cursor:pointer;padding:12px 0;font-size:13.5px;font-weight:600;color:var(--blue-deep);list-style:none}
.acct-pay-toggle summary::-webkit-details-marker{display:none}
.acct-pay-toggle summary::before{content:"+ ";font-weight:700}
.acct-pay-toggle[open] summary::before{content:"– "}
.acct-pay-toggle[open]{padding-bottom:8px}
.acct-pay-hint{font-size:12.5px;color:var(--muted);margin:0 0 12px;line-height:1.5}
.acct-approve-note{background:var(--blue-faint);border:1px solid rgba(37,99,235,.14);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--blue-deep);line-height:1.55;margin-bottom:22px}
.acct-sec-h{font-family:var(--display);font-weight:700;font-size:15px;color:var(--text);margin:0 0 13px;display:flex;align-items:center;gap:9px}
.acct-tag{font-family:var(--display);font-weight:600;font-size:9.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--gold-deep);background:rgba(245,166,35,.13);border:1px solid rgba(245,166,35,.3);padding:3px 8px;border-radius:999px}
.acct-survey{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:13px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;transition:border-color .2s ease, box-shadow .2s ease}
.acct-survey:hover{border-color:var(--blue);box-shadow:0 6px 16px rgba(37,99,235,.1)}
.acct-survey.is-done{opacity:.72;background:var(--bg-2)}
.acct-survey-info .t{font-family:var(--display);font-weight:600;font-size:14px;color:var(--text);line-height:1.3}
.acct-survey-info .m{font-family:var(--mono);font-size:11px;color:var(--gold-deep);margin-top:4px}
.acct-take{flex-shrink:0;border:none;cursor:pointer;text-decoration:none;white-space:nowrap;
  background:var(--btn-grad);color:#fff;font-family:var(--display);font-weight:600;font-size:12.5px;
  padding:9px 16px;border-radius:999px;box-shadow:0 3px 10px rgba(37,99,235,.2);transition:transform .2s ease, box-shadow .2s ease}
.acct-take:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(37,99,235,.34)}
.acct-take:disabled{opacity:.6;cursor:default;transform:none}
.acct-take.done{background:none;color:var(--teal-deep);box-shadow:none;border:1px solid rgba(0,201,210,.4);cursor:default;font-size:11.5px}
.acct-pay-card{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:16px}
.acct-pay-save{margin-top:4px;border:none;cursor:pointer;background:var(--navy-surface);color:#fff;
  font-family:var(--display);font-weight:600;font-size:13px;padding:11px 18px;border-radius:10px;transition:opacity .2s ease}
.acct-pay-save:hover{opacity:.9}
.acct-pay-msg{display:block;margin-top:10px;font-size:12.5px;color:var(--muted)}
.acct-pay-msg.ok{color:var(--teal-deep)}.acct-pay-msg.err{color:#B91C1C}
.acct-empty{color:var(--muted);font-style:italic;font-size:13.5px;padding:14px 0;text-align:center}

/* =================================================================
   SURVEY RUNNER (survey.html)
================================================================= */
.svr-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-md);padding:34px 32px;min-height:340px}
.svr-tag{display:inline-block;font-family:var(--display);font-weight:600;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--blue-deep);background:var(--blue-faint);border:1px solid rgba(37,99,235,.15);padding:4px 11px;border-radius:999px;margin-bottom:14px}
.svr-title{font-family:var(--display);font-weight:800;font-size:30px;line-height:1.15;color:var(--text);margin:0 0 10px}
.svr-desc{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 22px}
.svr-facts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.svr-facts span{font-size:13px;color:var(--muted);background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:9px 14px}
.svr-facts b{color:var(--text);font-family:var(--display)}
.svr-prog{height:7px;background:var(--bg-2);border-radius:6px;overflow:hidden;margin-bottom:18px}
.svr-prog>i{display:block;height:100%;background:var(--btn-grad);border-radius:6px;transition:width .4s ease}
.svr-qmeta{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.svr-q{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.3;color:var(--text);margin:0 0 22px}
.svr-opts{display:flex;flex-direction:column;gap:10px}
.svr-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--line);border-radius:13px;cursor:pointer;transition:border-color .18s ease, background .18s ease}
.svr-opt:hover{border-color:var(--blue)}
.svr-opt.sel{border-color:var(--blue);background:var(--blue-faint)}
.svr-opt input{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}
.svr-opt span{font-size:15px;color:var(--text)}
.svr-stars{display:flex;gap:8px;justify-content:center;margin:8px 0}
.svr-star{background:none;border:none;cursor:pointer;font-size:40px;line-height:1;color:var(--line);transition:color .15s ease, transform .15s ease}
.svr-star:hover{transform:scale(1.1)}.svr-star.on{color:var(--gold)}
.svr-nps{display:flex;gap:6px;justify-content:space-between;flex-wrap:wrap;margin:6px 0}
.svr-npsb{flex:1;min-width:30px;aspect-ratio:1;border:1.5px solid var(--line);background:var(--card);border-radius:9px;cursor:pointer;font-family:var(--display);font-weight:600;font-size:15px;color:var(--text);transition:all .15s ease}
.svr-npsb:hover{border-color:var(--blue)}.svr-npsb.on{background:var(--blue-solid);border-color:var(--blue);color:#fff}
.svr-scale-ends{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:8px}
.svr-text{width:100%;padding:14px;border:1.5px solid var(--line);border-radius:13px;font-family:var(--body);font-size:15px;color:var(--text);resize:vertical}
.svr-text:focus{outline:none;border-color:var(--blue)}
.svr-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}
.svr-btn{border:none;cursor:pointer;background:var(--btn-grad);color:#fff;font-family:var(--display);font-weight:600;font-size:15px;padding:13px 30px;border-radius:12px;box-shadow:0 4px 14px rgba(37,99,235,.22);transition:transform .2s ease, box-shadow .2s ease}
.svr-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(37,99,235,.36)}
.svr-btn.ghost{background:none;color:var(--muted);box-shadow:none;border:1.5px solid var(--line);padding:13px 24px}
.svr-btn.ghost:hover{border-color:var(--blue);color:var(--blue-deep);transform:none}
.svr-notice{text-align:center;padding:30px 10px}
.svr-notice h2{font-family:var(--display);font-weight:700;font-size:23px;color:var(--text);margin:0 0 12px}
.svr-notice p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 18px}
.svr-back{text-align:center;margin-top:16px}.svr-back a,.svr-notice a{color:var(--blue);font-weight:600}
.svr-done{text-align:center;padding:14px 6px}
.svr-check{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,201,210,.35)}

/* Account survey list, closed / scheduled states */
.acct-survey.is-closed{opacity:.65}
.acct-take.closed{background:none;color:var(--muted);box-shadow:none;border:1px solid var(--line);cursor:default;font-size:11.5px}
.acct-take.soon{background:rgba(245,166,35,.12);color:var(--gold-deep);box-shadow:none;border:1px solid rgba(245,166,35,.3);cursor:default;font-size:11px;white-space:nowrap}

/* ============ STATART Suite ============ */
.head-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.ai-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ai-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:var(--shadow-sm);font:inherit}
.ai-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-soft)}
.ai-card h3{font-family:var(--display);font-size:1.05rem;color:var(--navy);margin:0}
.ai-card p{color:var(--muted);font-size:.9rem;margin:0;line-height:1.5}
.ai-card-go{margin-top:auto;color:var(--blue);font-weight:600;font-size:.9rem}
.ai-how{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ai-how-step{background:var(--tint-1);border:1px solid var(--line);border-radius:14px;padding:18px}
.ai-how-step b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--btn-grad);color:#fff;font-family:var(--display);font-size:.9rem;margin-bottom:10px}
.ai-how-step h4{color:var(--navy);font-family:var(--display);font-size:.98rem;margin:0 0 4px}
.ai-how-step p{color:var(--muted);font-size:.84rem;margin:0;line-height:1.45}
/* wizard */
.ai-wizard{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow-md);max-width:780px;margin:0}
.ai-loading{text-align:center;color:var(--muted);padding:40px 0}
.ai-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.ai-step{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);font-weight:600;padding:5px 10px;border-radius:999px;background:var(--tint-3)}
.ai-step b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#CBD5E1;color:#fff;font-size:.7rem}
.ai-step.now{color:var(--blue);background:var(--blue-faint)}
.ai-step.now b{background:var(--btn-grad)}
.ai-step.done b{background:var(--green)}
.ai-q{font-family:var(--display);font-size:1.25rem;color:var(--navy);margin:0 0 18px}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ai-pick{display:flex;flex-direction:column;gap:5px;text-align:left;border:1.5px solid var(--line);border-radius:14px;padding:16px;background:var(--card);cursor:pointer;transition:border-color .15s,box-shadow .15s;font:inherit}
.ai-pick:hover{border-color:var(--blue-soft);box-shadow:var(--shadow-sm)}
.ai-pick.sel{border-color:var(--blue);background:var(--blue-faint);box-shadow:0 0 0 3px var(--blue-soft)}
.ai-pick-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--blue);font-weight:700}
.ai-pick-name{font-family:var(--display);font-weight:600;color:var(--navy);font-size:1rem}
.ai-pick-blurb{font-size:.85rem;color:var(--muted);line-height:1.45}
.ai-field{margin:0 0 14px}
.ai-field label{display:block;font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:6px}
.ai-field input,.ai-field select,.ai-field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:.92rem;color:var(--text);background:var(--card)}
.ai-field input:focus,.ai-field select:focus,.ai-field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.ai-field textarea{resize:vertical}
.ai-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}
/* preview */
.ai-ready{display:inline-block;background:#ECFDF5;color:#047857;font-weight:700;font-size:.82rem;padding:5px 12px;border-radius:999px;margin-bottom:12px}
.ai-title{font-family:var(--display);font-size:1.3rem;color:var(--navy);margin:0 0 16px;line-height:1.3}
.ai-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.ai-kv>div{background:var(--tint-1);border:1px solid var(--line);border-radius:10px;padding:10px 13px}
.ai-kv span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}
.ai-kv b{font-size:.92rem;color:var(--navy)}
.ai-note{font-size:.88rem;color:var(--muted);line-height:1.55;background:var(--blue-faint);border-left:3px solid var(--blue);padding:12px 14px;border-radius:8px}
.ai-toc-h{font-family:var(--display);color:var(--navy);font-size:1rem;margin:20px 0 10px}
.ai-toc{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:8px}
.ai-toc li{display:flex;align-items:center;gap:10px;background:var(--tint-1);border:1px solid var(--line);border-radius:10px;padding:10px 13px;color:var(--navy);font-size:.9rem;font-weight:500}
.ai-toc .lock{filter:grayscale(.2)}
.ai-toc .lk{margin-left:auto;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.ai-pay{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.ai-pay h4{font-family:var(--display);color:var(--navy);font-size:1.1rem;margin:0 0 6px}
.ai-pay>p{color:var(--muted);font-size:.9rem;line-height:1.5;margin:0 0 14px}
.ai-bank{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--navy-surface);border-radius:14px;padding:16px;margin-bottom:18px}
.ai-bank>div{color:#fff}
.ai-bank span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.6)}
.ai-bank b{font-size:.95rem;color:#fff;font-family:var(--mono)}
.ai-msg{font-size:.86rem;margin:6px 0;min-height:1px}
.ai-msg.err{color:var(--red)}
.ai-done{text-align:center;padding:14px}
.ai-done-ic{width:60px;height:60px;border-radius:50%;background:#ECFDF5;color:#047857;display:grid;place-items:center;font-size:1.8rem;margin:0 auto 14px}
.ai-done h3{font-family:var(--display);color:var(--navy);font-size:1.4rem;margin:0 0 10px}
.ai-done p{color:var(--muted);line-height:1.55;max-width:520px;margin:0 auto 10px}
.ai-disclaimer{max-width:780px;margin:18px 0 0;font-size:.82rem;color:var(--muted);text-align:left;line-height:1.5}
@media(max-width:860px){.ai-cards,.ai-how{grid-template-columns:1fr 1fr}.ai-how-step:last-child{grid-column:span 2}}
@media(max-width:560px){.ai-cards,.ai-how,.ai-grid,.ai-kv,.ai-bank{grid-template-columns:1fr}.ai-wizard{padding:18px}}
.ai-review{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.ai-review-badge{display:inline-block;background:var(--blue-faint);color:var(--blue);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;padding:5px 11px;border-radius:999px;margin-bottom:10px}
.ai-review h4{font-family:var(--display);color:var(--navy);font-size:1.15rem;margin:0 0 8px;line-height:1.3}
.ai-review>p{color:var(--muted);font-size:.92rem;line-height:1.6;margin:0 0 16px}
.ai-field label .opt{color:var(--muted);font-weight:400}
.form-success{background:#ECFDF5;border:1px solid #A7F3D0;color:#047857;border-radius:12px;padding:20px;text-align:center;line-height:1.6}
.footer-brand{text-decoration:none;color:inherit;cursor:pointer}
.acct-gauth{text-align:center;padding:8px 4px}
.acct-gauth-h{font-family:var(--display);font-size:1.3rem;color:var(--navy);margin:0 0 8px}
.acct-gauth-p{color:var(--muted);font-size:.95rem;line-height:1.55;margin:0 0 20px;max-width:340px;margin-left:auto;margin-right:auto}
.acct-gbtn{display:flex;justify-content:center;min-height:44px;margin:6px 0 4px}
.acct-soon{display:inline-block;background:var(--blue-faint);color:var(--blue);font-weight:600;font-size:.9rem;padding:12px 18px;border-radius:12px}

/* ===== Survey Builder (survey-builder.html) ===== */
.sb-app{max-width:760px}
.sb-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.sb-step{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--muted);background:var(--tint-3);border-radius:999px;padding:6px 14px 6px 6px}
.sb-step b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#CBD5E1;color:#fff;font-size:.78rem}
.sb-step.on{color:var(--navy);background:var(--tint-blue)}
.sb-step.on b{background:var(--btn-grad)}
.sb-step.done b{background:#10B981}
.sb-stage{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow-md)}
.sb-stage h3{font-family:var(--display);font-size:1.25rem;color:var(--navy);margin:0 0 6px}
.sb-hint{color:var(--muted);margin:0 0 16px;line-height:1.5;font-size:.92rem}
.sb-lbl{display:block;font-size:.8rem;font-weight:600;color:var(--navy);margin:16px 0 6px}
.sb-inp,.sb-area,.sb-sel{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;background:var(--card);color:var(--text)}
.sb-area{resize:vertical;line-height:1.5}
.sb-sel{width:auto;max-width:220px}
.sb-examples{margin-top:12px;font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sb-eg{font:inherit;font-size:.8rem;background:var(--tint-3);border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;color:var(--blue-deep)}
.sb-eg:hover{background:var(--tint-blue)}
.sb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;align-items:center}
.sb-q{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;padding:16px;margin:12px 0;background:#FBFCFE}
.sb-q-head{display:flex;gap:10px;align-items:center}
.sb-q-num{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:var(--btn-grad);color:#fff;font-weight:700;font-size:13px;flex:0 0 auto}
.sb-q-head .sb-inp{flex:1}
.sb-x{font:inherit;font-size:.78rem;font-weight:600;color:#DC2626;background:none;border:none;cursor:pointer;flex:0 0 auto}
.sb-q-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0}
.sb-req{font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.sb-move button{background:var(--tint-3);border:1px solid var(--line);border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:14px;color:var(--navy)}
.sb-opts-wrap{margin-top:8px}
.sb-add{font:inherit;font-weight:600;font-size:.86rem;color:var(--blue-deep);background:#EFF4FF;border:1px dashed var(--blue);border-radius:10px;padding:11px;width:100%;cursor:pointer;margin-top:8px}
.sb-add:hover{background:var(--tint-blue)}
.sb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sb-pkgs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sb-pkg{font:inherit;font-weight:700;font-size:14px;min-width:64px;padding:11px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;color:var(--navy)}
.sb-pkg.on{border-color:var(--blue);background:var(--tint-blue);color:var(--blue-deep)}
.sb-custom{width:120px}
.sb-note{font-size:.8rem;color:var(--muted);margin:10px 0 0}
.sb-req-star{color:#DC2626}
.sb-err{margin-top:14px;padding:11px 14px;background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;border-radius:10px;font-size:.88rem}
.sb-done-badge{display:inline-block;background:#DCFCE7;color:#166534;font-weight:700;font-size:.8rem;padding:6px 14px;border-radius:999px;margin-bottom:12px}
.sb-link{margin:18px 0}
.sb-link-cap{display:block;font-size:.78rem;font-weight:600;color:var(--navy);margin-bottom:6px}
.sb-link-row{display:flex;gap:8px}
.sb-link-row .sb-inp{flex:1;font-size:13px;color:var(--muted)}
.sb-open{display:inline-block;margin-top:6px;font-size:.82rem;color:var(--blue-deep);font-weight:600}
.sb-warn{background:#FFFBEB;border:1px solid #FDE68A;color:#92400E;border-radius:10px;padding:11px 14px;font-size:.86rem;margin:16px 0}
.sb-share{margin-top:8px}
.sb-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--navy-surface);color:#fff;padding:12px 20px;border-radius:10px;font-size:.88rem;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:9999;max-width:90vw;text-align:center}
.sb-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:560px){.sb-grid2{grid-template-columns:1fr}.sb-stage{padding:18px}}
.sb-req-card{display:grid;gap:10px;background:var(--tint-1);border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0}
.sb-req-card>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.9rem}
.sb-req-card span{color:var(--muted)}
.sb-req-card b{color:var(--navy);font-family:var(--display);word-break:break-word}
.home-cta-band{text-align:center;max-width:720px;margin:0 auto;padding:8px 0}
.home-cta-band h2{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.1rem);color:var(--navy);margin:0 0 12px}
.home-cta-band p{color:var(--muted);font-size:1.02rem;line-height:1.6;margin:0 auto 24px;max-width:60ch}
.home-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.studio-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:920px;margin:0 auto}
.studio-pills span{background:rgba(10,31,63,.04);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:14px;color:var(--navy)}
.studio-step{font-family:var(--display);font-weight:800;font-size:26px;color:var(--gold);line-height:1;margin-bottom:8px}

/* =================================================================
   MOTION & DYNAMICS LAYER (v91)
   Additive only. JS applies .rv classes, so content is never hidden
   when JavaScript is unavailable. Fully respects reduced motion.
================================================================= */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
::selection{background:rgba(37,99,235,.16);color:var(--navy)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--bg-2)}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px;border:3px solid var(--bg-2)}
::-webkit-scrollbar-thumb:hover{background:var(--muted)}

/* ---- Scroll reveal ---- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.65,.25,1), transform .7s cubic-bezier(.2,.65,.25,1);transition-delay:var(--rvd,0ms);will-change:opacity,transform}
.rv.in{opacity:1;transform:none}
.rv-l{transform:translateX(-26px)}
.rv-r{transform:translateX(26px)}
.rv-l.in,.rv-r.in{transform:none}

/* ---- Section title accent: underline grows when revealed ---- */
.section-title{position:relative}
.section-title.rv::before{
  content:"";position:absolute;left:50%;bottom:-12px;height:3px;width:0;border-radius:3px;
  background:linear-gradient(90deg,var(--blue),var(--teal));
  transform:translateX(-50%);transition:width .8s cubic-bezier(.2,.65,.25,1) .25s;
}
.section-title.rv.in::before{width:56px}
.section-title.rv.no-bar::before{display:none}

/* ---- Header: elevated when scrolled ---- */
.site-header{transition:box-shadow .35s ease, background .35s ease, border-color .35s ease}
.site-header.scrolled{
  background:rgba(255,255,255,.86);
  box-shadow:0 6px 24px rgba(10,31,63,.08), 0 1px 0 rgba(10,31,63,.05);
  border-bottom-color:rgba(10,31,63,.09);
}

/* ---- Dropdown: springier open + item cascade ---- */
.nav-dropdown .dropdown-menu,.nav .dropdown-menu{transition:opacity .22s cubic-bezier(.2,.8,.3,1.15), transform .22s cubic-bezier(.2,.8,.3,1.15)}
.nav-dropdown a[role="menuitem"]{transition:background .18s, color .18s, padding-left .18s}
.nav-dropdown a[role="menuitem"]:hover{padding-left:20px}
.nav-dropdown:hover a[role="menuitem"],.nav-dropdown:focus-within a[role="menuitem"]{
  animation:ddItem .3s cubic-bezier(.2,.7,.3,1) both;
  animation-delay:calc(var(--i,0) * 26ms);
}
@keyframes ddItem{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* ---- Buttons: sheen sweep + tactile press ---- */
.btn{position:relative;overflow:hidden}
.btn::before{
  content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-18deg);transition:left .55s ease;pointer-events:none;
}
.btn:hover::before{left:130%}
.btn:active{transform:scale(.97)}
.btn-outline::before{background:linear-gradient(105deg,transparent,rgba(37,99,235,.14),transparent)}

/* ---- Cards: soft gradient hairline sweeps in on hover ---- */
.service-card,.counter-card,.case-card,.survey-card{position:relative}
.service-card::before,.case-card::before,.survey-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:inherit;
  background:linear-gradient(90deg,var(--blue),var(--teal));
  transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.65,.25,1);
  pointer-events:none;
}
.service-card:hover::before,.case-card:hover::before,.survey-card:hover::before{transform:scaleX(1)}

/* ---- Chips / pill tags: lift and tint on hover ---- */
.section span[style*="border-radius:999px"]{transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease}
.section span[style*="border-radius:999px"]:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 6px 16px rgba(37,99,235,.12)}
.bp-idea{transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease}
.bp-idea:hover{transform:translateY(-2px);border-color:var(--blue);color:var(--blue-deep);box-shadow:0 6px 16px rgba(37,99,235,.14)}

/* ---- Footer links: slide + brighten ---- */
.footer-grid a{display:inline-block;transition:color .2s, transform .2s}
.footer-grid a:hover{transform:translateX(4px)}

/* ---- Inputs: focus glow ---- */
.field input:focus,.field textarea:focus,.field select:focus,
input[type="text"]:focus,input[type="email"]:focus,input[type="search"]:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.10);
  transition:border-color .2s, box-shadow .2s;
}

/* ---- Side panel widgets: gentle entrance handled by .rv; add hover lift ---- */
.side-panel .widget,.side-panel > div{transition:box-shadow .3s ease}

/* ---- Reduced motion: switch everything off ---- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1 !important;transform:none !important;transition:none !important}
  .section-title.rv::before{width:56px;transition:none}
  .btn::before{display:none}
  .nav-dropdown:hover a[role="menuitem"],.nav-dropdown:focus-within a[role="menuitem"]{animation:none}
}

/* =================================================================
   WORLD-CLASS POLISH LAYER v2 (v111). Additive refinements only.
================================================================= */
/* Reading progress bar (element injected by main.js) */
#pageProgress{position:fixed;top:0;left:0;height:3px;width:0;z-index:2000;
  background:linear-gradient(90deg,var(--blue),var(--teal),var(--gold));
  border-radius:0 3px 3px 0;box-shadow:0 0 10px rgba(37,99,235,.35);pointer-events:none}

/* Top-level nav links: animated underline */
.nav > .nav-dropdown > a:first-child,.nav > a{position:relative}
.nav > .nav-dropdown > a:first-child::after,.nav > a::after{
  content:"";position:absolute;left:12%;right:88%;bottom:2px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--blue),var(--teal));transition:right .3s cubic-bezier(.2,.65,.25,1);
}
.nav > .nav-dropdown:hover > a:first-child::after,.nav > a:hover::after{right:12%}

/* Side panel widgets: glass refinement + hover accent */
.side-panel .widget{position:relative;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:box-shadow .3s, transform .3s}
.side-panel .widget::before{content:"";position:absolute;top:0;left:14px;right:14px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--blue),var(--teal));opacity:0;transition:opacity .3s}
.side-panel .widget:hover{box-shadow:0 10px 28px rgba(10,31,63,.10);transform:translateY(-2px)}
.side-panel .widget:hover::before{opacity:1}

/* Gallery and content figures: gentle image zoom */
.section figure{transition:box-shadow .35s}
.section figure img{transition:transform .6s cubic-bezier(.2,.65,.25,1)}
.section figure:hover{box-shadow:0 14px 36px rgba(10,31,63,.14)}
.section figure:hover img{transform:scale(1.025)}

/* Primary buttons: gradient depth + glow */
.btn-teal{background:linear-gradient(135deg,var(--blue) 0%,#1D4ED8 100%);box-shadow:0 4px 14px rgba(37,99,235,.28)}
.btn-teal:hover{box-shadow:0 8px 22px rgba(37,99,235,.38);transform:translateY(-1px)}

/* Footer: gradient hairline + refined headings */
footer{position:relative}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--blue),var(--teal),var(--gold));opacity:.65}
.footer-grid h4,.footer-grid strong{letter-spacing:.08em}

/* Cards: deeper resting-to-hover elevation curve */
.service-card:hover,.counter-card:hover{box-shadow:0 18px 44px rgba(10,31,63,.13)}

/* Tables and inline code polish sitewide */
code{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:.92em}

@media (prefers-reduced-motion:reduce){
  .section figure:hover img{transform:none}
  .side-panel .widget:hover{transform:none}
  .btn-teal:hover{transform:none}
}

/* =================================================================
   v119 PERFORMANCE AND NAVIGATION LAYER
   Cross-document view transitions plus containment hints.
   Everything here is progressive enhancement: browsers without
   support simply navigate the way they always did.
   ================================================================= */

/* Smooth page to page navigation on same-origin links.
   Paired with the speculation rules in each page head, a prerendered
   page arrives instantly and transitions in rather than flashing white. */
@view-transition {
  navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 200ms;
  animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* The header is visually continuous between pages, so hold it still
   instead of cross-fading it with the rest of the document. */
.site-header {
  view-transition-name: site-header;
}

/* Respect the system setting. Anyone who has asked for reduced motion
   gets an instant swap with no animation at all. */
@media (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: none;
  }
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
}

/* Skip layout and paint work for the footer until it is near the
   viewport. contain-intrinsic-size reserves space so the scrollbar
   does not jump while it is still off screen. */
footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 480px;
}

/* Printing should never inherit deferred rendering. */
@media print {
  footer {
    content-visibility: visible;
  }
}

/* Sign-in setup diagnostic, shown only on /account.html?setup */
.acct-setup{
  text-align:left;background:var(--tint-1);border:1px solid #E2E8F0;border-radius:12px;
  padding:16px 18px;margin:14px 0;font-size:14px;line-height:1.6
}
.acct-setup > b{display:block;margin-bottom:10px;font-size:15px;color:#1A1A1A}
.acct-setup p{margin:0;color:#64748B}
.acct-setup-list{list-style:none;margin:0;padding:0}
.acct-setup-list li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid #EDF2F7}
.acct-setup-list li:first-child{border-top:0}
.acct-setup-mark{flex:0 0 auto;font-weight:700;line-height:1.5}
.acct-setup-list li.pass .acct-setup-mark{color:#16A34A}
.acct-setup-list li.fail .acct-setup-mark{color:#F0472E}
.acct-setup-fix{color:#64748B;font-size:13px}

/* =================================================================
   MEMBER ACCOUNT (v124)
   Signed-in panel members: overview, studies, profile, payouts.
   Built on the existing navy and blue tokens so the account reads as
   part of the site rather than a bolted-on app. The one place that
   carries weight is the study row: reward on the right, in mono, at
   a size nothing else on the card competes with. What a member came
   for is what the eye lands on.
   ================================================================= */

/* ---- header ---- */
.mbr-head{
  display:flex;align-items:center;gap:14px;
  padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)
}
.mbr-avatar{
  width:46px;height:46px;border-radius:50%;flex:0 0 auto;object-fit:cover;
  border:2px solid var(--blue-soft);background:var(--blue-faint)
}
.mbr-avatar-txt{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:700;font-size:20px;color:var(--blue-deep)
}
.mbr-who{flex:1;min-width:0}
.mbr-name{
  font-family:var(--display);font-weight:700;font-size:19px;color:var(--text);
  line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.mbr-id{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.02em;margin-top:3px}

/* ---- tabs ---- */
.mbr-tabs{
  display:flex;gap:4px;margin-bottom:22px;padding:4px;
  background:var(--bg-2);border-radius:11px
}
.mbr-tab{
  flex:1;position:relative;padding:9px 6px;border:0;border-radius:8px;cursor:pointer;
  background:transparent;font-family:var(--body);font-size:13.5px;font-weight:600;
  color:var(--muted);transition:background .16s ease,color .16s ease
}
.mbr-tab:hover{color:var(--text)}
.mbr-tab.on{background:var(--card);color:var(--navy);box-shadow:var(--shadow-sm)}
.mbr-tab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.mbr-dot{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:16px;height:16px;padding:0 4px;margin-left:5px;
  border-radius:8px;background:var(--gold);color:#fff;
  font-family:var(--mono);font-size:10px;font-weight:700;vertical-align:1px
}

/* ---- earnings ---- */
.mbr-earn{
  background:var(--hero-grad);border-radius:14px;padding:22px 20px;
  color:#fff;text-align:center;margin-bottom:14px
}
.mbr-earn-l{font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;opacity:.72}
.mbr-earn-n{font-family:var(--display);font-weight:800;font-size:38px;line-height:1.1;margin:6px 0 4px}
.mbr-earn-s{font-size:13px;opacity:.8}

.mbr-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.mbr-stat{
  background:var(--bg-2);border:1px solid var(--line);border-radius:11px;
  padding:14px 8px;text-align:center
}
.mbr-stat .n{font-family:var(--display);font-weight:700;font-size:22px;color:var(--navy);line-height:1}
.mbr-stat .l{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.3}

.mbr-hint{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.55}

/* ---- next steps ---- */
.mbr-todo{border:1px solid var(--line);border-radius:12px;padding:6px 0;margin:18px 0}
.mbr-todo h4{
  font-family:var(--body);font-size:11.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin:10px 16px 4px
}
.mbr-todo-row{
  display:flex;width:100%;gap:12px;align-items:center;justify-content:space-between;
  padding:12px 16px;border:0;background:transparent;cursor:pointer;text-align:left;
  font-family:var(--body);font-size:13.5px;color:var(--text);line-height:1.5
}
.mbr-todo-row:hover{background:var(--blue-faint)}
.mbr-todo-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.mbr-todo-arrow{color:var(--blue);font-size:20px;line-height:1;flex:0 0 auto}
.mbr-done{
  background:#F0FDF4;border:1px solid #BBF7D0;border-radius:11px;
  padding:13px 15px;font-size:13.5px;color:#166534;margin:18px 0;line-height:1.55
}

/* ---- section headings ---- */
.mbr-sec{
  font-family:var(--display);font-weight:700;font-size:15px;color:var(--navy);
  margin:26px 0 10px;display:flex;align-items:center;gap:8px
}
.mbr-sec:first-child{margin-top:6px}
.mbr-count{
  font-family:var(--mono);font-size:11px;font-weight:700;color:var(--blue-deep);
  background:var(--blue-soft);border-radius:20px;padding:2px 8px
}
.mbr-count.amber{color:#92400E;background:#FEF3C7}
.mbr-sec-p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 12px}

/* ---- study rows: the signature element ---- */
.mbr-study{
  display:flex;align-items:center;gap:14px;justify-content:space-between;
  padding:14px 16px;margin-bottom:8px;text-decoration:none;
  background:var(--card);border:1px solid var(--line);border-radius:11px;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease
}
a.mbr-study:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:var(--shadow-md)}
a.mbr-study:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.mbr-study-main{min-width:0;flex:1}
.mbr-study-t{
  font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--text);line-height:1.35
}
.mbr-study-m{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}
.mbr-reward{
  flex:0 0 auto;font-family:var(--mono);font-weight:700;font-size:19px;
  color:var(--blue-deep);line-height:1;white-space:nowrap
}
.mbr-reward small{font-size:10px;font-weight:500;color:var(--muted);margin-left:3px}
.mbr-bonus{
  display:inline-block;vertical-align:2px;margin-left:6px;padding:2px 7px;border-radius:20px;
  background:var(--gold);color:#fff;font-family:var(--body);font-size:10px;
  font-weight:700;letter-spacing:.04em;text-transform:uppercase
}
.mbr-study.locked{background:var(--bg-2);border-style:dashed}
.mbr-study.locked .mbr-study-t{color:var(--muted)}
.mbr-study.done{background:var(--bg-2)}
.mbr-study.done .mbr-study-t{color:var(--muted)}
.mbr-check{flex:0 0 auto;color:var(--green);font-size:19px;font-weight:700;line-height:1}
.mbr-unlock{
  flex:0 0 auto;border:1px solid var(--blue);background:transparent;color:var(--blue-deep);
  border-radius:20px;padding:7px 14px;cursor:pointer;
  font-family:var(--body);font-size:12.5px;font-weight:600;white-space:nowrap
}
.mbr-unlock:hover{background:var(--blue-solid);color:#fff}
.mbr-unlock:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.mbr-empty{
  background:var(--bg-2);border:1px dashed var(--line-2);border-radius:11px;
  padding:20px 18px;text-align:center;font-size:13.5px;color:var(--muted);line-height:1.6
}

/* ---- profile ---- */
.mbr-meter{
  background:var(--bg-2);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;margin-bottom:20px
}
.mbr-meter-top{
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;
  font-size:13px;color:var(--muted)
}
.mbr-meter-top b{font-family:var(--display);font-size:19px;color:var(--navy)}
.mbr-meter .mbr-hint{margin-top:10px;margin-bottom:0}

.acct-field select,
.acct-field textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line-2);border-radius:9px;
  font-family:var(--body);font-size:14px;color:var(--text);background:var(--card);
  transition:border-color .16s ease,box-shadow .16s ease
}
.acct-field textarea{resize:vertical;min-height:88px;line-height:1.6}
.acct-field select:focus,
.acct-field textarea:focus{
  outline:0;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)
}

.mbr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.mbr-chip{
  border:1px solid var(--line-2);background:var(--card);color:var(--muted);
  border-radius:20px;padding:8px 14px;cursor:pointer;
  font-family:var(--body);font-size:13px;font-weight:500;
  transition:border-color .14s ease,background .14s ease,color .14s ease
}
.mbr-chip:hover{border-color:var(--blue)}
.mbr-chip.on{background:var(--blue-solid);border-color:var(--blue);color:#fff;font-weight:600}
.mbr-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.mbr-ok{
  background:#F0FDF4;border:1px solid #BBF7D0;border-radius:9px;
  padding:11px 14px;font-size:13.5px;color:#166534;margin-bottom:14px;line-height:1.5
}

/* ---- phones ---- */
@media (max-width:560px){
  .mbr-earn-n{font-size:32px}
  .mbr-grid3{grid-template-columns:1fr 1fr}
  .mbr-grid3 .mbr-stat:last-child{grid-column:1 / -1}
  .mbr-tab{font-size:12.5px;padding:9px 4px}
  .mbr-reward{font-size:17px}
  .mbr-study{padding:13px 14px;gap:10px}
}

@media (prefers-reduced-motion:reduce){
  .mbr-tab,.mbr-study,.mbr-chip,.mbr-todo-row,.acct-field select,.acct-field textarea{transition:none}
  a.mbr-study:hover{transform:none}
}

/* Review status on a member's completed studies */
.mbr-status{
  flex:0 0 auto;padding:4px 11px;border-radius:20px;white-space:nowrap;
  font-family:var(--body);font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase
}
.mbr-status.wait{background:#FEF3C7;color:#92400E}
.mbr-status.no{background:#FEE2E2;color:#991B1B}

/* Cash-out, requested by the member and paid by hand */
.mbr-payout{border-radius:12px;padding:17px 19px;margin:18px 0;line-height:1.6}
.mbr-payout-h{font-family:var(--display);font-weight:700;font-size:16px;margin-bottom:5px}
.mbr-payout p{font-size:13.5px;margin:0}
.mbr-payout.ready{background:var(--blue-faint);border:1px solid var(--blue-soft)}
.mbr-payout.ready .mbr-payout-h{color:var(--navy)}
.mbr-payout.ready p{color:var(--muted)}
.mbr-payout.waiting{background:#FFFBEB;border:1px solid #FDE68A}
.mbr-payout.waiting .mbr-payout-h{color:#92400E}
.mbr-payout.waiting p{color:#A16207}
.mbr-payout.declined{background:#FEF2F2;border:1px solid #FECACA}
.mbr-payout.declined .mbr-payout-h{color:#991B1B}
.mbr-payout.declined p{color:#B91C1C}
.mbr-cashout{
  margin-top:13px;border:0;border-radius:9px;padding:11px 20px;cursor:pointer;
  background:var(--btn-grad);color:#fff;
  font-family:var(--body);font-size:14px;font-weight:600
}
.mbr-cashout:hover{filter:brightness(1.06)}
.mbr-cashout:disabled{opacity:.6;cursor:default;filter:none}
.mbr-cashout:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* A member's own record of what has been paid to them */
.mbr-paid{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:15px 17px;margin:18px 0}
.mbr-paid-h{font-family:var(--display);font-weight:700;font-size:15px;color:var(--navy);margin-bottom:10px}
.mbr-paid-list{list-style:none;margin:0;padding:0}
.mbr-paid-list li{
  display:flex;gap:12px;align-items:baseline;justify-content:space-between;
  padding:8px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)
}
.mbr-paid-list li:first-child{border-top:0}
.mbr-paid-list li span:nth-child(2){flex:1;font-family:var(--mono);font-size:11.5px}
.mbr-paid-list b{font-family:var(--mono);font-size:14px;color:var(--green);white-space:nowrap}

/* =================================================================
   v133 SCROLL REVEAL (replaces the AOS library)
   Hidden state only applies under .reveal-ready, which main.js sets.
   No JavaScript, or reduced motion, means content is plainly visible.
   ================================================================= */
.reveal-ready [data-aos]{
  opacity:0;
  transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform
}
.reveal-ready [data-aos="fade-up"]{transform:translate3d(0,26px,0)}
.reveal-ready [data-aos="fade-left"]{transform:translate3d(26px,0,0)}
.reveal-ready [data-aos="fade-right"]{transform:translate3d(-26px,0,0)}
.reveal-ready [data-aos="zoom-in"]{transform:scale(.94)}
.reveal-ready [data-aos].aos-animate{opacity:1;transform:none}

/* Side panel freshness */
.fx-date.is-stale{color:#B45309}
.fx-attr{
  display:block;margin:10px 4px 2px;font-size:10.5px;letter-spacing:.02em;
  color:var(--muted);text-decoration:none;text-align:right
}
.fx-attr:hover{color:var(--blue-deep);text-decoration:underline}
.widget-asof{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.02em}
.widget[hidden]{display:none !important}

/* =================================================================
   v135 THEMES
   Light is the default token set in :root. Dark redefines the tokens.
   With no saved choice the site follows the device setting; a choice
   made with the header button is saved and wins. The navy hero and
   the dark Studio showcase are dark by design in both themes.
   ================================================================= */
:root[data-theme="dark"]{
  --navy:#E8EEF8; --navy-2:#C9D6EA;
  --blue:#4A86FF; --blue-deep:#8AB4FF; --blue-soft:#18305A; --blue-faint:#0E1E3A;
  --teal:#2BD9E1; --gold:#F7B23B;
  --bg:#07101E; --bg-2:#0B1628; --card:#0F1C31;
  --text:#E6EDF7; --muted:#9AABC4; --line:#1C2B45; --line-2:#2A3C5C;
  --tint-1:#0D192D; --tint-2:#0E1A2F; --tint-3:#122039; --tint-4:#0E1B30; --tint-5:#13223B; --tint-blue:#15284A;
  --header-bg:rgba(7,16,30,.86);
  --nav-ink:#D5DEEC; --nav-ink-hover:#8AB4FF; --blue-solid:#2F6DF0;
  --shadow-sm:0 1px 3px rgba(0,0,0,.35); --shadow-md:0 6px 18px rgba(0,0,0,.40); --shadow-lg:0 18px 44px rgba(0,0,0,.50);
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
  --navy:#E8EEF8; --navy-2:#C9D6EA;
  --blue:#4A86FF; --blue-deep:#8AB4FF; --blue-soft:#18305A; --blue-faint:#0E1E3A;
  --teal:#2BD9E1; --gold:#F7B23B;
  --bg:#07101E; --bg-2:#0B1628; --card:#0F1C31;
  --text:#E6EDF7; --muted:#9AABC4; --line:#1C2B45; --line-2:#2A3C5C;
  --tint-1:#0D192D; --tint-2:#0E1A2F; --tint-3:#122039; --tint-4:#0E1B30; --tint-5:#13223B; --tint-blue:#15284A;
  --header-bg:rgba(7,16,30,.86);
  --nav-ink:#D5DEEC; --nav-ink-hover:#8AB4FF; --blue-solid:#2F6DF0;
  --shadow-sm:0 1px 3px rgba(0,0,0,.35); --shadow-md:0 6px 18px rgba(0,0,0,.40); --shadow-lg:0 18px 44px rgba(0,0,0,.50);
  color-scheme:dark;
  }
}

.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:38px;height:38px;margin-right:10px;border-radius:50%;cursor:pointer;padding:0;
  border:1px solid var(--line);background:var(--card);color:var(--text);
  transition:border-color .2s,background .2s,transform .3s
}
.theme-toggle:hover{border-color:var(--blue);transform:rotate(-14deg)}
.theme-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.theme-toggle svg{width:18px;height:18px}
.theme-toggle .ico-sun{display:none}
:root[data-theme="dark"] .theme-toggle .ico-sun{display:block}
:root[data-theme="dark"] .theme-toggle .ico-moon{display:none}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme-toggle .ico-sun{display:block}
  :root:not([data-theme="light"]) .theme-toggle .ico-moon{display:none}
}

/* The switch is the one place motion answers a click: the new theme
   sweeps out from the button that was pressed. */
html.theme-switching::view-transition-old(root){animation:none}
html.theme-switching::view-transition-new(root){animation:theme-reveal .6s cubic-bezier(.22,.61,.36,1)}
@keyframes theme-reveal{
  from{clip-path:circle(0 at var(--tx,50%) var(--ty,0))}
  to{clip-path:circle(var(--tr,150vmax) at var(--tx,50%) var(--ty,0))}
}

/* v135 dark component fixes */
:root[data-theme="dark"] .blog-cat-badge, :root[data-theme="dark"] .case-tag, :root[data-theme="dark"] .showcase-category, :root[data-theme="dark"] .btn-gold{color:#0A1F3F}
:root[data-theme="dark"] .survey-status.open{color:#4ADE80}
:root[data-theme="dark"] .fx-date.is-stale{color:#F59E0B}
:root[data-theme="dark"] .nav-dropdown a{color:var(--text)}
:root[data-theme="dark"] .nav-dropdown::before{background:var(--card);border-color:var(--line)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .blog-cat-badge, :root:not([data-theme="light"]) .case-tag, :root:not([data-theme="light"]) .showcase-category, :root:not([data-theme="light"]) .btn-gold{color:#0A1F3F}
  :root:not([data-theme="light"]) .survey-status.open{color:#4ADE80}
  :root:not([data-theme="light"]) .fx-date.is-stale{color:#F59E0B}
  :root:not([data-theme="light"]) .nav-dropdown a{color:var(--text)}
  :root:not([data-theme="light"]) .nav-dropdown::before{background:var(--card);border-color:var(--line)}
}


/* Flash News: dated headlines, newest first */
.news-date{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;
  font-family:var(--mono);font-size:10px;font-weight:600;color:var(--muted);background:var(--tint-3);vertical-align:1px}

/* =================================================================
   NIGERIAN BUSINESS DIRECTORY: cards and business profile pages.
   Theme tokens only, so both follow light and dark mode.
   ================================================================= */
.biz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.biz-avatar{width:52px;height:52px;border-radius:12px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;
  font:700 19px var(--display);color:#fff;background:linear-gradient(135deg,#0A1F3F,#2563EB)}
.biz-avatar img{width:100%;height:100%;object-fit:cover;background:#fff}
.biz-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,box-shadow .2s}
.biz-card:hover{border-color:var(--blue);box-shadow:var(--shadow-md)}
.biz-card.featured{border-color:var(--gold)}
.biz-top{display:flex;gap:12px;align-items:flex-start}
.biz-name{font:700 16.5px/1.3 var(--display);color:var(--navy);margin:0}
.biz-name a{color:inherit;text-decoration:none}
.biz-sub{font-size:12.5px;color:var(--muted);margin-top:3px}
.biz-desc{font-size:13.5px;line-height:1.6;color:var(--text);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:20px;background:var(--tint-3);color:var(--text);border:1px solid var(--line)}
.chip.ok{background:#DCFCE7;color:#166534;border-color:#BBF7D0}
.chip.hire{background:#DBEAFE;color:#1E40AF;border-color:#BFDBFE}
.chip.warn{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.chip.off{background:#FEE2E2;color:#991B1B;border-color:#FECACA}
.badge-v{display:inline-flex;align-items:center;gap:4px;font:700 10.5px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:20px;background:#DCFCE7;color:#166534;margin-left:6px;vertical-align:2px;white-space:nowrap}
.biz-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.biz-foot small{font:500 11px var(--mono);color:var(--muted)}
.biz-foot a{font-size:13px;font-weight:700;color:var(--blue-deep);text-decoration:none}
.prof{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.prof-head{display:flex;gap:16px;align-items:center;margin-bottom:6px}
.prof-head .biz-avatar{width:68px;height:68px;font-size:24px;border-radius:16px}
.prof h1{font:800 clamp(24px,3vw,32px)/1.15 var(--display);color:var(--navy);margin:0}
.prof-meta{font-size:13.5px;color:var(--muted);margin-top:5px}
.prof-meta .id{font-family:var(--mono);font-size:12px}
.statusbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}
.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:14px}
.box h2{font:700 13px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin:0}
.facts dt{font-size:11.5px;color:var(--muted);margin-bottom:2px}
.facts dd{margin:0;font-weight:600;font-size:14px;color:var(--text)}
.facts dd.mono{font-family:var(--mono);font-size:13px}
.update{display:flex;gap:12px}
.update time{flex:0 0 auto;font:600 11px var(--mono);color:var(--muted);background:var(--tint-3);border-radius:6px;padding:4px 7px;height:fit-content;text-transform:uppercase}
.contact a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--text);font-size:14px}
.contact a:first-of-type{border-top:0}
.contact a span:last-child{color:var(--blue-deep);font-weight:600;text-align:right;overflow-wrap:anywhere}
.trust{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0}
.trust b{color:var(--text)}
.trust a{color:var(--blue-deep);font-weight:600;text-decoration:none}
.trust a:hover{text-decoration:underline}
@media (max-width:900px){.prof{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}}

/* =================================================================
   STATART DATASHOP (v141): the DataShop page, the offering pages and
   the browse and form parts that used to live on the directory page.
   Theme tokens only, so everything follows light and dark mode.
   ================================================================= */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.section-eyebrow.ds-left{text-align:left}

/* Hero */
.ds-hero{position:relative;overflow:hidden;background:var(--card);border-bottom:1px solid var(--line);padding:64px 0 72px}
.ds-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(10,31,63,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(10,31,63,.025) 1px,transparent 1px);background-size:60px 60px}
.ds-hero .container{position:relative}
.ds-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.ds-hero h1{font:800 clamp(34px,4.6vw,56px)/1.06 var(--display);letter-spacing:-1px;color:var(--navy);margin:0 0 18px}
.ds-hero h1 .accent{color:var(--blue-deep)}
.ds-lede{font-size:17.5px;line-height:1.7;color:var(--muted);max-width:56ch;margin:0 0 28px}
.ds-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.ds-proof{list-style:none;display:flex;flex-wrap:wrap;gap:14px 34px;margin:0;padding:0}
.ds-proof b{display:block;font:700 16px var(--display);color:var(--navy)}
.ds-proof span{font-size:13px;color:var(--muted)}

/* Section intros on the DataShop page */
.ds-head{max-width:720px;margin:0 0 36px}
.ds-head p{color:var(--muted);font-size:16px;line-height:1.7}
.ds-head p a{color:var(--blue-deep);font-weight:600}

/* Example record card */
.rec{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg)}
.rec-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 20px;background:#0A1F3F;color:#E8EEF8;font:600 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.rec-live{color:#5EEAD4;display:inline-flex;align-items:center;gap:7px}
.rec-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#2DD4BF}
.rec dl{margin:0;padding:6px 20px}
.rec dl div{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.rec dl div:last-child{border-bottom:0}
.rec dt{font-size:14px;color:var(--muted)}
.rec dd{margin:0;font-weight:700;font-size:14.5px;color:var(--text);overflow-wrap:anywhere}
.rec-foot{margin:0;padding:12px 20px 16px;border-top:1px solid var(--line);background:var(--bg-2);font-size:12.5px;line-height:1.6;color:var(--muted)}
.mask{display:inline-block;height:.95em;vertical-align:-.1em;border-radius:4px;
  background:linear-gradient(90deg,var(--tint-5),var(--line-2),var(--tint-5));background-size:200% 100%;filter:blur(.4px)}
@media (prefers-reduced-motion:no-preference){.mask{animation:ds-shimmer 2.6s ease-in-out infinite}}
@keyframes ds-shimmer{0%,100%{background-position:0 0}50%{background-position:100% 0}}

/* Catalogue */
.off-cat{margin-top:44px}
.off-cat:first-of-type{margin-top:8px}
.off-cat-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.off-cat-head h3{font:700 21px/1.2 var(--display);color:var(--navy);margin:0}
.off-cat-head p{margin:2px 0 0;font-size:14px;color:var(--muted)}
.off-ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--blue-faint);border:1px solid var(--line);color:var(--blue-deep)}
.off-ico.lg{width:46px;height:46px;border-radius:12px}
.off-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.off-card{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:14px;color:var(--text);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.off-card:hover{border-color:var(--blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.off-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.off-card h4{font:700 17px/1.3 var(--display);color:var(--navy);margin:4px 0 0}
.off-card p{font-size:14px;line-height:1.6;color:var(--text);margin:0}
.off-more{margin-top:auto;padding-top:4px;font-size:13.5px;font-weight:700;color:var(--blue-deep)}
@media (max-width:980px){.off-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.off-grid{grid-template-columns:1fr}}

/* Case-study proof strip */
.ds-proofcase{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;padding:30px 34px;border-radius:18px;background:var(--hero-grad);color:#E8EEF8}
.ds-proofcase h3{font:700 24px/1.25 var(--display);color:#fff;margin:0 0 8px}
.ds-proofcase p{color:#C9D6EA;font-size:15px;line-height:1.7;margin:0 0 12px;max-width:70ch}
.ds-proofcase .section-eyebrow{color:#F7B23B !important}
.ds-proofcase .read-more-link{color:#fff;border-color:rgba(255,255,255,.4)}
.ds-proofnum b{display:block;font:700 64px/1 var(--mono);color:#fff}
.ds-proofnum span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#5EEAD4}
.ds-proofcase-wrap{padding:24px 0 72px}
@media (max-width:700px){.ds-proofcase{grid-template-columns:1fr;gap:16px;padding:26px 22px}.ds-proofnum b{font-size:48px}}

/* Offering pages */
.off-head{padding:56px 0 40px}
.off-title{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.off-title h1{margin:0}
.off-page{padding-top:40px}
.off-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start}
.off-aside{position:sticky;top:calc(var(--header-h) + 18px);display:flex;flex-direction:column;gap:18px}
.off-text{margin:0;font-size:15px;line-height:1.75;color:var(--text)}
.fields{width:100%;border-collapse:collapse;font-size:14.5px}
.fields th,.fields td{text-align:left;padding:11px 10px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.fields thead th{font-size:12.5px;font-weight:700;color:var(--muted)}
.fields td:last-child{color:var(--muted)}
.fields tr.grp th{padding-top:18px;font:700 12px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep)}
.fields tbody:last-child tr:last-child td{border-bottom:0}
.who{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.who div{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2)}
.who b{display:block;font:700 15px var(--display);color:var(--navy);margin-bottom:2px}
.who span{font-size:14px;color:var(--text)}
.quote-box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-md)}
.quote-box h2{font:700 13px var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.quote-box label{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin:12px 0 5px}
.quote-box select{width:100%;height:44px;padding:0 12px;border:1px solid var(--line-2);border-radius:9px;background:var(--card);color:var(--text);font-size:14px}
.quote-box select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.quote-box p{font-size:13px;line-height:1.6;color:var(--muted);margin:14px 0}
.quote-box .btn{width:100%;justify-content:center}
.related{margin-top:56px}
.related h2{font:700 22px var(--display);color:var(--navy);margin:0 0 16px}
.related-all{margin:18px 0 0;font-weight:700}
.related-all a{color:var(--blue-deep)}
.ds-upsell .btn{width:100%;justify-content:center;margin-top:12px}
@media (max-width:980px){.off-layout{grid-template-columns:1fr}.off-aside{position:static}}
@media (max-width:900px){.ds-hero-grid{grid-template-columns:1fr;gap:34px}.ds-hero{padding:44px 0 56px}}
@media (max-width:560px){.who{grid-template-columns:1fr}.rec dl div{grid-template-columns:1fr;gap:2px}}

/* Browse and forms (moved from the old directory page) */
.dir-tools{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-bottom:14px}
.dir-tools label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px}
.dir-tools input[type=search],.dir-tools select{width:100%;height:44px;box-sizing:border-box;padding:0 13px;-webkit-appearance:none;appearance:none;border:1px solid var(--line-2);border-radius:9px;background:var(--card);color:var(--text);font:inherit;font-size:14px}
.dir-tools input:focus,.dir-tools select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.dir-verified{display:flex;align-items:center;gap:8px;height:44px;padding:0 4px;margin-bottom:0 !important;font-size:14px;color:var(--text);white-space:nowrap;cursor:pointer}
.dir-count{font-size:13px;color:var(--muted);margin:4px 0 18px}
.dir-empty{text-align:center;padding:42px 20px;border:1px dashed var(--line-2);border-radius:14px;background:var(--card);color:var(--muted);line-height:1.7}
.dir-empty b{display:block;font-family:var(--display);font-size:18px;color:var(--navy);margin-bottom:6px}
.dir-empty a{color:var(--blue-deep);font-weight:600}
.dir-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dir-form .opt{font-weight:400;color:var(--muted);font-size:12px;margin-left:4px}
.dir-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:var(--text);cursor:pointer}
.dir-consent input{margin-top:3px;flex:0 0 auto}
.dir-err{padding:12px 14px;border-radius:9px;background:#FEE2E2;color:#991B1B;margin-bottom:12px;font-size:14px}
.dir-ok{padding:14px 16px;border-radius:10px;background:#DCFCE7;color:#166534;margin-bottom:18px;font-weight:600}
@media (max-width:820px){.dir-tools{grid-template-columns:1fr 1fr}.dir-tools .dir-q{grid-column:1/-1}}
@media (max-width:520px){.dir-tools{grid-template-columns:1fr}.dir-form .row{grid-template-columns:1fr}}

/* Light-mode contrast: the gold eyebrow on white measured about 2:1.
   A deeper gold keeps the brand colour and reads at AA for small caps. */
:root:not([data-theme="dark"]) .section-eyebrow{color:#9A6206}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .section-eyebrow{color:var(--gold)}}
:root:not([data-theme="dark"]) .section.dark .section-eyebrow,:root:not([data-theme="dark"]) .rack-section .section-eyebrow{color:var(--blue-deep)}

/* =================================================================
   MARKET CARD: naira FX and the NGX snapshot in one rotating card.
   A tab bar with a countdown line, an eased height change between
   views, and a hold-to-read pause. Theme tokens throughout.
   ================================================================= */
.widget-rotator{position:relative;margin-bottom:14px}
.widget-rotator.rotating{
  background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:0 1px 2px rgba(10,31,63,.04),0 10px 28px -12px rgba(10,31,63,.18);
  transition:box-shadow .3s,border-color .3s;
}
.widget-rotator.rotating::before{content:"";position:absolute;inset:0 0 auto;height:2px;z-index:2;
  background:linear-gradient(90deg,var(--blue),var(--teal) 55%,var(--gold))}
.widget-rotator.rotating.held{border-color:var(--line-2);box-shadow:0 1px 2px rgba(10,31,63,.05),0 14px 34px -12px rgba(10,31,63,.26)}
.widget-rotator.rotating > .rot-stage > .widget{
  display:none;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none!important}
.widget-rotator.rotating > .rot-stage > .widget.rot-on{display:block;animation:rot-in .5s cubic-bezier(.2,.8,.2,1)}
.rot-stage{position:relative;transition:height .45s cubic-bezier(.2,.8,.2,1)}
@keyframes rot-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* tab bar */
.rot-tabs{position:relative;display:flex;gap:4px;padding:10px 10px 0;background:var(--tint-2);border-bottom:1px solid var(--line)}
.rot-tab{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px 11px;border:0;background:transparent;
  cursor:pointer;font:600 10.5px var(--display);letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);border-radius:9px 9px 0 0;transition:color .2s,background .2s}
.rot-tab:hover{color:var(--text)}
.rot-tab.on{color:var(--navy);background:var(--card)}
.rot-tab:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.rot-ico{width:7px;height:7px;border-radius:50%;background:var(--line-2);transition:background .2s,box-shadow .2s}
.rot-tab.on .rot-ico{background:var(--teal);box-shadow:0 0 0 3px rgba(0,201,210,.18)}
.rot-tab.rot-ngx.on .rot-ico{background:var(--gold);box-shadow:0 0 0 3px rgba(245,166,35,.2)}
.rot-prog{position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px;background:transparent;overflow:hidden}
.rot-tab.on .rot-prog{background:var(--line)}
.rot-prog i{display:block;height:100%;width:0;border-radius:2px;background:var(--blue)}
.rot-tab.on .rot-prog i{animation:rot-count var(--rot-ms,5000ms) linear forwards}
.widget-rotator.held .rot-tab.on .rot-prog i{animation-play-state:paused}
@keyframes rot-count{from{width:0}to{width:100%}}
.rot-paused{position:absolute;right:12px;top:52px;z-index:3;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:20px;
  font:600 9px var(--display);letter-spacing:1px;text-transform:uppercase;color:#fff;background:var(--navy-surface);opacity:0;transform:translateY(4px);
  pointer-events:none;transition:opacity .2s,transform .2s}
.widget-rotator.held .rot-paused{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .widget-rotator.rotating > .rot-stage > .widget.rot-on{animation:none}
  .rot-stage{transition:none}
  .rot-tab.on .rot-prog i{animation:none;width:100%;opacity:.35}
}

/* FX view inside the card: the tab names it, so the title steps back */
.widget-rotator.rotating .fx-head{display:none}
.widget-rotator.rotating .fx-date{background:transparent;padding:10px 14px 8px;text-align:left;border-bottom:1px solid var(--line)}
.widget-rotator.rotating .fx-row{padding:8px 14px}

/* NGX snapshot */
.ngx-snap{padding:14px 16px 14px}
.widget-rotator.rotating .ngx-snap .widget-label{display:none}
.ngx-snap .widget-head{margin-bottom:8px}
.ngx-snap .widget-asof{margin-left:0;font:500 10px var(--mono);color:var(--gold-deep)}
.ngx-snap .widget-asof::before{content:none}
.ngx-snap .widget-asof.is-behind{color:var(--muted)}
.ngx-snap .widget-asof.is-stale{color:#B45309}
.ngx-snap .lbl{display:flex;align-items:center;gap:6px;font:600 9.5px var(--display);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.ngx-snap .up{color:#15803D}
.ngx-snap .down{color:#B91C1C}
.snap-hero{padding:12px 12px 11px;border-radius:12px;background:linear-gradient(135deg,var(--blue-faint),var(--tint-1));border:1px solid var(--line)}
.snap-hero .lbl{margin-bottom:3px}
.snap-asi{display:flex;align-items:center;justify-content:space-between;gap:8px}
.snap-asi .val{font:700 21px/1.15 var(--mono);color:var(--navy);letter-spacing:-.5px}
.snap-pill{flex:0 0 auto;font:700 11px var(--mono);padding:4px 8px;border-radius:20px}
.snap-pill.up{background:#DCFCE7;color:#166534}
.snap-pill.down{background:#FEE2E2;color:#991B1B}
.snap-sub{font-size:11px;color:var(--muted);margin-top:4px}
.snap-tiles{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 12px}
.snap-tiles div{border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--card)}
.snap-tiles span{display:block;font:600 9px var(--display);color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.snap-tiles b{display:block;font:600 13px/1.35 var(--mono);color:var(--text);white-space:nowrap}
.snap-breadth{margin-bottom:2px}
.snap-breadth .lab{display:flex;justify-content:space-between;align-items:baseline;font-size:10.5px;color:var(--muted);margin-bottom:5px}
.snap-breadth .lab b{font:700 11px var(--mono)}
.snap-breadth .bar{height:6px;border-radius:6px;background:linear-gradient(90deg,#F87171,#EF4444);overflow:hidden}
.snap-breadth .bar i{display:block;height:100%;border-radius:6px 0 0 6px;background:linear-gradient(90deg,#22C55E,#16A34A);box-shadow:2px 0 0 var(--card)}
.snap-fx,.snap-list,.snap-insight{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-2)}
.snap-fx-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.snap-fx-row div{background:var(--tint-3);border-radius:9px;padding:7px 10px}
.snap-fx-row span{display:block;font-size:9.5px;color:var(--muted)}
.snap-fx-row b{font:600 13px var(--mono);color:var(--blue-deep)}
.snap-mv{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:5px 0;font-size:11.5px}
.snap-mv + .snap-mv{border-top:1px solid var(--line)}
.snap-mv .nm{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.snap-mv .pr{font:500 11px var(--mono);color:var(--muted)}
.snap-chip{min-width:58px;text-align:right;font:700 10.5px var(--mono);padding:3px 7px;border-radius:6px}
.snap-chip.up{background:#DCFCE7;color:#166534}
.snap-chip.down{background:#FEE2E2;color:#991B1B}
.snap-insight{border-top:0;padding:11px 12px;border-radius:12px;background:var(--tint-1);border-left:3px solid var(--gold)}
.snap-insight .lbl{color:var(--navy);margin-bottom:5px}
.snap-insight p{margin:0;font-size:12px;line-height:1.6;color:var(--text)}
.snap-src{margin-top:10px;font-size:9.5px;color:var(--muted);line-height:1.5}

/* dark theme */
:root[data-theme="dark"] .ngx-snap .up{color:#4ADE80}
:root[data-theme="dark"] .ngx-snap .down{color:#F87171}
:root[data-theme="dark"] .snap-pill.up,:root[data-theme="dark"] .snap-chip.up{background:rgba(34,197,94,.16);color:#4ADE80}
:root[data-theme="dark"] .snap-pill.down,:root[data-theme="dark"] .snap-chip.down{background:rgba(248,113,113,.16);color:#FCA5A5}
:root[data-theme="dark"] .rot-paused{background:#E8EEF8;color:#07101E}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .ngx-snap .up{color:#4ADE80}
  :root:not([data-theme="light"]) .ngx-snap .down{color:#F87171}
  :root:not([data-theme="light"]) .snap-pill.up,:root:not([data-theme="light"]) .snap-chip.up{background:rgba(34,197,94,.16);color:#4ADE80}
  :root:not([data-theme="light"]) .snap-pill.down,:root:not([data-theme="light"]) .snap-chip.down{background:rgba(248,113,113,.16);color:#FCA5A5}
  :root:not([data-theme="light"]) .rot-paused{background:#E8EEF8;color:#07101E}
}
@media (max-width:1099px){.widget-rotator{min-width:270px;flex-shrink:0;scroll-snap-align:start;margin-bottom:0}}
.widget-rotator.rotating .fx-attr{display:block;padding:9px 14px 11px;border-top:1px solid var(--line);text-align:right;font-size:9.5px;color:var(--muted)}

/* Flash News: company headline feed, rotating with a hold-to-read pause */
.news-ticker{min-height:74px}
.news-meta{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.news-meta .news-date{margin-right:0}
.news-sector{font:600 9px var(--display);letter-spacing:1px;text-transform:uppercase;color:var(--blue-deep);background:var(--blue-faint);border:1px solid var(--line);padding:1px 6px;border-radius:4px}
.news-item a{display:block;color:var(--text);text-decoration:none}
.news-item a:hover .news-text{color:var(--blue-deep);text-decoration:underline}
.news-text{font-size:13px;line-height:1.5;font-weight:500}
.news-foot{display:flex;justify-content:space-between;align-items:center;margin-top:9px;padding-top:7px;border-top:1px solid var(--line)}
.news-nav{display:flex;gap:6px}
.news-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line-2);background:var(--card);color:var(--text);cursor:pointer;padding:0;transition:background .15s,border-color .15s,color .15s}
.news-btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.news-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.news-hold{font:600 9px var(--display);letter-spacing:1px;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .2s}
.news-held .news-hold{opacity:1}

/* =================================================================
   MARKET NEWS: News page section and story pages (STATART Insights Desk)
   ================================================================= */
.mk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.mk-sub{color:var(--muted);font-size:16px;line-height:1.65;max-width:62ch;margin:0}
.mk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mk-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--text);text-decoration:none;
  transition:transform .25s,box-shadow .25s,border-color .25s}
.mk-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.mk-card.lead{grid-column:1/-1;flex-direction:row}
.mk-card.lead .mk-img{flex:0 0 52%;min-height:300px}
.mk-card.lead h3{font-size:clamp(22px,2.4vw,30px)}
.mk-card.lead p{font-size:16px}
.mk-img{height:180px;background:#0A1F3F center/cover no-repeat}
.mk-noimg{display:flex;align-items:flex-end;padding:16px;background:linear-gradient(135deg,#0A1F3F 0%,#132B4F 55%,#1D4ED8 130%);position:relative;overflow:hidden}
.mk-noimg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px}
.mk-noimg::after{content:"";position:absolute;right:20px;bottom:18px;width:54px;height:42px;opacity:.9;background:radial-gradient(circle,#00C9D2 4px,transparent 5px) 0 100%/10px 10px no-repeat,linear-gradient(#E63946,#E63946) 18px 100%/13px 28px no-repeat,linear-gradient(#F5A623,#F5A623) 39px 100%/13px 42px no-repeat}
.mk-noimg span{position:relative;font:600 10px var(--display);letter-spacing:2px;text-transform:uppercase;color:#C9D6EA}
.mk-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.mk-meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.mk-tag{font:600 10px var(--display);letter-spacing:1.2px;text-transform:uppercase;color:var(--blue-deep);background:var(--blue-faint);border:1px solid var(--line);padding:3px 8px;border-radius:5px}
.mk-card h3{font:700 18px/1.3 var(--display);color:var(--navy);margin:0}
.mk-card p{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0}
.mk-fig{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:8px}
.mk-fig b{font:700 18px var(--mono);color:var(--navy)}
.mk-fig span{font-size:12px;color:var(--muted)}
.mk-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:44px 20px;border:1px dashed var(--line-2);border-radius:16px}
@media (max-width:980px){.mk-grid{grid-template-columns:1fr 1fr}.mk-card.lead{flex-direction:column}.mk-card.lead .mk-img{flex:none;min-height:220px}}
@media (max-width:620px){.mk-grid{grid-template-columns:1fr}}

/* story page */
.mk-a-wrap{max-width:780px}
.mk-a-head{padding:64px 0 26px;background:var(--card);border-bottom:1px solid var(--line)}
.mk-a-head .mk-meta{margin:6px 0 14px}
.mk-a-head h1{font:800 clamp(30px,4.2vw,46px)/1.12 var(--display);letter-spacing:-.8px;color:var(--navy);margin:0 0 14px}
.mk-dek{font-size:19px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.mk-byline{display:flex;align-items:center;gap:10px;font:600 13px var(--display);color:var(--text)}
.mk-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--tint-3);border:1px solid var(--line)}
.mk-hero{margin:28px 0 0}
.mk-hero img{width:100%;border-radius:16px;aspect-ratio:16/9;object-fit:cover}
.mk-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:30px 0 8px}
.mk-figs div{padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,var(--blue-faint),var(--tint-1));border:1px solid var(--line)}
.mk-figs b{display:block;font:700 22px/1.2 var(--mono);color:var(--navy);letter-spacing:-.4px}
.mk-figs span{display:block;margin-top:4px;font-size:12.5px;color:var(--muted);line-height:1.4}
.mk-a-body{margin:26px 0;font-size:18px;line-height:1.75;color:var(--text)}
.mk-a-body p{margin:0 0 18px}
.mk-a-body p:first-child::first-letter{font:800 3.1em/0.9 var(--display);float:left;margin:7px 6px 0 0;color:var(--blue-deep)}
.mk-a-body h3{font:700 21px var(--display);color:var(--navy);margin:30px 0 10px}
.mk-a-body strong{color:var(--navy)}
.mk-a-body blockquote{margin:24px 0;padding:6px 0 6px 18px;border-left:3px solid var(--gold);font-size:19px;color:var(--navy)}
.mk-watch{margin:30px 0;padding:18px 20px;border-radius:14px;background:var(--tint-1);border-left:3px solid var(--gold)}
.mk-watch h2{font:700 12px var(--display);letter-spacing:1.4px;text-transform:uppercase;color:var(--navy);margin:0 0 6px}
.mk-watch p{margin:0;font-size:16px;line-height:1.65}
.mk-note{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin:30px 0 0}
.mk-more{margin:44px 0 70px}
.mk-more h2{font:700 20px var(--display);color:var(--navy);margin:0 0 16px}
.mk-more .mk-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.mk-head .section-title.rv::before{left:0;right:auto;margin:0;transform:none}

/* Flash News: crossfade in place. Every headline shares one grid cell, so the
   card is always as tall as the longest headline and never jumps or blinks
   when the next one comes in. */
.news-ticker{display:grid;min-height:0}
.news-ticker .news-item{grid-area:1/1;display:block;opacity:0;visibility:hidden;transform:translateY(4px);
  transition:opacity .6s ease,transform .6s ease,visibility 0s linear .6s;animation:none}
.news-ticker .news-item.active{opacity:1;visibility:visible;transform:none;transition:opacity .6s ease,transform .6s ease,visibility 0s}
.news-ticker .news-foot{grid-row:2}
.news-ticker .news-empty{grid-area:1/1}
@media (prefers-reduced-motion:reduce){.news-ticker .news-item,.news-ticker .news-item.active{transition:none;transform:none}}

/* ===== News page: STATART Insights Desk ===== */
.nw-head .section-eyebrow{margin-bottom:10px}
.nw-pulse{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:0;margin-top:26px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow-sm);overflow:hidden;max-width:760px}
.nw-pulse[hidden]{display:none}
.nw-pulse-item{flex:1 1 150px;padding:14px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-width:0}
.nw-pulse-item:last-child{border-right:0}
.nw-pulse-k{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.nw-pulse-v{font-family:var(--mono);font-size:17px;font-weight:600;color:var(--text);white-space:nowrap}
.nw-pulse-v em{font-style:normal;font-size:13px;margin-left:4px}
.nw-pulse-v em.up{color:#0E9F6E}.nw-pulse-v em.down{color:#E02424}
.nw-pulse-date .nw-pulse-v{font-family:var(--display)}
@media (max-width:640px){.nw-pulse-item{flex:1 1 50%;border-bottom:1px solid var(--line)}.nw-pulse-item:nth-child(2n){border-right:0}}

.nw-filter{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 22px}
.nw-filter[hidden]{display:none}
.nw-fbtn{font:600 13px var(--display);padding:7px 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--text);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.nw-fbtn:hover{border-color:var(--teal-deep)}
.nw-fbtn[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}

.mk-empty strong{display:block;font-family:var(--display);font-size:18px;color:var(--text);margin-bottom:6px}
.mk-empty span{display:block;max-width:56ch;margin:0 auto;line-height:1.65}

.nw-method{background:var(--bg-2)}
.nw-method-head{max-width:720px;margin-bottom:34px}
.nw-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.nw-steps li{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 22px 22px;box-shadow:var(--shadow-sm)}
.nw-steps li::before{content:"";position:absolute;left:22px;top:0;width:36px;height:3px;border-radius:0 0 3px 3px;background:var(--gold)}
.nw-step-n{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--teal-deep);letter-spacing:1px}
.nw-steps h3{font-family:var(--display);font-size:20px;margin:8px 0 8px;color:var(--text)}
.nw-steps p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}
.nw-cover{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.nw-cover-k{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.nw-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.nw-chips li{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--blue-faint);color:var(--blue-deep);font-weight:600}

.nw-cta{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.nw-cta-actions{display:flex;flex-wrap:wrap;gap:12px;align-content:center}
.nw-cta-actions p{flex-basis:100%}
@media (max-width:860px){.nw-cta{grid-template-columns:1fr;gap:24px}}
.nw-method-head .section-title{margin-bottom:24px}
@media (max-width:640px){.nw-pulse-v{font-size:15px}.nw-pulse-v em{display:block;margin:2px 0 0}}

/* FX source credit is not shown. */
.fx-attr{display:none!important}
.snap-src{display:none!important}

/* Header contact line: kept in the page for search engines and screen
   readers, not shown. The same message is the main call to action in the
   home page hero. */
.header-tagline{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;max-width:none!important}

.btn.btn-cta-long{white-space:normal;text-transform:none;letter-spacing:0;font-size:15px;line-height:1.35;text-align:left;padding:14px 22px 14px 26px;max-width:420px;gap:14px}
.btn-cta-long .cta-arrow{flex-shrink:0;font-size:18px;font-weight:700;transition:transform .25s ease}
.btn-cta-long:hover .cta-arrow{transform:translateX(3px)}
@media (max-width:640px){.btn.btn-cta-long{max-width:100%;width:100%}}

/* ===== Flash News: side arrows + progress line ===== */
.news-ticker.news-multi{position:relative;padding:0 34px 10px}
.news-ticker .news-btn{position:absolute;top:calc(50% - 5px);transform:translateY(-50%);z-index:2;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--navy);cursor:pointer;box-shadow:0 1px 3px rgba(10,31,63,.08);opacity:.55;transition:opacity .2s,background .2s,color .2s,border-color .2s,transform .2s}
.news-ticker .news-prev{left:-2px}
.news-ticker .news-next{right:-2px}
#w-news:hover .news-btn,.news-ticker .news-btn:focus-visible{opacity:1}
.news-ticker .news-btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.news-ticker .news-prev:hover{transform:translateY(-50%) translateX(-2px)}
.news-ticker .news-next:hover{transform:translateY(-50%) translateX(2px)}
.news-ticker .news-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.news-progress{position:absolute;left:34px;right:34px;bottom:0;height:2px;border-radius:2px;background:var(--line);overflow:hidden}
.news-progress i{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--teal),var(--gold));animation:newsFill 5s linear forwards}
.news-held .news-progress i{animation-play-state:paused}
@keyframes newsFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#w-news .widget-head{display:flex;justify-content:space-between;align-items:center}
@media (prefers-reduced-motion:reduce){.news-progress{display:none}}

/* ===== Line icons in soft gold tiles (home, services, process, about, DataShop, survey steps) ===== */
.service-icon,.tl-icon,.ethics-tile .icon,.off-ico,.step-emoji{
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(245,166,35,.10)!important;border:1px solid rgba(245,166,35,.32)!important;color:#B7791F!important;
  box-shadow:none}
.service-icon,.tl-icon{width:52px;height:52px;border-radius:14px}
.ethics-tile .icon{width:44px;height:44px;border-radius:12px}
.service-card:hover .service-icon,.step-card:hover .step-emoji,.off-card:hover .off-ico{background:rgba(245,166,35,.16)!important;border-color:rgba(245,166,35,.5)!important}
.ln-ico{display:block}
:root[data-theme="dark"] .service-icon,:root[data-theme="dark"] .tl-icon,:root[data-theme="dark"] .ethics-tile .icon,:root[data-theme="dark"] .off-ico,:root[data-theme="dark"] .step-emoji{background:rgba(245,166,35,.12)!important;border-color:rgba(245,166,35,.35)!important;color:#F5C26B!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .service-icon,:root:not([data-theme="light"]) .tl-icon,:root:not([data-theme="light"]) .ethics-tile .icon,:root:not([data-theme="light"]) .off-ico,:root:not([data-theme="light"]) .step-emoji{background:rgba(245,166,35,.12)!important;border-color:rgba(245,166,35,.35)!important;color:#F5C26B!important}}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;text-align:left}
.step-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px 24px 24px;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;overflow:hidden}
.step-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(10,31,63,.10);border-color:var(--line-2)}
.step-no{position:absolute;top:14px;right:20px;font:700 52px/1 var(--display);letter-spacing:-1px;color:var(--text);opacity:.06;pointer-events:none}
.step-emoji{width:48px;height:48px;border-radius:13px}
.step-card h3{font-family:var(--display);font-size:19px;margin:18px 0 8px;color:var(--text)}
.step-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}
.nw-head h1{font-size:clamp(28px,3.6vw,44px);line-height:1.15;max-width:22ch}
@media (max-width:640px){.nw-head h1{font-size:26px}}

/* ===== Reports: inside every report ===== */
.rs-inside{background:var(--bg-2)}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}
.rs-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px 26px 22px;box-shadow:var(--shadow-sm)}
.rs-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.rs-tag{font:700 11px var(--display);letter-spacing:1.4px;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--blue-faint);color:var(--blue-deep)}
.rs-tag.gold{background:rgba(245,166,35,.12);color:#B7791F}
.rs-count{font:600 12px var(--mono);color:var(--muted)}
.rs-card h3{font-family:var(--display);font-size:20px;line-height:1.3;margin:0 0 8px;color:var(--text)}
.rs-card>p{margin:0 0 16px;color:var(--muted);font-size:14.5px;line-height:1.65}
.rs-ch{list-style:none;margin:0;padding:0;columns:2;column-gap:22px}
.rs-ch li{break-inside:avoid;display:flex;gap:10px;align-items:baseline;padding:7px 0;border-top:1px solid var(--line);font-size:14px;color:var(--text);line-height:1.4}
.rs-ch li span{font:600 11px var(--mono);color:var(--teal-deep);flex:0 0 auto}
@media (max-width:560px){.rs-ch{columns:1}}
.rs-ng{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 26px}
.rs-ng-head{max-width:640px;margin-bottom:16px}
.rs-ng-head h3{font-family:var(--display);font-size:19px;margin:0 0 6px;color:var(--text)}
.rs-ng-head p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.rs-ng-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.rs-ng-grid div{padding:14px 16px;border-radius:12px;background:rgba(245,166,35,.07);border:1px solid rgba(245,166,35,.25)}
.rs-ng-grid b{display:block;font-family:var(--display);font-size:15px;color:var(--text);margin-bottom:4px}
.rs-ng-grid span{font-size:13.5px;color:var(--muted);line-height:1.55}
.rs-foot{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;margin-top:22px}
.rs-foot p{margin:0;max-width:640px;color:var(--muted);font-size:14px;line-height:1.6}
.about-grid.about-grid-solo{grid-template-columns:1fr;max-width:820px}

/* =================================================================
   The STATART Blog (blog listing + article pages)
================================================================= */
.jr{--jr-serif:'Fraunces',Georgia,'Times New Roman',serif}
.jr-masthead{padding:150px 0 34px;background:radial-gradient(1200px 380px at 85% -10%,rgba(245,166,35,.10),transparent 60%),radial-gradient(900px 340px at 0% 0%,rgba(0,201,210,.08),transparent 60%),var(--bg)}
.jr-mast-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:10px}
.jr-mast-title{font-family:var(--jr-serif);font-weight:600;font-size:clamp(34px,5vw,60px);line-height:1.05;letter-spacing:-1px;color:var(--navy);margin:10px 0 16px;max-width:16ch}
.jr-mast-title em{font-style:italic;font-weight:500;color:var(--gold-deep)}
.jr-mast-kicker{color:var(--muted);font-size:18px;line-height:1.7;max-width:60ch;margin:0}
.jr-mast-mark{flex:0 0 auto;width:120px;opacity:.9}
.jr-mast-mark svg{width:100%;height:auto;display:block}
@media (max-width:760px){.jr-mast-mark{display:none}.jr-masthead{padding-top:100px}}
.jr-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.jr-filter[hidden]{display:none}
.jr-fbtn{font:600 13px var(--display);padding:8px 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--text);cursor:pointer;transition:all .15s}
.jr-fbtn:hover{border-color:var(--teal-deep)}
.jr-fbtn[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.jr-list-sec{padding-top:24px}
.jr-pill{display:inline-block;font:700 11px var(--display);letter-spacing:1.3px;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--blue-faint);color:var(--blue-deep)}
.jr-pill.gold{background:rgba(245,166,35,.14);color:#B7791F}
.jr-empty{text-align:center;color:var(--muted);padding:60px 20px;border:1px dashed var(--line-2);border-radius:18px}

/* covers */
.jr-cover-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:linear-gradient(135deg,#0A1F3F 0%,#132B4F 55%,#1a3a66 100%);color:rgba(255,255,255,.85);overflow:hidden}
.jr-cover-fallback::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px}
.jr-cover-fallback svg{position:relative;width:64px;height:auto}
.jr-cover-fallback span{position:relative;font:700 11px var(--display);letter-spacing:2px;text-transform:uppercase}

/* featured + cards */
.jr-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:0;border-radius:24px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease;margin-bottom:34px}
.jr-feature:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(10,31,63,.12)}
.jr-feature-img{position:relative;min-height:340px;background:var(--bg-2)}
.jr-feature-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.jr-feature:hover .jr-feature-img img{transform:scale(1.04)}
.jr-feature-body{padding:38px 38px 34px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.jr-feature-body h2{font-family:var(--jr-serif);font-weight:600;font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-.4px;color:var(--text);margin:0}
.jr-feature-body p{color:var(--muted);font-size:16.5px;line-height:1.7;margin:0}
.jr-read{font:700 13px var(--display);letter-spacing:1px;text-transform:uppercase;color:var(--teal-deep);margin-top:6px}
.jr-card-meta{font:500 12.5px var(--mono);color:var(--muted)}
@media (max-width:860px){.jr-feature{grid-template-columns:1fr}.jr-feature-img{min-height:230px}.jr-feature-body{padding:26px 24px}}
.jr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.jr-card{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}
.jr-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,31,63,.10)}
.jr-card-img{position:relative;aspect-ratio:16/10;background:var(--bg-2);overflow:hidden}
.jr-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.jr-card:hover .jr-card-img img{transform:scale(1.05)}
.jr-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px}
.jr-card-body h3{font-family:var(--jr-serif);font-weight:600;font-size:21px;line-height:1.25;color:var(--text);margin:0}
.jr-card-body p{color:var(--muted);font-size:14.5px;line-height:1.65;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* subscribe */
.jr-subscribe{padding-top:10px}
.jr-sub-box,.jr-cta{display:flex;flex-wrap:wrap;gap:22px 34px;align-items:center;justify-content:space-between;padding:34px 36px;border-radius:24px;
  background:linear-gradient(135deg,rgba(0,201,210,.08),rgba(245,166,35,.10)),var(--card);border:1px solid var(--line)}
.jr-sub-box h2,.jr-cta h2{font-family:var(--jr-serif);font-weight:600;font-size:clamp(22px,2.4vw,30px);line-height:1.2;color:var(--text);margin:10px 0 8px}
.jr-sub-box p,.jr-cta p{color:var(--muted);margin:0;max-width:52ch;line-height:1.65}
.jr-cta-btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- article page ---------- */
.jr-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1200;pointer-events:none}
.jr-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));transform-origin:left;transform:scaleX(0)}
.jr-narrow{max-width:760px}
.jr-wide{max-width:1120px}
.jr-head{padding:150px 0 30px;background:radial-gradient(1000px 320px at 50% -20%,rgba(245,166,35,.09),transparent 60%),var(--bg)}
.jr-head .crumbs{margin-bottom:22px}
.jr-title{font-family:var(--jr-serif);font-weight:600;font-size:clamp(32px,4.6vw,54px);line-height:1.08;letter-spacing:-.8px;color:var(--navy);margin:16px 0 18px}
.jr-dek{font-size:clamp(18px,1.8vw,21px);line-height:1.6;color:var(--muted);margin:0 0 26px}
.jr-byline{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;padding-top:20px;border-top:1px solid var(--line)}
.jr-byline b{display:block;font:600 15px var(--display);color:var(--text)}
.jr-byline span{font:500 13px var(--mono);color:var(--muted)}
.jr-avatar{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.jr-avatar svg{width:26px;height:auto}
.jr-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}
.jr-share>span{font:700 11px var(--display);letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);margin-right:2px}
.jr-share a,.jr-share button{font:600 12.5px var(--display);padding:7px 13px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--text);text-decoration:none;cursor:pointer;transition:all .15s}
.jr-share a:hover,.jr-share button:hover{background:var(--navy);border-color:var(--navy);color:#fff}
@media (max-width:640px){.jr-share{margin-left:0}}
.jr-hero-fig{margin:6px 0 10px}
.jr-hero-fig img{width:100%;aspect-ratio:16/8.5;object-fit:cover;border-radius:22px;display:block;box-shadow:0 24px 60px rgba(10,31,63,.14)}
.jr-hero-fig figcaption,.jr-media figcaption{margin-top:12px;font-size:13.5px;color:var(--muted);text-align:center;font-style:italic}
.jr-hero-none{position:relative;aspect-ratio:16/6;border-radius:22px;overflow:hidden}
.jr-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:34px 0 6px}
.jr-figs div{padding:16px 18px;border-radius:14px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold)}
.jr-figs b{display:block;font:700 24px var(--mono);color:var(--navy);letter-spacing:-.5px}
.jr-figs span{font-size:13px;color:var(--muted);line-height:1.45}

.jr-body{padding:34px 0 10px;font-size:18.5px;line-height:1.82;color:var(--text)}
.jr-body>p{margin:0 0 1.35em}
.jr-body>p:first-of-type::first-letter{float:left;font-family:var(--jr-serif);font-weight:600;font-size:4.1em;line-height:.82;padding:.08em .12em 0 0;color:var(--gold-deep)}
.jr-body h2{font-family:var(--jr-serif);font-weight:600;font-size:clamp(25px,2.6vw,32px);line-height:1.2;letter-spacing:-.3px;color:var(--navy);margin:1.9em 0 .6em;position:relative;padding-top:18px}
.jr-body h2::before{content:"";position:absolute;top:0;left:0;width:42px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--teal),var(--gold))}
.jr-body h3{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.3;color:var(--text);margin:1.6em 0 .5em}
.jr-body h4{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:1.2px;text-transform:uppercase;color:var(--teal-deep);margin:1.6em 0 .4em}
.jr-body a{color:var(--teal-deep);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.jr-body a:hover{color:var(--blue-deep)}
.jr-body strong{color:var(--navy);font-weight:700}
.jr-body ul,.jr-body ol{margin:0 0 1.4em;padding-left:1.3em}
.jr-body li{margin:.45em 0;padding-left:.3em}
.jr-body ul li::marker{color:var(--gold)}
.jr-body ol li::marker{color:var(--teal-deep);font-family:var(--mono);font-weight:600}
.jr-body hr{border:0;margin:2.4em 0;text-align:center}
.jr-body hr::after{content:"\2022  \2022  \2022";letter-spacing:.4em;color:var(--gold);font-size:18px}
.jr-body code{font-family:var(--mono);font-size:.85em;background:var(--bg-2);padding:2px 6px;border-radius:6px}
.jr-body table{width:100%;border-collapse:collapse;margin:0 0 1.5em;font-size:15.5px}
.jr-body th,.jr-body td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.jr-body th{font-family:var(--display);background:var(--bg-2)}
.jr-body img{max-width:100%;height:auto;border-radius:14px}
.jr-quote{position:relative;margin:2em 0;padding:8px 0 8px 30px;border-left:3px solid var(--gold)}
.jr-quote p{font-family:var(--jr-serif);font-style:italic;font-weight:500;font-size:clamp(22px,2.4vw,28px);line-height:1.4;color:var(--navy);margin:0}
.jr-quote cite{display:block;margin-top:12px;font:600 13px var(--display);font-style:normal;letter-spacing:.6px;color:var(--muted)}
.jr-quote cite::before{content:"\2014\00a0";content:"";}
.jr-media{margin:2em 0}
.jr-media img{width:100%;display:block;border-radius:16px;box-shadow:0 14px 40px rgba(10,31,63,.10)}
.jr-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0A1F3F;box-shadow:0 14px 40px rgba(10,31,63,.14)}
.jr-frame iframe,.jr-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (min-width:1000px){.jr-media{margin-left:-60px;margin-right:-60px}}
.jr-linkcard{display:grid;grid-template-columns:1fr auto;grid-template-areas:"host go" "url go";gap:2px 16px;align-items:center;margin:1.6em 0;padding:16px 20px;border-radius:14px;border:1px solid var(--line);background:var(--card);text-decoration:none!important;transition:border-color .15s,transform .15s}
.jr-linkcard:hover{border-color:var(--teal-deep);transform:translateY(-2px)}
.jr-lc-host{grid-area:host;font:700 11px var(--display);letter-spacing:1.2px;text-transform:uppercase;color:var(--teal-deep)}
.jr-lc-url{grid-area:url;font-size:15px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jr-lc-go{grid-area:go;font-size:22px;color:var(--gold-deep)}
.jr-end{padding:18px 0 30px;border-top:1px solid var(--line);margin-top:20px}
.jr-end .jr-share{margin-left:0}
.jr-cta{margin:10px 0 70px}
.jr-more{background:var(--bg-2)}
.jr-more-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
:root[data-theme="dark"] .jr-title,:root[data-theme="dark"] .jr-mast-title,:root[data-theme="dark"] .jr-body h2,:root[data-theme="dark"] .jr-quote p,:root[data-theme="dark"] .jr-body strong,:root[data-theme="dark"] .jr-figs b{color:var(--text)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .jr-title,:root:not([data-theme="light"]) .jr-mast-title,:root:not([data-theme="light"]) .jr-body h2,:root:not([data-theme="light"]) .jr-quote p,:root:not([data-theme="light"]) .jr-body strong,:root:not([data-theme="light"]) .jr-figs b{color:var(--text)}}
@media (max-width:640px){.jr-body{font-size:17.5px}.jr-head{padding-top:100px}}

.jr-feature-body .jr-pill,.jr-card-body .jr-pill,.jr-head .jr-pill{align-self:flex-start}

/* ===== Site-wide polish (Oct 2026) ===== */
/* Inner page headers: soft brand glow instead of a flat white band */
.page-head{background:radial-gradient(900px 300px at 88% -20%,rgba(245,166,35,.12),transparent 62%),radial-gradient(800px 300px at -5% 0%,rgba(0,201,210,.09),transparent 60%),var(--card)}
.page-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--teal),var(--blue),var(--gold));opacity:.55}
/* Home blog block: branded cover when a post has no image */
.showcase-cover[data-no-img],.showcase-recent-thumb[data-no-img]{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 28'%3E%3Ccircle cx='4' cy='24' fill='%2300C9D2' r='3.2'/%3E%3Crect fill='%23E63946' height='19' rx='0.8' width='8' x='14' y='9'/%3E%3Crect fill='%23F5A623' height='28' rx='0.8' width='8' x='26' y='0'/%3E%3C/svg%3E") center/64px auto no-repeat,linear-gradient(135deg,#0A1F3F 0%,#132B4F 55%,#1a3a66 100%)}
.showcase-recent-thumb[data-no-img]{background-size:36px auto,auto}
.showcase-cover[data-no-img]::after,.showcase-recent-thumb[data-no-img]::after{content:none}

/* ===== Reports: featured reports ===== */
.fr-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-bottom:30px}
.fr-head>div:first-child{max-width:700px}
.fr-intro{color:var(--muted);font-size:17px;line-height:1.7;margin:14px 0 0}
.fr-tabs{display:flex;gap:8px;flex-wrap:wrap}
.fr-tab{font:600 13.5px var(--display);padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;transition:all .2s}
.fr-tab:hover{border-color:var(--teal-deep)}
.fr-tab[aria-pressed="true"]{background:#0A1F3F;border-color:#0A1F3F;color:#fff}
[data-theme="dark"] .fr-tab[aria-pressed="true"]{background:var(--teal-deep);border-color:var(--teal-deep)}
.fr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px}
.fr-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.fr-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md,0 14px 34px rgba(11,31,58,.12))}
.fr-card[hidden]{display:none}
.fr-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.fr-body h3{font-family:var(--display);font-size:18.5px;line-height:1.32;margin:0 0 6px;color:var(--text)}
.fr-sub{margin:0 0 12px;color:var(--teal-deep);font-size:13.5px;font-weight:600;line-height:1.5}
.fr-why{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.62}
.fr-why strong{color:var(--text)}
.fr-in{list-style:none;margin:0 0 14px;padding:0}
.fr-in li{position:relative;padding:6px 0 6px 20px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.45;color:var(--text)}
.fr-in li::before{content:"";position:absolute;left:2px;top:12px;width:8px;height:8px;border-radius:2px;background:#F5A623;transform:rotate(45deg)}
.fr-meta{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 16px}
.fr-meta span{font:600 11.5px var(--mono);color:var(--muted);padding:4px 9px;border-radius:6px;background:var(--bg-2);border:1px solid var(--line)}
.fr-actions{display:flex;gap:10px;flex-wrap:wrap}
.fr-actions .btn{flex:1 1 auto;justify-content:center;text-align:center;padding:11px 14px;font-size:14px}
.fr-note{margin:22px 0 0;color:var(--muted);font-size:13px;line-height:1.6;text-align:center}
@media (max-width:560px){.fr-grid{grid-template-columns:1fr}.fr-head{align-items:flex-start}}
.fr-head .section-title.rv::before{left:0;transform:none}
.fr-head .section-title{margin-bottom:22px}

/* ===== Book covers (Featured Reports and Business Plans) ===== */
.fr-kicker{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.fr-pill{font:700 10.5px var(--display);letter-spacing:1.3px;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--blue-faint);color:var(--blue-deep)}
.fr-pill.gold{background:rgba(245,166,35,.13);color:#B7791F}
.fr-sector{font:600 12px var(--mono);color:var(--muted)}
.bk-stage{--a:#00C9D2;position:relative;display:flex;justify-content:center;align-items:center;padding:30px 20px 34px;min-height:290px;overflow:hidden;
  background:radial-gradient(260px 200px at 50% 55%,color-mix(in srgb,var(--a) 22%,transparent),transparent 70%),
  radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--a) 28%,transparent) 1px,transparent 1.4px) 0 0/16px 16px,
  linear-gradient(180deg,color-mix(in srgb,var(--a) 7%,var(--bg-2)),var(--bg-2));border-bottom:1px solid var(--line)}
.bk{--c1:#0A1F3F;--c2:#173A6B;--ac:#00C9D2;position:relative;width:176px;aspect-ratio:3/4.1;border-radius:3px 8px 8px 3px;transform:perspective(900px) rotateY(-16deg) rotateX(3deg);transform-origin:left center;transition:transform .5s cubic-bezier(.2,.7,.2,1);
  box-shadow:1px 1px 0 rgba(255,255,255,.08) inset,18px 22px 34px -12px rgba(8,18,36,.55),4px 6px 10px rgba(8,18,36,.18)}
.bk::before{content:"";position:absolute;inset:0 auto 0 0;width:13px;border-radius:3px 0 0 3px;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(255,255,255,.14) 55%,rgba(0,0,0,.22))}
.bk::after{content:"";position:absolute;top:4px;bottom:4px;right:-6px;width:7px;border-radius:0 3px 3px 0;background:repeating-linear-gradient(180deg,#f4f1ea 0 1px,#dcd6c8 1px 2px);transform:translateZ(-1px);z-index:-1}
.fr-card:hover .bk{transform:perspective(900px) rotateY(-6deg) rotateX(1deg) translateY(-4px)}
.bk-face{position:absolute;inset:0;border-radius:inherit;overflow:hidden;color:#fff;padding:14px 14px 12px 22px;display:flex;flex-direction:column;
  background:radial-gradient(140px 120px at 100% 0%,color-mix(in srgb,var(--ac) 45%,transparent),transparent 70%),linear-gradient(160deg,var(--c1),var(--c2))}
.bk-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 32%),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}
.bk-top{display:flex;align-items:center;gap:5px;font:700 8.5px var(--display);letter-spacing:1.6px}
.bk-mark{width:15px;height:10px}
.bk-year{margin-left:auto;font:600 8.5px var(--mono);opacity:.75;letter-spacing:.5px}
.bk-kind{margin-top:16px;font:700 7.5px var(--display);letter-spacing:2.2px;text-transform:uppercase;color:var(--ac)}
.bk-title{margin-top:6px;font:600 16px/1.18 'Fraunces',Georgia,serif;letter-spacing:-.1px;text-wrap:balance;max-height:5.9em;overflow:hidden}
.bk-rule{width:28px;height:2px;margin:10px 0 7px;background:linear-gradient(90deg,var(--ac),#F5A623);border-radius:2px}
.bk-place{font:600 7.5px var(--display);letter-spacing:1.8px;text-transform:uppercase;opacity:.75}
.bk-art{position:absolute;right:-10px;bottom:22px;width:104px;height:104px;color:var(--ac);opacity:.55;stroke-width:1.4}
.bk-foot{margin-top:auto;position:relative;display:flex;justify-content:space-between;align-items:flex-end;padding-top:8px;border-top:1px solid rgba(255,255,255,.14);font:600 6.5px var(--display);letter-spacing:1.4px;text-transform:uppercase;opacity:.85}
.bk-bars{display:flex;align-items:flex-end;gap:2px}
.bk-bars i{display:block;width:3px;border-radius:1px}
.bk-bars i:nth-child(1){height:4px;background:#00C9D2}.bk-bars i:nth-child(2){height:7px;background:#E63946}.bk-bars i:nth-child(3){height:10px;background:#F5A623}
.bk-chip{position:absolute;right:18px;bottom:18px;z-index:3;max-width:150px;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);box-shadow:0 10px 24px -8px rgba(8,18,36,.28)}
.bk-chip b{display:block;font:700 19px/1.05 var(--display);color:var(--text);letter-spacing:-.3px}
.bk-chip span{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:var(--muted)}
.bk-teal{--c1:#04323B;--c2:#0B6470;--ac:#3FE0E8}.bk-stage-teal{--a:#00C9D2}
.bk-navy{--c1:#081A36;--c2:#1A3E74;--ac:#6FB6FF}.bk-stage-navy{--a:#3B82F6}
.bk-emerald{--c1:#062E22;--c2:#0F6247;--ac:#5FE3A8}.bk-stage-emerald{--a:#10B981}
.bk-plum{--c1:#1F1230;--c2:#4A2766;--ac:#D49BFF}.bk-stage-plum{--a:#A855F7}
.bk-copper{--c1:#2E150B;--c2:#7A3A1A;--ac:#FFB27A}.bk-stage-copper{--a:#EA7A3B}
.bk-slate{--c1:#151C27;--c2:#36465C;--ac:#A9C3E0}.bk-stage-slate{--a:#64748B}
.bk-gold{--c1:#2A1E05;--c2:#6E5010;--ac:#FFD36B}.bk-stage-gold{--a:#F5A623}
.bk-crimson{--c1:#2C0A12;--c2:#74202F;--ac:#FF8A9B}.bk-stage-crimson{--a:#E63946}
@media (max-width:560px){.bk{width:160px}.bk-chip{right:12px;bottom:12px;max-width:128px}.bk-chip b{font-size:17px}}
@media (prefers-reduced-motion:reduce){.bk{transition:none}}
.bk-stage:has(.bk-chip){padding-right:130px}
@media (max-width:560px){.bk-stage:has(.bk-chip){padding-right:100px}}

/* ===== Catalogue cards (compact) ===== */
.fr-mini .bk-stage{min-height:250px;padding-top:24px;padding-bottom:26px}
.fr-mini .bk{width:156px}
.fr-mini .bk-title{font-size:14.5px}
.fr-mini .fr-body h3{font-size:17px}
.fr-mini .fr-body h3 a{color:inherit;text-decoration:none}
.fr-mini .fr-body h3 a:hover{color:var(--teal-deep)}
.fr-cover-link{display:block;text-decoration:none}
.fr-mini .fr-sub,.fr-mini .fr-why{font-size:13.5px;margin-bottom:14px}
.fr-morewrap{text-align:center;margin-top:28px}
.fr-more[hidden]{display:none}

/* ===== Report / plan detail pages ===== */
.dt-hero{padding:130px 0 46px;background:radial-gradient(900px 360px at 85% -5%,rgba(245,166,35,.10),transparent 60%),radial-gradient(800px 320px at 0% 0%,rgba(0,201,210,.09),transparent 60%),var(--bg)}
.dt-grid{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:48px;align-items:center;margin-top:18px}
.dt-cover .bk-stage{border-radius:22px;border:1px solid var(--line);min-height:400px}
.dt-cover .bk{width:230px}
.dt-cover .bk-title{font-size:20px}
.dt-cover .bk-kind{font-size:8.5px}
.dt-cover .bk-art{width:130px;height:130px}
.dt-info h1{font-family:var(--display);font-size:clamp(28px,3.4vw,42px);line-height:1.15;letter-spacing:-.6px;margin:6px 0 12px;color:var(--text)}
.dt-sub{font-size:17px;color:var(--teal-deep);font-weight:600;margin:0 0 14px;line-height:1.5}
.dt-why{font-size:16px;line-height:1.7;color:var(--muted);margin:0 0 20px}
.dt-why strong{color:var(--text)}
.dt-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 24px}
.dt-facts div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.dt-facts dt{font:600 10.5px var(--display);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.dt-facts dd{margin:0;font:600 14px/1.35 var(--display);color:var(--text)}
.dt-actions{display:flex;gap:12px;flex-wrap:wrap}
.dt-body{padding:64px 0;background:var(--bg-2)}
.dt-cols{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
.dt-head{margin-bottom:24px}
.dt-head h2{font-family:var(--display);font-size:clamp(24px,2.6vw,32px);margin:6px 0 8px;color:var(--text)}
.dt-head p{color:var(--muted);margin:0;line-height:1.65;max-width:680px}
.dt-toc{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:none}
.dt-toc>li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 20px 14px;transition:border-color .2s}
.dt-toc>li:hover{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}
.dt-ch{display:flex;align-items:baseline;gap:14px}
.dt-no{font:700 13px var(--mono);color:var(--teal-deep);min-width:24px}
.dt-ch h3{font-family:var(--display);font-size:16.5px;margin:0;color:var(--text)}
.dt-toc ul{list-style:none;margin:8px 0 0 38px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px 22px}
.dt-toc ul li{position:relative;padding:4px 0 4px 14px;font-size:14px;line-height:1.45;color:var(--muted)}
.dt-toc ul li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:2px;background:#F5A623;transform:rotate(45deg)}
.dt-side{position:sticky;top:110px}
.dt-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.dt-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#00C9D2,#F5A623)}
.dt-card h3{font-family:var(--display);font-size:20px;margin:12px 0 8px;color:var(--text)}
.dt-card p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 16px}
.dt-card .btn{width:100%;justify-content:center;text-align:center}
.dt-card ul{list-style:none;margin:16px 0 0;padding:0}
.dt-card ul li{position:relative;padding:6px 0 6px 22px;font-size:13.5px;color:var(--text);border-top:1px solid var(--line)}
.dt-card ul li::before{content:"";position:absolute;left:3px;top:11px;width:9px;height:5px;border-left:2px solid var(--teal-deep);border-bottom:2px solid var(--teal-deep);transform:rotate(-45deg)}
.dt-cta{padding:0 0 64px;background:var(--bg-2)}
.dt-cta-box{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;padding:32px 36px;border-radius:20px;color:#fff;background:radial-gradient(500px 220px at 100% 0%,rgba(0,201,210,.3),transparent 65%),linear-gradient(135deg,#0A1F3F,#173A6B)}
.dt-cta-box h2{font-family:var(--display);font-size:26px;margin:0 0 6px;color:#fff}
.dt-cta-box p{margin:0;opacity:.85;max-width:560px;line-height:1.6;color:#fff}
.dt-more{padding:56px 0 72px}
.dt-more h2{font-family:var(--display);font-size:24px;margin:0 0 22px;color:var(--text)}
.dt-rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.dt-rel-card{display:block;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);text-decoration:none;transition:transform .25s}
.dt-rel-card:hover{transform:translateY(-3px)}
.dt-rel-card .bk-stage{min-height:210px;padding:20px}
.dt-rel-card .bk{width:122px}
.dt-rel-card .bk-title{font-size:11.5px}
.dt-rel-card .bk-art{width:70px;height:70px}
.dt-rel-card>span{display:block;padding:14px 16px;font:600 14.5px/1.4 var(--display);color:var(--text)}
@media (max-width:980px){.dt-grid,.dt-cols{grid-template-columns:1fr}.dt-side{position:static}.dt-facts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.dt-hero{padding-top:110px}.dt-cover .bk-stage{min-height:330px}.dt-cover .bk{width:190px}.dt-toc ul{margin-left:0}.dt-cta-box{padding:26px 22px}}

/* ===== Request a copy ===== */
.rq-hero{padding:130px 0 30px;background:radial-gradient(900px 360px at 85% -5%,rgba(245,166,35,.10),transparent 60%),radial-gradient(800px 320px at 0% 0%,rgba(0,201,210,.09),transparent 60%),var(--bg)}
.rq-hero h1{font-family:var(--display);font-size:clamp(28px,3.6vw,44px);line-height:1.15;margin:8px 0 12px;color:var(--text)}
.rq-lede{color:var(--muted);font-size:17px;line-height:1.7;max-width:680px;margin:0 0 26px}
.rq-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:900px}
.rq-switch button{text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;transition:all .2s;font:inherit;color:var(--text)}
.rq-switch button b{display:block;font:700 15.5px var(--display);margin-bottom:4px}
.rq-switch button span{font-size:13px;color:var(--muted);line-height:1.45}
.rq-switch button:hover{border-color:var(--teal-deep)}
.rq-switch button[aria-selected="true"]{border-color:var(--teal-deep);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 22%,transparent);background:color-mix(in srgb,var(--teal) 6%,var(--card))}
.rq-body{padding:30px 0 80px}
.rq-wrap{max-width:900px}
.rq-picked{display:flex;gap:14px;align-items:center;padding:16px 20px;border-radius:14px;margin-bottom:18px;background:var(--card);border:1px solid var(--line);border-left:4px solid #F5A623}
.rq-picked[hidden]{display:none}
.rq-picked b{display:block;font:600 16px/1.35 var(--display);color:var(--text)}
.rq-picked a{font-size:13px;color:var(--teal-deep);font-weight:600}
.rq-form{display:grid;gap:18px}
.rq-form[hidden],.rq-thanks[hidden],.rq-panel[hidden]{display:none}
.rq-form fieldset{margin:0;border:1px solid var(--line);border-radius:18px;padding:22px 24px 8px;background:var(--card)}
.rq-form legend{display:flex;align-items:center;gap:10px;padding:0 8px;font:700 15px var(--display);color:var(--text)}
.rq-form legend span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#00C9D2,#0099A8);color:#fff;font-size:13px}
.rq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.rq-form .field{margin-bottom:16px}
.rq-form .field.rq-full{grid-column:1/-1}
.rq-form label{display:block;font:600 13.5px var(--display);color:var(--text);margin-bottom:7px}
.rq-form input[type=text],.rq-form input[type=email],.rq-form input[type=tel],.rq-form select,.rq-form textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:14.5px var(--body);transition:border-color .2s,box-shadow .2s}
.rq-form input:focus,.rq-form select:focus,.rq-form textarea:focus{outline:none;border-color:var(--teal-deep);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 20%,transparent)}
.rq-checks{display:flex;flex-wrap:wrap;gap:8px}
.rq-chk{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;font:500 13.5px var(--body)!important;color:var(--text);background:var(--bg);transition:all .15s}
.rq-chk input{accent-color:#0099A8;margin:0}
.rq-chk:has(input:checked){border-color:var(--teal-deep);background:color-mix(in srgb,var(--teal) 10%,var(--bg))}
.rq-submit{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.rq-submit p{margin:0;color:var(--muted);font-size:13px;max-width:440px;line-height:1.55}
.rq-thanks{text-align:center;padding:44px 28px;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.rq-tick{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#00C9D2,#0099A8)}
.rq-thanks h3{font-family:var(--display);font-size:24px;margin:0 0 8px;color:var(--text)}
.rq-thanks p{color:var(--muted);max-width:520px;margin:0 auto 20px;line-height:1.6}
@media (max-width:720px){.rq-switch{grid-template-columns:1fr}.rq-grid{grid-template-columns:1fr}.rq-form fieldset{padding:18px 16px 4px}}
.fr-grid:has(.fr-mini){grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.dt-rel-card .bk-place{display:none}
.dt-rel-card .bk-title{max-height:4.8em}
.rq-form .field label.rq-chk{text-transform:none;letter-spacing:normal;justify-content:flex-start;white-space:nowrap;width:auto;font-weight:500!important;font-size:13.5px!important}
.rq-form .field label.rq-chk span{text-transform:none;letter-spacing:normal}
@media (max-width:560px){.rq-form .field label.rq-chk{white-space:normal}}

/* ===== Catalogue tiles (Reports page) ===== */
.ct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ct-tile{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.ct-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -16px rgba(8,18,36,.3)}
.ct-books{position:relative;height:250px;overflow:hidden;background:radial-gradient(280px 200px at 50% 60%,rgba(0,201,210,.18),transparent 70%),radial-gradient(circle at 1px 1px,rgba(0,153,168,.22) 1px,transparent 1.4px) 0 0/16px 16px,var(--bg-2);border-bottom:1px solid var(--line)}
.ct-industry .ct-books{background:radial-gradient(280px 200px at 50% 60%,rgba(245,166,35,.2),transparent 70%),radial-gradient(circle at 1px 1px,rgba(245,166,35,.25) 1px,transparent 1.4px) 0 0/16px 16px,var(--bg-2)}
.ct-plan .ct-books{background:radial-gradient(280px 200px at 50% 60%,rgba(16,185,129,.18),transparent 70%),radial-gradient(circle at 1px 1px,rgba(16,185,129,.22) 1px,transparent 1.4px) 0 0/16px 16px,var(--bg-2)}
.ct-book{position:absolute;top:34px;left:50%;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.ct-book .bk{width:132px;transform:none}
.ct-book .bk-title{font-size:12.5px}.ct-book .bk-art{width:76px;height:76px}.ct-book .bk-place{display:none}
.ct-b0{transform:translateX(-50%) translateX(-78px) rotate(-9deg);z-index:1}
.ct-b1{transform:translateX(-50%) translateY(-6px);z-index:3}
.ct-b2{transform:translateX(-50%) translateX(78px) rotate(9deg);z-index:2}
.ct-tile:hover .ct-b0{transform:translateX(-50%) translateX(-96px) rotate(-13deg)}
.ct-tile:hover .ct-b1{transform:translateX(-50%) translateY(-14px)}
.ct-tile:hover .ct-b2{transform:translateX(-50%) translateX(96px) rotate(13deg)}
.ct-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.ct-count{align-self:flex-start;font:700 11px var(--mono);letter-spacing:.6px;text-transform:uppercase;color:var(--teal-deep);padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--teal) 10%,transparent)}
.ct-body h3{font-family:var(--display);font-size:24px;margin:12px 0 8px;color:var(--text)}
.ct-body p{color:var(--muted);font-size:14.5px;line-height:1.65;margin:0 0 16px}
.ct-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.ct-tags span{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--bg-2)}
.ct-open{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:999px;background:linear-gradient(135deg,#2563EB,#1D4ED8);color:#fff;font:700 14px var(--display);letter-spacing:.3px;transition:gap .2s}
.ct-tile:hover .ct-open{gap:14px}
@media (max-width:980px){.ct-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}}

/* ===== Catalogue pages ===== */
.cg-hero{padding:130px 0 28px;background:radial-gradient(900px 360px at 85% -5%,rgba(245,166,35,.10),transparent 60%),radial-gradient(800px 320px at 0% 0%,rgba(0,201,210,.09),transparent 60%),var(--bg)}
.cg-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap;margin-top:14px}
.cg-top h1{font-family:var(--display);font-size:clamp(32px,4vw,50px);line-height:1.1;margin:8px 0 12px;color:var(--text);letter-spacing:-.8px}
.cg-lede{color:var(--muted);font-size:17px;line-height:1.7;max-width:640px;margin:0}
.cg-stat{padding:18px 24px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-align:center;min-width:170px}
.cg-stat b{display:block;font:800 44px/1 var(--display);background:linear-gradient(135deg,#00C9D2,#F5A623);-webkit-background-clip:text;background-clip:text;color:transparent}
.cg-stat span{font-size:13px;color:var(--muted)}
.cg-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px;padding:6px;border-radius:999px;background:var(--card);border:1px solid var(--line);width:fit-content;max-width:100%}
.cg-switch a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font:600 14px var(--display);color:var(--text);text-decoration:none}
.cg-switch a span{font:600 11.5px var(--mono);padding:2px 8px;border-radius:999px;background:var(--bg-2);color:var(--muted)}
.cg-switch a[aria-current="page"]{background:#0A1F3F;color:#fff}
.cg-switch a[aria-current="page"] span{background:rgba(255,255,255,.15);color:#fff}
[data-theme="dark"] .cg-switch a[aria-current="page"]{background:var(--teal-deep)}
.cg-body{padding:26px 0 80px;background:var(--bg-2)}
.cg-tools{display:grid;gap:14px;margin-bottom:10px}
.cg-search{display:flex;align-items:center;gap:10px;padding:0 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--card);color:var(--muted);max-width:640px}
.cg-search:focus-within{border-color:var(--teal-deep);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 20%,transparent)}
.cg-search input{flex:1;border:0;background:transparent;padding:14px 0;font:15px var(--body);color:var(--text);outline:none}
.cg-chips{display:flex;flex-wrap:wrap;gap:8px}
.cg-chips .fr-tab{padding:7px 14px;font-size:13px}
.cg-count{font:600 12.5px var(--mono);color:var(--muted);margin:6px 0 16px}
.cg-empty{text-align:center;padding:40px 20px;border:1px dashed var(--line);border-radius:18px;background:var(--card)}
.cg-empty[hidden]{display:none}
.cg-empty h3{font-family:var(--display);margin:0 0 6px;color:var(--text)}
.cg-empty p{color:var(--muted);margin:0}
.cg-cta{margin-top:40px}
@media (max-width:640px){.cg-switch{border-radius:16px}.cg-stat{min-width:0;width:100%}}
.cg-search input[type=search]{border:0!important;box-shadow:none!important;border-radius:0;padding-left:0;background:transparent!important}

/* =================================================================
   Report and plan covers v2: flat, photo-led, one family per type
================================================================= */
.bk.cv{transform:none!important;border-radius:4px;aspect-ratio:3/4;container-type:inline-size;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 22px 40px -18px rgba(8,18,36,.55),0 3px 8px rgba(8,18,36,.18);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.bk.cv::before,.bk.cv::after{display:none}
.fr-card:hover .bk.cv,.ct-tile:hover .ct-b1 .bk.cv,.dt-rel-card:hover .bk.cv{transform:translateY(-4px)!important;box-shadow:0 30px 50px -18px rgba(8,18,36,.6),0 4px 10px rgba(8,18,36,.2)}
.cv-face{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:var(--c1);color:#fff;font-family:var(--display)}
.cv-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cv-nophoto{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--c1),var(--c2));color:var(--ac)}
.cv-nophoto svg{width:46%;height:46%;opacity:.7}
.cv-logo{display:inline-flex;align-items:center;gap:1.6cqw;padding:1.6cqw 3.4cqw;border-radius:999px;background:#fff;color:#0A1F3F;box-shadow:0 1cqw 3cqw rgba(0,0,0,.18)}
.cv-logo b{font:800 3.6cqw/1 var(--display);letter-spacing:.5cqw}
.cv-mark{width:5.6cqw;height:3.6cqw}
.cv-kicker{font:700 3.3cqw/1.3 var(--display);letter-spacing:.2cqw;opacity:.95}
.cv-title{font:800 8.6cqw/1.04 var(--display);letter-spacing:-.25cqw;text-wrap:balance}
.cv-hook{font:500 3.5cqw/1.35 var(--body);opacity:.86;text-wrap:pretty}
.cv-foot{position:absolute;left:8cqw;right:8cqw;bottom:6cqw;display:flex;justify-content:space-between;align-items:flex-end;gap:4cqw;font:600 2.7cqw/1.35 var(--display);opacity:.9}
/* themes: saturated sweep colour per palette */
.bk-teal{--sw:#0E8C96}.bk-navy{--sw:#1D4ED8}.bk-emerald{--sw:#0F8A5F}.bk-plum{--sw:#7C3AED}.bk-copper{--sw:#D9622B}.bk-slate{--sw:#475569}.bk-gold{--sw:#C98A12}.bk-crimson{--sw:#E04E4E}

/* Industry Report */
.cv-ind .cv-face{background:#0B1A30}
.cv-ind .cv-band{position:absolute;left:0;right:0;top:0;height:50%}
.cv-ind .cv-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,26,48,.15) 0%,rgba(11,26,48,.35) 55%,#0B1A30 100%)}
.cv-ind .cv-top{position:absolute;left:8cqw;right:8cqw;top:7cqw;display:flex;justify-content:space-between;align-items:center;z-index:2}
.cv-ed{font:700 3cqw var(--mono);padding:1.2cqw 2.6cqw;border-radius:999px;background:rgba(11,26,48,.55);backdrop-filter:blur(4px)}
.cv-ind .cv-text{position:absolute;left:8cqw;right:8cqw;top:40%;display:grid;gap:2.6cqw;z-index:2}
.cv-ind .cv-kicker{color:var(--ac)}
.cv-ind .cv-in{white-space:nowrap}
.cv-rings{position:absolute;left:-6cqw;right:-6cqw;bottom:17cqw;display:flex;justify-content:space-between}
.cv-rings i{width:13cqw;height:13cqw;border-radius:50%;border:2.2cqw solid var(--sw);opacity:.95}
.cv-rings i:nth-child(2),.cv-rings i:nth-child(4){border-color:#F5A623;transform:translateY(-4cqw)}
.cv-rings i:nth-child(3){border-color:#E63946}
.cv-ind .cv-foot{border-top:1px solid rgba(255,255,255,.14);padding-top:2.6cqw}

/* Market Report */
.cv-mkt .cv-photo{filter:saturate(1.05)}
.cv-mkt .cv-sweep{position:absolute;inset:0;background:linear-gradient(165deg,var(--sw) 0%,color-mix(in srgb,var(--sw) 78%,#000) 100%);clip-path:polygon(0 0,38% 0,100% 64%,100% 100%,0 100%)}
.cv-mkt .cv-sweep::after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(255,255,255,.12),transparent 40%)}
.cv-arch{position:absolute;left:8cqw;top:0;width:36cqw;height:30cqw;border-radius:0 0 18cqw 18cqw;background:#fff;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6cqw}
.cv-arch .cv-logo{box-shadow:none;padding:0;flex-direction:column;gap:1.2cqw}
.cv-arch .cv-mark{width:8cqw;height:5cqw}
.cv-mkt .cv-text{position:absolute;left:8cqw;right:8cqw;bottom:7cqw;display:grid;gap:1.8cqw}
.cv-mkt .cv-title{font-size:9.4cqw}
.cv-sub{font:300 6.4cqw/1.1 var(--display);letter-spacing:-.1cqw}
.cv-mkt .cv-hook{font-size:3.2cqw;margin-top:1cqw;max-width:88%}
.cv-date{margin-top:2.4cqw;font:800 3.4cqw var(--display);letter-spacing:.9cqw;text-transform:uppercase}

/* Business Plan */
.cv-plan .cv-face{background:#060D1C}
.cv-plan .cv-photo{left:auto;right:0;width:78%}
.cv-plan .cv-fade{position:absolute;inset:0;background:linear-gradient(90deg,#060D1C 30%,rgba(6,13,28,.86) 48%,rgba(6,13,28,.25) 78%,rgba(6,13,28,.05) 100%),linear-gradient(0deg,rgba(6,13,28,.85),transparent 40%)}
.cv-plan .cv-top{position:absolute;left:8cqw;top:7cqw}
.cv-plan .cv-text{position:absolute;left:8cqw;right:20cqw;top:30%;display:grid;gap:3cqw}
.cv-plan .cv-kicker{color:var(--ac)}
.cv-plan .cv-title{font-weight:300;font-size:9cqw;letter-spacing:-.2cqw;line-height:1.08}
.cv-plan .cv-foot{opacity:1}
.cv-plan .cv-foot span:first-child{font-size:3.3cqw;font-weight:700}
.cv-bars{display:flex;align-items:flex-end;gap:1cqw}
.cv-bars i{display:block;width:2cqw;border-radius:.4cqw}
.cv-bars i:nth-child(1){height:2.6cqw;background:#00C9D2}.cv-bars i:nth-child(2){height:4.6cqw;background:#E63946}.cv-bars i:nth-child(3){height:6.6cqw;background:#F5A623}

/* sizes in each context */
.bk-stage .bk.cv{width:200px}
.fr-mini .bk.cv{width:196px}
.dt-cover .bk.cv{width:290px}
.ct-book .bk.cv{width:150px}
.dt-rel-card .bk.cv{width:150px}
.dt-rel-card .cv-hook,.ct-book .cv-hook{display:none}
.bk-stage:has(.bk-chip){padding-right:120px}
.fr-mini .bk-stage{min-height:300px}
.dt-cover .bk-stage{min-height:460px}
.ct-books{height:270px}
.ct-book{top:30px}
@media (max-width:560px){.fr-mini .bk.cv{width:180px}.dt-cover .bk.cv{width:230px}.dt-cover .bk-stage{min-height:380px}.bk-stage:has(.bk-chip){padding-right:96px}}
@container (max-width:240px){.cv-hook{display:none}.cv-foot{font-size:3cqw}}
.fr-statline{display:flex;align-items:baseline;gap:8px;margin:0 0 10px;font-size:13px;color:var(--muted)}
.fr-statline b{font:700 15px var(--display);color:var(--teal-deep);white-space:nowrap}
.fr-mini .bk-stage{padding-right:20px!important}
.dt-cover .bk-stage{justify-content:flex-start;padding-left:36px}
.dt-cover .bk.cv{width:250px}
.dt-cover .bk-chip{max-width:140px}
@media (max-width:560px){.dt-cover .bk-stage{padding-left:20px}.dt-cover .bk.cv{width:210px}}

/* ===== Home: latest paid surveys ===== */
.surveys-promo.sp2{text-align:left;position:relative;overflow:hidden;background:radial-gradient(700px 360px at 92% 10%,rgba(0,201,210,.12),transparent 60%),radial-gradient(600px 320px at 0% 100%,rgba(245,166,35,.10),transparent 60%),linear-gradient(135deg,var(--blue-faint) 0%,var(--card) 100%)}
.sp-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.sp2 .sp-intro p{margin:0 0 20px;max-width:540px}
.sp2 h2{max-width:16ch}
.sp-perks{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.sp-perks li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--text)}
.sp-perks li span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--card);border:1px solid var(--line);font-size:17px;box-shadow:var(--shadow-sm)}
.sp-ctas{display:flex;flex-wrap:wrap;gap:12px}
.sp-join{display:inline-flex;align-items:center;gap:10px}
.sp-join svg{background:#fff;border-radius:50%;padding:2px;width:22px;height:22px}
.sp-note{margin:12px 0 0!important;font-size:13px!important;color:var(--muted)}
.sp-board{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px 20px 16px;box-shadow:0 24px 50px -24px rgba(10,31,63,.28);position:relative}
.sp-board::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,#00C9D2,#2563EB,#F5A623)}
.sp-board-head{display:flex;align-items:center;justify-content:space-between;margin:4px 4px 14px}
.sp-board-title{font:700 15px var(--display);color:var(--text)}
.sp-live{display:inline-flex;align-items:center;gap:8px;font:700 11px var(--display);letter-spacing:1.2px;text-transform:uppercase;color:#E63946;padding:5px 11px;border-radius:999px;background:rgba(230,57,70,.08)}
.sp-live i{width:7px;height:7px;border-radius:50%;background:#E63946;box-shadow:0 0 0 0 rgba(230,57,70,.6);animation:spPulse 1.6s infinite}
@keyframes spPulse{0%{box-shadow:0 0 0 0 rgba(230,57,70,.55)}70%{box-shadow:0 0 0 8px rgba(230,57,70,0)}100%{box-shadow:0 0 0 0 rgba(230,57,70,0)}}
.sp-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sp-item{opacity:0;transform:translateY(8px);animation:spIn .5s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i) * 80ms)}
@keyframes spIn{to{opacity:1;transform:none}}
.sp-item a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);text-decoration:none;color:inherit;transition:transform .2s,border-color .2s,box-shadow .2s}
.sp-item a:hover{transform:translateX(4px);border-color:color-mix(in srgb,var(--teal) 50%,var(--line));box-shadow:0 10px 24px -14px rgba(10,31,63,.35)}
.sp-new a{border-color:color-mix(in srgb,#F5A623 55%,var(--line));background:linear-gradient(90deg,rgba(245,166,35,.08),var(--bg) 60%)}
.sp-emoji{flex:0 0 auto;width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:23px;background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 14%,var(--card)),var(--card));border:1px solid var(--line)}
.sp-body{flex:1;min-width:0;display:grid;gap:5px}
.sp-title{font:600 15px/1.3 var(--display);color:var(--text)}
.sp-badge{font:700 9.5px var(--display);font-style:normal;letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#F5A623;color:#2A1E05;vertical-align:2px;margin-left:4px}
.sp-meta{display:flex;flex-wrap:wrap;gap:6px}
.sp-meta span{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);color:var(--muted)}
.sp-meta .sp-bonus{background:rgba(245,166,35,.12);border-color:rgba(245,166,35,.35);color:#B7791F}
.sp-pts{flex:0 0 auto;text-align:right;line-height:1}
.sp-pts b{display:block;font:800 19px var(--display);color:var(--teal-deep)}
.sp-pts small{font-size:11px;color:var(--muted)}
.sp-skel{height:72px;border-radius:14px;background:linear-gradient(90deg,var(--bg-2),var(--bg),var(--bg-2));background-size:200% 100%;animation:spSk 1.2s infinite linear}
@keyframes spSk{to{background-position:-200% 0}}
.sp-empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}
.sp-all{display:block;text-align:center;margin-top:14px;font:700 13.5px var(--display);color:var(--blue-deep);text-decoration:none}
.sp-all:hover{text-decoration:underline}
@media (max-width:980px){.sp-grid{grid-template-columns:1fr;gap:32px}.sp2 h2{max-width:none}}
@media (max-width:560px){.sp-item a{padding:10px 12px;gap:10px}.sp-emoji{width:40px;height:40px;font-size:20px}.sp-pts b{font-size:16px}.sp-ctas .btn{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.sp-item{animation:none;opacity:1;transform:none}.sp-live i,.sp-skel{animation:none}}
.sp2 h2{line-height:1.15;margin-bottom:16px}
.sp-board::before{inset:-1px -1px auto -1px}
/* survey icons: gold tiles with line icons (site icon style) */
.sp-ico{flex:0 0 auto;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(245,166,35,.10);border:1px solid rgba(245,166,35,.32);color:#B7791F}
.sp-new .sp-ico{background:rgba(245,166,35,.18)}
.sp-perks li span{background:rgba(245,166,35,.10);border-color:rgba(245,166,35,.32);color:#B7791F;box-shadow:none}
[data-theme="dark"] .sp-ico,[data-theme="dark"] .sp-perks li span{color:#F5B547}
@media (max-width:560px){.sp-ico{width:40px;height:40px}}

/* ===== Reports page refresh ===== */
.rp-head{background:radial-gradient(900px 380px at 88% -10%,rgba(245,166,35,.12),transparent 60%),radial-gradient(800px 340px at 0% 0%,rgba(0,201,210,.10),transparent 60%),var(--bg)}
.rp-stats{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:900px}
.rp-stats li{padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.rp-stats b{display:block;font:800 24px/1.1 var(--display);color:var(--text);letter-spacing:-.3px}
.rp-stats span{display:block;margin-top:4px;font-size:12.5px;color:var(--muted);line-height:1.4}
.rp-ico{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:rgba(245,166,35,.10);border:1px solid rgba(245,166,35,.32);color:#B7791F;margin-bottom:16px}
[data-theme="dark"] .rp-ico{color:#F5B547}
.rp-card{position:relative;display:flex;flex-direction:column}
.rp-card h3{margin-top:0}
.rp-card>.btn{margin-top:auto;align-self:flex-start}
.rp-list{list-style:none;margin:14px 0 20px;padding:0;display:grid;grid-template-columns:1fr;gap:2px}
.rp-list li{position:relative;padding:6px 0 6px 22px;font-size:14px;line-height:1.5;color:var(--text);border-top:1px dashed var(--line)}
.rp-list li:first-child{border-top:0}
.rp-list li::before{content:"";position:absolute;left:2px;top:12px;width:9px;height:5px;border-left:2px solid var(--teal-deep);border-bottom:2px solid var(--teal-deep);transform:rotate(-45deg)}
.rp-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:1000px;margin:0 auto}
.rp-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:500;background:var(--bg);color:var(--text);transition:all .2s}
.rp-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:#F5A623}
.rp-chip:hover{border-color:var(--teal-deep);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.rp-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.rp-type{display:flex;flex-direction:column;padding:20px 20px 18px;border-radius:16px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}
.rp-type::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#00C9D2,#F5A623);opacity:.0;transition:opacity .25s}
.rp-type:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--teal) 45%,var(--line));box-shadow:0 14px 30px -18px rgba(10,31,63,.35)}
.rp-type:hover::before{opacity:1}
.rp-type h3{font-family:var(--display);font-size:17px;margin:0 0 6px;color:var(--text)}
.rp-type p{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--muted)}
.rp-go{margin-top:auto;font:700 13px var(--display);color:var(--blue-deep)}
.rp-why{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.rp-why-item{padding:22px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}
.rp-why-item h3{font-family:var(--display);font-size:17px;margin:10px 0 6px;color:var(--text)}
.rp-why-item p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.rp-num{font:800 13px var(--mono);color:#B7791F;padding:4px 9px;border-radius:999px;background:rgba(245,166,35,.12)}
@media (max-width:760px){.rp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-stats b{font-size:20px}}
@media (min-width:1000px){.rp-types{grid-template-columns:repeat(5,minmax(0,1fr))}.rp-why{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-why-item:last-child:nth-child(3n+1){grid-column:1/-1}}
.cv-rings{display:none}

/* Business Plan covers v3: light editorial page, distinct from the dark report covers */
.cv-plan .cv-face{background:#FBF8F2;color:#0A1F3F}
.cv-plan .cv-stripe{position:absolute;left:0;top:0;bottom:0;width:4.5cqw;background:var(--sw)}
.cv-plan .cv-top{position:absolute;left:10cqw;right:7cqw;top:7cqw;display:flex;justify-content:space-between;align-items:center}
.cv-plan .cv-logo{box-shadow:0 0 0 1px rgba(10,31,63,.08)}
.cv-tag{font:800 2.8cqw var(--display);letter-spacing:.5cqw;text-transform:uppercase;color:var(--sw);border:1.5px solid var(--sw);border-radius:999px;padding:1.2cqw 2.6cqw}
.cv-plan .cv-text{position:absolute;left:10cqw;right:7cqw;top:20cqw;display:grid;gap:2.2cqw}
.cv-plan .cv-kicker{color:color-mix(in srgb,var(--sw) 80%,#000);font-size:3cqw}
.cv-plan .cv-title{font-weight:800;font-size:8.4cqw;letter-spacing:-.25cqw;line-height:1.05;color:#0A1F3F}
.cv-plan .cv-hook{color:#475569;opacity:1;font-size:3.3cqw}
.cv-plan .cv-frame{position:absolute;left:10cqw;right:7cqw;bottom:15cqw;height:38%;border-radius:3cqw;overflow:hidden;box-shadow:0 2cqw 5cqw rgba(10,31,63,.18)}
.cv-plan .cv-frame .cv-photo{position:absolute;inset:0;width:100%;height:100%;right:auto;left:0}
.cv-plan .cv-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 .8cqw rgba(255,255,255,.55)}
.cv-plan .cv-fade{display:none}
.cv-plan .cv-foot{left:10cqw;right:7cqw;bottom:6cqw;color:#0A1F3F;opacity:1;border-top:1px solid rgba(10,31,63,.12);padding-top:2.4cqw}
.cv-plan .cv-foot span:first-child{font-size:2.9cqw;font-weight:700}
@container (max-width:240px){.cv-plan .cv-frame{height:42%}}
.legal-toc{border:1px solid var(--line,rgba(0,0,0,.12));border-radius:14px;padding:18px 22px;margin:0 0 30px;background:var(--surface,transparent)}
.legal-toc b{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.legal-toc ol{margin:0;padding-left:0;list-style:none;columns:2;column-gap:28px;font-size:.92rem;line-height:1.7}
.legal-toc a{text-decoration:none}
.legal-body ul{margin:0 0 14px;padding-left:22px;line-height:1.75;color:var(--muted);font-size:15.5px}
.legal-body li{margin-bottom:4px}
.legal-body h3{scroll-margin-top:90px}
@media (max-width:640px){.legal-toc ol{columns:1}}
.dir-tools .dir-go{height:44px;padding:0 22px;align-self:end;white-space:nowrap}
.dir-verified[hidden]{display:none}
.dir-ask{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:18px;padding:22px 24px;border:1px solid var(--line-2);border-left:4px solid var(--gold);border-radius:14px;background:var(--card);box-shadow:0 10px 30px -18px rgba(10,30,60,.35);animation:dirAskIn .35s ease}
.dir-ask[hidden]{display:none}
.dir-ask-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(245,166,35,.12);color:var(--gold)}
.dir-ask-text b{display:block;font-family:var(--display);font-size:18px;color:var(--navy);margin-bottom:4px}
.dir-ask-text p{margin:0 0 8px;color:var(--muted);font-size:14.5px;line-height:1.65}
.dir-ask-pts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:12.5px;color:var(--text)}
.dir-ask-pts li::before{content:"\2713";color:var(--teal,#14b8a6);font-weight:700;margin-right:6px}
.dir-ask-go{white-space:nowrap}
@keyframes dirAskIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:820px){.dir-tools .dir-go{grid-column:1/-1;width:100%}.dir-ask{grid-template-columns:1fr;gap:12px;padding:18px}.dir-ask-go{width:100%;text-align:center}}
.prod-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}
.prod-tags span{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--blue-soft,rgba(37,99,235,.08));color:var(--blue-deep,#1d4ed8)}
#platforms .service-card .btn{margin-top:auto;align-self:flex-start}
@media (min-width:980px){#platforms .services-grid,#services .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mk-desk{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(10,31,63,.08);color:var(--navy,#0A1F3F)}
.mk-desk-markets{background:rgba(29,78,216,.10);color:#1D4ED8}
.mk-desk-insights{background:rgba(245,166,35,.14);color:#B7791F}
.mk-desk-lifestyle{background:rgba(230,57,70,.10);color:#C2303D}
[data-theme="dark"] .mk-desk-markets{color:#8FB0FF}[data-theme="dark"] .mk-desk-insights{color:#F5B547}[data-theme="dark"] .mk-desk-lifestyle{color:#FF8A94}
.nw-fbtn small{opacity:.6;font-weight:600;margin-left:4px}
.mk-desk-note{margin:-6px 0 18px;color:var(--muted);font-size:14px;line-height:1.6;max-width:760px}
.mk-desk-note[hidden]{display:none}
.mk-meta{flex-wrap:wrap;row-gap:6px}
.mk-a-body a{color:var(--blue-deep,#1d4ed8);text-decoration:underline;text-underline-offset:2px}
.mk-fig-img{margin:26px 0}
.mk-fig-img img{display:block;width:100%;height:auto;border-radius:12px}
.mk-fig-img figcaption{margin-top:8px;font-size:13.5px;color:var(--muted);line-height:1.5}
/* Careers */
.cr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cr-roles{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
@media (min-width:1000px){.cr-roles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.rp-why.cr-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.rp-why.cr-steps .rp-why-item:last-child{grid-column:auto}}
@media (min-width:640px) and (max-width:999px){.rp-why.cr-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-why.cr-steps .rp-why-item:last-child{grid-column:auto}}
.cr-include{max-width:520px;margin:0 auto 26px;text-align:left}
.cr-mail{margin:18px 0 0;font-size:14px;color:var(--muted);line-height:1.6}
.cr-mail a{color:var(--gold);word-break:break-all}
.cr-note{margin:14px auto 0;max-width:600px;font-size:13.5px;color:var(--muted);line-height:1.6}

/* Product call-to-action cards in Blog posts and Market News ([[cta:key]] markers) */
.st-cta{margin:2.2em 0;padding:22px 24px 24px;border-radius:16px;background:linear-gradient(135deg,#0A1F3F 0%,#12305e 100%);color:#E8EEF8;border-left:4px solid var(--gold,#F5A623);box-shadow:0 14px 34px -18px rgba(10,31,63,.55)}
.st-cta-eyebrow{font:700 11px/1.2 var(--display,Arial,sans-serif);letter-spacing:1.6px;text-transform:uppercase;color:var(--gold,#F5A623);margin-bottom:8px}
.st-cta .st-cta-title{font:800 clamp(19px,2vw,23px)/1.3 var(--display,Arial,sans-serif);color:#fff;margin:0 0 8px}
.st-cta .st-cta-copy{font-size:16px;line-height:1.6;color:#CBD5E1;margin:0 0 16px}
.st-cta .st-cta-btn{display:inline-block;padding:11px 20px;border-radius:999px;background:var(--gold,#F5A623);color:#0A1F3F;font:700 14px var(--display,Arial,sans-serif);text-decoration:none}
.st-cta .st-cta-btn:hover{filter:brightness(1.06);text-decoration:none}
.mk-a-body .st-cta p:first-child::first-letter{font:inherit;float:none;margin:0;color:inherit}
/* Publications page: jump tabs between Market Outlook and Whitepapers */
.pub-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pub-tab{display:inline-block;padding:9px 18px;border-radius:999px;border:1.5px solid var(--gold,#F5A623);font:700 14px var(--display,Arial,sans-serif);color:inherit;text-decoration:none}
.pub-tab:hover{background:var(--gold,#F5A623);color:#0A1F3F;text-decoration:none}
#market-economics-outlook,#whitepapers{scroll-margin-top:90px}

/* =================================================================
   Publications: hub, Market Outlook and White Papers (pb- prefix).
   Shared covers, sample-intro decks, coverage matrices and request
   forms. Slides stay dark in both themes, like a printed deck.
================================================================= */
.pb-hero{position:relative;padding:126px 0 60px;color:#E6EDF7;overflow:hidden;
  background:radial-gradient(900px 420px at 92% -12%,rgba(245,166,35,.16),transparent 60%),radial-gradient(760px 380px at -6% 8%,rgba(0,201,210,.13),transparent 60%),linear-gradient(180deg,#06122A 0%,#0A1F3F 100%)}
.pb-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse at 72% 28%,#000 25%,transparent 72%);mask-image:radial-gradient(ellipse at 72% 28%,#000 25%,transparent 72%)}
.pb-hero .container{position:relative}
.pb-hero .crumbs,.pb-hero .crumbs a,.pb-hero .crumbs .sep{color:#8FA3C0}
.pb-hero .crumbs a:hover{color:#fff}
.pb-eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 11.5px var(--mono);letter-spacing:2.4px;text-transform:uppercase;color:#2BD9E1;margin:18px 0 14px}
.pb-eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.pb-hero h1{font:700 clamp(34px,5vw,58px)/1.06 var(--display);letter-spacing:-1.2px;color:#fff;margin:0 0 18px;max-width:17ch}
.pb-hero h1 em{font-style:normal;background:linear-gradient(90deg,#F5A623,#FFD36B);-webkit-background-clip:text;background-clip:text;color:transparent}
.pb-lede{font-size:18px;line-height:1.7;color:#B8C6DA;max-width:62ch;margin:0 0 26px}
.pb-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.pb-rules{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.pb-rules li{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.04);font:500 13px var(--display);color:#D5DEEC}
.pb-rules li::before{content:"";width:7px;height:7px;border-radius:2px;background:#F5A623;transform:rotate(45deg)}
.pb-hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.35)}
.pb-hero .btn-outline:hover{background:rgba(255,255,255,.08);border-color:#fff}
@media (max-width:980px){.pb-hero-grid{grid-template-columns:1fr}.pb-hero{padding-bottom:44px}}

/* ---------- Typographic cover ---------- */
.pb-cv{--c1:#081A36;--c2:#1A3E74;--ac:#6FB6FF;position:relative;width:200px;aspect-ratio:3/4.15;border-radius:3px 9px 9px 3px;overflow:hidden;color:#fff;text-align:left;
  background:radial-gradient(120% 70% at 100% 0%,color-mix(in srgb,var(--ac) 32%,transparent),transparent 60%),linear-gradient(160deg,var(--c1),var(--c2));
  box-shadow:inset 6px 0 0 rgba(0,0,0,.28),inset 7px 0 0 rgba(255,255,255,.08),0 22px 44px rgba(3,10,25,.45),0 4px 10px rgba(3,10,25,.3);display:flex;flex-direction:column;padding:15px 14px 12px 20px}
.pb-cv::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.14) 0%,transparent 28%,transparent 70%,rgba(0,0,0,.18) 100%);pointer-events:none}
.pb-cv-top{display:flex;justify-content:space-between;align-items:center;font:700 8.5px var(--display);letter-spacing:1.6px;text-transform:uppercase;opacity:.9}
.pb-cv-top b{display:inline-flex;align-items:center;gap:5px}
.pb-cv-top svg{width:15px;height:10px}
.pb-cv-kick{margin-top:auto;font:600 7.5px var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--ac)}
.pb-cv-title{font:700 17px/1.12 var(--display);letter-spacing:-.2px;margin:6px 0 4px}
.pb-cv-sub{font-size:8.5px;line-height:1.4;opacity:.75}
.pb-cv-line{position:absolute;left:20px;right:14px;top:30%;height:30%;opacity:.85}
.pb-cv-line path{fill:none;stroke:var(--ac);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pb-cv-line .area{fill:color-mix(in srgb,var(--ac) 18%,transparent);stroke:none}
.pb-cv-line .grid{stroke:rgba(255,255,255,.12);stroke-width:.6}
.pb-cv-foot{margin-top:10px;padding-top:7px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;font:500 7px var(--display);letter-spacing:.6px;opacity:.75}
.pb-cv.t-navy{--c1:#081A36;--c2:#1A3E74;--ac:#6FB6FF}.pb-cv.t-teal{--c1:#04323B;--c2:#0B6470;--ac:#3FE0E8}
.pb-cv.t-gold{--c1:#2A1E05;--c2:#6E5010;--ac:#FFD36B}.pb-cv.t-emerald{--c1:#062E22;--c2:#0F6247;--ac:#5FE3A8}
.pb-cv.t-plum{--c1:#1F1230;--c2:#4A2766;--ac:#D49BFF}.pb-cv.t-copper{--c1:#2E150B;--c2:#7A3A1A;--ac:#FFB27A}
.pb-cv.t-crimson{--c1:#2C0A12;--c2:#74202F;--ac:#FF8A9B}.pb-cv.t-slate{--c1:#151C27;--c2:#36465C;--ac:#A9C3E0}
.pb-cv.sm{width:120px;padding:10px 9px 8px 13px}.pb-cv.sm .pb-cv-title{font-size:10.5px}.pb-cv.sm .pb-cv-sub,.pb-cv.sm .pb-cv-foot{display:none}.pb-cv.sm .pb-cv-top{font-size:6px}.pb-cv.sm .pb-cv-kick{font-size:5.5px}.pb-cv.sm .pb-cv-line{left:13px;right:9px}
.pb-cv.lg{width:250px;padding:20px 18px 14px 26px}.pb-cv.lg .pb-cv-title{font-size:22px}.pb-cv.lg .pb-cv-sub{font-size:10px}.pb-cv.lg .pb-cv-top{font-size:10px}.pb-cv.lg .pb-cv-kick{font-size:9px}.pb-cv.lg .pb-cv-foot{font-size:8.5px}.pb-cv.lg .pb-cv-line{left:26px;right:18px}
.pb-tilt{transform:perspective(1000px) rotateY(-14deg) rotateX(3deg);transform-origin:left center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pb-tilt:hover{transform:perspective(1000px) rotateY(-4deg) rotateX(1deg) translateY(-4px)}
@media (prefers-reduced-motion:reduce){.pb-tilt{transition:none}}

/* Fanned stack of covers */
.pb-fan{position:relative;height:330px;display:flex;justify-content:center;align-items:center}
.pb-fan .pb-cv{position:absolute;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pb-fan .pb-cv:nth-child(1){transform:translateX(-120px) rotate(-11deg) scale(.86)}
.pb-fan .pb-cv:nth-child(2){transform:translateX(120px) rotate(10deg) scale(.86)}
.pb-fan .pb-cv:nth-child(3){transform:translateY(-6px);z-index:2}
.pb-fan:hover .pb-cv:nth-child(1){transform:translateX(-150px) rotate(-14deg) scale(.86)}
.pb-fan:hover .pb-cv:nth-child(2){transform:translateX(150px) rotate(13deg) scale(.86)}
@media (max-width:560px){.pb-fan{height:270px}.pb-fan .pb-cv{width:160px}.pb-fan .pb-cv:nth-child(1){transform:translateX(-80px) rotate(-10deg) scale(.82)}.pb-fan .pb-cv:nth-child(2){transform:translateX(80px) rotate(10deg) scale(.82)}}

/* ---------- Hub: series doors ---------- */
.pb-doors{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:-34px;position:relative;z-index:2}
.pb-door{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;padding:28px;border-radius:22px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-lg);text-decoration:none;color:var(--text);transition:transform .3s,border-color .3s}
.pb-door:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--teal) 50%,var(--line))}
.pb-door-art{display:flex;justify-content:center}
.pb-door-art .pb-cv{width:136px}
.pb-door-art .pb-cv-top span,.pb-fan .pb-cv-top span{display:none}
.pb-door small{font:600 11px var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--teal-deep)}
.pb-door h2{font:700 26px/1.15 var(--display);margin:6px 0 8px;color:var(--text)}
.pb-door p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 14px}
.pb-door ul{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pb-door li{font:600 11.5px var(--display);padding:4px 10px;border-radius:999px;background:var(--tint-3);color:var(--text)}
.pb-door .pb-go{font:600 14px var(--display);color:var(--blue-deep);display:inline-flex;gap:8px;align-items:center}
.pb-door:hover .pb-go span{transform:translateX(4px)}
.pb-go span{transition:transform .2s}
@media (max-width:980px){.pb-doors{grid-template-columns:1fr}}
@media (max-width:560px){.pb-door{grid-template-columns:1fr;text-align:left}.pb-door-art{justify-content:flex-start}}

/* Section heads */
.pb-sec{padding:72px 0}
.pb-sec.alt{background:var(--bg-2)}
.pb-head{max-width:720px;margin:0 0 34px}
.pb-head.center{margin:0 auto 38px;text-align:center}
.pb-head h2{font:700 clamp(26px,3vw,36px)/1.15 var(--display);letter-spacing:-.5px;margin:6px 0 10px;color:var(--text)}
.pb-head p{color:var(--muted);font-size:16.5px;line-height:1.7;margin:0}

/* Compare table */
.pb-compare{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--card);font-size:14.5px}
.pb-compare th,.pb-compare td{padding:15px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.5}
.pb-compare thead th{font:700 12px var(--display);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);background:var(--tint-3)}
.pb-compare tbody th{font:600 15px var(--display);color:var(--text);white-space:nowrap}
.pb-compare tbody th a{color:inherit;text-decoration:none;border-bottom:2px solid color-mix(in srgb,var(--teal) 50%,transparent)}
.pb-compare td{color:var(--muted)}
.pb-compare tr:last-child>*{border-bottom:0}
.pb-compare tr.hl>*{background:color-mix(in srgb,var(--gold) 7%,var(--card))}
.pb-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pb-scroll .pb-compare{min-width:760px}

/* Release rhythm */
.pb-rhythm{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pb-beat{position:relative;padding:22px 20px;border-radius:18px;border:1px solid var(--line);background:var(--card)}
.pb-beat b{display:block;font:700 12px var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--teal-deep);margin-bottom:10px}
.pb-beat h3{font:700 17px/1.3 var(--display);margin:0 0 6px;color:var(--text)}
.pb-beat p{margin:0;font-size:14px;color:var(--muted);line-height:1.55}
.pb-beat .pb-pulse{display:flex;gap:4px;margin-top:14px}
.pb-beat .pb-pulse i{flex:1;height:6px;border-radius:3px;background:var(--tint-5)}
.pb-beat .pb-pulse i.on{background:linear-gradient(90deg,#00C9D2,#F5A623)}
@media (max-width:980px){.pb-rhythm{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pb-rhythm{grid-template-columns:1fr}}

/* Citation standard strip */
.pb-cite{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--card)}
.pb-cite div{padding:22px 20px;border-right:1px solid var(--line)}
.pb-cite div:last-child{border-right:0}
.pb-cite b{display:block;font:700 26px var(--mono);color:var(--gold-deep);margin-bottom:6px}
.pb-cite h3{font:700 16px var(--display);margin:0 0 4px;color:var(--text)}
.pb-cite p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}
@media (max-width:860px){.pb-cite{grid-template-columns:1fr 1fr}.pb-cite div:nth-child(2){border-right:0}.pb-cite div:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* ---------- Outlook switcher ---------- */
.pb-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.pb-switch button{all:unset;cursor:pointer;box-sizing:border-box;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);transition:background .2s,border-color .2s,transform .2s}
.pb-switch button:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.pb-switch button[aria-selected="true"]{background:#fff;border-color:#fff}
.pb-switch small{display:block;font:600 10.5px var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:#2BD9E1;margin-bottom:6px}
.pb-switch b{display:block;font:700 16px/1.25 var(--display);color:#fff}
.pb-switch span{display:block;font-size:12.5px;line-height:1.45;color:#9AABC4;margin-top:4px}
.pb-switch button[aria-selected="true"] small{color:#0099A8}
.pb-switch button[aria-selected="true"] b{color:#0A1F3F}
.pb-switch button[aria-selected="true"] span{color:#475569}
.pb-switch button:focus-visible{outline:2px solid #2BD9E1;outline-offset:3px}
@media (max-width:980px){.pb-switch{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pb-switch{grid-template-columns:1fr}}
.pb-ol[hidden]{display:none}
.pb-ol-top{padding:56px 0 20px}
.pb-ol-stage{display:flex;justify-content:center;align-items:center;min-height:400px;border-radius:22px;border:1px solid var(--line);background:radial-gradient(420px 260px at 50% 40%,color-mix(in srgb,var(--teal) 14%,transparent),transparent 70%),var(--bg-2)}

/* ---------- Sample-intro deck ---------- */
.pb-deck{margin-top:8px}
.pb-deck-bar{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-bottom:14px}
.pb-deck-tabs{display:flex;flex-wrap:wrap;gap:6px}
.pb-deck-tabs button{all:unset;cursor:pointer;font:600 12.5px var(--display);padding:7px 13px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--card)}
.pb-deck-tabs button[aria-selected="true"]{background:var(--navy-surface);border-color:var(--navy-surface);color:#fff}
.pb-deck-tabs button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.pb-deck-nav{display:flex;align-items:center;gap:10px;font:600 13px var(--mono);color:var(--muted)}
.pb-deck-nav button{all:unset;cursor:pointer;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--text)}
.pb-deck-nav button:hover{border-color:var(--teal)}
.pb-deck-nav button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.pb-view{overflow:hidden;border-radius:18px;box-shadow:0 30px 60px rgba(3,10,25,.28);touch-action:pan-y}
.pb-track{display:flex;align-items:flex-start;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.pb-view{transition:height .35s ease}
@media (prefers-reduced-motion:reduce){.pb-track{transition:none}}
.pb-slide{flex:0 0 100%;position:relative;aspect-ratio:16/9;container-type:inline-size;overflow:hidden;color:#E6EDF7;
  background:radial-gradient(70% 90% at 100% 0%,rgba(37,99,235,.22),transparent 60%),radial-gradient(60% 70% at 0% 100%,rgba(0,201,210,.12),transparent 60%),#040D1F}
.pb-slide-in{position:absolute;inset:0;padding:5.2cqw 6cqw 4cqw;display:flex;flex-direction:column}
.pb-logo{position:absolute;top:2.6cqw;right:2.8cqw;display:inline-flex;align-items:center;gap:.7cqw;padding:.7cqw 1.4cqw;border-radius:999px;background:#fff;box-shadow:0 0 0 .35cqw rgba(255,255,255,.25);font:800 1.5cqw var(--display);letter-spacing:.2cqw;color:#0A1F3F;z-index:3}
.pb-logo svg{width:2.4cqw;height:1.55cqw}
.pb-slide h3{font:300 4.4cqw/1.1 var(--display);letter-spacing:-.08cqw;margin:0 0 3cqw;color:#fff}
.pb-slide h3 b{font-weight:700}
.pb-foot{position:absolute;left:6cqw;right:6cqw;bottom:2.4cqw;display:flex;justify-content:space-between;font:500 1.15cqw var(--mono);letter-spacing:.1cqw;color:#7F93B2}
/* cover slide */
.pb-s-cover .pb-slide-in{justify-content:center;max-width:58%}
.pb-s-cover .pb-k{font:600 1.4cqw var(--mono);letter-spacing:.35cqw;text-transform:uppercase;color:#2BD9E1;margin-bottom:2cqw}
.pb-s-cover h3{font:300 6.2cqw/1.02 var(--display);margin:0 0 2.4cqw}
.pb-s-cover h3 b{display:block;font-weight:700}
.pb-s-cover p{font:300 2.3cqw/1.35 var(--display);color:#C9D6EA;margin:0}
.pb-s-cover .pb-ed{position:absolute;left:6cqw;bottom:4cqw;font:400 1.8cqw var(--display);color:#fff}
.pb-art{position:absolute;right:0;top:0;bottom:0;width:46%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 35%);mask-image:linear-gradient(90deg,transparent 0%,#000 35%)}
.pb-art svg{width:100%;height:100%}
/* overview slide */
.pb-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw;flex:1;min-height:0}
.pb-cols>div{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:1cqw;padding:2cqw 1.8cqw}
.pb-cols h4{font:400 2.5cqw var(--display);margin:0 0 1.4cqw;color:#fff}
.pb-cols ul{list-style:none;margin:0;padding:0}
.pb-cols li{position:relative;padding:.55cqw 0 .55cqw 1.6cqw;font:400 1.55cqw/1.35 var(--body);color:#D5DEEC}
.pb-cols li::before{content:"";position:absolute;left:0;top:1.25cqw;width:.6cqw;height:.6cqw;border-radius:50%;background:#2BD9E1}
.pb-note{margin-top:1.4cqw;font:400 1.15cqw var(--body);color:#7F93B2;text-align:right}
/* matrix slide */
.pb-mx{width:100%;border-collapse:collapse;font-family:var(--body)}
.pb-mx th{font:500 1.35cqw var(--display);color:#6E8BC0;padding:0 .6cqw 1cqw;text-align:center;white-space:nowrap}
.pb-mx th:first-child,.pb-mx th:last-child{text-align:left}
.pb-mx td{padding:0;height:3.05cqw;font-size:1.55cqw;color:#E6EDF7;border-bottom:1px dashed rgba(111,182,255,.18);white-space:nowrap}
.pb-mx td:first-child{padding-right:1.5cqw}
.pb-mx td:last-child{padding-left:1.5cqw;color:#C9D6EA;font-size:1.4cqw}
.pb-mx td.c{position:relative;width:7.5cqw;text-align:center}
.pb-mx td.c.on::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:.28cqw;transform:translateX(-50%);background:linear-gradient(#2F6DF0,#1D8BFF)}
.pb-mx td.c.on.first::before{top:50%}
.pb-mx td.c.on.end::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-10%);border-left:.75cqw solid transparent;border-right:.75cqw solid transparent;border-top:1cqw solid #1D8BFF}
.pb-mx td.c.on.end::before{bottom:50%}
.pb-mx td.c.on.first.end::before{display:none}
.pb-mx td.c.half::after{content:"";position:absolute;left:50%;top:50%;width:1.1cqw;height:1.1cqw;border-radius:50%;transform:translate(-50%,-50%);border:.22cqw solid #F5A623;background:linear-gradient(90deg,#F5A623 50%,transparent 50%)}
.pb-mx-key{position:absolute;right:6cqw;bottom:2.4cqw;text-align:right;font:400 1.1cqw/1.5 var(--body);color:#8FA3C0}
/* decisions slide */
.pb-s-dec{background:radial-gradient(60% 90% at 100% 50%,rgba(111,182,255,.35),transparent 70%),linear-gradient(110deg,#061430 30%,#1B3D78 100%)}
.pb-dec{list-style:none;margin:1cqw 0 0;padding:0;display:grid;gap:2.2cqw;position:relative;z-index:2}
.pb-dec li{position:relative;padding-left:2.4cqw;font:400 2.5cqw/1.25 var(--display);color:#fff}
.pb-dec li::before{content:"";position:absolute;left:0;top:1.05cqw;width:.75cqw;height:.75cqw;border-radius:50%;background:#fff}
.pb-arrows{position:absolute;inset:0;opacity:.55;z-index:1}
/* inside slide */
.pb-in{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;flex:1;min-height:0}
.pb-in ol{list-style:none;margin:0;padding:0;columns:1}
.pb-in li{display:flex;gap:1.2cqw;align-items:center;padding:.85cqw 0;border-bottom:1px solid rgba(255,255,255,.07);font:400 1.6cqw var(--body);color:#D5DEEC}
.pb-in li b{font:700 1.3cqw var(--mono);color:#2BD9E1;min-width:2.6cqw}
.pb-in li svg{margin-left:auto;width:1.4cqw;height:1.4cqw;opacity:.55;flex:0 0 auto}
.pb-blur{position:relative;border-radius:1.2cqw;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.pb-blur svg{width:100%;height:100%;filter:blur(.35cqw);opacity:.8}
.pb-blur span{position:absolute;inset:auto 1.6cqw 1.6cqw;padding:1.2cqw 1.4cqw;border-radius:.9cqw;background:rgba(4,13,31,.82);border:1px solid rgba(255,255,255,.14);font:600 1.45cqw/1.35 var(--display);color:#fff}
.pb-blur span small{display:block;font:400 1.15cqw var(--body);color:#9AABC4;margin-top:.3cqw}
.pb-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.pb-dots button{all:unset;cursor:pointer;width:9px;height:9px;border-radius:5px;background:var(--line-2);transition:width .25s,background .25s}
.pb-dots button[aria-current="true"]{width:26px;background:var(--teal-deep)}
.pb-disclaim{text-align:center;font-size:12.5px;color:var(--muted);margin:10px 0 0}
/* Phones: let slides grow taller so text stays readable */
@media (max-width:720px){
  .pb-slide{aspect-ratio:auto;min-height:440px;container-type:normal}
  .pb-slide-in{position:relative;padding:58px 20px 44px}
  .pb-logo{top:14px;right:14px;font-size:10px;padding:5px 10px;gap:5px}.pb-logo svg{width:16px;height:10px}
  .pb-slide h3{font-size:24px;margin-bottom:16px}
  .pb-foot{left:20px;right:20px;bottom:14px;font-size:9.5px}
  .pb-s-cover .pb-slide-in{max-width:none;justify-content:flex-end;min-height:440px}
  .pb-s-cover .pb-k{font-size:10px;letter-spacing:2px;margin-bottom:10px}
  .pb-s-cover h3{font-size:34px}
  .pb-s-cover p{font-size:15px}
  .pb-s-cover .pb-ed{position:static;margin:16px 0 0;font-size:13px}
  .pb-s-cover .pb-slide-in{justify-content:flex-end}
  .pb-art{width:100%;opacity:.4;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 70%);mask-image:linear-gradient(180deg,#000 0%,transparent 70%)}
  .pb-cols{grid-template-columns:1fr 1fr;gap:10px}
  .pb-cols>div{padding:12px}
  .pb-cols h4{font-size:15px;margin-bottom:6px}
  .pb-cols li{font-size:12px;padding:3px 0 3px 12px}.pb-cols li::before{top:9px;width:5px;height:5px}
  .pb-note{font-size:10px;margin-top:10px}
  .pb-mx th{font-size:9.5px;padding:0 2px 6px}
  .pb-mx td{height:26px;font-size:11.5px}
  .pb-mx td:last-child{display:none}.pb-mx th:last-child{display:none}
  .pb-mx td.c{width:34px}
  .pb-mx td.c.on::before{width:2px}
  .pb-mx td.c.on.end::after{border-left-width:5px;border-right-width:5px;border-top-width:7px}
  .pb-mx td.c.half::after{width:8px;height:8px;border-width:2px}
  .pb-mx-key{position:static;margin:0;padding:0 20px 18px;text-align:left;font-size:10px}
  .pb-dec{gap:14px}.pb-dec li{font-size:17px;padding-left:18px}.pb-dec li::before{top:8px;width:7px;height:7px}
  .pb-in{grid-template-columns:1fr;gap:14px}
  .pb-in li{font-size:12.5px;padding:6px 0;gap:8px}.pb-in li b{font-size:10.5px;min-width:20px}.pb-in li svg{width:12px;height:12px}
  .pb-blur{min-height:160px}.pb-blur span{font-size:12px;padding:8px 10px;inset:auto 10px 10px}.pb-blur span small{font-size:10px}
}
@media (max-width:420px){.pb-cols{grid-template-columns:1fr}}

/* ---------- Request form panel ---------- */
.pb-req{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
.pb-req-copy h2{font:700 clamp(26px,3vw,36px)/1.15 var(--display);margin:6px 0 12px;color:var(--text)}
.pb-req-copy>p{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 24px}
.pb-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:pbs}
.pb-steps li{counter-increment:pbs;display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start}
.pb-steps li::before{content:counter(pbs,decimal-leading-zero);font:700 13px var(--mono);color:#fff;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0A1F3F,#1D4ED8)}
.pb-steps b{display:block;font:600 15px var(--display);color:var(--text)}
.pb-steps span{font-size:14px;color:var(--muted);line-height:1.55}
.pb-req .rq-form fieldset{padding-bottom:4px}
.pb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.pb-chk{text-transform:none!important;letter-spacing:normal!important;justify-content:flex-start!important;display:flex!important;gap:10px;align-items:flex-start;font:500 13.5px/1.5 var(--body)!important;color:var(--muted)!important}
.pb-chk input{width:auto!important;flex:0 0 auto;margin:3px 0 0;accent-color:var(--teal-deep)}
.pb-chk span,.pb-chk{text-align:left}
.pb-thanks{padding:34px;border-radius:18px;border:1px solid color-mix(in srgb,var(--teal) 45%,var(--line));background:var(--card);text-align:center}
.pb-thanks[hidden]{display:none}
.pb-thanks h3{font:700 22px var(--display);margin:8px 0 6px;color:var(--text)}
.pb-thanks p{color:var(--muted);margin:0}
.pb-small{font-size:12.5px;color:var(--muted);line-height:1.6;margin:4px 0 0}
@media (max-width:980px){.pb-req{grid-template-columns:1fr}}
@media (max-width:560px){.pb-grid2{grid-template-columns:1fr}}

/* ---------- White papers ---------- */
.pb-feat{display:grid;grid-template-columns:auto 1fr 380px;gap:40px;align-items:start;padding:34px;border-radius:24px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-lg);margin-top:-40px;position:relative;z-index:2}
.pb-feat-cover{padding:8px 10px 0 0}
.pb-feat h2{font:700 clamp(24px,2.6vw,32px)/1.2 var(--display);letter-spacing:-.4px;margin:10px 0 12px;color:var(--text)}
.pb-feat .pb-abs{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 16px}
.pb-covers{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.pb-covers li{position:relative;padding-left:26px;font-size:15px;line-height:1.5;color:var(--text)}
.pb-covers li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2px solid var(--teal-deep);border-bottom:2px solid var(--teal-deep);transform:rotate(-45deg)}
.pb-meta{font:600 12.5px var(--display);color:var(--muted);letter-spacing:.2px}
.pb-status{display:inline-block;padding:4px 11px;border-radius:999px;font:700 10.5px var(--display);letter-spacing:1.3px;text-transform:uppercase}
.pb-status.prep{background:rgba(245,166,35,.15);color:#B7791F}
.pb-status.available{background:rgba(34,197,94,.14);color:#15803D}
:root[data-theme="dark"] .pb-status.prep{color:#F7B23B}:root[data-theme="dark"] .pb-status.available{color:#4ADE80}
.pb-theme{display:inline-block;margin-left:8px;font:600 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--teal-deep)}
.pb-feat-form{padding:22px;border-radius:18px;background:var(--bg-2);border:1px solid var(--line)}
.pb-feat-form h3{font:700 18px var(--display);margin:0 0 4px;color:var(--text)}
.pb-feat-form>p{font-size:13.5px;color:var(--muted);margin:0 0 14px;line-height:1.55}
.pb-feat-form .rq-form{gap:0}
.pb-feat-form .field{margin-bottom:12px}
@media (max-width:1180px){.pb-feat{grid-template-columns:auto 1fr}.pb-feat-form{grid-column:1/-1}}
@media (max-width:720px){.pb-feat{grid-template-columns:1fr;padding:22px}.pb-feat-cover{padding:0}}
.pb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.pb-chips button{all:unset;cursor:pointer;font:600 13px var(--display);padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted)}
.pb-chips button[aria-pressed="true"]{background:var(--navy-surface);border-color:var(--navy-surface);color:#fff}
.pb-chips button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.pb-lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px}
.pb-wp{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:22px;border-radius:20px;border:1px solid var(--line);background:var(--card);transition:transform .25s,border-color .25s}
.pb-wp:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}
.pb-wp[hidden]{display:none}
.pb-wp h3{font:700 17px/1.3 var(--display);margin:8px 0 8px;color:var(--text)}
.pb-wp p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 10px}
.pb-wp .pb-meta{display:block;margin-bottom:14px;font-size:12px}
.pb-wp-act{display:flex;flex-wrap:wrap;gap:8px}
.pb-wp-act .btn{padding:9px 16px;font-size:13px}
.pb-wp details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}
.pb-wp summary{cursor:pointer;font:600 13.5px var(--display);color:var(--blue-deep);list-style:none}
.pb-wp summary::-webkit-details-marker{display:none}
.pb-wp summary::after{content:" +";}
.pb-wp details[open] summary::after{content:" \2212"}
.pb-wp details h4{font:700 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.pb-wp details .pb-covers li{font-size:14px}
.pb-citebox{font:400 12.5px/1.55 var(--mono);color:var(--text);background:var(--tint-3);border-radius:10px;padding:10px 12px}
@media (max-width:420px){.pb-wp{grid-template-columns:1fr}.pb-lib{grid-template-columns:1fr}}
.pb-std{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pb-std div{padding:24px 22px;border-radius:18px;background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.pb-std div::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#00C9D2,#F5A623)}
.pb-std b{font:700 12px var(--mono);color:var(--teal-deep);letter-spacing:1.4px}
.pb-std h3{font:700 17px/1.3 var(--display);margin:10px 0 6px;color:var(--text)}
.pb-std p{margin:0;font-size:14px;color:var(--muted);line-height:1.6}
@media (max-width:980px){.pb-std{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pb-std{grid-template-columns:1fr}}
.pb-modal .modal-card{max-width:540px}
.pb-modal .rq-form{gap:0}
.pb-modal .field{margin-bottom:12px}
.pb-ol-h{font-family:var(--display);font-size:clamp(28px,3.4vw,42px);line-height:1.15;letter-spacing:-.6px;margin:6px 0 12px;color:var(--text)}
.fr-kicker .pb-status{margin-left:auto}
.pb-by{font-size:14px;color:var(--muted);margin:-6px 0 14px;line-height:1.55}
.pb-by b{color:var(--text);font-weight:600}
.pb-wp .pb-by{margin:0 0 8px;font-size:13px}
.pb-dates{font:600 12.5px var(--mono);color:var(--teal-deep);letter-spacing:.4px;margin:-4px 0 16px}

/* STATART charts ([[chart:...]] markers in blog and news bodies) */
.st-chart{margin:2em 0;padding:18px 18px 12px;border:1px solid #E2E8F0;border-radius:14px;background:#fff}
.st-chart-head{display:block;margin:0 0 8px}
.st-chart-head strong{display:block;font:800 17px/1.3 var(--display,Arial,sans-serif);color:#0A1F3F}
.st-chart-head span{display:block;font-size:13px;color:#64748B;margin-top:2px}
.st-chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#334155;margin:0 0 6px}
.st-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.st-chart-plot svg{display:block;width:100%;height:auto}
.st-chart-plot .st-c-lab{font:15px Arial,sans-serif;fill:#334155}
.st-chart-plot .st-c-val{font:700 15px Arial,sans-serif;fill:#0A1F3F}
.st-chart-src{font-size:12px;color:#64748B;margin:8px 0 4px}
.st-chart-data summary{font-size:12px;color:#1D4ED8;cursor:pointer}
.st-chart-data table{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}
.st-chart-data th,.st-chart-data td{text-align:left;padding:4px 6px;border-top:1px solid #E2E8F0}
@media (max-width:520px){.st-chart{padding:14px 10px 10px}.st-chart-plot .st-c-lab,.st-chart-plot .st-c-val{font-size:22px}}
