/* Arus · v3 · the banknote world. Daylight print on security paper; the dark theme is the same note under a UV lamp.
   World colours live here as tokens. Inazda, Data Pro and Ops Pro components read them through --iz-* aliases. */
:root{
  --paper:#F2EADA; --paper-2:#E8DDC6; --paper-3:#F8F3E7; --paper-4:#FBF8F1;
  --ink:#0F3A2C; --ink-2:#2C5A48; --muted:#55503E;
  --engrave:rgb(15 58 44 / .30); --engrave-soft:rgb(15 58 44 / .14);
  --serial:#A3261D; --serial-soft:rgb(163 38 29 / .12); --gold:#7A5B1E; --gold-hi:#C9A25A;
  --rule:rgb(15 58 44 / .42); --rule-soft:rgb(15 58 44 / .16);
  --fibre-a:#A3261D; --fibre-b:#2C5A48; --fibre-c:#8A6A2B;
  --glass-sheen:linear-gradient(115deg, rgb(255 255 255 / .55), rgb(255 255 255 / 0) 38%, rgb(255 255 255 / .12) 62%, rgb(255 255 255 / 0));
  --shadow:0 1px 0 rgb(255 255 255 / .7) inset, 0 30px 60px -36px rgb(52 38 12 / .5), 0 2px 6px -2px rgb(52 38 12 / .14);
  --serif:"Bodoni Moda", "Bodoni 72", Didot, Georgia, serif;
  --mono:"IBM Plex Mono", ui-monospace, monospace;
  --gutter:clamp(16px, 4vw, 56px);
  --max:1320px;
  --mast-h:64px;
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light;

  --iz-bg:var(--paper); --iz-fg:var(--ink); --iz-muted:var(--paper-2); --iz-muted-fg:var(--muted);
  --iz-border:var(--rule-soft); --iz-card:var(--paper-4); --iz-primary:var(--ink); --iz-primary-fg:var(--paper-4);
  --iz-ring:var(--serial); --iz-success:#2C6B4A; --iz-warning:#8A5A12; --iz-destructive:var(--serial); --iz-destructive-strong:#8C1F17;
  --iz-glass:var(--paper-4); --iz-glass-thin:var(--paper-4); --iz-glass-thick:var(--paper-4); --iz-glass-solid:var(--paper-4);
  --iz-glass-fg:var(--ink); --iz-glass-border:var(--rule-soft); --iz-glass-edge:var(--rule-soft); --iz-glass-highlight:transparent;
  --iz-radius:6px; --iz-radius-md:6px; --iz-radius-sm:4px; --iz-radius-xs:3px;
  --iz-font:var(--mono); --iz-mono:var(--mono);
  /* Data Pro series: banknote ink, intaglio gold, sage */
  --iz-viz-1:#0F3A2C; --iz-viz-2:#9A7428; --iz-viz-3:#6F9483; --iz-viz-4:#A3261D;
  --iz-up:#1F6B45; --iz-down:#A3261D;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#08130F; --paper-2:#0F1F19; --paper-3:#0C1A15; --paper-4:#0F2019;
  --ink:#EEE7D3; --ink-2:#A8C9B9; --muted:#A9BEB2;
  --engrave:rgb(121 232 191 / .38); --engrave-soft:rgb(121 232 191 / .16);
  --serial:#FF8F6E; --serial-soft:rgb(255 143 110 / .14); --gold:#E8C77A; --gold-hi:#E8C77A;
  --rule:rgb(168 201 185 / .46); --rule-soft:rgb(168 201 185 / .2);
  --fibre-a:#79E8BF; --fibre-b:#FFB36B; --fibre-c:#8FD4FF;
  --glass-sheen:linear-gradient(115deg, rgb(121 232 191 / .12), rgb(121 232 191 / 0) 40%, rgb(143 212 255 / .06) 64%, rgb(0 0 0 / 0));
  --shadow:0 0 0 1px rgb(121 232 191 / .1), 0 40px 80px -40px rgb(0 0 0 / .9), 0 0 40px -20px rgb(121 232 191 / .18);
  --iz-success:#79E8BF; --iz-warning:#FFB36B; --iz-destructive-strong:#FFA88D;
  --iz-viz-1:#79E8BF; --iz-viz-2:#E8C77A; --iz-viz-3:#8FD4FF; --iz-viz-4:#FF8F6E;
  --iz-up:#79E8BF; --iz-down:#FF8F6E;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#08130F; --paper-2:#0F1F19; --paper-3:#0C1A15; --paper-4:#0F2019;
  --ink:#EEE7D3; --ink-2:#A8C9B9; --muted:#A9BEB2;
  --engrave:rgb(121 232 191 / .38); --engrave-soft:rgb(121 232 191 / .16);
  --serial:#FF8F6E; --serial-soft:rgb(255 143 110 / .14); --gold:#E8C77A; --gold-hi:#E8C77A;
  --rule:rgb(168 201 185 / .46); --rule-soft:rgb(168 201 185 / .2);
  --fibre-a:#79E8BF; --fibre-b:#FFB36B; --fibre-c:#8FD4FF;
  --glass-sheen:linear-gradient(115deg, rgb(121 232 191 / .12), rgb(121 232 191 / 0) 40%, rgb(143 212 255 / .06) 64%, rgb(0 0 0 / 0));
  --shadow:0 0 0 1px rgb(121 232 191 / .1), 0 40px 80px -40px rgb(0 0 0 / .9), 0 0 40px -20px rgb(121 232 191 / .18);
  --iz-success:#79E8BF; --iz-warning:#FFB36B; --iz-destructive-strong:#FFA88D;
  --iz-viz-1:#79E8BF; --iz-viz-2:#E8C77A; --iz-viz-3:#8FD4FF; --iz-viz-4:#FF8F6E;
  --iz-up:#79E8BF; --iz-down:#FF8F6E;
  color-scheme:dark;
}

/* ───────── base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--mast-h) + 24px);background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--serif);font-variation-settings:"opsz" 14;
  font-feature-settings:"kern","liga","onum";-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background-color .6s var(--ease),color .6s var(--ease)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--serial);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:100;padding:10px 14px;background:var(--ink);color:var(--paper);font:500 14px var(--mono);text-decoration:none}
.skip:focus{top:12px}
.red{color:var(--serial)}
.wrap{width:min(100% - 2 * var(--gutter), var(--max));margin-inline:auto}
main{position:relative;z-index:1}
.fibres{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9}
/* paper grain over everything (feTurbulence via data URI, multiplied in daylight, screened under UV) */
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .36 0 0 0 0 .24 0 0 0 .38 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
:root[data-theme="dark"] body::after{opacity:.1}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) body::after{opacity:.1}}

/* type */
.display{margin:0;font:500 clamp(48px, 7vw, 112px)/1 var(--serif);font-variation-settings:"opsz" 96;letter-spacing:-.022em;text-wrap:balance}
.display .ln{display:inline-block}
.display em,.h2 em,.display-2 em{font-style:italic;font-weight:400;color:var(--ink-2)}
.display-2{margin:0;font:500 clamp(36px, 5vw, 76px)/1 var(--serif);font-variation-settings:"opsz" 96;letter-spacing:-.018em;text-wrap:balance}
.h2{margin:0;font:500 clamp(32px, 4.2vw, 60px)/1.02 var(--serif);font-variation-settings:"opsz" 72;letter-spacing:-.015em;text-wrap:balance}
.h3{margin:0 0 14px;font:600 13px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.no{margin:0 0 16px;font:500 12.5px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--serial)}
.kicker{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 22px;font:500 12.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.kicker span:first-child{color:var(--serial)}
.lede,.sec-lede{max-width:33em;margin:22px 0 0;font-size:clamp(18px, 1.5vw, 21px);line-height:1.5;color:var(--ink)}
.fine{margin:0;font:400 13px/1.5 var(--mono);color:var(--muted)}
.legal{margin:26px 0 0;font:500 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* buttons: engraved seals that ink-fill on hover and deboss on press */
.seal-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border:0;border-radius:999px;
  background:var(--ink);color:var(--paper-4);font:600 14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  box-shadow:0 0 0 1px var(--ink), 0 0 0 4px var(--paper), 0 0 0 5px var(--rule);transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s}
.seal-btn svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.seal-btn:hover{background:var(--ink-2);box-shadow:0 0 0 1px var(--ink-2), 0 0 0 4px var(--paper), 0 0 0 5px var(--serial)}
.seal-btn:hover svg{transform:translateX(3px)}
.seal-btn:active{transform:scale(.97) translateY(1px)}
.seal-btn.sm{min-height:38px;padding:0 16px;font-size:12px;box-shadow:0 0 0 1px var(--ink)}
:root[data-theme="dark"] .seal-btn{color:#08130F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .seal-btn{color:#08130F}}
.ghost-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--rule);border-radius:999px;background:transparent;
  font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .2s, border-color .2s}
.ghost-btn svg{width:17px;height:17px}
.ghost-btn:hover{background:var(--serial-soft);border-color:var(--serial)}
.ruled-link{position:relative;font:500 14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:6px 0}
.ruled-link::before,.ruled-link::after{content:"";position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .4s var(--ease)}
.ruled-link::before{bottom:2px}.ruled-link::after{bottom:-1px;transform:scaleX(.35);transform-origin:left}
.ruled-link:hover::after{transform:scaleX(1)}

/* ───────── masthead */
.mast{position:fixed;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:20px;height:var(--mast-h);
  padding:0 var(--gutter);background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule-soft);box-shadow:0 3px 0 -2px var(--rule-soft)}
.mast-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 22px/1 var(--serif);font-variation-settings:"opsz" 30;letter-spacing:-.01em}
.mast-brand .mark{width:30px;height:22px;color:var(--ink)}
.mast-index{display:flex;justify-content:center;gap:clamp(12px, 2vw, 28px)}
.mast-index a{display:inline-flex;align-items:baseline;gap:6px;font:500 12.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:8px 2px;border-bottom:1px solid transparent}
.mast-index a i{font:italic 500 15px/1 var(--serif);color:var(--serial);letter-spacing:0;text-transform:none}
.mast-index a:hover,.mast-index a[aria-current="true"]{border-bottom-color:var(--ink)}
.mast-serial{margin:0;font:500 12px/1 var(--mono);letter-spacing:.12em;color:var(--serial)}
.mast-tools{display:flex;align-items:center;gap:8px}
.tool{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--rule-soft);border-radius:50%;background:transparent;cursor:pointer;transition:background-color .2s,border-color .2s}
.tool svg{width:19px;height:19px}
.tool:hover{border-color:var(--rule)}
.tool[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#sound .w{opacity:.25}#sound[aria-pressed="true"] .w{opacity:1}
@media (max-width: 1080px){.mast-serial{display:none}.mast{grid-template-columns:auto 1fr auto}}
@media (max-width: 860px){.mast-index{display:none}}

/* ───────── guilloche, microtext, rosettes */
[data-guil] path{fill:none;stroke:var(--engrave);stroke-width:.6;vector-effect:non-scaling-stroke}
[data-guil] path.hi{stroke:var(--ink-2);stroke-opacity:.55}
.band{display:block;width:100%;height:30px}
.ros{position:absolute;pointer-events:none}
.micro{overflow:hidden;white-space:nowrap;font:500 7.5px/1 var(--mono);letter-spacing:.18em;color:var(--ink);opacity:1;padding:6px 0}
.micro span{display:inline-block}
.serial{position:absolute;margin:0;font:600 13px/1 var(--mono);letter-spacing:.16em;color:var(--serial);z-index:2}

/* ───────── I · face of the note */
.note{padding:calc(var(--mast-h) + 20px) var(--gutter) 40px;overflow-x:clip}
.note-frame{position:relative;max-width:1480px;margin:0 auto;padding:10px clamp(16px, 3vw, 44px);border:1px solid var(--rule);outline:1px solid var(--rule-soft);outline-offset:5px;
  background:color-mix(in srgb, var(--paper-3) 55%, transparent)}
.s-tl{left:clamp(18px, 3vw, 46px);top:48px}.s-br{right:clamp(18px, 3vw, 46px);bottom:66px}
.note-grid{display:grid;grid-template-columns:minmax(0, 5fr) minmax(0, 6.4fr);align-items:center;gap:clamp(24px, 4vw, 72px);min-height:calc(100svh - var(--mast-h) - 140px);padding:62px 0 42px}
.note-copy{position:relative;z-index:2}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:34px}
.hero-window{position:relative}
.ros-hero{width:78%;right:-14%;top:-22%;opacity:.9;z-index:0}

/* windows: clear polymer windows holding the plates */
.window{position:relative;margin:0;z-index:1}
.window-glass{position:relative;padding:10px;border-radius:22px;background:var(--paper-4);box-shadow:var(--shadow), inset 0 0 0 1px var(--rule-soft)}
.window-glass::after{content:"";position:absolute;inset:0;padding:10px;border-radius:inherit;background:var(--glass-sheen);pointer-events:none;opacity:.9;
  -webkit-mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);-webkit-mask-composite:xor}
.window-glass picture{overflow:hidden}
.plate-clip{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:16/10}
.plate-clip img{border-radius:0}
.window-glass picture{display:block;border-radius:14px}
.hero-window img{scale:1.3;transform-origin:44% 50%}
.window-glass img,.window-glass canvas{filter:none}
#fan-canvas,.plates-window .seq-still{scale:1.18;transform-origin:34% 46%}
#turn-canvas,.reverse-window .seq-still{scale:1.32;transform-origin:42% 54%}
.window-glass img,.window-glass canvas{display:block;width:100%;border-radius:14px;aspect-ratio:16/10;object-fit:cover}
.window figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-top:14px;padding:0 6px;font:500 11.5px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.window figcaption span:first-child{color:var(--serial)}
.crop{position:absolute;width:18px;height:18px;border-color:var(--ink);border-style:solid;opacity:.55;pointer-events:none}
.crop.c1{left:-12px;top:-12px;border-width:1px 0 0 1px}.crop.c2{right:-12px;top:-12px;border-width:1px 1px 0 0}
.crop.c3{left:-12px;bottom:-12px;border-width:0 0 1px 1px}.crop.c4{right:-12px;bottom:-12px;border-width:0 1px 1px 0}


@media (max-width: 860px){
  .note-grid{grid-template-columns:minmax(0, 1fr);min-height:0;padding:84px 0 40px}
  .s-tl{top:50px}.s-br{bottom:44px}
  .ros-hero{width:90%;right:-20%;top:-26%}
}

/* ───────── II · plates (pinned sequence) */
.plates{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--mast-h) + 24px) var(--gutter) 40px}
.plates-inner{display:grid;grid-template-columns:minmax(0, 4fr) minmax(0, 7fr);gap:clamp(24px, 4vw, 72px);align-items:center;width:min(100%, var(--max));margin:0 auto}
.beats{display:grid;margin:28px 0 0;padding:0;list-style:none}
.beat{grid-area:1/1;max-width:30em;font-size:19px;line-height:1.5;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease), transform .6s var(--ease)}
.beat.is-on{opacity:1;transform:none}
.beat b{font-weight:600}
.beat .pl{display:block;margin-bottom:8px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--serial)}
.deck-legend{margin:30px 0 0;padding:16px 0 0;border-top:1px solid var(--rule-soft);display:grid;gap:10px}
.deck-legend div{display:flex;justify-content:space-between;gap:16px;font:400 13.5px/1.3 var(--mono)}
.deck-legend dt{display:flex;align-items:center;gap:10px;font-weight:600}
.deck-legend dd{margin:0;color:var(--muted);text-align:right}
.sw{display:inline-block;width:26px;height:17px;border-radius:4px;box-shadow:inset 0 0 0 1px rgb(0 0 0 / .18)}
.sw.ink,.stock-sw.ink{background:linear-gradient(135deg,#55704b,#33482e)}
.sw.pearl,.stock-sw.pearl{background:linear-gradient(135deg,#fbf8f0,#e6dfcf)}
.sw.clear,.stock-sw.clear{background:linear-gradient(135deg,rgb(220 236 228 / .9),rgb(190 214 202 / .6));box-shadow:inset 0 0 0 1px rgb(15 58 44 / .3)}
.plates-window canvas,.reverse-window canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:0;opacity:0;transition:opacity .4s}
.seq-live .plates-window canvas,.seq-live-turn .reverse-window canvas{opacity:1}
.reg-bar{position:relative;flex:1 1 140px;max-width:260px;height:10px}
.reg-bar i{position:absolute;left:0;right:0;height:2px;top:4px;transform-origin:left}
.reg-bar .g{background:var(--ink-2);transform:translateY(-3px) scaleX(var(--p, 0))}
.reg-bar .r{background:var(--serial);transform:translateY(3px) translateX(calc((1 - var(--p, 0)) * 12px)) scaleX(var(--p, 0))}
@media (max-width: 860px){
  .plates{align-items:flex-start;padding-top:calc(var(--mast-h) + 16px)}
  .plates-inner{grid-template-columns:1fr;gap:20px}
  .plates-window{order:-1}
  .beats{margin-top:16px}.beat{font-size:17px}
  .plates-copy .h2{font-size:30px}
  .deck-legend{margin-top:22px;gap:8px}.deck-legend div{font-size:12.5px}
}
.stage-reduced .beat{grid-area:auto;opacity:1;transform:none;margin-bottom:18px}

/* ───────── shared section head */
.issue,.ledger,.schedule,.stub-sec{position:relative;padding:clamp(80px, 11vw, 150px) 0}
.sec-head{margin-bottom:clamp(36px, 5vw, 64px)}
.sec-head.split{display:grid;grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr);gap:24px 56px;align-items:end}
.sec-head.split .sec-lede{margin:0}
@media (max-width: 860px){.sec-head.split{grid-template-columns:1fr}}
.stamp-inline{display:inline-block;margin-left:8px;padding:3px 8px 2px;border:1.5px solid var(--serial);border-radius:4px;color:var(--serial);font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transform:rotate(-4deg);vertical-align:2px}

/* ───────── III · the press + Form AR-2 */
.issue-grid{display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);gap:clamp(24px, 4vw, 56px);align-items:start}
.press{position:sticky;top:calc(var(--mast-h) + 24px)}
.press-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-radius:18px 18px 0 0;
  background:var(--ink);color:var(--paper-4)}
.press-slot{flex:1;height:8px;border-radius:999px;background:#03100b;box-shadow:inset 0 2px 3px rgb(0 0 0 / .8), 0 1px 0 rgb(255 255 255 / .18)}
.press-status{margin:0;font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
:root[data-theme="dark"] .press-head{background:#173329;color:#EEE7D3}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .press-head{background:#173329;color:#EEE7D3}}
.press-bed{position:relative;aspect-ratio:4/3;border-radius:0 0 18px 18px;overflow:hidden;outline-offset:-4px;
  background:radial-gradient(120% 90% at 50% 40%, color-mix(in srgb, var(--paper-4) 70%, transparent), transparent 70%), url(img/tex/security-paper.webp) center/520px repeat, var(--paper-3);
  box-shadow:var(--shadow), inset 0 0 0 1px var(--rule-soft)}
.press-bed::before{content:"";position:absolute;inset:-10%;background:url(img/tex/rosette-sheet.webp) center/86% no-repeat;opacity:.18;mix-blend-mode:multiply;pointer-events:none}
:root[data-theme="dark"] .press-bed{background:radial-gradient(120% 90% at 50% 40%, rgb(121 232 191 / .08), transparent 70%), #0B1813}
:root[data-theme="dark"] .press-bed::before{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen;opacity:.12}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .press-bed{background:radial-gradient(120% 90% at 50% 40%, rgb(121 232 191 / .08), transparent 70%), #0B1813}
  :root:not([data-theme="light"]) .press-bed::before{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen;opacity:.12}}
.press-bed canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.press-fallback{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;z-index:1}
.has-3d .press-fallback{display:none}
.press-shadow{position:absolute;left:18%;right:18%;bottom:12%;height:9%;border-radius:50%;background:radial-gradient(closest-side, rgb(40 30 10 / .28), transparent);filter:blur(6px);z-index:1}
.press-stamp{position:absolute;right:6%;bottom:7%;z-index:3}
.press-stamp .op-stamp{font-size:15px}
.press-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.press-hint{margin:0;font:400 12.5px/1.3 var(--mono);color:var(--muted)}

.ar2{position:relative;padding:26px clamp(18px, 2.4vw, 30px) 28px;background:var(--paper-4);border:1px solid var(--rule);outline:1px solid var(--rule-soft);outline-offset:4px;box-shadow:var(--shadow)}
.ar2::before{content:"";position:absolute;left:44px;top:0;bottom:0;width:1px;background:var(--serial);opacity:.45}
.ar2-top{padding-left:30px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--rule);font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.field{margin:0 0 22px;padding:0 0 0 30px;border:0;min-width:0}
.field>label:not(.stock):not(.rule),.field>legend{display:flex;align-items:center;gap:10px;margin:0 0 10px -30px;padding:0;font:600 12px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.fn{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border:1px solid var(--serial);border-radius:50%;color:var(--serial);font:600 11px/1 var(--mono);letter-spacing:0}
.field input[type="text"],.field input[type="email"],.field select,.stub-form input{width:100%;min-height:46px;padding:6px 2px 4px;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;background:transparent;
  font:italic 500 24px/1.2 var(--serif);font-variation-settings:"opsz" 30;outline-offset:2px}
.field select{font:500 15px/1.2 var(--mono);cursor:pointer}
.field select option{background:var(--paper-4);color:var(--ink)}
#f-name{text-transform:uppercase;font:600 20px/1.2 var(--mono);letter-spacing:.14em}
.field input[aria-invalid="true"],.stub-form input[aria-invalid="true"]{border-bottom-color:var(--serial);border-bottom-width:2px}
.hint,.words{margin:8px 0 0;font:400 12.5px/1.4 var(--mono);color:var(--muted)}
.words{font:italic 400 17px/1.3 var(--serif);color:var(--ink-2);min-height:1.3em}
.err{display:flex;align-items:center;gap:6px;margin:8px 0 0;font:500 13px/1.3 var(--mono);color:var(--serial)}
.err::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.err[hidden],.err-sum[hidden],.ok-msg[hidden],.press-stamp[hidden]{display:none}
.err-sum{margin:0 0 20px;padding:14px 16px;border:1.5px solid var(--serial);border-radius:6px;background:var(--serial-soft);font:500 13.5px/1.45 var(--mono)}
.err-sum b{display:block;margin-bottom:6px;color:var(--serial)}
.err-sum ul{margin:0;padding-left:18px}.err-sum a{color:inherit}
.stocks{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:8px}
.stocks legend{grid-column:1 / -1}
.stock{position:relative;display:grid;gap:8px;padding:10px;border:1px solid var(--rule-soft);border-radius:8px;cursor:pointer;transition:border-color .2s, background-color .2s}
.stock input{position:absolute;opacity:0;width:1px;height:1px}
.stock-sw{display:block;height:34px;border-radius:5px;box-shadow:inset 0 0 0 1px rgb(0 0 0 / .14)}
.stock b{display:block;font:600 14px/1.2 var(--mono)}
.stock small{display:block;font:400 11.5px/1.3 var(--mono);color:var(--muted)}
.stock:has(input:checked){border-color:var(--ink);background:var(--serial-soft);box-shadow:inset 0 0 0 1px var(--ink)}
.stock:has(input:focus-visible){outline:2px solid var(--serial);outline-offset:2px}
.stepper{display:flex;align-items:center;gap:6px}
.stepper input{text-align:center;font:italic 600 26px/1.2 var(--serif)!important}
.step{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:50%;background:transparent;cursor:pointer}
.step svg{width:18px;height:18px}.step:hover{background:var(--serial-soft)}
.rules{display:grid;gap:12px}
.rule{display:flex;align-items:center;gap:12px;font:400 15px/1.3 var(--mono);cursor:pointer}
.rule input{position:absolute;opacity:0;width:1px;height:1px}
.rule.small{font-size:13px}
.sw-ui{position:relative;flex:none;width:38px;height:22px;border-radius:999px;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule);transition:background-color .25s}
.sw-ui::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--paper-4);box-shadow:0 1px 2px rgb(0 0 0 / .3);transition:transform .3s var(--ease)}
.rule input:checked+.sw-ui{background:var(--ink)}
.rule input:checked+.sw-ui::after{transform:translateX(16px)}
.rule input:focus-visible+.sw-ui{outline:2px solid var(--serial);outline-offset:2px}
.rule-end{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.rule-end input[type="date"]{min-height:40px;padding:4px 8px;border:1px solid var(--rule);border-radius:6px;background:transparent;font:500 14px/1 var(--mono)}
.rule-end input[type="date"]:disabled{opacity:.45}
.rule-end .err{flex-basis:100%}
.ar2-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin:26px 0 14px;padding-left:30px}
.ar2 .fine{padding-left:30px}
@media (max-width: 980px){
  .issue-grid{grid-template-columns:minmax(0, 1fr)}
  .press{position:relative;top:0}
}
@media (max-width: 520px){
  .stocks{grid-template-columns:1fr}
  .stock{grid-template-columns:52px 1fr;align-items:center}
  .ar2::before{left:34px}
  .field{padding-left:22px}.field>label:not(.stock):not(.rule),.field>legend{margin-left:-22px}
  .ar2-actions,.ar2 .fine,.ar2-top{padding-left:22px}
}

/* ───────── IV · the ledger */
.book{position:relative;padding:clamp(18px, 2.6vw, 34px);background:var(--paper-4);border:1px solid var(--rule);box-shadow:var(--shadow)}
.book::before{content:"";position:absolute;left:clamp(10px, 1.4vw, 18px);top:0;bottom:0;width:2px;background:var(--serial);opacity:.5}
.book-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}
.book-tools{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.book-kpis{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:14px;margin-bottom:22px}
.kpi-cell{padding:16px 18px;border:1px solid var(--rule-soft);border-radius:6px;background:var(--paper-3)}
.book-chart{padding:18px;border:1px solid var(--rule-soft);border-radius:6px;margin-bottom:22px;background:var(--paper-3)}
.book-table-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 18px;margin:6px 0 12px}
.book-table-head h3{margin:0;font:600 13px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.book .op-ledger tfoot td,.book .op-ledger tfoot th{border-top:3px double var(--ink)!important}
.book .kpi-cell.iz-kpi{box-shadow:none;padding:16px 18px;background:var(--paper-3)}
@media (max-width: 760px){.book-kpis{grid-template-columns:1fr}}
.ledger .iz-seg-opt,.schedule .iz-seg-opt,.foot .iz-seg-opt{font:500 13px/1 var(--mono);letter-spacing:.04em}
.ledger tr.is-new th,.ledger tr.is-new td{animation:inked 2.4s var(--ease)}
@keyframes inked{0%{background:var(--serial-soft)}100%{background:transparent}}

/* ───────── V · reverse (pinned turn sequence) */
.reverse{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--mast-h) + 20px) var(--gutter) 30px}
.reverse-inner{display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 4fr);grid-template-areas:"head head" "win feats";gap:28px clamp(24px, 4vw, 64px);align-items:center;width:min(100%, var(--max));margin:0 auto}
.reverse-head{grid-area:head}
.reverse-window{grid-area:win}
.features{grid-area:feats;margin:0;padding:0;list-style:none;display:grid;gap:4px}
.features li{position:relative;padding:14px 0 14px 54px;border-top:1px solid var(--rule-soft);color:var(--muted);transition:color .45s var(--ease)}
.features li .num{transition:color .45s var(--ease), border-color .45s, background-color .45s}
.features li:not(.is-on) .num{color:var(--muted);border-color:var(--rule-soft)} /* dimmed by colour, not opacity, so the numeral keeps AA contrast */
.features li.is-on{color:var(--ink)}
.features li.is-on .num{opacity:1}
.features li.is-on:last-of-type .num,.features li.is-on .num{background:var(--serial-soft)}
.features li:last-child{border-bottom:1px solid var(--rule-soft)}
.features .num{position:absolute;left:0;top:12px;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--serial);border-radius:50%;font:italic 500 17px/1 var(--serif);color:var(--serial)}
.features b{display:block;font:600 15px/1.3 var(--mono);letter-spacing:.02em}
.features p{margin:6px 0 0;font-size:16px;line-height:1.45}
.stage-reduced .features li{color:var(--ink)}.stage-reduced .features li .num{opacity:1}
.protractor{position:relative;flex:1 1 120px;max-width:200px;height:12px;border-bottom:1px solid var(--rule);background:repeating-linear-gradient(90deg, var(--rule) 0 1px, transparent 1px 12.5%) bottom/100% 6px no-repeat}
.protractor i{position:absolute;bottom:-4px;left:calc(var(--a, 0) * 100%);width:2px;height:16px;background:var(--serial);transform:translateX(-1px)}
@media (max-width: 860px){
  .reverse{align-items:flex-start}
  .reverse-inner{grid-template-columns:1fr;grid-template-areas:"head" "win" "feats";gap:16px}
  .reverse-head .h2{font-size:30px}
  .features li{padding:10px 0 10px 46px}.features .num{width:30px;height:30px;top:9px;font-size:15px}
  .features p{font-size:14.5px}
}

/* ───────── VI · schedule */
.schedule-grid{display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);gap:clamp(36px, 6vw, 96px);align-items:start}
.tariff .h2{margin-bottom:26px}
.bill-seg{margin-bottom:22px;max-width:100%}
.tariff-t{width:100%;border-collapse:collapse;font:400 14.5px/1.35 var(--mono);margin-bottom:14px}
.tariff-t th,.tariff-t td{padding:13px 10px;text-align:left;border-bottom:1px solid var(--rule-soft);vertical-align:baseline}
.tariff-t thead th{font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink)}
.tariff-t td:first-child{color:var(--serial);width:3.5em}
.tariff-t tbody th{font-weight:500;background:radial-gradient(circle, var(--rule) 1px, transparent 1.4px) left calc(100% - 15px)/6px 4px repeat-x}
.tariff-t tbody th .lb{padding-right:6px;background:var(--paper)}
.tariff-t td:nth-child(3),.tariff-t td:nth-child(4){font-weight:600;white-space:nowrap}
.tariff-t .ok{width:18px;height:18px;color:var(--ink-2)}
.no-inc{color:var(--muted);font-weight:400}
.notes details{border-top:1px solid var(--rule-soft)}
.notes details:last-child{border-bottom:1px solid var(--rule-soft)}
.notes summary{display:flex;align-items:center;gap:14px;padding:16px 0;cursor:pointer;list-style:none;font-size:18px;line-height:1.3}
.notes summary::-webkit-details-marker{display:none}
.notes .sect{flex:none;width:2.6em;font:600 12.5px/1 var(--mono);color:var(--serial)}
.notes .pm{flex:none;width:18px;height:18px;margin-left:auto;transition:transform .35s var(--ease)}
.notes details[open] .pm{transform:rotate(45deg)}
.notes details p{margin:0 0 18px;padding-left:calc(2.6em + 14px);font-size:16.5px;line-height:1.5;color:var(--ink)}
@media (max-width: 900px){.schedule-grid{grid-template-columns:minmax(0, 1fr)}.tariff-t{font-size:13px}.tariff-t th,.tariff-t td{padding:11px 6px}
  .tariff-t td:nth-child(3),.tariff-t td:nth-child(4){white-space:normal}.tariff-t tbody th{background:none}}
@media (max-width: 480px){.tariff-t td:first-child{display:none}.tariff-t thead th:first-child{display:none}}

/* ───────── VII · stub */
.stub{position:relative;display:grid;grid-template-columns:minmax(0, 1fr) 2px minmax(180px, 280px);background:var(--paper-4);border:1px solid var(--rule);box-shadow:var(--shadow)}
.stub-main{padding:clamp(28px, 4vw, 56px)}
.stub-main .display-2{margin-bottom:30px}
.stub-tear{position:relative;background:repeating-linear-gradient(to bottom, var(--rule) 0 6px, transparent 6px 12px)}
.stub-tear::before,.stub-tear::after{content:"";position:absolute;left:50%;width:26px;height:26px;border-radius:50%;background:var(--paper);transform:translateX(-50%);box-shadow:inset 0 0 0 1px var(--rule)}
.stub-tear::before{top:-14px}.stub-tear::after{bottom:-14px}
.stub-side{position:relative;display:grid;place-items:center;padding:28px 18px;overflow:hidden;min-height:220px}
.stub-side .red{position:absolute;top:20px;left:0;right:0;margin:0;text-align:center;font:600 13px/1 var(--mono);letter-spacing:.14em}
.ros-stub{position:relative;width:min(200px, 90%)}
.stub-stamp{position:absolute;inset:0;display:grid;place-items:center}
.stub-stamp .op-stamp{font-size:20px}
.stub-form label{display:block;margin-bottom:8px;font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.stub-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 22px}
.stub-row input{flex:1 1 220px;width:auto;min-width:0}
.stub-main{min-width:0}
.ok-msg{margin:12px 0 0;font:500 14px/1.4 var(--mono);color:var(--ink-2)}
@media (max-width: 760px){
  .stub{grid-template-columns:minmax(0, 1fr)}
  .stub-tear{height:2px;background:repeating-linear-gradient(to right, var(--rule) 0 6px, transparent 6px 12px)}
  .stub-tear::before,.stub-tear::after{top:50%;left:auto;transform:translateY(-50%)}
  .stub-tear::before{left:-14px}.stub-tear::after{right:-14px;bottom:auto}
  .stub-side{min-height:180px}
}

/* ───────── footer: the reverse of the note */
.foot{position:relative;z-index:1;overflow:hidden;padding:clamp(60px, 9vw, 120px) 0 28px;border-top:1px solid var(--rule);box-shadow:0 -5px 0 -4px var(--rule-soft)}
.ros-foot{width:min(760px, 120vw);left:50%;top:-10%;transform:translateX(-50%);opacity:.75}
.foot-grid{position:relative;display:grid;grid-template-columns:1fr auto;gap:28px 40px;align-items:end}
.foot-word{grid-column:1 / -1;margin:0 0 6px;font:italic 400 clamp(110px, 24vw, 360px)/.78 var(--serif);font-variation-settings:"opsz" 96;letter-spacing:-.04em;color:var(--ink)}
.foot-nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot-nav a{font:500 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
.foot-nav a:hover{border-bottom-color:currentColor}
.foot-print{display:flex;align-items:center;gap:12px}
.foot-print .lbl{font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.foot-fine{grid-column:1 / -1;max-width:60em}
.credit{color:var(--ink);font-weight:600}
@media (max-width: 720px){.foot-grid{grid-template-columns:1fr}.foot-print{flex-wrap:wrap}}

/* ───────── loader */
.loader{position:fixed;inset:0;z-index:200;display:grid;place-content:center;justify-items:center;gap:16px;background:var(--paper);color:var(--ink)}
.loader-ros{width:min(220px, 52vw);height:auto}
.loader-serial{margin:0;font:600 15px/1 var(--mono);letter-spacing:.2em}
.loader-pct{margin:0;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.loader-bar{width:180px;height:2px;background:var(--rule-soft)}
.loader-bar i{display:block;height:100%;background:var(--serial);transform:scaleX(0);transform-origin:left}
.stage-reduced .loader{display:none}

/* ───────── registration cursor */
.reg{position:fixed;left:0;top:0;z-index:300;width:40px;height:40px;margin:-20px 0 0 -20px;pointer-events:none;opacity:0;color:var(--ink)}
.reg svg{width:100%;height:100%;overflow:visible}
.reg circle,.reg path{fill:none;stroke:currentColor;stroke-width:1.1;transition:transform .35s var(--ease), opacity .3s}
.reg path{stroke:var(--serial)}
.reg .seal{fill:var(--serial);stroke:none;transform:scale(0);transform-origin:20px 20px}
.reg.is-hover .seal{transform:scale(1)}
.reg.is-hover circle:not(.seal){transform:scale(.7);transform-origin:20px 20px}
.reg.is-hover path{opacity:.3}
.reg-label{position:absolute;left:34px;top:9px;padding:5px 8px;border-radius:4px;background:var(--ink);color:var(--paper);font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateX(-6px);transition:opacity .2s, transform .3s var(--ease)}
.reg.is-label .reg-label{opacity:1;transform:none}
.reg-on,.reg-on a,.reg-on button,.reg-on label,.reg-on summary,.reg-on [data-cursor]{cursor:none}
.reg-on input,.reg-on select{cursor:auto}

/* ───────── reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Data Pro legend toggles: keep a 24px target even when the legend wraps on phones (WCAG 2.5.8) */
.book .iz-legend{gap:8px 18px}
.book .iz-legend button{min-height:24px;padding:3px 6px;margin:-3px -6px;box-sizing:border-box}
/* Ops Pro toast: size to its message, not to half the viewport (it is centred with left:50%) */
.op-toast{width:max-content;max-width:min(560px, calc(100vw - 24px))}
