/* Finland deck — shared stage, chrome and slide layouts (1600×900 stage, scaled to fit). */
:root{
  --night:#07131f;--deep:#0d2236;--blue:#1f5fd1;--ice:#8fd3ff;--mint:#4ff5b5;--violet:#9b7bff;
  --snow:#f3f7fb;--wood:#e8b27a;--amber:#ffc66b;--red:#ff6b6b;--muted:#9fb3c8;--line:rgba(220,235,255,.16);
  --accent:var(--mint);--glow:rgba(79,245,181,.35);
  color-scheme:dark;font-family:'Be Vietnam Pro',system-ui,sans-serif;background:#04090f;color:var(--snow)
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#04090f}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;-webkit-tap-highlight-color:transparent}
button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
button svg{fill:none;stroke:currentColor;stroke-width:1.7;width:20px;height:20px}
h1,h2,h3,p,blockquote,ol,ul,figure{margin:0}
ol,ul{padding:0;list-style:none}
h1,h2,h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.2px}
h2{font-size:94px;line-height:.93;text-transform:uppercase}
em{font-style:normal;color:var(--accent)}
b,strong{font-weight:700}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

#presentation{width:100vw;height:100dvh;display:grid;place-items:center;overflow:hidden}
#stage-wrap{position:relative;flex:none}
#stage{position:absolute;top:0;left:0;width:1600px;height:900px;overflow:hidden;transform-origin:0 0;isolation:isolate;
  background:radial-gradient(1200px 700px at 78% 0%,#12304d 0%,transparent 60%),radial-gradient(900px 600px at 0% 100%,#0b2a3a 0%,transparent 60%),var(--night)}
#stage[data-theme=ice]{--accent:var(--ice);--glow:rgba(143,211,255,.32)}
#stage[data-theme=amber]{--accent:var(--amber);--glow:rgba(255,198,107,.3)}
#stage[data-theme=red]{--accent:var(--red);--glow:rgba(255,107,107,.3)}
#stage[data-theme=blue]{--accent:#8fb0ff;--glow:rgba(122,162,255,.32)}
#stage[data-theme=wood]{--accent:var(--wood);--glow:rgba(232,178,122,.3)}

/* ambient sky */
.sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.sky .stars{position:absolute;inset:0;opacity:.55;background-image:
  radial-gradient(1.4px 1.4px at 12% 18%,#fff 60%,transparent),radial-gradient(1px 1px at 28% 72%,#fff 60%,transparent),
  radial-gradient(1.2px 1.2px at 46% 32%,#cfe8ff 60%,transparent),radial-gradient(1px 1px at 63% 12%,#fff 60%,transparent),
  radial-gradient(1.6px 1.6px at 82% 44%,#fff 60%,transparent),radial-gradient(1px 1px at 91% 81%,#cfe8ff 60%,transparent),
  radial-gradient(1.2px 1.2px at 6% 58%,#fff 60%,transparent),radial-gradient(1px 1px at 37% 90%,#fff 60%,transparent),
  radial-gradient(1px 1px at 74% 66%,#fff 60%,transparent),radial-gradient(1.3px 1.3px at 55% 54%,#fff 60%,transparent);
  animation:twinkle 7s ease-in-out infinite alternate}
.sky .aur{position:absolute;width:1100px;height:420px;left:30%;top:-170px;border-radius:50%;filter:blur(70px);opacity:.33;
  background:linear-gradient(90deg,transparent,var(--accent),var(--violet),transparent);transform:rotate(-8deg);animation:aur 18s ease-in-out infinite alternate;transition:background .8s}
.sky .aur.two{left:-20%;top:auto;bottom:-260px;opacity:.18;animation-duration:24s;transform:rotate(10deg)}
@keyframes twinkle{from{opacity:.35}to{opacity:.7}}
@keyframes aur{from{transform:translateX(-60px) rotate(-8deg) scaleY(.9)}to{transform:translateX(80px) rotate(-3deg) scaleY(1.15)}}

/* top bar */
.topbar{position:absolute;left:0;right:0;top:0;height:84px;padding:0 64px;display:flex;align-items:center;justify-content:space-between;z-index:20;
  background:linear-gradient(180deg,rgba(4,10,18,.72),rgba(4,10,18,0));}
.brand{display:flex;align-items:center;gap:14px;font-family:'Barlow Condensed';font-weight:800;font-size:24px;letter-spacing:3px}
.brand small{font-family:'Be Vietnam Pro';font-weight:500;letter-spacing:.5px;font-size:13px;color:var(--muted);margin-left:4px}
.chapters{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:40px;background:rgba(7,19,31,.45);backdrop-filter:blur(6px)}
.chapters button{padding:8px 16px;border-radius:30px;font-size:14px;font-weight:600;color:var(--muted);display:flex;gap:8px;align-items:center;transition:.25s}
.chapters button span{font-size:11px;opacity:.7}
.chapters button.active{background:var(--accent);color:#06131f}
.chapters button:hover:not(.active){color:var(--snow)}
.tools{display:flex;gap:10px}
.icon-button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:rgba(7,19,31,.45);transition:.2s}
.icon-button:hover,.icon-button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.icon-button svg{width:18px;height:18px}

/* footer */
.deck-footer{position:absolute;left:0;right:0;bottom:0;height:76px;padding:0 64px;display:flex;align-items:center;justify-content:space-between;z-index:20;
  background:linear-gradient(0deg,rgba(4,10,18,.75),rgba(4,10,18,0))}
.foot-left{display:flex;align-items:center;gap:18px;font-size:13px;letter-spacing:2px;font-weight:600;color:var(--muted)}
.pill{display:flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid var(--line);border-radius:30px;font-size:13px;letter-spacing:.5px;background:rgba(7,19,31,.45)}
.pill:hover{border-color:var(--accent);color:var(--accent)}
.pill svg{width:15px;height:15px}
.foot-mid{font-size:14px;color:var(--muted);display:flex;gap:10px;align-items:center}
.step-dots{display:flex;gap:6px}
.step-dots i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--accent);opacity:.8}
.step-dots i.on{background:var(--accent)}
.foot-right{display:flex;align-items:center;gap:14px}
.counter{font-family:'Barlow Condensed';font-size:22px;font-weight:700;letter-spacing:1px;color:var(--muted)}
.counter strong{color:var(--snow);font-size:28px}
.nav-button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:rgba(7,19,31,.5);transition:.2s}
.nav-button.next{background:var(--accent);color:#06131f;border-color:transparent}
.nav-button:hover{transform:translateY(-2px)}
.nav-button:disabled{opacity:.25;cursor:default;transform:none}
.progress-track{position:absolute;left:0;right:0;bottom:0;height:5px;display:flex;gap:3px;z-index:21}
.progress-track button{flex:1;height:100%;background:rgba(255,255,255,.12);padding:0;transition:background .3s}
.progress-track button.visited{background:color-mix(in srgb,var(--accent) 55%,transparent)}
.progress-track button.active{background:var(--accent)}
.progress-track button:hover{background:var(--snow)}

/* slides */
#slides{position:absolute;inset:0;z-index:5}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(60px) scale(.985);
  transition:opacity .45s ease,transform .6s cubic-bezier(.22,1,.36,1),visibility 0s .6s}
.slide.active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .55s ease,transform .7s cubic-bezier(.22,1,.36,1),visibility 0s}
.slide.leaving-forward{transform:translateX(-70px) scale(.98)}
.slide.leaving-back,.slide.from-back{transform:translateX(70px) scale(.98)}
.slide.from-back{transform:translateX(-60px) scale(.985)}
.slide .reveal{opacity:0}
.slide.active .reveal{animation:reveal .75s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--order,0) * 70ms + 120ms)}
@keyframes reveal{from{opacity:0;transform:translateY(26px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.step{opacity:.0;transform:translateY(18px);transition:opacity .5s ease,transform .6s cubic-bezier(.16,1,.3,1)}
.step.shown{opacity:1;transform:none}
.slide:not(.active) .step{transition:none}

.eyebrow{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:2.6px;color:var(--muted);margin-bottom:22px;text-transform:uppercase}
.eyebrow strong{color:var(--snow)}
.chip{display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:13px;background:var(--accent);color:#06131f;font-size:13px;letter-spacing:1px}
.lead{font-size:27px;line-height:1.45;color:#c9d8e8;margin-top:22px}
.lead.small{font-size:22px}
.lead b,.lead strong{color:var(--snow)}

/* Finnish flag */
.fi-flag{position:relative;display:inline-block;width:36px;height:22px;background:#fff;border-radius:3px;overflow:hidden;flex:none;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.fi-flag i{position:absolute;left:28%;top:0;bottom:0;width:18%;background:#1b4fb8}
.fi-flag b{position:absolute;left:0;right:0;top:38%;height:26%;background:#1b4fb8}
.fi-flag.big{width:96px;height:58px;border-radius:5px}

/* visuals */
.vis{position:relative;overflow:hidden;background:linear-gradient(135deg,#17324d,#0b1c2d)}
.vis img{display:block;width:100%;height:100%;object-fit:cover}
.vis .ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:rgba(255,255,255,.35);font:700 18px 'Barlow Condensed';letter-spacing:3px;text-transform:uppercase;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 14px,transparent 14px 28px)}
.vis .credit{position:absolute;right:10px;bottom:8px;max-width:80%;font-size:11px;line-height:1.3;color:rgba(255,255,255,.78);text-align:right;text-shadow:0 1px 3px rgba(0,0,0,.9);pointer-events:none}
.slide>.vis[data-slot=full]{position:absolute;inset:0;z-index:0}
.slide>.vis[data-slot=full] .credit{bottom:84px;right:64px}
.slide.active>.vis[data-slot=full] img{animation:kenburns 16s ease-out both}
@keyframes kenburns{from{transform:scale(1.07)}to{transform:scale(1)}}
.version-motion .slide.active .vis img{animation:none}

/* overlays for full-bleed slides */
.slide.l-full::before,.slide.l-cover::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,13,22,.93) 0%,rgba(5,13,22,.82) 30%,rgba(5,13,22,.35) 52%,rgba(5,13,22,0) 70%),
             linear-gradient(0deg,rgba(5,13,22,.7) 0%,transparent 24%),linear-gradient(180deg,rgba(5,13,22,.6) 0%,transparent 20%)}
.slide>*{z-index:2}
.slide>.vis[data-slot=full]{z-index:0}

/* COVER */
.l-cover .cover-copy{position:absolute;left:86px;bottom:130px;width:820px}
.cover-title{font-size:250px;line-height:.82;letter-spacing:6px;text-shadow:0 10px 60px rgba(0,0,0,.4)}
.cover-sub{font-size:38px;line-height:1.25;margin-top:26px;font-weight:600}
.cover-tags{display:flex;gap:10px;margin-top:34px}
.cover-tags span{padding:8px 16px;border:1px solid rgba(255,255,255,.3);border-radius:20px;font-size:15px;letter-spacing:1px;background:rgba(5,13,22,.35)}
.presenter-name{color:var(--snow);letter-spacing:1.5px}
.ghost-button{margin-top:34px;padding:13px 22px;border:1px solid rgba(255,255,255,.35);border-radius:30px;font-size:16px;display:inline-flex;gap:10px;background:rgba(5,13,22,.4)}
.ghost-button:hover{border-color:var(--accent);color:var(--accent)}

/* generic columns */
.col-text{position:absolute;left:86px;top:128px;width:820px}
.col-text.narrow{width:470px}
.col-text.wide{width:860px}
.col-text.over{width:690px}
.l-full h2{font-size:86px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.facts.compact{grid-template-columns:1fr;gap:12px;margin-top:24px}
.facts.row{grid-template-columns:repeat(3,1fr);margin-top:26px}
.fact{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(9,25,41,.62);backdrop-filter:blur(4px)}
.fact span{display:block;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:700}
.fact strong{display:block;font:800 34px/1.05 'Barlow Condensed';margin-top:6px}
.fact small{display:block;font-size:15px;color:var(--muted);margin-top:4px;line-height:1.3}
.facts.compact .fact strong{font-size:30px}
.tag{position:absolute;left:16px;top:16px;padding:7px 12px;border-radius:8px;background:rgba(5,13,22,.72);font-size:12px;letter-spacing:2.5px;font-weight:700}

/* panel figure (right) */
.vis.panel{position:absolute;right:80px;top:128px;width:520px;height:650px;border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.45);border:1px solid var(--line)}

/* AGENDA */
.agenda-head{position:absolute;left:86px;top:150px;width:470px}
.agenda-head h2{font-size:120px}
.agenda-list{position:absolute;left:600px;right:80px;top:130px;display:grid;gap:14px}
.agenda-list li{display:grid;grid-template-columns:70px 190px 1fr;align-items:center;gap:22px;height:146px;padding:12px 24px 12px 20px;border:1px solid var(--line);border-radius:22px;background:rgba(9,25,41,.6);cursor:pointer;transition:border-color .2s,transform .2s}
.agenda-list li:hover{border-color:var(--accent);transform:translateX(6px)}
.agenda-list li.main{border-color:color-mix(in srgb,var(--amber) 60%,transparent);background:linear-gradient(90deg,rgba(255,198,107,.12),rgba(9,25,41,.6))}
.agenda-list .no{font:800 52px 'Barlow Condensed';color:var(--accent)}
.agenda-list li.main .no{color:var(--amber)}
.agenda-list .thumb{width:190px;height:118px;border-radius:14px}
.agenda-list .thumb .credit,.vis.tile .credit{display:none}
.nw{white-space:nowrap}
.thumb-icon{display:grid;place-items:center;font-size:54px;background:linear-gradient(135deg,rgba(79,245,181,.2),rgba(143,211,255,.12));color:var(--mint)}
.agenda-list h3{font-size:44px;line-height:1;display:flex;align-items:center;gap:14px}
.agenda-list p{font-size:20px;color:var(--muted);margin-top:8px}
.badge{font:700 13px 'Be Vietnam Pro';letter-spacing:2px;padding:6px 10px;border-radius:8px;background:var(--amber);color:#1a1205}

/* WHERE */
.l-where .col-text{width:500px}
.l-where .map-slot{position:absolute;left:610px;top:122px;width:440px;height:574px}
.l-where .vis.panel{width:420px;height:525px;right:80px;top:128px}
.flag-note{position:absolute;right:80px;top:676px;width:420px;display:flex;align-items:center;gap:22px;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:rgba(9,25,41,.6)}
.flag-note p{font-size:21px;line-height:1.45}

/* maps */
.map-slot{-webkit-mask-image:radial-gradient(closest-side,#000 74%,transparent 100%);mask-image:radial-gradient(closest-side,#000 74%,transparent 100%)}
.map-slot.wide,.map-slot.eu{-webkit-mask-image:radial-gradient(farthest-side,#000 80%,transparent 100%);mask-image:radial-gradient(farthest-side,#000 80%,transparent 100%)}
.map-slot svg{width:100%;height:100%;display:block;overflow:hidden}
.map .grat{fill:none;stroke:rgba(143,211,255,.12);stroke-width:1}
.map .land{fill:#1a3652;stroke:#0a1a2a;stroke-width:.8;transition:fill .6s}
.map .hl{fill:var(--accent);filter:drop-shadow(0 0 18px var(--glow))}
.map .us{fill:#ff6b6b}.map .dk{fill:#c7d6e6}.map .fi{fill:var(--mint)}
.map .t8{fill:#3a2430}
.slide.active .map .t8{animation:t8 .6s ease both;animation-delay:calc(var(--d,0) * 1ms)}
@keyframes t8{to{fill:var(--red)}}
.map .t8-FIN{stroke:#fff;stroke-width:1.6}
.map text{font-family:'Be Vietnam Pro';font-size:13px;font-weight:700;letter-spacing:1.5px;fill:#d7e6f5;text-anchor:middle;paint-order:stroke;stroke:#07131f;stroke-width:3px}
.map text.big{font:800 30px 'Barlow Condensed';letter-spacing:3px;fill:#06131f;stroke:none}
.map text.sm{font-size:11px}
.map text.sea{font-style:italic;font-weight:500;fill:rgba(143,211,255,.75);letter-spacing:1px}
.map .pin text{text-anchor:start;font-size:15px;fill:#fff}
.map .pin .dot{fill:#fff;stroke:#07131f;stroke-width:2}
.map .pin .pulse{fill:none;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pulse 2.2s ease-out infinite;animation-delay:calc(var(--i) * .4s)}
.map .pin.capital .dot{fill:var(--amber)}
.map .pin.us .dot{fill:#ff6b6b}
@keyframes pulse{from{transform:scale(1);opacity:.9}to{transform:scale(4);opacity:0}}

/* SPLIT (government / respond) */
.gov-type{margin-top:26px;padding:20px 24px;border-left:5px solid var(--accent);background:rgba(9,25,41,.62);border-radius:0 18px 18px 0}
.gov-type span{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:700}
.gov-type strong{display:block;font:800 44px/1 'Barlow Condensed';color:var(--accent);margin-top:6px;text-transform:uppercase}
.gov-type p{font-size:19px;color:#c9d8e8;margin-top:8px}
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.person{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(9,25,41,.6)}
.person .role{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:700}
.person strong{display:block;font:800 30px/1.05 'Barlow Condensed';margin-top:6px}
.person small{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.pop-row{display:flex;gap:26px;align-items:center;margin-top:16px;padding:16px 22px;border:1px solid var(--line);border-radius:18px;background:rgba(9,25,41,.6)}
.pop-big{text-align:center;min-width:170px}
.pop-big .count{display:block;font:800 76px/.9 'Barlow Condensed';color:var(--accent)}
.pop-big small{font-size:15px;color:var(--muted);letter-spacing:1px}
.pop-list li{font-size:19px;line-height:1.6}
.pop-list .happy{color:var(--amber)}

/* TILES (industries) */
.tiles{position:absolute;left:620px;top:120px;display:grid;grid-template-columns:440px 440px;gap:20px}
.vis.tile{width:440px;height:330px;border-radius:22px;border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.vis.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 16px;background:linear-gradient(0deg,rgba(4,10,18,.92),rgba(4,10,18,0));z-index:2}
.vis.tile figcaption b{display:block;font:800 30px/1 'Barlow Condensed';text-transform:uppercase;letter-spacing:.5px}
.vis.tile figcaption span{font-size:16px;color:#c9d8e8}
.vis.tile .credit{top:8px;bottom:auto}
.big-stat{margin-top:34px;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,rgba(255,198,107,.16),rgba(9,25,41,.65));border:1px solid color-mix(in srgb,var(--amber) 45%,transparent)}
.big-stat>span{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--amber)}
.big-stat strong{display:block;font:800 64px/1 'Barlow Condensed';margin-top:6px}
.big-stat small{display:block;font-size:18px;color:#c9d8e8;margin-top:8px}

/* CHART (exports) */
.callout{display:flex;align-items:center;gap:18px;margin-top:28px;padding:16px 20px;border-radius:18px;background:rgba(255,107,107,.14);border:1px solid rgba(255,107,107,.45)}
.callout-no{font:800 70px/1 'Barlow Condensed';color:var(--red)}
.callout p{font-size:22px;line-height:1.35}
.mini-points{margin-top:20px;display:grid;gap:10px}
.mini-points li{font-size:19px;line-height:1.4;padding-left:22px;position:relative;color:#d6e3f0}
.mini-points li::before{content:'';position:absolute;left:0;top:10px;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.chart-card{position:absolute;left:600px;right:80px;top:128px;padding:26px 30px 20px;border:1px solid var(--line);border-radius:26px;background:rgba(9,25,41,.72)}
.export-table{width:100%;border-collapse:collapse}
.export-table th{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 10px 14px;font-weight:700}
.export-table td{padding:0 10px;height:68px;border-top:1px solid var(--line);font-size:22px}
.export-table .rank{font:800 30px 'Barlow Condensed';color:var(--muted);width:46px}
.export-table .country{font-weight:700;width:200px}
.export-table .bar-col{width:auto;position:relative}
.export-table td.bar-col{display:flex;align-items:center;gap:12px;height:68px}
.export-table .bar{display:block;height:26px;border-radius:13px;width:0;background:linear-gradient(90deg,#3b6fae,#8fd3ff)}
.slide.active .export-table .bar{animation:bar 1s cubic-bezier(.2,.9,.2,1) forwards;animation-delay:calc(var(--i) * 110ms + 400ms)}
@keyframes bar{to{width:calc(var(--w) * .62)}}
.export-table .pct{font:700 22px 'Barlow Condensed';white-space:nowrap}
.export-table .num{text-align:right;width:112px;white-space:nowrap;font-variant-numeric:tabular-nums}
.export-table .up{color:var(--mint)}.export-table .down{color:var(--red)}
.export-table tr.us td{background:rgba(255,107,107,.13)}
.export-table tr.us .rank,.export-table tr.us .country{color:var(--red)}
.export-table tr.us .bar{background:linear-gradient(90deg,#c43d4a,#ff8b8b);box-shadow:0 0 22px rgba(255,107,107,.5)}
.export-table tr.us td:first-child{border-radius:14px 0 0 14px}.export-table tr.us td:last-child{border-radius:0 14px 14px 0}
.source{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.4}

/* GREENLAND */
.l-mapwide .map-slot.wide{position:absolute;left:560px;top:126px;width:960px;height:683px}
.vis.polaroid{position:absolute;right:86px;top:112px;width:196px;height:245px;border-radius:6px;border:8px solid #f3f7fb;border-bottom-width:30px;transform:rotate(3deg);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.vis.polaroid .credit{font-size:9px;bottom:-24px;color:#334;text-shadow:none;right:0}
.trump-chip{position:absolute;left:590px;top:120px;display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:40px;background:rgba(9,25,41,.85);border:1px solid rgba(255,107,107,.5)}
.trump-chip b{display:block;font-size:17px}.trump-chip span{font-size:13px;color:var(--muted)}
.vis.avatar{width:58px;height:58px;border-radius:50%;flex:none}
.vis.avatar .credit{display:none}
.vis.avatar.us-symbol{background:repeating-linear-gradient(180deg,#c43d4a 0 6px,#f3f7fb 6px 12px)}
.vis.avatar.us-symbol::after{content:'★';position:absolute;left:0;top:0;width:30px;height:30px;display:grid;place-items:center;background:#24457e;color:#fff;font-size:15px}
.why{margin-top:18px;padding:16px 20px;border-radius:18px;border:1px solid var(--line);background:rgba(9,25,41,.6)}
.why span{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--accent)}
.why li{font-size:20px;line-height:1.55;margin-top:2px}
.event-card{position:absolute;right:86px;bottom:104px;width:420px;padding:18px 22px;border-radius:18px;background:rgba(9,25,41,.9);border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.4)}
.event-card .date{font:800 26px 'Barlow Condensed';color:var(--accent);letter-spacing:1px}
.event-card p{font-size:18px;line-height:1.45;margin-top:4px}

.l-mapwide h2{font-size:84px}
.l-mapwide .why li{font-size:19px;line-height:1.5}
.l-mapwide .facts.compact .fact{padding:12px 16px}
/* TARIFF */
.l-mapright .col-text{width:700px}
.l-mapright h2{font-size:90px}
.hot{color:var(--red)!important}
.define{display:flex;gap:16px;align-items:center;margin-top:22px;padding:14px 18px;border-radius:16px;background:rgba(255,198,107,.12);border:1px dashed rgba(255,198,107,.6)}
.define span{font:800 30px 'Barlow Condensed';letter-spacing:2px;color:var(--amber)}
.define p{font-size:22px}
.timeline{margin-top:22px;display:grid;gap:10px;position:relative}
.timeline li{display:flex;align-items:center;gap:18px;padding:12px 18px;border-radius:14px;background:rgba(9,25,41,.65);border:1px solid var(--line);font-size:21px}
.t-date{min-width:92px;font:800 28px 'Barlow Condensed';color:var(--red)}
.quote{margin-top:16px;font-size:24px;font-style:italic;line-height:1.35;padding-left:20px;border-left:4px solid var(--red)}
.quote cite{display:block;font-size:15px;font-style:normal;color:var(--muted);margin-top:6px}
.l-mapright .map-slot.eu{position:absolute;right:60px;top:110px;width:740px;height:682px}
.eight{position:absolute;right:80px;bottom:96px;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;width:700px}
.eight li{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:700;background:rgba(255,107,107,.2);border:1px solid rgba(255,107,107,.5)}
.eight li.me{background:var(--red);color:#1a0606}

/* RESPOND */
.respond-grid{display:grid;gap:14px;margin-top:26px}
.r-card{position:relative;padding:18px 22px 18px 92px;border-radius:20px;border:1px solid var(--line);background:rgba(9,25,41,.7);min-height:132px}
.r-card>.fi-flag,.r-card .eu-stars,.r-card .big-check{position:absolute;left:22px;top:22px}
.r-card>.fi-flag{width:50px;height:31px}
.r-card .eu-stars{width:50px;height:50px;border-radius:50%;background:#1f3f99;box-shadow:inset 0 0 0 3px #1f3f99}
.r-card .eu-stars::before{content:'';position:absolute;inset:6px;border-radius:50%;border:3px dotted #ffd54a}
.r-card .big-check{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#06131f;font-size:28px;font-weight:800}
.r-card .who{font-size:13px;letter-spacing:2.4px;font-weight:800;color:var(--accent)}
.r-card blockquote{font-size:25px;line-height:1.3;font-style:italic;margin-top:6px}
.r-card p{font-size:23px;line-height:1.35;margin-top:6px}
.r-card small{display:block;font-size:16px;color:var(--muted);margin-top:8px}
.r-card.ok{border-color:rgba(79,245,181,.5);background:linear-gradient(90deg,rgba(79,245,181,.14),rgba(9,25,41,.7))}
.r-card.ok .who{color:var(--mint)}
.l-split .vis.panel{width:500px;height:625px}

/* PORT calculator */
.calc{margin-top:26px;padding:20px 22px;border-radius:20px;background:rgba(7,19,31,.82);border:1px solid var(--line);backdrop-filter:blur(6px)}
.calc-q{font-size:20px;line-height:1.4}
.calc-buttons{display:flex;gap:10px;margin-top:14px}
.calc-buttons button{flex:1;padding:12px 0;border-radius:14px;border:1.5px solid var(--line);font:800 28px 'Barlow Condensed';letter-spacing:1px;transition:.2s}
.calc-buttons button:hover{border-color:var(--amber)}
.calc-buttons button.on{background:var(--amber);color:#1a1205;border-color:var(--amber)}
.calc-out{display:flex;align-items:center;gap:18px;margin-top:16px}
.calc-price{font:800 74px/1 'Barlow Condensed';min-width:190px;color:var(--snow);transition:color .3s}
.calc-price.up{color:var(--red)}
.calc-meter{flex:1;height:18px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}
.calc-meter i{display:block;height:100%;width:80%;border-radius:9px;background:linear-gradient(90deg,var(--mint),var(--amber),var(--red));transition:width .7s cubic-bezier(.2,.9,.2,1)}
.chain{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chain li{font-size:16px;padding:8px 12px;border-radius:12px;background:rgba(7,19,31,.75);border:1px solid var(--line)}
.chain li+li::before{content:'→ ';color:var(--amber)}

/* word card (aurora / löyly) */
.word-card{margin-top:24px;display:inline-block;padding:16px 24px;border-radius:18px;background:rgba(7,19,31,.75);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);backdrop-filter:blur(6px)}
.word-card span{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--muted)}
.word-card strong{display:block;font:800 52px/1 'Barlow Condensed';color:var(--accent);margin-top:4px}
.word-card p{font-size:21px;margin-top:6px}
.l-full .fact,.l-full .mini-points li{backdrop-filter:blur(6px)}
.l-full .fact{background:rgba(7,19,31,.72)}
.link-note{margin-top:20px;padding:14px 18px;border-radius:16px;background:rgba(255,198,107,.13);border:1px solid rgba(255,198,107,.5)}
.link-note span{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:var(--amber)}
.link-note p{font-size:19px;margin-top:4px;line-height:1.4}
.sauna-stat{margin-top:22px;display:flex;align-items:center;gap:20px}
.sauna-stat strong{font:800 74px/1 'Barlow Condensed';color:var(--accent);font-variant-numeric:tabular-nums}
.sauna-stat p{font-size:19px;line-height:1.35;color:#d6e3f0}

/* SUMMARY */
.l-summary>.eyebrow{position:absolute;left:86px;top:126px}
.l-summary>h2{position:absolute;left:86px;top:166px;font-size:100px}
.sum-grid{position:absolute;left:86px;right:86px;top:290px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sum-card{border-radius:24px;border:1px solid var(--line);background:rgba(9,25,41,.72);overflow:hidden;padding-bottom:22px;position:relative}
.sum-card .vis{height:180px}
.sum-card .vis .credit{display:none}
.sum-card .no{position:absolute;left:20px;top:150px;font:800 50px/1 'Barlow Condensed';color:var(--accent);text-shadow:0 4px 18px rgba(0,0,0,.6)}
.sum-card h3{font-size:42px;margin:20px 24px 6px;text-transform:uppercase}
.sum-card p{font-size:21px;line-height:1.45;margin:0 24px;color:#d6e3f0}
.sum-card.main{border-color:color-mix(in srgb,var(--amber) 55%,transparent)}
.sum-card.main .no{color:var(--amber)}
.closing{position:absolute;left:86px;right:86px;top:720px;font:700 34px 'Barlow Condensed';letter-spacing:.5px;text-align:center;text-transform:uppercase}

/* QUIZ */
.l-quiz>.eyebrow{position:absolute;left:86px;top:126px}
.l-quiz>h2{position:absolute;left:86px;top:166px;font-size:110px}
.quiz-grid{position:absolute;left:86px;right:86px;top:330px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quiz-card{height:380px;border-radius:26px;border:1px solid var(--line);background:rgba(9,25,41,.72);padding:28px;text-align:left;display:flex;flex-direction:column;gap:14px;transition:.3s}
.quiz-card:hover{border-color:var(--accent)}
.quiz-card .qn{font:800 54px/1 'Barlow Condensed';color:var(--accent)}
.quiz-card p{font-size:28px;line-height:1.3;font-weight:600}
.quiz-card .answer{margin-top:auto;font:800 40px/1.05 'Barlow Condensed';color:var(--mint);opacity:0;transform:translateY(10px);transition:.4s}
.quiz-card .tap{font-size:14px;color:var(--muted);letter-spacing:1px}
.quiz-card.open{background:linear-gradient(160deg,rgba(79,245,181,.16),rgba(9,25,41,.72));border-color:var(--mint)}
.quiz-card.open .answer{opacity:1;transform:none}
.quiz-card.open .tap{display:none}

/* overview + sources dialogs */
dialog{border:0;padding:0;background:transparent;color:var(--snow);max-width:none;max-height:none}
dialog::backdrop{background:rgba(2,6,12,.82);backdrop-filter:blur(6px)}
.dlg{width:min(1180px,92vw);max-height:88vh;overflow:auto;padding:34px 40px;border-radius:26px;background:#0b1c2d;border:1px solid var(--line);box-shadow:0 40px 120px rgba(0,0,0,.6)}
.dlg-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.dlg-top h2{font-size:54px}
.dlg-top span{font-size:13px;letter-spacing:2px;color:var(--muted);font-weight:700}
.close-button{font-size:34px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line)}
.ov-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ov-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);text-align:left;min-height:96px}
.ov-tile:hover,.ov-tile:focus-visible{border-color:var(--mint)}
.ov-tile.current{background:rgba(79,245,181,.14);border-color:var(--mint)}
.ov-tile span{font:800 22px 'Barlow Condensed';color:var(--mint)}
.ov-tile strong{font-size:16px;line-height:1.3}
.ov-tile small{font-size:12px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}
.dlg-tip{margin-top:18px;font-size:14px;color:var(--muted)}
.src-list{display:grid;gap:8px;font-size:16px;line-height:1.45;counter-reset:s}
.src-list li{counter-increment:s;padding-left:34px;position:relative}
.src-list li::before{content:counter(s);position:absolute;left:0;color:var(--mint);font-weight:800}
.src-list a{color:#cfe3f5}
.credit-list{margin-top:18px;font-size:13px;color:var(--muted);line-height:1.5}
.credit-list h3{font-size:22px;color:var(--snow);margin-bottom:6px;font-family:'Barlow Condensed'}

/* toast + laser */
#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;padding:12px 20px;border-radius:30px;background:#0b1c2d;border:1px solid var(--line);font-size:15px;z-index:99;transition:.3s;pointer-events:none}
#toast.show{opacity:1;transform:translate(-50%,0)}
#laser{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:radial-gradient(circle,#fff 0 18%,#ff3b5c 30%,rgba(255,59,92,.35) 60%,transparent 70%);z-index:50;pointer-events:none;visibility:hidden;box-shadow:0 0 30px 8px rgba(255,59,92,.45)}
#stage.laser-on{cursor:none}

/* blackout (B key) */
#blackout{position:absolute;inset:0;background:#000;z-index:60;opacity:0;pointer-events:none;transition:opacity .4s}
#stage.black #blackout{opacity:1;pointer-events:auto}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ?static — no motion (used for checks / thumbnails) */
.static *,.static *::before,.static *::after{animation:none!important;transition:none!important}
.static .slide.active .reveal{opacity:1}
.static .export-table .bar{width:calc(var(--w) * .62)}
.static .map .t8{fill:var(--red)}
