/* Sumit Brands — White Theme (Australian Flag Palette) */

/* ═══════════════════════════════════════════════════
   WHITE THEME — AUSTRALIAN FLAG PALETTE
   Federation Navy  #003087
   Australian Red   #CF142B
   White base       #FFFFFF
═══════════════════════════════════════════════════ */

/* ── PALETTE & GLOBAL ── */
:root {
  --bg: #FFFFFF;
  --bg-2: #F4F6FA;
  --panel: rgba(0,48,135,.04);
  --stroke: rgba(0,0,0,.09);
  --stroke-2: rgba(0,0,0,.16);
  --ink: #0A0A14;
  --mute: #5A6070;
  --mute-body: #3A3D4A;
  --acid: #003087;
  --coral: #CF142B;
  --indigo: #003087;
  --live: #22c55e;
}
html, body {
  background: #FFFFFF !important;
  background-image: none !important;
  color: #0A0A14 !important;
}
body::before { display: none !important; } /* kill dark noise overlay */

/* ── NAV: dark navy glass (matches homepage) ── */
.nav {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  display: block !important;
  pointer-events: auto !important;
}
.nav-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px 48px !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.1) !important;
  background: rgba(0,18,51,.88) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  gap: 48px !important;
  transition: background .3s, border-color .3s !important;
}
.nav-brand { margin-right: auto !important; }
.nav-links { gap: 6px !important; margin: 0 auto !important; }
.nav-live { margin-left: auto !important; }
@media (max-width: 960px) {
  .nav-inner { padding: 14px 24px !important; gap: 20px !important; }
}
.nav-brand .sb-word { color: #fff !important; }
.nav-links a { color: rgba(255,255,255,.75) !important; }
.nav-links a:hover { color: #fff !important; background: rgba(255,255,255,.08) !important; }
.nav-drop-trigger { color: rgba(255,255,255,.75) !important; }
.nav-live { color: rgba(255,255,255,.5) !important; }
.nav-cta {
  background: #CF142B !important;
  color: #fff !important;
  border-radius: 6px !important;
  border-radius: 999px !important;
  transition: background .25s, box-shadow .25s, transform .25s !important;
}
.nav-cta:hover {
  background: #E01835 !important;
  box-shadow: 0 6px 20px rgba(207,20,43,.45) !important;
  transform: translateY(-1px) !important;
}
/* Dropdown panels stay white for readability */
.nav-drop-panel {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  box-shadow: 0 32px 80px rgba(0,0,0,.22) !important;
}
.nav-drop-panel-inner { background: #fff !important; }
.nd-icon {
  background: rgba(0,48,135,.07) !important;
  border-color: rgba(0,48,135,.14) !important;
  color: #003087 !important;
}
.nav-drop-grid a:hover .nd-icon { background: rgba(0,48,135,.14) !important; border-color: rgba(0,48,135,.25) !important; }
.nd-name { color: #0A0A14 !important; }
.nd-tag { color: #5A6070 !important; }
.nav-drop-head { border-bottom: 1px solid rgba(0,0,0,.07) !important; }
.ndh-eyebrow, .ndh-meta { color: #5A6070 !important; }
.nav-drop-cta { background: #F4F6FA !important; border: 1px solid rgba(0,48,135,.1) !important; }
.ndc-eyebrow { color: #003087 !important; }
.ndc-title { color: #0A0A14 !important; }
.ndc-sub { color: #5A6070 !important; }
.nav-mobile { background: #001233 !important; border-top: 1px solid rgba(255,255,255,.1) !important; box-shadow: 0 8px 32px rgba(0,0,0,.3) !important; }
.nav-mobile a, .nav-mobile summary { color: rgba(255,255,255,.85) !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; }
.nav-burger span { background: #fff !important; }

/* ── HERO ── */
.hero {
  background: #FFFFFF !important;
  background-image: none !important;
}
/* Canvas: keep very subtle so it doesn't dominate white */
#hero-canvas {
  opacity: 0.12 !important;
}
/* Hero heading */
.hero-title { color: #0A0A14 !important; }
.hero-title .grad {
  background: linear-gradient(135deg, #003087 0%, #CF142B 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.hero-title .it { color: #CF142B !important; -webkit-text-fill-color: #CF142B !important; }
.hero-title .out {
  -webkit-text-stroke: 2px #003087 !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.hero-kicker { color: #5A6070 !important; }
.hero-kicker .dot { background: #003087 !important; }
.hero-sub { color: #5A6070 !important; }
.hero-sub b { color: #0A0A14 !important; }
/* Hero CTAs */
.btn-primary {
  background: #003087 !important;
  color: #fff !important;
  transition: background .22s, box-shadow .22s, transform .22s !important;
}
.btn-primary:hover {
  background: #CF142B !important;
  box-shadow: 0 12px 32px rgba(207,20,43,.3) !important;
  transform: translateY(-2px) !important;
}
.btn-ghost {
  color: #003087 !important;
  border-color: rgba(0,48,135,.3) !important;
  background: transparent !important;
  transition: background .2s, border-color .2s, color .2s !important;
}
.btn-ghost:hover {
  background: rgba(0,48,135,.06) !important;
  border-color: #003087 !important;
}
/* Live pulse widget */
.hero-pulse {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.10) !important;
  box-shadow: none !important;
}
.hp-head { border-bottom: 1px solid rgba(0,0,0,.07) !important; }
.hp-dot { background: #22c55e !important; box-shadow: 0 0 8px rgba(34,197,94,.5) !important; }
.hp-label { color: #5A6070 !important; }
.hp-time { color: #003087 !important; }
.hp-bars span { background: rgba(0,48,135,.07) !important; }
.hp-bars span:nth-child(odd) { background: rgba(0,48,135,.14) !important; }
.hp-feed { background: #EEF2FA !important; border: 1px solid rgba(0,48,135,.08) !important; }
.hp-feed-track span { color: #5A6070 !important; }
.hp-feed-track span i { color: #003087 !important; }
.hp-feed-track .sep { background: rgba(0,0,0,.12) !important; }
/* Chips */
.chip {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.10) !important;
  box-shadow: none !important;
}
.chip .label { color: #5A6070 !important; }
.chip .pip { background: #CF142B !important; }
.chip .val { color: #0A0A14 !important; }
.chip .val .grad {
  background: linear-gradient(135deg, #003087, #CF142B) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.chip .sub { color: #5A6070 !important; }
.chip-go { color: #003087 !important; border-top: 1px solid rgba(0,48,135,.10) !important; }
.chip:hover {
  background: #fff !important;
  border-color: rgba(0,48,135,.22) !important;
  box-shadow: 0 8px 32px rgba(0,48,135,.10) !important;
}
/* Stat strip */
.stat-strip {
  background: #003087 !important;
  border-top: none !important;
}
.stat-strip .n { color: #fff !important; }
.stat-strip .unit { color: #FFCB00 !important; }
.stat-strip .l { color: rgba(255,255,255,.55) !important; }

/* ── MARQUEE ── */
.marquee {
  background: #F4F6FA !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}
.marquee-track span { color: #5A6070 !important; font-weight: 600; }
.marquee-track .dot { background: rgba(0,48,135,.25) !important; }
.marquee-track .it { color: #003087 !important; }

/* ── SECTION BACKGROUNDS ── */
.block { background: #FFFFFF !important; }
.block:nth-child(even) { background: #F4F6FA !important; }

/* ── BLOCK HEADINGS ── */
.block-head .num { color: #003087 !important; }
.block-head h2 { color: #0A0A14 !important; }
.block-head h2 .grad {
  background: linear-gradient(135deg, #003087 0%, #CF142B 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.block-head h2 .it { color: #CF142B !important; -webkit-text-fill-color: #CF142B !important; }
.block-head .aside {
  color: #5A6070 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* ── SERVICES ── */
.svc {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.08) !important;
  color: #0A0A14 !important;
  transition: background .25s, border-color .25s, box-shadow .25s, transform .25s !important;
}
.svc:hover {
  background: #fff !important;
  border-color: rgba(0,48,135,.22) !important;
  box-shadow: 0 20px 56px rgba(0,48,135,.11) !important;
  transform: translateY(-4px) !important;
}
.svc .tag { color: #003087 !important; border-color: rgba(0,48,135,.15) !important; background: rgba(0,48,135,.06) !important; }
.svc h3 { color: #0A0A14 !important; }
.svc p {
  color: #5A6070 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}
.svc .icon { background: rgba(0,48,135,.08) !important; border-color: rgba(0,48,135,.12) !important; }
.svc .icon svg { stroke: #003087 !important; }
.svc-cta {
  color: #003087 !important;
  border: 1px solid rgba(0,48,135,.22) !important;
  background: transparent !important;
  transition: background .22s, color .22s, border-color .22s !important;
}
.svc-cta:hover, .svc:hover .svc-cta {
  background: #003087 !important;
  color: #fff !important;
  border-color: #003087 !important;
}
.svc-cta svg path { stroke: #003087 !important; }
.svc:hover .svc-cta svg path { stroke: #fff !important; }

/* ── ADVANTAGE / ABOUT ── */
.advantage .copy p {
  color: #3A3D4A !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}
.advantage .copy b { color: #0A0A14 !important; }
.adv-list li {
  border-color: rgba(0,48,135,.1) !important;
  background: #F4F6FA !important;
}
.adv-list li::before { background: #003087 !important; box-shadow: 0 0 10px rgba(0,48,135,.35) !important; }
.adv-list li span {
  color: #3A3D4A !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.metrics {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.1) !important;
}
.metrics .head { color: #5A6070 !important; border-bottom: 1px solid rgba(0,0,0,.08) !important; }
.metrics .n { color: #003087 !important; }
.metrics .l { color: #5A6070 !important; }
.metrics .unit { color: #CF142B !important; }
.metrics .live .d { background: #22c55e !important; }

/* ── PROCESS ── */
.process .step { background: #F4F6FA !important; border: 1px solid rgba(0,48,135,.08) !important; }
.step .n { color: #003087 !important; font-weight: 700; }
.step h4 { color: #0A0A14 !important; }
.step p {
  color: #5A6070 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* ── PORTFOLIO ── */
.pf-grid .pf-card { background: #F4F6FA !important; border: 1px solid rgba(0,48,135,.08) !important; }
.pf-grid .pf-card:hover { box-shadow: 0 20px 60px rgba(0,48,135,.12) !important; border-color: rgba(0,48,135,.18) !important; }
.pf-bar { background: #EEF2FA !important; border-bottom: 1px solid rgba(0,48,135,.08) !important; }
.pf-url { color: #5A6070 !important; font-size: 11px; }
.pf-bar i:nth-child(1) { background: #FF5F57 !important; }
.pf-bar i:nth-child(2) { background: #FFBD2E !important; }
.pf-bar i:nth-child(3) { background: #28C840 !important; }
.pf-placeholder { background: linear-gradient(135deg,#EEF2FA,#E4EAF7) !important; color: #8090AA !important; }
.pf-meta { background: #fff !important; border-top: 1px solid rgba(0,48,135,.07) !important; }
.pf-name { color: #0A0A14 !important; font-weight: 600; }
.pf-tag { border: 1px solid rgba(0,48,135,.12) !important; color: #003087 !important; background: rgba(0,48,135,.05) !important; }
.t-web { color: #003087 !important; background: rgba(0,48,135,.06) !important; border-color: rgba(0,48,135,.12) !important; }
.t-ecom { color: #CF142B !important; background: rgba(207,20,43,.05) !important; border-color: rgba(207,20,43,.12) !important; }
.t-seo { color: #003087 !important; background: rgba(0,48,135,.06) !important; border-color: rgba(0,48,135,.12) !important; }
.t-brand { color: #CF142B !important; background: rgba(207,20,43,.05) !important; border-color: rgba(207,20,43,.12) !important; }
.pf-foot { color: #5A6070 !important; }
.pf-foot a { color: #003087 !important; border-color: rgba(0,48,135,.25) !important; }
.pf-foot a:hover { color: #CF142B !important; border-color: #CF142B !important; }

/* ── CERTIFICATIONS ── */
.cert { background: #F4F6FA !important; border: 1px solid rgba(0,48,135,.08) !important; }
.cert .y { color: #5A6070 !important; }
.cert .t { color: #0A0A14 !important; }
.cert .k { color: #003087 !important; }

/* ── TESTIMONIALS ── */
.tst-wrap { background: #F4F6FA !important; }
.tst { background: #fff !important; border: 1px solid rgba(0,48,135,.08) !important; box-shadow: 0 2px 16px rgba(0,48,135,.06) !important; }
.tst .quote {
  color: #0A0A14 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-style: normal !important;
}
.tst .name { color: #0A0A14 !important; }
.tst .role { color: #5A6070 !important; }
.tst .ava { background: #003087 !important; color: #fff !important; }

/* ── CONTACT / LEAD FORM ── */
#contact.block { background: #EEF2FA !important; }
.form-block {
  background: #FFFFFF !important;
  border: 1px solid rgba(0,48,135,.10) !important;
  box-shadow: 0 8px 48px rgba(0,48,135,.08) !important;
}
.form-intro .mono { color: #003087 !important; }
.form-intro h3 { color: #0A0A14 !important; }
.form-intro h3 .it { color: #CF142B !important; }
.form-intro h3 .grad {
  background: linear-gradient(135deg,#003087,#CF142B) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.form-block label { color: #3A3D4A !important; }
.form-block .req { color: #CF142B !important; }
.form-block input,
.form-block textarea,
.form-block select {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.12) !important;
  color: #0A0A14 !important;
  border-radius: 10px !important;
}
.form-block input:focus,
.form-block textarea:focus {
  background: #fff !important;
  border-color: #003087 !important;
  box-shadow: 0 0 0 3px rgba(0,48,135,.1) !important;
}
.form-block input::placeholder,
.form-block textarea::placeholder { color: #9AA3B0 !important; }
.chip-toggle {
  background: #F4F6FA !important;
  border-color: rgba(0,48,135,.12) !important;
  color: #3A3D4A !important;
}
.chip-toggle:hover { background: rgba(0,48,135,.06) !important; border-color: rgba(0,48,135,.25) !important; color: #003087 !important; }
.chip-toggle.active, .chip-toggle[aria-pressed="true"] {
  background: #003087 !important;
  border-color: #003087 !important;
  color: #fff !important;
}
.chip-toggle.chip-ai.active, .chip-toggle.chip-ai[aria-pressed="true"] { background: #CF142B !important; border-color: #CF142B !important; }
.form-progress .seg { background: rgba(0,48,135,.12) !important; border-radius: 4px; }
.form-progress .seg.done, .form-progress .seg.active { background: #003087 !important; }
.form-step-label { color: #5A6070 !important; }
.form-step-label .current { color: #003087 !important; }
.form-btn-primary {
  background: #003087 !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(0,48,135,.2) !important;
  transition: background .25s, box-shadow .25s, transform .25s !important;
}
.form-btn-primary:hover {
  background: #CF142B !important;
  box-shadow: 0 12px 32px rgba(207,20,43,.3) !important;
  transform: translateY(-2px) !important;
}
.form-btn-ghost { background: transparent !important; color: #3A3D4A !important; border-color: rgba(0,0,0,.15) !important; }
.form-btn-ghost:hover { background: #F4F6FA !important; border-color: rgba(0,48,135,.2) !important; color: #003087 !important; }
.form-side .alt-block { background: #F4F6FA !important; border: 1px solid rgba(0,48,135,.1) !important; }
.alt-block .label { color: #003087 !important; }
.alt-block h5 { color: #0A0A14 !important; }
.alt-block p { color: #5A6070 !important; }
.alt-block a { color: #003087 !important; font-weight: 600; }
.alt-block a:hover { color: #CF142B !important; }
.form-side .trust { color: #5A6070 !important; }
.svc-cat-head { color: #5A6070 !important; border-bottom: 1px solid rgba(0,0,0,.07) !important; }
.field .error { color: #CF142B !important; }
.wa-big { background: #003087 !important; color: #fff !important; }
.wa-big:hover { background: #CF142B !important; }

/* ── FOOTER: navy ── */
footer, .foot { background: #003087 !important; }
.foot-grid h5 {
  color: rgba(255,255,255,.45) !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.foot-grid a { color: rgba(255,255,255,.65) !important; font-size: 14px !important; }
.foot-grid a:hover { color: #fff !important; }
.foot-brand .sb-word { color: #fff !important; }
.foot-brand .sb-it { color: rgba(255,255,255,.7) !important; }
.foot-contact { color: rgba(255,255,255,.55) !important; font-size: 14px !important; line-height: 1.8 !important; }
.foot-contact a { color: rgba(255,255,255,.8) !important; }
.foot-contact a:hover { color: #FFCB00 !important; }
.wa-link { color: rgba(255,255,255,.8) !important; }
.wa-link:hover { color: #FFCB00 !important; }
.foot-legal { color: rgba(255,255,255,.3) !important; font-size: 13px !important; }
.foot-legal a { color: rgba(255,255,255,.4) !important; }
.foot-legal a:hover { color: rgba(255,255,255,.7) !important; }
.wordmark { color: rgba(255,255,255,.04) !important; }
.social-icon { border: 1px solid rgba(255,255,255,.15) !important; color: rgba(255,255,255,.55) !important; }
.social-icon:hover { background: #CF142B !important; border-color: #CF142B !important; color: #fff !important; }

/* ── SCROLL REVEAL ── */
.rise { opacity: 0; transform: translateY(28px); transition: opacity .65s cubic-bezier(.16,1,.3,1), transform .65s cubic-bezier(.16,1,.3,1); }
.rise.in { opacity: 1; transform: none; }

/* ── CURSOR ── */
.cursor, .cursor-dot { display: none; }

/* ════════════════════════════════════════════
   ROBOTO BODY FONT — override all body text
   and kill every uppercase / heavy letter-spacing
════════════════════════════════════════════ */

/* Global body text → Roboto */
html, body,
p, li, span, div, a, label, td, th, input, textarea, select, button {
  font-family: 'Inter', sans-serif !important;
}

/* Keep display/headline font for headings only */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', sans-serif !important;
}

/* ── Kill uppercase on every element that has it in sb.css ── */
.mono,
.label,
.nav-links a,
.nav-cta,
.nav-live,
.hero-kicker span,
.btn,
.hp-head,
.chip .label,
.chip .chip-go,
.stat-strip .l,
.block-head .num,
.block-head .aside,
.svc .svc-cta,
.svc .tag,
.metrics .head,
.metrics .l,
.cert .k,
.tst .meta .role,
.step .n,
.form-step-label,
.field label,
.chip-toggle,
.svc-cat-head,
.form-btn,
.form-side .alt-block .label,
.form-side .alt-block a,
.foot-grid h5,
.foot-legal,
.pf-tag,
.pf-foot p,
.pf-foot a,
.nav-drop-head .ndh-eyebrow,
.nav-drop-head .ndh-meta,
.nav-drop-grid .nd-tag,
.nav-drop-cta .ndc-eyebrow,
.nav-mobile .nm-cta,
.nm-drop summary {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Chip cards: label + go link ── */
.chip .label,
.chip span.label,
a.chip .label {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
.chip-go,
.chip .chip-go,
a.chip .chip-go,
span.chip-go {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* ── Hero live pulse widget ── */
.hp-head,
.hp-head *,
.hp-label,
.hp-time {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 12px !important;
}

/* ── Hero kicker ── */
.hero-kicker,
.hero-kicker span,
.hero-kicker * {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* ── Nav ── */
.nav-cta {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
.nav-live,
.nav-live * {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 12px !important;
}
.nav-links a {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Section labels ── */
.block-head .num {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #003087 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.block-head .aside {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Service cards ── */
.svc .tag {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.svc .svc-cta,
span.svc-cta {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Stat strip ── */
.stat-strip .l {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Process steps ── */
.step .n,
.step span.n {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #003087 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Metrics widget ── */
.metrics .head,
.metrics .head * {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.metrics .l {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Certs ── */
.cert .k {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Testimonials ── */
.tst .meta .role {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Portfolio ── */
.pf-tag {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.pf-foot p, .pf-foot a {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Footer ── */
.foot-grid h5 {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.55) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.foot-legal,
.foot-legal * {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Form ── */
.field label,
.form-step-label,
.chip-toggle,
.svc-cat-head,
.form-btn,
.form-side .alt-block .label,
.form-side .alt-block a {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Nav dropdown ── */
.ndh-eyebrow, .ndh-meta, .nd-tag, .ndc-eyebrow,
.nav-mobile .nm-cta, .nm-drop summary {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Global mono class override ── */
.mono {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
}

/* ════════════════════════════════════════════
   FONT WEIGHT NORMAL + SIZE INCREASE
   Switch from slim/light → Roboto 500 (medium)
   and increase sizes for readability
════════════════════════════════════════════ */

/* Hero subtitle */
.hero-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
}

/* Body paragraphs in every section */
p,
.advantage .copy p,
.svc p,
.step p,
.tst .quote,
.chip .sub,
.alt-block p,
.form-side .trust li,
.hero-sub {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

/* Bump up secondary/label text — was 11-12px → 14px */
.chip .label,
a.chip .label,
.chip-go,
.chip .chip-go,
.hp-label,
.hp-head,
.hp-head *,
.hero-kicker span,
.block-head .num,
.svc .tag,
.svc .svc-cta,
span.svc-cta,
.step .n,
.metrics .head,
.metrics .head *,
.metrics .l,
.cert .k,
.tst .meta .role,
.pf-tag,
.pf-url,
.stat-strip .l,
.nav-live,
.foot-grid h5,
.foot-legal,
.foot-legal *,
.field label,
.form-step-label,
.chip-toggle,
.svc-cat-head,
.ndh-eyebrow, .ndh-meta, .nd-tag, .ndc-eyebrow {
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
}

/* Chip go arrows can stay slightly smaller */
.chip-go,
.chip .chip-go {
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Bullet list items */
.adv-list li span {
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
}

/* Nav links */
.nav-links a,
.nav-drop-trigger {
  font-size: 15px !important;
  font-weight: 500 !important;
}
.nav-cta {
  font-size: 15px !important;
  font-weight: 600 !important;
}

/* Section aside descriptors */
.block-head .aside {
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

/* Testimonial quotes */
.tst .quote {
  font-size: 17px !important;
  font-weight: 400 !important;
}

/* Footer links and text */
.foot-grid a,
.foot-contact,
.foot-contact a {
  font-size: 15px !important;
  font-weight: 400 !important;
}
.foot-grid h5 {
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Form labels and inputs */
.field label, label {
  font-size: 15px !important;
  font-weight: 500 !important;
}
.form-block input,
.form-block textarea,
.form-block select {
  font-size: 16px !important;
  font-weight: 400 !important;
}

/* hp-feed scroll text */
.hp-feed-track span {
  font-size: 14px !important;
  font-weight: 400 !important;
}
.hp-feed-track span i {
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* ════════════════════════════════════════════
   INNER PAGE FIXES — service pages, blog, etc.
   These components exist only on inner pages
   and still render with dark/lime theme colours
════════════════════════════════════════════ */

/* ── Page Hero (inner pages) — dark navy, matches homepage ── */
.page-hero {
  background: linear-gradient(155deg, #001233 0%, #002060 45%, #003087 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Subtle grid texture */
.page-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) !important;
  background-size: 60px 60px !important;
  pointer-events: none !important;
  z-index: 0 !important;
  display: block !important;
}
/* Red glow accent top-right */
.page-hero::after {
  content: "" !important;
  position: absolute !important;
  right: -8% !important; top: -30% !important;
  width: 600px !important; height: 600px !important;
  background: radial-gradient(circle, rgba(207,20,43,.2) 0%, transparent 65%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.page-hero h1, .page-hero .page-title { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.page-hero h1 .grad, .page-hero .page-title .grad {
  background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,.85) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.page-hero h1 .it, .page-hero .page-title .it {
  color: #FFCB00 !important;
  -webkit-text-fill-color: #FFCB00 !important;
}
.page-hero h1 .out, .page-hero .page-title .out {
  -webkit-text-stroke: 2px rgba(255,255,255,.6) !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.page-hero p, .page-hero .page-lede { color: rgba(255,255,255,.75) !important; }

/* ── Page hero art panel — HIDDEN, replaced by photos ── */
.page-hero-art { display: none !important; }

/* ── Hero right-side photo — slightly more visible on dark bg ── */
.page-hero-bg-photo {
  position: absolute;
  right: 0;
  top: 0;
  width: 48%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}
.page-hero-bg-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.12;
  display: block;
  mix-blend-mode: luminosity;
}
@media (max-width: 860px) {
  .page-hero-bg-photo { display: none; }
}

/* ── PHA badges (floating stat cards in hero art) ── */
.pha-badge,
.b1, .b2 {
  background: #FFFFFF !important;
  border: 1px solid rgba(0,48,135,.14) !important;
  box-shadow: 0 8px 32px rgba(0,48,135,.10) !important;
  color: #0A0A14 !important;
}
.pha-badge .label,
.b1 .label, .b2 .label,
.pha-badge [class*="label"],
.b1 [class*="label"], .b2 [class*="label"] {
  color: #5A6070 !important;
}
.pha-badge .val,
.b1 .val, .b2 .val { color: #003087 !important; font-weight: 700; }

/* ── PHA tag (pill tag in hero art) ── */
.pha-tag,
.t1, .t2 {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.14) !important;
  color: #003087 !important;
  box-shadow: 0 4px 16px rgba(0,48,135,.08) !important;
}

/* ── PHA core (central circle / orb) ── */
.pha-core {
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.9), transparent 60%),
              radial-gradient(circle at 50% 50%, #EEF2FA 0%, #D8E3F5 80%) !important;
  border: 1px solid rgba(0,48,135,.22) !important;
  box-shadow: 0 0 48px rgba(0,48,135,.10) !important;
}
.pha-core::before,
.pha-core::after { display: none !important; }

/* ── PHA core inner (accent colour fill) ── */
.pha-core-inner {
  background: linear-gradient(135deg, #003087 0%, #1A4A9A 100%) !important;
}

/* ── PHA glow (ambient glow behind orb) ── */
.pha-glow {
  background: radial-gradient(circle, rgba(0,48,135,.14) 0%, transparent 70%) !important;
}

/* ── PHA ring (orbit ring) ── */
.pha-ring {
  border: 1px solid rgba(0,48,135,.18) !important;
  background: transparent !important;
}
.pha-ring::before,
.pha-ring::after {
  background: #003087 !important;
  box-shadow: 0 0 8px rgba(0,48,135,.4) !important;
}

/* ── Page kicker (pill above heading) — frosted on dark hero ── */
.page-kicker {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: rgba(255,255,255,.9) !important;
  backdrop-filter: blur(8px) !important;
}
.page-kicker * {
  color: rgba(255,255,255,.9) !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ── Captcha widget (anti-spam form element) ── */
.captcha {
  background: #FFFFFF !important;
  border: 1px solid rgba(0,48,135,.12) !important;
  color: #3A3D4A !important;
  box-shadow: none !important;
}
.captcha * { color: #3A3D4A !important; }

/* ── Trust sidebar panel (beside lead form) ── */
.form-side .trust,
.trust {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.1) !important;
  color: #3A3D4A !important;
}
.trust h4, .trust h5 { color: #0A0A14 !important; }
.trust li, .trust p { color: #3A3D4A !important; }
.trust li::before,
.trust li .icon { color: #003087 !important; }
.trust .check,
.trust svg { stroke: #003087 !important; color: #003087 !important; }

/* ── Related cards (bottom of blog / service pages) ── */
.rel-card {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.09) !important;
  color: #0A0A14 !important;
  box-shadow: none !important;
  transition: box-shadow .25s, border-color .25s, transform .25s !important;
}
.rel-card:hover {
  background: #fff !important;
  border-color: rgba(0,48,135,.22) !important;
  box-shadow: 0 16px 48px rgba(0,48,135,.10) !important;
  transform: translateY(-3px) !important;
}
.rel-card h3, .rel-card h4 { color: #0A0A14 !important; }
.rel-card p { color: #5A6070 !important; }
.rel-card .tag, .rel-card .cat { color: #003087 !important; background: rgba(0,48,135,.06) !important; border-color: rgba(0,48,135,.12) !important; }

/* ── Service category footer border ── */
.svc-cat-foot {
  border-top: 1px dashed rgba(0,48,135,.18) !important;
}

/* ── Service category sub-header ── */
.svc-cat-head {
  color: #003087 !important;
  border-bottom: 1px solid rgba(0,48,135,.10) !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* ── CTA band (full-width call-to-action strip) ── */
.cta-band {
  background: linear-gradient(155deg, #001233 0%, #002060 50%, #003087 100%) !important;
  border-top: none !important;
  border-bottom: none !important;
  position: relative !important;
  overflow: hidden !important;
}
.cta-band::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px) !important;
  background-size: 60px 60px !important;
  pointer-events: none !important;
  display: block !important;
}
.cta-band::after {
  content: "" !important;
  position: absolute !important;
  right: -5% !important; top: -40% !important;
  width: 500px !important; height: 500px !important;
  background: radial-gradient(circle, rgba(207,20,43,.18) 0%, transparent 65%) !important;
  pointer-events: none !important;
  display: block !important;
}
.cta-band > *, .cta-band .shell, .cta-band div { position: relative; z-index: 1; }
.cta-band h2, .cta-band h3 { color: #FFFFFF !important; font-weight: 800 !important; letter-spacing: -0.03em !important; }
.cta-band h2 .grad, .cta-band h3 .grad { color: #FFCB00 !important; -webkit-text-fill-color: #FFCB00 !important; background: none !important; }
.cta-band p { color: rgba(255,255,255,.75) !important; }
.cta-band .btn-primary {
  background: #FFFFFF !important;
  color: #003087 !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.15) !important;
}
.cta-band .btn-primary:hover {
  background: #CF142B !important;
  color: #fff !important;
}
.cta-band .btn-ghost {
  color: rgba(255,255,255,.85) !important;
  border-color: rgba(255,255,255,.35) !important;
}
.cta-band .btn-ghost:hover {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.65) !important;
  color: #fff !important;
}

/* ── FAQ items ── */
.faq-item {
  background: #F4F6FA !important;
  border: 1px solid rgba(0,48,135,.09) !important;
  color: #0A0A14 !important;
}
.faq-item summary,
.faq-item .q {
  color: #0A0A14 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
}
.faq-item .a,
.faq-item p {
  color: #5A6070 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}
.faq-item[open],
.faq-item.open {
  background: #fff !important;
  border-color: rgba(0,48,135,.18) !important;
  box-shadow: 0 8px 28px rgba(0,48,135,.07) !important;
}
.faq-item summary::marker,
.faq-item .faq-icon { color: #003087 !important; }

/* ── Blog / Article page specifics ── */
.article-hero { background: #F4F6FA !important; }
.article-hero h1 { color: #0A0A14 !important; }
.article-hero .meta, .article-hero .date { color: #5A6070 !important; }
.article-hero .cat, .article-hero .tag { color: #003087 !important; background: rgba(0,48,135,.06) !important; border-color: rgba(0,48,135,.12) !important; }
.article-body { color: #3A3D4A !important; }
.article-body h2, .article-body h3 { color: #0A0A14 !important; }
.article-body a { color: #003087 !important; }
.article-body a:hover { color: #CF142B !important; }
.article-body blockquote {
  background: rgba(0,48,135,.04) !important;
  border-left: 4px solid #003087 !important;
  color: #3A3D4A !important;
}
.article-body code, .article-body pre {
  background: #F4F6FA !important;
  color: #003087 !important;
  border: 1px solid rgba(0,48,135,.12) !important;
}

/* ── Breadcrumb ── */
.breadcrumb, .breadcrumbs { color: #5A6070 !important; }
.breadcrumb a, .breadcrumbs a { color: #003087 !important; }
.breadcrumb a:hover, .breadcrumbs a:hover { color: #CF142B !important; }
.breadcrumb .sep { color: rgba(0,0,0,.25) !important; }

/* ── Inner page section backgrounds ── */
.page-block { background: #FFFFFF !important; }
.page-block:nth-child(even) { background: #F4F6FA !important; }

/* ── Ensure orbital art hidden (replaced by dark hero) ── */
.page-hero-art::before,
.page-hero-art::after { display: none !important; }

/* ── Inner page heading colour consistency — white on dark hero ── */
.page-hero .mono,
.page-hero .kicker,
.page-hero .eyebrow {
  color: rgba(255,255,255,.85) !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* ── Inner page body text — white on dark hero ── */
.page-hero p,
.page-intro p {
  color: rgba(255,255,255,.75) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
}
/* Bold/strong inside hero lede stays white */
.page-hero p b,
.page-hero p strong,
.page-hero .page-lede b,
.page-hero .page-lede strong,
.page-hero.is-blueprint .page-lede b,
.page-hero.is-blueprint .page-lede strong {
  color: #fff !important;
  font-weight: 700 !important;
}

/* Links inside the hero lede must stay light — not dark navy on dark bg */
.page-hero p a,
.page-hero .page-lede a,
.page-hero .page-intro a {
  color: #FFCB00 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255,203,0,.4) !important;
  text-underline-offset: 3px !important;
}
.page-hero p a:hover,
.page-hero .page-lede a:hover {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.5) !important;
}

/* ── Form success state ── */
.form-success {
  background: rgba(34,197,94,.08) !important;
  border: 1px solid rgba(34,197,94,.35) !important;
  color: #166534 !important;
}
.form-success * { color: #166534 !important; }

/* ════════════════════════════════════════════
   HUMAN TOUCH LAYER
   Tone down the "AI-generated template" feel.
   Favour warmer, simpler, more personal choices.
════════════════════════════════════════════ */

/* 1. Kill the 3D particle canvas in hero — too "tech startup" */
#hero-canvas {
  opacity: 0.04 !important;
}

/* 2. Section heading gradients — navy for body sections, white for hero */
.hero-title .grad,
.block-head h2 .grad,
h2 .grad, h3 .grad {
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: #003087 !important;
  color: #003087 !important;
}
/* Page hero grad stays white */
.page-hero h1 .grad, .page-hero .page-title .grad {
  -webkit-text-fill-color: transparent !important;
  background: linear-gradient(135deg, #fff 0%, rgba(255,203,0,.9) 100%) !important;
  -webkit-background-clip: text !important;
}
/* Italic accent red in body, gold in hero */
.hero-title .it,
.block-head h2 .it,
h2 .it, h3 .it {
  color: #CF142B !important;
  -webkit-text-fill-color: #CF142B !important;
}
.page-hero h1 .it, .page-hero .page-title .it {
  color: #FFCB00 !important;
  -webkit-text-fill-color: #FFCB00 !important;
}
/* Outline text: white stroke in hero */
.page-hero h1 .out, .page-hero .page-title .out {
  -webkit-text-stroke: 2px rgba(255,255,255,.5) !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* 3. Chip values: keep the gradient but subtler */
.chip .val .grad,
.chip .val span.grad {
  background: none !important;
  -webkit-background-clip: initial !important;
  -webkit-text-fill-color: #003087 !important;
  color: #003087 !important;
}

/* 4. Softer section kickers — friendlier, not uppercase */
.block-head .num {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #CF142B !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  
}
.block-head .num::before {
  content: "" !important;
  display: none !important;
}

/* 5. Softer hero kicker with handwritten vibe */
.hero-kicker {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #5A6070 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  
}
.hero-kicker .dot {
  background: #CF142B !important;
  box-shadow: 0 0 8px rgba(207,20,43,.4) !important;
}

/* 6. Larger, warmer hero heading */
.hero-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.05 !important;
}

/* 7. Page-hero kicker — frosted on dark hero */
.page-kicker,
.page-hero .mono,
.page-hero .kicker {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.88) !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  backdrop-filter: blur(8px) !important;
}
.page-kicker::before,
.page-hero .mono::before {
  content: "" !important;
}

/* 8. Soften the service tags — less "template" feel */
.svc .tag {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: #CF142B !important;
  font-family: 'Inter', sans-serif !important;
  
  text-transform: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

/* 9. Make service cards feel less grid-template */
.svc {
  border-radius: 18px !important;
}

/* 10. Warmer process step numbers */
.step .n {
  font-family: 'Inter', sans-serif !important;
  
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #CF142B !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* 11. Stat strip — warmer label tone */
.stat-strip .l {
  
  opacity: 0.85 !important;
}

/* 12. Marquee — softer pace feel */
.marquee-track span {
  font-weight: 400 !important;
}
.marquee-track span.it {
  color: #CF142B !important;
  
}

/* 13. Testimonial quotes get a handwritten accent */
.tst .quote {
  font-family: 'Inter', sans-serif !important;
  
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #0A0A14 !important;
  position: relative;
}
.tst .quote::before {
  content: "\201C";
  position: absolute;
  top: -14px;
  left: -6px;
  font-size: 48px;
  line-height: 1;
  color: #CF142B;
  opacity: 0.35;
  font-family: 'Inter', serif;
}

/* 14. Block heading weight for impact */
.block-head h2,
.page-hero h1 {
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
}

/* 15. Nav CTA: warmer label treatment */
.nav-cta {
  border-radius: 999px !important;
  padding: 10px 20px !important;
}

/* 16. Foot CTAs */
.pf-foot a {
  
  color: #CF142B !important;
  border: none !important;
  padding: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  text-decoration-thickness: 1px !important;
  text-decoration-color: rgba(207,20,43,.4) !important;
}
.pf-foot a:hover {
  color: #003087 !important;
  text-decoration-color: #003087 !important;
}

/* 17. Cert cards — subtler, less trophy-cabinet */
.cert {
  background: transparent !important;
  border: 1px solid rgba(0,48,135,.12) !important;
  border-radius: 14px !important;
  padding: 18px !important;
}

/* 18. Advantage list — friendlier dots */
.adv-list li::before {
  background: #CF142B !important;
  box-shadow: 0 0 8px rgba(207,20,43,.3) !important;
}

/* 19. Pulse widget warmer */
.hp-head {
  background: transparent !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}
.hp-label {
  
  color: #5A6070 !important;
  font-size: 12px !important;
}
.hp-dot {
  background: #CF142B !important;
  box-shadow: 0 0 8px rgba(207,20,43,.5) !important;
}

/* 20. Btn primary tweak for warmth */
.btn-primary {
  border-radius: 999px !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
}
.btn-ghost {
  border-radius: 999px !important;
  font-weight: 500 !important;
}

/* 21. CTA band heading italic accent */
.cta-band h2 {
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

/* 22. Small signature flourish under hero kicker dot */
.hero-kicker {
  padding-left: 0 !important;
}

/* 23. Softer hero sub with more personality */
.hero-sub {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: #3A3D4A !important;
  font-weight: 400 !important;
}
.hero-sub b {
  color: #0A0A14 !important;
  font-weight: 600 !important;
}

/* ═══════════ INTERNAL PAGE HERO — TWO-COLUMN WITH CARD ═══════════ */
.page-hero.has-herocard .shell {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 60px !important;
  align-items: center !important;
}
@media (max-width: 900px) {
  .page-hero.has-herocard .shell { grid-template-columns: 1fr !important; gap: 36px !important; }
}
.page-hero .sb-herocard { align-self: center; }

/* Hero right card (mirrors index.html definitions, scoped so internal pages get it) */
.sb-herocard {
  position: relative;
  aspect-ratio: 5/4.4;
  isolation: isolate;
  font-family: 'Inter', sans-serif;
}
.sb-herocard .sb-hc-bg {
  position: absolute; inset: 18px 0 0 18px;
  background: #003087; border-radius: 8px; overflow: hidden;
}
.sb-herocard .sb-hc-bg::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 36px 36px;
}
.sb-herocard .sb-hc-bg::after {
  content: ""; position: absolute; right: -40px; top: -40px;
  width: 180px; height: 180px; background: #CF142B;
  transform: rotate(45deg); opacity: 0.92;
}
.sb-herocard .sb-hc-card {
  position: absolute; left: 0; right: 38px; top: 0; bottom: 44px;
  background: #fff; border: 1px solid rgba(0,48,135,.14);
  border-radius: 8px;
  box-shadow: 0 24px 60px -24px rgba(0,48,135,.28);
  padding: 28px 30px;
  display: flex; flex-direction: column;
}
.sb-herocard .sb-hc-tag {
  display: inline-flex; align-items: center; gap: 8px;
  align-self: flex-start;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: #CF142B;
}
.sb-herocard .sb-hc-tag::before {
  content: ""; width: 20px; height: 2px; background: #CF142B;
}
.sb-herocard .sb-hc-title {
  margin: 14px 0 6px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: #003087 !important;
}
.sb-herocard .sb-hc-title em {  font-weight: 400; color: #CF142B; }
.sb-herocard .sb-hc-sub {
  font-size: 14px; line-height: 1.5;
  color: rgba(10,10,20,.72);
  max-width: 34ch; margin: 0 0 auto;
}
.sb-herocard .sb-hc-meta {
  margin-top: 22px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  border-top: 1px solid rgba(0,48,135,.12); padding-top: 16px;
}
.sb-herocard .sb-hc-meta > div { display: flex; flex-direction: column; gap: 3px; }
.sb-herocard .sb-hc-meta .k {
  font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(10,10,20,.5); font-weight: 600;
}
.sb-herocard .sb-hc-meta .v {
  font-family: 'Inter', sans-serif;
  font-size: 20px; font-weight: 700; color: #003087;
  letter-spacing: -0.01em;
}
.sb-herocard .sb-hc-meta .v span { color: #CF142B; }
.sb-herocard .sb-hc-chip {
  position: absolute; right: 0; bottom: 0;
  background: #CF142B; color: #fff;
  padding: 10px 16px; border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-weight: 700; font-size: 13px; letter-spacing: 0.04em;
  box-shadow: 0 8px 20px rgba(207,20,43,.3);
  display: inline-flex; align-items: center; gap: 8px;
}
.sb-herocard .sb-hc-chip::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.35);
  animation: sb-pulse 2s ease-in-out infinite;
}
@keyframes sb-pulse { 0%,100% { opacity: 1; } 50% { opacity: .5; } }
@media (max-width: 900px) {
  .sb-herocard { aspect-ratio: 5/4; max-width: 520px; margin: 0 auto; }
  .sb-herocard .sb-hc-title { font-size: 28px; }
}

/* ═══════════ INTERNAL PAGE HERO — BLUEPRINT / SPEC-SHEET ═══════════ */
.page-hero.is-blueprint {
  padding: 120px 0 60px !important;
  background: linear-gradient(155deg, #001233 0%, #002060 45%, #003087 100%) !important;
  border-bottom: none !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Grid texture on blueprint hero */
.page-hero.is-blueprint::before {
  content: "" !important; position: absolute !important;
  inset: 0 !important;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) !important;
  background-size: 60px 60px !important;
  width: auto !important; height: auto !important;
  top: 0 !important; left: 0 !important; bottom: 0 !important; right: 0 !important;
  background-color: transparent !important;
}
.sb-bp { font-family: 'Inter', sans-serif; color: #fff; }
.sb-bp-crumb {
  display: flex; gap: 10px; align-items: center;
  font-size: 12px; letter-spacing: 0.06em;
  color: rgba(255,255,255,.5);
  margin-bottom: 28px;
}
.sb-bp-crumb a { color: rgba(255,255,255,.8); text-decoration: none; font-weight: 600; }
.sb-bp-crumb .sep { color: rgba(255,255,255,.3); }
.sb-bp-crumb .cur { color: #FFCB00; font-weight: 600; }

.sb-bp-grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 60px;
  align-items: start;
}
@media (max-width: 960px) {
  .sb-bp-grid { grid-template-columns: 1fr; gap: 36px; }
}

.sb-bp-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: #CF142B;
  margin-bottom: 26px;
}
.sb-bp-eyebrow .dash { width: 28px; height: 2px; background: #CF142B; }

/* Blueprint hero title — white on dark navy */
.page-hero.is-blueprint .page-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(44px, 6.2vw, 84px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.035em !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  margin: 0 0 24px !important;
  background: none !important;
}
.page-hero.is-blueprint .page-title .grad {
  background: linear-gradient(135deg, #fff 0%, rgba(255,203,0,.9) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: #FFCB00 !important;
}
.page-hero.is-blueprint .page-title span {
  color: inherit !important;
}
.page-hero.is-blueprint .page-title .it {
  font-style: normal !important;
  color: #FFCB00 !important;
  -webkit-text-fill-color: #FFCB00 !important;
  font-weight: 500 !important;
}
.page-hero.is-blueprint .page-title .out {
  -webkit-text-stroke: 2px rgba(255,255,255,.5) !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.page-hero.is-blueprint .page-lede {
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,.75) !important;
  max-width: 58ch !important;
  margin: 0 0 30px !important;
}
.page-hero.is-blueprint .page-lede a,
.page-hero.is-blueprint p a {
  color: #FFCB00 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255,203,0,.4) !important;
  text-underline-offset: 3px !important;
}
.page-hero.is-blueprint .page-lede a:hover,
.page-hero.is-blueprint p a:hover {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.5) !important;
}
.page-hero.is-blueprint .hero-ctas {
  margin-top: 6px !important;
}
/* Blueprint hero CTAs — white primary, ghost on dark */
.page-hero.is-blueprint .btn-primary {
  background: #fff !important;
  color: #003087 !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.2) !important;
}
.page-hero.is-blueprint .btn-primary:hover {
  background: #FFCB00 !important;
  color: #001233 !important;
  box-shadow: 0 12px 32px rgba(255,203,0,.35) !important;
}
.page-hero.is-blueprint .btn-ghost {
  color: rgba(255,255,255,.9) !important;
  border-color: rgba(255,255,255,.35) !important;
}
.page-hero.is-blueprint .btn-ghost:hover {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.65) !important;
  color: #fff !important;
}

/* Right spec panel */
.sb-bp-right {
  border: 1px solid rgba(0,48,135,.14);
  border-radius: 4px;
  padding: 22px 24px 28px;
  background: #fff;
  position: relative;
  box-shadow: 0 18px 40px -24px rgba(0,48,135,.2);
}
.sb-bp-right::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0;
  height: 3px; background: #003087;
}
.sb-bp-serial {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; font-weight: 500;
  letter-spacing: 0.08em;
  color: rgba(0,48,135,.65);
}
.sb-bp-rule {
  margin: 14px 0 18px;
  height: 1px;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.35) 0 6px, transparent 6px 12px);
}
.sb-bp-facts {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 14px;
}
.sb-bp-facts li {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 16px;
  align-items: baseline;
  padding-bottom: 14px;
  border-bottom: 1px dashed rgba(0,48,135,.14);
}
.sb-bp-facts li:last-child { border-bottom: 0; padding-bottom: 0; }
.sb-bp-facts .k {
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  font-weight: 600; color: rgba(10,10,20,.5);
}
.sb-bp-facts .v {
  font-size: 15px; font-weight: 600;
  color: #003087; letter-spacing: -0.005em;
}

.sb-bp-stamp {
  margin-top: 24px;
  display: inline-flex; flex-direction: column; align-items: flex-start;
  padding: 10px 14px;
  background: #CF142B; color: #fff;
  border-radius: 2px;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  line-height: 1.25;
}
.sb-bp-stamp b {
  display: block;
  font-size: 18px; font-weight: 800;
  letter-spacing: 0.02em;
  margin: 2px 0;
  text-transform: none;
}

/* Bottom ticker tape — white on dark blueprint hero */
.sb-bp-tape {
  margin-top: 48px;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
  display: flex; flex-wrap: wrap; gap: 28px;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 600; color: rgba(255,255,255,.65);
}
.sb-bp-tape span { white-space: nowrap; }

/* Undo old two-col herocard layout so blueprint takes over */
.page-hero.is-blueprint .sb-herocard,
.page-hero.has-herocard.is-blueprint { display: block; }
.page-hero.is-blueprint .shell { display: block !important; }

/* ═══════════ NAV — FULL-WIDTH, SQUARE EDGES ═══════════ */
/* Nav uses homepage pill style (sb.css default) — white version via the .nav-inner rule above */

/* ═══════════ HOMEPAGE HERO — DIGITAL MARKETING PANEL ═══════════ */
.sb-dm {
  background: #fff;
  border: 1px solid rgba(0,48,135,.14);
  border-radius: 4px;
  padding: 32px 32px 28px;
  font-family: 'Inter', sans-serif;
  box-shadow: 0 24px 60px -28px rgba(0,48,135,.22);
  position: relative;
}
.sb-dm::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px; background: #CF142B;
}
.sb-dm-kicker {
  display: inline-block;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: #CF142B;
  margin-bottom: 14px;
}
.sb-dm-h {
  margin: 0 0 28px;
  font-family: 'Inter', sans-serif;
  font-size: 24px; font-weight: 700;
  line-height: 1.2; letter-spacing: -0.015em;
  color: #003087;
}
.sb-dm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 32px;
}
.sb-dm-grid > div {
  display: flex; flex-direction: column; gap: 4px;
  padding-left: 14px;
  border-left: 2px solid rgba(0,48,135,.12);
}
.sb-dm-grid b {
  font-size: 15px; font-weight: 700;
  color: #003087;
  letter-spacing: -0.005em;
}
.sb-dm-grid span {
  font-size: 13px; font-weight: 400;
  color: rgba(10,10,20,.62);
  line-height: 1.35;
}
@media (max-width: 560px) {
  .sb-dm { padding: 24px; }
  .sb-dm-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* ═══════════ HOMEPAGE HERO — QUOTE CARD ═══════════ */
.sb-quote {
  position: relative;
  background: #003087;
  color: #fff;
  border-radius: 6px;
  padding: 40px 36px 28px;
  font-family: 'Inter', sans-serif;
  box-shadow: 0 30px 80px -30px rgba(0,48,135,.5);
  overflow: hidden;
}
.sb-quote::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: #CF142B;
}
.sb-q-mark {
  font-family: 'Inter', sans-serif;
  font-size: 96px; line-height: 0.7;
  color: #CF142B; font-weight: 700;
  display: block; margin-bottom: 6px;
}
.sb-q-text {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0 0 30px;
}
.sb-q-by {
  display: flex; align-items: center; gap: 14px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.sb-q-av {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: 50%;
  background: #CF142B;
  color: #fff;
  display: grid; place-items: center;
  font-weight: 700; font-size: 14px;
  letter-spacing: 0.02em;
}
.sb-q-who { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.sb-q-who b { font-size: 14px; font-weight: 700; color: #fff; }
.sb-q-who span { font-size: 12px; color: rgba(255,255,255,.7); }
.sb-q-rate {
  color: #CF142B; font-size: 14px; letter-spacing: 2px;
}
.sb-q-foot {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.14);
  display: flex; align-items: center; gap: 14px;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,.75);
}
.sb-q-foot .sep {
  width: 4px; height: 4px; border-radius: 50%;
  background: #CF142B;
}
@media (max-width: 900px) {
  .sb-quote { padding: 30px 26px 24px; }
  .sb-q-text { font-size: 18px; }
  .sb-q-foot { flex-wrap: wrap; gap: 10px; }
}

/* ═══════════════════════════════════════════════════════
   GLOBAL LEGIBILITY OVERRIDES — applied across all pages
   Larger text, no thin weights, reduce AI-design patterns
   ═══════════════════════════════════════════════════════ */

/* ── Bump all ultra-small mono labels to readable sizes ── */
.num,
.label, .mono,
.pf-stat-l, .pf-intro p,
.ph-stat-l, .rv-item-proj,
.sb-hc-meta .k,
.sb-bp-crumb,
.sb-bp-eyebrow,
.quote-role,
.stat-row .l,
.sb-q-foot,
.rv-badge-platform,
.rv-card-proj,
.founder-role,
.au-founder-card .founder-role,
[class*="-label"], [class*="-kicker"], [class*="-eyebrow"],
[class*="-role"], [class*="-sub"] {
  font-size: max(var(--font-size, 13px), 13px) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
}

/* ── Specific known tiny labels ── */
.num { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.06em !important; }
.pf-stat-l { font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
.sb-hc-meta .k { font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.06em !important; }
.stat-row .l { font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
.sb-q-foot { font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0.06em !important; }
.sb-bp-crumb { font-size: 13px !important; }
.sb-bp-eyebrow { font-size: 12px !important; }

/* ── Prevent font-weight 300 (thin) anywhere ── */
* { font-weight: max(var(--fw, 400), 400); }

/* ── Increase body/card text minimums ── */
.pf-intro p { font-size: 16px !important; font-weight: 400 !important; }
.sb-hc-sub { font-size: 15px !important; }
.pf-card .pf-desc { font-size: 14px !important; font-weight: 400 !important; }
.rv-card-text { font-size: 15px !important; }
.rv-badge-meta { font-size: 14px !important; }

/* ── Services nav: match AI Services panel (2-col, 620px) ── */
.nav-drop-panel:not(.nav-drop-panel-ai) { width: 620px !important; }
.nav-drop-grid-classic { grid-template-columns: repeat(2,1fr) !important; }
.nav-drop-panel:not(.nav-drop-panel-ai) .nav-drop-grid { grid-template-columns: repeat(2,1fr) !important; }

/* ── Stronger body copy size baseline ── */
p, li, .body-text { font-size: max(15px, 1em); }
body { font-size: 16px; }

/* ── Remove remaining tiny mono label patterns ── */
.kicker, .kicker span, .page-kicker { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.06em !important; text-transform: none !important; }
.nd-cat, .nd-name { font-size: 13px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
footer .label, footer .mono { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.04em !important; }
.foot-grid h5 { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.04em !important; text-transform: none !important; }

/* ═══════════ BLOG CATEGORY FILTER BUTTONS (on dark hero) ═══════════ */
.bcat {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.8) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  cursor: pointer !important;
  transition: background .22s, border-color .22s, color .22s !important;
}
.bcat:hover {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.4) !important;
}
.bcat.active {
  background: #CF142B !important;
  color: #fff !important;
  border-color: #CF142B !important;
  box-shadow: 0 4px 16px rgba(207,20,43,.35) !important;
}
.blog-cats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 32px !important;
}

/* ═══════════ BLOG POST TEMPLATE ═══════════ */

/* Hero: constrain to same width as article content */
.post-hero-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 100px 40px 0;
}
.post-hero-visual {
  border-radius: 16px;
  overflow: hidden;
  height: 380px;
  position: relative;
  margin-bottom: 0;
}
.post-hero-meta {
  padding: 32px 0 0 !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}
@media (max-width: 900px) {
  .post-hero-wrap { padding: 80px 22px 0; }
  .post-hero-visual { height: 240px; border-radius: 12px; }
}

/* Article body: consistent width */
article.post-article.shell {
  max-width: 860px !important;
  margin: 0 auto !important;
}
.post-body {
  max-width: 680px;
  margin: 0 auto;
  padding-top: 48px;
}

/* Typography */
.post-body p {
  font-size: 17px;
  line-height: 1.78;
  color: #2a2d3a;
  margin-bottom: 24px;
}
.post-body h2 {
  font-size: 24px;
  font-weight: 700;
  color: #0A0A14;
  margin: 48px 0 16px;
  letter-spacing: -0.02em;
  padding-bottom: 10px;
  border-bottom: 2px solid rgba(0,48,135,.1);
}
.post-body h3 {
  font-size: 19px;
  font-weight: 600;
  color: #0A0A14;
  margin: 32px 0 12px;
}
.post-body a {
  color: #003087;
  text-decoration: underline;
  text-decoration-color: rgba(0,48,135,.3);
  text-underline-offset: 3px;
}
.post-body a:hover {
  color: #CF142B;
  text-decoration-color: rgba(207,20,43,.4);
}
.post-body ul, .post-body ol {
  padding-left: 24px;
  margin-bottom: 24px;
}
.post-body li {
  font-size: 17px;
  line-height: 1.7;
  color: #2a2d3a;
  margin-bottom: 8px;
}
.post-body blockquote {
  border-left: 3px solid #003087;
  padding: 16px 24px;
  margin: 32px 0;
  background: rgba(0,48,135,.04);
  border-radius: 0 8px 8px 0;
  font-size: 18px;
  font-style: italic;
  color: #1a1d2e;
}
.post-body figure.post-image img {
  border-radius: 12px;
  margin: 32px 0 8px;
  width: 100%;
  display: block;
}
.post-body figure.post-image figcaption {
  font-size: 13px;
  color: #888;
  text-align: center;
  margin-bottom: 32px;
}

/* Breadcrumb + pills */
.post-breadcrumb { font-size: 13px; color: #6b7280; }
.post-breadcrumb a { color: #6b7280; }
.post-breadcrumb a:hover { color: #003087; }
.post-date-tag, .post-read-tag {
  font-size: 13px;
  color: #6b7280;
  padding: 4px 12px;
  background: rgba(0,0,0,.05);
  border-radius: 20px;
}

/* Author strip */
.post-author-name { font-weight: 600; color: #0A0A14; font-size: 14px; }
.post-author-role { font-size: 13px; color: #6b7280; }

/* Hero title */
.post-hero-title {
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 800;
  color: #0A0A14;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 16px 0 20px;
}

/* Related posts */
.post-related {
  max-width: 680px;
  margin: 64px auto 0;
  padding-top: 40px;
  border-top: 1px solid rgba(0,0,0,.1);
}
.post-related-heading { font-size: 14px; font-weight: 700; color: #0A0A14; margin-bottom: 20px; letter-spacing: 0.04em; text-transform: uppercase; }
.rel-card { border: 1px solid rgba(0,0,0,.1); border-radius: 12px; overflow: hidden; }
.rel-card:hover { border-color: rgba(0,48,135,.25); box-shadow: 0 8px 24px rgba(0,48,135,.1); }
.rel-title { color: #0A0A14; font-weight: 600; }

/* Back link */
.post-back {
  max-width: 680px;
  margin: 32px auto 0;
  padding-bottom: 80px;
}
.post-back a { color: #003087; font-size: 14px; font-weight: 500; }
.post-back a:hover { color: #CF142B; }

/* Section num labels (// 01 — LABEL) */
.num {
  font-family: var(--mono, 'JetBrains Mono', monospace) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  color: #003087 !important;
  opacity: 0.7;
  text-transform: uppercase;
}

/* ═══════════ BIG BOLD CTAs — ALL PAGES ═══════════ */

/* Primary filled button */
.btn,
.btn-primary,
.form-btn,
.form-btn-primary {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  padding: 20px 40px !important;
  border-radius: 999px !important;
  gap: 12px !important;
}
.btn-primary,
.form-btn-primary {
  background: #003087 !important;
  color: #fff !important;
  box-shadow: 0 8px 28px rgba(0,48,135,.28) !important;
  border-color: transparent !important;
}
.btn-primary:hover,
.form-btn-primary:hover {
  background: #CF142B !important;
  box-shadow: 0 14px 36px rgba(207,20,43,.32) !important;
  transform: translateY(-2px) !important;
}

/* Ghost/outline button */
.btn-ghost,
.form-btn-ghost {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  padding: 20px 36px !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #003087 !important;
  border: 2px solid rgba(0,48,135,.35) !important;
  gap: 12px !important;
}
.btn-ghost:hover,
.form-btn-ghost:hover {
  background: rgba(0,48,135,.06) !important;
  border-color: #003087 !important;
}

/* Service page CTA buttons */
.svc-cta {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  padding: 18px 36px !important;
  border-radius: 999px !important;
  background: #003087 !important;
  color: #fff !important;
  border-color: #003087 !important;
  box-shadow: 0 8px 24px rgba(0,48,135,.25) !important;
  gap: 10px !important;
}
.svc-cta:hover {
  background: #CF142B !important;
  border-color: #CF142B !important;
  box-shadow: 0 12px 30px rgba(207,20,43,.3) !important;
  transform: translateY(-2px) !important;
  color: #fff !important;
}

/* CTA band actions (full-width CTA sections) */
.cta-band-actions .btn,
.cta-band-actions .btn-primary,
.cta-band-actions .btn-ghost {
  padding: 22px 48px !important;
  font-size: 18px !important;
  width: 100%;
  justify-content: center !important;
}

/* Blog post in-body CTA */
.post-cta {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  padding: 18px 36px !important;
  border-radius: 999px !important;
  background: #003087 !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(0,48,135,.25) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.post-cta:hover {
  background: #CF142B !important;
  opacity: 1 !important;
  transform: translateY(-2px) !important;
}

/* Hero CTAs container: keep row layout with good gap */
.hero-ctas, .ctas {
  gap: 16px !important;
}

/* Nav CTA — compact, red pill to match homepage */
.nav-cta {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 11px 22px !important;
  border-radius: 999px !important;
  background: #CF142B !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(207,20,43,.35) !important;
}
.nav-cta:hover {
  background: #E01835 !important;
  box-shadow: 0 6px 20px rgba(207,20,43,.5) !important;
  transform: translateY(-1px) !important;
}

/* Mobile nav CTA */
.nm-cta {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 18px !important;
  background: #CF142B !important;
  color: #fff !important;
  border-color: #CF142B !important;
  border-radius: 999px !important;
}

/* Responsive: slightly smaller on mobile */
@media (max-width: 640px) {
  .btn, .btn-primary, .btn-ghost,
  .form-btn, .form-btn-primary, .form-btn-ghost,
  .svc-cta, .post-cta {
    font-size: 15px !important;
    padding: 17px 30px !important;
  }
  .au-btn-primary, .au-btn-ghost {
    font-size: 15px !important;
    padding: 17px 28px !important;
  }
}
