*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* ── Harvey × Legora colour system ── */
  --navy:       #0E0E0E;   /* Harvey near-black — primary dark bg */
  --navy-mid:   #1A1A1A;   /* dark charcoal — card backgrounds */
  --navy-light: #2A2A2A;   /* mid charcoal — borders, hover states */
  --blue:       #3A5A8C;   /* Legora slate blue — secondary accent */
  --teal:       #6B7B5E;   /* muted sage green — replaces bright teal */
  --gold:       #D4821A;   /* deep amber-orange — primary CTA accent */
  --gold-light: #E89A3C;   /* lighter amber — hover states */
  --white:      #FFFFFF;
  --off-white:  #F5F0E8;   /* Legora warm cream — light section bg */
  --gray:       #8A8A8A;   /* neutral mid-gray */
  --light-gray: #C8C0B4;   /* warm light gray */
  --dark-gray:  #3A3530;   /* warm dark — body text on light bg */
}

html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', sans-serif;
  background: var(--navy);
  color: var(--white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 52px; height: 68px;
  background: rgba(14,14,14,0.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: background 0.3s;
}
.nav-logo { font-family:'EB Garamond',serif; font-size:1.5rem; font-weight:700; color:var(--white); text-decoration:none; letter-spacing:-0.01em; }
.nav-logo span { color:var(--gold); }
.nav-links { display:flex; gap:30px; list-style:none; }
.nav-links a { font-size:0.76rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; color:var(--gray); text-decoration:none; transition:color 0.2s; }
.nav-links a:hover { color:var(--white); }
.nav-links a.highlight { color:var(--gold); }
.nav-links a.highlight:hover { color:var(--gold-light); }
.nav-cta { display:flex; align-items:center; gap:14px; }
.btn-ghost { font-size:0.78rem; font-weight:500; color:var(--light-gray); text-decoration:none; padding:8px 20px; border:1px solid rgba(255,255,255,0.15); border-radius:4px; transition:all 0.2s; }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
.btn-primary { font-size:0.78rem; font-weight:600; color:var(--navy); background:var(--gold); text-decoration:none; padding:9px 22px; border-radius:4px; transition:all 0.2s; }
.btn-primary:hover { background:var(--gold-light); }

/* ── HERO ── */
#hero {
  min-height: 100vh; display:flex; align-items:center;
  padding: 120px 52px 80px; position:relative; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 55% 60% at 75% 45%, rgba(58,90,140,0.10) 0%, transparent 65%),
    radial-gradient(ellipse 35% 50% at 15% 75%, rgba(107,123,94,0.07) 0%, transparent 55%);
}
.hero-grid-lines {
  position:absolute; inset:0; opacity:0.25;
  background-image: linear-gradient(rgba(58,90,140,0.12) 1px, transparent 1px), linear-gradient(90deg, rgba(58,90,140,0.12) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 65% 65% at 60% 50%, black 30%, transparent 80%);
}
.hero-inner { position:relative; z-index:1; max-width:1240px; width:100%; margin:0 auto; display:grid; grid-template-columns:1fr 480px; gap:72px; align-items:center; }
.hero-eyebrow { font-family:'JetBrains Mono',monospace; font-size:0.68rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--teal); display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--teal); }
.hero-title { font-family:'EB Garamond',serif; font-size:clamp(2.8rem,4.8vw,4.4rem); font-weight:600; line-height:1.07; letter-spacing:-0.02em; margin-bottom:24px; }
.hero-title em { font-style:italic; color:var(--gold); }
.hero-sub { font-size:1.02rem; font-weight:400; line-height:1.72; color:var(--gray); max-width:520px; margin-bottom:36px; }
.hero-sub strong { color:var(--light-gray); font-weight:500; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px; }
.btn-lg { font-size:0.84rem; font-weight:600; letter-spacing:0.05em; padding:14px 30px; border-radius:4px; text-decoration:none; transition:all 0.2s; }
.btn-lg.gold { background:var(--gold); color:var(--navy); }
.btn-lg.gold:hover { background:var(--gold-light); transform:translateY(-1px); }
.btn-lg.outline { border:1px solid rgba(255,255,255,0.2); color:var(--light-gray); }
.btn-lg.outline:hover { border-color:var(--white); color:var(--white); }
.hero-badges { display:flex; gap:10px; flex-wrap:wrap; }
.badge { display:inline-flex; align-items:center; gap:7px; font-size:0.72rem; font-weight:500; color:var(--gray); padding:7px 14px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07); border-radius:100px; }
.badge-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; }
.badge-dot.teal { background:var(--teal); box-shadow:0 0 5px var(--teal); }
.badge-dot.gold { background:var(--gold); box-shadow:0 0 6px var(--gold); }
.badge-dot.blue { background:var(--blue); }

/* Hero card */
.hero-card { background:var(--navy-mid); border:1px solid rgba(255,255,255,0.07); border-radius:10px; overflow:hidden; box-shadow:0 32px 80px rgba(0,0,0,0.4); }
.card-bar { padding:14px 18px; border-bottom:1px solid rgba(255,255,255,0.07); display:flex; align-items:center; gap:7px; }
.cdot { width:10px; height:10px; border-radius:50%; }
.cdot-r{background:#FF5F57;} .cdot-y{background:#FEBC2E;} .cdot-g{background:#28C840;}
.card-bar-title { font-family:'JetBrains Mono',monospace; font-size:0.65rem; color:var(--gray); margin-left:8px; }
.card-doc-type { padding:18px 22px 0; font-family:'JetBrains Mono',monospace; font-size:0.62rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--teal); }
.card-doc-name { padding:8px 22px 16px; font-family:'EB Garamond',serif; font-size:1.15rem; font-weight:600; color:var(--white); }
.card-meta { margin:0 22px 16px; padding:12px 16px; background:rgba(107,123,94,0.10); border:1px solid rgba(107,123,94,0.25); border-radius:6px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.card-meta-label { font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gray); margin-bottom:3px; }
.card-meta-val { font-size:0.82rem; font-weight:600; color:var(--white); }
.card-meta-val.gold { color:var(--gold); }
.card-meta-val.teal { color:var(--teal); }
.card-sections { padding:0 22px 10px; display:flex; flex-direction:column; gap:3px; }
.card-row { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:4px; background:rgba(255,255,255,0.03); font-size:0.76rem; color:var(--light-gray); }
.card-row-icon { font-size:0.85rem; flex-shrink:0; }
.card-row span:last-child { margin-left:auto; font-size:0.65rem; font-family:'JetBrains Mono',monospace; }
.card-row span:last-child.done { color:var(--teal); }
.card-row span:last-child.warn { color:var(--gold); }
.card-row span:last-child.active { color:#7A9FC4; }
.card-progress { margin:10px 22px; height:3px; background:rgba(255,255,255,0.07); border-radius:2px; overflow:hidden; }
.card-progress-bar { height:100%; width:82%; background:linear-gradient(90deg,var(--gold),var(--blue)); border-radius:2px; animation:prog 2.5s ease-in-out infinite alternate; }
@keyframes prog { from{width:65%} to{width:92%} }
.card-footer { padding:12px 22px 18px; display:flex; align-items:center; justify-content:space-between; }
.card-status { font-family:'JetBrains Mono',monospace; font-size:0.62rem; color:var(--teal); letter-spacing:0.1em; display:flex; align-items:center; gap:6px; }
.card-status::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--teal); box-shadow:0 0 6px var(--gold); animation:blink 1.5s ease infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.35} }
.card-btn { font-size:0.7rem; font-weight:600; padding:7px 16px; background:var(--gold); color:var(--navy); border-radius:4px; border:none; cursor:pointer; font-family:'Inter',sans-serif; }

/* ── TICKER ── */
.jur-bar { background:var(--navy-mid); border-top:1px solid rgba(255,255,255,0.05); border-bottom:1px solid rgba(255,255,255,0.05); height:46px; overflow:hidden; display:flex; align-items:center; }
.jur-inner { display:inline-flex; animation:scrolll 32s linear infinite; white-space:nowrap; }
.jur-item { display:inline-flex; align-items:center; gap:10px; padding:0 40px; font-size:0.72rem; font-weight:500; letter-spacing:0.07em; color:var(--gray); text-transform:uppercase; }
.jur-sep { color:rgba(212,130,26,0.45); font-size:0.5rem; }
@keyframes scrolll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── SECTION COMMON ── */
section { padding:96px 52px; }
.container { max-width:1240px; margin:0 auto; }
.sec-eye { font-family:'JetBrains Mono',monospace; font-size:0.67rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--teal); display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.sec-eye::before { content:''; width:20px; height:1px; background:var(--teal); }
.sec-eye.on-light { color:var(--blue); }
.sec-eye.on-light::before { background:var(--blue); }
.sec-title { font-family:'EB Garamond',serif; font-size:clamp(1.8rem,3.2vw,2.75rem); font-weight:600; line-height:1.14; letter-spacing:-0.02em; margin-bottom:16px; }
.sec-title.dark { color:var(--navy); }
.sec-sub { font-size:0.97rem; line-height:1.72; color:var(--gray); max-width:560px; }
.sec-sub.dark { color:var(--dark-gray); }

/* ── STATS BAND ── */
#stats { background:var(--navy-mid); padding:0; }
.stats-band { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid rgba(255,255,255,0.05); }
.stat-cell { padding:52px 40px; border-right:1px solid rgba(255,255,255,0.06); border-top:1px solid rgba(255,255,255,0.05); border-bottom:1px solid rgba(255,255,255,0.05); }
.stat-num { font-family:'EB Garamond',serif; font-size:3rem; font-weight:700; line-height:1; margin-bottom:8px; }
.stat-num.g{color:var(--gold);} .stat-num.t{color:var(--teal);} .stat-num.b{color:#7A9FC4;} .stat-num.w{color:var(--white);}
.stat-label { font-size:0.8rem; color:var(--gray); line-height:1.5; }
.stat-sub { font-size:0.7rem; color:rgba(255,255,255,0.25); margin-top:4px; letter-spacing:0.04em; }

/* ════════════════════════════════════════════════
   ── YOUR FIRM. YOUR TEMPLATES. (USP SECTION) ──
   ════════════════════════════════════════════════ */
#your-templates { background:var(--navy); position:relative; overflow:hidden; }
#your-templates::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 55% at 30% 50%, rgba(212,130,26,0.05) 0%, transparent 65%),
             radial-gradient(ellipse 50% 60% at 85% 30%, rgba(58,90,140,0.05) 0%, transparent 55%);
  pointer-events:none;
}

.tmpl-layout {
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}

/* Left — copy */
.tmpl-overline {
  font-family:'JetBrains Mono',monospace;
  font-size:0.68rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold); display:flex; align-items:center; gap:10px; margin-bottom:20px;
}
.tmpl-overline::before { content:''; width:28px; height:2px; background:var(--gold); }

.tmpl-title {
  font-family:'EB Garamond',serif;
  font-size:clamp(2.2rem,3.8vw,3.4rem); font-weight:600; line-height:1.1;
  letter-spacing:-0.02em; margin-bottom:24px;
}
.tmpl-title em { font-style:italic; color:var(--gold); }

.tmpl-lead {
  font-size:1.05rem; line-height:1.75; color:var(--light-gray);
  max-width:520px; margin-bottom:40px; border-left:3px solid var(--gold);
  padding-left:20px;
}

.tmpl-pillars { display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.tmpl-pillar {
  display:flex; align-items:flex-start; gap:16px;
  padding:18px 20px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:6px;
  transition:background 0.2s, border-color 0.2s;
}
.tmpl-pillar:hover { background:rgba(212,130,26,0.06); border-color:rgba(212,130,26,0.2); }
.tmpl-pillar-icon { font-size:1.3rem; flex-shrink:0; margin-top:1px; }
.tmpl-pillar-body h4 { font-size:0.92rem; font-weight:600; color:var(--white); margin-bottom:4px; }
.tmpl-pillar-body p  { font-size:0.82rem; color:var(--gray); line-height:1.6; }

.tmpl-cta-row { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.tmpl-cta-note { font-size:0.78rem; color:var(--gray); }

/* Right — animated document mockup */
.tmpl-visual { position:relative; }

/* Firm branding badge above doc */
.tmpl-firm-badge {
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 16px;
  background:rgba(212,130,26,0.10); border:1px solid rgba(201,162,39,0.3);
  border-radius:4px; margin-bottom:16px;
  font-size:0.72rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--gold);
}
.tmpl-firm-badge::before { content:'✦'; font-size:0.6rem; }

/* The document mockup card */
.tmpl-doc {
  background:var(--white); border-radius:8px;
  box-shadow:0 40px 100px rgba(0,0,0,0.5);
  overflow:hidden; position:relative;
}

/* Firm letterhead strip */
.tmpl-doc-header {
  background:linear-gradient(135deg, #0E0E0E 0%, #2A2A2A 100%);
  padding:24px 32px 20px;
  display:flex; align-items:flex-start; justify-content:space-between;
}
.tmpl-doc-firm-name {
  font-family:'EB Garamond',serif;
  font-size:1.15rem; font-weight:700; color:var(--white); margin-bottom:3px;
}
.tmpl-doc-firm-sub { font-size:0.68rem; color:rgba(255,255,255,0.45); letter-spacing:0.08em; text-transform:uppercase; }
.tmpl-doc-firm-bar {
  width:3px; background:var(--gold); align-self:stretch; border-radius:2px; margin-left:20px;
  flex-shrink:0;
}
.tmpl-doc-firm-right { text-align:right; }
.tmpl-doc-firm-addr { font-size:0.65rem; color:rgba(255,255,255,0.35); line-height:1.7; }

/* Gold accent rule */
.tmpl-doc-rule { height:3px; background:linear-gradient(90deg, var(--gold), var(--blue)); }

/* Document body */
.tmpl-doc-body { padding:28px 32px; color:#1C1810; }

.tmpl-doc-ref {
  font-size:0.68rem; color:#888; letter-spacing:0.08em; text-transform:uppercase;
  margin-bottom:6px; font-family:'JetBrains Mono',monospace;
}
.tmpl-doc-date { font-size:0.78rem; color:#555; margin-bottom:20px; }

.tmpl-doc-subject {
  font-family:'EB Garamond',serif;
  font-size:1.1rem; font-weight:700; color:#0E0E0E;
  margin-bottom:4px;
}
.tmpl-doc-re { font-size:0.8rem; color:#444; margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid #DDD8CF; }

.tmpl-doc-para { font-size:0.78rem; color:#333; line-height:1.75; margin-bottom:12px; }
.tmpl-doc-para strong { color:#0E0E0E; font-weight:600; }

/* Opinion section */
.tmpl-doc-opinion {
  background:#F5F0E8; border-left:3px solid var(--gold);
  padding:14px 16px; margin:16px 0;
  border-radius:0 4px 4px 0;
}
.tmpl-doc-opinion-label { font-size:0.6rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#888; margin-bottom:6px; font-family:'JetBrains Mono',monospace; }
.tmpl-doc-opinion-text { font-size:0.78rem; color:#1C1810; line-height:1.65; font-family:'EB Garamond',serif; font-style:italic; }

/* Signature block */
.tmpl-doc-sig { margin-top:20px; padding-top:16px; border-top:1px solid #DDD8CF; }
.tmpl-doc-sig-name { font-family:'EB Garamond',serif; font-size:1rem; font-weight:600; color:#0E0E0E; margin-bottom:2px; }
.tmpl-doc-sig-title { font-size:0.72rem; color:#666; margin-bottom:1px; }
.tmpl-doc-sig-firm  { font-size:0.72rem; color:var(--blue); font-weight:500; }

/* AI badge overlay on doc */
.tmpl-doc-ai-badge {
  position:absolute; top:12px; right:12px;
  background:rgba(107,123,94,0.15); border:1px solid rgba(107,123,94,0.35);
  border-radius:4px; padding:5px 10px;
  font-family:'JetBrains Mono',monospace;
  font-size:0.58rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--teal); display:flex; align-items:center; gap:5px;
}
.tmpl-doc-ai-badge::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--teal); box-shadow:0 0 5px var(--teal); animation:blink 1.5s ease infinite; }

/* Toggle tabs showing "before/after" */
.tmpl-toggle {
  display:flex; gap:0; margin-bottom:16px;
  background:rgba(255,255,255,0.06); border-radius:6px; padding:3px;
  width:fit-content;
}
.tmpl-tab {
  font-size:0.72rem; font-weight:600; letter-spacing:0.05em;
  padding:7px 18px; border-radius:4px; cursor:pointer;
  color:var(--gray); border:none; background:none; font-family:'Inter',sans-serif;
  transition:all 0.2s;
}
.tmpl-tab.active { background:var(--navy-mid); color:var(--white); box-shadow:0 1px 4px rgba(0,0,0,0.3); }

/* ── FEATURE CHECKLIST (under template section) ── */
.tmpl-checklist {
  margin-top:64px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
  background:rgba(255,255,255,0.05); border-radius:8px; overflow:hidden;
}
.tmpl-check-cell {
  background:var(--navy-mid); padding:32px 28px;
  display:flex; align-items:flex-start; gap:14px;
  transition:background 0.2s;
}
.tmpl-check-cell:hover { background:rgba(212,130,26,0.07); }
.tmpl-check-mark {
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  background:rgba(212,130,26,0.15); border:1px solid rgba(212,130,26,0.35);
  display:flex; align-items:center; justify-content:center;
  font-size:0.75rem; color:var(--gold); margin-top:1px;
}
.tmpl-check-cell h4 { font-size:0.9rem; font-weight:600; color:var(--white); margin-bottom:5px; }
.tmpl-check-cell p  { font-size:0.8rem; color:var(--gray); line-height:1.6; }

/* ── WORK PRODUCTS ── */
#outputs { background:var(--off-white); }
.outputs-intro { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; margin-bottom:56px; }
.outputs-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:2px;
  background:rgba(80,65,50,0.08); border-radius:8px; overflow:hidden; border:1px solid rgba(80,65,50,0.10);
}
.output-card { background:var(--white); padding:32px 28px; transition:background 0.2s; cursor:default; }
.output-card:hover { background:#EEEBE4; }
.oc-tag { font-family:'JetBrains Mono',monospace; font-size:0.58rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue); margin-bottom:14px; display:block; }
.oc-name { font-family:'EB Garamond',serif; font-size:1.15rem; font-weight:600; color:var(--navy); margin-bottom:10px; }
.oc-desc { font-size:0.82rem; line-height:1.62; color:var(--dark-gray); }
.oc-time { margin-top:16px; display:flex; align-items:center; gap:7px; font-size:0.72rem; font-weight:600; color:var(--teal); }
.oc-time::before { content:'⚡'; }

/* ── HOW IT WORKS ── */
#how { background:var(--navy); }
.how-steps { display:grid; grid-template-columns:repeat(5,1fr); margin-top:56px; gap:0; position:relative; }
.how-steps::before { content:''; position:absolute; top:32px; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,var(--blue) 20%,var(--teal) 80%,transparent); }
.how-step { padding:24px 20px 32px; text-align:center; position:relative; }
.step-num { width:64px; height:64px; border-radius:50%; background:var(--navy-mid); border:1px solid rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-family:'EB Garamond',serif; font-size:1.4rem; font-weight:700; color:var(--gold); position:relative; z-index:1; transition:all 0.2s; }
.how-step:hover .step-num { background:rgba(58,90,140,0.22); border-color:var(--blue); }
.step-title { font-size:0.88rem; font-weight:600; margin-bottom:8px; }
.step-desc { font-size:0.78rem; line-height:1.6; color:var(--gray); }

/* ── SPEED ── */
#speed { background:var(--navy-mid); }
.speed-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.speed-visual { }
.speed-visual-label { font-size:0.78rem; color:var(--gray); margin-bottom:18px; font-family:'JetBrains Mono',monospace; letter-spacing:0.1em; text-transform:uppercase; }
.speed-bars { display:flex; flex-direction:column; gap:16px; }
.speed-bar-row { display:grid; grid-template-columns:140px 1fr; gap:14px; align-items:center; }
.speed-bar-label { font-size:0.78rem; color:var(--gray); text-align:right; }
.speed-bar-tracks { display:flex; flex-direction:column; gap:4px; }
.speed-bar-track { height:34px; background:rgba(255,255,255,0.05); border-radius:4px; overflow:hidden; }
.speed-bar-fill { height:100%; border-radius:4px; display:flex; align-items:center; padding-left:12px; font-size:0.72rem; font-weight:600; transition:width 1.4s cubic-bezier(0.4,0,0.2,1); }
.speed-bar-fill.before { background:rgba(160,60,40,0.25); color:#E07A5F; border:1px solid rgba(160,60,40,0.3); }
.speed-bar-fill.after  { background:linear-gradient(90deg,rgba(107,123,94,0.45),rgba(58,90,140,0.45)); color:var(--teal); border:1px solid rgba(107,123,94,0.35); }
.speed-legend { display:flex; gap:20px; margin-top:16px; }
.leg-item { display:flex; align-items:center; gap:7px; font-size:0.75rem; color:var(--gray); }
.leg-dot { width:10px; height:10px; border-radius:2px; }
.leg-dot.r{background:rgba(197,48,48,0.5);} .leg-dot.t{background:rgba(107,123,94,0.55);}
.speed-kpis { display:flex; flex-direction:column; gap:20px; margin-top:32px; }
.speed-kpi { display:flex; align-items:flex-start; gap:18px; padding:22px 24px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:6px; }
.speed-kpi-num { font-family:'EB Garamond',serif; font-size:2.2rem; font-weight:700; line-height:1; color:var(--gold); flex-shrink:0; min-width:64px; }
.speed-kpi-text h4 { font-size:0.9rem; font-weight:600; margin-bottom:4px; }
.speed-kpi-text p  { font-size:0.8rem; color:var(--gray); line-height:1.55; }

/* ── JURISDICTIONS ── */
#jurisdictions { background:var(--navy); }
.jur-map-note { margin-top:10px; font-size:0.82rem; color:var(--gray); line-height:1.6; max-width:620px; }
.jur-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:52px; background:rgba(255,255,255,0.05); border-radius:8px; overflow:hidden; }
.jur-card { background:var(--navy-mid); padding:36px 32px; transition:background 0.2s; }
.jur-card:hover { background:rgba(58,90,140,0.10); }
.jur-flag { font-size:1.8rem; margin-bottom:14px; display:block; }
.jur-country { font-family:'EB Garamond',serif; font-size:1.2rem; font-weight:600; margin-bottom:6px; }
.jur-states { font-size:0.78rem; color:var(--teal); margin-bottom:10px; font-family:'JetBrains Mono',monospace; letter-spacing:0.05em; }
.jur-note { font-size:0.82rem; color:var(--gray); line-height:1.6; }

/* ── LAWYERS ── */
#lawyers { background:var(--off-white); }
.lawyers-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; }
.lawyer-feat { background:var(--white); border-radius:6px; padding:34px 30px; border:1px solid rgba(80,65,50,0.12); box-shadow:0 2px 12px rgba(60,45,30,0.07); transition:box-shadow 0.2s,transform 0.2s; }
.lawyer-feat:hover { box-shadow:0 10px 36px rgba(60,45,30,0.12); transform:translateY(-3px); }
.lf-ico { font-size:1.6rem; margin-bottom:18px; display:block; }
.lf-title { font-family:'EB Garamond',serif; font-size:1.15rem; font-weight:600; color:var(--navy); margin-bottom:10px; }
.lf-desc { font-size:0.84rem; line-height:1.65; color:var(--dark-gray); }
.lf-tag { margin-top:16px; display:inline-block; font-family:'JetBrains Mono',monospace; font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--blue); padding:4px 10px; background:rgba(58,90,140,0.07); border-radius:3px; }

/* ── ENTERPRISE ── */
#enterprise { background:var(--navy-mid); }
.ent-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; margin-top:52px; }
.ent-list { display:flex; flex-direction:column; gap:2px; }
.ent-item { display:grid; grid-template-columns:48px 1fr; gap:18px; align-items:start; padding:24px 20px; border-radius:5px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); transition:background 0.18s,border-color 0.18s; }
.ent-item:hover { background:rgba(58,90,140,0.08); border-color:rgba(58,90,140,0.22); }
.ent-ico { font-size:1.3rem; text-align:center; padding-top:2px; }
.ent-item h4 { font-size:0.9rem; font-weight:600; margin-bottom:5px; }
.ent-item p  { font-size:0.8rem; color:var(--gray); line-height:1.6; }
.ent-models { display:flex; flex-direction:column; gap:12px; }
.ent-model { padding:24px 28px; background:var(--navy); border-radius:6px; border:1px solid rgba(255,255,255,0.07); }
.ent-model.featured { border-color:var(--gold); }
.em-badge { font-family:'JetBrains Mono',monospace; font-size:0.58rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:8px; }
.em-name { font-family:'EB Garamond',serif; font-size:1.1rem; font-weight:600; margin-bottom:6px; }
.em-desc { font-size:0.8rem; color:var(--gray); line-height:1.55; }

/* ── CTA ── */
#cta { background:var(--navy); padding:120px 52px; text-align:center; position:relative; overflow:hidden; }
#cta::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 65% 65% at 50% 50%,rgba(58,90,140,0.08) 0%,transparent 70%); }
.cta-inner { position:relative; z-index:1; max-width:780px; margin:0 auto; }
.cta-title { font-family:'EB Garamond',serif; font-size:clamp(2.4rem,5vw,4.2rem); font-weight:600; line-height:1.08; letter-spacing:-0.02em; margin-bottom:24px; }
.cta-title em { font-style:italic; color:var(--gold); }
.cta-sub { font-size:1rem; color:var(--gray); line-height:1.72; margin-bottom:44px; max-width:600px; margin-left:auto; margin-right:auto; }
.cta-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.cta-note { margin-top:24px; font-size:0.78rem; color:rgba(255,255,255,0.3); letter-spacing:0.04em; }

/* ── FOOTER ── */
footer { background:#080808; border-top:1px solid rgba(255,255,255,0.05); padding:52px 52px 36px; }
.footer-inner { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:48px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.05); }
.footer-brand-name { font-family:'EB Garamond',serif; font-size:1.4rem; font-weight:700; margin-bottom:12px; }
.footer-brand-name span { color:var(--gold); }
.footer-brand-sub { font-size:0.8rem; color:var(--gray); line-height:1.65; max-width:280px; margin-bottom:20px; }
.footer-email { font-family:'JetBrains Mono',monospace; font-size:0.72rem; color:var(--teal); letter-spacing:0.04em; text-decoration:none; }
.footer-email:hover { color:var(--gold-light); }
.footer-col h4 { font-size:0.7rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--light-gray); margin-bottom:16px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-col a { font-size:0.81rem; color:var(--gray); text-decoration:none; transition:color 0.2s; }
.footer-col a:hover { color:var(--white); }
.footer-bottom { max-width:1240px; margin:22px auto 0; display:flex; align-items:center; justify-content:space-between; font-size:0.73rem; color:rgba(255,255,255,0.22); }
.footer-mono { font-family:'JetBrains Mono',monospace; font-size:0.62rem; color:rgba(255,255,255,0.18); letter-spacing:0.1em; }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(22px); transition:opacity 0.6s ease,transform 0.6s ease; }
.reveal.visible { opacity:1; transform:none; }

/* ── RESPONSIVE ── */
@media (max-width:1100px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-card { max-width:480px; }
  .tmpl-layout { grid-template-columns:1fr; }
  .outputs-intro { grid-template-columns:1fr; gap:32px; }
  .speed-layout { grid-template-columns:1fr; }
  .ent-layout { grid-template-columns:1fr; }
  .stats-band { grid-template-columns:repeat(2,1fr); }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .tmpl-checklist { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  nav { padding:0 20px; }
  .nav-links { display:none; }
  section { padding:72px 20px; }
  #hero { padding:100px 20px 60px; }
  #cta { padding:80px 20px; }
  .how-steps { grid-template-columns:1fr 1fr; }
  .how-steps::before { display:none; }
  .jur-grid { grid-template-columns:1fr; }
  .outputs-grid { grid-template-columns:1fr; }
  .lawyers-grid { grid-template-columns:1fr; }
  .tmpl-checklist { grid-template-columns:1fr; }
  .stats-band { grid-template-columns:1fr 1fr; }
  .speed-bar-row { grid-template-columns:100px 1fr; }
  footer { padding:40px 20px; }
  .footer-inner { grid-template-columns:1fr; }
  .cta-title { font-size:2.2rem; }
}
@media (prefers-reduced-motion:reduce) {
  .jur-inner { animation:none; }
  .reveal { opacity:1; transform:none; }
  .card-progress-bar { animation:none; width:82%; }
  * { transition-duration:0.01ms !important; }

/* ── SEO / ACCESSIBILITY ADDITIONS ────────────────── */
.skip-link {
  position:absolute; top:-100%; left:0;
  background:var(--gold); color:var(--navy);
  padding:10px 20px; font-weight:600; z-index:9999;
  text-decoration:none; font-size:0.85rem; transition:top 0.1s;
}
.skip-link:focus { top:0; }

/* FAQ styles */
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:hover { color:var(--gold-light); }
.faq-item[open] { border-color:rgba(212,130,26,0.3) !important; }

/* Semantic heading overrides (h3 inside cards) */
h3.oc-name { font-family:'EB Garamond',serif; font-size:1.15rem; font-weight:600; color:var(--navy); margin-bottom:10px; }
h3.step-title { font-size:0.88rem; font-weight:600; margin-bottom:8px; }
h3.lf-title { font-family:'EB Garamond',serif; font-size:1.15rem; font-weight:600; color:var(--navy); margin-bottom:10px; }
h3.jur-country { font-family:'EB Garamond',serif; font-size:1.2rem; font-weight:600; margin-bottom:6px; }
h3.em-name { font-family:'EB Garamond',serif; font-size:1.1rem; font-weight:600; margin-bottom:6px; }
.tmpl-pillar-body h3 { font-size:0.92rem; font-weight:600; color:var(--white); margin-bottom:4px; }
.tmpl-check-cell h3 { font-size:0.9rem; font-weight:600; color:var(--white); margin-bottom:5px; }
.ent-item h3 { font-size:0.9rem; font-weight:600; margin-bottom:5px; }
.speed-kpi-text h3 { font-size:0.9rem; font-weight:600; margin-bottom:4px; }

@media (max-width:768px) {
  .faq-grid { grid-template-columns:1fr !important; }
  #faq { padding:60px 20px !important; }
}
