:root {
  --paper:      #0b0a08;
  --paper-2:    #141210;
  --ink:        #ece4d3;
  --ink-dim:    rgba(236,228,211,0.68);
  --ink-muted:  rgba(236,228,211,0.42);
  --ink-faint:  rgba(236,228,211,0.18);
  --red:        #c8342a;
  --red-bright: #e53935;
  --rule:       rgba(236,228,211,0.20);
  --rule-mid:   rgba(236,228,211,0.35);
  --ease:       cubic-bezier(0.22,1,0.36,1);
  --f-sans:     'DM Sans', sans-serif;
  --f-script:   'Pinyon Script', cursive;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--f-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  cursor: none;
}
@media (hover:none),(pointer:coarse) { body { cursor: auto; } }
a { color: inherit; text-decoration: none; }
button { border: none; background: none; font: inherit; color: inherit; cursor: inherit; }
img { max-width: 100%; height: auto; }
::selection { background: var(--red); color: var(--ink); }

/* Paper texture */
body::before {
  content: '';
  position: fixed; inset: 0; z-index: 1; pointer-events: none;
  opacity: 0.10; mix-blend-mode: screen;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.93  0 0 0 0 0.89  0 0 0 0 0.82  0 0 0 0.65 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* Reading progress */
.progress { position:fixed; top:0; left:0; height:2px; width:0; background:var(--red); z-index:9999; pointer-events:none; transition:width .1s linear; }

/* Cursor */
.cursor {
  position:fixed; top:0; left:0; width:7px; height:7px; margin:-3.5px 0 0 -3.5px;
  background:var(--red); border-radius:50%; pointer-events:none; z-index:9998;
  mix-blend-mode:difference;
  transition: width .25s var(--ease), height .25s var(--ease), margin .25s var(--ease), background .2s;
}
.cursor.hover { width:28px; height:28px; margin:-14px 0 0 -14px; background:transparent; border:1px solid var(--red); }

/* Wrap */
.wrap { max-width:1280px; margin:0 auto; padding:0 48px; position:relative; z-index:2; }
@media(max-width:760px){ .wrap { padding:0 24px; } }

/* ── TOP STRIP ── */
.topstrip {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:var(--paper);
  border-bottom:1px solid var(--rule);
  font-family:var(--f-sans); font-size:11px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);
}
.topstrip-inner {
  max-width:1280px; margin:0 auto; padding:11px 48px;
  display:flex; justify-content:space-between; align-items:center; gap:2rem;
}
.topstrip .r { color:var(--red); }
.topstrip b  { color:var(--ink); }
.topstrip-cta {
  background:var(--red); color:var(--ink);
  padding:6px 18px; font-size:11px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  transition:background .2s;
}
.topstrip-cta:hover { background:var(--red-bright); }
@media(max-width:700px){ .topstrip-hide { display:none; } .topstrip-inner { padding:9px 24px; } }

/* ── MASTHEAD ── */
.masthead {
  padding:108px 0 0;
  margin-top:36px;
  text-align:center;
}
.masthead-kicker {
  font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-muted); margin-bottom:1.2rem;
}
.nameplate {
  font-family:var(--f-sans); font-weight:800;
  font-size:clamp(48px, 9vw, 132px);
  line-height:.95; letter-spacing:-.02em;
  color:var(--ink); text-transform:uppercase;
  margin-bottom:1.2rem;
}
.nameplate .r { color:var(--red); }
.masthead-sub {
  font-size:14px; font-weight:500; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-muted); margin-bottom:2rem;
}
.masthead-meta {
  padding:12px 0;
  border-top:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink);
  font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-muted);
  display:flex; justify-content:center; flex-wrap:wrap; gap:.6rem 1.4rem;
}
.masthead-meta .dot { color:var(--red); }
.masthead-meta .hl  { color:var(--ink); }

/* ── HERO ── */
.hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:56px;
  border-top:1px solid var(--ink);
  border-bottom:2px solid var(--ink);
}
@media(max-width:900px){ .hero { grid-template-columns:1fr; } }

.hero-left {
  padding:56px 56px 56px 0;
  border-right:1px solid var(--rule-mid);
  display:flex; flex-direction:column; justify-content:center;
}
@media(max-width:900px){ .hero-left { padding:40px 0; border-right:none; border-bottom:1px solid var(--rule); } }

.eyebrow {
  font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--red); margin-bottom:1.4rem;
  display:flex; align-items:center; gap:1rem;
}
.eyebrow::after { content:''; flex:1; height:1px; background:var(--rule); }

.lead-headline {
  font-family:var(--f-sans); font-weight:800;
  font-size:clamp(40px, 6vw, 80px);
  line-height:.97; letter-spacing:-.02em; text-transform:uppercase;
  color:var(--ink); margin-bottom:1.4rem;
}
.lead-headline .r { color:var(--red); font-style:italic; text-transform:none; }

.lead-deck {
  font-size:clamp(17px,1.9vw,22px); font-weight:400; line-height:1.6;
  color:var(--ink-dim); max-width:38ch; margin-bottom:2.4rem;
}

.cta-btn {
  display:inline-flex; align-items:center; gap:.8rem;
  padding:16px 28px;
  background:var(--red); color:var(--ink);
  font-family:var(--f-sans); font-size:13px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  border:1.5px solid var(--red);
  transition:background .2s;
}
.cta-btn:hover { background:var(--red-bright); border-color:var(--red-bright); }
.cta-btn svg { width:18px; height:18px; flex-shrink:0; }
.cta-note {
  margin-top:.9rem;
  font-size:12px; font-weight:500; letter-spacing:.08em;
  color:var(--ink-muted); text-transform:uppercase;
}

/* ── ANIMATION PANEL ── */
.hero-right {
  padding:56px 0 56px 56px;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  gap:32px;
  position:relative; overflow:hidden;
}
@media(max-width:900px){ .hero-right { padding:40px 0; } }

/* ── QUIZ ── */
.quiz-wrap { width:100%; max-width:420px; }
.quiz-cards { position:relative; aspect-ratio:4/5; }
.quiz-card {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity .4s ease, transform .4s ease;
  transform:translateX(30px);
  pointer-events:none;
}
.quiz-card.active {
  opacity:1; transform:translateX(0); pointer-events:auto; z-index:2;
}
.quiz-card.prev {
  opacity:0; transform:translateX(-30px); z-index:1;
}
.quiz-card.next {
  opacity:0; transform:translateX(30px); z-index:1;
}
.quiz-card-overlay {
  position:absolute; inset:0;
  background:linear-gradient(160deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.2) 55%, rgba(0,0,0,.5) 100%);
}
.quiz-cta-card {
  background:#080c14 !important;
  border:1px solid var(--rule-mid);
}
.quiz-card-content {
  position:absolute; inset:0; padding:32px;
  display:flex; flex-direction:column; justify-content:space-between;
  z-index:1;
}
.quiz-card-brand {
  font-family:var(--f-sans); font-weight:800; font-size:20px;
  letter-spacing:-.01em; color:#fff; text-transform:uppercase;
}
.quiz-card-body {
  font-family:var(--f-sans); font-weight:700; font-size:18px;
  color:#fff; line-height:1.4;
}
.quiz-card-body p { margin-bottom:.8rem; }
.quiz-card-body .r { color:var(--red); }
.quiz-card-q { color:var(--red) !important; font-size:18px; margin-top:.4rem; }
.quiz-sig { height:52px; opacity:.75; filter:brightness(1.2); align-self:flex-end; }
.quiz-nav {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:14px; gap:12px;
}
.quiz-prev, .quiz-next {
  width:40px; height:40px; border:1px solid var(--rule-mid);
  background:rgba(255,255,255,.04); color:var(--ink);
  font-size:18px; font-family:var(--f-sans);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .15s, border-color .15s;
  flex-shrink:0;
}
.quiz-prev:hover, .quiz-next:hover { background:var(--red); border-color:var(--red); }
.quiz-dots { display:flex; gap:6px; align-items:center; }
.quiz-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--rule-mid); transition:background .2s, width .2s;
}
.quiz-dot.active { background:var(--red); width:18px; border-radius:3px; }
@media(max-width:900px){ .quiz-wrap { max-width:100%; } }

/* ── ANIMATION CHART (kept for reference, removed from hero) ── */
.chart-wrap {
  width:100%; max-width:460px;
  background:var(--paper-2);
  border:1px solid var(--rule);
  padding:24px;
  position:relative;
}
.chart-label {
  font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-muted); margin-bottom:16px;
  display:flex; justify-content:space-between;
}
.chart-label .up { color:#5fa86a; }
.chart-label .dn { color:var(--red); }
.chart-svg { width:100%; height:140px; overflow:visible; }
.chart-grid line { stroke:rgba(236,228,211,.07); stroke-width:1; }
.chart-line {
  fill:none; stroke:var(--red); stroke-width:2.5;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:800; stroke-dashoffset:800;
  animation: drawLine 2.4s var(--ease) forwards;
  animation-delay:.5s;
}
.chart-area {
  fill:url(#chartGrad);
  opacity:0;
  animation: fadeArea .6s ease forwards;
  animation-delay:2.8s;
}
.chart-dot {
  fill:var(--red); r:5;
  opacity:0;
  animation: popDot .3s var(--ease) forwards;
  animation-delay:2.7s;
}
@keyframes drawLine { to { stroke-dashoffset:0; } }
@keyframes fadeArea { to { opacity:1; } }
@keyframes popDot   { to { opacity:1; } }

/* Ticker tapes on chart */
.chart-ticks {
  display:flex; justify-content:space-between;
  font-size:9px; font-weight:600; letter-spacing:.1em;
  color:var(--ink-muted); margin-top:8px;
}

/* ── PIGGY BANK ANIMATION ── */
.piggy-wrap {
  position:relative; width:180px; height:180px;
}
.piggy-svg { width:100%; height:100%; }

/* Coins */
.coin {
  animation: coinFall 1.2s ease-in infinite;
  transform-origin: center;
}
.coin:nth-child(1) { animation-delay:0s; }
.coin:nth-child(2) { animation-delay:0.4s; }
.coin:nth-child(3) { animation-delay:0.8s; }
@keyframes coinFall {
  0%   { transform:translateY(-40px) rotate(0deg); opacity:1; }
  80%  { opacity:1; }
  100% { transform:translateY(40px) rotate(180deg); opacity:0; }
}

/* Piggy bank body wobble */
.piggy-body { animation: piggyWobble 2s ease-in-out infinite; transform-origin:90px 120px; }
@keyframes piggyWobble {
  0%,100% { transform:rotate(0deg); }
  25%      { transform:rotate(-1.5deg); }
  75%      { transform:rotate(1.5deg); }
}

/* ── TICKER ── */
.stoppress {
  padding:14px 0;
  border-top:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink);
  background:var(--paper-2); overflow:hidden; position:relative;
  font-family:var(--f-sans); font-size:11px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:var(--ink-dim);
  white-space:nowrap; margin-top:80px;
}
.stoppress-label {
  position:absolute; left:0; top:0; bottom:0; padding:0 20px;
  background:var(--red); color:var(--ink); z-index:2;
  display:flex; align-items:center; font-size:10px; letter-spacing:.18em;
  border-right:1.5px solid var(--ink);
}
.stoppress-track {
  display:inline-flex; white-space:nowrap; padding-left:150px;
  animation: marq 60s linear infinite;
}
.stoppress-item { display:inline-flex; align-items:center; padding-right:2.5rem; }
.stoppress-item::before { content:'✦'; color:var(--red); margin-right:2.5rem; }
@keyframes marq { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── THE GAP ── */
.gap-section { padding:96px 0; border-bottom:1px solid var(--rule); }
.section-runhead {
  display:flex; justify-content:space-between;
  padding-bottom:14px; margin-bottom:52px;
  font-size:10px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-muted); border-bottom:1px solid var(--rule);
}
.section-runhead .folio { color:var(--red); }

.gap-headline {
  font-family:var(--f-sans); font-weight:800;
  font-size:clamp(36px,5.5vw,74px);
  line-height:.97; letter-spacing:-.02em; text-transform:uppercase;
  color:var(--ink); max-width:18ch; margin-bottom:1.2rem;
}
.gap-headline .r { color:var(--red); font-style:italic; text-transform:none; }
.gap-intro {
  font-size:clamp(17px,1.9vw,22px); font-weight:400; line-height:1.6;
  color:var(--ink-dim); max-width:46ch; margin-bottom:52px;
}

.gap-cols {
  display:grid; grid-template-columns:repeat(3,1fr); gap:0;
}
@media(max-width:880px){ .gap-cols { grid-template-columns:1fr; } }
.gap-col {
  padding:0 36px;
  border-left:1px solid var(--rule);
}
.gap-col:first-child { padding-left:0; border-left:none; }
@media(max-width:880px){
  .gap-col { padding:32px 0; border-left:none; border-top:1px solid var(--rule); }
  .gap-col:first-child { padding-top:0; border-top:none; }
}
.gap-col-num {
  font-size:10px; font-weight:700; letter-spacing:.25em; text-transform:uppercase;
  color:var(--red); margin-bottom:1rem;
}
.gap-col-head {
  font-family:var(--f-sans); font-weight:800;
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.05; letter-spacing:-.01em; text-transform:uppercase;
  color:var(--ink); margin-bottom:.9rem;
}
.gap-col-head .r { color:var(--red); font-style:italic; text-transform:none; }
.gap-col-body { font-size:15px; line-height:1.72; color:var(--ink-dim); }

/* Big quote */
.pull-quote {
  padding:96px 0;
  text-align:center;
  border-bottom:1px solid var(--rule);
  position:relative;
}
.pull-quote::before,.pull-quote::after {
  content:''; position:absolute; left:50%; transform:translateX(-50%);
  width:100px; height:1px; background:var(--ink);
}
.pull-quote::before { top:40px; }
.pull-quote::after  { bottom:40px; }
.pull-quote-text {
  font-family:var(--f-sans); font-weight:800;
  font-size:clamp(30px,5vw,72px); line-height:1.02;
  letter-spacing:-.02em; text-transform:uppercase; color:var(--ink);
  max-width:22ch; margin:0 auto 1.2rem;
}
.pull-quote-text .r { color:var(--red); font-style:italic; text-transform:none; }
.pull-quote-attr {
  font-size:15px; font-weight:500; color:var(--ink-dim); letter-spacing:.04em;
}

/* ── SERVICES ── */
.services-section { padding:96px 0; border-bottom:1px solid var(--rule); }
.services-header { margin-bottom:48px; }
.services-header h2 {
  font-family:var(--f-sans); font-weight:800;
  font-size:clamp(36px,5.5vw,72px); line-height:.97;
  letter-spacing:-.02em; text-transform:uppercase; color:var(--ink); margin-bottom:.8rem;
}
.services-header h2 .r { color:var(--red); font-style:italic; text-transform:none; }
.services-header p { font-size:18px; color:var(--ink-dim); max-width:46ch; line-height:1.6; }

.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--rule-mid);
}
@media(max-width:880px){ .services-grid { grid-template-columns:1fr; } }
.service {
  padding:36px 32px;
  border-right:1px solid var(--rule-mid);
}
.service:last-child { border-right:none; }
@media(max-width:880px){
  .service { border-right:none; border-bottom:1px solid var(--rule-mid); }
  .service:last-child { border-bottom:none; }
}
.service-num {
  font-size:10px; font-weight:700; letter-spacing:.25em; text-transform:uppercase;
  color:var(--red); margin-bottom:1.2rem;
}
.service-title {
  font-family:var(--f-sans); font-weight:800;
  font-size:clamp(24px,2.4vw,32px); line-height:1.02;
  text-transform:uppercase; letter-spacing:-.01em; color:var(--ink); margin-bottom:1rem;
}
.service-body { font-size:15px; line-height:1.72; color:var(--ink-dim); margin-bottom:1.2rem; }
.service-tag {
  font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:var(--ink-muted); padding-top:1rem; border-top:1px solid var(--rule);
}

/* ── CTA SECTION ── */
.cta-section {
  padding:110px 0 100px;
  text-align:center;
}
.cta-rules { display:flex; justify-content:center; gap:5px; margin-bottom:2.5rem; }
.cta-rules span { display:block; height:3px; background:var(--ink); width:100px; }
.cta-rules span.r { background:var(--red); }
.cta-kicker {
  font-size:11px; font-weight:700; letter-spacing:.28em; text-transform:uppercase;
  color:var(--red); margin-bottom:1rem;
}
.cta-headline {
  font-family:var(--f-sans); font-weight:800;
  font-size:clamp(40px,6.5vw,88px); line-height:.97;
  letter-spacing:-.02em; text-transform:uppercase; color:var(--ink);
  margin-bottom:1.4rem;
}
.cta-headline .r { color:var(--red); font-style:italic; text-transform:none; }
.cta-deck {
  font-size:clamp(17px,1.9vw,22px); color:var(--ink-dim); max-width:44ch;
  margin:0 auto 2.8rem; line-height:1.58;
}
.cta-big-btn {
  display:inline-flex; align-items:center; gap:1rem;
  padding:22px 44px;
  background:var(--red); color:var(--ink);
  font-family:var(--f-sans); font-size:15px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  border:1.5px solid var(--red);
  transition:background .2s, transform .25s var(--ease);
}
.cta-big-btn:hover { background:var(--red-bright); border-color:var(--red-bright); }
.cta-big-btn svg { width:22px; height:22px; }
.cta-fine {
  margin-top:1.6rem; font-size:13px; font-weight:500;
  color:var(--ink-muted); letter-spacing:.06em;
}
.cta-sig {
  margin-top:2.4rem;
  font-family:var(--f-script); font-size:54px;
  color:rgba(236,228,211,.55); line-height:1;
}

/* ── FOOTER ── */
.footer {
  padding:52px 0 40px;
  border-top:3px double var(--ink);
}
.footer-inner {
  display:flex; justify-content:space-between; align-items:flex-end;
  flex-wrap:wrap; gap:2rem;
}
.footer-brand {
  font-family:var(--f-sans); font-weight:800;
  font-size:22px; letter-spacing:-.01em; text-transform:uppercase; color:var(--ink);
  margin-bottom:.4rem;
}
.footer-brand .r { color:var(--red); }
.footer-sub { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-muted); }
.footer-links {
  display:flex; gap:2rem; flex-wrap:wrap;
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-muted);
}
.footer-links a { transition:color .2s; }
.footer-links a:hover { color:var(--red); }
.footer-copy {
  width:100%;
  font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-faint); padding-top:1.4rem; border-top:1px solid var(--rule);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem;
}

/* Reveal on scroll */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity:1; transform:translateY(0); }

@media(max-width:880px){
  .structures-grid { grid-template-columns:1fr 1fr !important; }
  .structures-grid > div { border-right:none !important; border-bottom:1px solid var(--rule-mid); }
  .structures-grid > div:nth-child(odd) { border-right:1px solid var(--rule-mid) !important; }
  .structures-grid > div:last-child { border-bottom:none; }
}
@media(max-width:600px){
  .download-box { grid-template-columns:1fr !important; padding:28px 24px !important; }
  .newsletter-inner { grid-template-columns:1fr !important; gap:2rem !important; padding:32px 24px 36px !important; }
  .structures-grid { grid-template-columns:1fr !important; }
  .structures-grid > div { border-right:none !important; }
}

/* ── MOBILE RESPONSIVE ── */
@media(max-width:480px){
  /* Masthead */
  .masthead { padding:90px 0 0; margin-top:24px; }
  .masthead-kicker { font-size:10px; letter-spacing:.18em; margin-bottom:1rem; }
  .nameplate { font-size:clamp(36px, 14vw, 72px); margin-bottom:1rem; }
  .masthead-sub { font-size:12px; letter-spacing:.14em; margin-bottom:1.5rem; }
  .masthead-meta { padding:10px 0; font-size:9px; letter-spacing:.15em; gap:.4rem 1rem; }
  
  /* Hero */
  .hero { margin-top:40px; }
  .hero-left { padding:32px 0; }
  .eyebrow { font-size:10px; margin-bottom:1rem; }
  .lead-headline { font-size:clamp(32px, 10vw, 48px); margin-bottom:1rem; }
  .lead-deck { font-size:15px; margin-bottom:2rem; }
  .cta-btn { padding:14px 20px; font-size:11px; width:100%; justify-content:center; }
  .cta-note { font-size:10px; text-align:center; }
  
  /* Quiz/Carousel */
  .hero-right { padding:32px 0; }
  .quiz-wrap { max-width:100%; }
  .quiz-nav { margin-top:12px; }
  .quiz-prev, .quiz-next { width:36px; height:36px; font-size:16px; }
  
  /* Sections */
  .gap-section { padding:64px 0; }
  .section-runhead { font-size:9px; padding-bottom:12px; margin-bottom:36px; }
  .gap-headline { font-size:clamp(28px, 8vw, 48px); }
  .gap-intro { font-size:15px; margin-bottom:36px; }
  .gap-col { padding:24px 0; }
  .gap-col-num { font-size:9px; }
  .gap-col-head { font-size:clamp(18px, 5vw, 24px); }
  .gap-col-body { font-size:14px; }
  
  /* Pull Quote */
  .pull-quote { padding:64px 0; }
  .pull-quote::before { top:24px; width:60px; }
  .pull-quote::after { bottom:24px; width:60px; }
  .pull-quote-text { font-size:clamp(24px, 7vw, 48px); }
  .pull-quote-attr { font-size:13px; }
  
  /* Services */
  .services-section { padding:64px 0; }
  .services-header { margin-bottom:32px; }
  .services-header h2 { font-size:clamp(28px, 8vw, 48px); }
  .services-header p { font-size:15px; }
  .service { padding:28px 20px; }
  .service-num { font-size:9px; }
  .service-title { font-size:clamp(20px, 5vw, 28px); }
  .service-body { font-size:14px; }
  .service-tag { font-size:9px; }
  
  /* CTA Section */
  .cta-section { padding:64px 0 56px; }
  .cta-rules span { width:60px; }
  .cta-kicker { font-size:10px; }
  .cta-headline { font-size:clamp(32px, 10vw, 56px); }
  .cta-deck { font-size:15px; margin-bottom:2rem; }
  .cta-big-btn { padding:18px 28px; font-size:13px; width:100%; justify-content:center; }
  .cta-fine { font-size:11px; }
  
  /* Footer */
  .footer { padding:40px 0 32px; }
  .footer-inner { flex-direction:column; align-items:flex-start; gap:1.5rem; }
  .footer-brand { font-size:18px; }
  .footer-sub { font-size:10px; }
  .footer-links { gap:1.2rem; font-size:10px; }
  .footer-copy { font-size:9px; flex-direction:column; gap:.4rem; }
  
  /* Ticker */
  .stoppress { margin-top:48px; padding:12px 0; font-size:10px; }
  .stoppress-label { padding:0 14px; font-size:9px; }
  .stoppress-track { padding-left:110px; }
  .stoppress-item { padding-right:2rem; }
  .stoppress-item::before { margin-right:2rem; }
  
  /* Top Strip */
  .topstrip-inner { padding:8px 16px; font-size:10px; }
  .topstrip-cta { padding:5px 12px; font-size:9px; }
}

@media(prefers-reduced-motion:reduce){
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
  .stoppress-track { animation:none; }
  .cursor { display:none; } body { cursor:auto; }
}
