/* ===================================================================
   Estima Schedule — Marketing / Bridge Page
   Palette and type are pulled directly from the live Estima Schedule
   app (EstimaSchedule.tsx: the `C` design-token object, and the
   'Space Grotesk' + 'IBM Plex Sans' / 'IBM Plex Mono' typefaces used
   in AppStyles) — this is Schedule's own cobalt/blueprint identity,
   not EstimaOS's warm cream-and-orange one. The structural patterns
   (device frame, alternating showcase rows, guide accordion, pricing
   cards, FAQ, CTA band) mirror the EstimaOS bridge page for
   consistency across the platform, but every color below is
   Schedule's own.
   =================================================================== */

:root{
  --bg:#e9eef7;
  --bg-card:#ffffff;
  --bg-panel:#e2e9f5;
  --surface:#ffffff;
  --border:#ccd7ec;
  --border-bright:#7a97d1;
  --ink:#0a1526;
  --ink-soft:#4c5d7d;
  --ink-dim:#8a9ab4;
  --accent:#2b4fd8;           /* signature cobalt */
  --accent-deep:#1c37a3;
  --accent-dim:rgba(43,79,216,0.10);
  --accent-dim2:rgba(43,79,216,0.06);
  --cyan:#0891b2;
  --green:#16a34a;
  --green-dim:rgba(22,163,74,0.10);
  --amber:#d97706;
  --amber-dim:rgba(217,119,6,0.10);
  --red:#dc2626;
  --red-dim:rgba(220,38,38,0.08);
  --purple:#7c3aed;
  /* cyanotype canvas — the actual color scheme of the app's own Gantt
     screen (deep Prussian blue, white linework, amber critical path).
     Used here only as a decorative echo behind the hero device and in
     the Critical Path explainer, never as a body/background color. */
  --blue900:#0a1f3f;
  --blue800:#0d2a52;
  --blue700:#123a6e;
  --blue-line:rgba(255,255,255,0.13);
  --blue-ink:#eef4ff;
  --blue-ink-soft:rgba(238,244,255,0.68);
  --blue-amber:#f59e0b;
  --blue-mint:#34d399;
  --grad-blue:linear-gradient(135deg,#3f63ea 0%,#2b4fd8 55%,#1c37a3 100%);
  --shadow-card:0 1px 2px rgba(10,21,38,0.05), 0 10px 26px -12px rgba(43,79,216,0.18);
  --shadow-lift:0 22px 50px -18px rgba(10,21,38,0.30);
  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --tr:0.22s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'IBM Plex Sans',-apple-system,system-ui,sans-serif;
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
ul{list-style:none}
.container{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{
  font-family:'Space Grotesk','IBM Plex Sans',sans-serif;
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--ink);
  line-height:1.12;
}
.mono,.es-mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
::selection{background:rgba(43,79,216,0.20);color:var(--ink)}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:99px}

a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;border-radius:6px;
}

/* ── SKIP LINK ─────────────────────────────────────────────── */
.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:10px 18px;border-radius:0 0 8px 0;z-index:999;font-weight:700}
.skip-link:focus{left:0}

/* ── TOP RIBBON: back to Estima ───────────────────────────── */
.ribbon{
  background:var(--ink);color:#eaf0ff;font-size:12.5px;font-weight:600;
  text-align:center;padding:8px 16px;letter-spacing:0.01em;
}
.ribbon a{color:#8fb0ff;font-weight:800;border-bottom:1px solid rgba(143,176,255,0.4)}
.ribbon a:hover{border-color:#8fb0ff}

/* ── NAV ───────────────────────────────────────────────────── */
.nav{
  position:sticky;top:0;z-index:200;
  background:rgba(233,238,247,0.86);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:1160px;margin:0 auto;padding:0 24px;height:66px;
  display:flex;align-items:center;gap:18px;
}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-logo-badge{
  width:34px;height:34px;border-radius:10px;background:var(--grad-blue);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:0 4px 14px -4px rgba(43,79,216,0.55);
}
.nav-wordmark{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:-0.02em}
.nav-wordmark span{color:var(--accent)}
.nav-tag{display:block;font-size:9.5px;color:var(--ink-soft);letter-spacing:0.12em;text-transform:uppercase;font-weight:600;margin-top:1px}
.nav-links{display:flex;align-items:center;gap:24px;margin-left:8px}
.nav-links a{font-size:0.86rem;font-weight:600;color:var(--ink-soft);transition:color var(--tr);white-space:nowrap}
.nav-links a:hover{color:var(--accent)}
.nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}

@media(max-width:880px){
  .nav-inner{height:auto;flex-wrap:wrap;padding:10px 18px}
  .nav-links{
    order:3;width:100%;margin-left:0;gap:20px;padding:10px 2px 2px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    mask-image:linear-gradient(90deg,transparent,black 4%,black 96%,transparent);
  }
  .nav-links::-webkit-scrollbar{display:none}
}
@media(max-width:420px){
  .nav-tag{display:none}
}

/* ── BUTTONS ───────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:0.95rem;padding:14px 26px;border-radius:99px;
  border:none;transition:transform var(--tr),box-shadow var(--tr),filter var(--tr);
  white-space:nowrap;
}
.btn-primary{
  background:var(--grad-blue);color:#fff;
  box-shadow:0 10px 30px -8px rgba(43,79,216,0.55), inset 0 1px 0 rgba(255,255,255,0.25);
}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-primary:active{transform:translateY(0) scale(0.98)}
.btn-secondary{
  background:var(--bg-card);color:var(--ink);border:1.5px solid var(--border);
}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid transparent;padding:10px 16px;font-size:0.86rem}
.btn-ghost:hover{color:var(--accent)}
.btn-sm{padding:10px 18px;font-size:0.84rem}
.btn-block{width:100%}

/* ── HERO ──────────────────────────────────────────────────── */
.hero{position:relative;padding:64px 24px 40px;overflow:hidden}
.hero::before{
  content:'';position:absolute;top:-180px;left:50%;transform:translateX(-50%);
  width:1100px;height:640px;pointer-events:none;
  background:
    radial-gradient(ellipse 50% 55% at 30% 40%, rgba(43,79,216,0.16) 0%, transparent 70%),
    radial-gradient(ellipse 40% 45% at 72% 30%, rgba(8,145,178,0.08) 0%, transparent 72%);
}
.hero-inner{
  max-width:1160px;margin:0 auto;position:relative;
  display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:0.76rem;font-weight:700;
  letter-spacing:0.06em;color:var(--accent);background:var(--accent-dim);
  border:1px solid rgba(43,79,216,0.24);padding:7px 16px 7px 12px;border-radius:99px;margin-bottom:22px;
}
.hero-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero h1{font-size:clamp(2.5rem,4.6vw,3.6rem);margin-bottom:16px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-sub{font-size:1.08rem;color:var(--ink-soft);max-width:520px;margin-bottom:30px;line-height:1.7}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px}
.hero-chip{
  display:flex;align-items:center;gap:7px;font-size:0.78rem;color:var(--ink-soft);
  background:var(--bg-card);border:1px solid var(--border);padding:7px 13px;border-radius:99px;font-weight:600;
}
.hero-chip b{color:var(--ink);font-weight:800}

/* Device frame around screenshots.
   Do not rotate/skew this element or its img — even a 1-2deg CSS
   transform forces the browser to resample the bitmap off-axis,
   visibly softening small UI text regardless of source resolution.
   Visual interest comes from elevation (shadow), a color glow behind
   the frame, corner "registration marks" (an actual motif borrowed
   from the app's own Gantt canvas), and a hover lift — all of which
   leave the image itself pixel-aligned and crisp. */
.hero-visual{position:relative}
.device{
  position:relative;background:var(--bg-card);border-radius:20px;padding:9px;
  border:1px solid var(--border);box-shadow:var(--shadow-lift);
  transition:transform 0.3s cubic-bezier(.4,0,.2,1),box-shadow 0.3s ease;
  isolation:isolate;
}
.device::before{
  content:'';position:absolute;inset:-2px;z-index:-1;border-radius:22px;
  background:var(--grad-blue);opacity:0;filter:blur(22px);
  transition:opacity 0.3s ease;pointer-events:none;
}
.device:hover{transform:translateY(-6px)}
.device:hover::before{opacity:0.24}
.device-bar{display:flex;align-items:center;gap:6px;padding:5px 7px 10px}
.device-dot{width:9px;height:9px;border-radius:50%;background:var(--border)}
.device-dot:nth-child(1){background:#f0a3a3}
.device-dot:nth-child(2){background:#f3cf94}
.device-dot:nth-child(3){background:#a7dab5}
.device img{
  display:block;width:100%;height:auto;
  aspect-ratio:16/9;object-fit:cover;object-position:top center;
  background:var(--bg-panel);
  border-radius:12px;border:1px solid var(--border);
  image-rendering:auto;backface-visibility:hidden;
}
.device-badge{
  position:absolute;bottom:-16px;right:22px;background:var(--ink);color:#fff;
  font-size:0.72rem;font-weight:700;padding:9px 16px;border-radius:99px;
  box-shadow:0 10px 24px -8px rgba(10,21,38,0.4);display:flex;align-items:center;gap:6px;
}
.device-badge b{color:#8fb0ff}
/* Registration-mark corners — the same "corner-frame" trim-mark motif
   the live app uses on its Gantt canvas (.es-corner-frame). Applied
   here as a decorative signature rather than functional UI. */
.corner-frame{position:relative}
.corner-frame::before,.corner-frame::after{content:"";position:absolute;width:14px;height:14px;pointer-events:none;z-index:2}
.corner-frame::before{top:-1px;left:-1px;border-top:2px solid var(--blue-amber);border-left:2px solid var(--blue-amber)}
.corner-frame::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--blue-amber);border-right:2px solid var(--blue-amber)}
.float-card{
  position:absolute;background:var(--bg-card);border:1px solid var(--border);
  border-radius:14px;padding:12px 14px;box-shadow:var(--shadow-card);
  font-size:0.78rem;font-weight:700;display:flex;align-items:center;gap:9px;
}
.float-card.fc1{top:-18px;left:-26px}
.float-card.fc2{bottom:52px;left:-34px}
.float-icon{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}

@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:44px}
  .hero-visual{order:-1;max-width:440px;margin:0 auto}
  .float-card{display:none}
}

/* ── SECTION SHARED ───────────────────────────────────────── */
.section{padding:88px 24px;position:relative}
.section-tight{padding-top:0}
.section-head{max-width:640px;margin:0 auto 52px}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.eyebrow{
  display:inline-block;font-size:0.74rem;font-weight:700;letter-spacing:0.07em;
  color:var(--accent);background:var(--accent-dim);border:1px solid rgba(43,79,216,0.2);
  padding:6px 14px;border-radius:99px;margin-bottom:16px;
}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.35rem);margin-bottom:14px}
.section-head p{color:var(--ink-soft);font-size:1.02rem;line-height:1.7}
.section-alt{background:var(--bg-panel);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.divider{height:1px;max-width:1160px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--border),transparent)}

/* ── STAT STRIP ───────────────────────────────────────────── */
.stat-strip{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 24px 8px}
.stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:22px 20px;box-shadow:var(--shadow-card)}
.stat b{display:block;font-family:'Space Grotesk',sans-serif;font-size:1.7rem;font-weight:800;color:var(--accent);margin-bottom:4px}
.stat span{font-size:0.82rem;color:var(--ink-soft);font-weight:500}
@media(max-width:880px){.stat-strip{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.stat-strip{grid-template-columns:1fr}}

/* ── SHOWCASE (alternating feature rows) ─────────────────── */
.showcase{max-width:1160px;margin:0 auto;display:flex;flex-direction:column;gap:96px}
.show-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.show-row.rev .show-media{order:2}
.show-row.rev .show-copy{order:1}
.show-num{font-family:'Space Grotesk',sans-serif;font-size:0.8rem;font-weight:800;color:var(--accent);letter-spacing:0.08em;margin-bottom:12px;display:block}
.show-copy h3{font-size:1.55rem;margin-bottom:14px}
.show-copy p{color:var(--ink-soft);font-size:1rem;line-height:1.75;margin-bottom:18px}
.show-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.show-list li{display:flex;gap:10px;align-items:flex-start;font-size:0.92rem;color:var(--ink-soft)}
.show-list li b{color:var(--ink);font-weight:600}
.show-list svg{flex-shrink:0;margin-top:3px;color:var(--green)}
.show-media{position:relative}
.show-media .device{padding:8px}
.show-thumbs{display:flex;gap:12px;margin-top:14px}
.show-thumbs .device{padding:6px;border-radius:16px}
.show-thumbs .device img{border-radius:9px}
@media(max-width:900px){
  .show-row,.show-row.rev{grid-template-columns:1fr}
  .show-row.rev .show-media,.show-row.rev .show-copy{order:0}
  .showcase{gap:64px}
  .show-thumbs{flex-wrap:wrap}
}

/* ── STEPS (onboarding / how it works) ───────────────────── */
.steps{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.step{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--border)}
.step:last-child{border-bottom:none}
.step-num{
  width:44px;height:44px;border-radius:13px;background:var(--bg-card);
  border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-weight:800;color:var(--accent);font-size:1.02rem;
}
.step h4{font-size:1.05rem;margin-bottom:6px}
.step p{color:var(--ink-soft);font-size:0.92rem;line-height:1.7}

/* ── FEATURE GRID (icon cards, no screenshot) ────────────── */
.feat-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);padding:26px 24px;box-shadow:var(--shadow-card);transition:transform var(--tr),border-color var(--tr)}
.feat-card:hover{transform:translateY(-4px);border-color:var(--border-bright)}
.feat-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.feat-card h4{font-size:1.02rem;margin-bottom:8px}
.feat-card p{color:var(--ink-soft);font-size:0.88rem;line-height:1.6}
.feat-pro{display:inline-block;margin-top:12px;font-size:0.68rem;font-weight:800;letter-spacing:0.06em;color:var(--accent);background:var(--accent-dim);padding:3px 9px;border-radius:99px}
@media(max-width:900px){.feat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.feat-grid{grid-template-columns:1fr}}

/* ── DEPENDENCY-TYPE BADGES (feature detail strip) ───────── */
.dep-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.dep-badge{display:flex;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:8px 12px}
.dep-badge b{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;font-weight:700;color:var(--accent);background:var(--accent-dim);padding:2px 7px;border-radius:6px}
.dep-badge span{font-size:0.78rem;color:var(--ink-soft)}

/* ── GUIDE ACCORDION ──────────────────────────────────────── */
.guide-wrap{max-width:820px;margin:0 auto}
.guide-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:10px;overflow:hidden;transition:border-color var(--tr)}
.guide-item[open]{border-color:var(--accent)}
.guide-item summary{
  list-style:none;cursor:pointer;padding:18px 20px;display:flex;align-items:center;gap:14px;
  font-weight:700;font-size:0.98rem;
}
.guide-item summary::-webkit-details-marker{display:none}
.guide-num{
  width:30px;height:30px;border-radius:9px;background:var(--accent-dim);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:0.82rem;font-weight:800;flex-shrink:0;
}
.guide-chevron{margin-left:auto;flex-shrink:0;transition:transform var(--tr);color:var(--ink-dim)}
.guide-item[open] .guide-chevron{transform:rotate(180deg)}
.guide-body{padding:0 20px 20px 64px;color:var(--ink-soft);font-size:0.9rem;line-height:1.85;white-space:pre-line}

/* ── PRICING ──────────────────────────────────────────────── */
.pricing-grid{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.plan-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--shadow-card)}
.plan-card.plan-pro{border-color:var(--accent);position:relative;background:linear-gradient(180deg,#fff,var(--bg-panel))}
.plan-badge{position:absolute;top:-13px;right:26px;background:var(--grad-blue);color:#fff;font-size:0.7rem;font-weight:800;padding:6px 14px;border-radius:99px;box-shadow:0 8px 18px -6px rgba(43,79,216,0.5)}
.plan-name{font-size:0.82rem;font-weight:800;letter-spacing:0.05em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:10px}
.plan-price{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:800;margin-bottom:6px}
.plan-price span{font-size:0.95rem;font-weight:600;color:var(--ink-soft)}
.plan-sub{font-size:0.86rem;color:var(--ink-soft);margin-bottom:22px;line-height:1.6}
.plan-list{display:flex;flex-direction:column;gap:11px;margin-bottom:24px}
.plan-list li{display:flex;gap:10px;align-items:flex-start;font-size:0.9rem}
.plan-list svg{flex-shrink:0;margin-top:2px}
.plan-list.free svg{color:var(--green)}
.plan-list.pro svg{color:var(--accent)}
@media(max-width:760px){.pricing-grid{grid-template-columns:1fr}}

/* ── FAQ ──────────────────────────────────────────────────── */
.faq-wrap{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.faq-item[open]{border-color:var(--accent)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;font-size:0.95rem;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.3rem;color:var(--accent);width:24px;height:24px;border-radius:50%;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--tr)}
.faq-item[open] summary::after{transform:rotate(45deg);background:var(--accent);color:#fff}
.faq-a{padding:0 22px 20px;color:var(--ink-soft);font-size:0.9rem;line-height:1.8}

/* ── FINAL CTA ────────────────────────────────────────────── */
.cta-band{
  max-width:940px;margin:0 auto;background:linear-gradient(160deg,var(--blue800) 0%,var(--blue900) 82%);
  border-radius:28px;padding:64px 48px;text-align:center;position:relative;overflow:hidden;
}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 30%, rgba(43,79,216,0.35) 0%, transparent 55%);pointer-events:none}
.cta-band::after{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--blue-line) 1px,transparent 1px),linear-gradient(90deg,var(--blue-line) 1px,transparent 1px);background-size:26px 26px;opacity:0.5;pointer-events:none;mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%)}
.cta-band h2{color:var(--blue-ink);font-size:clamp(1.6rem,3.4vw,2.15rem);margin-bottom:14px;position:relative}
.cta-band p{color:var(--blue-ink-soft);max-width:480px;margin:0 auto 30px;position:relative;line-height:1.7}
.cta-band .btn-primary{position:relative}
.cta-band .btn-secondary{position:relative;background:rgba(255,255,255,0.06);color:var(--blue-ink);border-color:var(--blue-line)}
.cta-band .btn-secondary:hover{border-color:var(--blue-amber);color:var(--blue-amber)}
@media(max-width:640px){.cta-band{padding:44px 26px}}

/* ── FOOTER ───────────────────────────────────────────────── */
footer{border-top:1px solid var(--border);padding:52px 24px 34px;background:var(--bg-card)}
.footer-inner{max-width:1160px;margin:0 auto;display:flex;flex-direction:column;gap:26px}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:22px;align-items:flex-start}
.footer-brand{display:flex;align-items:center;gap:10px}
.footer-links{display:flex;gap:36px;flex-wrap:wrap}
.footer-col h5{font-size:0.72rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:12px}
.footer-col a{display:block;font-size:0.85rem;color:var(--ink-soft);margin-bottom:9px;transition:color var(--tr)}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{font-size:0.78rem;color:var(--ink-dim);padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ── REDUCED MOTION ───────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0.01ms!important}
  html{scroll-behavior:auto}
}

/* ── MOBILE PASS ──────────────────────────────────────────── */
@media(max-width:640px){
  .hero{padding:40px 18px 24px}
  .section{padding:60px 18px}
  .hero-ctas .btn{flex:1;justify-content:center}
  .cta-band .btn{width:100%}
}
