:root{
  --bg:#050914;--bg2:#07111f;--panel:#0a1525;--text:#f6f8fb;--muted:#9eabbc;--line:rgba(255,255,255,.14);
  --blue:#0878ff;--blue2:#17a8ff;--max:1440px;--pad:clamp(24px,5vw,82px);--header:82px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:#f5f7fa;color:#0d1724;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;overflow-x:hidden}.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:#fff;color:#000;padding:10px 14px;border-radius:4px}.skip-link:focus{top:12px}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:fixed;z-index:90;top:0;left:0;right:0;height:var(--header);display:flex;align-items:center;gap:28px;padding:0 var(--pad);color:#fff;background:linear-gradient(180deg,rgba(2,6,14,.82),rgba(2,6,14,.15));border-bottom:1px solid transparent;transition:.35s}.site-header.scrolled{background:rgba(3,8,17,.92);backdrop-filter:blur(14px);border-color:rgba(255,255,255,.09)}.brand{display:flex;align-items:center;gap:18px;min-width:0}.brand img{width:190px;height:auto}.brand span{font-size:11px;letter-spacing:.22em;color:var(--blue2);white-space:nowrap}.main-nav{margin-left:auto;display:flex;gap:26px;font-size:12px;letter-spacing:.11em;text-transform:uppercase}.main-nav a{opacity:.8;transition:.2s}.main-nav a:hover,.main-nav a:focus-visible{opacity:1;color:#7fc5ff}.header-cta{font-size:12px;letter-spacing:.12em;border:1px solid rgba(28,144,255,.65);padding:11px 16px}.section-dark{color:var(--text);background:var(--bg)}.section-pad{padding:clamp(90px,11vw,170px) var(--pad)}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#5eb5ff;margin:0 0 20px}.translation{font-size:clamp(18px,2vw,30px);color:#8e9aad;margin:.5rem 0 0}.translation.big{font-size:clamp(22px,2.3vw,34px)}h1,h2,h3,p{max-width:100%}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--header) + 50px) var(--pad) 80px;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 74% 42%,rgba(0,117,255,.12),transparent 28%),linear-gradient(90deg,#030811 0%,#040a14 43%,rgba(4,10,20,.72) 59%,rgba(4,10,20,.12) 100%);z-index:-1}.hero-media{position:absolute;right:0;top:0;bottom:0;width:min(62vw,980px);z-index:-2;overflow:hidden}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050914 0%,rgba(5,9,20,.72) 18%,transparent 48%),linear-gradient(180deg,rgba(5,9,20,.72),transparent 18%,transparent 78%,#050914)}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.05);transform:scale(1.03)}.hero-media-grid,.intro-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(57,142,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(57,142,255,.07) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to right,transparent,black)}.hero-copy{max-width:700px;position:relative;z-index:3}.hero h1,.method h2,.os h2,.group h2,.contact h2,.section-heading h2{font-size:clamp(48px,6.7vw,108px);line-height:.92;letter-spacing:-.055em;margin:0;font-weight:740}.hero h1 span,.method h2 span,.os h2 span,.group h2 span,.contact h2 span,.section-heading h2 span{color:var(--blue)}.hero-rule{width:72px;height:2px;background:linear-gradient(90deg,var(--blue),transparent);margin:34px 0}.lead-en{font-size:clamp(18px,1.7vw,26px);font-weight:600;margin:0}.lead-it{font-size:clamp(16px,1.4vw,21px);color:var(--muted);margin:4px 0 26px}.hero-value{font-size:clamp(17px,1.5vw,22px);max-width:610px;margin:0 0 6px}.hero-value-it{color:#9aa6b7;max-width:610px;margin:0}.hero-actions,.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border:1px solid rgba(255,255,255,.22);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#0878ff,#0b62df);border-color:#0b7eff;color:#fff}.btn-ghost{background:rgba(5,11,24,.42);color:#fff}.scroll-cue{position:absolute;bottom:24px;left:var(--pad);display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.18em;color:#7e8a99}.scroll-cue span{width:36px;height:1px;background:#178cff}.industrial{background:#f4f6f9;overflow:hidden}.section-heading{max-width:1100px}.section-heading h2{font-size:clamp(46px,6vw,92px);color:#0b1420}.triad{margin-top:60px;display:flex;align-items:center;gap:18px;color:#0a72ec;font-size:clamp(15px,1.4vw,20px);letter-spacing:.16em;font-weight:700}.triad i{width:80px;height:1px;background:linear-gradient(90deg,#0a72ec,transparent)}.capabilities{margin-top:52px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #cfd6df}.capability{position:relative;padding:30px 30px 30px 74px;border-bottom:1px solid #cfd6df;min-height:160px;transition:.3s}.capability:nth-child(odd){border-right:1px solid #cfd6df}.capability:hover{background:#06101f;color:#fff}.capability:hover p,.capability:hover small{color:#a5b2c2}.cap-num{position:absolute;left:20px;top:31px;color:#0b7fff;font-size:11px;letter-spacing:.16em}.capability h3{margin:0 0 6px;font-size:clamp(22px,2vw,31px);letter-spacing:-.02em}.capability p{margin:0;color:#4c5868}.capability small{display:block;margin-top:20px;color:#687486;letter-spacing:.05em}.one-way{margin-top:56px;border-left:3px solid #0878ff;padding-left:24px}.one-way p{font-size:clamp(24px,3.1vw,45px);margin:0;letter-spacing:-.035em}.one-way strong{color:#0878ff}.one-way span{color:#657183}.method{position:relative;overflow:hidden;background:radial-gradient(circle at 65% 35%,#0a1b32 0,#050914 40%,#030711 100%)}.method:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(35,116,208,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(35,116,208,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle at 60% 45%,black,transparent 68%)}.method-intro{position:relative;z-index:2;max-width:850px}.method-statement{font-size:clamp(20px,2.2vw,34px);font-weight:650;margin:42px 0 0}.method-it{color:#8d99a9;font-size:18px;margin:4px 0}.method-system{position:relative;z-index:2;display:grid;place-items:center;margin:90px auto 70px;max-width:950px}.method-ring{width:min(76vw,780px);aspect-ratio:1/1;border:1px solid rgba(69,157,255,.25);border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:inset 0 0 80px rgba(0,122,255,.07)}.method-ring:before,.method-ring:after{content:"";position:absolute;border:1px solid rgba(69,157,255,.14);border-radius:50%;inset:10%}.method-ring:after{inset:24%}.method-core{text-align:center}.method-core span,.method-core em{display:block;font-style:normal;font-size:12px;letter-spacing:.22em;color:#8fa0b5}.method-core strong{display:block;font-size:clamp(34px,6vw,78px);letter-spacing:.08em}.node{position:absolute;text-align:center;color:#dce9f7;letter-spacing:.12em;font-size:13px}.node small{display:block;color:#70839a;letter-spacing:normal;margin-top:6px}.node:before{content:"";display:block;width:9px;height:9px;border-radius:50%;background:#0c8fff;box-shadow:0 0 25px #0c8fff;margin:0 auto 10px}.node-1{top:6%;left:46%}.node-2{right:2%;top:34%}.node-3{right:17%;bottom:9%}.node-4{left:17%;bottom:9%}.node-5{left:2%;top:34%}.standards{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start;border-top:1px solid rgba(255,255,255,.12);padding-top:48px}.standards h3{font-size:clamp(27px,3vw,45px);margin:0}.standards p:not(.eyebrow){color:#96a3b4}.standard-tags{display:flex;flex-wrap:wrap;gap:10px}.standard-tags span{border:1px solid rgba(96,169,255,.22);background:rgba(7,25,48,.65);padding:12px 14px;color:#becde0;font-size:11px;letter-spacing:.08em}.standard-tags b{color:#44a6ff;margin-right:8px}.os,.group{position:relative;min-height:880px;display:flex;align-items:center;overflow:hidden;padding:110px var(--pad)}.os-media,.group-media{position:absolute;inset:0 0 0 37%;overflow:hidden}.os-media img,.group-media img{width:100%;height:100%;object-fit:cover;object-position:center}.os-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#040914 0%,#040914 39%,rgba(4,9,20,.76) 58%,rgba(4,9,20,.15) 100%),linear-gradient(180deg,#050914 0,transparent 22%,transparent 78%,#050914 100%)}.os-content,.group-content{position:relative;z-index:3;width:min(760px,54vw)}.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:40px 0 38px}.flow span{border:1px solid rgba(30,146,255,.38);background:rgba(6,18,34,.72);padding:8px 10px;font-size:10px;letter-spacing:.08em}.flow i{font-style:normal;color:#168cff}.os-lockup{border-left:2px solid #0c8fff;padding:12px 0 12px 20px}.os-lockup strong{font-size:clamp(32px,4vw,58px);letter-spacing:.08em}.os-lockup strong span{color:#2d9dff}.os-lockup p{margin:5px 0;color:#b5c1d0}.translation-small{color:#7f8ea2!important}.trust{margin:30px 0 0;font-size:clamp(18px,2vw,28px);font-weight:700}.trust span{color:#168cff}.group{min-height:760px}.group:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#040914 0%,#040914 42%,rgba(4,9,20,.77) 59%,rgba(4,9,20,.22) 100%),linear-gradient(180deg,#050914,transparent 20%,transparent 78%,#050914)}.group-copy{max-width:620px;color:#a6b2c1;font-size:18px}.division-active{margin-top:36px;border:1px solid rgba(31,143,255,.3);background:rgba(7,20,38,.75);display:inline-flex;align-items:center;gap:16px;padding:18px 22px}.division-active .dot{width:11px;height:11px;border-radius:50%;background:#0785ff;box-shadow:0 0 24px #0785ff}.division-active b,.division-active strong,.division-active small{display:block}.division-active b{font-size:12px;letter-spacing:.16em}.division-active strong{font-size:19px;color:#3aa5ff}.division-active small{margin-top:3px;color:#76869a;letter-spacing:.1em}.insights{background:#f5f7fa}.insights-note{margin:42px 0;color:#273345;font-weight:600}.insights-note span{color:#758191;font-weight:400}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#cfd6de;margin-top:30px;border:1px solid #cfd6de}.insight-card{background:#fff;padding:34px;min-height:260px;transition:.3s}.insight-card:hover{background:#081323;color:#fff}.insight-card small{color:#0a7fff;letter-spacing:.11em}.insight-card h3{font-size:clamp(26px,2.4vw,36px);margin:34px 0 12px;line-height:1.05}.insight-card p{color:#6c7887}.insight-card:hover p{color:#aeb8c5}.contact{display:grid;grid-template-columns:.6fr 1.4fr;gap:60px;align-items:center;min-height:700px;background:radial-gradient(circle at 20% 50%,#0c2341,#050914 38%)}.contact-mark{display:grid;place-items:center}.contact-mark img{width:min(310px,34vw);filter:drop-shadow(0 0 50px rgba(0,111,255,.2))}.contact-copy{max-width:850px}.contact-copy>p:not(.eyebrow):not(.translation){color:#9ba8b8}.contact-pending{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border:1px solid rgba(255,255,255,.14);color:#76869b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.site-footer{background:#030711;color:#8090a3;padding:32px var(--pad);display:grid;grid-template-columns:1fr 1fr auto;gap:28px;align-items:center;border-top:1px solid rgba(255,255,255,.08);font-size:11px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:150px}.footer-brand span{text-transform:uppercase;letter-spacing:.11em;color:#398fe4}.footer-legal{line-height:1.7}.footer-links{display:flex;gap:16px;align-items:center}.footer-links a,.footer-links button{color:#9eabba;background:none;border:0;padding:4px;cursor:pointer;font-size:11px}.intro{position:fixed;z-index:200;inset:0;background:#020611;color:#fff;overflow:hidden;transition:opacity .8s ease,visibility .8s;pointer-events:none}.intro.done{opacity:0;visibility:hidden}.intro-grid{mask-image:radial-gradient(circle at center,black,transparent 68%);opacity:.45}.intro-line{position:absolute;left:-34%;top:55%;width:26%;height:2px;background:linear-gradient(90deg,transparent,#1595ff,#b4e3ff,transparent);box-shadow:0 0 22px #1595ff;animation:sweep 3.1s .55s cubic-bezier(.4,0,.2,1) forwards}.intro-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.intro-mark{width:clamp(150px,14vw,235px);height:auto;opacity:0;transform:translateY(18px) scale(.92);filter:drop-shadow(0 0 38px rgba(21,149,255,.18));animation:introIn 1.35s 1.15s cubic-bezier(.22,.61,.36,1) forwards}.intro-name{margin-top:20px;font-size:clamp(30px,3.4vw,56px);letter-spacing:.32em;padding-left:.32em;opacity:0;animation:introIn 1.05s 2.25s cubic-bezier(.22,.61,.36,1) forwards}.intro-kicker{color:#1d91ff;font-size:clamp(11px,.9vw,14px);letter-spacing:.34em;padding-left:.34em;margin-top:10px;opacity:0;animation:introIn .95s 3.05s cubic-bezier(.22,.61,.36,1) forwards}.intro-title{font-size:clamp(46px,7vw,106px);line-height:.95;font-weight:760;letter-spacing:-.045em;margin-top:66px;opacity:0;animation:introIn 1.2s 4.05s cubic-bezier(.22,.61,.36,1) forwards}.intro-title em{font-style:normal;color:#148bff}.intro-subtitle{font-size:clamp(18px,2vw,28px);color:#8090a4;margin-top:14px;opacity:0;animation:introIn 1s 4.95s cubic-bezier(.22,.61,.36,1) forwards}.intro-skip{position:absolute;right:24px;bottom:24px;color:#738397;background:transparent;border:1px solid rgba(255,255,255,.13);padding:10px 14px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;pointer-events:auto;cursor:pointer}@keyframes sweep{to{left:102%;width:50%}}@keyframes introIn{to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,.61,.36,1)}.reveal.visible{opacity:1;transform:none}.cookie-dialog{max-width:560px;border:1px solid rgba(54,150,255,.35);background:#07111f;color:#eef5ff;padding:30px;box-shadow:0 30px 100px rgba(0,0,0,.45)}.cookie-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}.cookie-dialog h2{font-size:30px;margin:0 0 16px}.cookie-dialog p{color:#adbac9}.dialog-close{float:right;border:0;background:none;color:#fff;font-size:28px;cursor:pointer}
@media(max-width:1050px){.main-nav{display:none}.brand span{display:none}.hero-media{width:70vw}.capabilities{grid-template-columns:1fr}.capability:nth-child(odd){border-right:0}.standards{grid-template-columns:1fr}.os-media,.group-media{inset:0 0 0 30%}.os-content,.group-content{width:65vw}.site-footer{grid-template-columns:1fr;align-items:start}.footer-links{flex-wrap:wrap}}
@media(max-width:720px){:root{--header:70px;--pad:22px}.site-header{gap:10px}.brand img{width:145px}.header-cta{margin-left:auto;padding:9px 11px}.hero{min-height:820px;align-items:flex-end;padding-bottom:92px}.hero-media{width:100%;height:56%;top:0;bottom:auto;opacity:.72}.hero-media:after{background:linear-gradient(180deg,rgba(5,9,20,.15),#050914 94%),linear-gradient(90deg,#050914 0,rgba(5,9,20,.1) 55%)}.hero-copy{padding-top:340px}.hero h1{font-size:clamp(46px,15vw,72px)}.hero-value,.hero-value-it{font-size:16px}.triad{gap:10px;flex-wrap:wrap}.triad i{width:28px}.capability{padding-left:56px;padding-right:12px}.cap-num{left:10px}.method-ring{width:90vw}.node{font-size:10px}.standards{gap:28px}.os,.group{min-height:880px;padding:90px var(--pad);align-items:flex-end}.os-media,.group-media{inset:0 0 auto 0;height:55%}.os-overlay,.group:before{background:linear-gradient(180deg,rgba(5,9,20,.05),#050914 72%)}.os-content,.group-content{width:100%}.flow{gap:5px}.flow i{display:none}.contact{grid-template-columns:1fr;min-height:auto}.contact-mark{display:none}.insight-grid{grid-template-columns:1fr}.intro-title{font-size:15vw}.intro-name{font-size:6vw}.site-footer{padding-bottom:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{display:none}.reveal{opacity:1;transform:none;transition:none}.hero-media img{transform:none}.capability,.insight-card,.site-header{transition:none}}

/* PAGE 1B — approved intro hierarchy */
.intro-mark{
  width:clamp(220px,20vw,320px);
  height:auto;
  margin-bottom:4px;
  filter:drop-shadow(0 0 42px rgba(21,149,255,.16));
}
.intro-name{
  margin-top:16px;
  font-size:clamp(46px,5vw,78px);
  letter-spacing:.30em;
  padding-left:.30em;
  font-weight:430;
}
.intro-kicker{
  margin-top:11px;
  font-size:clamp(13px,1.2vw,18px);
  letter-spacing:.34em;
  padding-left:.34em;
}
.intro-title{
  margin-top:48px;
  font-size:clamp(44px,5.15vw,80px);
  line-height:.96;
  font-weight:760;
}
.intro-subtitle{
  margin-top:14px;
  font-size:clamp(17px,1.65vw,24px);
}
@media(max-width:720px){
  .intro-mark{width:min(54vw,240px)}
  .intro-name{font-size:8.5vw;letter-spacing:.27em;padding-left:.27em}
  .intro-kicker{font-size:2.7vw;letter-spacing:.28em;padding-left:.28em}
  .intro-title{font-size:11.5vw;margin-top:42px}
  .intro-subtitle{font-size:4.2vw}
}


/* PAGE 1C — approved intro timing, hierarchy and pacing */
.intro-line{
  top:56%;
  width:22%;
  opacity:.92;
  animation:sweepPage1C 4.4s .9s cubic-bezier(.35,0,.2,1) forwards;
}
.intro-mark,
.intro-name{
  opacity:0;
  animation:introIn 1.45s 1.2s cubic-bezier(.22,.61,.36,1) forwards;
}
.intro-mark{
  width:clamp(250px,22vw,360px);
  height:auto;
  margin-bottom:10px;
  transform:translateY(18px) scale(.93);
  filter:drop-shadow(0 0 46px rgba(21,149,255,.18));
}
.intro-name{
  margin-top:6px;
  font-size:clamp(60px,6.2vw,96px);
  line-height:1;
  letter-spacing:.26em;
  padding-left:.26em;
  font-weight:430;
  transform:translateY(18px) scale(.96);
}
.intro-kicker{
  margin-top:16px;
  font-size:clamp(14px,1.25vw,18px);
  letter-spacing:.34em;
  padding-left:.34em;
  opacity:0;
  animation:introIn 1.05s 2.95s cubic-bezier(.22,.61,.36,1) forwards;
}
.intro-title,
.intro-subtitle{
  opacity:0;
  animation:introIn 1.18s 4.45s cubic-bezier(.22,.61,.36,1) forwards;
}
.intro-title{
  margin-top:44px;
  font-size:clamp(40px,4.35vw,68px);
  line-height:.97;
  font-weight:760;
  letter-spacing:-.045em;
}
.intro-subtitle{
  margin-top:16px;
  font-size:clamp(18px,1.7vw,25px);
  color:#8795a6;
}
@keyframes sweepPage1C{
  0%{left:-34%;width:18%;opacity:0}
  15%{opacity:.9}
  100%{left:102%;width:56%;opacity:.86}
}
@media(max-width:720px){
  .intro-line{top:54%;animation:sweepPage1C 4.8s 1s cubic-bezier(.35,0,.2,1) forwards}
  .intro-mark{width:min(60vw,275px)}
  .intro-name{font-size:10.2vw;letter-spacing:.22em;padding-left:.22em}
  .intro-kicker{font-size:2.9vw;letter-spacing:.25em;padding-left:.25em}
  .intro-title{font-size:9.7vw;margin-top:34px}
  .intro-subtitle{font-size:4.4vw}
}


/* PAGE 2A — 2030 manifesto / first archived thought */
body.presentation-mode{
  background:#020611;
  color:#f6f8fb;
  overflow:hidden;
}
.presentation-mode .site-header,
.presentation-mode #main,
.presentation-mode .site-footer{
  display:none !important;
}
.vision2030{
  position:fixed;
  z-index:10;
  inset:0;
  min-height:100svh;
  overflow:hidden;
  background:
    radial-gradient(circle at 56% 46%,rgba(18,112,220,.105),transparent 29%),
    radial-gradient(circle at 16% 82%,rgba(12,70,137,.055),transparent 25%),
    #020611;
  color:#f6f8fb;
}
.vision2030-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(62,137,220,.052) 1px,transparent 1px),
    linear-gradient(90deg,rgba(62,137,220,.052) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(circle at 54% 48%,black 0 26%,rgba(0,0,0,.78) 48%,transparent 80%);
  opacity:.72;
}
.vision2030-glow{
  position:absolute;
  left:50%;
  top:50%;
  width:min(74vw,1040px);
  height:min(44vw,600px);
  transform:translate(-50%,-50%);
  border:1px solid rgba(36,139,255,.052);
  border-radius:50%;
  box-shadow:0 0 130px rgba(20,132,255,.038),inset 0 0 92px rgba(20,132,255,.026);
  opacity:0;
  transition:opacity 1.6s ease;
}
.vision2030.is-started .vision2030-glow{opacity:1}
.vision2030-story{
  position:absolute;
  left:50%;
  top:50%;
  width:min(1080px,82vw);
  transform:translate(-50%,-50%);
  text-align:center;
  transition:
    left 1.55s cubic-bezier(.22,.61,.36,1),
    top 1.55s cubic-bezier(.22,.61,.36,1),
    transform 1.55s cubic-bezier(.22,.61,.36,1),
    opacity 1.25s ease,
    filter 1.25s ease;
  will-change:left,top,transform,opacity;
}
.vision2030-primary{
  font-size:clamp(52px,6.6vw,104px);
  line-height:.95;
  font-weight:760;
  letter-spacing:-.05em;
  opacity:0;
  transform:translateY(30px);
}
.vision2030-primary span{color:#168bff}
.vision2030-secondary{
  max-width:900px;
  margin:30px auto 0;
  font-size:clamp(23px,2.45vw,37px);
  line-height:1.24;
  font-weight:430;
  color:#9eabbc;
  opacity:0;
  transform:translateY(24px);
}
.vision2030-secondary strong{
  color:#f6f8fb;
  font-weight:660;
  letter-spacing:.015em;
}
.vision2030.is-started .vision2030-primary{
  animation:vision2030In 1.4s .65s cubic-bezier(.22,.61,.36,1) forwards;
}
.vision2030.is-started .vision2030-secondary{
  animation:vision2030In 1.3s 2.45s cubic-bezier(.22,.61,.36,1) forwards;
}
.vision2030.is-archived .vision2030-story{
  left:31%;
  top:35%;
  transform:translate(-50%,-50%) scale(.62);
  opacity:0;
  filter:blur(2px) saturate(.7);
}
.vision2030-archive{
  position:absolute;
  z-index:4;
  left:clamp(38px,5.6vw,100px);
  top:15vh;
  width:min(350px,28vw);
}
.vision2030-archive-card{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:14px;
  align-items:start;
  color:#8290a2;
  opacity:0;
  transform:translate(-18px,16px);
  filter:saturate(.72);
  transition:opacity 1.25s ease .42s,transform 1.35s cubic-bezier(.22,.61,.36,1) .32s;
}
.vision2030.is-archived .vision2030-archive-card{
  opacity:.56;
  transform:none;
}
.vision2030-archive-index{
  display:block;
  padding-top:4px;
  color:#168bff;
  font-size:11px;
  letter-spacing:.20em;
}
.vision2030-archive-card strong{
  display:block;
  font-size:clamp(16px,1.25vw,20px);
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:680;
  color:#aeb8c6;
}
.vision2030-archive-card strong span{color:#3c8fdc}
.vision2030-archive-card p{
  margin:9px 0 0;
  font-size:clamp(11px,.9vw,14px);
  line-height:1.45;
  color:#657387;
}
@keyframes vision2030In{
  to{opacity:1;transform:none}
}
@media(max-width:720px){
  .vision2030-grid{background-size:52px 52px}
  .vision2030-story{width:88vw}
  .vision2030-primary{font-size:12.3vw}
  .vision2030-secondary{font-size:5.2vw;margin-top:22px}
  .vision2030.is-archived .vision2030-story{
    left:36%;
    top:32%;
    transform:translate(-50%,-50%) scale(.56);
  }
  .vision2030-archive{
    left:26px;
    top:12vh;
    width:68vw;
  }
  .vision2030-archive-card{grid-template-columns:28px 1fr;gap:10px}
  .vision2030-archive-card strong{font-size:16px}
  .vision2030-archive-card p{font-size:11px}
}


/* PAGE 2B — second thought / inherits approved Page 2A language */
.vision2030-archive{
  display:flex;
  flex-direction:column;
  gap:clamp(26px,3.1vh,38px);
}
.vision2030-story-02{
  left:50%;
  top:50%;
  width:min(1120px,84vw);
  transform:translate(-50%,-50%);
  opacity:0;
  filter:none;
  pointer-events:none;
}
.vision2030-primary-02{
  font-size:clamp(38px,4.35vw,68px);
  line-height:.98;
  letter-spacing:-.045em;
}
.vision2030-primary-02 span{color:#168bff}
.vision2030-secondary-02{
  margin-top:30px;
  font-size:clamp(24px,2.55vw,39px);
}
.vision2030-secondary-02 strong{
  color:#f6f8fb;
  font-weight:680;
}

/* Page 2A starts first; Story 02 must not pre-animate behind it. */
.vision2030.is-started .vision2030-story-02 .vision2030-primary,
.vision2030.is-started .vision2030-story-02 .vision2030-secondary{
  animation:none;
  opacity:0;
  transform:translateY(28px);
}
.vision2030.is-archived .vision2030-story-02{
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  opacity:0;
  filter:none;
}
.vision2030.is-story-02 .vision2030-story-02{
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  opacity:1;
  filter:none;
}
.vision2030.is-story-02 .vision2030-story-02 .vision2030-primary{
  animation:vision2030In 1.45s .35s cubic-bezier(.22,.61,.36,1) forwards;
}
.vision2030.is-story-02 .vision2030-story-02 .vision2030-secondary{
  animation:vision2030In 1.3s 2.45s cubic-bezier(.22,.61,.36,1) forwards;
}
.vision2030.is-archived-02 .vision2030-story-02{
  left:31%;
  top:53%;
  transform:translate(-50%,-50%) scale(.62);
  opacity:0;
  filter:blur(2px) saturate(.7);
}

/* Archive 02 remains hidden until its own thought has completed. */
.vision2030.is-archived .vision2030-archive-card[data-archive-02]{
  opacity:0;
  transform:translate(-18px,16px);
}
.vision2030.is-archived-02 .vision2030-archive-card[data-archive-02]{
  opacity:.56;
  transform:none;
}
.vision2030-archive-card[data-archive-02] strong{
  font-size:clamp(13px,1.02vw,16px);
  line-height:1.22;
}
.vision2030-archive-card[data-archive-02] strong span{color:#3c8fdc}

@media(max-width:720px){
  .vision2030-story-02{width:90vw}
  .vision2030-primary-02{font-size:8.8vw;line-height:1.02}
  .vision2030-secondary-02{font-size:5.1vw;margin-top:24px}
  .vision2030.is-archived-02 .vision2030-story-02{
    left:36%;
    top:55%;
    transform:translate(-50%,-50%) scale(.56);
  }
  .vision2030-archive{gap:22px}
  .vision2030-archive-card[data-archive-02] strong{font-size:13px}
}


/* PAGE 2C — five pillars / inherits approved Page 2A + 2B language */
.vision2030-pillars{
  position:absolute;
  z-index:3;
  left:50%;
  top:52%;
  width:min(1120px,78vw);
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(10px,1.25vw,22px);
  white-space:nowrap;
  pointer-events:none;
}
.vision2030-pillar,
.vision2030-pillars i{
  opacity:0;
  transform:translateY(24px) scale(.94);
}
.vision2030-pillar{
  display:inline-block;
  color:#f4f7fb;
  font-size:clamp(24px,2.45vw,39px);
  line-height:1;
  font-weight:660;
  letter-spacing:.105em;
  text-transform:uppercase;
  text-shadow:0 0 30px rgba(22,139,255,.035);
}
.vision2030-pillars i{
  display:inline-block;
  color:#168bff;
  font-size:clamp(22px,2.25vw,34px);
  line-height:1;
  font-style:normal;
  font-weight:400;
}
.vision2030.is-pillars .vision2030-pillar,
.vision2030.is-pillars .vision2030-pillars i{
  animation:vision2030PillarIn 1.1s cubic-bezier(.22,.61,.36,1) forwards;
}
.vision2030.is-pillars .vision2030-pillar:nth-of-type(1){animation-delay:.35s}
.vision2030.is-pillars .vision2030-pillars i:nth-of-type(1){animation-delay:1.05s}
.vision2030.is-pillars .vision2030-pillar:nth-of-type(2){animation-delay:1.35s}
.vision2030.is-pillars .vision2030-pillars i:nth-of-type(2){animation-delay:2.05s}
.vision2030.is-pillars .vision2030-pillar:nth-of-type(3){animation-delay:2.35s}
.vision2030.is-pillars .vision2030-pillars i:nth-of-type(3){animation-delay:3.05s}
.vision2030.is-pillars .vision2030-pillar:nth-of-type(4){animation-delay:3.35s}
.vision2030.is-pillars .vision2030-pillars i:nth-of-type(4){animation-delay:4.05s}
.vision2030.is-pillars .vision2030-pillar:nth-of-type(5){animation-delay:4.35s}
.vision2030.is-pillars .vision2030-glow{
  opacity:1;
  border-color:rgba(36,139,255,.075);
  box-shadow:0 0 160px rgba(20,132,255,.052),inset 0 0 110px rgba(20,132,255,.036);
}
@keyframes vision2030PillarIn{
  0%{opacity:0;transform:translateY(24px) scale(.94);filter:blur(2px)}
  65%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
@media(max-width:1050px){
  .vision2030-pillars{
    width:min(920px,70vw);
    flex-wrap:wrap;
    row-gap:18px;
    white-space:normal;
  }
  .vision2030-pillar{font-size:clamp(20px,2.45vw,31px)}
}
@media(max-width:720px){
  .vision2030-pillars{
    left:54%;
    top:59%;
    width:82vw;
    gap:10px 12px;
  }
  .vision2030-pillar{font-size:5.1vw;letter-spacing:.08em}
  .vision2030-pillars i{font-size:5vw}
}


/* PAGE 2D — final VISYRON method composition / inherits approved 2A + 2B + 2C */
.vision2030-pillars{
  transition:opacity .7s ease,transform .9s cubic-bezier(.22,.61,.36,1),filter .8s ease;
}
.vision2030.is-method .vision2030-pillars{
  opacity:0;
  transform:translate(-50%,-50%) scale(.95);
  filter:blur(2px);
}
.vision2030.is-method .vision2030-archive-card{
  opacity:.36;
  transition:opacity 1.2s ease;
}
.vision2030-method{
  position:absolute;
  z-index:3;
  left:60%;
  top:53%;
  width:min(700px,52vw);
  aspect-ratio:1/1;
  transform:translate(-50%,-50%) scale(.94);
  opacity:0;
  pointer-events:none;
  transition:opacity 1.15s ease .22s,transform 1.45s cubic-bezier(.22,.61,.36,1) .16s;
}
.vision2030.is-method .vision2030-method{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
.vision2030-method-ring{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(35,139,255,.15);
  opacity:0;
  transform:scale(.88);
  box-shadow:inset 0 0 52px rgba(20,132,255,.018);
}
.vision2030-method-ring-outer{inset:1%}
.vision2030-method-ring-mid{inset:13%;border-color:rgba(35,139,255,.12)}
.vision2030-method-ring-inner{inset:29%;border-color:rgba(35,139,255,.105)}
.vision2030.is-method .vision2030-method-ring{
  animation:vision2030RingIn 1.7s cubic-bezier(.22,.61,.36,1) forwards;
}
.vision2030.is-method .vision2030-method-ring-outer{animation-delay:.48s}
.vision2030.is-method .vision2030-method-ring-mid{animation-delay:.7s}
.vision2030.is-method .vision2030-method-ring-inner{animation-delay:.92s}
.vision2030-method-core{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:52%;
  transform:translate(-50%,-50%) translateY(14px) scale(.94);
  text-align:center;
  opacity:0;
  filter:blur(2px);
}
.vision2030.is-method .vision2030-method-core{
  animation:vision2030CoreIn 1.4s .42s cubic-bezier(.22,.61,.36,1) forwards;
}
.vision2030-method-mark{
  display:block;
  width:clamp(78px,7.6vw,112px);
  height:auto;
  margin:0 auto 15px;
  filter:drop-shadow(0 0 30px rgba(22,139,255,.10));
}
.vision2030-method-core strong{
  display:block;
  color:#f5f7fa;
  font-size:clamp(40px,4.6vw,68px);
  line-height:.95;
  font-weight:700;
  letter-spacing:.13em;
  padding-left:.13em;
}
.vision2030-method-core span{
  display:block;
  margin-top:13px;
  color:#168bff;
  font-size:clamp(11px,.95vw,15px);
  font-weight:600;
  letter-spacing:.28em;
  padding-left:.28em;
}
.vision2030-method-node{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  min-width:130px;
  transform:translate(-50%,-50%) scale(.88);
  text-align:center;
  opacity:0;
  color:#dce6f1;
  transition:
    left 1.65s cubic-bezier(.22,.61,.36,1),
    top 1.65s cubic-bezier(.22,.61,.36,1),
    opacity .9s ease,
    transform 1.65s cubic-bezier(.22,.61,.36,1);
}
.vision2030-method-node b{
  display:block;
  width:9px;
  height:9px;
  margin:0 auto 11px;
  border-radius:50%;
  background:#168bff;
  box-shadow:0 0 23px rgba(22,139,255,.82);
}
.vision2030-method-node span{
  display:block;
  font-size:clamp(12px,1.05vw,16px);
  line-height:1;
  font-weight:570;
  letter-spacing:.15em;
  white-space:nowrap;
}
.vision2030.is-method .vision2030-method-node{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
.vision2030.is-method .node-people{left:50%;top:4%;transition-delay:1.25s}
.vision2030.is-method .node-process{left:92%;top:35%;transition-delay:1.5s}
.vision2030.is-method .node-quality{left:78%;top:88%;transition-delay:1.75s}
.vision2030.is-method .node-data{left:22%;top:88%;transition-delay:2s}
.vision2030.is-method .node-evidence{left:8%;top:35%;transition-delay:2.25s}
@keyframes vision2030RingIn{
  0%{opacity:0;transform:scale(.88)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes vision2030CoreIn{
  0%{opacity:0;transform:translate(-50%,-50%) translateY(14px) scale(.94);filter:blur(2px)}
  70%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translate(-50%,-50%);filter:none}
}
@media(max-width:1050px){
  .vision2030-method{left:61%;width:min(620px,56vw)}
  .vision2030-method-node{min-width:100px}
  .vision2030-method-core strong{font-size:clamp(34px,4.7vw,56px)}
}
@media(max-width:720px){
  .vision2030-method{
    left:55%;
    top:61%;
    width:84vw;
  }
  .vision2030.is-method .vision2030-archive-card{opacity:.24}
  .vision2030-method-mark{width:16vw;margin-bottom:10px}
  .vision2030-method-core strong{font-size:8.2vw}
  .vision2030-method-core span{font-size:2.2vw;letter-spacing:.22em;padding-left:.22em}
  .vision2030-method-node{min-width:80px}
  .vision2030-method-node span{font-size:2.8vw;letter-spacing:.11em}
  .vision2030-method-node b{width:7px;height:7px;margin-bottom:8px}
  .vision2030.is-method .node-process{left:91%;top:36%}
  .vision2030.is-method .node-evidence{left:9%;top:36%}
}


/* PAGE 2E — centered final synthesis + simultaneous clean exit + concluding message */
.vision2030-pillars,
.vision2030-archive-card{
  transition:opacity .85s ease,transform .85s cubic-bezier(.22,.61,.36,1),filter .85s ease;
}
.vision2030.is-method .vision2030-pillars{
  opacity:0;
  transform:translate(-50%,-50%) scale(.96);
  filter:blur(1.6px);
}
.vision2030.is-method .vision2030-archive-card,
.vision2030.is-method .vision2030-archive-card[data-archive-01],
.vision2030.is-method .vision2030-archive-card[data-archive-02]{
  opacity:0;
  transform:translateX(-10px);
  filter:blur(1.4px);
  pointer-events:none;
}
.vision2030-method{
  left:50% !important;
  top:50% !important;
  width:min(700px,54vw);
}
.vision2030-method-core{
  left:50%;
  top:50%;
}
.vision2030-conclusion{
  position:absolute;
  z-index:7;
  left:50%;
  top:calc(50% + clamp(142px,16vh,168px));
  width:min(760px,70vw);
  transform:translateX(-50%);
  text-align:center;
  pointer-events:none;
}
.vision2030-conclusion strong,
.vision2030-conclusion p{
  display:block;
  opacity:0;
  transform:translateY(13px);
  filter:blur(2px);
}
.vision2030-conclusion strong{
  color:#edf3fa;
  font-size:clamp(16px,1.45vw,21px);
  line-height:1.25;
  font-weight:620;
  letter-spacing:.005em;
}
.vision2030-conclusion strong span{color:#168bff}
.vision2030-conclusion p{
  margin:10px auto 0;
  color:#6f8095;
  font-size:clamp(11px,.92vw,14px);
  line-height:1.5;
  font-weight:420;
  letter-spacing:.015em;
}
.vision2030.is-conclusion .vision2030-conclusion strong{
  animation:vision2030ConclusionIn 1.05s cubic-bezier(.22,.61,.36,1) forwards;
}
.vision2030.is-conclusion .vision2030-conclusion p{
  animation:vision2030ConclusionIn 1.15s .52s cubic-bezier(.22,.61,.36,1) forwards;
}
@keyframes vision2030ConclusionIn{
  0%{opacity:0;transform:translateY(13px);filter:blur(2px)}
  70%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
@media(max-width:1050px){
  .vision2030-method{
    left:50% !important;
    top:50% !important;
    width:min(640px,62vw);
  }
  .vision2030-conclusion{
    top:calc(50% + 138px);
    width:min(650px,72vw);
  }
}
@media(max-width:720px){
  .vision2030-method{
    left:50% !important;
    top:55% !important;
    width:86vw;
  }
  .vision2030-conclusion{
    top:calc(55% + 112px);
    width:82vw;
  }
  .vision2030-conclusion strong{font-size:4vw}
  .vision2030-conclusion p{font-size:2.65vw;line-height:1.45;margin-top:8px}
}


/* PAGE 2F — final readability refinement only */
.vision2030-conclusion p{
  color:#8796a9;
  font-size:clamp(12.5px,1.05vw,16px);
  line-height:1.52;
}
@media(max-width:720px){
  .vision2030-conclusion p{
    font-size:3vw;
    line-height:1.48;
  }
}


/* PAGE 2G — mobile responsive refinement only / desktop untouched */
@media(max-width:720px){
  /* Riduce il diagramma e mantiene VISYRON al centro della scena mobile. */
  .vision2030-method{
    left:50% !important;
    top:48% !important;
    width:74vw;
  }
  .vision2030-method-core{
    left:50%;
    top:50%;
    width:60%;
  }
  .vision2030-method-mark{
    width:14vw;
    margin-bottom:8px;
  }
  .vision2030-method-core strong{
    font-size:8.4vw;
    letter-spacing:.12em;
    padding-left:.12em;
  }
  .vision2030-method-core span{
    margin-top:10px;
    font-size:2.15vw;
    letter-spacing:.22em;
    padding-left:.22em;
  }

  /* Porta i due nodi inferiori più in alto: nessuna collisione col messaggio finale. */
  .vision2030-method-node{min-width:72px}
  .vision2030-method-node span{
    font-size:2.55vw;
    letter-spacing:.105em;
  }
  .vision2030-method-node b{
    width:7px;
    height:7px;
    margin-bottom:7px;
  }
  .vision2030.is-method .node-people{left:50%;top:4%}
  .vision2030.is-method .node-process{left:91%;top:34%}
  .vision2030.is-method .node-evidence{left:9%;top:34%}
  .vision2030.is-method .node-data{left:23%;top:80%}
  .vision2030.is-method .node-quality{left:77%;top:80%}

  /* Il messaggio finale vive sotto il diagramma, non dentro i nodi. */
  .vision2030-conclusion{
    left:50%;
    top:70%;
    width:88vw;
    transform:translateX(-50%);
  }
  .vision2030-conclusion strong{
    font-size:4.25vw;
    line-height:1.28;
  }
  .vision2030-conclusion p{
    margin-top:10px;
    font-size:3.25vw;
    line-height:1.42;
    color:#8b9aae;
  }
}

/* Telefono molto stretto: conserva aria ai lati senza cambiare il desktop. */
@media(max-width:390px){
  .vision2030-method{width:76vw;top:47% !important}
  .vision2030-method-core strong{font-size:8.5vw}
  .vision2030-method-node span{font-size:2.65vw}
  .vision2030-conclusion{top:69%;width:90vw}
  .vision2030-conclusion strong{font-size:4.35vw}
  .vision2030-conclusion p{font-size:3.3vw}
}
