/*
 * The Artisan story register, lifted verbatim from the batteries-included page as shipped
 * (resources/stories/batteries-included.html), so new stories are built from the same parts.
 * Components: .topbar .hero .hero-copy .hero-cta .hero-note .power-unit (dark panel, red offset)
 * .circuit-section .circuit-board .capability .cloud-service .alignment (dark) .translation-visual .wire
 * .leverage .mode-panel .practice .proof (red) .proof-chain .proof-step .closing .next-links .footer.
 * Additions shared by the new stories are at the end, under "Kit".
 */
@font-face { font-family:"Instrument Sans"; font-style:normal; font-weight:400 700; font-stretch:100%; font-display:swap; src:url("/fonts/instrument-sans-416253b0.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
        @font-face { font-family:"Instrument Sans"; font-style:normal; font-weight:400 700; font-stretch:100%; font-display:swap; src:url("/fonts/instrument-sans-e190a634.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

        :root {
            --red:#ff2d20;
            --red-dark:#cf1f16;
            --ink:#151412;
            --ink-soft:#2a2825;
            --cream:#f3f0e7;
            --paper:#fbfaf6;
            --line:#cfcabe;
            --muted:#6e6960;
            --electric:#dfff54;
            --blue:#70a7ff;
            --green:#75d69b;
        }

        * { box-sizing:border-box; }
        html { scroll-behavior:smooth; }
        body { margin:0; background:var(--cream); color:var(--ink); font-family:"Instrument Sans",ui-sans-serif,system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
        a,button { font:inherit; }
        a:focus-visible,button:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
        button { color:inherit; }
        .shell { overflow:hidden; }
        .wrap { width:min(1220px,calc(100% - 48px)); margin-inline:auto; }
        .eyebrow { display:flex; align-items:center; gap:10px; margin:0; color:var(--red); font-size:11px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
        .eyebrow::before { content:""; width:24px; height:2px; background:currentColor; }
        .eyebrow.light { color:var(--electric); }
        .section-title { margin:20px 0 0; font-size:clamp(42px,6vw,80px); line-height:.94; letter-spacing:-.062em; font-weight:650; }
        .section-lede { max-width:660px; margin:26px 0 0; color:var(--muted); font-size:18px; line-height:1.6; }

        .topbar { position:relative; z-index:20; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:84px; border-bottom:1px solid var(--line); }
        .brand { display:flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; }
        .brand img { width:27px; height:28px; }
        .brand strong { font-size:20px; letter-spacing:-.04em; }
        .brand span { color:var(--red); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
        .topbar nav { display:flex; gap:25px; }
        .topbar nav a,.sibling-link { color:var(--muted); font-size:12px; font-weight:650; text-decoration:none; }
        .topbar nav a:hover,.sibling-link:hover { color:var(--red); }
        .sibling-link { justify-self:end; display:flex; align-items:center; gap:10px; }
        .sibling-link span { display:grid; place-items:center; width:29px; height:29px; border:1px solid var(--line); border-radius:50%; color:var(--ink); }

        .hero { position:relative; min-height:720px; display:grid; grid-template-columns:.94fr 1.06fr; gap:72px; align-items:center; padding-block:72px 92px; }
        .hero::before { content:""; position:absolute; z-index:-2; inset:0 calc((100vw - 100%)/-2); background-image:linear-gradient(rgba(21,20,18,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(21,20,18,.045) 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(to bottom,#000 35%,transparent 100%); }
        .hero-copy h1 { max-width:720px; margin:22px 0 0; font-size:clamp(62px,7vw,105px); line-height:.84; letter-spacing:-.072em; font-weight:650; }
        .hero-copy h1 em { color:var(--red); font-style:normal; }
        .hero-copy .lede { max-width:560px; margin:34px 0 0; color:var(--muted); font-size:20px; line-height:1.55; }
        .hero-actions { display:flex; align-items:center; gap:24px; margin-top:38px; }
        .hero-cta { display:inline-flex; align-items:center; gap:30px; color:var(--ink); font-size:13px; font-weight:700; text-decoration:none; }
        .hero-cta span { display:grid; place-items:center; width:44px; height:44px; background:var(--red); color:#fff; border-radius:50%; transition:transform .2s ease; }
        .hero-cta:hover span { transform:translateY(4px); }
        .hero-note { padding-left:24px; border-left:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.45; }
        .hero-note strong { display:block; color:var(--ink); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }

        .power-unit { position:relative; min-height:536px; padding:36px; background:var(--ink); color:#fff; box-shadow:24px 24px 0 var(--red); }
        .power-unit::before { content:""; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.12); pointer-events:none; }
        .unit-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
        .unit-head p { margin:0; color:#a8a39a; font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
        .unit-head strong { display:block; margin-top:7px; font-size:15px; }
        .charge { display:flex; gap:5px; }
        .charge i { display:block; width:7px; height:22px; background:var(--electric); animation:charge 2.4s ease-in-out infinite; }
        .charge i:nth-child(2) { animation-delay:.16s; }.charge i:nth-child(3) { animation-delay:.32s; }.charge i:nth-child(4) { animation-delay:.48s; }
        .battery-body { position:relative; margin:66px auto 0; width:min(360px,100%); height:235px; padding:24px; border:2px solid #706c65; border-radius:24px; }
        .battery-body::after { content:""; position:absolute; top:82px; right:-17px; width:15px; height:66px; background:#706c65; border-radius:0 7px 7px 0; }
        .battery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; height:100%; }
        .battery-cell { position:relative; display:flex; align-items:flex-end; min-width:0; padding:11px 8px; background:#2c2926; overflow:hidden; color:#aaa49c; font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
        .battery-cell::before { content:""; position:absolute; inset:auto 0 0; height:var(--fill,76%); background:var(--red); transform-origin:bottom; animation:fill-cell 1s cubic-bezier(.22,1,.36,1) both; animation-delay:var(--delay,0s); }
        .battery-cell:nth-child(2n)::before { height:64%; }
        .battery-cell:nth-child(3n)::before { height:88%; }
        .battery-cell span { position:relative; z-index:1; writing-mode:vertical-rl; transform:rotate(180deg); color:#fff; }
        .battery-core { position:absolute; z-index:3; inset:50% auto auto 50%; display:grid; place-items:center; width:116px; height:116px; transform:translate(-50%,-50%); background:#fff; border-radius:50%; box-shadow:0 0 0 11px rgba(21,20,18,.8),0 0 46px rgba(255,45,32,.48); }
        .battery-core img { width:56px; height:58px; }
        .unit-foot { display:flex; justify-content:space-between; gap:30px; margin-top:58px; padding-top:18px; border-top:1px solid #403d39; }
        .unit-foot p { margin:0; color:#aaa49c; font-size:11px; line-height:1.45; }
        .unit-foot strong { color:#fff; }
        .unit-foot .live { color:var(--electric); font-weight:700; text-transform:uppercase; letter-spacing:.1em; white-space:nowrap; }

        .circuit-section { padding:118px 0 130px; background:var(--paper); }
        .circuit-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:end; }
        .circuit-heading .section-lede { justify-self:end; }
        .scenario-tabs { display:flex; gap:8px; margin-top:62px; padding-bottom:18px; border-bottom:1px solid var(--line); }
        .scenario-tabs button { display:flex; align-items:center; gap:12px; padding:13px 18px; border:1px solid transparent; background:transparent; color:var(--muted); cursor:pointer; font-size:12px; font-weight:700; }
        .scenario-tabs button span { color:var(--red); font-size:9px; }
        .scenario-tabs button:hover { color:var(--ink); }
        .scenario-tabs button[aria-selected="true"] { background:var(--ink); color:#fff; }
        .scenario-tabs button[aria-selected="true"] span { color:var(--electric); }

        .circuit-board { position:relative; display:grid; grid-template-columns:180px minmax(430px,1fr) 230px; gap:38px; min-height:530px; margin-top:34px; padding:42px; background:var(--cream); border:1px solid var(--line); overflow:hidden; }
        .circuit-board::before { content:""; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(21,20,18,.12) 1px,transparent 1.5px); background-size:17px 17px; opacity:.46; pointer-events:none; }
        .board-label { position:relative; z-index:2; margin-bottom:22px; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
        .input-column,.capability-column,.cloud-column { position:relative; z-index:2; }
        .input-column,.cloud-column { display:flex; flex-direction:column; }
        .intent-node,.value-node { position:relative; margin:auto 0; padding:24px 20px; border:1px solid var(--line); background:var(--paper); }
        .intent-node::after,.value-node::before { content:""; position:absolute; top:50%; width:39px; border-top:2px solid var(--red); }
        .intent-node::after { left:100%; }.value-node::before { right:100%; }
        .intent-node small,.value-node small { display:block; color:var(--red); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
        .intent-node strong,.value-node strong { display:block; margin-top:12px; font-size:22px; line-height:1.1; letter-spacing:-.035em; }
        .value-node { background:var(--red); border-color:var(--red); color:#fff; }
        .value-node small { color:#fff; opacity:.76; }
        .capability-column { display:grid; grid-template-rows:auto 1fr; }
        .capability-rail { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; align-content:center; }
        .capability-rail::before { content:""; position:absolute; left:-18px; right:-18px; top:50%; border-top:2px solid var(--line); }
        .capability { position:relative; z-index:1; min-height:104px; padding:16px 13px; border:1px solid var(--line); background:var(--paper); transition:opacity .28s ease,transform .28s ease,background .28s ease,border-color .28s ease; }
        .capability .port { display:block; width:9px; height:9px; margin-bottom:20px; background:var(--line); border-radius:50%; box-shadow:0 0 0 4px var(--paper); }
        .capability strong,.cloud-service strong { display:block; font-size:13px; }
        .capability small,.cloud-service small { display:block; margin-top:5px; color:var(--muted); font-size:10px; line-height:1.35; }
        .capability.is-active { transform:translateY(-8px); background:var(--ink); border-color:var(--ink); color:#fff; }
        .capability.is-active .port { background:var(--electric); box-shadow:0 0 0 4px var(--ink),0 0 18px var(--electric); }
        .capability.is-active small { color:#bdb7ae; }
        .capability.is-dim { opacity:.35; }
        .cloud-stack { display:grid; gap:7px; margin:auto 0; }
        .cloud-service { position:relative; padding:13px 15px; border-left:3px solid var(--line); background:rgba(251,250,246,.72); transition:opacity .28s ease,transform .28s ease,border-color .28s ease,background .28s ease; }
        .cloud-service::before { content:""; position:absolute; top:50%; right:100%; width:38px; border-top:1px solid var(--line); }
        .cloud-service.is-active { transform:translateX(7px); border-color:var(--red); background:#fff; }
        .cloud-service.is-active::after { content:""; position:absolute; top:50%; left:-8px; width:12px; height:12px; transform:translateY(-50%); background:var(--electric); border:2px solid var(--ink); border-radius:50%; }
        .cloud-service.is-dim { opacity:.3; }
        .board-readout { grid-column:1/-1; position:relative; z-index:2; display:grid; grid-template-columns:180px 1fr 230px; gap:38px; align-items:start; margin-top:10px; padding-top:23px; border-top:1px solid var(--line); }
        .readout-status { color:var(--red); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
        .readout-copy { margin:0; font-size:17px; line-height:1.5; }
        .readout-proof { margin:0; color:var(--muted); font-size:11px; line-height:1.45; }

        .alignment { padding:124px 0; background:var(--ink); color:#fff; }
        .alignment .section-lede { color:#aaa49b; }
        .alignment-head { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; }
        .alignment-head .section-lede { justify-self:end; }
        .translation-visual { display:grid; grid-template-columns:1fr 92px 1fr; gap:0; margin-top:72px; border-top:1px solid #3f3c37; border-bottom:1px solid #3f3c37; }
        .translation-side { padding:40px 0 44px; }
        .translation-side h3 { margin:0; font-size:30px; letter-spacing:-.04em; }
        .translation-side>p { max-width:460px; color:#aaa49b; line-height:1.6; }
        .translation-side.right { padding-left:44px; }
        .translation-side.left { padding-right:44px; }
        .translation-bridge { position:relative; display:grid; place-items:center; border-inline:1px solid #3f3c37; }
        .translation-bridge::after { content:""; width:2px; height:72%; background:repeating-linear-gradient(to bottom,#5a5650 0 7px,transparent 7px 14px); }
        .translation-bridge span { position:absolute; z-index:2; padding:10px 0; background:var(--ink); color:#77716a; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; writing-mode:vertical-rl; }
        .wiring-list { display:grid; gap:8px; margin-top:28px; }
        .wire { display:grid; grid-template-columns:130px 26px 1fr; gap:10px; align-items:center; min-height:45px; padding:7px 10px; background:#23211e; color:#b7b1a8; font-size:11px; }
        .wire b { color:#fff; font-size:12px; }
        .wire i { display:block; height:1px; background:#625d55; }
        .right .wire { grid-template-columns:130px 26px 1fr; background:rgba(255,45,32,.1); }
        .right .wire i { background:var(--red); }
        .right .wire span:last-child { color:var(--electric); }
        .alignment-thesis { display:flex; justify-content:space-between; gap:38px; align-items:center; margin-top:48px; }
        .alignment-thesis strong { max-width:780px; font-size:clamp(30px,4vw,54px); line-height:1.05; letter-spacing:-.05em; }
        .alignment-thesis p { max-width:270px; margin:0; color:#aaa49b; font-size:12px; line-height:1.55; }

        .leverage { padding:126px 0; background:var(--paper); }
        .leverage-layout { display:grid; grid-template-columns:390px 1fr; gap:90px; margin-top:76px; }
        .mode-panel { position:sticky; top:28px; align-self:start; padding:30px; background:var(--red); color:#fff; }
        .mode-panel>span { color:rgba(255,255,255,.7); font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
        .mode-panel h3 { margin:18px 0 0; font-size:38px; line-height:1; letter-spacing:-.05em; }
        .mode-panel p { margin:22px 0 0; line-height:1.55; }
        .mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin-top:30px; padding:4px; background:rgba(21,20,18,.18); }
        .mode-switch button { padding:11px; border:0; background:transparent; color:rgba(255,255,255,.72); cursor:pointer; font-size:11px; font-weight:700; }
        .mode-switch button[aria-pressed="true"] { background:#fff; color:var(--ink); }
        .owner-count { display:flex; align-items:flex-end; gap:12px; margin-top:34px; padding-top:24px; border-top:1px solid rgba(255,255,255,.35); }
        .owner-count strong { font-size:74px; line-height:.8; letter-spacing:-.08em; }
        .owner-count span { max-width:120px; font-size:10px; line-height:1.35; text-transform:uppercase; letter-spacing:.08em; }
        .practice-list { counter-reset:practice; }
        .practice { position:relative; display:grid; grid-template-columns:66px 1fr 190px; gap:24px; min-height:150px; padding:30px 0; border-top:1px solid var(--line); transition:opacity .25s ease; }
        .practice::before { counter-increment:practice; content:"0" counter(practice); color:var(--red); font-size:11px; font-weight:700; }
        .practice h3 { margin:0; font-size:24px; letter-spacing:-.035em; }
        .practice p { margin:12px 0 0; color:var(--muted); line-height:1.55; }
        .practice .owner { justify-self:end; align-self:start; padding:7px 10px; background:var(--ink); color:#fff; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; transition:background .25s,color .25s; }
        .practice[data-cloud="true"] .owner { background:var(--red); }
        .leverage[data-mode="manual"] .practice[data-cloud="true"] .owner { background:var(--ink); }
        .leverage[data-mode="manual"] .practice[data-cloud="true"] .owner::after { content:"You operate"; }
        .leverage[data-mode="cloud"] .practice[data-cloud="true"] .owner::after { content:"Cloud operates"; }
        .practice[data-cloud="false"] .owner::after { content:"You own"; }
        .practice:last-child { border-bottom:1px solid var(--line); }

        .proof { position:relative; padding:126px 0; background:var(--red); color:#fff; overflow:hidden; }
        .proof::after { content:"12"; position:absolute; right:-34px; bottom:-160px; color:rgba(21,20,18,.1); font-size:500px; font-weight:700; line-height:1; letter-spacing:-.12em; }
        .proof .eyebrow { color:#fff; }
        .proof-copy { position:relative; z-index:2; max-width:940px; }
        .proof-copy h2 { margin:20px 0 0; font-size:clamp(50px,7vw,94px); line-height:.91; letter-spacing:-.065em; }
        .proof-copy>p { max-width:680px; margin:30px 0 0; font-size:20px; line-height:1.5; }
        .proof-chain { position:relative; z-index:2; display:grid; grid-template-columns:repeat(6,1fr); gap:0; margin-top:78px; border-block:1px solid rgba(255,255,255,.42); }
        .proof-step { position:relative; min-height:180px; padding:24px 18px; border-right:1px solid rgba(255,255,255,.42); }
        .proof-step:last-child { border-right:0; }
        .proof-step::after { content:"→"; position:absolute; z-index:2; top:27px; right:-8px; }
        .proof-step:last-child::after { display:none; }
        .proof-step span { color:rgba(255,255,255,.7); font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
        .proof-step strong { display:block; margin-top:30px; font-size:17px; line-height:1.25; }
        .proof-step small { display:block; margin-top:12px; color:rgba(255,255,255,.72); line-height:1.4; }

        .closing { padding:126px 0 80px; background:var(--cream); }
        .closing h2 { max-width:1050px; margin:0; font-size:clamp(52px,7vw,96px); line-height:.9; letter-spacing:-.068em; }
        .closing h2 em { color:var(--red); font-style:normal; }
        .closing-row { display:flex; justify-content:space-between; gap:50px; align-items:flex-end; margin-top:62px; padding-top:28px; border-top:1px solid var(--line); }
        .closing-row p { max-width:580px; margin:0; color:var(--muted); font-size:18px; line-height:1.55; }
        .next-links { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
        .next-links a { display:inline-flex; align-items:center; gap:18px; padding:14px 16px; border:1px solid var(--ink); color:var(--ink); font-size:12px; font-weight:700; text-decoration:none; }
        .next-links a.primary { background:var(--ink); color:#fff; }
        .footer { display:flex; justify-content:space-between; gap:30px; margin-top:100px; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }

        @keyframes charge { 0%,100%{opacity:.26;transform:scaleY(.55)} 50%{opacity:1;transform:scaleY(1)} }
        @keyframes fill-cell { from{transform:scaleY(0)} to{transform:scaleY(1)} }

        @media (max-width:1000px) {
            .topbar { grid-template-columns:1fr 1fr; }
            .topbar nav { display:none; }
            .hero { grid-template-columns:1fr; padding-top:80px; }
            .hero-copy { max-width:790px; }
            .power-unit { width:min(660px,calc(100% - 24px)); justify-self:center; }
            .circuit-heading,.alignment-head { grid-template-columns:1fr; gap:20px; }
            .circuit-heading .section-lede,.alignment-head .section-lede { justify-self:start; }
            .circuit-board { grid-template-columns:150px minmax(390px,1fr) 190px; padding:30px; gap:26px; overflow-x:auto; }
            .board-readout { grid-template-columns:150px 1fr 190px; gap:26px; }
            .leverage-layout { grid-template-columns:310px 1fr; gap:52px; }
            .practice { grid-template-columns:45px 1fr; }
            .practice .owner { grid-column:2; justify-self:start; }
            .proof-chain { grid-template-columns:repeat(3,1fr); }
            .proof-step:nth-child(3) { border-right:0; }
            .proof-step:nth-child(-n+3) { border-bottom:1px solid rgba(255,255,255,.42); }
        }

        @media (max-width:760px) {
            .wrap { width:min(100% - 32px,1220px); }
            .topbar { min-height:74px; }
            .brand span { display:none; }
            .hero { padding-block:62px 80px; }
            .hero-copy h1 { font-size:clamp(58px,17vw,82px); }
            .hero-actions { align-items:flex-start; flex-direction:column; }
            .hero-note { padding:0; border:0; }
            .power-unit { width:calc(100% - 14px); min-height:490px; padding:28px 24px; box-shadow:14px 14px 0 var(--red); }
            .battery-body { margin-top:58px; height:220px; }
            .battery-cell { padding:9px 5px; font-size:8px; }
            .unit-foot { margin-top:50px; }
            .unit-foot p:first-child { display:none; }
            .circuit-section,.alignment,.leverage,.proof,.closing { padding-block:88px; }
            .scenario-tabs { display:grid; grid-template-columns:1fr 1fr; }
            .scenario-tabs button { justify-content:flex-start; padding:12px 10px; }
            .circuit-board { display:block; min-height:0; padding:26px 20px; overflow:visible; }
            .input-column,.cloud-column { display:block; }
            .intent-node,.value-node { margin:0; }
            .intent-node::after,.value-node::before { top:100%; left:50%; right:auto; width:0; height:24px; border-top:0; border-left:2px solid var(--red); }
            .capability-column { margin:24px 0; }
            .capability-rail { grid-template-columns:1fr 1fr; }
            .capability-rail::before { display:none; }
            .capability { min-height:96px; }
            .cloud-stack { margin:0 0 24px; }
            .cloud-service::before { display:none; }
            .cloud-service.is-active { transform:translateX(4px); }
            .board-readout { display:grid; grid-template-columns:1fr; gap:10px; margin-top:26px; }
            .translation-visual { grid-template-columns:1fr; }
            .translation-side.left,.translation-side.right { padding:34px 0; }
            .translation-bridge { height:80px; border-inline:0; border-block:1px solid #3f3c37; }
            .translation-bridge::after { width:70%; height:2px; background:repeating-linear-gradient(to right,#5a5650 0 7px,transparent 7px 14px); }
            .translation-bridge span { padding:0 10px; writing-mode:horizontal-tb; }
            .alignment-thesis { align-items:flex-start; flex-direction:column; }
            .leverage-layout { grid-template-columns:1fr; gap:50px; }
            .mode-panel { position:static; }
            .practice { grid-template-columns:38px 1fr; }
            .proof-chain { grid-template-columns:1fr 1fr; }
            .proof-step:nth-child(3) { border-right:1px solid rgba(255,255,255,.42); }
            .proof-step:nth-child(2n) { border-right:0; }
            .proof-step:nth-child(-n+4) { border-bottom:1px solid rgba(255,255,255,.42); }
            .closing-row { align-items:flex-start; flex-direction:column; }
            .next-links { justify-content:flex-start; }
            .footer { flex-direction:column; }
        }

        @media (prefers-reduced-motion:reduce) {
            html { scroll-behavior:auto; }
            *,*::before,*::after { animation:none!important; transition:none!important; }
        }

/* ---------- Kit: parts shared by the field guide stories, in the same idiom ---------- */
.brand img { width:27px; height:28px; }
.panel-list { display:grid; gap:8px; margin-top:34px; }
.panel-row { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; padding:13px 14px; background:#23211e; color:#b7b1a8; font-size:12px; }
.panel-row b { color:#fff; font-size:13px; }
.panel-row .on { color:var(--electric); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; }
.panel-row .off { color:#77716a; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; }
.panel-row.lit { background:rgba(255,45,32,.16); animation:lit-row .9s cubic-bezier(.22,1,.36,1) both; animation-delay:var(--delay,0s); }
@keyframes lit-row { from{opacity:0;transform:translateX(-14px)} to{opacity:1;transform:none} }

.ledger { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:0; margin-top:70px; border-top:1px solid rgba(255,255,255,.42); }
.ledger-card { position:relative; padding:28px 24px 30px; border-right:1px solid rgba(255,255,255,.42); border-bottom:1px solid rgba(255,255,255,.42); }
.ledger-card .who { font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.ledger-card h3 { margin:14px 0 0; font-size:26px; letter-spacing:-.04em; }
.ledger-card .figure { display:block; margin-top:22px; font-size:46px; line-height:.9; letter-spacing:-.06em; font-weight:650; }
.ledger-card .figure-label { display:block; margin-top:8px; font-size:12px; line-height:1.4; color:rgba(255,255,255,.85); }
.ledger-card ul { margin:20px 0 0; padding:0; list-style:none; display:grid; gap:7px; font-size:13px; line-height:1.4; }
.ledger-card li::before { content:"—"; display:none; }
.ledger-card .src { display:block; margin-top:22px; font-size:10px; color:rgba(255,255,255,.66); letter-spacing:.04em; }
.ledger-card .src a { color:inherit; }
.paper .ledger, .cream .ledger { border-color:var(--line); }
.paper .ledger-card, .cream .ledger-card { border-color:var(--line); }
.paper .ledger-card .who, .cream .ledger-card .who { color:var(--red); }
.paper .ledger-card .figure-label, .cream .ledger-card .figure-label, .paper .ledger-card .src, .cream .ledger-card .src { color:var(--muted); }

.pull { max-width:860px; margin:56px 0 0; padding-left:28px; border-left:3px solid var(--red); font-size:clamp(24px,3vw,36px); line-height:1.15; letter-spacing:-.04em; }
.pull cite { display:block; margin-top:14px; font-size:11px; font-style:normal; letter-spacing:.06em; color:var(--muted); }
.alignment .pull cite, .proof .pull cite { color:rgba(255,255,255,.7); }

.facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:0; margin-top:56px; border-top:1px solid var(--line); }
.fact { padding:24px 22px 26px 0; border-bottom:1px solid var(--line); }
.fact span { color:var(--red); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.fact strong { display:block; margin-top:14px; font-size:20px; line-height:1.2; letter-spacing:-.03em; }
.fact p { margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.alignment .fact { border-color:#3f3c37; }
.alignment .fact p { color:#aaa49b; }
.alignment .facts { border-color:#3f3c37; }

.decider { display:grid; grid-template-columns:300px 1fr; gap:0; margin-top:64px; border:1px solid var(--line); background:var(--cream); }
.decider-tabs { display:flex; flex-direction:column; border-right:1px solid var(--line); }
.decider-tabs button { display:flex; gap:14px; align-items:baseline; padding:18px 20px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; font-size:14px; font-weight:650; color:var(--muted); }
.decider-tabs button span { color:var(--red); font-size:9px; letter-spacing:.12em; }
.decider-tabs button[aria-selected="true"] { background:var(--ink); color:#fff; }
.decider-tabs button[aria-selected="true"] span { color:var(--electric); }
.decider-panel { padding:34px 38px; }
.decider-panel[hidden] { display:none; }
.decider-panel h3 { margin:0; font-size:34px; letter-spacing:-.045em; }
.decider-panel .when { margin:16px 0 0; font-size:18px; line-height:1.5; color:var(--ink-soft); }
.decider-panel dl { display:grid; grid-template-columns:150px 1fr; gap:0; margin:26px 0 0; border-top:1px solid var(--line); }
.decider-panel dt, .decider-panel dd { margin:0; padding:11px 0; border-bottom:1px solid var(--line); font-size:13px; line-height:1.45; }
.decider-panel dt { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding-top:13px; }
.decider-panel .src { margin-top:18px; font-size:11px; color:var(--muted); }

.src-note { margin-top:26px; font-size:11px; line-height:1.5; color:var(--muted); max-width:760px; }
.alignment .src-note, .proof .src-note { color:rgba(255,255,255,.7); }
.tag { display:inline-block; padding:4px 8px; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; background:var(--ink); color:#fff; }
.tag.red { background:var(--red); }
.tag.signalled { background:transparent; color:var(--muted); border:1px dashed var(--muted); }

@media (max-width:760px) {
  .decider { grid-template-columns:1fr; }
  .decider-tabs { border-right:0; border-bottom:1px solid var(--line); }
  .decider-panel { padding:26px 20px; }
  .decider-panel dl { grid-template-columns:1fr; }
  .ledger-card { border-right:0; }
}
