/* M&M Siblings — a scroll-scrubbed European mission statement. */

:root{
  --eu-blue:#073ba4;
  --eu-blue-deep:#031f68;
  --paper:#f4efe3;
  --ink:#080808;
  --yellow:#ffd21a;
  --window:#c7c7c7;
  --display:'Instrument Serif','Times New Roman',Times,serif;
  --mono:'Courier New',Courier,monospace;
  --display-stroke:.05em;
  --display-glow:0 0 2.4px currentColor;
  --hero-size:clamp(4.75rem,15.106vw,12.5rem);
  --headline-size:clamp(4.75rem,13.2vw,12.5rem);
  --long-size:clamp(4rem,9.2vw,8.5rem);
  --support-size:clamp(2.1rem,4vw,3.75rem);
}

*,*::before,*::after{ box-sizing:border-box }

html,
body{
  margin:0;
  background:#000;
  overscroll-behavior:none;
}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  overflow-x:hidden;
  color:var(--ink);
}

button,
a{ -webkit-tap-highlight-color:transparent }

::selection{
  color:#fff;
  background:var(--eu-blue);
}

.skip-link{
  position:fixed;
  left:1rem;
  top:1rem;
  z-index:1000;
  padding:.75rem 1rem;
  color:#fff;
  background:#000;
  font:700 .75rem/1 var(--mono);
  text-transform:uppercase;
  transform:translateY(-200%);
}

.skip-link:focus{ transform:none }

:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:4px;
}

/* Original opening sequence. */
.scroller{ height:1800vh }

.stage{
  position:sticky;
  top:0;
  height:100vh;
  height:100svh;
  overflow:hidden;
  background:#000;
}

.hi,
.line{
  position:absolute;
  left:50%;
  top:50%;
  margin:0;
  transform:translate(-50%,-50%);
  color:#fff;
  font-family:var(--display);
  font-size:clamp(2.6rem,15.106vw,200px);
  font-style:normal;
  font-weight:400;
  line-height:1.3;
  white-space:nowrap;
  -webkit-text-stroke:.05em #fff;
  paint-order:stroke fill;
  will-change:transform,opacity;
}

.line{ opacity:0 }

.main{
  --glow-opacity:0;
  position:relative;
  display:inline-block;
}

.main::after{
  content:attr(data-text);
  position:absolute;
  inset:0;
  color:#fff;
  white-space:nowrap;
  opacity:var(--glow-opacity);
  pointer-events:none;
  will-change:opacity;
  text-shadow:
    0 0 16.9214px #fff,
    0 0 8.4607px #fff,
    0 0 2.41734px #fff,
    0 0 1.20867px #fff,
    0 0 16.9214px #fff,
    0 0 8.4607px #fff,
    0 0 2.41734px #fff,
    0 0 1.20867px #fff,
    0 0 16.9214px #fff,
    0 0 8.4607px #fff,
    0 0 2.41734px #fff,
    0 0 1.20867px #fff;
}

.edge{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
}

.edge--r{ background:linear-gradient(90.33deg,rgba(0,0,0,0) 76.33%,rgba(0,0,0,.9) 99.72%) }
.edge--l{ background:linear-gradient(269.67deg,rgba(0,0,0,0) 76.33%,rgba(0,0,0,.9) 99.72%) }

.seed{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  margin:-4px 0 0 -4px;
  background:#fff;
  opacity:0;
}

.noise{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  image-rendering:pixelated;
  pointer-events:none;
}

.flash{
  position:absolute;
  inset:0;
  background:#fff;
  opacity:0;
  pointer-events:none;
}

/* The reference face is Instrument Serif. The material stays static and the
   three copies below create the stepped blue extrusion without filters. */
.europe-motion{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  pointer-events:none;
  transform-origin:50% 46%;
  will-change:transform,opacity;
}

.europe{
  position:absolute;
  left:calc(50% + 2px);
  top:calc(46% + .05em + 1px);
  z-index:2;
  display:grid;
  visibility:hidden;
  transform:translate(-50%,-50%) scale(.983,.992);
  color:transparent;
  font-family:var(--display);
  font-size:clamp(10.65rem,27.65vw,25rem);
  font-weight:400;
  font-style:normal;
  line-height:.78;
  letter-spacing:-.006em;
  white-space:nowrap;
  pointer-events:auto;
  user-select:text;
  -webkit-user-select:text;
}

.europe__text,
.europe__depth{
  grid-area:1/1;
  display:block;
  padding:0 .04em .16em 0;
}

.europe__depth{
  position:relative;
  -webkit-text-stroke:.041em currentColor;
  paint-order:stroke fill;
  user-select:none;
}

.europe__depth--far{
  z-index:0;
  color:#8598c8;
  transform:translateY(9px);
}

.europe__depth--mid{
  z-index:1;
  color:#4965ae;
  transform:translateY(4px);
}

.europe__depth--near{
  z-index:2;
  color:#123293;
  transform:none;
}

.europe__text{
  position:relative;
  z-index:3;
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.039em transparent;
  paint-order:stroke fill;
  user-select:text;
  -webkit-user-select:text;
}

/* Each selectable letter carries its own static prism plate. Keeping the
   material local lets the ribbons follow the reference without disturbing
   the already exact word geometry and stepped blue depth. */
.europe__text > span,
.vision-prism__text > span{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-background-clip:text;
  background-clip:text;
}

.europe__text > span:nth-child(1),
.vision-prism__text > span:nth-child(1){
  background-image:
    radial-gradient(ellipse 45% 12% at 95% 24%,#e51b76 0 12%,#ff4d17 42%,transparent 82%),
    radial-gradient(ellipse 62% 12% at 24% 24%,#123293 0 12%,#4ba94a 36%,#ffd52a 58%,transparent 82%),
    radial-gradient(ellipse 105% 9% at 57% 49%,#ffd52a 0 12%,#ff9a19 31%,#ff4d17 53%,#e51b76 74%,#123293 96%,transparent 100%),
    radial-gradient(ellipse 92% 20% at 55% 86%,#1142b2 0 7%,#4ba94a 21%,#ffd52a 40%,#ff9a19 60%,#2458c5 84%,transparent 100%),
    linear-gradient(180deg,#546f6d 0%,#7d9a61 18%,#83526d 34%,#2c4793 54%,#546f6d 66%,#8f8b64 78%,#4b67af 100%);
}

.europe__text > span:nth-child(2),
.vision-prism__text > span:nth-child(2){
  background-image:
    radial-gradient(ellipse 55% 44% at 11% 38%,#5b1eb4 0 11%,#2458c5 42%,#c33d86 68%,transparent 94%),
    radial-gradient(ellipse 55% 42% at 91% 35%,#ff4d17 0 6%,#e51b76 28%,#5b1eb4 72%,transparent 96%),
    radial-gradient(ellipse 96% 11% at 51% 56%,#1e2381 0 10%,#546f6d 36%,#83526d 68%,transparent 100%),
    radial-gradient(ellipse 94% 19% at 54% 83%,#5b1eb4 0 8%,#e51b76 27%,#ff5a18 50%,#ffd52a 64%,#123293 91%,transparent 100%),
    linear-gradient(180deg,#5f6493 0%,#83777a 31%,#976369 52%,#3d2877 68%,#83526d 82%,#2c4793 100%);
}

.europe__text > span:nth-child(3),
.vision-prism__text > span:nth-child(3){
  background-image:
    radial-gradient(ellipse 94% 12% at 55% 5%,#ffd52a 0 5%,#ff5a18 24%,#e51b76 54%,#532578 81%,transparent 100%),
    radial-gradient(ellipse 88% 16% at 56% 27%,#ffd52a 0 7%,#ff5a18 20%,#ff4d17 40%,#e51b76 66%,transparent 96%),
    linear-gradient(137deg,transparent 0 34%,#1142b2 40%,#2e67da 46%,#5e4be0 50%,#b221dd 55%,transparent 62%),
    radial-gradient(ellipse 78% 43% at 24% 69%,#4b67af 0 9%,#2c4793 31%,#b63459 58%,#532578 87%,transparent 100%),
    linear-gradient(180deg,#c84f5a 0%,#b63459 26%,#883899 46%,#3e299e 62%,#b63459 78%,#4b67af 100%);
}

.europe__text > span:nth-child(4),
.vision-prism__text > span:nth-child(4){
  background-image:
    radial-gradient(ellipse 118% 24% at 52% 10%,#ffd52a 0 22%,#ff9a19 40%,#ff4d17 59%,#e51b76 76%,#1142b2 96%,transparent 100%),
    radial-gradient(ellipse 80% 22% at 39% 25%,#ffd52a 0 7%,#ff5a18 24%,#e51b76 51%,transparent 94%),
    radial-gradient(ellipse 62% 58% at 5% 49%,#2c4793 0 16%,#532578 48%,#b63459 76%,transparent 100%),
    radial-gradient(ellipse 68% 22% at 18% 82%,#ff9a19 0 18%,#ff4d17 38%,#e51b76 62%,#5b1eb4 85%,transparent 100%),
    radial-gradient(ellipse 60% 62% at 98% 50%,#532578 0 10%,#2c4793 37%,#b63459 68%,transparent 98%),
    linear-gradient(180deg,#4b67af 0%,#ff9a19 20%,#ffd52a 26%,#ff4d17 33%,#e51b76 39%,#1e2381 46%,#532578 52%,#b63459 63%,#2c4793 79%,#554c8b 100%);
}

.europe__text > span:nth-child(5),
.vision-prism__text > span:nth-child(5){
  background-image:
    radial-gradient(ellipse 70% 16% at 73% 28%,#ffd52a 0 12%,#ff9a19 28%,#ff4d17 45%,#e51b76 63%,#4ba94a 80%,#1142b2 92%,transparent 100%),
    radial-gradient(ellipse 75% 22% at 72% 26%,#ffd52a 0 7%,#ff5a18 19%,#e51b76 43%,#532578 68%,#1e2381 91%,transparent 100%),
    radial-gradient(ellipse 62% 58% at 3% 44%,#83526d 0 13%,#822e68 42%,#83526d 70%,transparent 98%),
    radial-gradient(ellipse 88% 16% at 46% 55%,#e51b76 0 7%,#ff4d17 24%,#5b1eb4 63%,#1142b2 86%,transparent 100%),
    radial-gradient(ellipse 82% 22% at 48% 86%,#e51b76 0 7%,#ff5a18 28%,#ffd52a 49%,#532578 77%,#1e2381 100%),
    linear-gradient(180deg,#4b67af 0%,#4ba94a 15%,#ffd52a 20%,#ff9a19 24%,#e51b76 29%,#1e2381 36%,#b63459 43%,#793760 61%,#2f1664 76%,#532578 90%,#4b67af 100%);
}

.europe__text > span:nth-child(6),
.vision-prism__text > span:nth-child(6){
  background-image:
    radial-gradient(ellipse 105% 14% at 54% 5%,#123293 0 7%,#4ba94a 28%,#ffd52a 50%,#ff5a18 71%,#532578 90%,transparent 100%),
    radial-gradient(ellipse 78% 22% at 65% 26%,#4ba94a 0 8%,#ffd52a 19%,#ff5a18 45%,#4f5973 77%,transparent 100%),
    radial-gradient(ellipse 105% 15% at 54% 50%,#e51b76 0 7%,#ff4d17 24%,#ff9a19 43%,#ffd52a 58%,#4ba94a 72%,#1142b2 94%,transparent 100%),
    radial-gradient(ellipse 91% 25% at 45% 80%,#5b1eb4 0 7%,#e51b76 24%,#ff9a19 43%,#ffd52a 60%,#4ba94a 77%,#1142b2 100%),
    linear-gradient(180deg,#4b67af 0%,#4ba94a 14%,#ffd52a 20%,#ff9a19 24%,#e51b76 29%,#123293 35%,#4b67af 42%,#1e2381 57%,#b63459 72%,#8d856c 88%,#4b67af 100%);
}

.vision-prism__text > span:nth-child(7){
  background-image:linear-gradient(180deg,#ffd52a 0%,#ff5a18 22%,#e51b76 46%,#532578 70%,#123293 100%);
}

.vision-claim{
  position:absolute;
  left:50%;
  top:67%;
  z-index:3;
  width:min(96vw,1320px);
  transform:translate(-50%,-50%);
  color:var(--ink);
  text-align:center;
  visibility:hidden;
}

.vision-claim h2{
  position:relative;
  display:block;
  min-height:1em;
  margin:0;
  font:400 clamp(3.7rem,7.3vw,6.8rem)/.92 var(--display);
  letter-spacing:-.035em;
}

/* One idea per frame; the page itself carries no persistent fake UI. */
.manifesto{
  position:relative;
  isolation:isolate;
  background:#fff;
}

.scroll-story{ position:relative; height:480vh }
.story--catchup{ height:440vh }
.story--identity{ height:340vh }
.story--builders{ height:440vh }

.story-stage{
  position:sticky;
  top:0;
  height:100vh;
  height:100svh;
  overflow:hidden;
  contain:layout paint style;
}

.story--pessimism .story-stage{
  color:#fff;
  background:var(--eu-blue);
}

.story--catchup .story-stage{
  color:#fff;
  background:#050505;
}

.story--identity .story-stage{
  color:var(--ink);
  background:#fff;
}

.story--builders .story-stage{
  color:var(--ink);
  background:var(--paper);
}

.story-beat{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:min(88vw,1240px);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%);
  will-change:transform,opacity;
}

.story-beat h2{
  margin:0;
  font:400 clamp(4rem,8.8vw,9rem)/.84 var(--display);
  letter-spacing:-.045em;
}

.story-beat--wide{ text-align:left }
.story-beat--center,
.story-beat--verdict{ text-align:center }

.story-small,
.story-beat--verdict > p{
  margin:0 0 1.2rem;
  font:700 clamp(.76rem,1.2vw,.95rem)/1.4 var(--mono);
  letter-spacing:.025em;
}

.story-beat--verdict h2 em{
  color:var(--yellow);
  font-style:normal;
}

.story-beat--object{ z-index:4 }

.window-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:27px;
  padding:3px 4px 3px 7px;
  color:#fff;
  background:linear-gradient(90deg,#000b75,#0876ce);
  font:700 .68rem/1 var(--mono);
}

.window-bar span:last-child{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  color:#050505;
  background:var(--window);
  border:2px outset #fff;
  font-size:1rem;
}

.system-window{
  width:min(86vw,660px);
  color:#050505;
  background:var(--window);
  border:3px outset #fff;
  box-shadow:14px 17px 0 var(--eu-blue-deep);
  font-family:var(--mono);
}

.system-window__body{ padding:clamp(1.4rem,3vw,2.2rem) }

.system-window__message{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1.25rem;
  align-items:center;
}

.system-window h3{
  margin:0 0 .65rem;
  font-size:clamp(1rem,2vw,1.35rem);
  line-height:1.15;
}

.system-window p{
  margin:0;
  font-size:clamp(.74rem,1.3vw,.92rem);
}

.system-window__actions{
  display:flex;
  justify-content:flex-end;
  gap:.7rem;
  margin-top:1.5rem;
}

.system-window__actions span{
  min-width:110px;
  padding:.62rem .75rem;
  border:3px outset #fff;
  text-align:center;
  font:700 .68rem/1 var(--mono);
}

.win95-desktop{
  width:100vw;
  height:100vh;
  height:100svh;
  overflow:hidden;
  color:#fff;
  background:var(--eu-blue);
  font-family:var(--mono);
}

.win95-desktop .system-window{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  transform:translate(-50%,-50%);
}

.desktop-map-image{
  position:absolute;
  left:50%;
  top:46%;
  z-index:0;
  width:min(78vw,1060px);
  height:auto;
  opacity:.52;
  transform:translate(-50%,-50%);
  mix-blend-mode:screen;
  image-rendering:pixelated;
  pointer-events:none;
}

.desktop-icons{
  position:absolute;
  z-index:2;
  top:4%;
  display:grid;
  gap:clamp(.75rem,1.8vh,1.25rem);
  width:100px;
  color:#fff;
  font-family:var(--mono);
  text-align:center;
}

.desktop-icons--left{ left:1.6% }
.desktop-icons--right{ right:1.6% }

.desktop-icons span{
  display:grid;
  justify-items:center;
  gap:.2rem;
}

.desktop-icons i{
  display:grid;
  place-items:center;
  width:36px;
  height:32px;
  color:#fff18c;
  font-style:normal;
  font-size:1.8rem;
  line-height:1;
  text-shadow:2px 2px 0 #001975;
}

.desktop-icons b{
  font-size:clamp(.46rem,.68vw,.64rem);
  font-weight:700;
  line-height:1.05;
  text-shadow:1px 1px 0 #00105d;
}

.desktop-taskbar{
  position:absolute;
  inset:auto 0 0;
  z-index:3;
  display:grid;
  grid-template-columns:auto minmax(130px,290px) 1fr auto;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:3px 5px;
  color:#050505;
  background:var(--window);
  border:3px outset #fff;
  font:700 .67rem/1 var(--mono);
}

.desktop-start,
.desktop-task{
  min-height:24px;
  padding:6px 9px 4px;
  border:2px outset #fff;
}

.desktop-start{ font-size:.75rem }
.desktop-task{ min-width:clamp(180px,22vw,300px) }
.desktop-clock{ grid-column:4; padding:0 .6rem }

.transfer-window{
  width:min(86vw,560px);
  color:#050505;
  background:var(--window);
  border:3px outset #fff;
  box-shadow:14px 17px 0 var(--eu-blue);
  font-family:var(--mono);
}

.transfer-window__body{
  padding:clamp(1.3rem,3vw,2rem);
  font-size:clamp(.72rem,1.2vw,.9rem);
}

.transfer-window__body p{ margin:0 0 .8rem }
.transfer-window__body p:last-child{ margin:.8rem 0 0 }

.legacy-progress{
  position:relative;
  height:30px;
  padding:2px;
  background:#fff;
  border:2px inset #fff;
}

.legacy-progress i{
  display:block;
  width:99%;
  height:100%;
  background:repeating-linear-gradient(90deg,#073ba4 0 11px,transparent 11px 14px);
}

.legacy-progress span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-weight:700;
}

.catchup-blue{
  inset:0;
  width:auto;
  height:auto;
  background:var(--eu-blue);
}

.story-beat--intrinsic{
  z-index:5;
  color:#fff;
  text-align:center;
}

.story-beat--intrinsic > p{
  margin:0 0 1.2rem;
  font:400 clamp(2.2rem,4.3vw,4.6rem)/.94 var(--display);
  letter-spacing:-.025em;
}

.story-beat--intrinsic h2{
  font-size:clamp(5rem,12vw,12.5rem);
  line-height:.77;
  text-shadow:0 0 18px rgba(255,255,255,.26);
}

.identity-intro{
  width:min(84vw,980px);
  color:var(--eu-blue);
  text-align:center;
  font:400 clamp(4rem,8.6vw,8.8rem)/.84 var(--display);
  letter-spacing:-.04em;
}

.identity-intro p{ margin:0 }

.identity-claim{ text-align:center }

.identity-claim h2{
  color:var(--eu-blue);
  font-size:clamp(5.2rem,13vw,13.5rem);
  line-height:.78;
}

.identity-claim p{
  margin:1.1rem 0 0;
  font:400 clamp(2.5rem,5.4vw,5.5rem)/.9 var(--display);
  letter-spacing:-.03em;
}

.identity-shortcut{
  position:absolute;
  right:2%;
  bottom:-4.5rem;
  display:grid;
  justify-items:center;
  gap:.3rem;
  color:var(--eu-blue);
  font-family:var(--mono);
}

.identity-shortcut i{
  color:var(--yellow);
  font-style:normal;
  font-size:4.5rem;
  line-height:.7;
  -webkit-text-stroke:2px var(--eu-blue);
  text-shadow:4px 4px 0 #8598c8;
}

.identity-shortcut b{
  font-size:.8rem;
  letter-spacing:.06em;
}

.builder-beat h2{ max-width:1200px }

.project-window{
  position:absolute;
  right:-12%;
  bottom:5%;
  z-index:5;
  width:clamp(330px,31vw,440px);
  color:#050505;
  background:var(--window);
  border:3px outset #fff;
  box-shadow:10px 12px 0 var(--eu-blue);
  font-family:var(--mono);
}

.project-window__body{
  padding:1rem;
  font-size:.68rem;
  line-height:1.35;
}

.project-window__body p{ margin:0 0 .65rem }

.project-window__body > div{
  display:flex;
  justify-content:flex-end;
  gap:.6rem;
  margin-top:1rem;
}

.project-window__body > div span,
.risk-window__controls span{
  min-width:92px;
  padding:.52rem .65rem;
  border:3px outset #fff;
  text-align:center;
  font:700 .64rem/1 var(--mono);
}

.risk-copy{
  position:relative;
  z-index:2;
}

.risk-copy h2{
  margin:0;
  font:400 clamp(4rem,7.8vw,7.8rem)/.82 var(--display);
  letter-spacing:-.045em;
}

.risk-copy p{
  margin:1.5rem 0 0;
  color:var(--yellow);
  font:700 clamp(.76rem,1.25vw,.98rem)/1.4 var(--mono);
}

.risk-window{
  position:relative;
  z-index:2;
  color:#050505;
  background:var(--window);
  border:3px outset #fff;
  box-shadow:16px 19px 0 var(--eu-blue);
  font-family:var(--mono);
}

.risk-window__body{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1.4rem;
  align-items:center;
  padding:clamp(1.5rem,3vw,2.6rem);
}

.warning-triangle{
  display:grid;
  place-items:end center;
  width:70px;
  height:62px;
  padding-bottom:6px;
  background:var(--yellow);
  border:3px solid #050505;
  clip-path:polygon(50% 0,100% 100%,0 100%);
  font:900 2rem/.8 Arial,sans-serif;
}

.risk-window h3{
  margin:0 0 .65rem;
  font-size:clamp(.95rem,1.7vw,1.3rem);
  line-height:1.15;
}

.risk-window p{
  margin:0;
  font-size:clamp(.72rem,1.15vw,.88rem);
}

.risk-window__controls{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:.7rem;
  margin-top:.7rem;
}

.risk-window__controls span:first-child{
  outline:1px dotted #050505;
  outline-offset:-7px;
}

.mission-mark{
  display:block;
  width:min(250px,70%);
  height:auto;
  margin:2.25rem 0 0;
}

.crt{
  position:relative;
  width:min(92vw,1030px);
  padding:clamp(1.5rem,4vw,4rem) clamp(1.5rem,4.5vw,4.5rem) clamp(4rem,7vw,7rem);
  background:linear-gradient(145deg,#aaa598,#53514b 52%,#817d73);
  border:3px solid #c0baad;
  border-radius:7% 7% 10% 10%/6% 6% 13% 13%;
  box-shadow:0 24px 36px rgba(0,0,0,.58),inset 0 0 0 3px #302f2b;
}

.crt__screen{
  position:relative;
  display:grid;
  place-items:center;
  aspect-ratio:4/3;
  overflow:hidden;
  color:#111;
  background:
    radial-gradient(ellipse at center,rgba(255,255,255,.08),transparent 70%),
    var(--eu-blue);
  border:clamp(12px,2.3vw,28px) solid #282824;
  border-radius:9%/7%;
  box-shadow:inset 0 0 70px #000;
}

.crt__screen::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:4;
  background-image:linear-gradient(to bottom,
    rgba(255,255,255,.025) 0 2px,
    rgba(0,0,0,.14) 2px 4px);
  background-size:100% 4px;
  background-repeat:repeat;
  pointer-events:none;
}

.desktop-map-image--crt{
  top:46%;
  z-index:1;
  width:88%;
  opacity:.42;
}

.desktop-icons--crt{
  left:2%;
  top:4%;
  z-index:2;
  width:70px;
  gap:1rem;
  transform:scale(.82);
  transform-origin:top left;
}

.desktop-taskbar--crt{
  z-index:5;
  min-height:29px;
  padding:2px 4px;
  font-size:.54rem;
}

.desktop-taskbar--crt .desktop-start,
.desktop-taskbar--crt .desktop-task{
  min-height:20px;
  padding:5px 7px 3px;
}

.installer-window{
  position:relative;
  z-index:3;
  width:min(80%,740px);
  color:#050505;
  background:var(--window);
  border:3px outset #fff;
  box-shadow:12px 15px 0 rgba(0,0,0,.28);
  font-family:var(--mono);
}

.installer-window__body{
  padding:clamp(1.2rem,3vw,2.4rem);
  font-size:clamp(.68rem,1.25vw,.95rem);
  line-height:1.4;
}

.installer-window__body p{ margin:0 0 .75rem }
.installer-window__body p:last-child{ margin:0 }

.installer-progress{
  position:relative;
  height:32px;
  margin:0 0 1rem;
  background:#fff;
  border:2px inset #fff;
}

.installer-progress i{
  position:absolute;
  inset:2px auto 2px 2px;
  width:max(1%,7px);
  background:var(--eu-blue);
}

.installer-progress span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-weight:700;
}

.crt__prompt{
  position:absolute;
  left:6%;
  bottom:8%;
  z-index:4;
  margin:0;
  color:rgba(255,255,255,.72);
  font:700 clamp(.55rem,1vw,.78rem)/1 var(--mono);
}

.crt__brand{
  position:absolute;
  left:50%;
  bottom:clamp(1.2rem,2.4vw,2.4rem);
  transform:translateX(-50%);
  color:#24231f;
  font:700 .7rem/1 var(--mono);
  letter-spacing:.12em;
  text-shadow:0 1px rgba(255,255,255,.35);
}

.install-finale{
  width:min(92vw,1260px);
  padding-bottom:7vh;
  text-align:center;
}

.install-finale h2{
  margin:0;
  font:400 clamp(4.5rem,10vw,10.5rem)/.78 var(--display);
  letter-spacing:-.05em;
}

.install-finale > p{
  margin:2rem 0 0;
  font:700 clamp(.74rem,1.2vw,.94rem)/1.5 var(--mono);
  letter-spacing:.04em;
}

/* Post-Europe campaign type uses the exact construction of the opening:
   regular Instrument Serif, normal width, and a same-color .05em perimeter. */
:is(
  .vision-claim h2,
  .story-beat h2,
  .story-beat--intrinsic > p,
  .identity-intro,
  .identity-claim h2,
  .identity-claim p,
  .risk-copy h2,
  .install-finale h2
){
  font-family:var(--display);
  font-style:normal;
  font-weight:400;
  letter-spacing:normal;
  text-transform:none;
  -webkit-text-stroke:var(--display-stroke) currentColor;
  paint-order:stroke fill;
}

.story-beat{ width:min(94vw,1400px) }

/* This beat is the color wipe itself, so it must ignore the shared copy width. */
.story-beat.catchup-blue{
  inset:0;
  width:100%;
  height:100%;
}

.story-beat h2{
  font-size:var(--headline-size);
  line-height:.96;
}

.story-beat--intrinsic h2,
.identity-claim h2,
.install-finale h2{
  font-size:var(--hero-size);
  line-height:.92;
}

.vision-claim h2{
  gap:0;
  font-size:clamp(4rem,8.3vw,7.7rem);
  line-height:.92;
}

.identity-intro{
  font-size:var(--headline-size);
  line-height:.96;
}

.identity-claim p{
  font-size:clamp(3rem,6.2vw,6rem);
  line-height:1;
}

.risk-copy h2{
  font-size:clamp(4.5rem,6.4vw,6rem);
  line-height:.94;
}

:is(
  .story-small,
  .story-beat--verdict > p,
  .install-finale > p
){
  font:400 var(--support-size)/1.04 var(--display);
  letter-spacing:normal;
  text-transform:none;
  -webkit-text-stroke:.035em currentColor;
  paint-order:stroke fill;
}

.story-beat.transfer-window{ width:min(86vw,560px) }

.story--pessimism .story-beat--wide h2{
  font-size:clamp(4.5rem,11vw,10.25rem);
  line-height:.96;
}

@media (max-width:1100px){
  .risk-window{
    width:min(100%,760px);
    justify-self:start;
  }
}

@media (max-width:900px){
  .risk-copy{ max-width:720px }
  .risk-window{ width:min(100%,720px); justify-self:end }
}

@media (max-width:620px){
  .scroller{ height:1500vh }

  .europe{
    left:50%;
    top:42%;
    font-size:clamp(6.4rem,35vw,8.8rem);
  }

  .europe__depth--far{ transform:translateY(5px) }
  .europe__depth--mid{ transform:translateY(2px) }
  .europe__depth--near{ transform:none }

  .vision-claim{
    top:69%;
    width:92vw;
  }

  .vision-claim h2{
    min-height:3em;
    font-size:clamp(3.2rem,14.5vw,5rem);
    line-height:.95;
  }

  .scroll-story{ height:440vh }
  .story--catchup{ height:420vh }
  .story--identity{ height:330vh }
  .story--builders{ height:410vh }

  .story-beat{ width:calc(100vw - 2rem) }

  .story-beat h2{
    font-size:clamp(4rem,17vw,6.3rem);
    line-height:.95;
  }

  .system-window{ width:min(88vw,430px) }
  .system-window__actions span{ min-width:0; flex:1 }

  .win95-desktop .system-window{ width:min(76vw,390px) }
  .desktop-icons{ transform:scale(.7); transform-origin:top left }
  .desktop-icons--right{ transform-origin:top right }
  .desktop-map-image{ width:88vw; opacity:.48 }
  .desktop-taskbar{ grid-template-columns:auto minmax(80px,1fr) auto; font-size:.48rem }
  .desktop-clock{ grid-column:3 }
  .story-beat.transfer-window{ width:min(88vw,460px) }

  .story-beat--intrinsic > p{ font-size:clamp(2.2rem,9.5vw,3.1rem) }
  .story-beat--intrinsic h2{ font-size:clamp(4.8rem,21vw,7rem) }

  .identity-intro{ font-size:clamp(4rem,17vw,5.8rem) }
  .identity-claim h2{ font-size:clamp(4.8rem,21vw,7rem) }
  .identity-claim p{ font-size:clamp(2.8rem,12vw,4rem) }
  .identity-shortcut{ right:.5rem; bottom:-4rem }

  .project-window{ right:-4%; bottom:-5%; width:68vw }

  .risk-copy{ padding:0 .35rem }
  .risk-copy h2{ font-size:clamp(4.2rem,17.5vw,6rem) }
  .risk-window{ box-shadow:9px 11px 0 var(--eu-blue) }

  .risk-window__body{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }

  .mission-mark{ width:min(230px,64vw); margin-top:1.75rem }

  .crt{
    width:100%;
    padding:1rem 1rem 3.6rem;
  }

  .installer-window{ width:91% }
  .installer-window .window-bar{ font-size:.55rem }
  .crt__prompt{ font-size:.48rem }
  .install-finale h2{ font-size:clamp(4.5rem,19vw,6.5rem) }
}

@media (max-height:560px) and (min-width:621px){
  .europe{ top:calc(46% + .05em + 1px); font-size:clamp(10.65rem,54.8vh,15rem) }
  .vision-claim{ top:67% }
  .vision-claim h2{ font-size:clamp(2.4rem,9.5vh,3.2rem) }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto }
}

/* v19: one authored campaign grammar from the Europe reveal onward. */
.scroller{ height:1280vh }

.vision-claim{
  top:68%;
  width:min(94vw,1380px);
  opacity:0;
  visibility:hidden;
  will-change:transform,opacity;
}

.vision-claim h2{
  min-height:0;
  font-size:clamp(4.25rem,8.3vw,7.75rem);
  line-height:.96;
  letter-spacing:normal;
  white-space:nowrap;
  -webkit-text-stroke:var(--display-stroke) currentColor;
  paint-order:stroke fill;
}

.vision-claim h2 > span,
.vision-claim h2 > em{
  display:inline;
}

.vision-claim h2 > em{
  color:var(--eu-blue);
  font-style:normal;
}

.vision-claim h2 > .vision-prism{
  position:relative;
  display:inline-grid;
  color:transparent;
  vertical-align:baseline;
}

.vision-prism__text,
.vision-prism__depth{
  grid-area:1/1;
  display:block;
  padding:0 .025em .09em 0;
  white-space:nowrap;
}

.vision-prism__depth{
  position:relative;
  -webkit-text-stroke:.041em currentColor;
  paint-order:stroke fill;
  user-select:none;
}

.vision-prism__depth--far{
  z-index:0;
  color:#8598c8;
  transform:translateY(.075em);
}

.vision-prism__depth--mid{
  z-index:1;
  color:#4965ae;
  transform:translateY(.04em);
}

.vision-prism__depth--near{
  z-index:2;
  color:#123293;
}

.vision-prism__text{
  position:relative;
  z-index:3;
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.039em transparent;
  paint-order:stroke fill;
  user-select:text;
  -webkit-user-select:text;
}

.scroll-story{ height:320vh }
.story--pessimism{ height:290vh }
.story--catchup{ height:300vh }
.story--positive{ height:190vh }
.story--identity{ height:230vh }
.story--builders{ height:280vh }
.story--risk{ height:185vh }
.story--mission{ height:250vh }
.story--install{ height:320vh }

.story--positive .story-stage{ color:#fff; background:var(--eu-blue) }
.story--builders .story-stage{ color:var(--ink); background:#fff }
.story--risk .story-stage,
.story--mission .story-stage{ color:#fff; background:#050505 }
.story--install .story-stage{ color:#fff; background:var(--eu-blue-deep) }

.story-beat{
  width:min(92vw,1380px);
}

.retro-computer.story-beat{
  width:min(100vw,160svh,1586px);
  max-width:none;
  aspect-ratio:1586/992;
}

.retro-computer__hardware{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
}

.retro-computer__screen{
  position:absolute;
  z-index:1;
  overflow:hidden;
  background:var(--eu-blue);
}

.retro-computer__screen--laptop{
  left:20.9%;
  top:10.1%;
  width:56.8%;
  height:54.1%;
  border-radius:1.3%;
}

.retro-computer .win95-desktop{
  position:relative;
  width:100%;
  height:100%;
}

.retro-computer__screen .system-window{
  width:min(78%,520px);
  box-shadow:7px 9px 0 var(--eu-blue-deep);
}

.retro-computer__screen .desktop-map-image{
  width:82%;
}

.retro-computer__screen .desktop-icons{
  transform:scale(.72);
  transform-origin:top left;
}

.retro-computer__screen .desktop-icons--right{
  transform-origin:top right;
}

.story-fill{
  inset:0;
  left:0;
  top:0;
  width:100%;
  height:100%;
  transform:none;
}

.story-beat h2{
  font-size:var(--headline-size);
  line-height:.96;
  letter-spacing:normal;
}

.story--pessimism .story-beat--wide{
  width:min(88vw,1320px);
}

.story--pessimism .story-beat--wide h2{
  font-size:clamp(3.8rem,8.4vw,8rem);
  line-height:.92;
}

.story--pessimism .story-beat--wide h2 em{
  color:var(--yellow);
  font-style:normal;
}

.story-small,
.story-beat--verdict > p{
  margin:0 0 1.1rem;
  font:400 clamp(1.65rem,2.7vw,2.7rem)/1.05 var(--display);
  letter-spacing:normal;
  -webkit-text-stroke:.035em currentColor;
  paint-order:stroke fill;
}

.catchup-thesis p{
  margin:1.6rem auto 0;
  font:400 clamp(2rem,3.5vw,3.5rem)/1.02 var(--display);
  -webkit-text-stroke:.035em currentColor;
  paint-order:stroke fill;
}

.story-beat.transfer-window{
  width:min(86vw,580px);
}

.legacy-progress span{
  color:#050505;
}

.legacy-progress span.is-on-fill{
  color:#fff;
  text-shadow:1px 1px 0 #00105d;
}

.catchup-blue{
  z-index:3;
  transform-origin:center bottom;
}

.story-beat--intrinsic{
  z-index:5;
}

.story-beat--intrinsic > p{
  font-size:clamp(2.2rem,4.2vw,4.2rem);
  line-height:1;
}

.story-beat--intrinsic h2{
  font-size:var(--hero-size);
  line-height:.9;
}

.positive-orbit{
  z-index:1;
  background:var(--eu-blue);
}

.orbit-stars{
  --orbit-size:min(94vmin,940px);
  --star-color:#fff;
  position:absolute;
  left:50%;
  top:50%;
  width:var(--orbit-size);
  height:var(--orbit-size);
  transform:translate(-50%,-50%);
  animation:orbit-spin 24s linear infinite;
  will-change:transform;
}

.positive-orbit__stars{
  opacity:.7;
}

.orbit-stars span{
  position:absolute;
  left:50%;
  top:50%;
  color:var(--star-color);
  font:400 clamp(5rem,10.8vmin,10rem)/1 Georgia,serif;
  text-shadow:0 0 10px #fff,0 0 28px rgba(255,255,255,.82);
  transform:
    translate(-50%,-50%)
    rotate(calc(var(--i) * 30deg))
    translateY(calc(var(--orbit-size) * -.44))
    rotate(calc(var(--i) * -30deg));
}

@keyframes orbit-spin{
  from{ transform:translate(-50%,-50%) rotate(0deg) }
  to{ transform:translate(-50%,-50%) rotate(360deg) }
}

.positive-statement{
  z-index:3;
  text-align:center;
}

.positive-statement h2{
  font-size:clamp(4.1rem,8.5vw,8.4rem);
  line-height:.92;
}

.identity-intro{
  z-index:2;
  width:min(88vw,1100px);
  font-size:var(--headline-size);
  line-height:.94;
}

.identity-orbit{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

.identity-orbit__stars{
  --star-color:var(--eu-blue);
  opacity:.14;
}

.identity-orbit__stars span{
  text-shadow:0 0 8px rgba(7,59,164,.2),0 0 22px rgba(7,59,164,.16);
}

.identity-claim{
  z-index:2;
}

.identity-claim h2{
  font-size:var(--hero-size);
  line-height:.9;
}

.identity-claim p{
  margin:.9rem 0 0;
  font-size:clamp(3rem,6.2vw,6rem);
  line-height:1;
}

.builder-beat{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr);
  gap:clamp(2rem,5vw,6rem);
  align-items:end;
}

.builder-beat h2{
  max-width:none;
  font-size:var(--hero-size);
  line-height:.9;
}

.builder-beat > p{
  margin:0 0 .35rem;
  color:var(--eu-blue);
  font:400 clamp(2.25rem,3.8vw,3.8rem)/1.04 var(--display);
  -webkit-text-stroke:.035em currentColor;
  paint-order:stroke fill;
}

.builder-console{
  width:min(90vw,1080px);
  height:min(78svh,690px);
  overflow:hidden;
  color:#fff;
  background:var(--eu-blue);
  border:3px solid #050505;
  box-shadow:16px 18px 0 #8598c8;
}

.builder-console::before,
.builder-console::after{
  position:absolute;
  z-index:4;
  top:1rem;
  font:700 clamp(.56rem,.8vw,.72rem)/1 var(--mono);
  letter-spacing:.04em;
}

.builder-console::before{ content:'EUROPE / BUILD MODE'; left:1rem }
.builder-console::after{ content:'19:95'; right:1rem }

.builder-console__grid{
  position:absolute;
  inset:0;
  opacity:.2;
  background-image:
    linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.32) 1px,transparent 1px);
  background-size:32px 32px;
}

.builder-console__map{
  position:absolute;
  left:50%;
  top:45%;
  width:min(78%,760px);
  height:auto;
  opacity:.24;
  transform:translate(-50%,-50%);
  mix-blend-mode:screen;
  image-rendering:pixelated;
}

.builder-console .project-window{
  left:50%;
  right:auto;
  bottom:auto;
  top:46%;
  width:min(72%,520px);
  transform:translate(-50%,-50%);
}

.builder-console__line{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:5%;
  width:90%;
  margin:0;
  transform:translateX(-50%);
  text-align:center;
  font:400 clamp(1.9rem,3.4vw,3.4rem)/.98 var(--display);
  -webkit-text-stroke:.035em currentColor;
  paint-order:stroke fill;
  text-shadow:var(--display-glow);
}

.mobile-break{ display:none }
.mobile-space{ display:inline }

.risk-composition{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,2.8vw,3rem);
  align-items:center;
}

.risk-copy h2{
  font-size:clamp(4.5rem,6.2vw,6rem);
  line-height:.92;
}

.risk-window{
  width:100%;
}

.mission-intro,
.mission-work{
  text-align:center;
}

.mission-intro h2,
.mission-work h2{
  margin:0;
  font-family:var(--display);
  font-style:normal;
  font-weight:400;
  letter-spacing:normal;
  -webkit-text-stroke:var(--display-stroke) currentColor;
  paint-order:stroke fill;
  text-shadow:var(--display-glow);
}

.mission-intro h2{
  font-size:var(--hero-size);
  line-height:.9;
}

.mission-intro > p{
  margin:1.4rem 0 0;
  font:400 clamp(2.3rem,4vw,4rem)/1 var(--display);
  -webkit-text-stroke:.035em currentColor;
  paint-order:stroke fill;
}

.mission-mark{
  width:min(250px,55vw);
  margin:2.1rem auto 0;
}

.mission-work{
  width:min(90vw,1320px);
}

.mission-work h2{
  font-size:clamp(4rem,7.8vw,7.7rem);
  line-height:.92;
}

.mission-work > p{
  width:min(84vw,900px);
  margin:1.6rem auto 0;
  font:400 clamp(2.1rem,3.1vw,3rem)/1.04 var(--display);
  text-wrap:balance;
  -webkit-text-stroke:.03em currentColor;
  paint-order:stroke fill;
  text-shadow:var(--display-glow);
}

.mission-socials{
  position:relative;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:clamp(1.8rem,3vw,2.8rem);
  margin:clamp(2rem,4vh,3.4rem) auto 0;
  pointer-events:auto;
  font:700 clamp(1.15rem,1.5vw,1.35rem)/1.3 var(--mono);
}

.mission-socials a{
  padding:.3rem 0;
  color:rgba(255,255,255,.88);
  font:inherit;
  text-decoration:none;
  transition:color 120ms linear;
}

.mission-socials a:is(:hover,:focus-visible){
  color:#fff;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.32em;
}

.crt.story-beat{
  width:min(100vw,160svh,1586px);
  max-height:none;
  padding:0;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.retro-computer__screen--crt{
  left:23.05%;
  top:13.15%;
  width:53.9%;
  height:62.65%;
  border-radius:2.4%/3.2%;
}

.crt .crt__screen{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  box-shadow:inset 0 0 42px rgba(0,0,0,.48);
}

.install-finale{
  position:absolute;
  left:50%;
  top:50%;
  display:grid;
  place-items:center;
  width:100vw;
  height:100svh;
  padding:0;
}

.install-finale__lockup{
  width:100vw;
  height:100svh;
  margin:0;
}

.install-finale picture,
.install-finale img{
  display:block;
  width:100%;
  height:100%;
}

.install-finale img{
  object-fit:cover;
  object-position:center;
}

:is(
  .story--pessimism,
  .story--catchup,
  .story--positive,
  .story--risk,
  .story--mission,
  .story--install
) :is(h2,.story-small,.catchup-thesis p,.positive-statement > p,.builder-console__line,.mission-intro > p){
  text-shadow:var(--display-glow);
}

@media (max-width:900px){
  .builder-beat,
  .risk-composition{
    grid-template-columns:1fr;
    gap:2.5rem;
  }

  .builder-beat{
    align-items:center;
    text-align:center;
  }

  .builder-beat > p{
    width:min(90%,720px);
    margin:0 auto;
  }

  .risk-composition{
    width:min(90vw,760px);
    text-align:center;
  }
}

@media (max-width:620px){
  .scroller{ height:1280vh }

  .europe-motion{ transform-origin:50% 42% }

  .vision-claim{
    top:69%;
    width:92vw;
  }

  .vision-claim h2{
    min-height:0;
    font-size:clamp(3rem,13.8vw,4.5rem);
    line-height:.94;
    white-space:normal;
  }

  .vision-claim h2 > span,
  .vision-claim h2 > em{
    display:block;
  }

  .vision-claim h2 > .vision-prism{
    display:grid;
    width:max-content;
    margin:0 auto;
  }

  .story--pessimism{ height:275vh }
  .story--catchup{ height:280vh }
  .story--positive{ height:180vh }
  .story--identity{ height:220vh }
  .story--builders{ height:260vh }
  .story--risk{ height:190vh }
  .story--mission{ height:240vh }
  .story--install{ height:300vh }

  .story--pessimism .story-beat--wide{
    width:calc(100vw - 2rem);
  }

  .story--pessimism .story-beat--wide h2{
    font-size:clamp(3.05rem,13.3vw,4.6rem);
    line-height:.94;
  }

  .story-small,
  .story-beat--verdict > p,
  .positive-statement > p{
    font-size:clamp(1.5rem,6.4vw,2rem);
  }

  .catchup-thesis h2{
    font-size:clamp(4rem,17vw,6rem);
  }

  .catchup-thesis p{
    font-size:clamp(1.8rem,7.6vw,2.5rem);
  }

  .story-beat--intrinsic > p{
    font-size:clamp(2rem,8.5vw,2.8rem);
  }

  .story-beat--intrinsic h2{
    font-size:clamp(3.4rem,17vw,5.2rem);
    white-space:nowrap;
  }

  .orbit-stars{
    --orbit-size:min(122vw,610px);
    top:46%;
  }

  .positive-orbit__stars{
    opacity:.64;
  }

  .orbit-stars span{
    font-size:clamp(4.4rem,17vw,6.8rem);
  }

  .positive-statement h2{
    font-size:clamp(3.5rem,15.5vw,5.3rem);
  }

  .identity-intro{
    font-size:clamp(3.7rem,16vw,5.5rem);
  }

  .identity-claim h2{
    font-size:clamp(4.65rem,20vw,6.7rem);
  }

  .identity-claim p{
    font-size:clamp(2.65rem,11.5vw,3.8rem);
  }

  .identity-orbit__stars{
    opacity:.13;
  }

  .builder-beat h2{
    font-size:clamp(4.4rem,19vw,6.3rem);
  }

  .builder-beat > p{
    font-size:clamp(1.85rem,8vw,2.6rem);
  }

  .builder-console{
    width:calc(100vw - 1.4rem);
    height:min(72svh,610px);
    box-shadow:8px 10px 0 #8598c8;
  }

  .builder-console .project-window{
    width:84%;
    top:42%;
  }

  .builder-console__line{
    bottom:6%;
    font-size:clamp(1.75rem,7.6vw,2.45rem);
  }

  .mobile-break{ display:inline }
  .mobile-space{ display:none }

  .risk-composition{
    width:calc(100vw - 1.4rem);
    gap:2rem;
  }

  .risk-copy h2{
    font-size:clamp(4rem,17vw,5.8rem);
  }

  .risk-window__body{
    padding:1.2rem;
  }

  .mission-intro h2{
    font-size:clamp(4.3rem,18.5vw,6.2rem);
  }

  .mission-intro > p{
    font-size:clamp(2rem,8.8vw,3rem);
  }

  .mission-mark{
    width:min(210px,55vw);
  }

  .mission-work h2{
    font-size:clamp(3.65rem,15.2vw,5.2rem);
  }

  .mission-work > p{
    width:90vw;
    font-size:clamp(1.8rem,7.7vw,2.2rem);
  }

  .retro-computer--laptop.story-beat{
    width:160vw;
  }

  .retro-computer__screen .system-window{
    width:84%;
  }

  .retro-computer__screen .desktop-icons{
    transform:scale(.56);
  }

  .retro-computer__screen--laptop .desktop-icons--left span:nth-child(n+4),
  .retro-computer__screen--laptop .desktop-icons--right span:first-child{
    display:none;
  }

  .crt.story-beat{
    width:158vw;
    padding:0;
  }

  .install-finale__lockup{
    width:100vw;
  }
}

@media (max-width:440px){
  .risk-copy h2{
    font-size:clamp(2.75rem,13.8vw,3.8rem);
  }
}

@media (max-height:560px) and (min-width:621px){
  .vision-claim{ top:72% }
}

@media (prefers-reduced-motion:reduce){
  .europe-motion,
  .vision-claim,
  .story-beat,
  .orbit-stars{
    will-change:auto;
  }

  .orbit-stars{ animation:none }
}
