:root{
--ink:#0A0A0B; --ink-2:#1A1A1D; --ink-3:#2A2A2E;
--paper:#FFFFFF;   --bone:#FAFAF8;
--line:rgba(10,10,11,0.14); --line-soft:rgba(10,10,11,0.08); --line-dark:rgba(244,239,230,0.14);
--muted:rgba(10,10,11,0.58); --muted-dark:rgba(244,239,230,0.62);
--blue:#0655FF; --blue-2:#0444CC; --blue-tint:#DCE5FF; 
--signal:#B5FF3C;
--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--serif:"IBM Plex Serif",Georgia,"Times New Roman",serif;
--t1:cubic-bezier(.2,.7,.2,1);
--container:1320px; --gutter:32px; --measure:70ch;
}
*,*::before,*::after{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bn-case{
  font:400 17px/1.6 var(--sans); color:var(--ink); background:var(--paper);
  -webkit-font-smoothing:antialiased; font-feature-settings:"ss01","cv11";
  margin:0; text-rendering:optimizeLegibility;
}
.bn-case img,.bn-case svg{display:block;max-width:100%}
.bn-case :where(p){margin:0 0 18px}
.bn-case a:not(.btn):not(.card):not(.ix){color:var(--blue);text-decoration:none;border-bottom:1px solid rgba(6,85,255,.32);transition:border-color .2s var(--t1),color .2s var(--t1)}
.bn-case a:not(.btn):not(.card):not(.ix):hover{border-bottom-color:var(--blue);color:var(--blue-2)}
.bn-case strong,.bn-case b{font-weight:600;color:var(--ink)}
.bn-case :focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.on-ink :focus-visible{outline-color:#fff}
.bn-case h1,.bn-case h2,.bn-case h3,.bn-case h4{margin:0;text-wrap:balance}

.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.sec{padding-block:104px;position:relative}
.sec-tight{padding-block:72px}
.rule{height:1px;background:var(--line);border:0;margin:0}
.on-ink{background:var(--ink);color:#F4EFE6}
.on-ink .rule{background:var(--line-dark)}
.on-ink a:not(.btn):not(.card):not(.ix){color:#fff;border-bottom-color:rgba(255,255,255,.34)}
.on-ink a:not(.btn):not(.card):not(.ix):hover{color:#fff;border-bottom-color:#fff}

.micro{font:500 11px/1.45 var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:0}
.on-ink .micro{color:rgba(244,239,230,.66)}
h1.hx{font:500 clamp(36px,5.2vw,74px)/1.06 var(--sans);letter-spacing:-.035em}
h2.hx{font:500 clamp(29px,3.5vw,50px)/1.06 var(--sans);letter-spacing:-.03em}
h3.hx{font:500 clamp(19px,1.5vw,21px)/1.32 var(--sans);letter-spacing:-.015em}
.hx em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.015em}
.lede{font:400 clamp(19px,1.55vw,24px)/1.48 var(--sans);letter-spacing:-.012em;text-wrap:pretty}

/* section header block */
.sh{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0 28px;align-items:start;margin-bottom:44px}
.sh-i{font:500 11px/1.45 var(--mono);letter-spacing:.11em;color:var(--muted);padding-top:10px;border-top:1px solid var(--line)}
.on-ink .sh-i{border-top-color:var(--line-dark);color:rgba(244,239,230,.6)}
.sh-b{border-top:1px solid var(--line);padding-top:10px}
.on-ink .sh-b{border-top-color:var(--line-dark)}
.sh-b .lede{margin:18px 0 0;color:var(--muted)}
.on-ink .sh-b .lede{color:var(--muted-dark)}
@media(max-width:760px){.sh{grid-template-columns:1fr;gap:14px}.sh-i{border-top:0;padding-top:0}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;min-height:44px;padding:0 24px;border-radius:999px;font:500 15px/1 var(--sans);letter-spacing:-.005em;border:0;cursor:pointer;transition:background .25s var(--t1),color .25s var(--t1),border-color .25s var(--t1);white-space:nowrap;text-decoration:none}
.btn .arr{transition:transform .25s var(--t1)}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-2);color:#fff}
.btn-ink{background:var(--ink);color:#F4EFE6}
.btn-ink:hover{background:var(--ink-2);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.on-ink .btn-ghost{color:#fff;border-color:rgba(255,255,255,.34)}
.on-ink .btn-ghost:hover{border-color:#fff;color:#fff}
a.btn{border-bottom:0}
/* hero ghost sits on the photograph — the hairline needs a surface to read against */
#hero .btn-ghost{background:rgba(255,255,255,.72);border-color:rgba(10,10,11,.28);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%)}
#hero .btn-ghost:hover{background:#fff;border-color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* photo slots */
.ph{position:relative;overflow:hidden;background:var(--ink)}
.ph>.und{position:absolute;inset:0;width:100%;height:100%}
.ph>img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.cap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:baseline;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.cap .k{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--blue)}
.cap .t{font:400 15px/1.6 var(--sans);color:var(--muted);text-wrap:pretty;margin:0}
.on-ink .cap{border-top-color:var(--line-dark)}
.on-ink .cap .t{color:var(--muted-dark)}
.on-ink .cap .k{color:#fff}

/* ---------- s01 HERO · one photograph runs the whole section, washed white ---------- */
#hero{position:relative;isolation:isolate;background:var(--paper)}
.hero-photo{position:absolute;inset:0;z-index:0;background:var(--paper);pointer-events:none}
.hero-photo>img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 34%}
.hero-veil{position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,rgba(255,255,255,.40) 0%,rgba(255,255,255,.52) 20%,rgba(255,255,255,.68) 34%,rgba(255,255,255,.84) 45%,rgba(255,255,255,.91) 53%,rgba(255,255,255,.945) 70%,rgba(255,255,255,.96) 100%)}
.hero-media{position:relative;z-index:1;width:100%;height:min(66vh,48vw);min-height:400px}
.hero-body{position:relative;z-index:1}
.hero-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding-bottom:clamp(24px,3vw,40px)}
.crumb{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:rgba(10,10,11,.6);margin:0 0 22px;display:flex;flex-wrap:wrap;gap:8px}
.crumb a{color:rgba(10,10,11,.6);border-bottom:0}
.crumb a:hover{color:var(--ink)}
.crumb span{color:rgba(10,10,11,.34)}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,.72);border:1px solid rgba(10,10,11,.2);border-radius:999px;padding:9px 16px;margin:0 0 22px}
.hero-eyebrow i{width:6px;height:6px;background:var(--blue);border-radius:50%;display:block}
.hero-h1{color:var(--ink);max-width:19ch}
.hero-h1 em{color:var(--blue)}
.hero-support{margin:30px 0 0;max-width:56ch;font:400 clamp(16px,1.15vw,18.5px)/1.5 var(--sans);color:rgba(10,10,11,.68);text-wrap:pretty}
@media(max-width:760px){.hero-media{height:min(72vh,104vw);min-height:460px}.hero-photo>img{object-position:center 30%}.hero-h1{max-width:100%}}

.capsule-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:clamp(32px,5vw,88px);align-items:start}
.capsule{font:400 clamp(20px,1.75vw,27px)/1.42 var(--sans);letter-spacing:-.018em;margin:0;text-wrap:pretty}
.capsule-col{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(28px,3.4vw,44px)}
.stats{display:grid;gap:0;border-top:1px solid var(--ink)}
.stat{padding:20px 0;border-bottom:1px solid var(--line)}
.stat .k{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.stat .v{font:500 clamp(26px,2.4vw,34px)/1.05 var(--sans);letter-spacing:-.03em;margin:0;display:flex;align-items:baseline;gap:2px}
.stat .v .u{color:var(--blue)}
.byline{display:flex;flex-wrap:wrap;gap:20px clamp(20px,3vw,44px);align-items:flex-end;justify-content:space-between;margin-top:clamp(40px,4.5vw,64px);padding-top:26px;border-top:1px solid var(--line)}
.author{display:flex;gap:16px;align-items:center;min-width:0}
.authors{display:flex;flex-wrap:wrap;gap:16px clamp(24px,3vw,44px);align-items:center;min-width:0;flex:1 1 460px;max-width:64ch}
.avatar{width:56px;height:56px;flex:0 0 56px;border-radius:50%;overflow:hidden;background:var(--bone);border:1px solid var(--line);display:block}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%}
.authors .b{flex:1 1 100%}
.author .n{font:600 16px/1.32 var(--sans);margin:0}
.author .r{font:500 11px/1.45 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:3px 0 0}
.authors .b{font:400 15px/1.6 var(--sans);color:var(--muted);margin:0;max-width:52ch}
.byline .rev{flex:1 1 100%;font:400 13px/1.5 var(--sans);color:var(--muted);margin:0}
.byline .rev a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.byline .rev a:hover{text-decoration-thickness:2px}
.dates{font:500 11px/1.7 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 0 auto;text-align:right}
@media(max-width:900px){.capsule-grid{grid-template-columns:1fr}.dates{text-align:left;margin-left:0}}

/* section index */
.index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
.ix{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:14px 0;border-top:1px solid var(--line-dark);font:500 12px/1.5 var(--mono);letter-spacing:.01em;color:rgba(244,239,230,.78);border-bottom:0;text-decoration:none;transition:color .2s var(--t1)}
.ix .n{color:rgba(244,239,230,.4)}
.ix:hover{color:#fff}
.ix:hover .n{color:var(--signal)}
@media(max-width:1040px){.index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.index-grid{grid-template-columns:1fr}}

/* quick answers + fact strip */
.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.qa{background:var(--bone);padding:clamp(24px,2.4vw,34px);transition:background .25s var(--t1)}
.qa:hover{background:#fff}
.qa h3{margin:0 0 12px}
.qa p{margin:0;color:var(--muted);font-size:16.5px;text-wrap:pretty}
.qa .n{font:500 11px/1.45 var(--mono);letter-spacing:.11em;color:var(--blue);display:block;margin-bottom:14px}
@media(max-width:760px){.qa-grid{grid-template-columns:1fr}}
.facts{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);margin-top:1px;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;overflow:hidden}
.fact{flex:1 1 176px;background:#fff;padding:20px 22px}
.fact .k{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}
.fact .v{font:500 16px/1.32 var(--sans);letter-spacing:-.01em;margin:0}
.fact-blue{background:var(--ink);color:#F4EFE6}
.fact-blue .k{color:rgba(244,239,230,.55)}
@media(max-width:480px){.fact{flex:1 1 100%}}

/* generic prose + breakdown list */
.prose{font-size:17.5px;line-height:1.65}
.prose p{max-width:var(--measure)}
.pts{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid var(--line)}
.pts li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.pts li .n{font:500 12px/1.5 var(--mono);color:var(--blue);letter-spacing:.04em}
.pts li .t{font:400 17.5px/1.6 var(--sans);text-wrap:pretty;max-width:66ch}
.cite{font:400 15px/1.6 var(--sans);color:var(--muted);border-left:2px solid var(--blue);padding-left:18px;margin:34px 0 0;max-width:64ch}
.cite .doi{font-family:var(--mono);font-size:12px;letter-spacing:-.01em;word-break:break-word}
.kicker{font:400 clamp(18px,1.4vw,21px)/1.45 var(--serif);font-style:italic;color:var(--ink);margin:34px 0 0;max-width:56ch}

/* pull quote */
.pull{margin:clamp(44px,5vw,72px) 0;padding:0 0 0 clamp(20px,3vw,44px);border-left:2px solid var(--blue);max-width:26ch}
.pull q,.pull .q{font:400 clamp(26px,3vw,44px)/1.18 var(--serif);font-style:italic;color:var(--blue);letter-spacing:-.02em;display:block;quotes:none}
.pull .who{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:22px 0 0}
.pull-wide{max-width:34ch}

/* tables */
.tbl-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
table.t{width:100%;border-collapse:collapse;font-size:16px}
table.t caption{text-align:left;font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);padding:20px 22px 0}
table.t th,table.t td{text-align:left;padding:17px 22px;vertical-align:top;border-bottom:1px solid var(--line-soft)}
table.t thead th{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);background:var(--bone);border-bottom:1px solid var(--line);white-space:nowrap}
table.t tbody th{font:500 16px/1.32 var(--sans);letter-spacing:-.01em;width:22%}
table.t td{color:var(--muted);line-height:1.6}
table.t tbody tr:last-child th,table.t tbody tr:last-child td{border-bottom:0}
table.t tbody tr.ours{background:rgba(6,85,255,.045)}
table.t tbody tr.ours th{color:var(--ink)}
table.t tbody tr.ours td{color:rgba(10,10,11,.72)}
table.t tbody tr.ours th::after{content:"OURS";display:block;font:500 11px/1 var(--mono);letter-spacing:.11em;color:var(--blue);margin-top:8px}
table.t tbody tr:hover{background:var(--bone)}
table.t tbody tr.ours:hover{background:rgba(6,85,255,.07)}
@media(max-width:860px){
  table.t,table.t tbody,table.t tr,table.t th,table.t td{display:block;width:auto}
  table.t thead{display:none}
  table.t tbody tr{border-bottom:1px solid var(--line);padding:8px 0}
  table.t tbody tr:last-child{border-bottom:0}
  table.t tbody th{padding-bottom:6px}
  table.t td{padding:4px 22px 8px;border:0}
  table.t td::before{content:attr(data-h);display:block;font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
}

/* diagram frame */
.diag{border:1px solid var(--line);border-radius:14px;background:var(--bone);padding:clamp(18px,2vw,30px)}
.diag>svg{width:100%;height:auto}
.diag-ink{background:var(--ink-2);border-color:var(--ink-3)}
.diag-hd{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:baseline;margin-bottom:18px}
.diag-hd .lbl{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.diag-ink .diag-hd .lbl{color:rgba(244,239,230,.6)}
.diag-hd .tier{font:500 11px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--blue);border:1px solid rgba(6,85,255,.34);border-radius:999px;padding:6px 11px}

/* s05 decisions */
.dec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:clamp(34px,4vw,52px)}
.dec>div{background:#fff;padding:clamp(24px,2.4vw,34px)}
.dec .n{font:500 11px/1.45 var(--mono);letter-spacing:.11em;color:var(--blue);display:block;margin-bottom:16px}
.dec h3{margin:0 0 12px}
.dec p{margin:0;color:var(--muted);font-size:16.5px;text-wrap:pretty}
.dec p+p{margin-top:12px}
@media(max-width:760px){.dec{grid-template-columns:1fr}}

/* s06 stack ledger on ink */
.stack{display:block;width:100%;border-collapse:collapse;border-top:1px solid var(--line-dark)}
.stack thead,.stack tbody{display:block}
.stack th,.stack td{font-weight:inherit;text-align:left;padding:0;border:0}
.srow{display:grid;grid-template-columns:52px minmax(0,1.05fr) minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line-dark);align-items:baseline;transition:background .2s var(--t1)}
.srow:hover{background:rgba(244,239,230,.04)}
.srow .n{font:500 12px/1.5 var(--mono);color:rgba(244,239,230,.42);letter-spacing:.04em}
.srow .ly{font:500 17.5px/1.32 var(--sans);letter-spacing:-.015em;color:#fff}
.srow .u{font:400 16px/1.6 var(--sans);color:#F4EFE6}
.srow .w{font:400 15px/1.6 var(--sans);color:var(--muted-dark)}
.srow .x{font:400 15px/1.6 var(--sans);color:rgba(244,239,230,.42);text-decoration:line-through;text-decoration-color:rgba(244,239,230,.3);text-decoration-thickness:1px}
.srow-hd{padding:12px 0;border-bottom:1px solid var(--line-dark)}
.srow-hd th{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:rgba(244,239,230,.45)}
@media(max-width:980px){
  .srow,.srow-hd{grid-template-columns:40px minmax(0,1fr);gap:6px 18px}
  .srow-hd{display:none}
  .srow .ly{grid-column:2}
  .srow .u,.srow .w,.srow .x{grid-column:2}
  .srow .u::before,.srow .w::before,.srow .x::before{content:attr(data-h);display:block;font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:rgba(244,239,230,.4);margin:8px 0 2px;text-decoration:none}
}

/* s07 steps */
.steps{list-style:none;counter-reset:st;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.steps li{background:#fff;padding:clamp(22px,2.2vw,30px);display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;align-items:start}
.steps li .n{font:500 12px/1.5 var(--mono);color:var(--blue);letter-spacing:.04em;padding-top:2px}
.steps li .t{font:400 16.5px/1.6 var(--sans);text-wrap:pretty;margin:0}
@media(max-width:760px){.steps{grid-template-columns:1fr}}

/* s07 flow animation */
.flow{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(18px,2.2vw,30px);align-items:start;margin-top:clamp(28px,3.2vw,44px)}
@media(max-width:1000px){.flow{grid-template-columns:1fr}}
.flow .steps{grid-template-columns:1fr}
.flow .steps li{display:block;padding:0;grid-template-columns:none}
.flow .steps li>button{width:100%;min-height:44px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;align-items:start;text-align:left;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:clamp(14px,1.5vw,19px) clamp(18px,1.8vw,24px);transition:background .2s var(--t1),box-shadow .2s var(--t1)}
.flow .steps li>button:hover{background:var(--bone)}
.flow .steps li>button:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.flow .steps li[aria-current="step"]>button{background:var(--bone);box-shadow:inset 3px 0 0 var(--blue)}
.flow .steps li:not(.done):not([aria-current="step"]) .t{color:var(--muted)}
.flow .steps li:not(.done):not([aria-current="step"]) .n{color:rgba(10,10,11,.3)}
.viz-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}
.ctl{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font:500 13px/1 var(--sans);cursor:pointer;transition:background .2s var(--t1),border-color .2s var(--t1),color .2s var(--t1)}
.ctl:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.ctl:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.viz-live{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0 0 0 auto}
@media(max-width:520px){.viz-live{margin:4px 0 0;flex:1 1 100%}}
#d2svg{display:block;width:100%;height:auto;overflow:visible}
#d2svg text{font-family:var(--mono);font-weight:500}
#d2svg .vl{font-size:14px;letter-spacing:.08em;text-transform:uppercase;fill:rgba(10,10,11,.52)}
#d2svg .vb{fill:var(--blue)}
#d2svg .vk{fill:#F4EFE6}
#d2svg [data-vis]{opacity:0;transition:opacity .55s var(--t1)}
#d2svg[data-stage="0"] [data-vis~="0"],#d2svg[data-stage="1"] [data-vis~="1"],#d2svg[data-stage="2"] [data-vis~="2"],#d2svg[data-stage="3"] [data-vis~="3"],#d2svg[data-stage="4"] [data-vis~="4"],#d2svg[data-stage="5"] [data-vis~="5"],#d2svg[data-stage="6"] [data-vis~="6"]{opacity:1}
#d2svg[data-stage="3"] #bim,#d2svg[data-stage="4"] #bim,#d2svg[data-stage="5"] #bim{opacity:.3}
#d2svg #plan{transform-box:view-box;transform-origin:326px 273px;transform:scale(1.06)}
#d2svg #iso{transform-box:view-box;transform-origin:322px 229px;transform:scale(.97);transition:transform .9s var(--t1)}
#d2svg[data-stage="2"] #iso,#d2svg[data-stage="3"] #iso,#d2svg[data-stage="4"] #iso,#d2svg[data-stage="5"] #iso{transform:none}
#d2svg #rebuild{transform-box:view-box;transform-origin:322px 229px;transition:transform .85s var(--t1)}
#d2svg[data-stage="2"] #rebuild{transform:translate(30px,-17px) rotate(2.4deg)}
#d2svg[data-stage="2"][data-beat="coarse"] #rebuild{transform:translate(8px,-5px) rotate(.8deg)}
#d2svg[data-stage="2"][data-beat="fine"] #rebuild{transform:none}
#d2svg #cam{transform:translate(492px,410px)}
#d2svg[data-stage="0"] #cam{animation:fwalk 2.6s cubic-bezier(.35,.02,.4,1) forwards}
/* extruded faces — three shades per solid */
#d2svg .bx path{transition:fill .6s var(--t1),opacity .45s var(--t1)}
#d2svg .bx .ft{fill:var(--f1)}
#d2svg .bx .fr{fill:var(--f2)}
#d2svg .bx .ff{fill:var(--f3)}
#d2svg #els .bx{--f1:#DEDED9;--f2:#C4C4BE;--f3:#A9A9A3}
/* stage 04 · lit by element class */
#d2svg[data-stage="3"] #els #walls .bx{--f1:#0655FF;--f2:#0546CE;--f3:#03349E}
#d2svg[data-stage="3"] #els #beams .bx{--f1:#00A6B8;--f2:#008795;--f3:#00646E}
#d2svg[data-stage="3"] #els #cols .bx{--f1:#6B2BE0;--f2:#5620B8;--f3:#3F178A}
#d2svg[data-stage="3"] #els #slabs .bx{--f1:#B6C9FF;--f2:#93ADF5;--f3:#7590D6}
/* stage 05-06 · recoloured by status */
#d2svg[data-stage="4"][data-beat="status"] #els .st-b,#d2svg[data-stage="4"][data-beat="agree"] #els .st-b,#d2svg[data-stage="5"] #els .st-b{--f1:#0655FF;--f2:#0546CE;--f3:#03349E}
#d2svg[data-stage="4"][data-beat="status"] #els .st-p,#d2svg[data-stage="4"][data-beat="agree"] #els .st-p,#d2svg[data-stage="5"] #els .st-p{--f1:#E2661F;--f2:#C2410C;--f3:#93300A}
#d2svg[data-stage="4"][data-beat="status"] #els .st-n,#d2svg[data-stage="4"][data-beat="agree"] #els .st-n,#d2svg[data-stage="5"] #els .st-n{--f1:#FFFFFF;--f2:#F1F1EC;--f3:#E2E2DC}
#d2svg[data-stage="4"][data-beat="status"] #els .st-n path,#d2svg[data-stage="4"][data-beat="agree"] #els .st-n path,#d2svg[data-stage="5"] #els .st-n path{stroke:#0655FF;stroke-dasharray:4 4}
#d2svg[data-stage="4"][data-beat="agree"] #els #p2,#d2svg[data-stage="5"] #els #p2{--f1:#0655FF;--f2:#0546CE;--f3:#03349E}
#d2svg #coda .c-1{--f1:#B6C9FF;--f2:#93ADF5;--f3:#7590D6}
#d2svg #coda .c-2{--f1:#4D82FF;--f2:#3466DB;--f3:#254CA8}
#d2svg #coda .c-3{--f1:#0655FF;--f2:#0546CE;--f3:#03349E}
#d2svg .bx.dim{opacity:1}
#d2svg[data-stage="3"] .bx.dim,#d2svg[data-stage="4"] .bx.dim,#d2svg[data-stage="5"] .bx.dim{opacity:.3}
@keyframes fwalk{0.00%{transform:translate(179px,185px)}8.96%{transform:translate(179px,371px)}14.40%{transform:translate(292px,371px)}23.36%{transform:translate(292px,185px)}29.96%{transform:translate(429px,185px)}38.92%{transform:translate(429px,371px)}41.96%{transform:translate(492px,371px)}51.88%{transform:translate(492px,165px)}58.48%{transform:translate(355px,165px)}70.28%{transform:translate(355px,410px)}76.64%{transform:translate(223px,410px)}81.84%{transform:translate(223px,302px)}94.80%{transform:translate(492px,302px)}100.00%{transform:translate(492px,410px)}}3.43%{transform:translate(205px,185px)}7.48%{transform:translate(205px,250px)}11.22%{transform:translate(265px,250px)}15.27%{transform:translate(265px,185px)}19.01%{transform:translate(325px,185px)}23.07%{transform:translate(325px,250px)}26.81%{transform:translate(385px,250px)}30.86%{transform:translate(385px,185px)}37.72%{transform:translate(495px,185px)}44.64%{transform:translate(495px,296px)}65.52%{transform:translate(160px,296px)}70.89%{transform:translate(160px,382px)}76.18%{transform:translate(245px,382px)}78.43%{transform:translate(245px,418px)}83.10%{transform:translate(320px,418px)}86.10%{transform:translate(320px,370px)}91.08%{transform:translate(400px,370px)}94.08%{transform:translate(400px,418px)}100.00%{transform:translate(495px,418px)}}
#d2svg #ticks rect{opacity:0;transition:opacity .35s var(--t1)}
#d2svg[data-stage="0"] #ticks rect{opacity:.9}
#d2svg #els{opacity:0;transition:opacity .7s var(--t1)}
#d2svg[data-stage="1"][data-beat="surf"] #els,#d2svg[data-stage="2"] #els,#d2svg[data-stage="3"] #els,#d2svg[data-stage="4"] #els,#d2svg[data-stage="5"] #els{opacity:1}
#d2svg #agree,#d2svg #pulse{opacity:0;transition:opacity .45s var(--t1)}
#d2svg[data-stage="4"][data-beat="agree"] #agree,#d2svg[data-stage="4"][data-beat="agree"] #pulse{opacity:1}
#d2svg[data-stage="4"][data-beat="agree"] #pulse circle{animation:fpulse 1.4s var(--t1) 2}
@keyframes fpulse{0%{r:9;opacity:.9}100%{r:26;opacity:0}}
#d2svg #tags{transition-delay:.15s}
#d2svg #bars .fl{transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0);transition:transform .9s var(--t1)}
#d2svg[data-stage="5"] #bars .fl{transform:scaleX(1)}
#d2svg #flags{opacity:0;transition:opacity .5s var(--t1)}
#d2svg[data-stage="5"][data-beat="flag"] #flags{opacity:1}
#d2svg #coda .mini{transition:opacity .6s var(--t1)}
@media(min-width:761px){#d2svg #coda{transform-box:view-box;transform-origin:480px 259px;transform:translateY(-44px) scale(1.1)}}
@media(max-width:760px){
  #d2svg #llab{transform-box:view-box;transform-origin:40px 20px;transform:scale(1.55)}
  #d2svg #iso{transform-origin:322px 229px;transform:translateY(150px) scale(.9)}
  #d2svg #plan{transform-origin:326px 273px;transform:translateY(150px) scale(.92)}
  #d2svg #rlab{transform-box:view-box;transform-origin:640px 130px;transform:translate(-600px,578px) scale(1.55)}
  #d2svg #roll{transform-box:view-box;transform-origin:640px 54px;transform:translate(-600px,706px) scale(1.55)}
  #d2svg #sline{opacity:0}
  #d2svg #slinem{opacity:1}
  #d2svg #sword{transform-box:view-box;transform-origin:40px 128px;transform:scale(1.5)}
  #d2svg .cap{transform-box:view-box}
  #d2svg #cap1{transform-origin:40px 176px;transform:scale(1.62)}
  #d2svg #cap2{transform-origin:340px 176px;transform:translate(-300px,368px) scale(1.62)}
  #d2svg #cap3{transform-origin:640px 176px;transform:translate(-600px,736px) scale(1.62)}
  #d2svg #codaflag{transform-box:view-box;transform-origin:884px 252px;transform:translate(-600px,736px) scale(1.62)}
  #d2svg #codaword{transform-box:view-box;transform-origin:40px 410px;transform:translate(0,880px) scale(1.4)}
}
@media(prefers-reduced-motion:reduce){#d2svg *,#d2svg{transition:none!important;animation:none!important}}
.no-anim #d2svg *{transition:none!important;animation:none!important}

/* s08 failures */
.fails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.fails>div{background:var(--bone);padding:clamp(24px,2.4vw,32px)}
.fails h3{margin:0 0 12px;font:500 20px/1.32 var(--sans);letter-spacing:-.02em}
.fails h3 .d{color:var(--blue)}
.fails p{margin:0;color:var(--muted);font-size:16.5px;text-wrap:pretty}
@media(max-width:860px){.fails{grid-template-columns:1fr}}
.aside{margin:26px 0 0;font:400 15px/1.6 var(--sans);color:var(--muted);border-top:1px solid var(--line);padding-top:16px;max-width:60ch}

/* s09 fixes */
.fixes{display:grid;gap:18px;margin:0}
.fix{display:grid;grid-template-columns:minmax(0,.8fr) 1px minmax(0,1.6fr);gap:clamp(20px,3vw,44px);align-items:start;border:1px solid var(--line);border-radius:14px;padding:clamp(22px,2.4vw,32px);background:var(--bone);transition:background .25s var(--t1),border-color .25s var(--t1)}
.fix:hover{background:#fff;border-color:rgba(10,10,11,.24)}
.fix .prob .k{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.fix .prob h3{margin:0}
.fix .sep{background:var(--line)}
.fix .sol p{margin:0;font-size:16.5px;color:var(--muted);text-wrap:pretty}
.fix .sol p+p{margin-top:10px}
.fix .sol .lead{color:var(--ink);font-weight:600}
@media(max-width:860px){.fix{grid-template-columns:1fr}.fix .sep{height:1px}}

/* s10 results on ink */
.res{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start}
.bigfig{font:400 clamp(54px,8.2vw,128px)/0.9 var(--serif);font-style:italic;letter-spacing:-.04em;color:#fff;margin:0;display:flex;align-items:baseline;flex-wrap:wrap}
.bigfig .dash{color:rgba(244,239,230,.34);padding:0 .06em}
.bigfig .pc{color:var(--blue-tint);font-size:.36em;padding-left:.08em;white-space:nowrap}
.bigfig-k{font:500 11px/1.45 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(244,239,230,.6);margin:0 0 14px}
.bigfig-s{font:400 16.5px/1.6 var(--sans);color:var(--muted-dark);margin:22px 0 0;max-width:40ch}
.res-notes{display:block;width:100%;border-collapse:collapse;border-top:1px solid var(--line-dark)}
.res-notes tbody{display:block}
.res-notes th,.res-notes td{display:block;padding:0;border:0;text-align:left;font-weight:inherit}
.res-notes tr{display:block;padding:22px 0;border-bottom:1px solid var(--line-dark)}
.res-notes .k{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:rgba(244,239,230,.5);margin:0 0 9px}
.res-notes p{margin:0;font-size:16.5px;line-height:1.6;color:#F4EFE6;text-wrap:pretty}
.res-notes p.hon{color:var(--muted-dark)}
@media(max-width:900px){.res{grid-template-columns:1fr}}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:grid;grid-template-columns:44px minmax(0,1fr) 30px;gap:16px;align-items:baseline;padding:24px 0;cursor:pointer;list-style:none;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .n{font:500 12px/1.5 var(--mono);color:var(--muted);letter-spacing:.04em}
.faq summary .q{font:500 clamp(17.5px,1.5vw,21px)/1.32 var(--sans);letter-spacing:-.018em;text-wrap:pretty}
.faq summary .pm{position:relative;width:14px;height:14px;justify-self:end;align-self:center}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--ink);transition:transform .3s var(--t1),opacity .3s var(--t1)}
.faq summary .pm::before{left:0;top:6px;width:14px;height:2px}
.faq summary .pm::after{left:6px;top:0;width:2px;height:14px}
.faq details[open] summary .pm::after{transform:rotate(90deg);opacity:0}
.faq details[open] summary .n{color:var(--blue)}
.faq summary:hover .q{color:var(--blue)}
.faq .a{padding:0 30px 28px 60px;margin:0}
.faq .a p{margin:0;color:var(--muted);font-size:16.5px;line-height:1.6;max-width:64ch;text-wrap:pretty}
@media(max-width:620px){.faq .a{padding:0 0 24px}.faq summary{grid-template-columns:30px minmax(0,1fr) 24px;gap:10px}}

/* cards s15 / s16 */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{display:block;border:1px solid var(--line);border-radius:14px;background:var(--bone);padding:clamp(24px,2.3vw,30px);text-decoration:none;color:inherit;border-bottom:1px solid var(--line);transition:background .25s var(--t1),border-color .25s var(--t1),transform .25s var(--t1)}
.card:hover{background:#fff;border-color:rgba(10,10,11,.26);color:inherit;transform:translateY(-2px)}
.card .k{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--blue);margin:0 0 16px}
.card h3{margin:0 0 12px;font:500 19px/1.32 var(--sans);letter-spacing:-.018em}
.card p{margin:0;color:var(--muted);font-size:16px;line-height:1.6;text-wrap:pretty}
.card .go{display:flex;align-items:center;gap:8px;margin:20px 0 0;font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.card .go .arr{transition:transform .25s var(--t1)}
.card:hover .go .arr{transform:translateX(4px)}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cards{grid-template-columns:1fr}}
.after-cards{margin:34px 0 0;font-size:16.5px;color:var(--muted);max-width:66ch}

/* mid CTA bands */
.slim{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bone)}
.slim-row{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;padding:34px 0}
.slim-row p{margin:0;font:500 clamp(17px,1.5vw,21px)/1.32 var(--sans);letter-spacing:-.018em;max-width:34ch}
.blue{position:relative;overflow:hidden;color:#fff;background:
  radial-gradient(80% 120% at 92% 0%,rgba(255,255,255,.2),transparent 55%),
  radial-gradient(70% 100% at 0% 100%,rgba(2,30,120,.5),transparent 62%),
  linear-gradient(115deg,#0858FF 0%,#0A48E0 55%,#0334B8 100%)}
.blue::before{content:"";position:absolute;inset:-1px;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(circle at 26% 50%,#000,transparent 82%);mask-image:radial-gradient(circle at 26% 50%,#000,transparent 82%)}
.blue::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(8px 8px at 13% 26%,rgba(255,255,255,.55),transparent 70%),radial-gradient(6px 6px at 88% 74%,rgba(181,255,60,.72),transparent 70%)}
.blue .wrap{position:relative;z-index:1}
.band-row{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;padding:clamp(44px,5vw,72px) 0}
.band-h{font:500 clamp(24px,2.8vw,40px)/1.12 var(--sans);letter-spacing:-.028em;margin:0;max-width:26ch}
.band-h em{font-family:var(--serif);font-style:italic;font-weight:400;color:rgba(255,255,255,.8)}
.trust{font:500 11px/1.45 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);margin:16px 0 0;display:flex;align-items:flex-start;gap:9px; background:none; padding:0}
.trust i{width:6px;height:6px;border-radius:50%;background:var(--signal);display:block;flex:0 0 6px;margin-top:5px}

/* the form (no <form> element) */
.lm{padding:clamp(56px,6.5vw,104px) 0}
.lm-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,80px);align-items:start}
.lm h2{color:#fff}
.lm .sub{font:400 17.5px/1.6 var(--sans);color:rgba(255,255,255,.8);margin:20px 0 0;max-width:42ch;text-wrap:pretty}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.f{display:flex;flex-direction:column;gap:8px}
.f-wide{grid-column:1/-1}
.f label{font:500 11px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.f label .req{color:var(--signal)}
.f input,.f textarea{font:400 16px/1.5 var(--sans);color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:14px 16px;min-height:48px;width:100%;transition:border-color .2s var(--t1),background .2s var(--t1)}
.f textarea{min-height:104px;resize:vertical}
.f input::placeholder,.f textarea::placeholder{color:rgba(255,255,255,.45)}
.f input:hover,.f textarea:hover{background:rgba(255,255,255,.12)}
.f input:focus,.f textarea:focus{outline:2px solid #fff;outline-offset:2px;background:rgba(255,255,255,.14)}
.f-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;margin-top:4px}
.f-note{font:400 14px/1.6 var(--sans);color:rgba(255,255,255,.72);margin:0;max-width:34ch}
.f-status{grid-column:1/-1;font:500 12px/1.5 var(--mono);letter-spacing:.06em;color:var(--signal);margin:0;min-height:18px}
@media(max-width:900px){.lm-grid{grid-template-columns:1fr}}
@media(max-width:560px){.fields{grid-template-columns:1fr}}

/* foot: citations + cite this */
.foot{background:var(--bone);border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);padding:clamp(48px,5vw,72px) 0}
.foot h2{font:500 clamp(20px,1.8vw,26px)/1.2 var(--sans);letter-spacing:-.022em;margin:0 0 18px}
.citeblk{font:400 15px/1.6 var(--sans);color:var(--muted);margin:0;max-width:52ch}
.citeblk .ttl{font-style:italic;color:var(--ink)}
.reflist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.reflist li{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px}
.reflist .s{font:500 11px/1.45 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.reflist .d{font:400 15px/1.6 var(--sans);color:var(--muted)}
.reflist .d .doi{font-family:var(--mono);font-size:12px;color:var(--ink);word-break:break-word}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr}}

/* sticky CTA */
.sticky{position:fixed;left:50%;bottom:22px;transform:translate(-50%,26px);z-index:60;display:flex;align-items:center;gap:4px;background:var(--ink);border-radius:999px;padding:6px 6px 6px 8px;box-shadow:0 24px 48px -22px rgba(10,10,11,.55),0 2px 6px rgba(10,10,11,.14);opacity:0;visibility:hidden;transition:opacity .3s var(--t1),transform .3s var(--t1),visibility .3s}
.sticky[data-show="1"]{opacity:1;visibility:visible;transform:translate(-50%,0)}
.sticky .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);margin:0 6px 0 4px;flex:0 0 7px;animation:pulse 2.4s var(--t1) infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.32}}
/* id-scoped: the global link rule (.bn-case a:not(...)) otherwise wins and paints this blue */
#sticky a{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 18px;border-radius:999px;font:500 14px/1 var(--sans);color:#F4EFE6;border-bottom:0;white-space:nowrap;text-decoration:none}
#sticky a:hover{background:var(--ink-2);color:#fff;border-bottom:0}
.sticky button{width:44px;height:44px;border:0;background:transparent;color:rgba(244,239,230,.5);font-size:17px;cursor:pointer;border-radius:999px;line-height:1}
.sticky button:hover{color:#fff;background:var(--ink-2)}
@media(max-width:560px){.sticky{left:16px;right:16px;bottom:16px;transform:translateY(26px)}.sticky[data-show="1"]{transform:translateY(0)}.sticky a{flex:1;justify-content:center}}
@media print{.sticky{display:none}}

/* diagram type */
.diag text,.ill text{font-family:var(--mono);font-weight:500;letter-spacing:.01em}
.diag .dz,.ill .dz{font-size:11px;letter-spacing:.13em;text-transform:uppercase;fill:rgba(10,10,11,.5)}
.diag .dn{font-size:12px;fill:var(--ink)}
.diag .dnum{font-size:11px;letter-spacing:.09em;fill:var(--blue)}
.diag .dsm{font-size:11px;letter-spacing:.11em;text-transform:uppercase;fill:rgba(10,10,11,.42)}
.diag-ink .dz{fill:rgba(244,239,230,.5)}
.diag-ink .dn{fill:#F4EFE6}
.diag-ink .dsm{fill:rgba(244,239,230,.45)}
.ill .dz{fill:rgba(10,10,11,.55)}

/* motion */
.js-anim [data-a]{opacity:0;transform:translateY(12px)}
.js-anim [data-a].in{opacity:1;transform:none;transition:opacity .6s var(--t1),transform .6s var(--t1)}
.js-anim [data-a="n"]{opacity:0;transform:none}
.js-anim [data-a="n"].in{opacity:1;transition:opacity .5s var(--t1)}
@media(prefers-reduced-motion:reduce){
  .js-anim [data-a],.js-anim [data-a].in{opacity:1;transform:none;transition:none}
  .sticky,.sticky[data-show="1"]{transition:none}
  .sticky .dot{animation:none}
}
@media print{.js-anim [data-a]{opacity:1 !important;transform:none !important}}
.no-anim [data-a]{opacity:1 !important;transform:none !important;transition:none !important}
.form-row {
    display: grid;
    gap: 14px;
    margin-bottom: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}.form-row.single { grid-template-columns: 1fr; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field label { font-family: "IBM Plex Mono", monospace; font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; }
.field input, .field select, .field textarea {
     width: 100%;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 8px;
    padding: 14px 16px;
    font: inherit;
    font-size: 15.5px;
    color: #fff;
    min-height: 48px;
}
.blue .hx em {
    color: #fff;
}
input::placeholder,
textarea::placeholder {
   color: #fff;
    opacity: .8;
}
.contact_form_case .btn-primary {
    background: #fff;
    color: var(--ink);
}
.field p {
    margin: 0;
}
.field textarea { resize: vertical; min-height: 100px; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--blue); }
.field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23bababa' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.req { color: var(--blue); }
.form-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 8px; flex-wrap: wrap; }
.form-fine { font-family: "IBM Plex Mono", monospace; font-size: 10.5px; color: var(--muted-dark); letter-spacing: 0.04em; }

.wp-block-group.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained{display:none}