:root{
  --night:#0b1026; --night-2:#121a3a; --night-3:#1b2550; --night-line:rgba(190,205,255,.16);
  --on-night:#f4f1ea; --on-night-2:#c3c8de; --on-night-3:#8f96b5;
  --paper:#f7f3ec; --paper-2:#fffdf8; --paper-3:#eee7da;
  --ink:#15172b; --ink-2:#3c3f57; --ink-3:#62647a;
  --rule:#dcd5c8; --rule-2:#c4bcad;
  --sun:#ffb35c; --coral:#ff7f66; --rose:#f26d8f; --lilac:#a99bff; --aqua:#5fe3d0; --sky:#5bb8ff;
  --accent:#b4441f; --accent-ink:#963614;
  --dawn:linear-gradient(100deg,#ffc56b 0%,#ff8a6b 38%,#e86ba6 66%,#8f8cff 100%);
  --dawn-soft:linear-gradient(100deg,#ffb35c,#ff7f66 45%,#5fe3d0);
  --display:'Cabinet Grotesk','Avenir Next','Segoe UI',sans-serif;
  --serif-d:'Boska','Iowan Old Style',Georgia,serif;
  --text:'Source Serif 4','Iowan Old Style',Georgia,serif;
  --ui:'Satoshi','Avenir Next','Segoe UI',sans-serif;
  --wrap:1240px; --narrow:740px;
  --s3:.75rem; --s4:1rem; --s5:1.5rem; --s6:2rem; --s7:3rem; --s8:4.5rem; --s9:7rem;
  --r-africa:#ffb35c; --r-antarctica:#bfefff; --r-asia:#ff7f66; --r-europe:#a99bff; --r-north-america:#5fe3d0; --r-oceania:#5bb8ff; --r-south-america:#8fe08a; --r-global:#ffd86b;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.025em;margin:0;text-wrap:balance}
p{margin:0}
em{font-family:var(--serif-d);font-style:italic;font-weight:400;letter-spacing:0}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.5rem 1rem;z-index:60;font-family:var(--ui)}
.skip:focus{left:1rem;top:1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.1rem,4vw,2.5rem)}
.wrap-narrow{max-width:calc(var(--narrow) + 5rem);margin:0 auto;padding:0 clamp(1.1rem,4vw,2.5rem)}
.wrap-wide{max-width:1240px;margin:0 auto;padding:0 clamp(0rem,2vw,2.5rem)}

/* region dots */
.rdot{display:inline-block;width:.55em;height:.55em;border-radius:50%;margin-right:.5em;vertical-align:.08em;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 0%,transparent)}
.r-africa{--rc:var(--r-africa)}.r-antarctica{--rc:var(--r-antarctica)}.r-asia{--rc:var(--r-asia)}.r-europe{--rc:var(--r-europe)}.r-north-america{--rc:var(--r-north-america)}.r-oceania{--rc:var(--r-oceania)}.r-south-america{--rc:var(--r-south-america)}.r-global{--rc:var(--r-global)}
.rdot{background:var(--rc)}
.paperish .rdot,.issue .rdot,.regions .rdot,.more .rdot{box-shadow:0 0 0 1px rgba(21,23,43,.25)}

/* aurora + grain */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.aurora span{position:absolute;border-radius:50%;filter:blur(48px);opacity:.8;mix-blend-mode:screen;will-change:transform,opacity}
.aurora .a1{width:70vw;height:26vw;left:-12vw;top:4vw;background:radial-gradient(closest-side,rgba(95,227,208,.85),rgba(95,227,208,.25) 55%,transparent);transform:rotate(-12deg)}
.aurora .a2{width:60vw;height:22vw;right:-14vw;top:-2vw;background:radial-gradient(closest-side,rgba(169,155,255,.85),rgba(169,155,255,.2) 55%,transparent);transform:rotate(10deg)}
.aurora .a3{width:52vw;height:20vw;left:24vw;top:18vw;background:radial-gradient(closest-side,rgba(255,138,107,.7),transparent);transform:rotate(-4deg)}
.aurora::before{content:"";position:absolute;left:-20%;right:-20%;top:2%;height:46%;background:repeating-linear-gradient(90deg,rgba(95,227,208,0) 0,rgba(95,227,208,.22) 3%,rgba(169,155,255,.14) 6%,rgba(95,227,208,0) 10%);filter:blur(14px);mix-blend-mode:screen;-webkit-mask:linear-gradient(180deg,transparent,#000 35%,#000 60%,transparent);mask:linear-gradient(180deg,transparent,#000 35%,#000 60%,transparent);opacity:.75}
@media (prefers-reduced-motion:no-preference){
  .aurora .a1{animation:drift1 11s ease-in-out infinite alternate}
  .aurora .a2{animation:drift2 13s ease-in-out infinite alternate}
  .aurora .a3{animation:drift3 15s ease-in-out infinite alternate}
  .aurora::before{animation:curtain 18s linear infinite, shimmer 6s ease-in-out infinite alternate}
}
@keyframes drift1{0%{transform:translate(0,0) rotate(-12deg) scale(1);opacity:.55}50%{opacity:.95}100%{transform:translate(22vw,4vw) rotate(-4deg) scale(1.25);opacity:.7}}
@keyframes drift2{0%{transform:translate(0,0) rotate(10deg);opacity:.85}50%{opacity:.45}100%{transform:translate(-20vw,6vw) rotate(18deg) scale(.9);opacity:.9}}
@keyframes drift3{0%{transform:translate(0,0) rotate(-4deg);opacity:.4}100%{transform:translate(-14vw,-6vw) rotate(6deg) scale(1.3);opacity:.8}}
@keyframes curtain{from{transform:translateX(0) skewX(-8deg)}to{transform:translateX(10%) skewX(8deg)}}
@keyframes shimmer{from{opacity:.35}to{opacity:.85}}
.grain{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* edition bar */
.edition{position:relative;z-index:3;border-bottom:1px solid var(--night-line);font-family:var(--ui);font-size:.78rem;color:var(--on-night-3)}
.edition__in{display:flex;align-items:center;gap:.25rem;min-height:42px;flex-wrap:wrap}
.edition__label{font-weight:500;margin-right:.5rem;color:var(--on-night-2)}
.edition a{text-decoration:none;padding:.28rem .75rem;border-radius:999px;border:1px solid transparent;color:var(--on-night-2);transition:color .2s,border-color .2s,background .2s}
.edition a:hover{color:#fff;background:rgba(255,255,255,.06)}
.edition a[aria-current="page"]{color:#fff;border-color:rgba(255,179,92,.7);background:rgba(255,179,92,.08)}
.edition__note{margin-left:auto;letter-spacing:.06em}

/* wordmark */
.wm__ggnd{font-family:var(--display);font-weight:800;letter-spacing:-.04em}
.wm__mag{font-family:var(--serif-d);font-style:italic;font-weight:400;letter-spacing:-.01em;background:var(--dawn);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}

/* cover */
.cover{position:relative;background:var(--night);color:var(--on-night);overflow:hidden;isolation:isolate}
.cover__bg{position:absolute;inset:0;z-index:-1}
.cover__bg img{width:100%;height:100%;object-fit:cover;object-position:center 72%;opacity:.85}
.cover__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,16,38,.55) 0%,rgba(11,16,38,.25) 40%,rgba(11,16,38,.75) 78%,var(--night) 100%)}
.cover__in{position:relative;z-index:2;padding-top:var(--s6);padding-bottom:var(--s7)}
.cover__meta{display:flex;justify-content:space-between;gap:1rem;font-family:var(--ui);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-night-2)}
.cover__title{text-align:center;font-size:clamp(3.3rem,1rem + 9.5vw,9.5rem);line-height:.9;margin-top:clamp(2rem,6vw,4.5rem);font-weight:800}
.cover__title .wm__mag{font-weight:400}
.cover__tag{text-align:center;font-family:var(--ui);font-size:clamp(1rem,.9rem + .5vw,1.3rem);color:var(--on-night-2);margin-top:var(--s5);letter-spacing:.01em}
.cover__tag em{color:#fff;font-size:1.12em}
.cover__nav{display:flex;justify-content:center;margin-top:var(--s6)}
.cover__nav .sections{border:1px solid rgba(255,255,255,.14);background:rgba(18,26,58,.45);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;padding:0 1.4rem}
.sections ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:clamp(.9rem,2.6vw,2.2rem);flex-wrap:wrap}
.sections a{display:block;padding:.8rem 0;font-family:var(--ui);font-size:.86rem;font-weight:500;text-decoration:none;color:var(--on-night-2);position:relative;transition:color .2s}
.sections a::after{content:"";position:absolute;left:0;right:0;bottom:.45rem;height:1px;background:var(--dawn);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.sections a:hover,.sections a[aria-current="page"]{color:#fff}
.sections a:hover::after,.sections a[aria-current="page"]::after{transform:scaleX(1)}
.cover__story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.25rem,3.5vw,3rem);align-items:center;margin-top:clamp(3rem,8vw,6.5rem);padding:clamp(1rem,2vw,1.5rem);border-radius:22px;text-decoration:none;background:linear-gradient(140deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:border-color .3s,transform .5s cubic-bezier(.2,.7,.2,1)}
.cover__story:hover{border-color:rgba(255,179,92,.55);transform:translateY(-3px)}
.cover__fig{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.cover__fig img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.cover__story:hover .cover__fig img{transform:scale(1.04)}
.eyebrow{font-family:var(--ui);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:var(--dawn-soft);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;margin-bottom:.8rem}
.cover__h{font-size:clamp(2.2rem,1.3rem + 3vw,4rem);line-height:.98;margin-top:.7rem}
.cover__dek{font-size:1.1rem;line-height:1.55;color:var(--on-night-2);margin-top:var(--s4);max-width:38em}
.cover__cta{font-family:var(--ui);font-weight:700;font-size:.92rem;margin-top:var(--s5);color:#fff}
.cover__cta span[aria-hidden]{display:inline-block;transition:transform .3s}
.cover__story:hover .cover__cta span[aria-hidden]{transform:translateX(5px)}
.cover__mins{font-weight:400;color:var(--on-night-3);margin-left:.8rem}
.cover__cap{font-family:var(--ui);font-size:.72rem;color:var(--on-night-3);margin-top:var(--s4);text-align:right}

/* kicker / meta */
.kicker{font-family:var(--ui);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.kicker--light{color:var(--on-night-2)}
.meta{font-family:var(--ui);font-size:.84rem;color:var(--ink-3);margin-top:var(--s4)}
.meta--light{color:var(--on-night-3)}

/* section heads */
.sechead{display:flex;justify-content:space-between;align-items:end;gap:var(--s5);margin-bottom:var(--s7);flex-wrap:wrap;position:relative;padding-top:var(--s5)}
.sechead::before{content:"";position:absolute;top:0;left:0;width:72px;height:3px;border-radius:3px;background:var(--dawn)}
.sechead h2{font-size:clamp(2rem,1.3rem + 2.2vw,3.4rem);line-height:1}
.sechead p{font-family:var(--ui);font-size:.92rem;color:var(--ink-3);max-width:44ch}
.sechead a{color:var(--accent-ink);font-weight:500}
.sechead--dark p{color:var(--on-night-2)}

/* signals */
.signals{background:var(--night);color:var(--on-night);padding:var(--s8) 0 var(--s9);position:relative}
.signals::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,179,92,.5),transparent)}
.siglist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--night-line);border:1px solid var(--night-line);border-radius:20px;overflow:hidden}
.sig{background:var(--night)}
.sig a{display:flex;flex-direction:column;height:100%;padding:1.6rem 1.4rem 1.4rem;text-decoration:none;transition:background .3s}
.sig a:hover{background:var(--night-2)}
.sig__val{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,1.6rem + 2.2vw,3.6rem);line-height:1;letter-spacing:-.04em;background:var(--dawn);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.sig__label{font-family:var(--ui);font-size:.92rem;line-height:1.4;color:var(--on-night-2);margin-top:.8rem;flex:1}
.sig__where{font-family:var(--ui);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-night-3);margin-top:1.1rem}

/* cards */
.issue{padding:var(--s9) 0 var(--s8)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s7) clamp(1.25rem,2.5vw,2.25rem)}
.grid--issue{grid-template-columns:repeat(6,1fr)}
.grid--issue .card{grid-column:span 2}
.grid--issue .card--lg{grid-column:span 3}
.card__link{display:block;text-decoration:none;height:100%}
.card__fig{margin:0;position:relative;overflow:hidden;aspect-ratio:3/2;border-radius:16px;background:var(--paper-3)}
.card--lg .card__fig{aspect-ratio:16/10}
.card__fig::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(21,23,43,.06);background:linear-gradient(180deg,transparent 55%,rgba(11,16,38,.35));opacity:0;transition:opacity .4s}
.card__link:hover .card__fig::after{opacity:1}
.card__fig img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.card__link:hover .card__fig img{transform:scale(1.045)}
.ai-tag{position:absolute;left:.75rem;bottom:.75rem;z-index:1;font-family:var(--ui);font-size:.66rem;font-weight:500;letter-spacing:.06em;background:rgba(11,16,38,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f4f1ea;padding:.25rem .6rem;border-radius:999px}
.card__body{padding-top:var(--s5)}
.card__num{font-family:var(--display);font-weight:800;font-size:.85rem;letter-spacing:.04em;background:var(--dawn);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:.4rem}
.card__title{font-size:1.6rem;line-height:1.08;margin-top:.55rem}
.card--lg .card__title{font-size:clamp(1.8rem,1.3rem + 1vw,2.3rem)}
.card__dek{font-size:1rem;line-height:1.5;color:var(--ink-2);margin-top:.6rem}
.card__meta{font-family:var(--ui);font-size:.8rem;color:var(--ink-3);margin-top:.8rem}
.arrow{display:inline-block;margin-left:.3rem;transition:transform .3s}
.card__link:hover .arrow{transform:translateX(5px)}
.card__link:hover .card__title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em;text-decoration-color:var(--coral)}

/* across borders */
.borders{position:relative;overflow:hidden;isolation:isolate;background:var(--night);color:var(--on-night);padding:var(--s9) 0}
.borders .aurora span{opacity:.45}.borders .aurora::before{opacity:.35}
.borders__orbit{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.5}
.borders__in{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.borders h2{font-size:clamp(2.2rem,1.3rem + 2.6vw,3.8rem);line-height:1;margin-bottom:var(--s5)}
.borders h2 em{display:block;background:var(--dawn);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.borders__intro p:not(.eyebrow){font-size:1.08rem;line-height:1.68;color:var(--on-night-2);max-width:60ch}
.borders__intro p+p{margin-top:var(--s4)}
.borders__pair{display:grid;gap:.9rem;position:relative}
.pair{display:block;padding:1.5rem 1.5rem 1.6rem;text-decoration:none;border-radius:18px;background:linear-gradient(140deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .3s,transform .4s}
.pair:hover{border-color:rgba(95,227,208,.6);transform:translateX(4px)}
.pair__region{display:block;font-family:var(--ui);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-night-2)}
.pair__title{display:block;font-family:var(--display);font-weight:700;font-size:1.5rem;line-height:1.12;margin:.6rem 0 .7rem;letter-spacing:-.02em}
.pair__how{font-family:var(--ui);font-size:.86rem;color:var(--on-night-3)}
.pair__vs{justify-self:center;font-family:var(--serif-d);font-style:italic;font-size:1.3rem;color:var(--sun);line-height:1}

/* region explorer */
.regions{padding:var(--s9) 0 var(--s8)}
.explorer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.orbit{position:relative;aspect-ratio:1;max-width:520px;width:100%;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--night-3) 0%,var(--night) 70%);isolation:isolate}
.orbit::before{content:"";position:absolute;inset:-1px;border-radius:50%;padding:1px;background:var(--dawn);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7}
.orbit__ring{position:absolute;border-radius:50%;border:1px dashed rgba(190,205,255,.18);inset:9%}
.orbit__ring--2{inset:28%;border-style:solid;border-color:rgba(190,205,255,.1)}
@media (prefers-reduced-motion:no-preference){.orbit__ring--1{animation:spin 80s linear infinite}}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38%;aspect-ratio:1;border-radius:50%;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;color:var(--on-night);background:radial-gradient(circle at 40% 35%,rgba(255,197,107,.35),rgba(255,127,102,.12) 55%,transparent 72%);font-family:var(--ui)}
.orbit__num{font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,1.6rem + 2.4vw,3.6rem);line-height:1;background:var(--dawn);-webkit-background-clip:text;background-clip:text;color:transparent}
.orbit__lbl{font-size:.78rem;color:var(--on-night-2);max-width:9em;text-align:center;line-height:1.3}
.orbit__reset{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-night-3);margin-top:.3rem;opacity:0;transition:opacity .3s}
.orbit__core[aria-pressed="false"] .orbit__reset{opacity:1}
.node{position:absolute;transform:translate(-50%,-50%);border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.3rem;font-family:var(--ui);color:var(--on-night);padding:.3rem;border-radius:12px}
.node__dot{width:16px;height:16px;border-radius:50%;background:var(--rc);box-shadow:0 0 0 5px color-mix(in srgb,var(--rc) 22%,transparent),0 0 22px color-mix(in srgb,var(--rc) 70%,transparent);transition:transform .3s,box-shadow .3s}
.node__name{font-size:.82rem;font-weight:700;white-space:nowrap}
.node__n{font-size:.68rem;color:var(--on-night-3);white-space:nowrap}
.node:hover .node__dot,.node[aria-pressed="true"] .node__dot{transform:scale(1.35);box-shadow:0 0 0 8px color-mix(in srgb,var(--rc) 28%,transparent),0 0 34px var(--rc)}
.node[aria-pressed="true"] .node__name{color:var(--rc)}
.reglist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.regrow{border-bottom:1px solid var(--rule)}
.regrow[hidden]{display:none}
.regrow a{display:grid;grid-template-columns:9.5rem 1fr;gap:.25rem 1rem;align-items:baseline;padding:1.05rem 0;text-decoration:none}
.regrow__region{font-family:var(--ui);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);grid-row:span 2}
.regrow__title{font-family:var(--display);font-weight:700;font-size:1.3rem;line-height:1.15;letter-spacing:-.02em}
.regrow__topic{font-family:var(--ui);font-size:.82rem;color:var(--ink-3);grid-column:2}
.regrow a:hover .regrow__title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em;text-decoration-color:var(--coral)}

/* standards strip */
.standards{padding-bottom:var(--s9)}
.std{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);counter-reset:s}
.std li{counter-increment:s;background:var(--paper-2);border:1px solid var(--rule);border-radius:18px;padding:1.5rem 1.4rem 1.6rem;transition:transform .4s,border-color .3s}
.std li:hover{transform:translateY(-4px);border-color:var(--rule-2)}
.std li::before{content:counter(s,decimal-leading-zero);font-family:var(--display);font-weight:800;font-size:1.05rem;display:block;margin-bottom:.8rem;background:var(--dawn);-webkit-background-clip:text;background-clip:text;color:transparent;width:max-content}
.std h3{font-size:1.32rem;margin-bottom:.5rem;letter-spacing:-.02em}
.std p{font-size:.97rem;line-height:1.55;color:var(--ink-2)}

/* reveal */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none}*{animation:none!important;transition:none!important}}

/* article */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:40;pointer-events:none}
.progress span{display:block;height:100%;width:100%;background:var(--dawn);transform-origin:0 50%;transform:scaleX(0)}
.fnight{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(120% 90% at 50% 0%,var(--night-3) 0%,var(--night) 65%);color:var(--on-night);padding-bottom:clamp(9rem,18vw,15rem)}
.fnight .aurora span{opacity:.45}
.slimhead{position:relative;z-index:3;border-bottom:1px solid var(--night-line)}
.slimhead__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);min-height:66px;flex-wrap:wrap}
.slimhead__title{font-size:1.6rem;text-decoration:none;color:#fff;line-height:1}
.slimhead .sections a{padding:.5rem 0}
.slimhead .sections a::after{bottom:.15rem}
.fhead{position:relative;z-index:2;text-align:center;padding-top:var(--s8)}
.fhead__title{font-size:clamp(2.6rem,1.2rem + 5vw,5.4rem);line-height:.98;margin-top:var(--s5);font-weight:800;letter-spacing:-.035em}
.fhead__dek{font-family:var(--serif-d);font-style:italic;font-size:clamp(1.2rem,1rem + .7vw,1.55rem);line-height:1.45;color:var(--on-night-2);margin:var(--s5) auto 0;max-width:34em}
.fhero{position:relative;z-index:2;margin-top:calc(-1 * clamp(8rem,16vw,13.5rem));margin-bottom:var(--s8)}
.fhero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px;box-shadow:0 30px 80px -30px rgba(11,16,38,.55)}
.fhero figcaption{font-family:var(--ui);font-size:.8rem;color:var(--ink-3);margin-top:.8rem;padding:0 .3rem}
.ai-label{font-style:italic;color:var(--ink-2)}
.fbody{display:grid;grid-template-columns:16rem minmax(0,var(--narrow));gap:clamp(2rem,5vw,4.5rem);justify-content:center;padding-bottom:var(--s8)}
.rail__in{position:sticky;top:28px;background:var(--night);color:var(--on-night);border-radius:18px;padding:1.3rem 1.25rem 1.4rem;overflow:hidden}
.rail__in::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--dawn)}
.rail__h{font-family:var(--ui);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--on-night-2);margin-bottom:.3rem}
.glance{margin:0}
.glance div{border-bottom:1px solid var(--night-line);padding:.8rem 0}
.glance div:last-child{border-bottom:0}
.glance dt{font-family:var(--ui);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--sun)}
.glance dd{margin:.25rem 0 0;font-family:var(--ui);font-size:.92rem;line-height:1.45;color:var(--on-night)}
.daily{display:block;margin-top:.9rem;font-family:var(--ui);font-size:.84rem;font-weight:700;color:var(--aqua);text-decoration:none}
.daily:hover{text-decoration:underline}
.prose{font-size:1.16rem;line-height:1.74;color:var(--ink)}
.prose>*+*{margin-top:1.15em}
.prose h2{font-size:clamp(1.7rem,1.3rem + 1vw,2.25rem);line-height:1.05;margin-top:2.1em;letter-spacing:-.025em}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--ui);font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:2em;color:var(--accent)}
.prose h3+p{margin-top:.6em}
.prose a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:.16em;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.prose a:hover{text-decoration-color:currentColor}
.prose>p:first-of-type::first-letter{font-family:var(--serif-d);font-style:italic;font-weight:500;float:left;font-size:4.6em;line-height:.78;padding:.06em .12em 0 0;color:var(--coral)}
.prose ul,.prose ol{padding-left:1.2em}
.prose li+li{margin-top:.6em}
.pull{margin:2.4em 0;padding:1.8em 1.8em 1.6em;border-radius:20px;background:var(--night);color:var(--on-night);position:relative;overflow:hidden}
.pull::before{content:"\201C";position:absolute;right:1rem;top:-1.6rem;font-family:var(--serif-d);font-size:11rem;line-height:1;background:var(--dawn);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.pull p{position:relative;font-family:var(--serif-d);font-style:italic;font-size:clamp(1.45rem,1.15rem + 1vw,1.95rem);line-height:1.28;max-width:92%}
.pull p::before{content:"\201C"}.pull p::after{content:"\201D"}
.pull cite{display:block;font-style:normal;font-family:var(--ui);font-size:.82rem;color:var(--on-night-3);margin-top:1rem}
.unresolved{position:relative;background:var(--paper-2);border-radius:20px;padding:1.7em 1.7em 1.8em;margin-top:2.4em;border:1px solid transparent;background-clip:padding-box}
.unresolved::before{content:"";position:absolute;inset:0;border-radius:20px;padding:1.5px;background:var(--dawn);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.unresolved h2{margin-top:0;font-size:1.7rem}
.unresolved ul{list-style:none;padding:0;margin:1em 0 0}
.unresolved li{font-size:1.04rem;line-height:1.6;padding-left:1.4em;position:relative}
.unresolved li::before{content:"";position:absolute;left:0;top:.6em;width:.55em;height:.55em;border-radius:50%;border:1.5px solid var(--coral)}
.unresolved li+li{margin-top:.95em}
.sources{margin-top:3em;border-top:1px solid var(--rule);padding-top:1.3em}
.sources h2{font-family:var(--ui);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:0}
.sources ol{font-family:var(--ui);font-size:.92rem;line-height:1.5;margin-top:.9em;padding-left:1.4em}
.src__pub{color:var(--ink-3)}
.sources__note{font-family:var(--ui);font-size:.84rem;color:var(--ink-3);margin-top:1.2em}
.more{padding-bottom:var(--s9)}
.standalone{padding-top:var(--s7);padding-bottom:var(--s9)}
.article .fnight.std-only{padding-bottom:var(--s8)}
.standalone>p:first-of-type::first-letter{all:unset}
.standalone h2:first-child{margin-top:0}

/* footer */
.foot{position:relative;overflow:hidden;background:var(--night);color:var(--on-night);padding-top:var(--s8);font-family:var(--ui)}
.foot__glow{position:absolute;left:50%;top:-220px;width:900px;height:360px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,138,107,.35),rgba(169,155,255,.12) 60%,transparent);pointer-events:none}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--dawn);opacity:.7}
.foot__in{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:var(--s6);align-items:center}
.foot__brand{display:flex;gap:.9rem;align-items:center}
.foot__name{font-size:1.6rem;line-height:1}
.foot__sub{font-size:.8rem;color:var(--on-night-3);margin-top:.3rem}
.foot__line{text-align:center;font-size:1.05rem;color:var(--on-night-2)}
.foot__line em{color:#fff;font-size:1.15em}
.foot__cols{display:flex;gap:clamp(2rem,5vw,4rem)}
.foot__cols div{display:flex;flex-direction:column;gap:.45rem}
.foot__h{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--on-night-3);margin-bottom:.2rem}
.foot__cols a{font-size:.9rem;color:var(--on-night-2);text-decoration:none}
.foot__cols a:hover{color:#fff;text-decoration:underline}
.foot__base{position:relative;display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;font-size:.76rem;color:var(--on-night-3);border-top:1px solid var(--night-line);margin-top:var(--s7);padding-top:var(--s4);padding-bottom:var(--s5)}

/* responsive */
@media (max-width:1060px){
  .siglist{grid-template-columns:repeat(2,1fr)}
  .grid{grid-template-columns:repeat(2,1fr)}
  .grid--issue{grid-template-columns:repeat(2,1fr)}
  .grid--issue .card,.grid--issue .card--lg{grid-column:span 1}
  .std{grid-template-columns:repeat(2,1fr)}
  .fbody{grid-template-columns:minmax(0,var(--narrow))}
  .rail__in{position:static}
  .rail{order:2}
  .borders__in,.explorer{grid-template-columns:1fr}
  .foot__in{grid-template-columns:1fr}
  .foot__line{text-align:left}
}
@media (max-width:820px){
  .cover__story{grid-template-columns:1fr}
  .edition__note{display:none}
}
@media (max-width:620px){
  body{font-size:1rem}
  .grid,.grid--issue{grid-template-columns:1fr;gap:var(--s7)}
  .siglist{grid-template-columns:1fr 1fr;border-radius:16px}
  .sig a{padding:1.2rem 1rem}
  .sig__val{font-size:2.1rem}
  .sig__label{font-size:.84rem}
  .std{grid-template-columns:1fr}
  .cover__meta{justify-content:center;text-align:center}
  .cover__meta span:last-child{display:none}
  .cover__nav .sections{border-radius:18px;padding:.2rem .9rem}
  .sections ul{gap:.1rem 1rem}
  .sections a{font-size:.82rem;padding:.55rem 0}
  .cover__cap{text-align:left}
  .slimhead__in{padding-top:.7rem;padding-bottom:.2rem;gap:0;justify-content:center}
  .slimhead .sections{width:100%}
  .prose{font-size:1.08rem}
  .fhead{text-align:left;padding-top:var(--s7)}
  .fhero{padding:0 .75rem}
  .fhero img{border-radius:16px}
  .unresolved{padding:1.3em 1.2em}
  .pull{padding:1.4em 1.3em}
  .edition__label{display:none}
  .edition__in{gap:0;justify-content:center}
  .edition a{padding:.25rem .55rem}
  .node__n{display:none}
  .node__name{font-size:.72rem}
  .regrow a{grid-template-columns:1fr}
  .regrow__region{grid-row:auto}
  .regrow__topic{grid-column:1}
}

/* Support GGND: shares GGND Daily's secure donation page */
.sections a.sections__give{padding:.42rem .95rem;margin:.38rem 0;border-radius:999px;background:var(--dawn);color:var(--night);font-weight:700}
.sections a.sections__give::after{display:none}
.sections a.sections__give:hover{color:var(--night);filter:brightness(1.06)}
.slimhead .sections a.sections__give{padding:.3rem .85rem;margin:.2rem 0}
.give{padding:var(--s8) 0}
.give__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);flex-wrap:wrap;background:var(--night);color:var(--on-night);border-radius:24px;padding:clamp(1.6rem,4vw,2.8rem) clamp(1.4rem,4vw,3rem);position:relative;overflow:hidden;isolation:isolate}
.give__in::before{content:"";position:absolute;inset:auto -10% -60% 30%;height:140%;background:radial-gradient(closest-side,rgba(255,179,92,.35),rgba(242,109,143,.15) 55%,transparent);z-index:-1}
.give__text{max-width:56ch}
.give__h{font-family:var(--serif-d);font-weight:500;font-size:clamp(1.8rem,1.3rem + 1.8vw,2.6rem);line-height:1.05;margin:0 0 .6rem;color:#fff}
.give__p{margin:0;color:var(--on-night-2);font-size:1rem;line-height:1.55}
.give__btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.5rem;border-radius:999px;background:var(--dawn);color:var(--night);font-family:var(--ui);font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 14px 34px -14px rgba(255,150,90,.7);transition:transform .2s,filter .2s}
.give__btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.give__btn:focus-visible,.sections a.sections__give:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* EN | DE language switch (edition bar) */
.lang-switch{margin-left:auto;display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--night-line);border-radius:999px}
.lang-switch a{display:inline-block;min-width:2.1rem;padding:.16rem .55rem;border-radius:999px;color:var(--on-night-2);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-align:center;text-decoration:none;line-height:1.5}
.lang-switch a:hover{color:#fff;background:rgba(255,255,255,.07)}
.lang-switch a[aria-current="true"]{background:var(--dawn);color:var(--night)}
.lang-switch a:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:720px){.lang-switch{margin-left:.5rem}.lang-switch a{min-width:1.9rem;padding:.12rem .45rem}}

/* ---------- seasonal themes (set by mag.js: Halloween 24 Oct to 1 Nov, Christmas 1 Dec to 6 Jan; preview ?season=halloween|christmas|none) ---------- */
.season-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
html[data-season="halloween"]{--dawn:linear-gradient(100deg,#ffb35c 0%,#ff7a2e 38%,#d9466b 68%,#9b6bff 100%);--sun:#ff9a3c;--accent:#c2501a;--accent-ink:#a3420f}
html[data-season="halloween"] .aurora .a1{background:radial-gradient(closest-side,rgba(255,138,46,.8),rgba(255,138,46,.22) 55%,transparent)}
html[data-season="halloween"] .aurora .a2{background:radial-gradient(closest-side,rgba(140,80,220,.85),rgba(140,80,220,.2) 55%,transparent)}
html[data-season="halloween"] .aurora .a3{background:radial-gradient(closest-side,rgba(210,60,70,.6),transparent)}
html[data-season="halloween"] .aurora::before{background:repeating-linear-gradient(90deg,rgba(255,138,46,0) 0,rgba(255,138,46,.2) 3%,rgba(140,80,220,.14) 6%,rgba(255,138,46,0) 10%)}
html[data-season="halloween"] .cover__bg img{filter:hue-rotate(-18deg) saturate(1.2) brightness(.8)}
html[data-season="christmas"]{--dawn:linear-gradient(100deg,#ffe0a0 0%,#f4c66b 30%,#ef6f74 64%,#6fd3a0 100%);--sun:#f4c66b;--accent:#a8242c;--accent-ink:#8a1c23}
html[data-season="christmas"] .aurora .a1{background:radial-gradient(closest-side,rgba(90,220,150,.85),rgba(90,220,150,.25) 55%,transparent)}
html[data-season="christmas"] .aurora .a2{background:radial-gradient(closest-side,rgba(244,198,107,.8),rgba(244,198,107,.2) 55%,transparent)}
html[data-season="christmas"] .aurora .a3{background:radial-gradient(closest-side,rgba(230,70,80,.6),transparent)}
html[data-season="christmas"] .aurora::before{background:repeating-linear-gradient(90deg,rgba(90,220,150,0) 0,rgba(90,220,150,.22) 3%,rgba(244,198,107,.14) 6%,rgba(90,220,150,0) 10%)}
.season-note{display:inline-flex;align-items:center;gap:.4rem;margin-left:.8rem;font-size:.74rem;letter-spacing:.04em;color:var(--sun)}
.season-note::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
@media (max-width:720px){.season-note{display:none}}

/* editor card (standards page) */
.editorcard{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:start;margin:0 0 40px;padding:22px;border-radius:20px;background:rgba(255,216,107,.12);border:1px solid rgba(193,85,44,.18)}
.editorcard__img{width:150px;height:188px;object-fit:cover;border-radius:14px;display:block}
.editorcard__kick{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#C1552C;margin:0 0 6px}
.prose .editorcard__name{margin:0;font-size:1.6rem;line-height:1.15}
.editorcard__role{font-style:italic;opacity:.75;margin:2px 0 10px}
.editorcard p{margin-bottom:10px}
@media (max-width:560px){.editorcard{grid-template-columns:1fr}.editorcard__img{width:140px;height:175px}}
