/* Palestine+ — «One more line»
   A news line is a horizontal stroke. The plus is that line with one more standing across it,
   waiting to be laid down. Open a layer and the standing bar falls flat beneath the first.
   Depth is colour: the further down a story you go, the deeper the layer's tint, until the
   last layer (what happens next) sits in ink. Green is kept for the standing line: every
   plus, every +n badge, every way into one more layer. Nothing else is green. */

@font-face{font-family:"Newsreader";src:url(../fonts/newsreader.woff2) format("woff2");font-weight:400 680;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-italic.woff2) format("woff2");font-weight:400 500;font-style:italic;font-display:swap}
@font-face{font-family:"Schibsted";src:url(../fonts/schibsted.woff2) format("woff2");font-weight:500 800;font-style:normal;font-display:swap}

:root{
  --paper:#FFFFFF;
  --l1:#F2F5F8;          /* layer 1: context */
  --l2:#E5EBF1;          /* layer 2: numbers */
  --l3:#D2DBE4;          /* layer 3: voices */
  --ink:#0B1420;         /* layer 4: what next, and the type */
  --ink2:#18263A;
  --rule:#D6DDE5;
  --rule2:#B8C4D0;
  --mute:#4F5D6E;
  --mute-on:#9AA8B8;
  --plus:#0F9D58;        /* the standing line, marks and bars */
  --plus-t:#087A43;      /* green as text on white and l1/l2 */
  --plus-on:#35D48A;     /* green on ink */
  --plus-wash:#E3F5EC;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Schibsted",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --r1:8px;--r2:12px;--r3:18px;
  --wrap:1320px;--g:clamp(16px,3.2vw,40px);
  --bar:.18em;           /* plus bar thickness relative to its arm */
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-in:cubic-bezier(.55,0,.75,.2);
  --fall:cubic-bezier(.5,0,.25,1.25);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--serif);font-variation-settings:"opsz" 16;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--plus-t);outline-offset:3px;border-radius:4px}
::selection{background:var(--plus-wash);color:var(--ink)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--g)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r1);font:600 14px var(--sans)}
.skip:focus{top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------------------------------------------------------- type roles */
.lbl,.kick,.meta,.badge,.tabs a,.btn,.src,.lay-h,.num-l,.foot .lbl{font-family:var(--sans)}
.lbl{font:700 .75rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);font-feature-settings:"case"}
.kick{font:600 .8125rem/1.2 var(--sans);color:var(--ink);display:inline-flex;gap:.5em;align-items:center}
.kick .d{color:var(--mute);font-weight:500}
.meta{font:500 .8125rem/1.35 var(--sans);color:var(--mute)}   /* no tnum: Schibsted's tabular set widens the comma */
.src{font:500 .78rem/1.35 var(--sans);color:var(--mute)}
.src a{text-decoration:underline;text-decoration-color:var(--rule2);text-underline-offset:3px}
.src a:hover{text-decoration-color:currentColor}
.h-xl{font:640 clamp(2.15rem,4.6vw,4.1rem)/1.02 var(--serif);font-variation-settings:"opsz" 72;letter-spacing:-.021em;text-wrap:balance}
.h-l{font:620 clamp(1.6rem,2.7vw,2.45rem)/1.06 var(--serif);font-variation-settings:"opsz" 60;letter-spacing:-.016em;text-wrap:balance}
.h-m{font:600 clamp(1.25rem,1.7vw,1.5rem)/1.15 var(--serif);font-variation-settings:"opsz" 36;letter-spacing:-.01em;text-wrap:balance}
.h-s{font:600 1.125rem/1.22 var(--serif);font-variation-settings:"opsz" 24;letter-spacing:-.004em;text-wrap:pretty}
.dek{font:400 clamp(1.08rem,1.3vw,1.22rem)/1.45 var(--serif);font-variation-settings:"opsz" 20;color:var(--ink2);text-wrap:pretty}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-block:14px;border-top:2px solid var(--ink)}
.sec-h h2{font:640 clamp(1.4rem,2vw,1.85rem)/1.1 var(--serif);font-variation-settings:"opsz" 48;letter-spacing:-.014em;display:flex;align-items:center;gap:.4em}
.sec-h .more{font:600 .875rem var(--sans);display:inline-flex;align-items:center;gap:.4em;min-height:32px}
.sec-h .more:hover{color:var(--plus-t)}
.num{font-family:var(--sans);font-variant-numeric:proportional-nums lining-nums;font-weight:800;letter-spacing:-.035em}
.p1{display:inline-flex;align-items:center;gap:.06em;white-space:nowrap}
.p1 .pl{--s:.62em;vertical-align:0}

/* headline links: a line laid under on hover, from the start of the line */
.hl{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .45s var(--ease);padding-bottom:1px}
a:hover .hl,a:focus-visible .hl,.hl:hover{background-size:100% 1.5px}

/* ---------------------------------------------------------------- the plus as an icon
   .pl holds two bars: .pl-h lies (ink, currentColor), .pl-v stands (green).
   [aria-expanded=true] / .open: the standing bar falls flat under the lying one. */
.pl{--s:14px;--w:calc(var(--s)*.18);position:relative;display:inline-block;width:var(--s);height:var(--s);flex:none;vertical-align:-.1em}
.pl i{position:absolute;border-radius:99px;display:block}
.pl .pl-h{left:0;right:0;top:calc(50% - var(--w)/2);height:var(--w);background:currentColor;transition:transform .5s var(--fall)}
[aria-expanded="true"] > .pl .pl-h,.pl.open .pl-h{transform:translateY(calc(var(--w)*-.9))}
.pl .pl-v{top:0;bottom:0;left:calc(50% - var(--w)/2);width:var(--w);background:var(--plus);transform-origin:50% 100%;
  transition:transform .5s var(--fall),background-color .3s}
.on-ink .pl .pl-v,.pl.on .pl-v{background:var(--plus-on)}
[aria-expanded="true"] > .pl .pl-v,.pl.open .pl-v{transform:translate(calc(var(--s)*.5),calc(var(--w)*.9 - var(--s)*.5)) rotate(-90deg)}
/* lean: a hover nudges the standing bar as if about to fall */
a:hover > .pl .pl-v,button:hover > .pl .pl-v,.lean:hover .pl .pl-v{transform:rotate(-9deg)}
[aria-expanded="true"]:hover > .pl .pl-v{transform:translate(calc(var(--s)*.5),calc(var(--w)*.9 - var(--s)*.5)) rotate(-90deg)}

.badge{display:inline-flex;align-items:center;gap:3px;font:800 .75rem/1 var(--sans);color:var(--plus-t);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}
.badge .pl{--s:9px}
.on-ink .badge{color:var(--plus-on)}

/* ---------------------------------------------------------------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:40px;padding:0 16px;border-radius:var(--r1);
  font:650 .9rem/1 var(--sans);border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);transition:background-color .2s,color .2s,border-color .2s}
.btn:hover{background:var(--ink);color:#fff}
.btn.solid{background:var(--ink);color:#fff}
.btn.solid:hover{background:var(--ink2)}
.btn.icon{width:40px;padding:0}
.btn .ic{width:16px;height:16px}
.ic{width:1em;height:1em;flex:none}

/* ---------------------------------------------------------------- top strip + masthead */
.strip{border-bottom:1px solid var(--rule);font:500 .8125rem/1 var(--sans);color:var(--mute)}
.strip .wrap{display:flex;align-items:center;gap:18px;min-height:38px;overflow:hidden;white-space:nowrap}
.strip b{color:var(--ink);font-weight:650}
.strip .sp{flex:1}
.strip .lv{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.strip .lv::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--plus);box-shadow:0 0 0 3px var(--plus-wash)}
.strip a{display:inline-flex;align-items:center;min-height:28px}
.strip a:hover{color:var(--ink)}
.mast{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--rule);transition:box-shadow .3s}
.mast.stuck{box-shadow:0 1px 0 var(--rule),0 8px 24px -18px rgba(11,20,32,.35)}
.mast .top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-block:14px 10px}
.mast .brand{grid-column:2;display:block;line-height:0}
.mast .brand svg{height:clamp(30px,4.2vw,50px);width:auto}
.mast .motto{grid-column:1;grid-row:1;font:italic 400 .98rem/1.3 var(--serif);color:var(--ink2);max-width:28ch}
.mast .tools{grid-column:3;display:flex;justify-content:flex-end;gap:8px}
.tabs{border-top:1px solid var(--rule);overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.tabs::-webkit-scrollbar{display:none}
.tabs ul{display:flex;justify-content:center;gap:2px;min-width:max-content;padding-inline:6px}
.tabs a{position:relative;display:flex;align-items:center;gap:7px;padding:12px 12px 13px;font:600 .9rem/1 var(--sans);color:var(--ink2);white-space:nowrap}
.tabs a::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2.5px;border-radius:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease)}
.tabs a:hover::after,.tabs a[aria-current]::after{transform:scaleX(1)}
.tabs a[aria-current]{color:var(--ink)}
.tabs .pl{--s:11px}
.mast .brand svg,.mast .top,.mast .motto{transition:height .35s var(--ease),padding .35s var(--ease),opacity .25s}
.mast.stuck .top{padding-block:8px 6px}
.mast.stuck .brand svg{height:clamp(26px,3vw,34px)}
.mast.stuck .motto{opacity:0}
@media (max-width:860px){
  .mast .top{grid-template-columns:auto 1fr;padding-block:12px 10px}
  .mast .brand{grid-column:1}
  .mast .motto{display:none}
  .mast .tools{grid-column:2}
  .mast .tools .btn:not(.icon){display:none}
  .tabs ul{justify-content:flex-start}
  .strip .hide-s{display:none}
}

/* ---------------------------------------------------------------- photographs */
.ph{position:relative;overflow:hidden;background:var(--l2);border-radius:var(--r2)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .6s}
a:hover .ph img{transform:scale(1.025)}
.r169{aspect-ratio:16/9}.r32{aspect-ratio:3/2}.r43{aspect-ratio:4/3}.r11{aspect-ratio:1}.r54{aspect-ratio:5/4}
figure figcaption{font:400 .8rem/1.4 var(--sans);color:var(--mute);margin-top:8px;max-width:72ch}
/* a plate stands in where no honest photo exists: the place name on its layer tint */
.plate{display:grid;place-content:center;gap:8px;text-align:center;border-radius:var(--r2);background:var(--l1);color:var(--ink);padding:16px;position:relative;overflow:hidden}
.plate .pl{--s:22px;margin-inline:auto}
.plate b{font:600 1.05rem/1.15 var(--serif);font-variation-settings:"opsz" 30}
.plate span{font:600 .72rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.plate::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 21px,var(--rule) 21px 22px);opacity:.55}
.plate>*{position:relative}

/* ---------------------------------------------------------------- home: the lead and its layers */
.lead{padding-block:clamp(22px,3.4vw,44px) clamp(28px,4vw,56px)}
.lead .grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(20px,3.6vw,56px);align-items:start}
.lead .kick{margin-bottom:14px}
.lead .h-xl a{display:inline}
.lead .fact{margin-top:18px;font:500 clamp(1.15rem,1.5vw,1.32rem)/1.42 var(--serif);font-variation-settings:"opsz" 24;color:var(--ink);text-wrap:pretty;display:flex;gap:14px}
.lead .fact::before{content:"";flex:none;width:28px;height:2.5px;border-radius:2px;background:var(--ink);margin-top:.72em}
.lead .meta{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.lead figure{position:sticky;top:132px}
.lead figure .ph{border-radius:var(--r3)}
@media (max-width:900px){.lead .grid{grid-template-columns:1fr}.lead figure{position:static;order:-1}}

/* the layer stack: each layer one line deeper, one tint deeper */
.stack{margin-top:26px;border-radius:var(--r3);overflow:hidden;border:1px solid var(--rule);background:var(--paper)}
.lay{--t:var(--paper);background:var(--t);transition:background-color .4s}
.lay+.lay{border-top:1px solid color-mix(in srgb,var(--ink) 9%,transparent)}
.lay[data-d="1"]{--t:var(--l1)}.lay[data-d="2"]{--t:var(--l2)}.lay[data-d="3"]{--t:var(--l3)}
.lay[data-d="4"]{--t:var(--ink);color:#fff}
.lay[data-d="4"] .src,.lay[data-d="4"] .lay-h .n{color:var(--mute-on)}
.lay[data-d="4"] .pl .pl-v{background:var(--plus-on)}
.lay[data-d="4"] .src a{text-decoration-color:rgba(255,255,255,.35)}
.lay-b{all:unset;box-sizing:border-box;display:flex;width:100%;align-items:center;gap:12px;padding:15px 18px;cursor:pointer;min-height:52px}
.lay-b:focus-visible{outline:2px solid var(--plus-t);outline-offset:-4px;border-radius:var(--r2)}
.lay-b .pl{--s:15px}
.pl.one .pl-v{display:none}
.lay-h{font:700 .95rem/1.2 var(--sans);letter-spacing:-.005em;display:flex;align-items:baseline;gap:10px;flex:1}
.lay-h .n{font:600 .75rem var(--sans);color:var(--mute);font-variant-numeric:tabular-nums;margin-left:auto}
.lay-p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.lay-b[aria-expanded="true"]+.lay-p{grid-template-rows:1fr}
.lay-p>div{overflow:hidden;min-height:0}
.lay-c{padding:0 18px 18px 45px;display:grid;gap:10px;opacity:0;transform:translateY(-6px);transition:opacity .35s .05s,transform .5s var(--ease)}
.lay-b[aria-expanded="true"]+.lay-p .lay-c{opacity:1;transform:none;transition-delay:.12s}
.lay-c p{font:400 1.05rem/1.5 var(--serif);font-variation-settings:"opsz" 18;text-wrap:pretty}
.lay-c .big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.lay-c .big .num{font-size:clamp(2rem,3.6vw,2.8rem);line-height:1}
.lay-c .big span{font:500 .98rem/1.35 var(--serif);max-width:34ch}
.lay-c blockquote{font:italic 450 1.15rem/1.4 var(--serif);font-variation-settings:"opsz" 24;text-wrap:pretty}
.lay-c blockquote::before{content:"“"}.lay-c blockquote::after{content:"”"}
.lay-c cite{font:600 .82rem/1.3 var(--sans);font-style:normal}
.lay-c cite span{font-weight:500;color:var(--mute)}
.lay[data-d="4"] .lay-c cite span{color:var(--mute-on)}
.stack-f{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--rule);background:var(--paper);flex-wrap:wrap}
.stack-f .src{display:flex;align-items:center;gap:8px}
.stack-f a.go{font:650 .9rem var(--sans);display:inline-flex;gap:.45em;align-items:center;min-height:32px}
.stack-f a.go:hover{color:var(--plus-t)}
.stack-f button{all:unset;cursor:pointer;font:600 .82rem var(--sans);color:var(--mute);min-height:32px;display:inline-flex;align-items:center}
.stack-f button:hover{color:var(--ink)}
.stack-f button:focus-visible{outline:2px solid var(--plus-t);outline-offset:3px;border-radius:4px}

/* ---------------------------------------------------------------- Line one: the skim */
.lines{padding-block:8px clamp(36px,5vw,64px)}
.lines .how{font:500 .9rem/1.4 var(--sans);color:var(--mute);display:flex;align-items:center;gap:8px}
.lines .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(24px,4vw,56px)}
@media (max-width:820px){.lines .grid{grid-template-columns:1fr}}
.ln{border-bottom:1px solid var(--rule)}
.ln-b{all:unset;box-sizing:border-box;display:grid;grid-template-columns:6.4em minmax(0,1fr) auto;gap:6px 14px;align-items:baseline;width:100%;padding:14px 0;cursor:pointer}
.ln-b:focus-visible{outline:2px solid var(--plus-t);outline-offset:2px;border-radius:6px}
.ln-b .meta{grid-column:1;white-space:nowrap}
.ln-b .t{grid-column:2;font:560 1.075rem/1.3 var(--serif);font-variation-settings:"opsz" 22;text-wrap:pretty}
.ln-b .badge{grid-column:3}
.ln-b[aria-expanded="true"] .t{color:var(--ink)}
.ln-p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.ln-b[aria-expanded="true"]+.ln-p{grid-template-rows:1fr}
.ln-p>div{overflow:hidden;min-height:0}
.ln-c{display:grid;gap:0;margin:0 0 16px;border-radius:var(--r2);overflow:hidden;opacity:0;transition:opacity .3s}
.ln-b[aria-expanded="true"]+.ln-p .ln-c{opacity:1;transition-delay:.1s}
.ln-c>div{padding:12px 14px;display:grid;gap:4px}
.ln-c>div[data-d="1"]{background:var(--l1)}.ln-c>div[data-d="2"]{background:var(--l2)}.ln-c>div[data-d="3"]{background:var(--l3)}
.ln-c>div[data-d="4"]{background:var(--ink);color:#fff}
.ln-c>div[data-d="4"] .src,.ln-c>div[data-d="4"] .lbl{color:var(--mute-on)}
.ln-c .lbl{display:flex;gap:6px;align-items:center;letter-spacing:.04em}
.ln-c p{font:400 1rem/1.45 var(--serif)}
.ln-c .num{font-size:1.5rem;margin-right:6px}
.ln-c a.go{background:var(--paper);font:650 .86rem var(--sans);display:flex;gap:.45em;align-items:center;padding:11px 14px;border-top:1px solid var(--rule)}
.ln-c a.go:hover{color:var(--plus-t)}
@media (max-width:560px){.ln-b{grid-template-columns:minmax(0,1fr) auto}.ln-b .meta{grid-column:1/-1}.ln-b .t{grid-column:1}.ln-b .badge{grid-column:2}}

/* ---------------------------------------------------------------- desks */
.desks{padding-block:clamp(36px,5vw,64px)}
.desks .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
@media (max-width:1100px){.desks .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.desks .grid{grid-template-columns:1fr}}
.desk{display:flex;flex-direction:column;gap:12px;min-width:0}
.desk-h{display:flex;align-items:center;justify-content:space-between;border-top:2px solid var(--ink);padding-top:10px}
.desk-h a{font:700 1rem var(--sans);display:inline-flex;align-items:center;gap:8px;min-height:32px}
.desk-h a:hover{color:var(--plus-t)}
.desk .top a{display:grid;gap:10px}
.desk ul li{border-top:1px solid var(--rule)}
.desk ul a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 0;font:540 .99rem/1.3 var(--serif);font-variation-settings:"opsz" 18}
.desk ul a .meta{font-size:.75rem}

/* ---------------------------------------------------------------- feature: one story opened out */
.feature{background:var(--l1);padding-block:clamp(40px,6vw,80px);margin-top:clamp(24px,4vw,48px)}
.feature .grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(22px,4vw,64px);align-items:center}
@media (max-width:900px){.feature .grid{grid-template-columns:1fr}}
.feature .dek{margin-top:14px}
.feature .ph,.feature .plate{border-radius:var(--r3)}
.feature .plate{background:var(--paper)}
.deep{margin-top:22px;display:grid;gap:8px}
.deep li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;padding:12px 14px;border-radius:var(--r2);background:var(--paper)}
.deep li[data-d="2"]{background:var(--l2)}.deep li[data-d="3"]{background:var(--l3)}.deep li[data-d="4"]{background:var(--ink);color:#fff}
.deep li[data-d="4"] .src{color:var(--mute-on)}
.deep .lbl{white-space:nowrap}
.deep li[data-d="4"] .lbl{color:var(--mute-on)}

/* ---------------------------------------------------------------- +Numbers band */
.numbers{background:var(--ink);color:#fff;padding-block:clamp(44px,6vw,84px)}
.numbers .sec-h{border-top-color:#fff}
.numbers .sec-h .more{color:var(--mute-on)}
.numbers .sec-h .more:hover{color:#fff}
.numbers .lede{color:var(--mute-on);font:400 1.05rem/1.5 var(--serif);max-width:60ch;margin:10px 0 28px}
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);border-radius:var(--r3);overflow:hidden}
@media (max-width:1000px){.nums{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.nums{grid-template-columns:1fr}}
.nums li{background:var(--ink);padding:22px 20px 20px;display:grid;gap:10px;align-content:start}
.nums .num{font-size:clamp(2.2rem,3.8vw,3.3rem);line-height:.95;color:#fff}
.nums .num .u{font-size:.5em;letter-spacing:0;margin-left:2px;color:var(--mute-on);font-weight:700}
.nums p{font:400 1rem/1.4 var(--serif);color:#E4E9EF}
.nums .src{color:var(--mute-on)}
.nums .src a{text-decoration-color:rgba(255,255,255,.3)}
.nums .tick{height:2px;border-radius:2px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}
.nums .tick i{position:absolute;inset:0;background:var(--plus-on);transform:scaleX(var(--k,0));transform-origin:0 50%;transition:transform 1.4s var(--ease)}

/* ---------------------------------------------------------------- explainers */
.explain{padding-block:clamp(40px,5vw,72px)}
.ex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);margin-top:8px}
@media (max-width:960px){.ex-grid{grid-template-columns:1fr}}
.ex{display:grid;gap:14px;align-content:start}
.ex .steps{display:grid;gap:0;border-left:2px solid var(--rule);margin-left:6px}
.ex .steps li{padding:6px 0 6px 16px;position:relative;font:500 .92rem/1.35 var(--sans);color:var(--ink2)}
.ex .steps li::before{content:"";position:absolute;left:-2px;top:14px;width:10px;height:2px;background:var(--rule2)}

/* ---------------------------------------------------------------- dates ahead */
.ahead{padding-block:clamp(36px,5vw,64px);border-top:1px solid var(--rule)}
.ahead ol{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:10px}
.ahead li{border-radius:var(--r2);border:1px solid var(--rule);padding:16px;display:grid;gap:8px;align-content:start;min-width:0}
.ahead .when{display:flex;align-items:baseline;gap:8px}
.ahead .when b{font:800 1.9rem/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ahead .when span{font:650 .82rem/1.1 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.ahead p{font:500 1rem/1.35 var(--serif)}

/* ---------------------------------------------------------------- newsletter band */
.daily{padding-block:clamp(40px,6vw,80px)}
.daily .box{border-radius:var(--r3);background:var(--l2);padding:clamp(22px,4vw,48px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center}
@media (max-width:860px){.daily .box{grid-template-columns:1fr}}
.sub{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.sub label{grid-column:1/-1;font:600 .82rem var(--sans)}
.sub input{min-height:46px;border-radius:var(--r1);border:1.5px solid var(--rule2);background:var(--paper);padding:0 14px;min-width:0}
.sub input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--plus-wash)}
.sub button{min-height:46px;border-radius:var(--r1);border:0;background:var(--ink);color:#fff;font:650 .92rem var(--sans);padding:0 18px;display:inline-flex;gap:.5em;align-items:center}
.sub button:hover{background:var(--ink2)}
.sub .msg{grid-column:1/-1;font:500 .85rem var(--sans);color:var(--plus-t);min-height:1.2em}
.sub .pl{--s:12px}
.sub button .pl .pl-h{background:#fff}
.sub button .pl .pl-v{background:var(--plus-on)}

/* ---------------------------------------------------------------- footer */
.foot{background:var(--ink);color:#C9D2DC;margin-top:0;padding-top:clamp(40px,5vw,64px);font:400 .95rem/1.5 var(--serif)}
.foot>.wrap{display:grid;grid-template-columns:1.4fr 1fr .8fr .8fr;gap:clamp(24px,4vw,56px)}
@media (max-width:960px){.foot>.wrap{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot>.wrap{grid-template-columns:1fr}}
.foot .brand svg{height:40px;width:auto}
.foot .lbl{color:var(--mute-on)}
.foot ul{display:grid;gap:8px;margin-top:12px;font:500 .9rem var(--sans)}
.foot a:hover{color:#fff}
.foot .sub{grid-template-columns:1fr;margin-top:14px}
.foot .sub button{justify-content:center}
.foot .sub label{color:#fff}
.foot .sub input{background:var(--ink2);border-color:#33445A;color:#fff}
.foot .sub input::placeholder{color:#8392A3}
.foot .sub button{background:var(--plus-on);color:var(--ink)}
.foot .sub button:hover{background:#5FE0A2}
.foot .sub button .pl .pl-h{background:var(--ink)}
.foot .sub button .pl .pl-v{background:var(--ink)}
.foot .sub .msg{color:var(--plus-on)}
.credits{margin-top:clamp(36px,5vw,56px);border-top:1px solid #22324A;padding-block:18px;font:500 .8rem/1.5 var(--sans);color:var(--mute-on)}
.credits .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.credits a{text-decoration:underline;text-underline-offset:3px;display:inline-block;padding-block:4px}

/* ---------------------------------------------------------------- story page */
.story-h{padding-block:clamp(22px,3.4vw,48px) 22px}
.story-h .in{max-width:880px}
.crumbs{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-bottom:12px;font:600 .82rem var(--sans);color:var(--mute)}
.crumbs a{display:inline-flex;align-items:center;min-height:28px}
.crumbs a:hover{color:var(--ink)}
.story-h .dek{margin-top:16px;max-width:62ch}
.story-h .meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px 16px}
.story-fig{margin-block:8px 6px}
.story-fig .ph{border-radius:var(--r3)}
.story{display:grid;grid-template-columns:200px minmax(0,680px) minmax(0,1fr);gap:clamp(20px,3.6vw,56px);padding-block:26px clamp(40px,6vw,80px)}
@media (max-width:1100px){.story{grid-template-columns:minmax(0,1fr)}.story .rail{display:none}.story aside{order:3}}
.rail{position:sticky;top:132px;align-self:start}
.gauge{display:grid;gap:4px}
.gauge a{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:7px 0;font:600 .86rem var(--sans);color:var(--mute);transition:color .3s}
.gauge a .ln-mark{height:2.5px;border-radius:2px;background:var(--rule);position:relative;transition:background-color .3s}
.gauge a[aria-current="true"]{color:var(--ink)}
.gauge a[aria-current="true"] .ln-mark,.gauge a.past .ln-mark{background:var(--ink)}
.gauge a .d{font-weight:500;font-size:.74rem;color:var(--mute);display:block}
.gauge .depth{margin-top:14px;font:500 .78rem/1.4 var(--sans);color:var(--mute)}
.body{font:400 1.16rem/1.62 var(--serif);font-variation-settings:"opsz" 14;display:grid;gap:1.05em}
.body p{text-wrap:pretty;hyphens:auto}
.body>p:first-child::first-line{font-weight:560}
.factline{font:540 clamp(1.25rem,1.8vw,1.45rem)/1.4 var(--serif);font-variation-settings:"opsz" 28;display:flex;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--rule);margin-bottom:6px}
.factline::before{content:"";flex:none;width:28px;height:2.5px;border-radius:2px;background:var(--ink);margin-top:.74em}
.layers{display:grid;gap:12px;margin-top:34px}
.layer{border-radius:var(--r3);padding:clamp(18px,2.4vw,28px);display:grid;gap:12px;scroll-margin-top:120px}
.layer[data-d="1"]{background:var(--l1)}.layer[data-d="2"]{background:var(--l2)}.layer[data-d="3"]{background:var(--l3)}
.layer[data-d="4"]{background:var(--ink);color:#fff}
.layer[data-d="4"] .src,.layer[data-d="4"] .lay-h .n{color:var(--mute-on)}
.layer[data-d="4"] .src a{text-decoration-color:rgba(255,255,255,.35)}
.layer .lay-h{font-size:1.02rem}
.layer .lay-h .pl{--s:15px;align-self:center}
.layer p{font:400 1.08rem/1.55 var(--serif);text-wrap:pretty}
.layer .nrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px}
.layer .nrow .num{font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.05;display:block;margin-bottom:6px;text-wrap:balance}
.layer blockquote{font:italic 440 1.25rem/1.4 var(--serif);font-variation-settings:"opsz" 28;text-wrap:pretty}
.layer blockquote::before{content:"“"}.layer blockquote::after{content:"”"}
.layer cite{display:block;margin-top:8px;font:650 .84rem/1.3 var(--sans);font-style:normal}
.layer cite span{font-weight:500;color:var(--mute)}
.layer[data-d="4"] cite span{color:var(--mute-on)}
.layer .q+.q{border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);padding-top:14px}
.layer .when{font:800 1.4rem/1 var(--sans);letter-spacing:-.02em;color:var(--plus-on)}
.sources{margin-top:30px;border-top:1px solid var(--rule);padding-top:16px;display:grid;gap:8px}
.sources ol{display:grid;gap:6px;counter-reset:s}
.sources li{font:500 .88rem/1.4 var(--sans);display:grid;grid-template-columns:22px 1fr;counter-increment:s}
.sources li::before{content:counter(s);color:var(--mute);font-variant-numeric:tabular-nums}
.sources a{text-decoration:underline;text-decoration-color:var(--rule2);text-underline-offset:3px;overflow-wrap:anywhere}
.sources a:hover{text-decoration-color:currentColor}
.story aside{display:grid;gap:16px;align-content:start}
.side-card{border-radius:var(--r2);border:1px solid var(--rule);padding:16px;display:grid;gap:10px}
.side-card ul{display:grid}
.side-card li a{display:block;padding:10px 0;border-top:1px solid var(--rule);font:540 .98rem/1.3 var(--serif)}
.side-card li:first-child a{border-top:0;padding-top:2px}
.side-more{display:flex;align-items:center;justify-content:space-between;gap:.4em;min-height:36px;font:650 .86rem var(--sans);border-top:1px solid var(--rule)}
.side-more:hover{color:var(--plus-t)}
.layer cite a,.lay-c cite a{display:inline-block;padding-block:4px}
.share{display:flex;gap:8px;flex-wrap:wrap}
.share button{all:unset;cursor:pointer;font:600 .82rem var(--sans);border:1.5px solid var(--rule2);border-radius:var(--r1);padding:8px 12px}
.share button:hover{border-color:var(--ink)}
.share button:focus-visible{outline:2px solid var(--plus-t);outline-offset:2px}
.next-up{border-top:2px solid var(--ink);padding-block:20px clamp(40px,5vw,72px)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);margin-top:14px}
@media (max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}
.card{display:grid;gap:10px;align-content:start;min-width:0}
.card .kick{font-size:.78rem}

/* ---------------------------------------------------------------- desk / list pages */
.page-h{padding-block:clamp(26px,4vw,56px) 18px;border-bottom:1px solid var(--rule)}
.page-h .in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}
.page-h .dek{margin-top:12px;max-width:60ch}
.page-h .pl{--s:.62em;margin-right:.14em;vertical-align:.02em}
@media (max-width:700px){.page-h .in{grid-template-columns:1fr}}
.page-h .tally{font:600 .88rem/1.35 var(--sans);color:var(--mute);text-align:right}
.page-h .tally b{display:block;font:800 2.4rem/1 var(--sans);color:var(--ink);letter-spacing:-.03em}
@media (max-width:700px){.page-h .tally{text-align:left}}
.list{padding-block:12px clamp(40px,5vw,72px)}
.row{display:grid;grid-template-columns:150px minmax(0,1fr) 220px;gap:clamp(14px,2.4vw,32px);padding-block:20px;border-bottom:1px solid var(--rule);align-items:start}
.row .h-s{font-size:1.24rem}
.row .h-s a{display:block}
.row .dek{font-size:1rem;margin-top:6px;color:var(--mute)}
.row .meta{display:grid;gap:6px}
.row .ph,.row .plate{border-radius:var(--r2);aspect-ratio:3/2}
.row .plate b{font-size:.92rem}
@media (max-width:820px){.row{grid-template-columns:110px minmax(0,1fr)}.row .ph,.row .plate{grid-row:1/3;grid-column:2;display:none}}
@media (max-width:560px){.row{grid-template-columns:1fr;gap:8px}}
.day-h{font:700 .78rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);padding:26px 0 8px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between}

/* ---------------------------------------------------------------- prose pages */
.prose{max-width:720px;padding-block:24px clamp(40px,6vw,80px);font:400 1.14rem/1.62 var(--serif);display:grid;gap:1em}
.prose h2{font:640 1.6rem/1.15 var(--serif);font-variation-settings:"opsz" 48;letter-spacing:-.012em;margin-top:.9em}
.prose a{text-decoration:underline;text-decoration-color:var(--rule2);text-underline-offset:3px}
.prose a:hover{text-decoration-color:currentColor}
.prose ul.dots{display:grid;gap:6px;padding-left:1.1em;list-style:disc}
.prose .lead-p{font-size:1.32rem;line-height:1.45}
.howto{display:grid;gap:10px;margin-block:10px}
.howto li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 16px;border-radius:var(--r2)}
.howto li[data-d="0"]{border:1px solid var(--rule)}
.howto li[data-d="1"]{background:var(--l1)}.howto li[data-d="2"]{background:var(--l2)}.howto li[data-d="3"]{background:var(--l3)}.howto li[data-d="4"]{background:var(--ink);color:#fff}
.howto b{font:700 .95rem var(--sans);display:flex;gap:8px;align-items:center}
.howto p{font:400 1.02rem/1.45 var(--serif)}
@media (max-width:560px){.howto li{grid-template-columns:1fr;gap:6px}}

/* search */
.search{padding-block:24px clamp(40px,6vw,80px)}
.search form{display:flex;gap:8px;max-width:720px}
.search input{flex:1;min-width:0;min-height:52px;border-radius:var(--r2);border:1.5px solid var(--rule2);padding:0 16px;font:500 1.1rem var(--serif)}
.search input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--plus-wash)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips button{all:unset;cursor:pointer;font:600 .84rem var(--sans);padding:8px 12px;border-radius:var(--r1);border:1.5px solid var(--rule);min-height:20px}
.chips button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.chips button:focus-visible{outline:2px solid var(--plus-t);outline-offset:2px}
.results{margin-top:18px}
.results .count{font:600 .9rem var(--sans);color:var(--mute);padding-bottom:10px}
/* empty search: say so, and where to look instead */
.results .empty{padding:22px 20px;border-radius:var(--r2);background:var(--l1);font:500 1.05rem/1.45 var(--serif)}
mark{background:var(--plus-wash);color:inherit;border-radius:3px;padding:0 2px}

/* 404 */
.lost{min-height:58vh;display:grid;place-content:center;text-align:center;gap:18px;padding-block:60px}
.lost .big-pl{--s:min(30vw,180px);margin-inline:auto}
 .lost .big-pl .pl-h{transform:translateY(calc(var(--w)*-.9))}
.lost .big-pl .pl-v{transform:translate(calc(var(--s)*.5),calc(var(--w)*.9 - var(--s)*.5)) rotate(-90deg)}
.lost .row2{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ---------------------------------------------------------------- desk page: lead, numbers, what next */
.desk-lead{padding-block:clamp(24px,3.4vw,44px)}
.desk-lead .grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,3.6vw,52px);align-items:start}
.desk-lead figure .ph,.desk-lead figure .plate{border-radius:var(--r3)}
.desk-lead .stack{margin-top:20px}
@media (max-width:900px){.desk-lead .grid{grid-template-columns:1fr}}
.desk-figs{padding-block:8px clamp(28px,4vw,48px)}
.figrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:960px){.figrow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.figrow{grid-template-columns:1fr}}
.figrow li{border-radius:var(--r2);background:var(--l2);padding:18px;display:grid;gap:8px;align-content:start;min-width:0}
.figrow .num{font-size:clamp(1.8rem,2.8vw,2.4rem);line-height:1}
.figrow p{font:400 .98rem/1.4 var(--serif)}
.figrow .src a{text-decoration:none;font-weight:600;color:var(--ink2)}
.figrow .src a:hover{text-decoration:underline}
.desk-next{margin-top:18px;border-radius:var(--r2);background:var(--ink);color:#fff;padding:18px 20px}
.desk-next .lbl{color:var(--mute-on)}
.desk-next ul{display:grid;margin-top:8px}
.desk-next a{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:10px 0;border-top:1px solid #22324A;font:400 1rem/1.4 var(--serif)}
.desk-next li:first-child a{border-top:0}
.desk-next b{font:800 .95rem/1.4 var(--sans);color:var(--plus-on)}
.desk-next a:hover span{text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.desk-next a{grid-template-columns:1fr;gap:2px}}

/* explainers page: each opened all the way down */
.ex-full{padding-block:clamp(36px,5vw,72px);border-bottom:1px solid var(--rule)}
.ex-full.alt{background:var(--l1)}
.ex-full.alt .deep li[data-d="1"]{background:var(--paper)}
.ex-full.alt .plate{background:var(--paper)}
.ex-full .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(22px,4vw,64px);align-items:start}
.ex-full.alt figure{order:2}
.ex-full .ph,.ex-full .plate{border-radius:var(--r3)}
@media (max-width:900px){.ex-full .grid{grid-template-columns:1fr}.ex-full.alt figure{order:0}}

/* numbers page */
.nums.n5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1180px){.nums.n5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.nums.n5{grid-template-columns:1fr}}
.ledger{margin-top:26px;scroll-margin-top:120px}
.ledger h3{font:700 1.05rem var(--sans);display:flex;gap:10px;align-items:baseline;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.ledger h3 span{font:500 .82rem var(--sans);color:var(--mute)}
.tbl{overflow-x:auto}
.ledger table{width:100%;border-collapse:collapse;min-width:680px;table-layout:fixed}
.ledger th:nth-child(1){width:130px}.ledger th:nth-child(2){width:34%}.ledger th:nth-child(4){width:16%}
.ledger th{font:700 .72rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);text-align:left;padding:10px 12px 8px 0;border-bottom:1px solid var(--rule)}
.ledger td{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule);vertical-align:baseline;font:400 .98rem/1.4 var(--serif)}
.ledger td.num{font:800 1.2rem/1.2 var(--sans);letter-spacing:-.03em;white-space:normal;padding-right:16px}
.ledger td:nth-child(3) a{font:540 .95rem/1.35 var(--serif);text-decoration:underline;text-decoration-color:var(--rule2);text-underline-offset:3px}
.ledger td:nth-child(3) a:hover{text-decoration-color:currentColor}
.ledger td.src{font:500 .82rem/1.35 var(--sans)}
.ledger tbody tr:hover{background:var(--l1)}

/* dates ahead: a timeline with today drawn as the line */
.ahead ol.tl{display:grid;grid-template-columns:1fr;gap:0;margin-top:6px;border-left:2px solid var(--rule);margin-left:8px}
.tl li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;padding:16px 0 16px 24px;position:relative;border:0;border-radius:0}
.tl li::before{content:"";position:absolute;left:-7px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink)}
.tl li.is-today::before{background:var(--plus);border-color:var(--plus)}
.tl li p{font:500 1.05rem/1.4 var(--serif)}
.tl li .src{margin-top:4px}
.tl li.now{display:block;padding:8px 0 8px 24px}
.tl li.now::before{display:none}
.tl li.now span{display:flex;align-items:center;gap:12px;font:800 .78rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--plus-t)}
.tl li.now span::after{content:"";flex:1;height:2.5px;border-radius:2px;background:var(--ink)}
.tl li.now span::before{content:"";position:absolute;left:-9px;width:16px;height:2.5px;background:var(--ink);border-radius:2px}
@media (max-width:640px){.tl li{grid-template-columns:1fr;gap:6px}}

/* every line: jump to a day */
.days{position:sticky;top:96px;z-index:5;background:rgba(255,255,255,.97);padding-block:12px;border-bottom:1px solid var(--rule)}
.days ul{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.days ul::-webkit-scrollbar{display:none}
.days a{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:6px;padding:8px 12px;border-radius:var(--r1);border:1.5px solid var(--rule);white-space:nowrap}
.days a:hover{border-color:var(--ink)}
.days b{font:800 1.15rem/1 var(--sans);font-variant-numeric:tabular-nums}
.days span{font:600 .74rem var(--sans);color:var(--mute)}
.days i{grid-column:1/-1;font:700 .7rem var(--sans);font-style:normal;color:var(--plus-t)}
@media (max-width:860px){.days{top:96px}}

/* story: the line before and after on this desk */
.pnav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.pn{border:1px solid var(--rule);border-radius:var(--r2);padding:14px 16px;display:grid;gap:6px;align-content:start;transition:border-color .2s}
.pn:hover{border-color:var(--ink)}
.pn.next{text-align:right;grid-column:2}
.pn .h-s{font-size:1.02rem}
@media (max-width:560px){.pnav{grid-template-columns:1fr}.pn.next{grid-column:1;text-align:left}}

/* ---------------------------------------------------------------- reveal on scroll: lines laid in */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.sec-h.rv{opacity:1;transform:none;border-top-color:transparent;position:relative}
.sec-h.rv::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform 1s var(--ease)}
.numbers .sec-h.rv::before{background:#fff}
.sec-h.rv.in::before{transform:none}

/* ---------------------------------------------------------------- loader «Laying the line» */
.ldr{position:fixed;inset:0;z-index:90;pointer-events:none;display:none}
.js-load .ldr{display:block;animation:ld-safe 0s 5s forwards}   /* never trap the page if the script fails */
@keyframes ld-safe{to{visibility:hidden}}
.ldr .half{position:absolute;left:0;right:0;height:50%;background:var(--paper);transition:transform .9s var(--ease)}
.ldr .half.t{top:0}.ldr .half.b{bottom:0}
.ldr .line{position:absolute;left:0;right:0;top:calc(50% - 1.5px);height:3px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;border-radius:3px}
.ldr .stand{position:absolute;left:calc(50% - 9px);top:calc(50% - 50px);width:18px;height:100px;border-radius:9px;background:var(--plus);transform:scaleY(0);transform-origin:50% 100%}
.ldr .say{position:absolute;left:0;right:0;top:calc(50% + 76px);text-align:center;font:600 .86rem/1.4 var(--sans);color:var(--mute);opacity:0;padding-inline:16px}
.ldr .say b{color:var(--ink);font-weight:700}
.ldr .say2{top:auto;bottom:calc(50% + 72px);font:640 clamp(1.5rem,3vw,2.2rem)/1.1 var(--serif);font-variation-settings:"opsz" 60;color:var(--ink);letter-spacing:-.015em}
.ldr.go .line{animation:ld-line .62s var(--ease) forwards}
.ldr.go .say{animation:ld-fade .5s .3s var(--ease) forwards}
.ldr.go .stand{animation:ld-stand .45s .56s var(--ease) forwards,ld-fall .55s 1.12s var(--fall) forwards}
.ldr.open .half.t{transform:translateY(-101%)}
.ldr.open .half.b{transform:translateY(101%)}
.ldr.open .line,.ldr.open .stand{opacity:0;transition:opacity .25s}
.ldr.open .say{animation:ld-out .25s forwards}
@keyframes ld-out{from{opacity:1}to{opacity:0}}
@keyframes ld-line{to{transform:scaleX(1)}}
@keyframes ld-fade{to{opacity:1}}
@keyframes ld-stand{to{transform:scaleY(1)}}
@keyframes ld-fall{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(50px,-36px) rotate(-90deg)}}

/* ---------------------------------------------------------------- page to page: closed on a line, opened along it
   Leaving: a line is drawn across the middle while the two halves of the page close on it.
   If the next page is slow, a green segment runs along the line until it arrives.
   Arriving: the new page starts closed (set in <head> before paint), the line retracts and the
   halves open, the same way the first loader ends. */
.nav-ldr{position:fixed;inset:0;z-index:89;pointer-events:none;display:none}
.nav-ldr.leave,.pp-arrive .nav-ldr{display:block}
.pp-arrive .nav-ldr{animation:ld-safe 0s 3s forwards}
.nav-ldr .half{position:absolute;left:0;right:0;height:50%;background:var(--paper);transform:translateY(var(--y));transition:transform .34s var(--ease-in)}
.nav-ldr .t{top:0;--y:-101%}.nav-ldr .b{bottom:0;--y:101%}
.nav-ldr .line{position:absolute;left:0;right:0;top:calc(50% - 1px);height:2px;border-radius:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s var(--ease);overflow:hidden}
.nav-ldr .line::after{content:"";position:absolute;top:0;bottom:0;left:0;width:22%;border-radius:2px;background:var(--plus);transform:translateX(-100%);opacity:0}
.nav-ldr.leave .half{--y:0}
.nav-ldr.leave .line{transform:scaleX(1)}
.nav-ldr.wait .line::after{opacity:1;animation:nl-run 1.1s var(--ease) infinite}
@keyframes nl-run{to{transform:translateX(460%)}}
.pp-arrive .nav-ldr .half{--y:0;transition:none}
.pp-arrive .nav-ldr .line{transform:scaleX(1);transform-origin:100% 50%;transition:none}
.pp-arrive.pp-open .nav-ldr .half{transition:transform .6s var(--ease)}
.pp-arrive.pp-open .nav-ldr .t{--y:-101%}.pp-arrive.pp-open .nav-ldr .b{--y:101%}
.pp-arrive.pp-open .nav-ldr .line{transform:scaleX(0);transition:transform .32s var(--ease)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .js-load .ldr,.nav-ldr{display:none!important}
}
@media print{.mast,.strip,.foot,.rail,.ldr,.share,.daily{display:none!important}.lay-p,.ln-p{grid-template-rows:1fr!important}.lay-c,.ln-c{opacity:1!important}}
[data-d="4"] .pl .pl-v{background:var(--plus-on)}
[data-d="4"] .pl .pl-h{background:#fff}
.ln-c p.lbl{font:700 .72rem/1.2 var(--sans);letter-spacing:.06em}
.layer .big{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.layer .big .num{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1}
.layer .big span:not(.num){font:500 1.12rem/1.4 var(--serif);max-width:36ch}
.layer .nrow p{font-size:1rem;margin-top:2px}
