/* ═══════════════════════════════════════════════════════════
   Kiseki Labs — v3
   Navy + gold. Structure from v2 (asymmetry, mono data,
   table not cards, one contrasting section).
   ═══════════════════════════════════════════════════════════ */

:root{
  /* blue */
  --navy:#0A1B2E;
  --navy-2:#0E2440;
  --navy-3:#143052;
  --navy-4:#1B3D66;
  /* gold */
  --gold:#DFAE4E;
  --gold-lit:#F0C674;
  --gold-deep:#A87A22;
  /* ink on navy */
  --fg:#E9EFF6;
  --fg-2:#9DB2C9;
  --fg-3:#6E86A0;
  --rule:rgba(255,255,255,.13);
  /* the light moment */
  --paper:#F4F1EA;
  --paper-2:#E9E4D9;
  --ink:#0A1B2E;
  --ink-2:#44586E;
  --ink-3:#7A8CA0;
  --rule-l:#D5CEC0;

  --display:'Instrument Serif','Iowan Old Style',Charter,Georgia,serif;
  --sans:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  /* Built-in CSS easings are too weak to read as deliberate. Motion here is
     crisp and short to match the register of the page — this is a sober
     document, not a playful product. */
  --ease-out:cubic-bezier(.23,1,.32,1);
  --t-fast:150ms;
  --t-press:120ms;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--navy);color:var(--fg);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%;height:auto;display:block}

.w{max-width:1240px;margin:0 auto;padding:0 32px}
.g{display:grid;grid-template-columns:repeat(12,1fr);gap:28px}

h1{font-family:var(--display);font-weight:400;font-size:clamp(3.2rem,8.2vw,7rem);line-height:.94;letter-spacing:-.025em}
h2{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.03;letter-spacing:-.02em}
h3{font-family:var(--display);font-weight:400;font-size:1.7rem;line-height:1.16;letter-spacing:-.01em}
.display{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.018em}
p{max-width:60ch;color:var(--fg-2)}
.body-lg{font-size:1.22rem;line-height:1.55;color:var(--fg-2);max-width:34ch}

.tag{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--fg-3)}
/* gold is a signal, not a default. It marks measured figures and live links —
   nothing else. Labels stay neutral so the accent still means something. */
.tag-o{color:var(--fg-3)}
.case .tag-o{color:var(--ink-3)}

.mark-sub{display:block;margin-top:5px;opacity:.6}

/* ── annotations: an auditor's note against a figure ───────────────────── */
/* inline form — used on the landing page, where columns are dense */
.stamp{
  display:block;margin-top:12px;font-family:var(--mono);font-size:.66rem;
  line-height:1.6;letter-spacing:.05em;color:var(--fg-3);max-width:34ch;
}
.stamp::before{content:"— ";opacity:.6}
.case .stamp{color:var(--ink-3)}

/* true marginalia — only in the article column, which has the gutter for it */
.prose .annot{
  float:left;width:120px;margin-left:-152px;text-align:right;
  font-family:var(--mono);font-size:.66rem;line-height:1.55;letter-spacing:.04em;
  color:var(--ink-3);padding-top:.5em;
}
@media (max-width:1180px){
  .prose .annot{float:none;width:auto;margin:0 0 10px;text-align:left;padding-top:0}
}

/* ── material: faint grain, so surfaces read as paper not as #hex ──────── */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
}
header,section,footer,.hero,.cred,.stmt,.blog-head,.blog-list,.article{position:relative;z-index:2}

/* ── ruled sheet, for the section that carries the figures ─────────────── */
.ruled{
  background-image:repeating-linear-gradient(
    to bottom, transparent 0 33px, rgba(10,27,46,.055) 33px 34px);
  background-position:0 6px;
}

/* ── links ── */
.lnk{
  font-family:var(--mono);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px;color:var(--fg);
  transition:color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out);
  display:inline-block;
}
.lnk:active{transform:scale(.97);transition:transform var(--t-press) var(--ease-out)}
.lnk:hover{color:var(--gold-lit);border-color:var(--gold-lit)}
.lnk-quiet{border-color:var(--rule);color:var(--fg-3)}
.lnk-quiet:hover{color:var(--fg);border-color:var(--fg)}

/* ── header ── */
header{position:sticky;top:0;z-index:60;background:rgba(10,27,46,.9);backdrop-filter:blur(10px)}
header .w{display:flex;align-items:baseline;justify-content:space-between;height:76px;padding-top:26px}
.brand{font-family:var(--display);font-size:1.5rem;text-decoration:none;letter-spacing:-.01em;color:var(--fg)}
.brand i{font-style:normal;color:var(--gold)}
.nav{display:flex;gap:30px;list-style:none;align-items:baseline}
.nav a{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--fg-3);transition:color var(--t-fast) var(--ease-out)}
.nav a:hover,.nav a.on{color:var(--fg)}
.nav a.on{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--gold)}

/* ── hero ── */
.hero{padding:clamp(70px,11vw,150px) 0 clamp(60px,8vw,110px)}
.hero-h{grid-column:1/10}
.hero h1{max-width:13ch;color:#fff}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero-sub{grid-column:1/7;margin-top:44px}
.hero-note{grid-column:9/13;align-self:end;border-left:1px solid var(--rule);padding-left:24px}
.hero-note .tag{display:block;margin-bottom:14px}
.hero-note p{font-size:.93rem;line-height:1.55;max-width:none}
.hero-stat{font-family:var(--display);font-size:3.6rem;line-height:1;color:var(--gold);display:block;margin-bottom:6px}
.hero-cta{grid-column:1/8;margin-top:52px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}
/* newsletter engineering-plate motif, fills the hero's right column */
.hero-fig{grid-column:10/13;grid-row:1;align-self:center;justify-self:end;width:100%;max-width:300px}
.hero-fig svg{display:block;width:100%;height:auto}
.hero-fig .stamp{display:block;margin-top:12px}
@media (max-width:960px){.hero-fig{display:none}}

/* ── credibility ── */
.cred{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0}
.cred .w{display:flex;flex-wrap:wrap;gap:12px 40px;align-items:baseline}
.cred span{font-family:var(--mono);font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;color:var(--fg-3)}
.cred span.k{color:var(--fg)}

/* Deliberately uneven vertical rhythm. A constant rate of breathing is the
   single loudest tell that a page was generated rather than laid out. */
section{padding:clamp(80px,11vw,150px) 0}
#stall  {padding:clamp(64px,8vw,104px) 0}          /* tight — it's a list of problems */
.stmt   {padding:clamp(96px,13vw,180px) 0}         /* room, it's one sentence */
#method {padding:clamp(72px,9vw,120px) 0}
.case   {padding:clamp(104px,14vw,200px) 0}        /* the payload gets the most air */
#engage {padding:clamp(70px,8vw,110px) 0}
.gov    {padding:clamp(76px,9vw,124px) 0}
#insights{padding:clamp(64px,7vw,96px) 0}          /* an index wants to be compact */
#about  {padding:clamp(80px,10vw,140px) 0}

/* Section marks sit in the left gutter, like clause numbers on a document,
   rather than stacked above every heading identically. */
.mark{
  grid-column:1/2;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--fg-3);padding-top:.7em;
}
.case .mark{color:var(--ink-3)}
@media (max-width:960px){.mark{grid-column:1/13;padding-top:0;margin-bottom:6px}}

/* ── the stall ── */
.stall-h{grid-column:2/7}
.stall-h h2{color:#fff}
.stall-list{grid-column:7/13;list-style:none}
.stall-list li{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:28px 0;border-top:1px solid var(--rule)}
.stall-list li:last-child{border-bottom:1px solid var(--rule)}
.stall-list .n{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--fg-3);padding-top:9px}
.stall-list h3{margin-bottom:9px;color:#fff}
.stall-list p{font-size:1rem}

/* ── statement ── */
.stmt{background:var(--navy-2);padding:clamp(70px,9vw,120px) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.stmt blockquote{grid-column:2/12}
.stmt .display{font-size:clamp(1.9rem,4.3vw,3.3rem);line-height:1.14;color:#fff;max-width:none}
.stmt .display em{font-style:normal;color:var(--gold)}
.stmt cite{display:block;margin-top:34px;font-style:normal;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}

/* ── method ── */
.method-h{grid-column:2/9;margin-bottom:20px}
.method-h h2{color:#fff}
.m-item{grid-column:1/13;display:grid;grid-template-columns:repeat(12,1fr);gap:28px;padding:40px 0;border-top:1px solid var(--rule)}
.m-item:last-of-type{border-bottom:1px solid var(--rule)}
.m-n{grid-column:1/2;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--fg-3);padding-top:10px}
.m-t{grid-column:2/7}
.m-t h3{color:#fff}
.m-b{grid-column:7/13}
.m-b p{font-size:1rem;max-width:52ch}

/* ═══ CASE — the single light moment ═══ */
.case{background:var(--paper);color:var(--ink);padding:clamp(80px,11vw,150px) 0}
.case h2,.case h3{color:var(--ink)}
.case p{color:var(--ink-2)}
.case .tag{color:var(--ink-3)}
.case .tag-o{color:var(--gold-deep)}
.case-h{grid-column:2/9}
.case-h h2{margin-top:0}
/* one deliberate grid break: the big figure hangs left of its column */
.ba{margin-left:-2%}
.case-meta{grid-column:9/13;align-self:end;border-left:1px solid var(--rule-l);padding-left:24px}
.case-meta dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-family:var(--mono);font-size:.76rem}
.case-meta dt{color:var(--ink-3);letter-spacing:.08em}
.case-meta dd{color:var(--ink)}

/* two cases in one light section: a rule between, no repeated card shell */
.case-block{grid-column:1/13;display:grid;grid-template-columns:repeat(12,1fr);gap:28px}
.case-block + .case-block{margin-top:clamp(80px,10vw,140px);padding-top:clamp(60px,7vw,90px);border-top:2px solid var(--ink)}
.case-no{grid-column:1/13;font-family:var(--mono);font-size:.7rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:18px}

/* before → after, for metrics a bar would flatter */
.ba{grid-column:1/13;margin-top:70px;border-top:1px solid var(--rule-l);padding-top:44px;
    display:flex;flex-wrap:wrap;align-items:flex-end;gap:28px 56px}
.ba-item .tag{display:block;margin-bottom:12px}
.ba-num{font-family:var(--display);font-size:clamp(2.8rem,6vw,4.6rem);line-height:.9;color:var(--ink);display:block}
.ba-num small{font-size:.34em;letter-spacing:.02em;margin-left:6px;color:var(--ink-3)}
.ba-arrow{font-family:var(--display);font-size:2.4rem;color:var(--gold-deep);line-height:1;padding-bottom:10px}
.ba-item.after .ba-num{color:var(--gold-deep)}
.ba-cap{flex:1 1 220px;font-family:var(--mono);font-size:.72rem;line-height:1.7;color:var(--ink-3);letter-spacing:.04em;max-width:34ch}

/* three-column situation / approach / outcome */
.sao{grid-column:1/13;margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule-l)}
.sao > div{padding:30px 28px 0;border-right:1px solid var(--rule-l)}
.sao > div:last-child{border-right:0}
.sao h4{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px;text-align:center}
.sao p{font-size:.97rem;line-height:1.6}

/* the documents/checks list */
.checks{grid-column:1/13;margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.checks > div .tag{display:block;margin-bottom:16px}
.checks ul{list-style:none}
.checks li{font-family:var(--mono);font-size:.82rem;color:var(--ink);padding:9px 0;border-bottom:1px solid var(--rule-l);line-height:1.5}

.chart{grid-column:1/13;margin-top:76px;border-top:1px solid var(--rule-l);padding-top:44px}
.chart-row{display:grid;grid-template-columns:132px 1fr 88px;gap:20px;align-items:center;margin-bottom:20px}
.chart-lbl{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.bar{height:34px;background:var(--paper-2);position:relative;overflow:hidden}
.bar i{position:absolute;inset:0 auto 0 0;display:block}
.bar-a i{width:58%;background:#B9AF9B}
.bar-b i{width:98%;background:var(--navy);border-right:4px solid var(--gold)}
.chart-val{font-family:var(--display);font-size:1.9rem;line-height:1;text-align:right;color:var(--ink)}
.chart-cap{font-family:var(--mono);font-size:.72rem;color:var(--ink-3);margin-top:22px;letter-spacing:.04em;max-width:none}

.weeks{grid-column:1/13;margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-l)}
.week{padding:30px 26px 0;border-right:1px solid var(--rule-l)}
.week:last-child{border-right:0}
.week .tag{display:block;margin-bottom:12px;color:var(--ink-3);text-align:center}
.week p{font-size:.93rem;line-height:1.55}

.dom{grid-column:1/7;margin-top:72px}
.dom ul{list-style:none;margin-top:18px;columns:2;column-gap:28px}
.dom li{font-family:var(--mono);font-size:.82rem;color:var(--ink);padding:7px 0;border-bottom:1px solid var(--rule-l)}
.figs{grid-column:8/13;margin-top:72px;display:grid;grid-template-columns:1fr 1fr;gap:34px 24px}
.fig b{display:block;font-family:var(--display);font-size:2.5rem;line-height:1;color:var(--ink);font-weight:400}
.fig span{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:block;margin-top:9px}
.case-foot{grid-column:1/13;margin-top:80px;border-top:1px solid var(--rule-l);padding-top:34px}
.case-foot p{font-size:1.08rem;color:var(--ink-2);max-width:70ch}
.case-foot p b{color:var(--ink);font-weight:500}

/* ── engagements table ── */
.eng-h{grid-column:1/8;margin-bottom:16px}
.eng-h h2{color:#fff}
.tbl{grid-column:1/13;width:100%;border-collapse:collapse;margin-top:40px}
.tbl th{text-align:left;font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;color:var(--fg-3);padding:0 24px 14px 0;border-bottom:1px solid var(--gold)}
.tbl td{padding:32px 24px 32px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl td{transition:background-color var(--t-fast) var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .tbl tr:hover td{background-color:rgba(223,174,78,.06)}
}
.tbl .c-name{width:26%}
.tbl .c-name h3{margin-bottom:8px;color:#fff}
.tbl .c-name .tag{color:var(--fg-3)}
.tbl .c-dur{width:14%;font-family:var(--mono);font-size:.82rem;color:var(--fg)}
.tbl .c-get{width:37%}
.tbl .c-get ul{list-style:none}
.tbl .c-get li{font-size:.95rem;color:var(--fg-2);padding-left:18px;position:relative;margin-bottom:7px}
.tbl .c-get li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:1px;background:var(--gold)}
.tbl .c-when{width:23%;font-size:.95rem;color:var(--fg-3)}

/* ── governance ── */
.gov{background:var(--navy-2);border-top:1px solid var(--rule)}
.gov-h{grid-column:1/6}
.gov-h h2{margin-top:20px;color:#fff}
.gov-h p{margin-top:24px;font-size:1rem}
.gov-list{grid-column:7/13}
.gov-item{padding:30px 0;border-top:1px solid var(--rule)}
.gov-item:last-child{border-bottom:1px solid var(--rule)}
.gov-item h3{font-size:1.28rem;margin-bottom:10px;color:#fff}
.gov-item p{font-size:.99rem}

/* ── insights index ── */
.ins-h{grid-column:1/8;margin-bottom:26px}
.ins-h h2{color:#fff}
.ins{grid-column:1/13;border-top:1px solid var(--gold)}
.ins a{display:grid;grid-template-columns:120px 1fr 150px;gap:28px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--rule);text-decoration:none;
  transition:transform 200ms var(--ease-out),background-color 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .ins a:hover{transform:translateX(12px);background-color:rgba(223,174,78,.06)}
}
.ins .d{font-family:var(--mono);font-size:.74rem;color:var(--fg-3);letter-spacing:.06em}
.ins h3{font-size:1.38rem;max-width:32ch;color:var(--fg)}
.ins a:hover h3{color:#fff}
.ins .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-3);text-align:right}
.ins-more{grid-column:1/13;margin-top:34px}

/* ── about ── */
.ab-p{grid-column:1/4}
.portrait{aspect-ratio:4/5;background:var(--navy-2);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center}
.portrait span{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.ab-t{grid-column:5/12}
.ab-t h2{margin:18px 0 30px;color:#fff}
.ab-t h1{margin:18px 0 30px;color:#fff;font-size:clamp(2.2rem,4.5vw,3.2rem)}
.ab-t li a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ab-t p{margin-bottom:18px;font-size:1.05rem}
.ab-t ul{list-style:none;margin-top:36px;border-top:1px solid var(--rule)}
.ab-t li{font-family:var(--mono);font-size:.85rem;color:var(--fg-2);padding:14px 0;border-bottom:1px solid var(--rule)}

/* ── book a call ── */
.book{padding-bottom:clamp(80px,11vw,150px)}
.book .calendly-inline-widget{min-width:320px;height:720px;border:1px solid var(--rule);background:var(--navy-2)}

/* ── close ── */
.close{padding:clamp(90px,13vw,180px) 0}
.close-t{grid-column:1/9}
.close h2{font-size:clamp(2.4rem,6vw,4.6rem);color:#fff}
.close p{margin-top:32px;font-size:1.15rem;max-width:52ch}

/* ── footer ── */
footer{background:var(--navy-2);color:var(--fg-3);padding:60px 0 40px;border-top:1px solid var(--rule)}
.f-top{display:flex;flex-wrap:wrap;gap:26px;justify-content:space-between;align-items:baseline}
.f-nav{display:flex;gap:26px;list-style:none;flex-wrap:wrap}
.f-nav a{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--fg-3)}
.f-nav a:hover{color:var(--fg)}
.f-legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--fg-3)}

/* ═══════════════════════════════════════════
   BLOG
   ═══════════════════════════════════════════ */

/* index */
.blog-head{padding:clamp(70px,10vw,130px) 0 40px}
.blog-head .t{grid-column:1/9}
a.tag{text-decoration:none}
a.tag:hover{color:var(--gold-deep)}
.cats{margin-top:30px;display:flex;gap:24px;flex-wrap:wrap}
.cats a{font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-3);text-decoration:none;transition:color var(--t-fast) var(--ease-out)}
.cats a:hover{color:var(--fg)}
.cats a.on{color:var(--gold)}
.blog-head h1{font-size:clamp(2.6rem,6.5vw,5rem);color:#fff}
.blog-head p{margin-top:28px;font-size:1.15rem}
.blog-list{padding-bottom:clamp(80px,11vw,150px)}
.blog-list .ins{grid-column:1/13}

/* article — light, for reading */
.article{background:var(--paper);color:var(--ink)}
.article .a-head{padding:clamp(60px,8vw,110px) 0 0}
.article .a-head .t{grid-column:2/11}
.article h1{font-size:clamp(2.3rem,5.4vw,4rem);color:var(--ink);letter-spacing:-.022em;line-height:1.02}
.a-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;padding-top:20px;border-top:1px solid var(--rule-l)}
.a-meta span{font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.a-meta span.k{color:var(--gold-deep)}
.a-lede{grid-column:2/11;margin-top:34px;font-size:1.3rem;line-height:1.5;color:var(--ink-2);font-family:var(--display);max-width:48ch}
.a-hero{grid-column:1/13;margin-top:56px}
.a-hero img{width:100%;height:auto;border:1px solid var(--rule-l)}

.prose{grid-column:3/11;padding:clamp(50px,7vw,90px) 0 clamp(70px,9vw,120px)}
.prose > *{max-width:none}
.prose p{font-size:1.16rem;line-height:1.72;color:var(--ink-2);margin-bottom:28px}
.prose h2{
  font-size:clamp(1.7rem,3vw,2.3rem);color:var(--ink);margin:60px 0 22px;
  padding-top:26px;border-top:1px solid var(--rule-l);
}
.prose h3{font-size:1.4rem;color:var(--ink);margin:44px 0 16px}
.prose strong{color:var(--ink);font-weight:500}
.prose em{font-style:italic}
.prose a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{margin:0 0 28px 0;padding-left:0;list-style:none}
.prose li{font-size:1.12rem;line-height:1.65;color:var(--ink-2);padding-left:26px;position:relative;margin-bottom:12px}
.prose ul li::before{content:"";position:absolute;left:0;top:14px;width:11px;height:1px;background:var(--gold-deep)}
.prose ol{counter-reset:n}
.prose ol li{counter-increment:n}
.prose ol li::before{content:counter(n);position:absolute;left:0;top:0;font-family:var(--mono);font-size:.78rem;color:var(--gold-deep)}
.prose blockquote{
  margin:36px 0;padding:4px 0 4px 28px;border-left:2px solid var(--gold);
  font-family:var(--display);font-size:1.42rem;line-height:1.35;color:var(--ink);
}
.prose img{margin:44px 0 12px;border:1px solid var(--rule-l);width:100%;height:auto}
.prose img + em,.prose figcaption{
  display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;
  color:var(--ink-3);font-style:normal;margin-bottom:44px;
}
.prose pre{background:var(--navy);color:var(--fg);padding:24px;overflow-x:auto;margin:0 0 28px;font-family:var(--mono);font-size:.86rem;line-height:1.6}
.prose code{font-family:var(--mono);font-size:.9em;background:var(--paper-2);padding:2px 6px}
.prose pre code{background:none;padding:0}
.prose hr{border:0;border-top:1px solid var(--rule-l);margin:48px 0}

.a-foot{background:var(--navy);padding:clamp(70px,9vw,110px) 0}
.a-foot .t{grid-column:1/8}
.a-foot h2{color:#fff;font-size:clamp(1.9rem,4vw,2.9rem)}
.a-foot p{margin-top:22px}
.a-foot .cta{margin-top:34px;display:flex;gap:26px;flex-wrap:wrap}

@media (max-width:960px){
  .g{gap:20px}
  .hero-h,.hero-sub,.hero-cta,.hero-note,.stall-h,.stall-list,.method-h,
  .case-h,.case-meta,.eng-h,.gov-h,.gov-list,.ins-h,.ins,.ab-p,.ab-t,.close-t,
  .chart,.weeks,.dom,.figs,.case-foot,.tbl,.ins-more,.stmt blockquote,
  .blog-head .t,.article .a-head .t,.a-lede,.prose,.a-foot .t{grid-column:1/13}
  .hero-note{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:22px;margin-top:44px}
  .case-meta{border-left:0;padding-left:0;border-top:1px solid var(--rule-l);padding-top:22px;margin-top:34px}
  .m-item{grid-template-columns:1fr;gap:14px}
  .m-n,.m-t,.m-b{grid-column:1/2}
  .weeks{grid-template-columns:1fr}
  .week{border-right:0;border-bottom:1px solid var(--rule-l);padding:26px 0}
  .week:last-child{border-bottom:0}
  .sao{grid-template-columns:1fr}
  .sao > div{border-right:0;border-bottom:1px solid var(--rule-l);padding:26px 0}
  .sao > div:last-child{border-bottom:0}
  .checks{grid-template-columns:1fr}
  .dom ul{columns:1}
  .ab-p{max-width:230px;margin-bottom:34px}
  header .w{flex-wrap:wrap;height:auto;padding-bottom:16px;row-gap:12px}
  .nav{order:3;width:100%;gap:14px 20px;flex-wrap:wrap}
  .nav a{font-size:.66rem}
  .ins a{grid-template-columns:1fr;gap:8px}
  .ins .k{text-align:left}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl thead{display:none}
  .tbl tr{border-bottom:1px solid var(--gold);padding:24px 0}
  .tbl td{border:0;padding:6px 0}
  .tbl .c-name,.tbl .c-dur,.tbl .c-get,.tbl .c-when{width:100%}
  .tbl .c-dur{color:var(--gold)}
}

/* ── focus: visible for keyboard, invisible for mouse ─────────────────── */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:1px}
.case :focus-visible{outline-color:var(--gold-deep)}

/* ── reduced motion: fewer and gentler, not zero ──────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
  /* colour cues still carry meaning, so keep them — just drop the movement */
  .ins a:hover{transform:none}
  .lnk:active{transform:none}
}
