:root{
  --navy-950:#04101c; --navy-900:#071627; --navy-850:#091c30; --navy-800:#0d2239;
  --slate-700:#26364a; --gold-500:#c99a42; --gold-400:#e0b55f; --gold-300:#f0d18f;
  --gold-ink:#8c621c; --ivory:#f7f4ed; --parch:#f8f5ee; --silver:#d7dbe2;
  --muted:#99a7b8; --muted-ink:#54677c; --paper:#ffffff; --mist:#eef3f8;
  --line:#cfdae5; --line-soft:#e4ecf3; --line-gold:rgba(224,181,95,.22);
  --radar:#38d996; --radar-dim:rgba(56,217,150,.35); --seal:#7c1c1c;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Montserrat',Arial,sans-serif;
}

/* Derived tokens */
:root{
  --shadow-deep:0 30px 80px rgba(0,0,0,.4);
  --shadow-card:0 18px 50px rgba(9,20,34,.14);
  --r-lg:26px; --r-md:18px;
  --wrap:1160px;
}

/* ============ 1. Base ============ */
*{ box-sizing:border-box; }
html{ background:var(--navy-950); }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
body{
  margin:0;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.65;
  color:var(--ivory);
  background:
    radial-gradient(circle at 74% -8%, rgba(201,154,66,.11), transparent 34rem),
    radial-gradient(circle at 12% 18%, rgba(21,71,112,.28), transparent 44rem),
    linear-gradient(180deg,#061322 0%, #071627 55%, #040d17 100%);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{ background:var(--gold-500); color:var(--navy-950); }
a{ color:inherit; text-decoration:none; }
img,svg{ max-width:100%; height:auto; }
button{ font:inherit; }
h1,h2,h3,h4{ margin:0; font-weight:500; }
p{ margin:0; }

a:focus-visible,button:focus-visible{
  outline:2px solid var(--gold-400);
  outline-offset:3px;
  border-radius:4px;
}

.skip{
  position:fixed; top:10px; left:-999px; z-index:200;
  background:var(--gold-400); color:var(--navy-950);
  padding:10px 18px; border-radius:999px;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
}
.skip:focus{ left:10px; }

.wrap{ width:min(var(--wrap), calc(100% - 32px)); margin-inline:auto; position:relative; z-index:2; }

.noise{
  position:fixed; inset:0; pointer-events:none; z-index:90; opacity:.032;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}

/* ============ 2. Type ornaments ============ */
.kicker{
  display:inline-flex; align-items:center; gap:12px;
  font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold-300); font-weight:500;
}
.kicker::before{ content:""; width:34px; height:1px; background:var(--gold-500); }
.kicker--center::after{ content:""; width:34px; height:1px; background:var(--gold-500); }

.sec-title{
  font-family:var(--serif);
  font-size:clamp(38px,5.4vw,68px);
  line-height:.98; letter-spacing:-.03em;
  margin:18px 0 0; max-width:760px;
}
.sec-title .gold-i{ color:var(--gold-400); font-style:italic; }
.sec-lead{ max-width:600px; color:var(--muted); margin-top:22px; font-size:16px; }

/* Engraved double rule (courthouse ornament) */
.rule-double{
  height:6px; width:120px; margin-top:26px;
  background:
    linear-gradient(var(--line-gold),var(--line-gold)) 0 0/100% 2px no-repeat,
    linear-gradient(var(--line-gold),var(--line-gold)) 0 5px/100% 1px no-repeat;
}
.on-light .rule-double{
  background:
    linear-gradient(rgba(140,98,28,.55),rgba(140,98,28,.55)) 0 0/100% 2px no-repeat,
    linear-gradient(rgba(140,98,28,.55),rgba(140,98,28,.55)) 0 5px/100% 1px no-repeat;
}

.section{ padding:110px 0; position:relative; }

/* ============ 3. Header ============ */
.site-header{
  position:fixed; inset:0 0 auto; z-index:60; height:84px;
  display:flex; align-items:center;
  border-bottom:1px solid transparent;
  transition:background .35s ease, border-color .35s ease;
}
.site-header.scrolled{
  background:rgba(4,16,28,.8);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border-color:rgba(255,255,255,.07);
}
.header-inner{
  width:min(var(--wrap), calc(100% - 32px)); margin:auto;
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px;
}
/* Wordmark — one treatment everywhere: serif, ivory WICOURT, gold RADAR,
   24px radar mark. Mirrors .wm-text on the radar app page. */
.wordmark{
  display:inline-flex; align-items:center; gap:11px; white-space:nowrap;
}
.wm-text{
  font-family:var(--serif); font-weight:600; font-size:19px;
  letter-spacing:.24em; text-transform:uppercase; color:var(--ivory);
}
.wm-text em{ font-style:normal; color:var(--gold-400); }
.wordmark-badge{
  align-self:center;
  font-size:9.5px; letter-spacing:.18em; font-weight:600; color:var(--gold-300);
  border:1px solid rgba(224,181,95,.55); border-radius:999px; padding:3px 8px 2px;
}
.nav{
  display:flex; justify-content:center; gap:32px;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
}
.nav a{ color:#cdd4dc; position:relative; padding:8px 0; }
.nav a::after{
  content:""; position:absolute; left:0; bottom:2px; width:100%; height:1px;
  background:var(--gold-400); transform:scaleX(0); transform-origin:right;
  transition:transform .35s ease;
}
.nav a:hover::after,.nav a:focus-visible::after{ transform:scaleX(1); transform-origin:left; }

.header-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:42px; padding:0 20px;
  border:1px solid rgba(224,181,95,.55); border-radius:999px;
  color:var(--gold-300); font-size:11px; text-transform:uppercase;
  letter-spacing:.15em; font-weight:600; transition:.3s ease;
}
.header-cta:hover{ background:var(--gold-500); color:var(--navy-950); box-shadow:0 0 0 6px rgba(201,154,66,.09); }

/* ============ 4. Buttons ============ */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height:54px; padding:0 28px; border-radius:999px;
  text-transform:uppercase; font-size:11px; letter-spacing:.15em; font-weight:600;
  border:1px solid transparent; cursor:pointer; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.btn::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(105deg, transparent 15%, rgba(255,255,255,.3) 47%, transparent 63%);
  transform:translateX(-120%); transition:transform .7s ease;
}
.btn:hover::before,.btn:focus-visible::before{ transform:translateX(120%); }
.btn-gold{
  background:linear-gradient(135deg,#b9852f,#e3b95f 52%,#b57a21);
  color:#09131f; box-shadow:0 16px 45px rgba(201,154,66,.16);
}
.btn-gold:hover{ transform:translateY(-3px); box-shadow:0 22px 55px rgba(201,154,66,.26); }
.btn-ghost{
  border-color:rgba(255,255,255,.22); color:#f1f2f3;
  background:rgba(255,255,255,.025);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}
.btn-ghost:hover{ border-color:var(--gold-500); transform:translateY(-3px); }

/* ============ 5. Hero ============ */
.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:center; overflow:hidden; isolation:isolate;
  padding:150px 0 80px;
}
.hero::before{
  content:""; position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(closest-side at 76% 44%, rgba(56,217,150,.05), transparent),
    radial-gradient(circle at 80% 18%, rgba(224,181,95,.09), transparent 26rem),
    linear-gradient(90deg, rgba(4,16,28,.55), transparent 55%);
}
.hero::after{
  content:""; position:absolute; inset:auto 0 0; height:180px; z-index:-1;
  background:linear-gradient(180deg, transparent, rgba(4,13,23,.9));
}
.hero-grid{
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(320px,.78fr);
  gap:5vw; align-items:center;
}
.hero h1{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(46px,6.6vw,92px);
  line-height:.92; letter-spacing:-.04em;
  margin:26px 0 24px; max-width:640px;
}
.hero h1 .gold-i{ color:var(--gold-400); font-style:italic; }
.hero-copy{ max-width:540px; color:#c6ced8; font-size:clamp(15px,1.25vw,17.5px); }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
/* Radar-green is reserved for live pings/activity dots — chrome stays gold */
.hero-note{
  display:inline-flex; align-items:center; gap:9px;
  margin-top:30px; padding:8px 14px;
  border:1px solid rgba(224,181,95,.55); border-radius:999px;
  color:var(--gold-300); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
}
.hero-note i{
  width:6px; height:6px; border-radius:50%; background:var(--radar);
  box-shadow:0 0 10px rgba(56,217,150,.9); flex:none;
}

/* ---- Radar scope ---- */
.radar-scope{
  position:relative; border-radius:var(--r-lg);
  border:1px solid var(--line-gold);
  background:
    radial-gradient(circle at 50% 38%, rgba(20,69,109,.4), transparent 62%),
    linear-gradient(155deg,#081727,#050f1b);
  box-shadow:var(--shadow-deep), inset 0 1px 0 rgba(255,255,255,.04);
  padding:26px 26px 20px;
  overflow:hidden;
}
/* faint CRT scanlines */
.radar-scope::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:repeating-linear-gradient(180deg, rgba(215,219,226,.028) 0 1px, transparent 1px 4px);
  mix-blend-mode:overlay;
}
/* corner ticks */
.scope-ticks::before,.scope-ticks::after{
  content:""; position:absolute; width:26px; height:26px; pointer-events:none;
  border:1px solid rgba(224,181,95,.5);
}
.scope-ticks::before{ top:12px; left:12px; border-right:0; border-bottom:0; }
.scope-ticks::after{ bottom:12px; right:12px; border-left:0; border-top:0; }

.scope-head{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  margin-bottom:10px; position:relative; z-index:2;
}
.scope-tag{
  display:inline-flex; align-items:center; gap:8px;
  font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
  color:var(--gold-300);
}
.scope-tag i{ width:6px; height:6px; border-radius:50%; background:var(--radar); box-shadow:0 0 8px rgba(56,217,150,.9); }
.scope-tag--sub{ color:var(--muted); font-weight:500; }

.wi-map{ display:block; width:100%; height:auto; }
.wi-land{ fill:url(#landGlow); stroke:rgba(224,181,95,.55); stroke-width:1.1; }
.wi-counties path{ fill:none; stroke:rgba(215,219,226,.13); stroke-width:.6; }
.scope-ring{ fill:none; stroke:rgba(56,217,150,.09); stroke-width:1; }
.scope-cross{ stroke:rgba(215,219,226,.05); stroke-width:1; }
.sweep path{ fill:var(--radar); }
.sweep-lead{ stroke:var(--radar); stroke-width:1.4; opacity:.5; }
.sweep-rot{ transform-origin:300px 318px; }
.ping-dot{ fill:var(--radar); }
.ping-glow{ fill:rgba(56,217,150,.16); }
.ping-pulse{
  fill:none; stroke:var(--radar); stroke-width:1.2; opacity:0;
  transform-box:fill-box; transform-origin:center;
}
.scope-foot{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  margin-top:12px; padding-top:12px; position:relative; z-index:2;
  border-top:1px solid rgba(255,255,255,.07);
  font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.scope-foot em{
  font-style:normal; color:var(--radar);
}

@media (prefers-reduced-motion:no-preference){
  .sweep-rot{ animation:sweep 8s linear infinite; }
  .ping-pulse{ animation:ping 3.8s cubic-bezier(.2,.6,.35,1) infinite; animation-delay:var(--d,0s); }
  .ping-pulse.p2{ animation-delay:calc(var(--d,0s) + 1.9s); }
  .scope-tag i,.hero-note i,.wm-blip{ animation:blink 2.4s ease-in-out infinite; }
}
@keyframes sweep{ to{ transform:rotate(360deg); } }
@keyframes ping{
  0%{ transform:scale(.4); opacity:.85; }
  70%{ opacity:0; }
  100%{ transform:scale(4.4); opacity:0; }
}
@keyframes blink{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }

/* ============ 6. Stat strip ============ */
.stat-strip{
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.015);
}
.stat-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  width:min(var(--wrap), calc(100% - 32px)); margin-inline:auto;
}
.stat{
  padding:30px 22px; text-align:center; position:relative;
}
.stat + .stat::before{
  content:""; position:absolute; left:0; top:26%; bottom:26%; width:1px;
  background:linear-gradient(180deg, transparent, var(--line-gold), transparent);
}
.stat b{
  display:block; font-family:var(--serif); font-weight:500;
  font-size:clamp(28px,3vw,40px); line-height:1; color:var(--gold-400);
}
.stat span{
  display:block; margin-top:9px;
  font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);
}

/* ============ 7. Parchment band — How it works ============ */
.band-light{
  background:
    radial-gradient(1200px 400px at 12% -10%, rgba(168,122,34,.055), transparent 60%),
    radial-gradient(900px 380px at 92% 110%, rgba(16,36,58,.05), transparent 62%),
    var(--parch);
  color:var(--navy-800);
}
.band-light .kicker{ color:var(--gold-ink); }
.band-light .kicker::before,.band-light .kicker--center::after{ background:var(--gold-ink); }
.band-light .sec-lead{ color:var(--muted-ink); }
.band-light .sec-title .gold-i{ color:var(--gold-ink); }

.doc-cards{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:56px;
  counter-reset:doc;
}
.doc-card{
  position:relative; background:var(--paper);
  border:1px solid var(--line); border-radius:6px;
  padding:34px 30px 30px;
  box-shadow:var(--shadow-card);
  background-image:
    repeating-linear-gradient(45deg, rgba(16,36,58,.022) 0 1px, transparent 1px 9px),
    repeating-linear-gradient(-45deg, rgba(16,36,58,.022) 0 1px, transparent 1px 9px);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.doc-card:hover{
  transform:translateY(-6px);
  border-color:rgba(140,98,28,.45);
  box-shadow:0 26px 60px rgba(9,20,34,.18);
}
.doc-card::before{
  content:""; position:absolute; left:30px; right:30px; top:0; height:6px;
  background:
    linear-gradient(rgba(140,98,28,.5),rgba(140,98,28,.5)) 0 0/100% 2px no-repeat,
    linear-gradient(rgba(140,98,28,.5),rgba(140,98,28,.5)) 0 5px/100% 1px no-repeat;
}
.doc-num{
  font-family:var(--serif); font-size:19px; color:var(--gold-ink);
}
.doc-card h3{
  font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
  color:var(--navy-800); margin:12px 0 4px;
}
.doc-sub{
  font-family:var(--serif); font-style:italic; font-size:17px; color:var(--gold-ink);
  margin-bottom:14px;
}
.doc-card p{ color:var(--muted-ink); font-size:13.5px; line-height:1.7; }
.doc-arrow{
  position:absolute; top:50%; right:-19px; z-index:3; transform:translateY(-50%);
  color:rgba(140,98,28,.6); display:grid; place-items:center;
  width:16px;
}
.band-note{
  margin-top:38px; text-align:center;
  font-family:var(--serif); font-style:italic; font-size:15.5px; color:var(--muted-ink);
}
.band-note strong{ font-weight:600; color:var(--navy-800); }

/* ============ 8. Features + docket sample ============ */
.see-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);
  gap:5vw; align-items:center; margin-top:20px;
}
.feature-list{ margin-top:36px; display:grid; }
.feature{
  display:grid; grid-template-columns:52px 1fr; gap:20px; align-items:start;
  padding:22px 4px; border-top:1px solid rgba(255,255,255,.08);
  transition:background .3s ease;
}
.feature:last-child{ border-bottom:1px solid rgba(255,255,255,.08); }
.feature:hover{ background:rgba(255,255,255,.02); }
.feature-icon{
  width:44px; height:44px; display:grid; place-items:center;
  border:1px solid var(--line-gold); border-radius:50%;
  color:var(--gold-400); transition:border-color .3s ease, color .3s ease;
}
.feature:hover .feature-icon{ border-color:rgba(224,181,95,.55); color:var(--gold-300); }
.feature h3{
  font-size:12.5px; letter-spacing:.13em; text-transform:uppercase; font-weight:600;
  margin:3px 0 5px;
}
.feature p{ color:var(--muted); font-size:13.5px; max-width:52ch; }

/* Docket specimen card */
.docket-wrap{ position:relative; perspective:1100px; }
.docket-card{
  position:relative; background:var(--paper); color:var(--navy-800);
  border:1px solid var(--line); border-radius:8px;
  padding:28px 28px 22px;
  box-shadow:0 35px 75px rgba(0,0,0,.45);
  background-image:
    repeating-linear-gradient(45deg, rgba(16,36,58,.02) 0 1px, transparent 1px 9px),
    repeating-linear-gradient(-45deg, rgba(16,36,58,.02) 0 1px, transparent 1px 9px);
  transform:rotateY(-6deg) rotateX(3deg);
  transition:transform .5s ease;
}
.docket-wrap:hover .docket-card{ transform:rotateY(-1deg) rotateX(1deg) translateY(-5px); }
.docket-head{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
  color:var(--gold-ink);
}
.docket-chip{
  font-size:9px; letter-spacing:.14em; padding:4px 10px 3px; border-radius:999px;
  border:1px solid rgba(140,98,28,.4); color:var(--gold-ink); white-space:nowrap;
}
.docket-title{
  font-family:var(--serif); font-weight:600; font-size:clamp(22px,2vw,27px);
  line-height:1.12; margin:14px 0 4px; letter-spacing:-.01em;
}
.docket-title em{ font-style:italic; font-weight:500; color:var(--gold-ink); }
.docket-meta{
  font-size:11.5px; letter-spacing:.05em; color:var(--muted-ink); margin-bottom:16px;
}
.docket-rule{
  height:6px; width:100%; margin:0 0 16px;
  background:
    linear-gradient(rgba(140,98,28,.4),rgba(140,98,28,.4)) 0 0/100% 2px no-repeat,
    linear-gradient(rgba(140,98,28,.4),rgba(140,98,28,.4)) 0 5px/100% 1px no-repeat;
}
.docket-sec{ margin-bottom:14px; }
.docket-sec h4{
  font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
  color:var(--muted-ink); margin:0 0 5px;
}
.docket-row{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  font-size:13px;
}
.docket-row b{ font-weight:600; }
.chip-felony{
  font-size:9px; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
  color:var(--seal); border:1px solid rgba(124,28,28,.35); border-radius:999px;
  padding:3px 9px 2px; white-space:nowrap;
}
.docket-notice{
  border-top:1px solid var(--line-soft); padding-top:12px; margin-top:16px;
  font-family:var(--serif); font-style:italic; font-size:12.5px; line-height:1.6;
  color:var(--muted-ink);
}
.stamp{
  position:absolute; top:16px; right:-14px; z-index:3;
  transform:rotate(8deg);
  border:2px solid rgba(124,28,28,.65); border-radius:4px;
  color:var(--seal); background:rgba(255,255,255,.82);
  font-size:10px; letter-spacing:.26em; text-transform:uppercase; font-weight:700;
  padding:7px 13px 6px;
  box-shadow:0 6px 18px rgba(9,20,34,.18);
}

/* ============ 9. About ============ */
.about-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:52px;
}
.sib-card{
  position:relative; display:block; min-height:190px;
  padding:30px 32px; border-radius:var(--r-md);
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(150deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  overflow:hidden;
  transition:transform .35s ease, border-color .35s ease;
}
.sib-card:hover{ transform:translateY(-6px); border-color:rgba(224,181,95,.4); }
.sib-card::after{
  content:""; position:absolute; width:190px; height:190px; border-radius:50%;
  right:-60px; bottom:-70px; border:1px solid rgba(255,255,255,.06);
  transition:transform .6s ease, border-color .6s ease;
}
.sib-card:hover::after{ transform:scale(1.35); border-color:rgba(224,181,95,.25); }
.sib-label{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-300); }
.sib-card h3{ font-family:var(--serif); font-size:30px; font-weight:500; margin:12px 0 8px; }
.sib-card p{ color:var(--muted); font-size:13.5px; max-width:46ch; }
.sib-link{
  display:inline-flex; align-items:center; gap:8px; margin-top:16px;
  color:var(--gold-300); font-size:10px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
}
.sib-card:hover .sib-link{ color:var(--gold-400); }

/* ============ 10. Notice band ============ */
.notice-band{ padding:90px 0; }
.notice-frame{
  position:relative; max-width:860px; margin-inline:auto; text-align:center;
  background:var(--paper); color:var(--navy-800);
  border:1px solid var(--line); border-radius:6px;
  padding:56px clamp(24px,6vw,72px) 48px;
  box-shadow:var(--shadow-card);
  background-image:
    repeating-linear-gradient(45deg, rgba(16,36,58,.02) 0 1px, transparent 1px 9px),
    repeating-linear-gradient(-45deg, rgba(16,36,58,.02) 0 1px, transparent 1px 9px);
}
.notice-frame::before,.notice-frame::after{
  content:""; position:absolute; width:34px; height:34px; pointer-events:none;
  border:2px solid rgba(140,98,28,.5); opacity:.85;
}
.notice-frame::before{ top:12px; left:12px; border-right:0; border-bottom:0; }
.notice-frame::after{ bottom:12px; right:12px; border-left:0; border-top:0; }
.notice-label{
  display:inline-block; font-size:10px; letter-spacing:.26em; text-transform:uppercase;
  font-weight:700; color:var(--seal);
  border:1px solid rgba(124,28,28,.4); border-radius:999px; padding:6px 16px 5px;
}
.notice-frame h2{
  font-family:var(--serif); font-size:clamp(26px,3.4vw,38px); font-weight:500;
  letter-spacing:-.02em; margin:20px 0 12px;
}
.notice-frame > p{ color:var(--muted-ink); font-size:15px; max-width:56ch; margin-inline:auto; }
.notice-presumption{
  margin-top:26px; padding-top:20px; border-top:1px solid var(--line-soft);
  font-family:var(--serif); font-style:italic; font-size:14.5px; line-height:1.7;
  color:var(--muted-ink); max-width:60ch; margin-inline:auto;
}

/* ============ 11. Footer ============ */
.site-footer{
  border-top:1px solid var(--line-gold);
  background:linear-gradient(180deg, rgba(4,13,23,0), rgba(0,0,0,.35));
  padding:64px 0 42px;
}
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; align-items:start;
}
.footer-tag{ color:var(--muted); font-size:13px; max-width:34ch; margin-top:14px; }
.footer-col h4{
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-300);
  margin:6px 0 16px; font-weight:600;
}
.footer-col a{
  display:block; color:#cdd4dc; font-size:13px; padding:5px 0;
  transition:color .25s ease, transform .25s ease;
}
.footer-col a:hover{ color:var(--gold-300); transform:translateX(3px); }
.footer-legal{
  margin-top:52px; padding-top:22px;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap;
  color:#7f8da0; font-size:11.5px; letter-spacing:.04em;
}

/* ============ 12. Reveal on scroll ============ */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
  .js .reveal.in{ opacity:1; transform:none; }
  .js .reveal.d1{ transition-delay:.08s; }
  .js .reveal.d2{ transition-delay:.16s; }
  .js .reveal.d3{ transition-delay:.24s; }
}

/* ============ 13. Reduced motion ============ */
@media (prefers-reduced-motion:reduce){
  *,::before,::after{ animation:none !important; transition-duration:.01ms !important; }
  .sweep{ display:none; }
  .ping-pulse{ opacity:.28; transform:scale(1.8); }
  .docket-card{ transform:none; }
}

/* ============ 14. Responsive ============ */
@media (max-width:1020px){
  .hero-grid{ grid-template-columns:1fr; gap:56px; }
  .radar-scope{ max-width:480px; margin-inline:auto; }
  .see-grid{ grid-template-columns:1fr; gap:60px; }
  .docket-wrap{ max-width:520px; margin-inline:auto; }
  .docket-card{ transform:none; }
}
@media (max-width:860px){
  .doc-cards{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; margin-top:48px; }
  .doc-arrow{ display:none; }
  .about-grid{ grid-template-columns:1fr; max-width:520px; }
  .footer-grid{ grid-template-columns:1fr; gap:8px; }
  .footer-col h4{ margin-top:26px; }
  .stat-grid{ grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(3)::before{ display:none; }
  .stat{ padding:24px 14px; }
}
@media (max-width:720px){
  .nav{ display:none; }
  .header-inner{ grid-template-columns:auto auto; justify-content:space-between; }
  .section{ padding:84px 0; }
  .hero{ padding:130px 0 64px; }
  .notice-frame{ padding:46px 22px 40px; }
  .stamp{ right:-6px; }
}
@media (max-width:460px){
  .wm-text{ font-size:15px; letter-spacing:.2em; }
  .wordmark-badge{ display:none; }
  .header-cta{ min-height:38px; padding:0 14px; font-size:10px; }
  .hero-actions .btn{ width:100%; }
  .stat b{ font-size:24px; }
}
