/* tokens.css */
/* ═══════════════════════════════════════════════════
   0. DESIGN TOKENS
   ═══════════════════════════════════════════════════ */
:root {
  --bg0:#050810; --bg1:#0a0f1e; --bg2:#111829;
  --surface: rgba(255,255,255,.04);
  --glass: rgba(255,255,255,.06);
  --stroke: rgba(255,255,255,.10);
  --text:#f5f7ff;
  --text-soft:#dce6fa;
  --muted:#bcc9e3;
  --text-subtle:#adbedf;
  --text-faint:#98acd3;
  --shield-core:rgba(3,7,18,.58);
  --shield-mid:rgba(3,7,18,.34);
  --shield-soft:rgba(3,7,18,.12);
  --font-site:'Space Grotesk','Avenir Next','Helvetica Neue',sans-serif;
  --accentA:#7C5CFF; --accentB:#00D4FF; --accentC:#FF3DCE;
  --body-bg:var(--bg0);
  --radius:20px;
  --ease-out-expo: cubic-bezier(.16,1,.3,1);
  --ease-out-quart: cubic-bezier(.25,1,.5,1);
  color-scheme:dark;
}
html[data-theme="light"]{
  --bg0:#f7f4ed;
  --bg1:#fffdf8;
  --bg2:#eaf2ff;
  --surface:rgba(255,255,255,.6);
  --glass:rgba(255,255,255,.68);
  --stroke:rgba(98,122,171,.16);
  --text:#162541;
  --text-soft:#33445f;
  --muted:#64738f;
  --text-subtle:#566681;
  --text-faint:#6b7891;
  --shield-core:rgba(255,253,248,.72);
  --shield-mid:rgba(255,253,248,.44);
  --shield-soft:rgba(255,253,248,.14);
  --accentA:#4b6cff;
  --accentB:#08bce7;
  --accentC:#ff8a65;
  --body-bg:
    radial-gradient(circle at 8% 10%,rgba(109,91,255,.18),transparent 24%),
    radial-gradient(circle at 92% 86%,rgba(8,188,231,.14),transparent 26%),
    linear-gradient(180deg,#fffdf8 0%,#f8f3ea 44%,#eef4ff 100%);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
  scroll-behavior:smooth;
  overflow-x:clip;
}
body{
  font-family:var(--font-site);
  color:var(--text);
  background:var(--body-bg,var(--bg0));
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
  transition:background .45s ease,color .45s ease;
}
button,input,select,textarea{font-family:inherit}


/* loader.css */
/* ═══════════════════════════════════════════════════
   C. CINEMATIC LOADER
   ═══════════════════════════════════════════════════ */
#loader{
  position:fixed;inset:0;z-index:9999;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:22px;
  overflow:hidden;
  isolation:isolate;
  contain:layout paint style;
  overscroll-behavior:none;
  touch-action:none;
  background:
    radial-gradient(circle at 50% 40%,rgba(30,45,90,.22),rgba(0,0,0,.96) 52%,#000 80%),
    #000;
  pointer-events:all;
  will-change:opacity;
}
#loader.done{
  pointer-events:none;
  display:none!important;
}

/* Title — flex container for char spans */
.loader-title{
  position:relative;
  display:flex;
  gap:0;
  font-size:clamp(38px,7.5vw,90px);
  font-weight:800;
  letter-spacing:.01em;
  line-height:1;
  transform-origin:50% 50%;
  transform:translateZ(0);
  backface-visibility:hidden;
  will-change:transform,filter,opacity;
}

/* Individual char */
.loader-title .lc{
  display:inline-block;
  opacity:0;
  transform:translateY(105%) scale(.45);
  filter:blur(10px);
  backface-visibility:hidden;
  will-change:transform,filter,opacity;
  animation:lcIn .5s var(--ease-out-expo) var(--d) forwards;
}

html.is-loading,
html.is-loading body{
  overflow:hidden;
  overscroll-behavior:none;
}
@keyframes lcIn{
  0%{
    opacity:0;
    transform:translateY(105%) scale(.45);
    filter:blur(10px);
    text-shadow:0 0 50px rgba(0,212,255,.9),0 0 90px rgba(124,92,255,.7);
  }
  55%{
    opacity:1;
    transform:translateY(-6%) scale(1.04);
    filter:blur(0);
    text-shadow:0 0 28px rgba(0,212,255,.5),0 0 56px rgba(124,92,255,.35);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
    text-shadow:0 0 0 transparent;
  }
}

/* Scanning light beam across title */
.loader-title::after{
  content:'';
  position:absolute;
  top:-30%;bottom:-30%;
  width:70px;
  background:linear-gradient(90deg,transparent,rgba(0,212,255,.18),rgba(255,255,255,.12),rgba(124,92,255,.18),transparent);
  filter:blur(10px);
  opacity:0;
  pointer-events:none;
  will-change:left,opacity;
}
#loader.phase-in .loader-title::after{
  animation:scanBeam .8s ease-in-out .05s forwards;
}
@keyframes scanBeam{
  0%{left:-70px;opacity:0}
  8%{opacity:1}
  88%{opacity:1}
  100%{left:calc(100% + 70px);opacity:0}
}

/* Subtitle */
.loader-sub{
  color:var(--muted);
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:0;
  will-change:opacity,transform;
}
#loader.phase-in .loader-sub{
  animation:fadeUp .4s var(--ease-out-expo) .55s forwards;
}

/* Breathing glow while title is visible */
#loader.phase-in .loader-title{
  animation:titleBreathe 1.8s ease-in-out .9s infinite alternate;
}
@keyframes titleBreathe{
  0%{text-shadow:0 0 0 transparent}
  100%{text-shadow:0 0 22px rgba(0,212,255,.18),0 0 50px rgba(124,92,255,.12)}
}

/* ── Phase 2: clean cinematic zoom exit ── */
#loader.phase-out .loader-title{
  animation:loaderZoom .8s cubic-bezier(.22,.68,0,1) forwards!important;
}
#loader.phase-out .loader-sub{
  animation:subExit .3s ease forwards;
}
#loader.phase-out{
  animation:bgExit .45s ease .3s forwards;
}

/* Soft radial glow on exit */
#loader::before{
  content:'';
  position:absolute;
  width:180px;height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,212,255,.35),rgba(124,92,255,.2) 40%,transparent 70%);
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity;
}
#loader.phase-out::before{
  animation:glowPulse .65s ease-out forwards;
}
@keyframes glowPulse{
  0%{opacity:0;transform:scale(0)}
  30%{opacity:1}
  100%{opacity:0;transform:scale(14)}
}

@keyframes loaderZoom{
  0%{
    transform:translateZ(0) scale(1);
    filter:blur(0) brightness(1);
    opacity:1;
  }
  25%{
    filter:blur(0) brightness(1.5);
    opacity:1;
    text-shadow:0 0 30px rgba(0,212,255,.45),0 0 70px rgba(124,92,255,.3);
  }
  100%{
    transform:translateZ(0) scale(8);
    filter:blur(16px) brightness(2);
    opacity:0;
    text-shadow:0 0 80px rgba(0,212,255,.7),0 0 160px rgba(124,92,255,.5);
  }
}
@keyframes subExit{
  0%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(-18px)}
}
@keyframes bgExit{
  0%{opacity:1}
  100%{opacity:0}
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
html[data-theme="light"] #loader{
  background:
    radial-gradient(circle at 50% 38%,rgba(74,108,255,.12),rgba(255,255,255,.94) 48%,#f3efe7 78%),
    linear-gradient(180deg,#fffdf8,#eef4ff);
}


/* layout.css */
/* ═══════════════════════════════════════════════════
   SCROLL PROGRESS BAR (A)
   ═══════════════════════════════════════════════════ */
.scroll-progress{
  position:fixed;top:0;left:0;z-index:100;
  height:3px;width:0;
  background:linear-gradient(90deg,var(--accentA),var(--accentB),var(--accentC));
  transition:none;
  pointer-events:none;
}

/* ═══════════════════════════════════════════════════
   NAVIGATION
   ═══════════════════════════════════════════════════ */
.topnav{
  position:fixed;
  top:12px;
  left:50%;
  right:auto;
  width:min(1160px,calc(100% - 26px));
  z-index:90;
  border:1px solid rgba(120,146,214,.28);
  border-radius:26px;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  background:linear-gradient(110deg,rgba(6,11,26,.92),rgba(9,17,34,.78) 46%,rgba(18,24,44,.9));
  box-shadow:0 26px 55px rgba(4,8,20,.45),0 4px 18px rgba(40,84,193,.18),inset 0 1px 0 rgba(255,255,255,.18);
  transform:translate(-50%,-130%);
  opacity:0;
  transition:transform .72s var(--ease-out-expo),opacity .72s var(--ease-out-expo),box-shadow .3s ease,border-color .3s ease;
  overflow:hidden;
  background-clip:padding-box;
}
.topnav::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(64,126,255,.25),rgba(255,95,52,.18),rgba(255,170,62,.22),rgba(64,126,255,.22));
  filter:blur(26px);
  opacity:.55;
  z-index:-1;
  pointer-events:none;
}
.topnav::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(255,255,255,.07),transparent 26%,transparent 74%,rgba(255,255,255,.04)),radial-gradient(circle at 14% -32%,rgba(82,138,255,.2),transparent 54%),radial-gradient(circle at 88% 135%,rgba(255,115,67,.14),transparent 56%);
  pointer-events:none;
}
.topnav.visible{transform:translate(-50%,0);opacity:1}

.topnav-inner{
  position:relative;
  max-width:unset;
  margin:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;
  gap:14px;
}
.topnav-start,
.topnav-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.topnav-start{min-width:0}
.topnav-actions{margin-left:auto}
.brand{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;align-items:center;gap:0;
  padding:10px 12px;
  border-radius:15px;
  font-weight:700;
  text-decoration:none;
  color:var(--text);
  background:linear-gradient(125deg,rgba(64,126,255,.2),rgba(255,110,70,.16));
  border:1px solid rgba(132,161,232,.35);
  box-shadow:0 14px 30px rgba(7,16,34,.22),inset 0 1px 0 rgba(255,255,255,.2);
  background-clip:padding-box;
  white-space:nowrap;
  transition:transform .28s var(--ease-out-quart),border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.brand::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:
    linear-gradient(128deg,rgba(77,137,255,.2),rgba(255,115,71,.1) 48%,rgba(255,193,96,.14)),
    radial-gradient(circle at 18% 24%,rgba(88,152,255,.18),transparent 42%);
  opacity:.95;
  pointer-events:none;
  z-index:0;
}
.brand::after{
  content:"";
  position:absolute;
  inset:-30% auto -30% -36%;
  width:44%;
  border-radius:24px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
  transform:translateX(-165%) rotate(16deg);
  opacity:.5;
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:0;
  transition:transform .6s cubic-bezier(.16,.92,.22,1),opacity .25s ease;
}
.brand-logo{
  position:relative;
  z-index:1;
  display:block;
  height:32px;
  width:auto;
  flex:0 0 auto;
  filter:drop-shadow(0 8px 18px rgba(255,180,76,.24));
}
.brand-name{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  min-height:30px;
  padding-left:12px;
  font-size:13px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 0 14px rgba(82,138,255,.14);
}
.brand-name::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:18px;
  transform:translateY(-50%);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.46),rgba(255,184,128,.28),rgba(255,255,255,.04));
  opacity:.72;
}
.brand:hover{
  transform:translateY(-1px);
  border-color:rgba(255,182,122,.55);
  background:linear-gradient(125deg,rgba(64,126,255,.26),rgba(255,120,75,.22));
  box-shadow:0 18px 34px rgba(8,18,38,.28),inset 0 1px 0 rgba(255,255,255,.24);
}
.brand:hover::after{
  transform:translateX(285%) rotate(16deg);
  opacity:.68;
}
.brand-dot{
  width:9px;height:9px;border-radius:50%;
  background:linear-gradient(135deg,#4693ff 0%,#ff6a43 70%,#ffb241 100%);
  box-shadow:0 0 0 6px rgba(70,147,255,.12),0 0 16px rgba(255,118,65,.42);
}
.theme-toggle{
  position:relative;
  width:58px;
  height:42px;
  flex:0 0 auto;
  border-radius:16px;
  border:1px solid rgba(132,161,232,.35);
  background:linear-gradient(125deg,rgba(15,25,48,.88),rgba(20,31,58,.76));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 24px rgba(6,12,26,.24);
  color:var(--text-soft);
  cursor:pointer;
  padding:0;
  overflow:hidden;
  background-clip:padding-box;
  transition:transform .28s var(--ease-out-quart),border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.theme-toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(162,190,255,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 16px 28px rgba(10,18,36,.3);
}
.theme-toggle-rail{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
}
.theme-toggle-thumb{
  position:absolute;
  left:5px;
  top:5px;
  width:30px;
  height:30px;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(72,133,255,.5),rgba(255,146,96,.4));
  box-shadow:0 10px 22px rgba(57,114,244,.26),inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .35s var(--ease-out-expo),background .25s ease,box-shadow .25s ease;
}
.theme-icon{
  position:absolute;
  top:50%;
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform:translateY(-50%);
  pointer-events:none;
  transition:opacity .25s ease,color .25s ease,transform .35s var(--ease-out-expo);
}
.theme-icon-sun{
  right:10px;
  opacity:.35;
  color:#7f8baa;
}
.theme-icon-moon{
  left:10px;
  opacity:.96;
  color:#eef4ff;
}
.lang-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  justify-content:center;
  height:42px;
  min-width:140px;
  padding:0 12px;
  flex:0 0 auto;
  border-radius:16px;
  border:1px solid rgba(132,161,232,.35);
  background:linear-gradient(125deg,rgba(14,24,46,.88),rgba(18,29,56,.76));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 24px rgba(6,12,26,.24);
  color:var(--text-soft);
  cursor:pointer;
  overflow:hidden;
  background-clip:padding-box;
  transition:transform .28s var(--ease-out-quart),border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.lang-toggle::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(128deg,rgba(79,139,255,.16),rgba(255,115,72,.08) 48%,rgba(255,189,98,.16)),
    radial-gradient(circle at 18% 24%,rgba(85,152,255,.18),transparent 42%);
  opacity:.95;
  pointer-events:none;
}
.lang-toggle::after{
  content:"";
  position:absolute;
  top:5px;
  bottom:5px;
  left:6px;
  width:74px;
  border-radius:12px;
  background:linear-gradient(130deg,rgba(84,144,255,.28),rgba(255,115,72,.22),rgba(255,183,92,.22));
  box-shadow:0 10px 20px rgba(44,93,218,.16),inset 0 1px 0 rgba(255,255,255,.22);
  transition:left .36s var(--ease-out-expo),width .3s ease;
  pointer-events:none;
}
.lang-toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(164,191,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 16px 28px rgba(10,18,36,.3);
}
.lang-toggle-seg,
.lang-toggle-divider{
  position:relative;
  z-index:1;
}
.lang-toggle-seg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  line-height:1;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.78;
  transition:opacity .25s ease,color .25s ease,transform .35s var(--ease-out-expo);
}
.lang-toggle-seg-original{min-width:74px}
.lang-toggle-seg-en{min-width:34px}
.lang-toggle-divider{
  font-size:11px;
  font-weight:700;
  opacity:.62;
}
html[data-lang="it"] .lang-toggle-seg-original,
html[data-lang="en"] .lang-toggle-seg-en{
  color:#fff;
  opacity:1;
  transform:translateY(-.5px);
  text-shadow:0 0 18px rgba(255,255,255,.22);
}
html[data-lang="en"] .lang-toggle::after{
  left:calc(100% - 6px - 34px);
  width:34px;
}
html[data-theme="light"] .theme-toggle{
  border-color:rgba(118,145,196,.24);
  background:linear-gradient(125deg,rgba(255,255,255,.9),rgba(242,247,255,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 12px 24px rgba(126,146,181,.16);
  color:#5d6f8e;
}
html[data-theme="light"] .theme-toggle:hover{
  border-color:rgba(104,134,190,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 16px 28px rgba(126,146,181,.22);
}
html[data-theme="light"] .theme-toggle-thumb{
  transform:translateX(18px);
  background:linear-gradient(135deg,rgba(255,213,122,.95),rgba(255,145,100,.82));
  box-shadow:0 10px 22px rgba(255,156,98,.22),inset 0 1px 0 rgba(255,255,255,.48);
}
html[data-theme="light"] .theme-icon-sun{
  opacity:1;
  color:#de7f33;
  transform:translateY(-50%) scale(1.04);
}
html[data-theme="light"] .theme-icon-moon{
  opacity:.28;
  color:#6b7a9f;
}
html[data-theme="light"] .lang-toggle{
  border-color:rgba(118,145,196,.24);
  background:linear-gradient(125deg,rgba(255,255,255,.9),rgba(242,247,255,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 12px 24px rgba(126,146,181,.16);
  color:#566780;
}
html[data-theme="light"] .lang-toggle:hover{
  border-color:rgba(104,134,190,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 16px 28px rgba(126,146,181,.22);
}
html[data-theme="light"] .lang-toggle::before{
  background:
    linear-gradient(128deg,rgba(74,108,255,.12),rgba(255,138,101,.08) 48%,rgba(255,196,103,.14)),
    radial-gradient(circle at 18% 24%,rgba(103,145,255,.14),transparent 42%);
}
html[data-theme="light"] .lang-toggle::after{
  background:linear-gradient(130deg,rgba(74,108,255,.18),rgba(255,144,100,.16),rgba(255,200,110,.16));
  box-shadow:0 10px 18px rgba(126,146,181,.14),inset 0 1px 0 rgba(255,255,255,.82);
}
html[data-theme="light"] .lang-toggle-seg{
  color:#5d6c86;
  opacity:.54;
}
html[data-theme="light"] .lang-toggle-divider{
  color:#7182a2;
  opacity:.34;
}
.nav-links{
  position:relative;
  display:flex;
  gap:8px;
  padding:6px;
  border-radius:18px;
  border:1px solid rgba(128,148,208,.3);
  background:linear-gradient(120deg,rgba(13,21,44,.72),rgba(8,13,29,.66));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 22px rgba(2,6,20,.3);
  overflow:hidden;
  background-clip:padding-box;
}
.nav-links::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:radial-gradient(circle at 10% 0%,rgba(77,136,255,.2),transparent 42%),radial-gradient(circle at 88% 100%,rgba(255,122,76,.16),transparent 46%);
}
.nav-link{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:10px 18px;
  border-radius:12px;
  color:var(--text-subtle);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
  border:1px solid transparent;
  background-clip:padding-box;
  transition:color .25s ease,transform .3s var(--ease-out-quart),border-color .25s ease,background .25s ease,box-shadow .25s ease;
  cursor:pointer;
}
.nav-link::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:linear-gradient(125deg,rgba(80,145,255,.16),rgba(255,108,66,.14),rgba(255,171,75,.13));
  opacity:0;
  transition:opacity .24s ease;
  z-index:-1;
}
.nav-link:hover{
  color:var(--text);
  transform:translateY(-2px);
  border-color:rgba(153,184,255,.38);
  box-shadow:0 8px 16px rgba(39,88,200,.22);
}
.nav-link:hover::before{opacity:1}
.nav-link.active{
  color:#fff;
  border-color:rgba(255,186,133,.58);
  background:linear-gradient(122deg,rgba(63,122,255,.35),rgba(255,103,66,.36),rgba(255,159,58,.3));
  box-shadow:0 12px 22px rgba(255,103,66,.22),0 8px 18px rgba(53,107,241,.26),inset 0 1px 0 rgba(255,255,255,.35);
}
.nav-link.active::before{opacity:0}
.nav-link:active{transform:translateY(0) scale(.98)}
.brand:focus-visible,
.theme-toggle:focus-visible,
.lang-toggle:focus-visible,
.nav-link:focus-visible,
.btn-mag:focus-visible,
.btn-ghost:focus-visible,
.project-card:focus-visible,
.stat-link:focus-visible,
.hamburger:focus-visible,
.contact-close:focus-visible,
.mob-link:focus-visible,
.contact-send:focus-visible{
  outline:2px solid var(--accentB);
  outline-offset:3px;
}
html[data-theme="light"] .topnav{
  border-color:rgba(120,145,191,.26);
  background:linear-gradient(110deg,rgba(255,255,255,.86),rgba(248,250,255,.82) 46%,rgba(240,246,255,.9));
  box-shadow:0 26px 55px rgba(130,147,182,.18),0 4px 18px rgba(62,116,210,.12),inset 0 1px 0 rgba(255,255,255,.88);
}
html[data-theme="light"] .topnav::before{
  background:linear-gradient(120deg,rgba(74,108,255,.12),rgba(255,138,101,.08),rgba(255,193,93,.12),rgba(74,108,255,.08));
  opacity:.72;
}
html[data-theme="light"] .topnav::after{
  background:
    linear-gradient(90deg,rgba(255,255,255,.58),transparent 24%,transparent 76%,rgba(255,255,255,.42)),
    radial-gradient(circle at 14% -32%,rgba(74,108,255,.12),transparent 54%),
    radial-gradient(circle at 88% 135%,rgba(255,138,101,.1),transparent 56%);
}
html[data-theme="light"] .brand{
  color:#18304d;
  background:linear-gradient(125deg,rgba(255,255,255,.86),rgba(242,247,255,.74));
  border-color:rgba(113,140,196,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(120,145,188,.14);
}
html[data-theme="light"] .brand::before{
  background:
    linear-gradient(130deg,rgba(90,141,255,.12),rgba(255,119,86,.08) 48%,rgba(255,190,104,.12)),
    radial-gradient(circle at 16% 24%,rgba(111,166,255,.18),transparent 42%);
}
html[data-theme="light"] .brand-name::before{
  background:linear-gradient(180deg,rgba(113,140,196,.06),rgba(113,140,196,.36),rgba(255,154,112,.24),rgba(113,140,196,.06));
}
html[data-theme="light"] .brand:hover{
  border-color:rgba(255,153,110,.38);
  background:linear-gradient(125deg,rgba(255,255,255,.94),rgba(239,246,255,.82));
  box-shadow:0 16px 28px rgba(125,149,189,.16),inset 0 1px 0 rgba(255,255,255,.94);
}
html[data-theme="light"] .nav-links{
  border-color:rgba(122,145,196,.22);
  background:linear-gradient(120deg,rgba(255,255,255,.82),rgba(244,247,255,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 10px 22px rgba(130,150,185,.14);
}
html[data-theme="light"] .nav-link{
  color:#566681;
}
html[data-theme="light"] .nav-link:hover{
  color:#20314f;
  border-color:rgba(122,154,217,.3);
  box-shadow:0 8px 16px rgba(108,140,201,.14);
}
html[data-theme="light"] .nav-link.active{
  color:#fff;
  border-color:rgba(255,171,122,.42);
  background:linear-gradient(122deg,rgba(74,108,255,.62),rgba(255,122,76,.52),rgba(255,171,75,.44));
  box-shadow:0 12px 22px rgba(118,142,214,.18),0 8px 18px rgba(255,124,82,.16),inset 0 1px 0 rgba(255,255,255,.42);
}

/* ═══════════════════════════════════════════════════
   B. PAGE TRANSITION OVERLAY
   ═══════════════════════════════════════════════════ */
.page-transition{
  position:fixed;inset:0;z-index:200;
  pointer-events:none;
  display:flex;
}
.page-transition .slab{
  flex:1;
  background:var(--bg0);
  transform:scaleY(0);
  transform-origin:bottom;
}
.page-transition.enter .slab{
  animation:slabUp .38s var(--ease-out-expo) forwards;
  animation-delay:var(--d);
}
.page-transition.exit .slab{
  transform:scaleY(1);
  transform-origin:top;
  animation:slabDown .38s var(--ease-out-expo) forwards;
  animation-delay:var(--d);
}
@keyframes slabUp{
  from{transform:scaleY(0);transform-origin:bottom}
  to{transform:scaleY(1);transform-origin:bottom}
}
@keyframes slabDown{
  from{transform:scaleY(1);transform-origin:top}
  to{transform:scaleY(0);transform-origin:top}
}

/* ═══════════════════════════════════════════════════
   PAGES CONTAINER
   ═══════════════════════════════════════════════════ */
.page{
  display:none;
  min-height:100vh;
}
.page.active{display:block}

/* ═══════════════════════════════════════════════════
   LAYOUT
   ═══════════════════════════════════════════════════ */
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:80px 0}


/* easter-eggs.css */
.nav-link-g{
  display:inline-flex;
  align-items:center;
  position:relative;
  min-width:48px;
  justify-content:center;
  padding-inline:15px;
  overflow:hidden;
  border-color:rgba(151,177,244,.34);
  background:
    radial-gradient(120% 180% at 50% 0%,rgba(93,146,255,.18),transparent 54%),
    linear-gradient(135deg,rgba(18,28,52,.92),rgba(18,25,45,.84) 44%,rgba(30,18,40,.88));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 12px 24px rgba(15,30,72,.26),
    0 0 28px rgba(82,138,255,.16);
  font-family:inherit;
  appearance:none;
  will-change:transform,box-shadow;
  animation:eggGFloat 4.6s cubic-bezier(.16,.92,.22,1) infinite;
}
.nav-link-g::before{
  opacity:.8;
  background:
    radial-gradient(circle at 22% 20%,rgba(73,136,255,.36),transparent 34%),
    radial-gradient(circle at 84% 76%,rgba(255,118,82,.3),transparent 36%),
    linear-gradient(135deg,rgba(76,138,255,.22),rgba(255,126,77,.18),rgba(255,205,122,.14));
  animation:eggGHalo 5.8s ease-in-out infinite;
}
.nav-link-g::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:50%;
  background:radial-gradient(circle at 38% 34%,rgba(255,255,255,.68),rgba(255,255,255,.24) 34%,rgba(112,165,255,.12) 52%,transparent 72%);
  transform:translateX(-135%);
  opacity:.66;
  mix-blend-mode:screen;
  pointer-events:none;
  animation:eggGScan 3.2s cubic-bezier(.22,.9,.22,1) infinite;
}
.nav-link-g-mark{
  position:relative;
  z-index:2;
  display:block;
  font-size:15px;
  font-weight:900;
  letter-spacing:.03em;
  color:var(--text);
  text-shadow:0 0 14px rgba(95,151,255,.32),0 0 18px rgba(255,128,89,.18);
  animation:eggGGlyph 4.6s ease-in-out infinite;
}
.nav-link-g-spark{
  position:absolute;
  top:6px;
  right:7px;
  z-index:2;
  width:7px;
  height:7px;
  border-radius:999px;
  background:radial-gradient(circle at 35% 35%,#fff,rgba(255,226,173,.88) 44%,rgba(255,124,88,.94));
  box-shadow:0 0 0 5px rgba(97,152,255,.1),0 0 18px rgba(255,128,88,.42);
  animation:eggGSpark 2.2s cubic-bezier(.16,.92,.22,1) infinite;
}
.nav-link-g.is-open,
.nav-link-g.has-active-egg{
  color:#fff;
  border-color:rgba(255,186,133,.58);
  background:linear-gradient(122deg,rgba(63,122,255,.35),rgba(255,103,66,.36),rgba(255,159,58,.3));
  box-shadow:0 12px 22px rgba(255,103,66,.22),0 8px 18px rgba(53,107,241,.26),inset 0 1px 0 rgba(255,255,255,.35);
  animation:none;
}
.nav-link-g.is-open::before,
.nav-link-g.has-active-egg::before{
  animation:none;
  opacity:1;
}
.nav-link-g.is-open::after,
.nav-link-g.has-active-egg::after{
  animation:none;
  opacity:.46;
  transform:translateX(108%);
}
.nav-link-g.is-open .nav-link-g-mark,
.nav-link-g.has-active-egg .nav-link-g-mark{
  animation:none;
  text-shadow:0 0 16px rgba(255,152,110,.28),0 0 20px rgba(96,152,255,.22);
}
.nav-link-g.is-open .nav-link-g-spark,
.nav-link-g.has-active-egg .nav-link-g-spark{
  animation:none;
  transform:scale(1.06);
}

.egg-popover{
  position:fixed;
  top:86px;
  left:50%;
  width:min(680px,calc(100vw - 24px));
  z-index:94;
  border:1px solid rgba(126,150,213,.32);
  border-radius:28px;
  background:
    linear-gradient(142deg,rgba(8,14,30,.96),rgba(10,17,33,.92) 44%,rgba(17,24,43,.95)),
    radial-gradient(circle at 16% 0%,rgba(64,126,255,.18),transparent 42%),
    radial-gradient(circle at 88% 108%,rgba(255,114,72,.14),transparent 48%);
  box-shadow:
    0 32px 70px rgba(4,8,20,.48),
    0 12px 28px rgba(30,69,176,.18),
    inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  overflow:hidden;
  background-clip:padding-box;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-18px) scale(.985);
  transition:opacity .28s ease,transform .34s cubic-bezier(.16,.92,.22,1);
}
.egg-popover::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.06),transparent 28%,transparent 72%,rgba(255,255,255,.04)),
    radial-gradient(circle at 12% 12%,rgba(82,138,255,.18),transparent 40%),
    radial-gradient(circle at 84% 86%,rgba(255,128,84,.16),transparent 42%);
}
.egg-popover.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0) scale(1);
}
.egg-popover.is-disabled .egg-item{
  opacity:.78;
}

.egg-popover-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px 18px;
  border-bottom:1px solid rgba(133,159,225,.18);
}
.egg-popover-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(128,149,214,.26);
  background:rgba(255,255,255,.04);
  color:var(--text-subtle);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.egg-popover h3{
  margin:14px 0 8px;
  font-size:24px;
  letter-spacing:-.03em;
}
.egg-popover-hint{
  margin:0;
  max-width:48ch;
  color:var(--muted);
  line-height:1.65;
  font-size:14px;
}
.egg-popover-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.egg-popover-state{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(123,151,220,.26);
  background:rgba(255,255,255,.05);
  color:var(--text);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.egg-popover-state::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accentA),var(--accentB));
  box-shadow:0 0 0 5px rgba(70,147,255,.12);
}

.egg-panel-btn,
.egg-close,
.egg-action{
  border:1px solid rgba(131,155,217,.22);
  background:rgba(255,255,255,.04);
  color:var(--text-soft);
  font:inherit;
  cursor:pointer;
  appearance:none;
  transition:transform .22s cubic-bezier(.16,.92,.22,1),border-color .22s ease,background .22s ease,color .22s ease,opacity .22s ease;
}
.egg-panel-btn:hover,
.egg-close:hover,
.egg-action:hover{
  transform:translateY(-1px);
  border-color:rgba(165,193,255,.42);
  background:rgba(255,255,255,.08);
}
.egg-panel-btn:disabled,
.egg-action:disabled{
  cursor:not-allowed;
  opacity:.68;
  transform:none;
}
.egg-panel-btn{
  padding:10px 14px;
  border-radius:14px;
  font-size:13px;
  font-weight:600;
}
.egg-panel-btn-reset{
  background:linear-gradient(130deg,rgba(72,133,255,.18),rgba(255,131,86,.16));
}
.egg-close{
  width:42px;
  height:42px;
  border-radius:14px;
  font-size:24px;
  line-height:1;
}

.egg-popover-list{
  position:relative;
  z-index:1;
  display:grid;
  gap:14px;
  padding:20px 24px 24px;
}
.egg-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(128,149,214,.2);
  background:
    linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02)),
    radial-gradient(circle at 18% 12%,rgba(73,134,255,.12),transparent 42%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.egg-item.is-active{
  border-color:rgba(255,186,133,.42);
  box-shadow:0 18px 38px rgba(255,104,66,.12),0 12px 26px rgba(53,107,241,.14),inset 0 1px 0 rgba(255,255,255,.14);
}
.egg-item-main{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:14px;
  align-items:flex-start;
}
.egg-item-icon{
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  border:1px solid rgba(131,154,216,.24);
  background:linear-gradient(135deg,rgba(71,132,255,.15),rgba(255,112,73,.14));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  font-size:22px;
}
.egg-item-topline{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:6px;
}
.egg-item strong{
  font-size:18px;
  letter-spacing:-.02em;
}
.egg-item-status{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(129,150,214,.22);
  background:rgba(255,255,255,.04);
  color:var(--text-subtle);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.egg-item.is-active .egg-item-status{
  color:#fff3e7;
  border-color:rgba(255,186,133,.4);
  background:rgba(255,143,96,.12);
}
.egg-item p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
  font-size:14px;
}
.egg-item-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.egg-action{
  min-width:88px;
  padding:10px 12px;
  border-radius:13px;
  font-size:13px;
  font-weight:600;
}
.egg-action-primary{
  background:linear-gradient(130deg,rgba(72,133,255,.2),rgba(255,131,86,.18));
}

.egg-fx-layer{
  position:fixed;
  inset:0;
  z-index:62;
  overflow:hidden;
  pointer-events:none;
}

#mainContent{
  transform-origin:50% 0;
  transition:transform .82s cubic-bezier(.16,.92,.22,1),filter .42s ease;
}

html[data-egg="askew"] #mainContent{
  transform:
    translate3d(var(--egg-askew-x,-12px),var(--egg-askew-y,8px),0)
    rotate(var(--egg-askew-rot,-1.1deg))
    skewY(var(--egg-askew-skew,-.24deg));
  filter:saturate(1.04) contrast(1.02);
}

html[data-egg="barrel-roll"] #mainContent{
  filter:saturate(1.04);
}
.egg-barrel-roll{
  animation:eggBarrelRoll 1.22s cubic-bezier(.2,.76,.22,1);
}

html[data-egg="blink"] .page.active h1,
html[data-egg="blink"] .page.active h2,
html[data-egg="blink"] .page.active h3,
html[data-egg="blink"] .page.active strong,
html[data-egg="blink"] .page.active .tag,
html[data-egg="blink"] .page.active .hero-form-kicker,
html[data-egg="blink"] .page.active .hero-form-status span,
html[data-egg="blink"] .page.active .hero-form-ribbon span,
html[data-egg="blink"] .page.active .btn-mag,
html[data-egg="blink"] .page.active .btn-ghost,
html[data-egg="blink"] .topnav .brand span,
html[data-egg="blink"] .topnav .nav-link:not(.nav-link-g){
  animation:eggBlinkText 1.04s steps(2,end) infinite;
  text-shadow:0 0 18px rgba(89,148,255,.2),0 0 26px rgba(255,120,80,.14);
}

.egg-gravity-piece{
  position:relative;
  transition:
    transform .92s cubic-bezier(.16,.92,.22,1.08) var(--egg-delay,0ms),
    filter .52s ease var(--egg-delay,0ms),
    box-shadow .52s ease var(--egg-delay,0ms),
    opacity .52s ease var(--egg-delay,0ms) !important;
  will-change:transform,filter;
  cursor:var(--cursor-grab,grab)!important;
  touch-action:none;
  user-select:none;
}
html[data-egg="gravity"] .egg-gravity-piece,
html[data-egg="gravity"] .egg-gravity-piece *{
  cursor:var(--cursor-grab,grab)!important;
}
html[data-egg="gravity"] .egg-gravity-piece{
  filter:brightness(.92) saturate(.9);
  box-shadow:0 28px 72px rgba(0,0,0,.34);
}
.egg-gravity-piece.is-dragging{
  cursor:var(--cursor-grabbing,grabbing)!important;
  filter:brightness(1.02) saturate(1.04);
  box-shadow:0 34px 84px rgba(0,0,0,.42),0 0 28px rgba(92,146,255,.16);
}
html[data-egg="gravity"] .egg-gravity-piece.is-dragging,
html[data-egg="gravity"] .egg-gravity-piece.is-dragging *{
  cursor:var(--cursor-grabbing,grabbing)!important;
}
html[data-egg="gravity"][data-egg-dragging="true"],
html[data-egg="gravity"][data-egg-dragging="true"] body,
html[data-egg="gravity"][data-egg-dragging="true"] #mainContent{
  cursor:var(--cursor-grabbing,grabbing)!important;
}

.egg-zerg-bug{
  position:absolute;
  left:0;
  top:0;
  width:16px;
  height:16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24);
  background:
    radial-gradient(circle at 35% 35%,rgba(255,255,255,.65),rgba(255,255,255,.02) 40%),
    linear-gradient(135deg,rgba(64,126,255,.9),rgba(255,110,70,.92),rgba(255,176,62,.85));
  box-shadow:0 0 18px rgba(70,147,255,.35),0 0 26px rgba(255,104,66,.18);
  transform:translate3d(var(--sx,0px),var(--sy,0px),0) scale(.72);
  animation:eggZergFly var(--dur,.9s) cubic-bezier(.2,.9,.2,1) forwards;
}
.egg-zerg-bug::before,
.egg-zerg-bug::after{
  content:"";
  position:absolute;
  inset:5px 1px;
  border-radius:999px;
  background:rgba(255,255,255,.26);
  transform:rotate(32deg);
}
.egg-zerg-bug::after{
  transform:rotate(-32deg);
}
.egg-zerg-hit{
  animation:eggZergHit .54s cubic-bezier(.2,.88,.2,1);
}

@keyframes eggBarrelRoll{
  0%{transform:rotate(0deg)}
  58%{transform:rotate(368deg)}
  78%{transform:rotate(354deg)}
  100%{transform:rotate(360deg)}
}
@keyframes eggGFloat{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 0 1px rgba(255,255,255,.03) inset,0 12px 24px rgba(15,30,72,.26),0 0 28px rgba(82,138,255,.16);
  }
  50%{
    transform:scale(1.018);
    box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 14px 28px rgba(15,30,72,.34),0 0 42px rgba(82,138,255,.22),0 0 56px rgba(255,114,82,.14);
  }
}
@keyframes eggGHalo{
  0%,100%{
    transform:scale(1) rotate(0deg);
    opacity:.74;
    filter:saturate(1);
  }
  50%{
    transform:scale(1.05) rotate(4deg);
    opacity:.96;
    filter:saturate(1.18);
  }
}
@keyframes eggGScan{
  0%,12%{
    transform:translateX(-135%);
    opacity:0;
  }
  28%{
    opacity:.88;
  }
  52%{
    transform:translateX(135%);
    opacity:.86;
  }
  100%{
    transform:translateX(135%);
    opacity:0;
  }
}
@keyframes eggGGlyph{
  0%,100%{
    transform:translateY(0) scale(1);
    letter-spacing:.03em;
  }
  50%{
    transform:translateY(0) scale(1.06);
    letter-spacing:.04em;
    text-shadow:0 0 18px rgba(95,151,255,.42),0 0 20px rgba(255,128,89,.2);
  }
}
@keyframes eggGSpark{
  0%,100%{
    transform:translate3d(0,0,0) scale(.88);
    opacity:.56;
  }
  35%{
    transform:translate3d(-2px,1px,0) scale(1.18);
    opacity:.94;
  }
  68%{
    transform:translate3d(1px,-1px,0) scale(.92);
    opacity:.72;
  }
}
@keyframes eggBlinkText{
  0%,46%{opacity:1}
  47%,100%{opacity:.14}
}
@keyframes eggZergFly{
  0%{
    transform:translate3d(var(--sx,0px),var(--sy,0px),0) scale(.72);
    opacity:0;
  }
  10%,74%{
    opacity:1;
  }
  100%{
    transform:translate3d(var(--tx,0px),var(--ty,0px),0) scale(.16);
    opacity:0;
  }
}
@keyframes eggZergHit{
  0%{
    filter:none;
    box-shadow:none;
  }
  45%{
    filter:brightness(1.08) saturate(1.12);
    box-shadow:0 0 0 1px rgba(255,117,83,.34),0 0 24px rgba(73,132,255,.16),inset 0 0 0 1px rgba(255,255,255,.12);
  }
  100%{
    filter:none;
    box-shadow:none;
  }
}

html[data-theme="light"] .nav-link-g.is-open{
  color:#1f2e47;
  border-color:rgba(228,150,108,.42);
  background:linear-gradient(122deg,rgba(92,128,255,.18),rgba(255,166,124,.22),rgba(255,207,159,.2));
  box-shadow:0 16px 26px rgba(126,146,181,.18),inset 0 1px 0 rgba(255,255,255,.8);
}
html[data-theme="light"] .nav-link-g.has-active-egg{
  color:#1f2e47;
  border-color:rgba(228,150,108,.42);
  background:linear-gradient(122deg,rgba(92,128,255,.18),rgba(255,166,124,.22),rgba(255,207,159,.2));
  box-shadow:0 16px 26px rgba(126,146,181,.18),inset 0 1px 0 rgba(255,255,255,.8);
}
html[data-theme="light"] .nav-link-g{
  border-color:rgba(118,145,196,.24);
  background:
    radial-gradient(120% 180% at 50% 0%,rgba(93,146,255,.1),transparent 54%),
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(246,249,255,.88) 44%,rgba(252,246,241,.94));
  box-shadow:0 12px 24px rgba(126,146,181,.14),0 0 24px rgba(96,151,255,.1),inset 0 1px 0 rgba(255,255,255,.94);
}
html[data-theme="light"] .nav-link-g-mark{
  color:#21314c;
  text-shadow:0 0 14px rgba(96,151,255,.18),0 0 18px rgba(255,128,89,.1);
}
html[data-theme="light"] .nav-link-g::before{
  background:
    radial-gradient(circle at 22% 20%,rgba(73,136,255,.2),transparent 34%),
    radial-gradient(circle at 84% 76%,rgba(255,118,82,.18),transparent 36%),
    linear-gradient(135deg,rgba(76,138,255,.1),rgba(255,126,77,.1),rgba(255,205,122,.08));
}
html[data-theme="light"] .egg-popover{
  border-color:rgba(118,145,196,.22);
  background:
    linear-gradient(142deg,rgba(255,255,255,.96),rgba(245,249,255,.94) 44%,rgba(250,246,240,.95)),
    radial-gradient(circle at 16% 0%,rgba(64,126,255,.08),transparent 42%),
    radial-gradient(circle at 88% 108%,rgba(255,114,72,.08),transparent 48%);
  box-shadow:
    0 30px 60px rgba(126,146,181,.18),
    0 10px 24px rgba(126,146,181,.12),
    inset 0 1px 0 rgba(255,255,255,.96);
}
html[data-theme="light"] .egg-popover-kicker,
html[data-theme="light"] .egg-popover-state,
html[data-theme="light"] .egg-item-status{
  border-color:rgba(118,145,196,.18);
  background:rgba(255,255,255,.74);
}
html[data-theme="light"] .egg-popover-kicker,
html[data-theme="light"] .egg-item-status,
html[data-theme="light"] .egg-item p,
html[data-theme="light"] .egg-popover-hint{
  color:#647591;
}
html[data-theme="light"] .egg-popover-state,
html[data-theme="light"] .egg-item strong,
html[data-theme="light"] .egg-popover h3{
  color:#1d2e49;
}
html[data-theme="light"] .egg-panel-btn,
html[data-theme="light"] .egg-close,
html[data-theme="light"] .egg-action{
  border-color:rgba(118,145,196,.2);
  background:rgba(255,255,255,.72);
  color:#30415f;
  box-shadow:0 10px 22px rgba(126,146,181,.12);
}
html[data-theme="light"] .egg-item{
  border-color:rgba(118,145,196,.18);
  background:
    linear-gradient(135deg,rgba(255,255,255,.76),rgba(245,249,255,.6)),
    radial-gradient(circle at 18% 12%,rgba(73,134,255,.08),transparent 42%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94);
}
html[data-theme="light"] .egg-item.is-active{
  border-color:rgba(228,150,108,.32);
  box-shadow:0 16px 32px rgba(126,146,181,.16),inset 0 1px 0 rgba(255,255,255,.98);
}
html[data-theme="light"] .egg-item-icon{
  border-color:rgba(118,145,196,.18);
  background:linear-gradient(135deg,rgba(71,132,255,.08),rgba(255,112,73,.08));
}

@media(max-width:900px){
  .egg-item{
    grid-template-columns:1fr;
  }
  .egg-item-actions{
    justify-content:flex-start;
  }
}

@media(max-width:768px){
  .nav-link-g,
  .egg-popover{
    display:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .nav-link-g,
  .nav-link-g::before,
  .nav-link-g::after,
  .nav-link-g-mark,
  .nav-link-g-spark{
    animation:none!important;
    transform:none!important;
  }
}


/* animations.css */
/* ═══════════════════════════════════════════════════
   A. SCROLL-DRIVEN — REVEAL
   ═══════════════════════════════════════════════════ */
.reveal{
  opacity:0;
  transform:translateY(30px);
  filter:blur(6px);
  transition:
    opacity .9s var(--ease-out-expo),
    transform .9s var(--ease-out-expo),
    filter .9s var(--ease-out-expo);
  transition-delay:var(--d,0ms);
}
.reveal.in{opacity:1;transform:translateY(0);filter:blur(0)}

/* Reveal from left / right */
.reveal-left{
  opacity:0;transform:translateX(-42px);filter:blur(4px);
  transition:opacity .9s var(--ease-out-expo),transform .9s var(--ease-out-expo),filter .9s var(--ease-out-expo);
  transition-delay:var(--d,0ms);
}
.reveal-left.in{opacity:1;transform:translateX(0);filter:blur(0)}
.reveal-right{
  opacity:0;transform:translateX(42px);filter:blur(4px);
  transition:opacity .9s var(--ease-out-expo),transform .9s var(--ease-out-expo),filter .9s var(--ease-out-expo);
  transition-delay:var(--d,0ms);
}
.reveal-right.in{opacity:1;transform:translateX(0);filter:blur(0)}

/* Scale reveal */
.reveal-scale{
  opacity:0;transform:scale(.88);filter:blur(6px);
  transition:opacity .9s var(--ease-out-expo),transform .9s var(--ease-out-expo),filter .9s var(--ease-out-expo);
  transition-delay:var(--d,0ms);
}
.reveal-scale.in{opacity:1;transform:scale(1);filter:blur(0)}

/* ═══════════════════════════════════════════════════
   A. SCROLL-DRIVEN — PARALLAX SECTION
   ═══════════════════════════════════════════════════ */
.parallax-section{
  position:relative;overflow:hidden;
  min-height:80vh;
  display:flex;align-items:center;
}
.parallax-bg{
  position:absolute;inset:-20% 0;
  background-size:cover;background-position:center;
  will-change:transform;
  filter:brightness(.45) saturate(1.2);
}
.parallax-content{
  position:relative;z-index:2;
  width:100%;
}

/* Orbit, signal flow and kinetic typography manifesto */
.tech-orbit-experience{
  --tech-progress:0;
  --tech-sweep:-20%;
  --tech-grid-y:0px;
  --tech-caption-opacity:.15;
  --tech-scroll-opacity:1;
  position:relative;
  min-height:220vh;
  padding:0;
}
.tech-orbit-sticky{
  position:sticky;
  top:0;
  height:100vh;
  height:100svh;
  min-height:620px;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 48%,rgba(124,92,255,.16),transparent 22%),
    radial-gradient(circle at 16% 74%,rgba(255,61,206,.12),transparent 28%),
    radial-gradient(circle at 86% 22%,rgba(0,212,255,.12),transparent 26%),
    linear-gradient(145deg,rgba(8,10,24,.97),rgba(4,12,22,.99));
}
.tech-orbit-sticky::before,
.tech-orbit-sticky::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.tech-orbit-sticky::before{
  z-index:6;
  box-shadow:inset 0 0 130px rgba(0,0,0,.78);
}
.tech-orbit-sticky::after{
  z-index:0;
  opacity:.3;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.045) 50%,transparent 80%);
  transform:translateX(var(--tech-sweep));
}
.tech-orbit-grid{
  position:absolute;
  inset:-20%;
  z-index:-1;
  opacity:.24;
  background-image:
    linear-gradient(rgba(135,158,220,.11) 1px,transparent 1px),
    linear-gradient(90deg,rgba(135,158,220,.11) 1px,transparent 1px);
  background-size:72px 72px;
  transform:perspective(800px) rotateX(62deg) translate3d(0,var(--tech-grid-y),-120px) scale(1.35);
  transform-origin:50% 70%;
  mask-image:radial-gradient(ellipse at center,#000 0%,transparent 69%);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 0%,transparent 69%);
}
.tech-orbit-signal{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.tech-orbit-signal-ghost,
.tech-orbit-signal-live{
  fill:none;
  vector-effect:non-scaling-stroke;
}
.tech-orbit-signal-ghost{
  stroke:rgba(136,153,194,.16);
  stroke-width:1.2;
}
.tech-orbit-signal-live{
  stroke:url(#techSignalGrad);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  filter:drop-shadow(0 0 8px rgba(0,212,255,.7)) drop-shadow(0 0 18px rgba(124,92,255,.4));
}
.tech-orbit-nodes circle{
  fill:#eaf0ff;
  stroke:rgba(0,212,255,.65);
  stroke-width:4;
  vector-effect:non-scaling-stroke;
  opacity:.08;
  transform-box:fill-box;
  transform-origin:center;
  transform:scale(.25);
  transition:opacity .28s ease,transform .5s var(--ease-out-expo),filter .35s ease;
}
.tech-orbit-nodes circle.is-active{
  opacity:1;
  transform:scale(1);
  filter:drop-shadow(0 0 14px rgba(0,212,255,.9));
}
.tech-orbit-core{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:clamp(150px,18vw,280px);
  aspect-ratio:1;
  border-radius:50%;
  transform:translate3d(-50%,-50%,0) scale(.8);
  opacity:.72;
  pointer-events:none;
  will-change:transform,opacity;
}
.tech-orbit-core::before{
  content:"";
  position:absolute;
  inset:21%;
  border-radius:50%;
  background:radial-gradient(circle at 36% 30%,#fff 0 2%,#7cf0ff 6%,rgba(0,212,255,.5) 25%,rgba(124,92,255,.24) 52%,transparent 72%);
  filter:blur(1px) drop-shadow(0 0 30px rgba(0,212,255,.42));
}
.tech-orbit-core-ring{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(140,185,255,.25);
}
.tech-orbit-core-ring-a{
  inset:5%;
  border-left-color:rgba(255,61,206,.7);
  border-right-color:rgba(0,212,255,.78);
  animation:techOrbitSpin 9s linear infinite;
}
.tech-orbit-core-ring-b{
  inset:18%;
  border-top-color:rgba(255,255,255,.78);
  border-bottom-color:rgba(124,92,255,.68);
  animation:techOrbitSpin 6s linear infinite reverse;
}
.tech-orbit-core-dot{
  position:absolute;
  left:50%;top:50%;
  width:8px;height:8px;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 8px rgba(0,212,255,.1),0 0 28px rgba(0,212,255,.9);
}
@keyframes techOrbitSpin{to{transform:rotate(360deg)}}
.tech-orbit-content{
  position:relative;
  z-index:6;
  width:min(1180px,calc(100% - 48px));
  text-align:center;
  pointer-events:none;
  isolation:isolate;
}
.tech-orbit-content::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-9% 18%;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(ellipse at center,var(--shield-mid),var(--shield-soft) 60%,transparent 100%);
  backdrop-filter:blur(4px) saturate(94%);
  -webkit-backdrop-filter:blur(4px) saturate(94%);
  mask-image:radial-gradient(ellipse at center,#000 0 58%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 0 58%,transparent 100%);
}
.tech-orbit-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:clamp(22px,4vh,42px);
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.tech-orbit-kicker i{
  width:7px;height:7px;
  border-radius:50%;
  background:var(--accentB);
  box-shadow:0 0 0 6px rgba(0,212,255,.1),0 0 18px rgba(0,212,255,.7);
}
.tech-orbit-title{
  max-width:11ch;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  column-gap:.19em;
  row-gap:.025em;
  color:var(--text);
  font-size:clamp(54px,8.4vw,126px);
  font-weight:850;
  line-height:.82;
  letter-spacing:-.065em;
  text-transform:uppercase;
  text-wrap:balance;
  perspective:900px;
}
.tech-orbit-word{
  display:inline-flex;
  white-space:nowrap;
}
.tech-orbit-word.is-accent{
  color:transparent;
  background:linear-gradient(100deg,#9c8cff,#65dfff 48%,#ffc0a2);
  background-clip:text;
  -webkit-background-clip:text;
  filter:drop-shadow(0 8px 26px rgba(0,212,255,.12));
}
.tech-orbit-char{
  display:inline-block;
  transform-origin:50% 70%;
  will-change:transform,opacity;
}
.tech-orbit-caption{
  position:relative;
  z-index:7;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:clamp(26px,5vh,52px);
  padding:10px 18px;
  border:1px solid rgba(135,190,255,.24);
  border-radius:999px;
  color:var(--text);
  background:linear-gradient(105deg,rgba(105,92,255,.13),rgba(23,191,234,.11),rgba(255,166,126,.1));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 36px rgba(44,163,255,.12);
  text-shadow:0 0 18px rgba(114,211,255,.48);
  font-size:clamp(12px,1.2vw,15px);
  font-weight:750;
  letter-spacing:.24em;
  text-transform:uppercase;
  opacity:var(--tech-caption-opacity);
}
html:not([data-theme="light"]) .tech-orbit-content :is(.tech-orbit-title,.tech-orbit-kicker,.tech-orbit-caption){
  text-shadow:0 2px 3px rgba(0,0,0,.8),0 8px 28px rgba(1,5,14,.42);
}
.tech-orbit-words{
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
}
.tech-orbit-token{
  position:absolute;
  left:50%;top:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:9px 13px;
  border:1px solid rgba(142,171,230,.24);
  border-radius:999px;
  color:var(--text-soft);
  background:linear-gradient(135deg,rgba(18,29,57,.72),rgba(25,18,45,.58));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 35px rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  transform:translate3d(-50%,-50%,0);
  transform-origin:center;
  will-change:transform,opacity;
}
.tech-orbit-scroll{
  position:absolute;
  left:50%;bottom:28px;
  z-index:5;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  transform:translateX(-50%);
  color:var(--text-faint);
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:var(--tech-scroll-opacity);
}
.tech-orbit-scroll-line{
  width:1px;height:38px;
  background:linear-gradient(180deg,transparent,var(--accentB));
  transform-origin:top;
  animation:techScrollPulse 1.6s ease-in-out infinite;
}
@keyframes techScrollPulse{
  0%,100%{transform:scaleY(.35);opacity:.35}
  50%{transform:scaleY(1);opacity:1}
}
html[data-theme="light"] .tech-orbit-sticky{
  background:
    radial-gradient(circle at 50% 48%,rgba(75,108,255,.15),transparent 24%),
    radial-gradient(circle at 16% 74%,rgba(255,138,101,.12),transparent 28%),
    radial-gradient(circle at 86% 22%,rgba(8,188,231,.14),transparent 26%),
    linear-gradient(145deg,#f8f5ef,#edf5ff);
}
html[data-theme="light"] .tech-orbit-title{color:#162541}
html[data-theme="light"] .tech-orbit-token{
  color:#34486e;
  background:rgba(255,255,255,.65);
  border-color:rgba(82,111,169,.2);
  box-shadow:inset 0 1px 0 #fff,0 12px 32px rgba(66,88,132,.14);
}
html[data-theme="light"] .tech-orbit-caption{
  color:#20355b;
  background:linear-gradient(105deg,rgba(112,98,255,.1),rgba(33,187,224,.1),rgba(255,151,105,.1));
  border-color:rgba(67,105,176,.22);
  box-shadow:inset 0 1px 0 #fff,0 10px 30px rgba(66,88,132,.12);
  text-shadow:none;
}
html[data-theme="light"] .tech-orbit-scroll{color:rgba(53,73,112,.68)}

@media(min-width:769px) and (max-height:760px){
  .tech-orbit-caption{margin-top:52px}
}

@media(max-width:768px){
  .tech-orbit-experience{min-height:185vh}
  .tech-orbit-sticky{min-height:560px}
  .tech-orbit-grid{background-size:48px 48px;opacity:.18}
  .tech-orbit-content{width:calc(100% - 28px)}
  .tech-orbit-content::before{inset:-7% 2%}
  .tech-orbit-kicker{font-size:9px;letter-spacing:.15em;margin-bottom:24px}
  .tech-orbit-title{
    max-width:9ch;
    column-gap:.16em;
    font-size:clamp(42px,13vw,64px);
    line-height:.86;
  }
  .tech-orbit-caption{max-width:calc(100vw - 42px);padding:9px 12px;font-size:9px;letter-spacing:.12em;margin-top:28px}
  .tech-orbit-token{min-width:0;padding:7px 9px;font-size:8px;letter-spacing:.1em}
  .tech-orbit-signal{width:150%;left:-25%}
}

@media(prefers-reduced-motion:reduce){
  .tech-orbit-experience{min-height:auto;padding:0}
  .tech-orbit-sticky{position:relative;height:auto;min-height:78svh}
  .tech-orbit-core-ring,
  .tech-orbit-scroll-line{animation:none!important}
  .tech-orbit-scroll{display:none}
}

/* A. SCROLL-DRIVEN — Horizontal scroll section */
.hscroll-track{
  position:relative;
  /* height set by JS: panels * 100vh */
}
.hscroll-sticky{
  position:sticky;top:0;
  height:100vh;
  overflow:hidden;
  display:flex;align-items:center;
}
.hscroll-tape{
  display:flex;gap:32px;
  padding:0 48px;
  will-change:transform;
}
.hscroll-panel{
  flex:0 0 min(80vw,520px);
  min-height:55vh;
  position:relative;
  isolation:isolate;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:var(--glass);
  overflow:hidden;
  background-clip:padding-box;
  display:flex;flex-direction:column;
}
.hscroll-panel .glow{z-index:0}
.hscroll-panel > *:not(.glow){
  position:relative;
  z-index:1;
}
.hscroll-panel-media{
  position:relative;
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:48px;
  border-bottom:1px solid var(--stroke);
  overflow:hidden;
}
.hscroll-panel-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 46%);
  pointer-events:none;
}
.hscroll-panel img{
  width:100%;height:220px;object-fit:cover;
  border-bottom:1px solid var(--stroke);
}
.hscroll-panel .body{
  padding:28px;
  flex:1;
  display:flex;
  flex-direction:column;
  transform:translateZ(22px);
}
.hscroll-panel h3{font-size:20px;margin-bottom:8px;letter-spacing:-.02em}
.hscroll-panel p{color:var(--muted);line-height:1.7;font-size:14px}
.hscroll-source{
  margin-top:10px;
  color:var(--muted);
  font-size:12px;
}

/* Lazy live-news cards: source-colored graphics without remote imagery. */
.live-news-card{
  --news-rgb:74 217 255;
  color:var(--text);
  text-decoration:none;
  border-color:rgb(var(--news-rgb) / .24);
  background:
    radial-gradient(circle at 84% 9%,rgb(var(--news-rgb) / .1),transparent 34%),
    var(--glass);
  box-shadow:inset 0 1px 0 rgb(var(--news-rgb) / .1),0 24px 70px rgba(0,0,0,.2);
  transition:border-color .35s ease,box-shadow .35s ease;
}
.live-news-card:hover{
  border-color:rgb(var(--news-rgb) / .5);
  box-shadow:inset 0 1px 0 rgb(var(--news-rgb) / .18),0 30px 85px rgb(var(--news-rgb) / .12);
}
.live-news-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(125deg,transparent 35%,rgb(var(--news-rgb) / .11) 50%,transparent 65%);
  transform:translateX(-115%);
  animation:liveNewsSweep 5.8s ease-in-out infinite;
}
.live-news-card:nth-last-of-type(even)::after{animation-delay:-2.4s}
@keyframes liveNewsSweep{
  0%,58%{transform:translateX(-115%)}
  82%,100%{transform:translateX(115%)}
}
.live-news-media{
  background:
    radial-gradient(circle at 50% 50%,rgb(var(--news-rgb) / .26),transparent 31%),
    linear-gradient(135deg,rgb(var(--news-rgb) / .17),rgba(8,18,38,.9));
}
.live-news-media strong{
  position:relative;
  z-index:2;
  color:var(--text);
  font-size:clamp(40px,5.4vw,70px);
  font-weight:900;
  letter-spacing:-.055em;
  text-shadow:0 0 36px rgb(var(--news-rgb) / .42);
}
.live-news-orbit{
  position:absolute;
  left:50%;top:50%;
  border:1px solid rgb(var(--news-rgb) / .4);
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(-14deg);
  animation:liveNewsOrbit 7s linear infinite;
}
.live-news-orbit-a{width:190px;height:92px}
.live-news-orbit-b{width:120px;height:180px;animation-direction:reverse;animation-duration:9s}
.live-news-orbit::after{
  content:"";
  position:absolute;
  left:14%;top:4%;
  width:8px;height:8px;
  border-radius:50%;
  background:rgb(var(--news-rgb));
  box-shadow:0 0 16px rgb(var(--news-rgb));
}
@keyframes liveNewsOrbit{to{transform:translate(-50%,-50%) rotate(346deg)}}
.live-news-index{
  position:absolute;
  right:22px;bottom:15px;
  color:var(--text-faint);
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}
.live-news-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.live-news-meta time{
  color:var(--muted);
  font-size:11px;
  white-space:nowrap;
}
.live-news-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  padding:6px 10px;
  border:1px solid rgb(var(--news-rgb) / .3);
  border-radius:999px;
  background:rgb(var(--news-rgb) / .08);
  color:rgb(var(--news-rgb));
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
}
.live-news-badge i{
  width:6px;height:6px;
  border-radius:50%;
  background:rgb(var(--news-rgb));
  box-shadow:0 0 0 5px rgb(var(--news-rgb) / .08),0 0 14px rgb(var(--news-rgb));
  animation:liveNewsPulse 1.8s ease-in-out infinite;
}
@keyframes liveNewsPulse{50%{opacity:.48;transform:scale(.72)}}
.live-news-card h3{font-size:clamp(18px,1.8vw,22px);line-height:1.18}
.live-news-summary{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.live-news-source{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:18px;
}
.live-news-cta{color:rgb(var(--news-rgb));font-weight:750;white-space:nowrap}
.live-news-placeholder-media{
  background:radial-gradient(circle at 50% 50%,rgba(82,204,255,.18),transparent 38%),linear-gradient(135deg,rgba(73,51,133,.34),rgba(13,85,112,.25));
}
.live-news-radar,
.live-news-radar::before,
.live-news-radar::after{
  position:absolute;
  left:50%;top:50%;
  width:66px;height:66px;
  border:1px solid rgba(97,218,255,.3);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.live-news-radar::before,
.live-news-radar::after{content:"";animation:liveNewsRadar 2.4s ease-out infinite}
.live-news-radar::after{animation-delay:1.2s}
.live-news-radar-core{
  position:relative;
  width:12px;height:12px;
  border-radius:50%;
  background:#67dfff;
  box-shadow:0 0 24px #67dfff;
}
@keyframes liveNewsRadar{to{width:210px;height:210px;opacity:0}}
.live-news-placeholder.is-loading .live-news-radar{animation:liveNewsOrbit 2.5s linear infinite}
.live-news-placeholder.is-error .live-news-radar-core{background:#ff9f84;box-shadow:0 0 20px #ff9f84}
html[data-theme="light"] .live-news-card{color:#172541;box-shadow:inset 0 1px 0 rgb(var(--news-rgb) / .16),0 24px 58px rgba(42,73,113,.12)}
html[data-theme="light"] .live-news-badge{color:#24496e;background:rgb(var(--news-rgb) / .12)}
html[data-theme="light"] .live-news-cta{color:#24496e}

@media(prefers-reduced-motion:reduce){
  .live-news-card::after,
  .live-news-orbit,
  .live-news-badge i,
  .live-news-radar,
  .live-news-radar::before,
  .live-news-radar::after{animation:none!important}
}

/* A. SCROLL-DRIVEN — Progress ring */
.scroll-ring-wrap{
  position:fixed;bottom:28px;right:28px;z-index:80;
  width:48px;height:48px;
  opacity:0;transition:opacity .3s ease;
  pointer-events:none;
}
.scroll-ring-wrap.show{opacity:1}
.scroll-ring{
  transform:rotate(-90deg);
}
.scroll-ring circle{
  fill:none;stroke-width:3;
}
.scroll-ring .track{stroke:rgba(255,255,255,.08)}
.scroll-ring .fill{
  stroke:url(#ringGrad);
  stroke-dasharray:126;
  stroke-dashoffset:126;
  stroke-linecap:round;
  transition:stroke-dashoffset .1s linear;
}


/* sagittarius.css */
.sagittarius-backdrop{
  position:fixed;
  z-index:-1;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(30,54,99,.2),transparent 44%),
    radial-gradient(ellipse at 65% 35%,rgba(94,51,151,.1),transparent 54%);
  transition:opacity .9s cubic-bezier(.22,.7,.18,1),filter .45s ease;
  will-change:opacity;
  contain:strict;
}

.sagittarius-backdrop.is-running{opacity:.97}

.sagittarius-backdrop::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at center,transparent 32%,rgba(3,6,13,.12) 70%,rgba(3,6,13,.28) 100%),
    linear-gradient(180deg,rgba(3,6,13,.18),transparent 24%,transparent 72%,rgba(3,6,13,.22));
}

.sagittarius-canvas,
.sagittarius-nebula{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}

.sagittarius-canvas{z-index:0}

.sagittarius-nebula{
  z-index:1;
  opacity:.72;
  background:
    radial-gradient(ellipse 38% 15% at 50% 50%,rgba(240,246,255,.15),transparent 68%),
    radial-gradient(ellipse 60% 30% at 50% 50%,rgba(91,154,255,.085),transparent 72%);
  mix-blend-mode:screen;
  animation:sagittarius-nebula-breathe 8s ease-in-out infinite alternate;
}

html[data-theme="light"] .sagittarius-backdrop{
  opacity:0;
  filter:none;
  background:
    radial-gradient(ellipse at 48% 48%,rgba(55,86,202,.14),transparent 45%),
    radial-gradient(ellipse at 68% 38%,rgba(241,91,55,.11),transparent 55%);
}

html[data-theme="light"] .sagittarius-backdrop.is-running{opacity:.88}

html[data-theme="light"] .sagittarius-backdrop::after{
  background:
    radial-gradient(ellipse at center,transparent 32%,rgba(42,68,135,.035) 72%,rgba(238,92,55,.055) 100%),
    linear-gradient(180deg,rgba(255,255,255,.04),transparent 28%,transparent 74%,rgba(42,68,135,.035));
}

html[data-theme="light"] .sagittarius-nebula{
  background:
    radial-gradient(ellipse 38% 15% at 50% 50%,rgba(23,53,126,.18),transparent 68%),
    radial-gradient(ellipse 60% 30% at 50% 50%,rgba(235,74,49,.09),transparent 72%);
  mix-blend-mode:multiply;
}

@keyframes sagittarius-nebula-breathe{
  from{opacity:.58;transform:scale(.94) rotate(-1deg)}
  to{opacity:.88;transform:scale(1.08) rotate(1deg)}
}

@media(max-width:760px){
  .sagittarius-backdrop.is-running{opacity:.8}
  html[data-theme="light"] .sagittarius-backdrop.is-running{opacity:.76}
}

@media(prefers-reduced-motion:reduce){
  .sagittarius-nebula{animation:none;opacity:.58}
}


/* abyss-hover.css */
/* Sagittarius Slingshot: a lightweight constellation tied to the native illustrated cursor. */
.site-abyss-hover{
  --abyss-core:rgba(255,248,239,.98);
  --abyss-hot:rgba(255,255,255,.4);
  --abyss-mid:rgba(123,151,255,.16);
  --abyss-edge:rgba(0,212,255,.055);
  --cursor-coral:#f04a3a;
  --cursor-gold:#ffd84d;
  --cursor-cyan:#71c7f2;
  position:fixed;
  inset:0;
  z-index:94;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  contain:strict;
  transition:opacity .22s ease,visibility 0s linear .22s;
}

.site-abyss-hover.is-visible{
  opacity:1;
  visibility:visible;
  transition-delay:0s;
}

.site-abyss-hover__trail{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  z-index:2;
  opacity:0;
  transition:opacity .2s ease;
}

.site-abyss-hover.is-visible .site-abyss-hover__trail{opacity:.86}
.site-abyss-hover__stop-coral{stop-color:var(--cursor-coral)}
.site-abyss-hover__stop-gold{stop-color:var(--cursor-gold)}
.site-abyss-hover__stop-cyan{stop-color:var(--cursor-cyan)}

.site-abyss-hover__bow-shadow,
.site-abyss-hover__bow,
.site-abyss-hover__string{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.site-abyss-hover__bow-shadow{
  stroke:rgba(113,199,242,.18);
  stroke-width:7;
}

.site-abyss-hover__bow{
  stroke:url('#siteCursorThreadGradient');
  stroke-width:2.25;
  stroke-dasharray:2 3.5;
}

.site-abyss-hover__string{
  stroke:var(--abyss-core);
  stroke-width:1;
  stroke-dasharray:2.5 4.5;
  opacity:.4;
}

.site-abyss-hover__position{
  position:absolute;
  top:0;
  left:0;
  width:256px;
  height:256px;
  margin:-128px 0 0 -128px;
  border-radius:50%;
  transform:translate3d(-300px,-300px,0);
  will-change:transform;
}

.site-abyss-hover__field,
.site-abyss-hover__ring,
.site-abyss-hover__origin,
.site-abyss-hover__snap{
  position:absolute;
  top:50%;
  left:50%;
  pointer-events:none;
}

.site-abyss-hover__field{
  width:142px;
  height:142px;
  margin:-71px 0 0 -71px;
  border-radius:50%;
  background:
    radial-gradient(circle,
      var(--abyss-hot) 0,
      var(--abyss-mid) 20%,
      var(--abyss-edge) 43%,
      transparent 70%);
  box-shadow:0 0 54px rgba(255,255,255,.06);
  mix-blend-mode:screen;
  opacity:.2;
  transform:scale(.3);
  transition:transform .65s var(--ease-out-expo),opacity .35s ease,box-shadow .65s ease;
  will-change:transform,opacity;
  z-index:0;
}

.site-abyss-hover__ring{
  width:28px;
  height:28px;
  margin:-14px 0 0 -14px;
  border:1px solid rgba(255,248,239,.34);
  border-radius:50%;
  box-shadow:0 0 20px rgba(113,199,242,.13),inset 0 0 13px rgba(255,216,77,.07);
  opacity:.24;
  transform:scale(.58);
  transition:transform .55s var(--ease-out-expo),opacity .26s ease;
  z-index:1;
}

.site-abyss-hover__origin{
  width:4px;
  height:4px;
  margin:-2px 0 0 -2px;
  border-radius:50%;
  background:var(--abyss-core);
  box-shadow:0 0 8px rgba(255,248,239,.9),0 0 22px rgba(113,199,242,.55);
  transform:scale(.76);
  transition:transform .45s var(--ease-out-expo),box-shadow .3s ease,opacity .18s ease;
  z-index:4;
}

.site-abyss-hover__satellite{
  --satellite-size:8px;
  position:absolute;
  top:0;
  left:0;
  width:var(--satellite-size);
  height:var(--satellite-size);
  margin:calc(var(--satellite-size) * -.5) 0 0 calc(var(--satellite-size) * -.5);
  border:1.5px solid #111;
  opacity:0;
  transform:translate3d(-300px,-300px,0);
  will-change:transform;
  transition:opacity .18s ease;
  z-index:3;
}

.site-abyss-hover.is-visible .site-abyss-hover__satellite{opacity:.94}
.site-abyss-hover__satellite--coral{
  --satellite-size:9px;
  border-radius:50%;
  background:var(--cursor-coral);
  box-shadow:0 0 0 3px rgba(240,74,58,.08),0 0 13px rgba(240,74,58,.42);
}
.site-abyss-hover__satellite--gold{
  border:0;
  background:var(--cursor-gold);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  filter:drop-shadow(0 0 1px #111) drop-shadow(0 0 5px rgba(255,216,77,.4));
}
.site-abyss-hover__satellite--cyan{
  --satellite-size:10px;
  border:0;
  background:var(--cursor-cyan);
  clip-path:polygon(50% 0,61% 36%,98% 38%,68% 59%,79% 96%,50% 74%,21% 96%,32% 59%,2% 38%,39% 36%);
  filter:drop-shadow(0 0 1px #111) drop-shadow(0 0 6px rgba(113,199,242,.48));
}

.site-abyss-hover__snap{
  width:15px;
  height:15px;
  margin:-7.5px 0 0 -7.5px;
  opacity:0;
  background:var(--cursor-gold);
  clip-path:polygon(50% 0,61% 34%,96% 20%,72% 50%,100% 65%,64% 66%,62% 100%,48% 72%,20% 96%,33% 62%,0 52%,35% 43%,18% 12%,46% 33%);
  filter:drop-shadow(0 0 1px #111) drop-shadow(0 0 8px rgba(255,216,77,.5));
  z-index:5;
}

.site-abyss-hover.is-interactive .site-abyss-hover__field{
  opacity:.42;
  transform:scale(.7);
  box-shadow:0 0 74px rgba(113,199,242,.12);
}

.site-abyss-hover.is-interactive .site-abyss-hover__ring{
  opacity:.78;
  transform:scale(1);
}

.site-abyss-hover.is-interactive .site-abyss-hover__origin{
  transform:scale(1.35);
  box-shadow:0 0 9px rgba(255,248,239,1),0 0 27px rgba(113,199,242,.72);
}

.site-abyss-hover.is-pressing .site-abyss-hover__field{
  transform:scale(.92);
  opacity:.88;
}

.site-abyss-hover.is-pressing .site-abyss-hover__ring{
  transform:scale(.68);
  opacity:1;
}

.site-abyss-hover.is-pressing .site-abyss-hover__string{
  stroke-width:1.45;
  opacity:.72;
}

.site-abyss-hover.is-snapping .site-abyss-hover__snap{
  animation:siteCursorSnap .42s cubic-bezier(.16,.92,.22,1) both;
}

.site-abyss-hover.is-idle .site-abyss-hover__trail{opacity:.28}
.site-abyss-hover.is-idle .site-abyss-hover__satellite{opacity:.36}
.site-abyss-hover.is-idle .site-abyss-hover__field{
  opacity:.08;
  transform:scale(.26);
}
.site-abyss-hover.is-idle .site-abyss-hover__ring{
  opacity:.3;
  transform:scale(.72);
}

.site-abyss-hover.is-text .site-abyss-hover__trail,
.site-abyss-hover.is-text .site-abyss-hover__satellite,
.site-abyss-hover.is-text .site-abyss-hover__field,
.site-abyss-hover.is-text .site-abyss-hover__ring,
.site-abyss-hover.is-text .site-abyss-hover__snap{
  opacity:0;
}
.site-abyss-hover.is-text .site-abyss-hover__origin{opacity:.18}

@keyframes siteCursorSnap{
  0%{opacity:0;transform:scale(.2) rotate(-16deg)}
  22%{opacity:1}
  58%{opacity:.94;transform:scale(1.7) rotate(12deg)}
  100%{opacity:0;transform:scale(3.6) rotate(34deg)}
}

html[data-theme="light"] .site-abyss-hover{
  --abyss-core:rgba(31,48,94,.96);
  --abyss-hot:rgba(65,91,166,.27);
  --abyss-mid:rgba(65,111,220,.13);
  --abyss-edge:rgba(0,145,190,.045);
  --cursor-coral:#c83e34;
  --cursor-gold:#a86b00;
  --cursor-cyan:#176f98;
}

html[data-theme="light"] .site-abyss-hover__field{
  mix-blend-mode:multiply;
  box-shadow:0 0 54px rgba(46,77,152,.07);
}

html[data-theme="light"] .site-abyss-hover__bow-shadow{stroke:rgba(40,83,167,.14)}
html[data-theme="light"] .site-abyss-hover__string{opacity:.3}
html[data-theme="light"] .site-abyss-hover__ring{
  border-color:rgba(38,64,130,.28);
  box-shadow:0 0 20px rgba(44,76,154,.1),inset 0 0 13px rgba(44,76,154,.07);
}
html[data-theme="light"] .site-abyss-hover__origin{
  box-shadow:0 0 8px rgba(39,67,136,.66),0 0 21px rgba(65,105,205,.35);
}

html[data-egg] .site-abyss-hover{opacity:0!important}

@media not all and (hover:hover) and (pointer:fine){
  .site-abyss-hover{display:none!important}
}

@media(max-width:900px){
  .site-abyss-hover{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .site-abyss-hover{display:none!important}
}


/* components.css */
/* ═══════════════════════════════════════════════════
   D. REUSABLE COMPONENTS
   ═══════════════════════════════════════════════════ */

/* --- Gradient text --- */
.grad{
  --grad-ink:
    radial-gradient(140% 150% at 88% 8%, rgba(255,248,238,.98) 0%, rgba(255,205,160,.82) 18%, rgba(255,123,82,.42) 40%, rgba(255,82,82,.18) 62%, transparent 82%),
    radial-gradient(170% 180% at 0% 100%, #09249a 0%, #071a78 24%, #081251 48%, #220d33 70%, #14070d 100%),
    repeating-linear-gradient(116deg, rgba(255,221,175,.32) 0 5px, rgba(255,94,76,.14) 5px 13px, transparent 13px 22px),
    conic-gradient(from 0deg at 52% 50%, #ffe4cb 0deg, #ff9a40 60deg, #ff4d49 132deg, #2c55ff 224deg, #0b1d90 300deg, #ffe4cb 360deg),
    linear-gradient(126deg, #4c70ff 0%, #8aa7ff 20%, #ffb15a 42%, #ff5e45 62%, #d32732 78%, #0f257f 100%);
  display:inline;
  vertical-align:baseline;
  line-height:inherit;
  background-image:var(--grad-ink);
  background-size:230% 230%,240% 240%,340% 340%,260% 260%,210% 210%;
  background-position:94% 8%,0% 100%,0% 0%,20% 34%,8% 50%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 10px rgba(90,132,255,.3)) drop-shadow(0 0 24px rgba(255,118,64,.26));
  animation:gradStorm 1.9s cubic-bezier(.22,.61,.36,1) infinite,gradPulse 1.1s ease-in-out infinite alternate;
}
@keyframes gradStorm{
  0%{
    background-position:94% 8%,0% 100%,0% 0%,20% 34%,8% 50%;
    background-size:230% 230%,240% 240%,340% 340%,260% 260%,210% 210%;
  }
  25%{
    background-position:70% 20%,14% 90%,32% 20%,44% 42%,30% 44%;
    background-size:245% 245%,224% 224%,306% 306%,272% 272%,196% 196%;
  }
  50%{
    background-position:98% 4%,4% 100%,64% 48%,74% 56%,58% 62%;
    background-size:214% 214%,252% 252%,350% 350%,248% 248%,220% 220%;
  }
  75%{
    background-position:82% 12%,0% 88%,88% 78%,90% 74%,82% 82%;
    background-size:238% 238%,232% 232%,320% 320%,266% 266%,206% 206%;
  }
  100%{
    background-position:94% 8%,0% 100%,100% 96%,100% 86%,100% 90%;
    background-size:230% 230%,240% 240%,340% 340%,260% 260%,210% 210%;
  }
}
@keyframes gradPulse{
  0%{
    filter:drop-shadow(0 0 8px rgba(116,156,255,.24)) drop-shadow(0 0 18px rgba(255,109,68,.2));
  }
  100%{
    filter:drop-shadow(0 0 18px rgba(144,181,255,.5)) drop-shadow(0 0 38px rgba(255,102,64,.42));
  }
}
.split-text .grad{
  display:inline;
  vertical-align:baseline;
  transform:none!important;
}

/* --- Split text (reusable) --- */
.split-text .word{
  display:inline-block;overflow:hidden;margin-right:0;
  vertical-align:baseline;
  line-height:1em;
}
.grad .word,
.grad .char-wrap{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  line-height:inherit!important;
  vertical-align:baseline!important;
  transform:none!important;
  opacity:1!important;
}
.grad .word{
  margin-right:0;
  overflow:visible;
}
.split-text .word .char-wrap{
  display:inline-block;
  vertical-align:baseline;
  line-height:1em;
  transform:translateY(110%);
  opacity:0;
  transition:transform .7s var(--ease-out-expo),opacity .5s ease;
  transition-delay:var(--d);
}
.grad .word .char-wrap{
  display:inline;
}
.split-text.in .word .char-wrap{
  transform:translateY(0);opacity:1;
}

/* --- Glass card --- */
.glass-card{
  position:relative;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:var(--glass);
  backdrop-filter:blur(7px) saturate(108%);
  -webkit-backdrop-filter:blur(7px) saturate(108%);
  overflow:hidden;
  background-clip:padding-box;
  transform-style:preserve-3d;
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.glass-card:hover{border-color:rgba(255,255,255,.18)}
.glass-card .glow{
  position:absolute;inset:-80%;
  background:
    radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(0,212,255,.16),transparent 40%),
    radial-gradient(circle at calc(var(--gx,50%) + 8%) calc(var(--gy,50%) + 8%),rgba(255,61,206,.12),transparent 44%);
  opacity:0;transition:opacity .22s ease;pointer-events:none;
}
.glass-card:hover .glow{opacity:1}
.glass-card .inner{position:relative;padding:28px;transform:translateZ(24px)}
html:not([data-theme="light"]) .glass-card .inner :is(h2,h3,p){
  text-shadow:0 1px 2px rgba(0,0,0,.72),0 5px 20px rgba(1,5,14,.3);
}
.tilt{
  transform-origin:center center;
  transform-style:preserve-3d;
  backface-visibility:hidden;
}

/* --- Magnetic button --- */
.btn-mag{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(120% 150% at 30% 20%,rgba(124,92,255,.32),rgba(124,92,255,.06) 55%,rgba(255,255,255,.02)),
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  color:var(--text);font-weight:600;font-size:15px;
  text-decoration:none;cursor:pointer;
  box-shadow:0 16px 60px rgba(124,92,255,.12);
  overflow:hidden;user-select:none;
  background-clip:padding-box;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  font-family:inherit;
  appearance:none;
}
.btn-mag:active{transform:scale(.985)!important}
.btn-mag .shine{
  position:absolute;inset:-50%;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.16),transparent 42%);
  transform:translate3d(var(--mx,0),var(--my,0),0);
  transition:transform .16s cubic-bezier(.22,.61,.36,1);pointer-events:none;
}
.btn-mag .ripple{
  position:absolute;width:12px;height:12px;border-radius:50%;
  background:rgba(255,255,255,.35);
  transform:translate(-50%,-50%) scale(0);
  animation:btnRipple .6s ease-out;pointer-events:none;
}
@keyframes btnRipple{to{transform:translate(-50%,-50%) scale(20);opacity:0}}

.hero-cta-main{
  isolation:isolate;
  padding:16px 30px;
  border-color:rgba(255,203,147,.34);
  background:
    radial-gradient(140% 160% at 18% 22%, rgba(92,129,255,.42), transparent 54%),
    radial-gradient(150% 170% at 88% 16%, rgba(255,156,86,.34), transparent 52%),
    linear-gradient(135deg, rgba(255,120,71,.32), rgba(88,126,255,.22) 54%, rgba(255,210,120,.18));
  box-shadow:
    0 24px 70px rgba(255,118,71,.18),
    0 28px 82px rgba(88,126,255,.18),
    inset 0 1px 0 rgba(255,255,255,.24);
  animation:heroCtaBreath 3.8s ease-in-out infinite;
}
.hero-cta-main::before{
  content:"";
  position:absolute;
  inset:-24%;
  background:
    radial-gradient(circle at 22% 40%, rgba(111,151,255,.36), transparent 34%),
    radial-gradient(circle at 82% 24%, rgba(255,167,102,.34), transparent 30%),
    radial-gradient(circle at 50% 88%, rgba(255,216,138,.16), transparent 36%);
  filter:blur(28px);
  opacity:.92;
  pointer-events:none;
  z-index:0;
  animation:heroCtaAura 3.2s ease-in-out infinite;
}
.hero-cta-main::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:
    linear-gradient(110deg, rgba(255,255,255,.12), rgba(255,255,255,.02) 34%, rgba(255,255,255,.12)),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  pointer-events:none;
  z-index:0;
}
.hero-cta-main > *{
  position:relative;
  z-index:1;
}
.hero-cta-main .shine{
  inset:-65%;
  background:
    radial-gradient(circle at 24% 30%, rgba(255,255,255,.3), transparent 30%),
    radial-gradient(circle at 72% 72%, rgba(255,207,145,.22), transparent 36%);
  animation:heroCtaSweep 2.4s linear infinite;
}
.hero-cta-main > span:last-child{
  font-size:18px;
  line-height:1;
  transition:transform .24s cubic-bezier(.22,.61,.36,1);
  animation:heroCtaArrow 1.55s ease-in-out infinite;
}
.hero-cta-main:hover{
  border-color:rgba(255,225,176,.52);
  box-shadow:
    0 28px 86px rgba(255,118,71,.24),
    0 30px 98px rgba(88,126,255,.24),
    inset 0 1px 0 rgba(255,255,255,.28);
}
.hero-cta-main:hover > span:last-child{
  transform:translateX(4px) rotate(-8deg);
}
@keyframes heroCtaBreath{
  0%,100%{
    box-shadow:
      0 22px 62px rgba(255,118,71,.16),
      0 24px 72px rgba(88,126,255,.16),
      inset 0 1px 0 rgba(255,255,255,.22);
  }
  50%{
    box-shadow:
      0 30px 82px rgba(255,118,71,.24),
      0 32px 96px rgba(88,126,255,.22),
      inset 0 1px 0 rgba(255,255,255,.28);
  }
}
@keyframes heroCtaAura{
  0%,100%{opacity:.82;transform:scale(1)}
  50%{opacity:1;transform:scale(1.06)}
}
@keyframes heroCtaSweep{
  0%{transform:translate3d(-24%,0,0)}
  100%{transform:translate3d(24%,0,0)}
}
@keyframes heroCtaArrow{
  0%,100%{transform:translateX(0) rotate(0)}
  50%{transform:translateX(5px) rotate(-10deg)}
}

.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 24px;border-radius:14px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.03);
  background-clip:padding-box;
  color:var(--muted);font-weight:500;font-size:15px;
  text-decoration:none;cursor:pointer;
  transition:all .2s ease;
  font-family:inherit;
  appearance:none;
}
.btn-ghost:hover{color:var(--text);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06)}

/* --- Tag --- */
.tag{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  border:1px solid var(--stroke);background:var(--surface);
  overflow:hidden;
  background-clip:padding-box;
  color:var(--muted);font-size:12px;font-weight:500;
}
.tag i{
  width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,var(--accentA),var(--accentB));
  box-shadow:0 0 0 4px rgba(0,212,255,.08);
}
html[data-theme="light"] .glass-card{
  border-color:rgba(118,145,196,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(245,249,255,.6));
  box-shadow:0 18px 44px rgba(129,148,183,.12),inset 0 1px 0 rgba(255,255,255,.88);
}
html[data-theme="light"] .glass-card:hover{border-color:rgba(112,142,199,.28)}
html[data-theme="light"] .btn-mag{
  color:#fff;
  border-color:rgba(103,132,191,.18);
  box-shadow:0 16px 48px rgba(102,129,190,.16);
}
html[data-theme="light"] .hero-cta-main{
  border-color:rgba(233,168,105,.34);
  box-shadow:
    0 22px 58px rgba(244,147,84,.2),
    0 26px 74px rgba(109,143,208,.18),
    inset 0 1px 0 rgba(255,255,255,.42);
}
html[data-theme="light"] .btn-ghost{
  color:#50627f;
  border-color:rgba(121,145,193,.18);
  background:rgba(255,255,255,.64);
  box-shadow:0 10px 24px rgba(126,148,184,.12);
}
html[data-theme="light"] .btn-ghost:hover{
  color:#1b2d49;
  border-color:rgba(104,134,190,.26);
  background:rgba(255,255,255,.82);
}

/* Fuel Atlas announcement and original project card preview. */
.fuelatlas-launch{
  --fuel-ink:#16272a;
  position:fixed;top:22px;left:50%;z-index:89;width:min(740px,calc(100vw - 460px));
  display:flex;align-items:stretch;overflow:hidden;border:1px solid rgba(22,39,42,.3);border-radius:24px;
  background:radial-gradient(circle at 10% 0%,rgba(247,184,68,.32),transparent 32%),linear-gradient(110deg,rgba(255,253,247,.98),rgba(229,242,234,.98) 62%,rgba(230,243,239,.98));
  box-shadow:0 18px 42px rgba(3,8,21,.22),0 0 22px rgba(85,194,177,.1),inset 0 1px 0 #fff;
  backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);transform:translateX(-50%);
}
.fuelatlas-launch[hidden]{display:none}
.fuelatlas-launch::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.4),transparent 35%,transparent 77%,rgba(85,194,177,.08));pointer-events:none}
.fuelatlas-launch-link{position:relative;z-index:1;min-width:0;flex:1;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:8px 14px 8px 10px;color:var(--fuel-ink);text-decoration:none;transition:background .22s ease}
.fuelatlas-launch-link:hover{background:rgba(255,255,255,.4)}
.fuelatlas-launch-mark{width:44px;height:44px;display:grid;place-items:center;border:1.5px solid var(--fuel-ink);border-radius:14px;background:#f7b844;box-shadow:0 0 0 3px rgba(85,194,177,.11),0 7px 17px rgba(38,37,33,.13)}
.fuelatlas-launch-mark svg{width:30px;height:30px;fill:none;stroke:var(--fuel-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fuelatlas-launch-copy{min-width:0;display:grid;gap:2px;line-height:1.1}
.fuelatlas-launch-eyebrow{color:#187e73;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.fuelatlas-launch-title{overflow:hidden;color:var(--fuel-ink);font-size:14px;font-weight:800;line-height:1.25;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}
.fuelatlas-launch-cta{display:inline-flex;align-items:center;gap:6px;color:#187e73;font-size:12px;font-weight:780;line-height:1.2;white-space:nowrap}
.fuelatlas-launch-cta>span:last-child{transition:transform .22s var(--ease-out-quart)}
.fuelatlas-launch-link:hover .fuelatlas-launch-cta>span:last-child{transform:translate(2px,-2px)}
.fuelatlas-launch-close{position:relative;z-index:1;flex:0 0 44px;width:44px;min-height:60px;border:0;border-left:1px solid rgba(22,39,42,.14);background:rgba(255,255,255,.25);color:#52665e;font-family:inherit;font-size:21px;font-weight:300;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}
.fuelatlas-launch-close:hover{background:rgba(239,112,83,.1);color:#a84332}
.fuelatlas-launch-link:focus-visible,.fuelatlas-launch-close:focus-visible{outline:2px solid #187e73;outline-offset:-3px}
#page-home>.delpopolo-launch:not([hidden])~.fuelatlas-launch:not([hidden]),
#page-home>.strawberrynana-launch:not([hidden])~.fuelatlas-launch:not([hidden]),
#page-home>.margherita-launch:not([hidden])~.fuelatlas-launch:not([hidden]){top:90px}
#page-home>.delpopolo-launch:not([hidden])~.strawberrynana-launch:not([hidden])~.fuelatlas-launch:not([hidden]),
#page-home>.delpopolo-launch:not([hidden])~.margherita-launch:not([hidden])~.fuelatlas-launch:not([hidden]),
#page-home>.strawberrynana-launch:not([hidden])~.margherita-launch:not([hidden])~.fuelatlas-launch:not([hidden]){top:158px}
#page-home>.delpopolo-launch:not([hidden])~.strawberrynana-launch:not([hidden])~.margherita-launch:not([hidden])~.fuelatlas-launch:not([hidden]){top:226px}
@media(max-width:980px){
  .fuelatlas-launch{position:relative;top:auto;left:auto;width:min(720px,calc(100% - 48px));margin:104px auto 0;border-radius:20px;transform:none}
  #page-home>.delpopolo-launch:not([hidden])~.fuelatlas-launch:not([hidden]),#page-home>.strawberrynana-launch:not([hidden])~.fuelatlas-launch:not([hidden]),#page-home>.margherita-launch:not([hidden])~.fuelatlas-launch:not([hidden]){top:auto;margin:14px auto 0}
  #page-home>.fuelatlas-launch:not([hidden])+.hero{padding-top:32px}
}
@media(max-width:760px){.fuelatlas-launch{width:calc(100% - 30px);margin-top:78px}}
@media(max-width:640px){
  .fuelatlas-launch-link{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"mark copy" "mark cta";row-gap:4px;padding:10px 10px 10px 12px}
  .fuelatlas-launch-mark{grid-area:mark;width:40px;height:40px}.fuelatlas-launch-mark svg{width:28px;height:28px}
  .fuelatlas-launch-copy{grid-area:copy}.fuelatlas-launch-title{font-size:13px}.fuelatlas-launch-eyebrow{font-size:9px}
  .fuelatlas-launch-cta{grid-area:cta;justify-self:start}.fuelatlas-launch-close{min-height:66px}
}
@media(prefers-reduced-motion:reduce){.fuelatlas-launch-link,.fuelatlas-launch-close,.fuelatlas-launch-cta>span:last-child{transition:none!important}}
.project-thumb.project-thumb-fuelatlas{display:block;padding:0;border-bottom-color:rgba(22,39,42,.23);background:linear-gradient(138deg,#f6efe1,#dcebe3)}
.project-thumb.project-thumb-fuelatlas img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease-out-quart)}
.project-card-fuelatlas:hover .project-thumb.project-thumb-fuelatlas img{transform:scale(1.035)}

/* OpenPause portfolio card. Its artwork is original and remains static. */
.project-thumb.project-thumb-openpause{display:block;padding:0;background:#07140f;border-bottom-color:rgba(104,247,167,.2)}
.project-thumb.project-thumb-openpause img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s var(--ease-out-quart)}
.project-card-openpause:hover .project-thumb.project-thumb-openpause img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.project-thumb.project-thumb-openpause img{transition:none}.project-card-openpause:hover .project-thumb.project-thumb-openpause img{transform:none}}


/* pages.css */
/* ═══════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════ */
.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:120px 0 72px;
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 18%,rgba(124,92,255,.18),transparent 26%),
    radial-gradient(circle at 84% 24%,rgba(0,212,255,.15),transparent 24%),
    linear-gradient(140deg,rgba(255,255,255,.03),transparent 42%,rgba(255,255,255,.02));
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:112px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  opacity:.54;
  pointer-events:none;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  gap:56px;
  align-items:center;
  position:relative;
  z-index:1;
}
.home-scroll-cue{
  position:absolute;
  bottom:18px;
  left:50%;
  z-index:4;
  display:grid;
  place-items:center;
  gap:5px;
  transform:translateX(-50%);
  color:var(--text-subtle);
  pointer-events:none;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.home-scroll-cue span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.22em;
  line-height:1;
  text-transform:uppercase;
}
.home-scroll-cue svg{
  width:20px;
  height:42px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  animation:homeScrollCue 1.8s ease-in-out infinite;
}
@keyframes homeScrollCue{
  0%,100%{transform:translateY(-2px);opacity:.64}
  50%{transform:translateY(5px);opacity:1}
}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:38px}
}

.hero-copy{position:relative}

/* Soft local contrast: moving light stays visible through the feathered shield,
   while details directly behind longer copy are gently subdued. */
.readability-shield{
  position:relative;
  z-index:0;
  isolation:isolate;
  width:min(760px,100%);
}
.readability-shield::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-34px -48px;
  border-radius:56px;
  pointer-events:none;
  background:radial-gradient(ellipse at 46% 48%,
    var(--shield-core) 0%,
    var(--shield-mid) 48%,
    var(--shield-soft) 72%,
    transparent 100%);
  backdrop-filter:blur(5px) saturate(92%);
  -webkit-backdrop-filter:blur(5px) saturate(92%);
  mask-image:radial-gradient(ellipse at 50% 50%,#000 0 58%,rgba(0,0,0,.82) 74%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 0 58%,rgba(0,0,0,.82) 74%,transparent 100%);
}
.readability-shield-center{
  margin-inline:auto;
  text-align:center;
}
.readability-shield-compact{width:fit-content;max-width:100%}
.readability-shield-column{width:100%}
.readability-shield-column::before{inset:-26px -30px}
.readability-shield-home-lead{width:min(60ch,100%)}
.readability-shield-home-lead::before{inset:-6px -28px -18px}
html:not([data-theme="light"]) .readability-shield :is(h1,h2,p){
  text-shadow:0 1px 2px rgba(0,0,0,.82),0 6px 24px rgba(1,5,14,.38);
}
.readability-shield p{font-weight:500}

@media(max-width:680px){
  .readability-shield::before{
    inset:-22px -18px;
    border-radius:36px;
    backdrop-filter:blur(4px) saturate(94%);
    -webkit-backdrop-filter:blur(4px) saturate(94%);
  }
  .readability-shield-column::before{inset:-20px -14px}
  .readability-shield-home-lead::before{inset:-4px -14px -14px}
}

/* Temporary launch beacon for Strawberrynana World. It belongs to the home page,
   so the existing SPA route visibility also controls the fixed desktop version. */
.strawberrynana-launch{
  --strawberry:#ff315d;
  --banana:#ffdb2f;
  --world:#62dbe8;
  position:fixed;
  top:22px;
  left:50%;
  z-index:89;
  width:min(620px,calc(100vw - 460px));
  min-width:0;
  display:flex;
  align-items:stretch;
  border:1px solid rgba(255,49,93,.42);
  border-radius:999px;
  background:
    radial-gradient(circle at 18% 0%,rgba(255,219,47,.12),transparent 34%),
    linear-gradient(112deg,rgba(8,14,28,.94),rgba(27,12,34,.92) 58%,rgba(9,24,37,.94));
  box-shadow:
    0 18px 46px rgba(3,8,21,.34),
    0 0 30px rgba(255,49,93,.1),
    inset 0 1px 0 rgba(255,255,255,.13);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  overflow:hidden;
  transform:translateX(-50%);
  background-clip:padding-box;
  animation:strawberrynanaLaunchEnter .58s var(--ease-out-expo) .35s both;
}
.strawberrynana-launch[hidden]{display:none}
.strawberrynana-launch::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,rgba(255,255,255,.07),transparent 32%,transparent 74%,rgba(98,219,232,.06));
  pointer-events:none;
}
.strawberrynana-launch-link{
  position:relative;
  z-index:1;
  min-width:0;
  flex:1 1 auto;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:7px 12px 7px 9px;
  color:var(--text);
  text-decoration:none;
  transition:background .22s ease;
}
.strawberrynana-launch-link:hover{
  background:linear-gradient(90deg,rgba(255,49,93,.08),rgba(98,219,232,.07));
}
.strawberrynana-launch-orb{
  position:relative;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:13px;
  background:linear-gradient(145deg,var(--banana),#ffc51f);
  box-shadow:0 0 0 3px rgba(255,49,93,.1),0 7px 18px rgba(255,49,93,.2);
}
.strawberrynana-launch-orb svg{
  display:block;
  width:32px;
  height:38px;
  filter:drop-shadow(0 3px 3px rgba(17,17,15,.18));
}
.strawberrynana-launch-orb::after{
  content:"";
  position:absolute;
  inset:-5px -8px;
  border:1px solid rgba(98,219,232,.48);
  border-radius:50%;
  transform:rotate(-19deg);
  animation:strawberrynanaOrbitPulse 3.2s ease-in-out infinite;
}
.strawberrynana-launch-copy{
  min-width:0;
  display:grid;
  gap:2px;
  line-height:1.1;
}
.strawberrynana-launch-eyebrow{
  color:#ff829c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.strawberrynana-launch-title{
  overflow:hidden;
  color:#f7f4ff;
  font-size:14px;
  font-weight:760;
  line-height:1.25;
  letter-spacing:-.01em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.strawberrynana-launch-cta{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--world);
  font-size:12px;
  font-weight:750;
  line-height:1.2;
  white-space:nowrap;
}
.strawberrynana-launch-cta>span:last-child{
  transition:transform .22s var(--ease-out-quart);
}
.strawberrynana-launch-link:hover .strawberrynana-launch-cta>span:last-child{
  transform:translate(2px,-2px);
}
.strawberrynana-launch-close{
  position:relative;
  z-index:1;
  flex:0 0 44px;
  width:44px;
  min-height:52px;
  border:0;
  border-left:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.025);
  color:var(--text-subtle);
  font-family:inherit;
  font-size:21px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.strawberrynana-launch-close:hover{
  background:rgba(255,49,93,.12);
  color:#fff;
}
.strawberrynana-launch-link:focus-visible,
.strawberrynana-launch-close:focus-visible{
  outline:2px solid var(--world);
  outline-offset:-3px;
}

html[data-theme="light"] .strawberrynana-launch{
  border-color:rgba(214,20,70,.3);
  background:
    radial-gradient(circle at 18% 0%,rgba(255,219,47,.2),transparent 35%),
    linear-gradient(112deg,rgba(255,255,255,.94),rgba(255,241,244,.94) 58%,rgba(239,251,255,.96));
  box-shadow:0 16px 42px rgba(86,104,145,.18),0 0 24px rgba(255,49,93,.08),inset 0 1px 0 #fff;
}
html[data-theme="light"] .strawberrynana-launch-title{color:#19243b}
html[data-theme="light"] .strawberrynana-launch-eyebrow{color:#c91443}
html[data-theme="light"] .strawberrynana-launch-cta{color:#17677d}
html[data-theme="light"] .strawberrynana-launch-close{
  border-left-color:rgba(82,105,147,.14);
  background:rgba(255,255,255,.26);
  color:#68758e;
}
html[data-theme="light"] .strawberrynana-launch-close:hover{
  background:rgba(255,49,93,.1);
  color:#a20f37;
}

@keyframes strawberrynanaLaunchEnter{
  from{opacity:0}
  to{opacity:1}
}
@keyframes strawberrynanaOrbitPulse{
  0%,100%{opacity:.42;transform:rotate(-19deg) scale(.96)}
  50%{opacity:.9;transform:rotate(-19deg) scale(1.05)}
}

@media(max-width:980px){
  .strawberrynana-launch{
    position:relative;
    top:auto;
    left:auto;
    z-index:2;
    width:min(720px,calc(100% - 48px));
    margin:104px auto 0;
    border-radius:20px;
    transform:none;
  }
  #page-home>.strawberrynana-launch:not([hidden])+.hero{
    padding-top:32px;
  }
}
@media(max-width:760px){
  .strawberrynana-launch{
    width:calc(100% - 30px);
    margin-top:78px;
  }
  #page-home>.strawberrynana-launch:not([hidden])+.hero{
    padding-top:28px;
  }
}
@media(max-width:640px){
  .strawberrynana-launch-link{
    grid-template-columns:38px minmax(0,1fr);
    grid-template-areas:
      "orb copy"
      "orb cta";
    row-gap:4px;
    padding:11px 10px 11px 13px;
  }
  .strawberrynana-launch-orb{grid-area:orb}
  .strawberrynana-launch-copy{grid-area:copy}
  .strawberrynana-launch-cta{grid-area:cta;justify-self:start}
  .strawberrynana-launch-title{font-size:13px}
  .strawberrynana-launch-eyebrow{font-size:9px}
  .strawberrynana-launch-close{min-height:66px}
}
@media(prefers-reduced-motion:reduce){
  .strawberrynana-launch,
  .strawberrynana-launch-orb::after{
    animation:none!important;
  }
  .strawberrynana-launch-link,
  .strawberrynana-launch-close,
  .strawberrynana-launch-cta>span:last-child{
    transition:none!important;
  }
}

.hero h1{
  font-size:clamp(36px,5vw,66px);
  line-height:.97;
  letter-spacing:-.045em;
  font-weight:800;
  margin:18px 0 16px;
  max-width:11ch;
}
.hero .lead{
  color:var(--text-soft);
  font-size:17px;
  line-height:1.8;
  max-width:60ch;
  margin-bottom:0;
}

.hero-offer-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:30px 0 20px;
}
.hero-offer{
  position:relative;
  min-height:100%;
  isolation:isolate;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:var(--glass);
  padding:0;
  box-shadow:0 20px 60px rgba(0,0,0,.24);
  overflow:hidden;
  background-clip:padding-box;
}
.hero-offer::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 38%);
  pointer-events:none;
}
.hero-offer .glow{z-index:0}
.hero-offer .inner{
  position:relative;
  z-index:1;
  padding:28px;
  transform:translateZ(24px);
}
.hero-offer strong{
  display:block;
  margin-bottom:8px;
  font-size:18px;
  letter-spacing:-.02em;
}
.hero-offer span{
  display:block;
  margin-top:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}

.hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:28px;
}
.hero-proof-chip{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:180px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(174,198,243,.16);
  background:rgba(255,255,255,.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
  background-clip:padding-box;
}
.hero-proof-chip strong{
  font-size:13px;
  letter-spacing:.02em;
}
.hero-proof-chip span{
  color:var(--text-subtle);
  font-size:12px;
  line-height:1.55;
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.hero-visual{
  position:relative;
  min-height:664px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:34px 54px 38px;
  overflow:visible;
  isolation:isolate;
}
.hero-float-strip{
  position:relative;
  z-index:2;
  width:min(100%,540px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.hero-float-card{
  position:relative;
  min-height:68px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(176,209,255,.28);
  background:linear-gradient(145deg,rgba(10,19,36,.88),rgba(15,29,54,.72));
  backdrop-filter:blur(20px);
  box-shadow:0 18px 48px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
  color:#f4f7ff;
  font-size:13px;
  font-weight:600;
  line-height:1.6;
  letter-spacing:.02em;
  text-shadow:0 2px 16px rgba(6,12,28,.55);
  overflow:hidden;
  background-clip:padding-box;
  animation:heroCardFloat 4.8s ease-in-out infinite;
}
.hero-float-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(circle at 14% 20%,rgba(255,255,255,.12),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.06),transparent 42%);
  pointer-events:none;
}
.hero-float-card-primary{
  background:
    linear-gradient(145deg,rgba(19,31,57,.92),rgba(16,34,67,.72)),
    linear-gradient(135deg,rgba(124,92,255,.2),transparent);
}
.hero-float-card-secondary{
  animation-delay:-2.4s;
  background:
    linear-gradient(145deg,rgba(16,27,52,.92),rgba(12,37,63,.72)),
    linear-gradient(135deg,rgba(0,212,255,.14),transparent);
}
@keyframes heroCardFloat{
  0%,100%{
    box-shadow:0 18px 48px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
    border-color:rgba(176,209,255,.28);
  }
  50%{
    box-shadow:0 24px 58px rgba(0,0,0,.3),0 0 24px rgba(116,180,255,.14),inset 0 1px 0 rgba(255,255,255,.1);
    border-color:rgba(196,223,255,.42);
  }
}

.hero-glass{
  position:relative;
  width:min(100%,540px);
  border-radius:30px;
  border:1px solid rgba(164,190,255,.23);
  background:linear-gradient(145deg,rgba(9,16,32,.9),rgba(11,19,37,.86) 58%,rgba(12,23,42,.88));
  padding:26px;
  box-shadow:0 28px 90px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.14);
  overflow:hidden;
  background-clip:padding-box;
  z-index:2;
}
.hero-glass::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(circle at 12% -30%,rgba(120,176,255,.24),transparent 46%),
    radial-gradient(circle at 92% 130%,rgba(0,212,255,.2),transparent 54%);
  pointer-events:none;
}
.hero-glass::after{
  content:"";
  position:absolute;
  left:-28%;
  top:-2px;
  width:46%;
  height:calc(100% + 4px);
  border-radius:inherit;
  background:linear-gradient(100deg,transparent,rgba(167,218,255,.22),transparent);
  filter:blur(10px);
  opacity:.42;
  transform:translateX(-120%);
  animation:consoleBeam 5.6s linear infinite;
  pointer-events:none;
}
@keyframes consoleBeam{
  0%{transform:translateX(-120%)}
  55%,100%{transform:translateX(420%)}
}

.hero-form-shell{
  display:flex;
  flex-direction:column;
  gap:18px;
  scroll-margin-top:110px;
}
.hero-form-shell > *{
  position:relative;
  z-index:2;
}
.hero-form-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.hero-form-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(166,192,240,.24);
  background:rgba(255,255,255,.05);
  overflow:hidden;
  background-clip:padding-box;
  color:var(--text-soft);
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.hero-form-head h2{
  margin:12px 0 0;
  font-size:clamp(24px,2.7vw,34px);
  line-height:1.02;
  letter-spacing:-.03em;
}
.hero-form-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(143,198,255,.28);
  background:rgba(66,132,255,.1);
  overflow:hidden;
  background-clip:padding-box;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--text-soft);
  white-space:nowrap;
}
.hero-form-status i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#61ccff;
  box-shadow:0 0 0 0 rgba(97,204,255,.7);
  animation:dashPulse 1.7s ease-out infinite;
}
.hero-form-ribbon{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hero-form-ribbon span{
  border-radius:999px;
  border:1px solid rgba(170,197,241,.18);
  background:rgba(255,255,255,.04);
  padding:8px 12px;
  color:var(--text-soft);
  font-size:12px;
  line-height:1.2;
  overflow:hidden;
  background-clip:padding-box;
}

.hero-lead-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.lead-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.lead-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.lead-field span{
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-subtle);
}
.lead-field input,
.lead-field select,
.lead-field textarea{
  width:100%;
  border:1px solid rgba(162,187,231,.18);
  border-radius:15px;
  background:rgba(255,255,255,.04);
  color:var(--text);
  padding:14px 15px;
  font:inherit;
  line-height:1.4;
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease;
}
.lead-field select{
  color-scheme:dark;
}
.lead-field select option,
.lead-field select optgroup{
  background:#0f1728;
  color:var(--text);
}
.lead-field input::placeholder,
.lead-field textarea::placeholder{
  color:var(--text-faint);
}
.lead-field input:focus,
.lead-field select:focus,
.lead-field textarea:focus{
  outline:none;
  border-color:rgba(143,198,255,.58);
  box-shadow:0 0 0 3px rgba(0,212,255,.08),0 10px 30px rgba(0,0,0,.14);
  background:rgba(255,255,255,.06);
  transform:translateY(-1px);
}
.lead-field-full textarea{
  min-height:132px;
  resize:vertical;
}
.lead-form-footer{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.lead-form-note{
  max-width:320px;
  color:var(--text-subtle);
  font-size:12px;
  line-height:1.65;
  text-align:center;
  text-wrap:balance;
}
.lead-submit{
  justify-content:center;
  min-width:220px;
}
.lead-inline-ok{
  opacity:0;
  transform:translateY(8px);
  border-radius:16px;
  border:1px solid rgba(143,198,255,.28);
  background:rgba(55,124,255,.1);
  padding:12px 14px;
  color:var(--text-soft);
  font-size:13px;
  line-height:1.55;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.lead-inline-ok.show{
  opacity:1;
  transform:translateY(0);
}

.tech-dashboard{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.tech-dashboard::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(transparent 97%,rgba(153,196,255,.1) 97%),
    linear-gradient(90deg,transparent 97%,rgba(153,196,255,.08) 97%);
  background-size:100% 28px,28px 100%;
  opacity:.17;
  mix-blend-mode:screen;
}

.dash-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  position:relative;
  z-index:2;
}
.dash-node{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(148,198,255,.38);
  background:rgba(72,132,255,.12);
  color:var(--text-soft);
  font-size:11px;
  letter-spacing:.09em;
  font-weight:700;
}
.dash-node b{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#61ccff;
  box-shadow:0 0 0 0 rgba(97,204,255,.7);
  animation:dashPulse 1.7s ease-out infinite;
}
@keyframes dashPulse{
  0%{box-shadow:0 0 0 0 rgba(97,204,255,.7)}
  100%{box-shadow:0 0 0 12px rgba(97,204,255,0)}
}
.dash-clock{
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  color:var(--text-soft);
  letter-spacing:.08em;
}

.dash-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:12px;
  position:relative;
  z-index:2;
}
.dash-panel{
  border:1px solid rgba(165,192,238,.23);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  padding:14px;
  overflow:hidden;
  background-clip:padding-box;
}
.dash-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:var(--text-subtle);
  margin-bottom:8px;
}
.dash-title{
  margin:0;
  font-size:clamp(18px,1.9vw,25px);
  line-height:1.12;
  letter-spacing:-.02em;
  font-weight:800;
}
.dash-copy{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}
.dash-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}
.console-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  padding:10px 13px;
  border:1px solid rgba(167,191,241,.34);
  background:rgba(255,255,255,.02);
  overflow:hidden;
  background-clip:padding-box;
  color:var(--text-soft);
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.console-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(185,217,255,.56);
}
.console-btn.primary{
  border-color:rgba(143,198,255,.52);
  background:linear-gradient(130deg,rgba(66,132,255,.38),rgba(0,212,255,.24));
  box-shadow:0 8px 24px rgba(58,136,255,.24);
}
.console-btn:focus-visible{
  outline:2px solid rgba(141,207,255,.9);
  outline-offset:2px;
}

.dash-flags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.dash-flags span{
  border-radius:999px;
  border:1px solid rgba(172,197,237,.28);
  background:rgba(255,255,255,.03);
  padding:5px 9px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--text-subtle);
  overflow:hidden;
  background-clip:padding-box;
}

.dash-stream{
  min-height:100%;
}
.event-feed{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
}
.event-feed li{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  border:1px solid rgba(163,194,245,.14);
  background:rgba(255,255,255,.02);
  border-radius:12px;
  padding:8px 9px;
  overflow:hidden;
  background-clip:padding-box;
  transform:translateY(0);
  opacity:1;
  transition:transform .35s var(--ease-out-quart),opacity .35s ease,border-color .35s ease;
}
.event-feed li.is-entering{
  opacity:0;
  transform:translateY(-8px);
}
.event-feed li i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#66d0ff;
  box-shadow:0 0 10px rgba(102,208,255,.55);
}
.event-feed li[data-level="warn"] i{
  background:#ffc365;
  box-shadow:0 0 10px rgba(255,195,101,.52);
}
.event-feed li[data-level="ok"] i{
  background:#6af1b2;
  box-shadow:0 0 10px rgba(106,241,178,.52);
}
.event-feed li span{
  font-size:12px;
  color:var(--text-soft);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.event-feed li time{
  font-family:inherit;
  font-size:10px;
  letter-spacing:.03em;
  color:var(--text-subtle);
}

.dash-metrics{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.dash-metric{
  border:1px solid rgba(163,190,233,.24);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  padding:11px 12px;
  overflow:hidden;
  background-clip:padding-box;
  transition:border-color .24s ease,background .24s ease,transform .24s var(--ease-out-quart);
}
.dash-metric:hover{
  border-color:rgba(185,217,255,.52);
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.03));
  transform:translateY(-1px);
}
.stat-link{
  display:block;
  text-decoration:none;
  color:inherit;
}
.metric-name{
  color:var(--text-subtle);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.metric-value{
  display:flex;
  align-items:flex-end;
  gap:4px;
  margin-top:7px;
}
.metric-value strong{
  font-size:27px;
  line-height:1;
  letter-spacing:-.02em;
}
.metric-value span{
  font-size:11px;
  color:var(--text-soft);
  text-transform:uppercase;
  letter-spacing:.08em;
  padding-bottom:3px;
}
.stat-meter{
  margin-top:10px;
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.stat-meter span{
  display:block;
  height:100%;
  width:54%;
  border-radius:inherit;
  background:linear-gradient(90deg,#7C5CFF,#00D4FF);
  box-shadow:0 0 16px rgba(0,212,255,.35);
  transition:width .48s var(--ease-out-quart);
}

.dash-sparkline{
  position:relative;
  z-index:2;
  border-top:1px solid rgba(159,182,229,.2);
  padding-top:11px;
}
.dash-sparkline svg{
  display:block;
  width:100%;
  height:68px;
}
#aiSparklineLine{
  fill:none;
  stroke:#73ccff;
  stroke-width:2.4;
  stroke-linejoin:round;
  stroke-linecap:round;
  filter:drop-shadow(0 0 12px rgba(102,209,255,.28));
  transition:points .36s ease;
}

@media(max-width:900px){
  .hero{
    min-height:auto;
    padding:112px 0 88px;
  }
  .hero h1{max-width:12ch}
  .hero-offer-list{grid-template-columns:1fr}
  .hero-visual{
    min-height:0;
    padding:30px 24px 20px;
  }
  .dash-grid{grid-template-columns:1fr}
  .dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .hero::after{top:98px}
  .hero h1{
    font-size:clamp(32px,10vw,48px);
    max-width:13ch;
  }
  .hero .lead{font-size:15px}
  .hero-proof-chip{width:100%}
  .hero-offer{
    padding:0;
    border-radius:16px;
  }
  .hero-offer .inner{padding:16px 14px}
  .hero-proof{
    gap:8px;
    margin-bottom:24px;
  }
  .hero-actions{
    width:100%;
  }
  .hero-actions .btn-mag,
  .hero-actions .btn-ghost{
    width:100%;
    justify-content:center;
  }
  .hero-form-ribbon{
    display:grid;
    grid-template-columns:1fr;
  }
  .lead-field span{
    letter-spacing:.08em;
  }
  .lead-field input,
  .lead-field select,
  .lead-field textarea{
    padding:13px 14px;
    border-radius:14px;
  }
  .lead-field-full textarea{
    min-height:152px;
  }
  .hero-glass{padding:22px;border-radius:24px}
  .hero-form-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .hero-form-status{white-space:normal}
  .hero-form-ribbon span{width:100%}
  .lead-field-grid{grid-template-columns:1fr}
  .lead-form-footer{
    align-items:center;
    gap:12px;
  }
  .lead-form-note{
    max-width:none;
    font-size:12px;
    text-align:center;
  }
  .lead-submit{
    width:100%;
    min-width:0;
    max-width:320px;
  }
  .dash-head{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .dash-title{font-size:22px}
  .dash-copy{font-size:13px}
  .dash-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .console-btn{width:100%}
  .dash-metrics{grid-template-columns:1fr}
  .metric-value strong{font-size:24px}
  .event-feed li span{font-size:11px}
  .home-scroll-cue{bottom:14px}
}

@media(prefers-reduced-motion:reduce){
  .home-scroll-cue svg{animation:none}
}

/* ═══════════════════════════════════════════════════
   FEATURES GRID
   ═══════════════════════════════════════════════════ */
.features-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
@media(max-width:900px){.features-grid{grid-template-columns:1fr}}
.feature-card{min-height:200px}
.feature-card h3{margin:14px 0 8px;font-size:18px}
.feature-card p{color:var(--muted);line-height:1.7;font-size:14px}

/* ═══════════════════════════════════════════════════
   SHARED PAGE HELPERS
   ═══════════════════════════════════════════════════ */
.page-top-section{padding-top:120px}
.page-hero-title{
  font-size:clamp(32px,5vw,60px);
  font-weight:800;
  letter-spacing:-.03em;
  margin-top:14px;
  margin-bottom:8px;
}
.page-hero-lead{
  color:var(--muted);
  line-height:1.8;
  font-size:16px;
}
.page-hero-lead-narrow{max-width:52ch}
.page-hero-lead-wide{max-width:58ch}
.page-hero-lead-spaced{margin-bottom:48px}

.features-grid.features-grid-two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.features-grid.features-grid-two{grid-template-columns:1fr}}

.site-footer{
  padding:40px 0 60px;
  border-top:1px solid var(--stroke);
}
.site-footer.spaced{margin-top:60px}
.site-footer-copy{color:var(--muted)}
.site-footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.site-footer-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
@media(max-width:640px){
  .site-footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ═══════════════════════════════════════════════════
   LIGHT THEME
   ═══════════════════════════════════════════════════ */
html[data-theme="light"] .hero::before{
  background:
    radial-gradient(circle at 14% 18%,rgba(75,108,255,.12),transparent 26%),
    radial-gradient(circle at 84% 24%,rgba(8,188,231,.1),transparent 24%),
    linear-gradient(140deg,rgba(255,255,255,.4),transparent 42%,rgba(255,255,255,.22));
}
html[data-theme="light"] .hero::after{
  background:linear-gradient(90deg,transparent,rgba(94,121,176,.18),transparent);
}
html[data-theme="light"] .hero .lead,
html[data-theme="light"] .page-hero-lead,
html[data-theme="light"] .feature-card p,
html[data-theme="light"] .site-footer-copy{
  color:rgba(72,86,114,.9);
}
html[data-theme="light"] .hero-offer{
  border-color:rgba(118,145,196,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(242,247,255,.66));
  box-shadow:0 18px 42px rgba(129,148,183,.14);
}
html[data-theme="light"] .hero-offer span,
html[data-theme="light"] .hero-proof-chip span{
  color:rgba(80,95,124,.84);
}
html[data-theme="light"] .hero-proof-chip{
  border-color:rgba(123,147,192,.18);
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 12px 26px rgba(127,147,181,.1);
}
html[data-theme="light"] .hero-glass{
  border-color:rgba(113,140,196,.22);
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(246,249,255,.8) 58%,rgba(241,247,255,.86));
  box-shadow:0 28px 76px rgba(128,146,180,.18),inset 0 1px 0 rgba(255,255,255,.94);
}
html[data-theme="light"] .hero-glass::before{
  background:
    radial-gradient(circle at 12% -30%,rgba(75,108,255,.12),transparent 46%),
    radial-gradient(circle at 92% 130%,rgba(8,188,231,.12),transparent 54%);
}
html[data-theme="light"] .hero-glass::after{
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.72),transparent);
  opacity:.5;
}
html[data-theme="light"] .hero-form-kicker{
  border-color:rgba(114,141,194,.2);
  background:rgba(255,255,255,.72);
  color:#5d6e90;
}
html[data-theme="light"] .hero-form-status{
  border-color:rgba(100,137,203,.2);
  background:rgba(74,108,255,.08);
  color:#30456f;
}
html[data-theme="light"] .hero-form-status i{background:#3cb7ea}
html[data-theme="light"] .hero-form-ribbon span{
  border-color:rgba(120,145,196,.18);
  background:rgba(255,255,255,.74);
  color:#566883;
}
html[data-theme="light"] .lead-field span{
  color:rgba(74,88,116,.76);
}
html[data-theme="light"] .lead-field input,
html[data-theme="light"] .lead-field select,
html[data-theme="light"] .lead-field textarea{
  border-color:rgba(119,144,193,.22);
  background:rgba(255,255,255,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
html[data-theme="light"] .lead-field select{
  color-scheme:light;
}
html[data-theme="light"] .lead-field select option,
html[data-theme="light"] .lead-field select optgroup{
  background:#ffffff;
  color:#162541;
}
html[data-theme="light"] .lead-field input::placeholder,
html[data-theme="light"] .lead-field textarea::placeholder{
  color:rgba(99,114,144,.58);
}
html[data-theme="light"] .lead-field input:focus,
html[data-theme="light"] .lead-field select:focus,
html[data-theme="light"] .lead-field textarea:focus{
  box-shadow:0 0 0 3px rgba(8,188,231,.1),0 12px 28px rgba(129,148,183,.12);
  background:rgba(255,255,255,.92);
}
html[data-theme="light"] .lead-form-note{
  color:rgba(71,86,114,.84);
}
html[data-theme="light"] .lead-inline-ok{
  border-color:rgba(94,127,188,.2);
  background:rgba(74,108,255,.08);
  color:#2c446d;
}
html[data-theme="light"] .project-card{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(244,248,255,.64));
  box-shadow:0 20px 56px rgba(128,145,178,.16);
}
html[data-theme="light"] .project-card:hover{
  box-shadow:0 24px 64px rgba(128,145,178,.18);
}
html[data-theme="light"] .project-thumb{
  background:linear-gradient(135deg,rgba(74,108,255,.16),rgba(8,188,231,.12));
}
html[data-theme="light"] .project-thumb::after{
  background:linear-gradient(180deg,transparent 60%,rgba(255,255,255,.68));
}
html[data-theme="light"] .site-footer{
  border-top-color:rgba(118,145,196,.16);
}
.site-footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
}
.site-footer-copy{
  color:var(--muted);
  font-size:14px;
}
.site-footer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.btn-ghost-sm{
  padding:10px 18px;
  font-size:13px;
}
.btn-ghost-chip{
  padding:10px 14px;
  font-size:13px;
}

/* ═══════════════════════════════════════════════════
   WORK PAGE — PROJECT CARDS
   ═══════════════════════════════════════════════════ */
.projects-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
}
@media(max-width:800px){.projects-grid{grid-template-columns:1fr}}

.project-card{
  position:relative;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  overflow:hidden;
  cursor:pointer;
  transition:transform .3s var(--ease-out-expo),box-shadow .3s ease;
  display:block;
  color:inherit;
  text-decoration:none;
  transform-style:preserve-3d;
  will-change:transform;
  box-shadow:0 20px 70px rgba(0,0,0,.35);
}
.project-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 80px rgba(0,0,0,.4);
}
.project-card .glow{
  z-index:0;
}
.project-thumb{
  width:100%;height:220px;
  background:linear-gradient(135deg,rgba(124,92,255,.2),rgba(0,212,255,.15));
  display:flex;align-items:center;justify-content:center;
  font-size:48px;border-bottom:1px solid var(--stroke);
  position:relative;overflow:hidden;
  z-index:1;
  transform:translateZ(18px);
}
.project-thumb::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(5,8,16,.5));
}
.project-body{
  padding:24px;
  position:relative;
  z-index:1;
  transform:translateZ(18px);
}
.project-body h3{font-size:20px;margin-bottom:6px}
.project-body p{color:var(--muted);line-height:1.7;font-size:14px}
.project-card.project-empty{
  min-height:360px;
}

/* Margherita in Ticino — atlante tipografico dei prezzi */
.project-thumb.project-thumb-margherita{
  background:#f4e6cf;
  border-bottom-color:rgba(17,17,15,.65);
}
.project-thumb.project-thumb-margherita::after{
  background:linear-gradient(180deg,transparent 52%,rgba(17,17,15,.12));
}
.project-thumb-margherita img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.75,.25,1);
}
.project-card-margherita:hover .project-thumb-margherita img{
  transform:scale(1.035);
}

/* StreamAtlas — original atlas preview for the project card. */
.project-thumb.project-thumb-streamatlas{
  background:#e9edf3;
  border-bottom-color:rgba(17,26,44,.55);
}
.project-thumb-streamatlas img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.75,.25,1);
}
.project-card-streamatlas:hover .project-thumb-streamatlas img{transform:scale(1.035)}

/* GeoVideo Globe — original globe preview for the project card. */
.project-thumb.project-thumb-geovideo{
  background:#fff8ed;
  border-bottom-color:rgba(17,17,15,.65);
}
.project-thumb.project-thumb-geovideo::after{
  background:linear-gradient(180deg,transparent 58%,rgba(17,17,15,.1));
}
.project-thumb-geovideo img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.75,.25,1);
}
.project-card-geovideo:hover .project-thumb-geovideo img{transform:scale(1.035)}

/* Strawberrynana — poster a fumetti con ibrido SVG */
.project-thumb.project-thumb-bananai{
  isolation:isolate;
  background:
    radial-gradient(circle,#111 0 1.2px,transparent 1.4px) 0 0/14px 14px,
    linear-gradient(122deg,#ffdb2f 0 35%,#ff315d 35% 72%,#35c968 72%);
  border-bottom-color:#111;
}
.project-thumb.project-thumb-bananai::after{
  z-index:1;
  background:linear-gradient(180deg,transparent 62%,rgba(17,17,15,.16));
}
.bananai-project-banana{
  position:relative;
  z-index:2;
  width:178px;
  overflow:visible;
  transform:rotate(-8deg) translateX(-28px);
  transition:transform .65s var(--ease-out-expo);
}
.bananai-project-banana > path:first-child{
  fill:#ffdb2f;
  stroke:#111;
  stroke-width:7;
  stroke-linejoin:round;
}
.bananai-project-banana .bananai-project-shadow{fill:#f2a62d;stroke:none}
.bananai-project-berry{fill:#ff315d;stroke:#111;stroke-width:6;stroke-linejoin:round}
.bananai-project-leaf{fill:#35c968;stroke:#111;stroke-width:5;stroke-linejoin:round}
.bananai-project-seed{fill:#fff1b7;stroke:#111;stroke-width:2}
.bananai-project-eye{fill:#111}
.bananai-project-mouth,.bananai-project-arm{
  fill:none;
  stroke:#111;
  stroke-width:6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bananai-project-type{
  position:absolute;
  z-index:3;
  right:4%;
  bottom:18%;
  color:#fffdf0;
  font-size:clamp(20px,2.3vw,31px);
  font-weight:900;
  letter-spacing:-.08em;
  -webkit-text-stroke:2px #111;
  paint-order:stroke fill;
  text-shadow:5px 5px 0 #111;
  transform:rotate(5deg);
}
.project-card-bananai:hover .bananai-project-banana{transform:rotate(6deg) translateX(-18px) scale(1.1)}
.project-card-bananai:hover .bananai-project-type{animation:bananaiPreviewPop .5s ease both}
@keyframes bananaiPreviewPop{50%{transform:rotate(-4deg) scale(1.12)}}
@media(prefers-reduced-motion:reduce){
  .bananai-project-banana{transition:none}
  .project-card-bananai:hover .bananai-project-type{animation:none}
}

/* ABYSS / CANVAS — anteprima dal nero alla tela */
.project-thumb.project-thumb-abyss{
  isolation:isolate;
  background:#020203;
  color:#fff;
}
.project-thumb.project-thumb-abyss::before{
  content:"";
  position:absolute;
  z-index:0;
  width:126px;
  height:126px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 70px rgba(255,255,255,.2);
  transform:scale(.06);
  transition:transform .8s var(--ease-out-expo),box-shadow .8s ease;
}
.project-thumb.project-thumb-abyss::after{
  z-index:1;
  background:linear-gradient(90deg,rgba(2,2,3,.28),transparent 45%,rgba(255,255,255,.08));
}
.abyss-project-preview{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 34px 1fr;
  align-items:center;
  width:min(82%,430px);
  color:rgba(255,255,255,.78);
  font-size:clamp(16px,2.2vw,24px);
  font-weight:760;
  letter-spacing:.22em;
}
.abyss-project-word:first-child{
  justify-self:end;
}
.abyss-project-word-canvas{
  justify-self:start;
  color:rgba(255,255,255,.96);
}
.abyss-project-origin{
  justify-self:center;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 22px rgba(255,255,255,.9);
  transition:transform .8s var(--ease-out-expo);
}
.project-card-abyss:hover .project-thumb-abyss::before{
  transform:scale(1);
  box-shadow:0 0 100px rgba(255,255,255,.34);
}
.project-card-abyss:hover .abyss-project-origin{
  transform:scale(1.5);
}
html[data-theme="light"] .project-thumb.project-thumb-abyss{
  background:#020203;
}
@media(max-width:520px){
  .abyss-project-preview{
    grid-template-columns:1fr 22px 1fr;
    width:88%;
    font-size:15px;
    letter-spacing:.14em;
  }
}
@media(prefers-reduced-motion:reduce){
  .project-thumb.project-thumb-abyss::before,
  .abyss-project-origin{
    transition:none;
  }
}

/* SwissDashcam — camera neon e strada in prospettiva */
.project-thumb.project-thumb-swissdashcam{
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 20%,rgba(255,42,95,.34),transparent 38%),
    radial-gradient(circle at 18% 82%,rgba(0,243,255,.28),transparent 42%),
    #050609;
}
.project-thumb.project-thumb-swissdashcam::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  bottom:-52px;
  width:76%;
  height:128px;
  border:1px solid rgba(0,243,255,.2);
  background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.12) 18% 18.6%);
  transform:translateX(-50%) perspective(180px) rotateX(62deg);
  transform-origin:center bottom;
}
.project-thumb.project-thumb-swissdashcam::after{
  z-index:1;
  background:linear-gradient(180deg,transparent 48%,rgba(5,6,9,.7));
}
.swissdashcam-project-preview{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:26px;
  color:#fff;
  transition:transform .7s var(--ease-out-expo);
}
.swissdashcam-project-camera{
  position:relative;
  width:82px;
  height:54px;
  border:2px solid rgba(255,255,255,.82);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.03));
  box-shadow:0 0 34px rgba(0,243,255,.18);
}
.swissdashcam-project-camera::before{
  content:"";
  position:absolute;
  left:16px;
  top:-10px;
  width:28px;
  height:10px;
  border:2px solid rgba(255,255,255,.82);
  border-bottom:0;
  border-radius:8px 8px 0 0;
}
.swissdashcam-project-camera span{
  position:absolute;
  inset:9px 23px;
  border:3px solid #fff;
  border-radius:50%;
  background:radial-gradient(circle,#050609 0 25%,#00f3ff 28% 42%,#ff2a5f 46% 62%,#10131b 65%);
  box-shadow:0 0 24px rgba(0,243,255,.55),0 0 42px rgba(255,42,95,.28);
  transition:transform .7s var(--ease-out-expo),box-shadow .7s ease;
}
.swissdashcam-project-copy{
  max-width:150px;
  font-size:clamp(15px,2vw,22px);
  font-weight:780;
  letter-spacing:.13em;
  line-height:1.25;
}
.swissdashcam-project-copy b{
  display:block;
  color:#00f3ff;
  text-shadow:0 0 22px rgba(0,243,255,.48);
}
.project-card-swissdashcam:hover .swissdashcam-project-preview{
  transform:translateY(-3px) scale(1.04);
}
.project-card-swissdashcam:hover .swissdashcam-project-camera span{
  transform:rotate(28deg) scale(1.08);
  box-shadow:0 0 34px rgba(0,243,255,.72),0 0 58px rgba(255,42,95,.45);
}
@media(max-width:520px){
  .swissdashcam-project-preview{gap:18px}
  .swissdashcam-project-camera{width:70px;height:48px}
  .swissdashcam-project-camera span{inset:8px 20px}
}
@media(prefers-reduced-motion:reduce){
  .swissdashcam-project-preview,
  .swissdashcam-project-camera span{transition:none}
}

/* ═══════════════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════════════ */
.about-hero{
  min-height:60vh;display:flex;align-items:center;
  padding-top:100px;
}
.about-hero .wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.about-hero h1{
  font-size:clamp(32px,5vw,60px);
  font-weight:800;letter-spacing:-.03em;
  line-height:1.08;
  margin-bottom:18px;
}
.about-cols{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;
  align-items:start;
}
@media(max-width:800px){.about-cols{grid-template-columns:1fr}}
.about-cols p{color:var(--muted);line-height:1.8;font-size:15px}

.marquee{
  overflow:hidden;white-space:nowrap;
  border-top:1px solid var(--stroke);
  border-bottom:1px solid var(--stroke);
  padding:18px 0;
}
.marquee-inner{
  display:inline-flex;gap:40px;
  animation:marquee 20s linear infinite;
}
.marquee-inner span{
  font-size:clamp(28px,4vw,48px);
  font-weight:800;letter-spacing:-.03em;
  color:rgba(255,255,255,.12);
}
html[data-theme="light"] .marquee{
  border-top-color:rgba(118,145,196,.16);
  border-bottom-color:rgba(118,145,196,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.08));
}
html[data-theme="light"] .marquee-inner span{
  color:rgba(76,96,136,.14);
}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* Del Popolo home announcement: editorial paper tones, distinct from the
   Strawberrynana pill while keeping the same compact launch-banner pattern. */
.delpopolo-launch{
  --delpopolo-ink:#171c2b;
  --delpopolo-red:#cf2047;
  --delpopolo-teal:#17677d;
  position:fixed;
  top:22px;
  left:50%;
  z-index:90;
  width:min(740px,calc(100vw - 460px));
  min-width:0;
  display:flex;
  align-items:stretch;
  border:1px solid rgba(207,32,71,.3);
  border-radius:24px;
  background:radial-gradient(circle at 12% 0%,rgba(255,219,47,.24),transparent 32%),linear-gradient(112deg,rgba(255,248,237,.98),rgba(255,240,243,.98) 56%,rgba(235,248,250,.98));
  box-shadow:0 18px 42px rgba(3,8,21,.24),0 0 24px rgba(207,32,71,.08),inset 0 1px 0 #fff;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  overflow:hidden;
  transform:translateX(-50%);
  animation:delPopoloLaunchEnter .45s ease-out .18s both;
}
.delpopolo-launch[hidden]{display:none}
.delpopolo-launch::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.42),transparent 34%,transparent 76%,rgba(255,255,255,.2));pointer-events:none}
.delpopolo-launch-link{
  position:relative;z-index:1;min-width:0;flex:1 1 auto;
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;
  padding:8px 14px 8px 10px;color:var(--delpopolo-ink);text-decoration:none;transition:background .22s ease;
}
.delpopolo-launch-link:hover{background:rgba(255,255,255,.32)}
.delpopolo-launch-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#ffdb2f;box-shadow:0 0 0 3px rgba(207,32,71,.09),0 7px 17px rgba(38,37,33,.13)}
.delpopolo-launch-mark img{display:block;width:44px;height:44px;border-radius:14px}
.delpopolo-launch-copy{min-width:0;display:grid;gap:2px;line-height:1.1}
.delpopolo-launch-eyebrow{color:var(--delpopolo-red);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.delpopolo-launch-title{overflow:hidden;color:var(--delpopolo-ink);font-size:14px;font-weight:780;line-height:1.25;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}
.delpopolo-launch-cta{display:inline-flex;align-items:center;gap:6px;color:var(--delpopolo-teal);font-size:12px;font-weight:780;line-height:1.2;white-space:nowrap}
.delpopolo-launch-cta>span:last-child{transition:transform .22s var(--ease-out-quart)}
.delpopolo-launch-link:hover .delpopolo-launch-cta>span:last-child{transform:translate(2px,-2px)}
.delpopolo-launch-close{position:relative;z-index:1;flex:0 0 44px;width:44px;min-height:60px;border:0;border-left:1px solid rgba(76,95,122,.14);background:rgba(255,255,255,.22);color:#68758e;font-family:inherit;font-size:21px;font-weight:300;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}
.delpopolo-launch-close:hover{background:rgba(207,32,71,.09);color:#a20f37}
.delpopolo-launch-link:focus-visible,.delpopolo-launch-close:focus-visible{outline:2px solid var(--delpopolo-teal);outline-offset:-3px}
#page-home>.delpopolo-launch:not([hidden])~.strawberrynana-launch:not([hidden]){top:90px}
@keyframes delPopoloLaunchEnter{from{opacity:0}to{opacity:1}}

@media(max-width:980px){
  .delpopolo-launch{position:relative;top:auto;left:auto;z-index:2;width:min(720px,calc(100% - 48px));margin:104px auto 0;border-radius:20px;transform:none}
  #page-home>.delpopolo-launch:not([hidden])~.strawberrynana-launch:not([hidden]){top:auto;margin:14px auto 0}
  #page-home>.delpopolo-launch:not([hidden])+.strawberrynana-launch:not([hidden])+.hero{padding-top:32px}
}
@media(max-width:760px){
  .delpopolo-launch{width:calc(100% - 30px);margin-top:78px}
  #page-home>.delpopolo-launch:not([hidden])+.strawberrynana-launch:not([hidden])+.hero{padding-top:28px}
}
@media(max-width:640px){
  .delpopolo-launch-link{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"mark copy" "mark cta";row-gap:4px;padding:10px 10px 10px 12px}
  .delpopolo-launch-mark{grid-area:mark;width:40px;height:40px}
  .delpopolo-launch-mark img{width:40px;height:40px}
  .delpopolo-launch-copy{grid-area:copy}
  .delpopolo-launch-title{font-size:13px}
  .delpopolo-launch-eyebrow{font-size:9px}
  .delpopolo-launch-cta{grid-area:cta;justify-self:start}
  .delpopolo-launch-close{min-height:66px}
}
@media(prefers-reduced-motion:reduce){
  .delpopolo-launch{animation:none!important}
  .delpopolo-launch-link,.delpopolo-launch-close,.delpopolo-launch-cta>span:last-child{transition:none!important}
}

/* Margherita in Ticino launch banner: a warm pizzeria-guide identity that
   stacks with the two existing project announcements on every viewport. */
.margherita-launch{
  --margherita-ink:#211b16;
  --margherita-red:#b51e3e;
  --margherita-green:#326f58;
  position:fixed;
  top:22px;
  left:50%;
  z-index:88;
  width:min(740px,calc(100vw - 460px));
  min-width:0;
  display:flex;
  align-items:stretch;
  border:1px solid rgba(181,30,62,.32);
  border-radius:24px;
  background:radial-gradient(circle at 12% 0%,rgba(255,219,47,.3),transparent 32%),linear-gradient(112deg,rgba(255,248,237,.98),rgba(252,239,220,.98) 58%,rgba(238,247,235,.98));
  box-shadow:0 18px 42px rgba(3,8,21,.23),0 0 24px rgba(181,30,62,.08),inset 0 1px 0 #fff;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  overflow:hidden;
  transform:translateX(-50%);
  animation:margheritaLaunchEnter .45s ease-out .25s both;
}
.margherita-launch[hidden]{display:none}
.margherita-launch::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.42),transparent 34%,transparent 76%,rgba(255,49,93,.045));pointer-events:none}
.margherita-launch-link{
  position:relative;z-index:1;min-width:0;flex:1 1 auto;
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;
  padding:8px 14px 8px 10px;color:var(--margherita-ink);text-decoration:none;transition:background .22s ease;
}
.margherita-launch-link:hover{background:rgba(255,255,255,.38)}
.margherita-launch-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(33,27,22,.12);border-radius:50%;background:#ffdb2f;box-shadow:0 0 0 3px rgba(255,49,93,.08),0 7px 17px rgba(38,37,33,.13)}
.margherita-launch-mark svg{display:block;width:31px;height:31px;filter:drop-shadow(1px 2px 0 rgba(17,17,15,.12))}
.margherita-launch-copy{min-width:0;display:grid;gap:2px;line-height:1.1}
.margherita-launch-eyebrow{color:var(--margherita-red);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.margherita-launch-title{overflow:hidden;color:var(--margherita-ink);font-size:14px;font-weight:780;line-height:1.25;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}
.margherita-launch-cta{display:inline-flex;align-items:center;gap:6px;color:var(--margherita-green);font-size:12px;font-weight:780;line-height:1.2;white-space:nowrap}
.margherita-launch-cta>span:last-child{transition:transform .22s var(--ease-out-quart)}
.margherita-launch-link:hover .margherita-launch-cta>span:last-child{transform:translate(2px,-2px)}
.margherita-launch-close{position:relative;z-index:1;flex:0 0 44px;width:44px;min-height:60px;border:0;border-left:1px solid rgba(76,95,72,.16);background:rgba(255,255,255,.22);color:#687164;font-family:inherit;font-size:21px;font-weight:300;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}
.margherita-launch-close:hover{background:rgba(255,49,93,.1);color:#8f1530}
.margherita-launch-link:focus-visible,.margherita-launch-close:focus-visible{outline:2px solid var(--margherita-green);outline-offset:-3px}
#page-home>.delpopolo-launch:not([hidden])~.margherita-launch:not([hidden]),
#page-home>.strawberrynana-launch:not([hidden])~.margherita-launch:not([hidden]){top:90px}
#page-home>.delpopolo-launch:not([hidden])~.strawberrynana-launch:not([hidden])~.margherita-launch:not([hidden]){top:158px}
@keyframes margheritaLaunchEnter{from{opacity:0}to{opacity:1}}

@media(max-width:980px){
  .margherita-launch{position:relative;top:auto;left:auto;z-index:2;width:min(720px,calc(100% - 48px));margin:104px auto 0;border-radius:20px;transform:none}
  #page-home>.delpopolo-launch:not([hidden])~.margherita-launch:not([hidden]),
  #page-home>.strawberrynana-launch:not([hidden])~.margherita-launch:not([hidden]){margin:14px auto 0}
  #page-home>.margherita-launch:not([hidden])+.hero{padding-top:32px}
  #page-home>.delpopolo-launch:not([hidden])+.strawberrynana-launch:not([hidden])+.margherita-launch+.hero,
  #page-home>.strawberrynana-launch:not([hidden])+.margherita-launch+.hero{padding-top:32px}
}
@media(max-width:760px){
  .margherita-launch{width:calc(100% - 30px);margin-top:78px}
  #page-home>.delpopolo-launch:not([hidden])~.margherita-launch:not([hidden]),
  #page-home>.strawberrynana-launch:not([hidden])~.margherita-launch:not([hidden]){margin:14px auto 0}
  #page-home>.margherita-launch:not([hidden])+.hero,
  #page-home>.delpopolo-launch:not([hidden])+.strawberrynana-launch:not([hidden])+.margherita-launch+.hero,
  #page-home>.strawberrynana-launch:not([hidden])+.margherita-launch+.hero{padding-top:28px}
}
@media(max-width:640px){
  .margherita-launch-link{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"mark copy" "mark cta";row-gap:4px;padding:10px 10px 10px 12px}
  .margherita-launch-mark{grid-area:mark;width:40px;height:40px}
  .margherita-launch-mark svg{width:29px;height:29px}
  .margherita-launch-copy{grid-area:copy}
  .margherita-launch-title{font-size:13px}
  .margherita-launch-eyebrow{font-size:9px}
  .margherita-launch-cta{grid-area:cta;justify-self:start}
  .margherita-launch-close{min-height:66px}
}
@media(prefers-reduced-motion:reduce){
  .margherita-launch{animation:none!important}
  .margherita-launch-link,.margherita-launch-close,.margherita-launch-cta>span:last-child{transition:none!important}
}

/* Newspaper masthead treatment for the new portfolio card. */
.project-thumb.project-thumb-delpopolo{
  isolation:isolate;display:grid;align-content:center;justify-items:center;gap:12px;padding:24px;color:#171713;
  background:radial-gradient(circle at 86% 16%,rgba(255,49,93,.12),transparent 27%),linear-gradient(128deg,#fff8ed 0%,#f7eee5 54%,#e8f5f4 100%);
  border-bottom-color:rgba(35,43,53,.16);
}
.project-thumb.project-thumb-delpopolo::before{content:"";position:absolute;inset:18px;z-index:0;border:1px solid rgba(23,28,43,.13);pointer-events:none}
.project-thumb.project-thumb-delpopolo::after{z-index:1;background:linear-gradient(180deg,transparent 72%,rgba(17,17,15,.06))}
.delpopolo-thumb-edition,.delpopolo-thumb-masthead,.delpopolo-thumb-deck{position:relative;z-index:2}
.delpopolo-thumb-edition{color:#b31d3f;font-size:9px;font-weight:850;letter-spacing:.19em;line-height:1}
.delpopolo-thumb-masthead{display:flex;align-items:center;gap:13px}
.delpopolo-thumb-masthead img{display:block;width:58px;height:58px;filter:drop-shadow(3px 4px 0 rgba(207,32,71,.16))}
.delpopolo-thumb-masthead>span{color:#171713;font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:900;letter-spacing:-.055em;line-height:.82}
.delpopolo-thumb-deck{padding-top:9px;border-top:1px solid rgba(23,28,43,.2);color:#42515c;font-size:9px;font-weight:800;letter-spacing:.16em}
html[data-theme="light"] .project-thumb.project-thumb-delpopolo{background:radial-gradient(circle at 86% 16%,rgba(255,49,93,.12),transparent 27%),linear-gradient(128deg,#fff8ed 0%,#f7eee5 54%,#e8f5f4 100%)}

/* A buoyant, touchable cluster for recent project announcements. */
.project-launches{
  width:min(1500px,calc(100% - 48px));margin:12px auto 25px;padding:0;
  border:0;border-radius:0;background:transparent;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.project-launches[hidden]{display:none!important}
.project-launches-heading{width:min(560px,100%);display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 7px;padding:0 8px 2px}
.project-launches-heading>div{min-width:0;display:flex;align-items:baseline;justify-content:center;gap:9px}
.project-launches-kicker{color:#ff6c8b;font-size:9px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.project-launches-heading h2{margin:0;color:#f2f4fb;font-size:14px;font-weight:800;letter-spacing:-.025em;line-height:1.2}
.project-launches-hint{display:inline-flex;align-items:center;gap:7px;color:rgba(237,241,252,.76);font-size:10px;font-weight:700;white-space:nowrap}
.project-launches-hint b{display:grid;width:20px;height:20px;place-items:center;border:1px solid rgba(237,241,252,.28);border-radius:50%;font-size:12px}
.project-launches-list{width:min(780px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;justify-items:center;column-gap:0;row-gap:0;padding:7px 0 9px;isolation:isolate}
.project-launches .project-launch-card{
  position:relative!important;inset:auto!important;display:block!important;flex:none!important;width:min(240px,100%)!important;min-width:0;max-width:240px;min-height:82px;margin:0 0 -10px!important;
  overflow:visible;border:1.5px solid rgba(255,255,255,.88);border-radius:999px;
  box-shadow:0 8px 18px rgba(17,17,15,.09),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.32);
  backdrop-filter:blur(8px) saturate(155%);-webkit-backdrop-filter:blur(8px) saturate(155%);
  transform:none;isolation:isolate;animation:projectBubbleFloat 5.4s ease-in-out infinite both;
}
.project-launches .project-launch-card:first-child{margin-left:0!important}
.project-launches .project-launch-card[hidden]{display:none!important}
.project-launches .delpopolo-launch{box-shadow:0 0 0 1px rgba(207,32,71,.1),0 9px 22px rgba(17,17,15,.08),inset 0 1px 0 rgba(255,255,255,.92)}
.project-launches .strawberrynana-launch{box-shadow:0 0 0 1px rgba(255,49,93,.1),0 9px 22px rgba(17,17,15,.08),inset 0 1px 0 rgba(255,255,255,.92)}
.project-launches .margherita-launch{box-shadow:0 0 0 1px rgba(255,49,93,.09),0 9px 22px rgba(17,17,15,.08),inset 0 1px 0 rgba(255,255,255,.92)}
.project-launches .fuelatlas-launch{box-shadow:0 0 0 1px rgba(24,126,115,.1),0 9px 22px rgba(17,17,15,.08),inset 0 1px 0 rgba(255,255,255,.92)}
.project-launches .delpopolo-launch{background:radial-gradient(ellipse at 35% 0%,rgba(255,255,255,.42),transparent 58%),linear-gradient(125deg,rgba(255,248,237,.78),rgba(255,240,243,.64) 62%,rgba(235,248,250,.58))}
.project-launches .strawberrynana-launch{background:radial-gradient(ellipse at 35% 0%,rgba(255,255,255,.44),transparent 58%),linear-gradient(125deg,rgba(255,248,237,.77),rgba(255,243,229,.63) 58%,rgba(248,237,244,.57))}
.project-launches .margherita-launch{background:radial-gradient(ellipse at 35% 0%,rgba(255,255,255,.46),transparent 58%),linear-gradient(125deg,rgba(255,248,237,.78),rgba(255,247,237,.64) 58%,rgba(238,247,235,.58))}
.project-launches .fuelatlas-launch{background:radial-gradient(ellipse at 35% 0%,rgba(255,255,255,.44),transparent 58%),linear-gradient(125deg,rgba(255,248,237,.76),rgba(242,247,239,.63) 58%,rgba(234,247,244,.57))}
.project-launches .geovideo-launch{color:#17233b;background:radial-gradient(ellipse at 35% 0%,rgba(255,255,255,.48),transparent 58%),linear-gradient(125deg,rgba(247,248,255,.8),rgba(233,239,255,.67) 58%,rgba(241,233,255,.59));box-shadow:0 0 0 1px rgba(105,120,224,.19),0 8px 18px rgba(17,17,15,.09),inset 0 1px 0 rgba(255,255,255,.96)}
.project-launches .openpause-launch{color:#13291d;background:radial-gradient(ellipse at 35% 0%,rgba(255,255,255,.5),transparent 58%),linear-gradient(125deg,rgba(241,255,246,.84),rgba(226,247,235,.7) 58%,rgba(228,246,244,.62));box-shadow:0 0 0 1px rgba(44,151,92,.2),0 8px 18px rgba(17,17,15,.09),inset 0 1px 0 rgba(255,255,255,.96)}
.project-launches .project-launch-card::before{
  content:"";position:absolute;inset:4px 15px auto;height:26%;z-index:0;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,0));pointer-events:none;
}
.project-launches .project-launch-card::after{
  content:none;
}
.project-launches .project-launch-pop{
  appearance:none;position:relative;z-index:1;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;
  width:100%;min-width:0;min-height:80px;padding:10px 12px 25px;border:0;border-radius:inherit;
  background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;
}
.project-launches .project-launch-pop:hover{filter:saturate(1.08)}
.project-launches .project-launch-pop:active{scale:.985}
.project-launches .delpopolo-launch-mark,
.project-launches .strawberrynana-launch-orb,
.project-launches .margherita-launch-mark,
.project-launches .fuelatlas-launch-mark,
.project-launches .openpause-launch-mark{position:relative;grid-area:auto;display:grid;place-items:center;width:36px;height:36px;margin:0;border-radius:13px}
.project-launches .delpopolo-launch-mark{background:#ffdb2f;box-shadow:0 2px 7px rgba(17,17,15,.13)}
.project-launches .delpopolo-launch-mark img{width:36px;height:36px;border-radius:12px}
.project-launches .strawberrynana-launch-orb{overflow:hidden;background:#ffdb2f;box-shadow:0 2px 7px rgba(17,17,15,.13);transform:none}
.project-launches .strawberrynana-launch-orb svg{width:30px;height:34px;shape-rendering:geometricPrecision}
.project-launches .strawberrynana-launch-orb::after{display:none}
.project-launches .margherita-launch-mark{background:#ffdb2f;box-shadow:0 2px 7px rgba(17,17,15,.13)}
.project-launches .margherita-launch-mark svg{width:30px;height:30px;shape-rendering:geometricPrecision}
.project-launches .fuelatlas-launch-mark{border:1px solid #11110f;background:#f7b844;box-shadow:0 2px 7px rgba(17,17,15,.13)}
.project-launches .fuelatlas-launch-mark svg{width:27px;height:27px;shape-rendering:geometricPrecision}
.project-launches .geovideo-launch-mark{border:1px solid rgba(45,58,135,.3);border-radius:50%;background:linear-gradient(145deg,#626fd1,#323d91);color:#fff;box-shadow:0 2px 8px rgba(54,67,154,.24)}
.project-launches .geovideo-launch-mark svg{width:29px;height:29px;shape-rendering:geometricPrecision}
.project-launches .openpause-launch-mark{border:1px solid rgba(21,61,39,.28);background:linear-gradient(145deg,#16452f,#0d291b);color:#68f7a7;box-shadow:0 2px 8px rgba(25,92,56,.24)}
.project-launches .openpause-launch-mark svg{width:30px;height:30px;shape-rendering:geometricPrecision}
.project-launches .delpopolo-launch-copy,
.project-launches .strawberrynana-launch-copy,
.project-launches .margherita-launch-copy,
.project-launches .fuelatlas-launch-copy,
.project-launches .geovideo-launch-copy,
.project-launches .openpause-launch-copy{grid-area:auto;min-width:0;display:grid;gap:3px;line-height:1.1}
.project-launches .delpopolo-launch-eyebrow,
.project-launches .strawberrynana-launch-eyebrow,
.project-launches .margherita-launch-eyebrow,
.project-launches .fuelatlas-launch-eyebrow,
.project-launches .geovideo-launch-eyebrow,
.project-launches .openpause-launch-eyebrow{font-size:9px;letter-spacing:.12em}
.project-launches .delpopolo-launch-title,
.project-launches .strawberrynana-launch-title,
.project-launches .margherita-launch-title,
.project-launches .fuelatlas-launch-title,
.project-launches .geovideo-launch-title{
  display:-webkit-box;overflow:hidden;white-space:normal;text-overflow:clip;
  -webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:12px;line-height:1.22;letter-spacing:-.01em;
}
.project-launches .openpause-launch-title{display:-webkit-box;overflow:hidden;white-space:normal;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:12px;line-height:1.22;letter-spacing:-.01em}
.project-launches .project-launch-open{
  position:absolute;right:8px;bottom:5px;z-index:2;display:inline-flex;align-items:center;justify-content:center;
  max-width:calc(100% - 16px);min-height:22px;padding:3px 8px;border:1px solid rgba(255,255,255,.82);border-radius:999px;
  background:rgba(255,255,255,.62);box-shadow:0 3px 8px rgba(17,17,15,.08),inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter:blur(6px) saturate(150%);-webkit-backdrop-filter:blur(6px) saturate(150%);text-decoration:none;transition:background .2s ease,translate .2s ease;
}
.project-launches .project-launch-open:hover{background:rgba(255,255,255,.68);translate:0 -1px}
.project-launches .delpopolo-launch-cta,.project-launches .strawberrynana-launch-cta,
.project-launches .margherita-launch-cta,.project-launches .fuelatlas-launch-cta,
.project-launches .geovideo-launch-cta,.project-launches .openpause-launch-cta{
  display:inline-flex;align-items:center;gap:5px;max-width:100%;font-size:9px;font-weight:800;line-height:1.1;white-space:normal;
}
.project-launches .project-launch-pop:focus-visible,.project-launches .project-launch-open:focus-visible{outline:3px solid #11110f;outline-offset:2px}
.project-launches .delpopolo-launch-close{color:#171c2b}
.project-launches .strawberrynana-launch-close{color:#19243b}
.project-launches .margherita-launch-close{color:#11110f}
.project-launches .fuelatlas-launch-close{color:#16272a}
.project-launches .geovideo-launch-close,.project-launches .geovideo-launch-cta{color:#3e4da7}
.project-launches .openpause-launch-close,.project-launches .openpause-launch-cta{color:#17613a}
.project-launches-list>.project-launch-card:nth-child(1){grid-column:3/span 4;grid-row:1;z-index:1!important;--bubble-delay:-1.1s}
.project-launches-list>.project-launch-card:nth-child(2){grid-column:7/span 4;grid-row:1;z-index:2!important;--bubble-delay:-2.4s}
.project-launches-list>.project-launch-card:nth-child(3){grid-column:1/span 4;grid-row:2;z-index:3!important;--bubble-delay:-.6s}
.project-launches-list>.project-launch-card:nth-child(4){grid-column:5/span 4;grid-row:2;z-index:4!important;--bubble-delay:-3.2s}
.project-launches-list>.project-launch-card:nth-child(5){grid-column:9/span 4;grid-row:2;z-index:5!important;--bubble-delay:-1.8s}
.project-launches-list>.project-launch-card:nth-child(6){grid-column:5/span 4;grid-row:3;z-index:6!important;--bubble-delay:-2.9s}
.project-launches .project-launch-card{animation-delay:var(--bubble-delay,0s)}
.project-launches .project-launch-card:hover{translate:0 -2px;animation-play-state:paused}
.project-launches .project-launch-card.is-popping{z-index:6!important;pointer-events:none;animation:projectBubblePop .68s cubic-bezier(.18,.7,.28,1) both!important}
@keyframes projectBubbleFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
@keyframes projectBubblePop{
  0%{transform:translateY(0) scale(1) rotate(var(--bubble-tilt,0deg));opacity:1;filter:blur(0)}
  16%{transform:translateY(-3px) scale(1.035,.94) rotate(calc(var(--bubble-tilt,0deg) + 1deg));opacity:1;filter:brightness(1.08)}
  34%{transform:translateY(1px) scale(.96,1.045) rotate(calc(var(--bubble-tilt,0deg) - 1deg));opacity:.96}
  58%{transform:translateY(-2px) scale(.84,.78) rotate(calc(var(--bubble-tilt,0deg) + 2deg));opacity:.68;filter:blur(.3px)}
  100%{transform:translateY(7px) scale(.72,.46) rotate(calc(var(--bubble-tilt,0deg) + 4deg));opacity:0;filter:blur(4px)}
}
.project-bubble-burst-fx{position:fixed;z-index:120;overflow:visible;pointer-events:none;mix-blend-mode:screen}
.project-bubble-burst-film{opacity:0;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 5px rgba(190,239,255,.54));animation:projectBubbleFilmTear .78s cubic-bezier(.2,.7,.3,1) both}
.project-bubble-burst-drop{opacity:0;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 1px 3px rgba(255,255,255,.58));animation:projectBubbleDroplet .9s cubic-bezier(.16,1,.3,1) var(--burst-delay,0ms) both}
@keyframes projectBubbleFilmTear{
  0%{opacity:0;transform:scaleX(.58) scaleY(.36)}
  16%{opacity:.94;transform:scaleX(.9) scaleY(.72)}
  43%{opacity:.82;transform:scaleX(1.04) scaleY(1.08)}
  100%{opacity:0;transform:scaleX(1.3) scaleY(.58)}
}
@keyframes projectBubbleDroplet{
  0%{opacity:0;transform:translate(0,0) scale(.08) rotate(0deg)}
  17%{opacity:.92;transform:translate(0,0) scale(.74) rotate(0deg)}
  63%{opacity:.84;transform:translate(var(--burst-x),var(--burst-y)) scale(1) rotate(var(--burst-turn))}
  100%{opacity:0;transform:translate(var(--burst-x),var(--burst-y)) scale(.38) rotate(var(--burst-turn))}
}
@media(max-width:1015px){
  .project-launches{width:calc(100% - 48px)}
  .project-launches-list{width:min(780px,100%)}
}
@media(max-width:640px){
  .project-launches{width:calc(100% - 28px);margin:12px auto 20px;padding:0}
  .project-launches-heading{flex-direction:column;align-items:center;gap:4px;margin:0 2px 4px;padding:0 2px}
  .project-launches-heading>div{display:grid;justify-items:center;gap:3px;text-align:center}
  .project-launches-heading h2{font-size:13px}
  .project-launches-kicker{font-size:8px}
  .project-launches-hint{gap:5px;padding-top:3px;font-size:9px}
  .project-launches-hint b{width:18px;height:18px}
  .project-launches-list{width:100%;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:0;overflow:visible;padding:7px 0 10px}
  .project-launches-list>.project-launch-card:nth-child(1){grid-column:1/span 4;grid-row:1}
  .project-launches-list>.project-launch-card:nth-child(2){grid-column:5/span 4;grid-row:1}
  .project-launches-list>.project-launch-card:nth-child(3){grid-column:1/span 4;grid-row:2}
  .project-launches-list>.project-launch-card:nth-child(4){grid-column:5/span 4;grid-row:2}
  .project-launches-list>.project-launch-card:nth-child(5){grid-column:1/span 4;grid-row:3}
  .project-launches-list>.project-launch-card:nth-child(6){grid-column:3/span 4;grid-row:3}
  .project-launches .project-launch-card{width:min(240px,calc((100vw - 32px)/2))!important;max-width:240px;min-height:78px;margin-bottom:-7px!important}
  .project-launches .project-launch-pop{grid-template-columns:32px minmax(0,1fr);gap:6px;padding:9px 9px 23px;min-height:76px}
  .project-launches .delpopolo-launch-mark,
  .project-launches .strawberrynana-launch-orb,
  .project-launches .margherita-launch-mark,
  .project-launches .fuelatlas-launch-mark,
  .project-launches .geovideo-launch-mark,
  .project-launches .openpause-launch-mark{width:30px;height:30px}
  .project-launches .project-launch-open{right:6px;bottom:4px;max-width:calc(100% - 12px);font-size:8.5px;padding:2px 6px}
}
@media(prefers-reduced-motion:reduce){
  .project-launches .project-launch-card,.project-launches .project-launch-pop,.project-launches .project-launch-open{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .project-launches .project-launch-card.is-popping{animation:none!important}
  .project-bubble-burst-fx{display:none!important}
}
@supports not (backdrop-filter:blur(1px)){
  .project-launches{background:transparent}
  .project-launches .project-launch-card{background-color:rgba(255,248,237,.88)}
  .project-launches .project-launch-open{background:rgba(255,255,255,.86)}
}
@media(max-width:380px){
  .project-launches-list{column-gap:0}
  .project-launches .project-launch-pop{grid-template-columns:28px minmax(0,1fr);gap:5px;padding-left:7px;padding-right:7px}
  .project-launches .delpopolo-launch-title,
  .project-launches .strawberrynana-launch-title,
  .project-launches .margherita-launch-title,
  .project-launches .fuelatlas-launch-title,
  .project-launches .geovideo-launch-title,
  .project-launches .openpause-launch-title{font-size:10px}
  .project-launches .delpopolo-launch-mark,
  .project-launches .strawberrynana-launch-orb,
  .project-launches .margherita-launch-mark,
  .project-launches .fuelatlas-launch-mark,
  .project-launches .geovideo-launch-mark,
  .project-launches .openpause-launch-mark{width:27px;height:27px}
}
html[data-theme="light"] .project-launches-heading h2{color:#171713}
html[data-theme="light"] .project-launches-hint{color:#59645e}
html[data-theme="light"] .project-launches-hint b{border-color:rgba(23,28,43,.14)}

/* TICINO_3D_HOMEPAGE_STYLES_START */
.project-thumb.project-thumb-ticino3d{overflow:hidden;background:linear-gradient(135deg,#f5eedf,#dce7d8)}
.project-thumb.project-thumb-ticino3d img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.project-card-ticino3d:hover .project-thumb-ticino3d img{transform:scale(1.035)}
.project-launches .t3d-launch{color:#243d31;background:radial-gradient(ellipse at 35% 0%,rgba(255,255,255,.52),transparent 58%),linear-gradient(125deg,rgba(249,247,236,.84),rgba(229,239,220,.71) 58%,rgba(223,238,233,.63));box-shadow:0 0 0 1px rgba(56,110,83,.2),0 8px 18px rgba(17,17,15,.09),inset 0 1px 0 rgba(255,255,255,.96)}
.project-launches .t3d-launch-mark{border:1px solid rgba(35,77,60,.2);background:linear-gradient(145deg,#dbe8c9,#b8d0b1);box-shadow:0 2px 8px rgba(35,77,60,.19)}
.project-launches .t3d-launch-mark svg{width:29px;height:29px;fill:none;stroke:#315942;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.project-launches .t3d-launch-copy{grid-area:auto;min-width:0;display:grid;gap:3px;line-height:1.1}
.project-launches .t3d-launch-eyebrow{font-size:9px;letter-spacing:.12em;color:#7c7056}
.project-launches .t3d-launch-title{display:-webkit-box;overflow:hidden;white-space:normal;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:12px;line-height:1.22;letter-spacing:-.01em}
.project-launches .t3d-launch-close,.project-launches .t3d-launch-cta{color:#315942}
.project-launches .t3d-launch-cta{display:inline-flex;align-items:center;gap:5px;max-width:100%;font-size:9px;font-weight:800;line-height:1.1;white-space:normal}
.project-launches .t3d-launch-link{color:#315942}
.project-launches-list>.project-launch-card:nth-child(7){grid-column:7/span 4;grid-row:3;z-index:7!important;--bubble-delay:-1.4s}
@media(max-width:640px){
  .project-launches-list>.project-launch-card:nth-child(6){grid-column:5/span 4;grid-row:3}
  .project-launches-list>.project-launch-card:nth-child(7){grid-column:3/span 4;grid-row:4}
  .project-launches .t3d-launch-mark{width:30px;height:30px}
}
/* TICINO_3D_HOMEPAGE_STYLES_END */


/* base.css */
/* ═══════════════════════════════════════════════════
   NOISE + AMBIENCE
   ═══════════════════════════════════════════════════ */
.noise{
  pointer-events:none;position:fixed;inset:0;z-index:9990;
  opacity:.06;mix-blend-mode:overlay;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency=".85" numOctaves="3" stitchTiles="stitch"/></filter><rect width="200" height="200" filter="url(%23n)" opacity=".55"/></svg>');
  animation:noiseDrift 1.45s steps(2) infinite;
}
@keyframes noiseDrift{0%{transform:translate(0)}100%{transform:translate(-8px,6px)}}

html[data-theme="light"] .noise{
  opacity:.03;
  mix-blend-mode:multiply;
}
/* ═══════════════════════════════════════════════════
   DESKTOP CURSOR
   ═══════════════════════════════════════════════════ */
@media(hover:hover) and (pointer:fine){
  :root{
    --cursor-default:url('cursor-default.svg?v=20260408b') 8 6, auto;
    --cursor-pointer:url('cursor-pointer.svg?v=20260408b') 10 6, pointer;
    --cursor-text:url('cursor-text.svg?v=20260408b') 24 24, text;
    --cursor-vertical-text:url('cursor-vertical-text.svg?v=20260408b') 24 24, vertical-text;
    --cursor-help:url('cursor-help.svg?v=20260408b') 24 24, help;
    --cursor-wait:url('cursor-wait.svg?v=20260408b') 24 24, wait;
    --cursor-progress:url('cursor-progress.svg?v=20260408b') 10 6, progress;
    --cursor-crosshair:url('cursor-crosshair.svg?v=20260408b') 24 24, crosshair;
    --cursor-move:url('cursor-move.svg?v=20260408b') 24 24, move;
    --cursor-all-scroll:url('cursor-all-scroll.svg?v=20260408b') 24 24, all-scroll;
    --cursor-grab:url('cursor-grab.svg?v=20260408b') 24 10, grab;
    --cursor-grabbing:url('cursor-grabbing.svg?v=20260408b') 24 10, grabbing;
    --cursor-not-allowed:url('cursor-not-allowed.svg?v=20260408b') 24 24, not-allowed;
    --cursor-no-drop:url('cursor-no-drop.svg?v=20260408b') 24 24, no-drop;
    --cursor-copy:url('cursor-copy.svg?v=20260408b') 24 24, copy;
    --cursor-alias:url('cursor-alias.svg?v=20260408b') 10 6, alias;
    --cursor-context-menu:url('cursor-context-menu.svg?v=20260408b') 10 6, context-menu;
    --cursor-cell:url('cursor-cell.svg?v=20260408b') 24 24, cell;
    --cursor-zoom-in:url('cursor-zoom-in.svg?v=20260408b') 20 20, zoom-in;
    --cursor-zoom-out:url('cursor-zoom-out.svg?v=20260408b') 20 20, zoom-out;
    --cursor-ew-resize:url('cursor-ew-resize.svg?v=20260408b') 24 24, ew-resize;
    --cursor-ns-resize:url('cursor-ns-resize.svg?v=20260408b') 24 24, ns-resize;
    --cursor-nesw-resize:url('cursor-nesw-resize.svg?v=20260408b') 24 24, nesw-resize;
    --cursor-nwse-resize:url('cursor-nwse-resize.svg?v=20260408b') 24 24, nwse-resize;
    --cursor-col-resize:url('cursor-col-resize.svg?v=20260408b') 24 24, col-resize;
    --cursor-row-resize:url('cursor-row-resize.svg?v=20260408b') 24 24, row-resize;
  }
  html,
  body{
    cursor:var(--cursor-default)!important;
  }
  #loader,
  #loader *{
    cursor:var(--cursor-progress)!important;
  }
  a,
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  input[type="checkbox"],
  input[type="radio"],
  input[type="range"],
  .clickable,
  [role="button"],
  summary,
  .brand,
  .nav-link,
  .theme-toggle,
  .lang-toggle,
  .btn-mag,
  .btn-ghost,
  .project-card,
  .hamburger,
  .egg-action,
  .egg-close,
  .contact-close,
  .contact-send{
    cursor:var(--cursor-pointer)!important;
  }
  a,
  button,
  img,
  svg,
  .brand,
  .brand *,
  .nav-link,
  .project-card,
  .project-card *,
  .btn-mag,
  .btn-ghost,
  .theme-toggle,
  .lang-toggle,
  .egg-action,
  .egg-close{
    -webkit-user-drag:none;
  }
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="number"],
  input[type="search"],
  textarea,
  [contenteditable="true"]{
    cursor:var(--cursor-text)!important;
  }
  .vertical-text{
    cursor:var(--cursor-vertical-text)!important;
  }
  .crosshair{
    cursor:var(--cursor-crosshair)!important;
  }
  .move,
  .move-cursor{
    cursor:var(--cursor-move)!important;
  }
  .all-scroll{
    cursor:var(--cursor-all-scroll)!important;
  }
  [draggable="true"],
  .is-draggable,
  .drag-handle,
  .grab{
    cursor:var(--cursor-grab)!important;
  }
  [draggable="true"]:active,
  .is-draggable:active,
  .drag-handle:active,
  .grabbing{
    cursor:var(--cursor-grabbing)!important;
  }
  select{
    cursor:var(--cursor-pointer)!important;
  }
  button:disabled,
  input:disabled,
  select:disabled,
  textarea:disabled,
  [aria-disabled="true"]{
    cursor:var(--cursor-not-allowed)!important;
  }
  [data-help],
  abbr[title],
  [role="tooltip"]{
    cursor:var(--cursor-help)!important;
  }
  .wait{
    cursor:var(--cursor-wait)!important;
  }
  .loading,
  .progress,
  [aria-busy="true"]{
    cursor:var(--cursor-progress)!important;
  }
  .cell{
    cursor:var(--cursor-cell)!important;
  }
  .alias{
    cursor:var(--cursor-alias)!important;
  }
  .copy{
    cursor:var(--cursor-copy)!important;
  }
  .context-menu{
    cursor:var(--cursor-context-menu)!important;
  }
  .zoom-in{
    cursor:var(--cursor-zoom-in)!important;
  }
  .zoom-out{
    cursor:var(--cursor-zoom-out)!important;
  }
  .ew-resize,
  .col-resize{
    cursor:var(--cursor-ew-resize)!important;
  }
  .ns-resize,
  .row-resize{
    cursor:var(--cursor-ns-resize)!important;
  }
  .nesw-resize{
    cursor:var(--cursor-nesw-resize)!important;
  }
  .nwse-resize{
    cursor:var(--cursor-nwse-resize)!important;
  }
  .no-drop{
    cursor:var(--cursor-no-drop)!important;
  }
  html[data-cursor-lock="pointer"],
  html[data-cursor-lock="pointer"] body,
  html[data-cursor-lock="pointer"] body *{
    cursor:var(--cursor-pointer)!important;
  }
  html[data-cursor-lock="grabbing"],
  html[data-cursor-lock="grabbing"] body,
  html[data-cursor-lock="grabbing"] body *{
    cursor:var(--cursor-grabbing)!important;
  }
}

/* ═══════════════════════════════════════════════════
   REDUCED MOTION
   ═══════════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;filter:none}
  .split-text .word .char-wrap{transform:none;opacity:1}
}


/* modal.css */
/* ═══════════════════════════════════════════════════
   CONTACT MODAL
   ═══════════════════════════════════════════════════ */
.contact-overlay{
  position:fixed;inset:0;z-index:9990;
  background:rgba(0,0,0,.0);
  backdrop-filter:blur(0);
  pointer-events:none;
  transition:background .5s ease,backdrop-filter .5s ease;
  display:flex;align-items:center;justify-content:center;
}
.contact-overlay.open{
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(12px);
  pointer-events:all;
}
.contact-glass{
  position:relative;
  width:min(480px,90vw);
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  box-shadow:0 32px 100px rgba(0,0,0,.6),0 0 60px rgba(124,92,255,.12);
  padding:36px 32px 32px;
  overflow:hidden;
  background-clip:padding-box;
  transform:perspective(800px) rotateX(12deg) translateY(60px) scale(.88);
  opacity:0;
  filter:blur(6px);
  transition:transform .65s cubic-bezier(.16,1.2,.3,1),
             opacity .45s ease,
             filter .5s ease;
  will-change:transform,opacity,filter;
}
.contact-overlay.open .contact-glass{
  transform:perspective(800px) rotateX(0deg) translateY(0) scale(1);
  opacity:1;
  filter:blur(0);
}
.contact-glass .tag{margin-bottom:18px}
.contact-glass h2{
  font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px;
}
.contact-glass .contact-sub{
  color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:24px;
}
.contact-glass label{
  display:block;color:var(--muted);font-size:12px;
  font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  margin-bottom:6px;margin-top:16px;
}
.contact-glass label:first-of-type{margin-top:0}
.contact-glass input,
.contact-glass textarea{
  width:100%;padding:12px 14px;
  border-radius:12px;border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);
  color:var(--text);font-size:14px;font-family:inherit;
  outline:none;transition:border-color .2s ease,box-shadow .2s ease;
  resize:vertical;
}
.contact-glass input:focus,
.contact-glass textarea:focus{
  border-color:var(--accentB);
  box-shadow:0 0 0 3px rgba(0,212,255,.15);
}
.contact-glass textarea{min-height:100px}
.contact-glass .contact-send{
  margin-top:22px;width:100%;padding:14px;
  border:none;border-radius:14px;cursor:pointer;
  font-size:15px;font-weight:700;font-family:inherit;
  color:#fff;
  background:linear-gradient(135deg,var(--accentA),var(--accentB));
  box-shadow:0 8px 30px rgba(124,92,255,.3);
  transition:transform .2s ease,box-shadow .2s ease;
}
.contact-glass .contact-send:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(124,92,255,.45);
}
.contact-glass .contact-send:active{transform:translateY(0)}
.contact-close{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;border-radius:50%;
  border:1px solid var(--stroke);background:rgba(255,255,255,.06);
  color:var(--muted);font-size:18px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s ease;
  padding:0;
  font-family:inherit;
  line-height:1;
}
.contact-close:hover{color:var(--text);background:rgba(255,255,255,.12)}
.contact-glass .contact-ok{
  display:none;text-align:center;padding:30px 0 10px;
}
.contact-glass .contact-ok svg{
  width:48px;height:48px;color:var(--accentB);margin-bottom:14px;
}
.contact-glass .contact-ok h3{font-size:18px;font-weight:700;margin-bottom:6px}
.contact-glass .contact-ok p{color:var(--muted);font-size:13px;line-height:1.6}
html[data-theme="light"] .contact-overlay.open{
  background:rgba(211,220,237,.42);
}
html[data-theme="light"] .contact-glass{
  border-color:rgba(119,144,193,.2);
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(245,249,255,.76));
  box-shadow:0 32px 86px rgba(128,145,178,.18),0 0 44px rgba(74,108,255,.08);
}
html[data-theme="light"] .contact-glass input,
html[data-theme="light"] .contact-glass textarea{
  border-color:rgba(119,144,193,.2);
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}
html[data-theme="light"] .contact-glass input:focus,
html[data-theme="light"] .contact-glass textarea:focus{
  box-shadow:0 0 0 3px rgba(8,188,231,.1);
}
html[data-theme="light"] .contact-close{
  background:rgba(255,255,255,.78);
}
html[data-theme="light"] .contact-close:hover{
  background:rgba(255,255,255,.94);
}


/* mobile.css */
/* ═══════════════════════════════════════════════════
   HAMBURGER + MOBILE MENU
   ═══════════════════════════════════════════════════ */
.hamburger{
  display:none;
  width:36px;height:36px;
  border:1px solid var(--stroke);border-radius:10px;
  background:rgba(255,255,255,.05);
  cursor:pointer;position:relative;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  transition:background .2s ease;
  z-index:102;
  padding:0;
  font-family:inherit;
}
.hamburger:hover{background:rgba(255,255,255,.1)}
.hamburger span{
  display:block;width:18px;height:2px;
  background:var(--text);border-radius:2px;
  transition:transform .35s cubic-bezier(.16,1.2,.3,1),opacity .2s ease;
  transform-origin:center;
}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{
  position:fixed;inset:0;z-index:95;
  background:rgba(5,8,16,.96);
  backdrop-filter:blur(24px);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:0;
  opacity:0;pointer-events:none;
  transition:opacity .4s ease;
}
.mobile-menu.open{opacity:1;pointer-events:all}
.mobile-menu .mob-link{
  display:block;
  padding:18px 32px;
  font-size:clamp(22px,5vw,32px);font-weight:700;
  color:var(--muted);text-decoration:none;
  letter-spacing:-.01em;
  border:0;
  background:none;
  transform:translateY(30px);
  opacity:0;
  transition:transform .5s cubic-bezier(.16,1.2,.3,1),
             opacity .4s ease,
             color .2s ease;
  cursor:pointer;
  font-family:inherit;
}
.mobile-menu.open .mob-link{
  transform:translateY(0);opacity:1;
}
.mobile-menu .mob-link:nth-of-type(1){transition-delay:.05s}
.mobile-menu .mob-link:nth-of-type(2){transition-delay:.1s}
.mobile-menu .mob-link:nth-of-type(3){transition-delay:.15s}
.mobile-menu .mob-link:nth-of-type(4){transition-delay:.22s}
.mobile-menu .mob-link:nth-of-type(5){transition-delay:.28s}
.mobile-menu .mob-link:hover,
.mobile-menu .mob-link.active{color:var(--text)}
.mobile-menu .mob-link.active{
  background:linear-gradient(90deg,rgba(124,92,255,.12),transparent);
  border-radius:16px;
}
.mobile-menu .mob-lang-toggle{
  padding:16px 24px;
  margin:6px 0 2px;
  border:1px solid var(--stroke);
  border-radius:18px;
  background:linear-gradient(125deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-size:15px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mobile-menu .mob-lang-toggle .mob-lang-label{
  pointer-events:none;
}
html[data-lang="en"] .mobile-menu .mob-lang-toggle{
  color:var(--text);
  border-color:rgba(149,180,255,.26);
}
.mobile-menu .mob-divider{
  width:60px;height:1px;background:var(--stroke);margin:12px 0;
}
.mobile-menu .mob-brand{
  position:absolute;top:18px;left:24px;
  font-weight:700;font-size:15px;color:var(--muted);
  display:flex;align-items:center;gap:8px;
}
.mobile-menu .mob-brand-logo{
  display:block;
  height:24px;
  width:auto;
  flex:0 0 auto;
}
.mobile-menu .mob-brand .brand-dot{
  width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--accentA),var(--accentB));
}
.mobile-menu .mob-close{
  position:absolute;top:14px;right:20px;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;color:var(--muted);
  border:1px solid var(--stroke);border-radius:12px;
  background:rgba(255,255,255,.05);
  cursor:pointer;
  transition:color .2s ease,background .2s ease;
  padding:0;
  font-family:inherit;
  line-height:1;
}
.mobile-menu .mob-close:hover{color:var(--text);background:rgba(255,255,255,.1)}
html[data-theme="light"] .hamburger{
  border-color:rgba(118,145,196,.22);
  background:rgba(255,255,255,.76);
  box-shadow:0 8px 22px rgba(129,148,183,.14);
}
html[data-theme="light"] .hamburger:hover{background:rgba(255,255,255,.92)}
html[data-theme="light"] .mobile-menu{
  background:rgba(248,246,241,.96);
}
html[data-theme="light"] .mobile-menu .mob-link{
  color:#5b6984;
}
html[data-theme="light"] .mobile-menu .mob-link:hover,
html[data-theme="light"] .mobile-menu .mob-link.active{color:#1e2f4b}
html[data-theme="light"] .mobile-menu .mob-link.active{
  background:linear-gradient(90deg,rgba(74,108,255,.12),transparent);
}
html[data-theme="light"] .mobile-menu .mob-lang-toggle{
  border-color:rgba(118,145,196,.22);
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 8px 20px rgba(130,150,185,.12);
}
html[data-theme="light"] .mobile-menu .mob-brand,
html[data-theme="light"] .mobile-menu .mob-close{
  color:#4f5e7a;
}
html[data-theme="light"] .mobile-menu .mob-close{
  border-color:rgba(118,145,196,.22);
  background:rgba(255,255,255,.76);
}
html[data-theme="light"] .mobile-menu .mob-close:hover{
  color:#1b2d49;
  background:rgba(255,255,255,.92);
}

/* ═══════════════════════════════════════════════════
   MOBILE RESPONSIVE
   ═══════════════════════════════════════════════════ */
@media(max-width:768px){
  html,
  body{
    overflow-x:hidden;
    overflow-x:clip;
  }
  #page-home{
    overflow-x:hidden;
    overflow-x:clip;
  }
  .topnav{
    top:10px;
    width:calc(100% - 14px);
    border-radius:18px;
  }
  .topnav-inner{
    padding:9px 10px;
    gap:10px;
  }
  .topnav-start{
    gap:8px;
  }
  .brand{
    padding:6px 8px;
    border-radius:12px;
  }
  .brand-logo{
    height:24px;
  }
  .brand-name{
    display:none;
  }
  .theme-toggle{
    width:46px;
    height:36px;
    border-radius:12px;
  }
  .lang-toggle{
    min-width:auto;
    height:36px;
    padding:0 10px;
    gap:5px;
    border-radius:12px;
  }
  .lang-toggle::after{
    top:4px;
    bottom:4px;
    left:5px;
    width:46px;
    border-radius:9px;
  }
  .lang-toggle-seg,
  .lang-toggle-divider{
    font-size:9.5px;
    letter-spacing:.06em;
  }
  html[data-lang="en"] .lang-toggle::after{
    left:calc(100% - 5px - 30px);
    width:30px;
  }
  .theme-toggle-thumb{
    left:4px;
    top:4px;
    width:20px;
    height:20px;
    border-radius:8px;
  }
  html[data-theme="light"] .theme-toggle-thumb{
    transform:translateX(18px);
  }
  .theme-icon{
    width:12px;
    height:12px;
  }
  .theme-icon-sun{right:8px}
  .theme-icon-moon{left:8px}
  .hamburger{display:flex}
  .nav-links{display:none!important}

  .scroll-ring-wrap{
    left:auto!important;right:20px!important;bottom:40px!important;
    z-index:92!important;
    opacity:1!important;
  }
  .scroll-ring-wrap:not(.show){
    opacity:.3!important;
  }

  .hamburger span{
    transition:transform .35s cubic-bezier(.16,1.2,.3,1),opacity .2s ease!important;
  }
  .mobile-menu{
    transition:opacity .4s ease!important;
  }
  .mobile-menu .mob-link{
    transition:transform .5s cubic-bezier(.16,1.2,.3,1),opacity .4s ease,color .2s ease!important;
  }
  .scroll-ring-wrap{
    transition:opacity .3s ease!important;
  }

  .hscroll-sticky{
    height:100vh;
    height:100svh;
  }
  .hscroll-tape{
    gap:20px;
    padding:0 20px;
  }
  .hscroll-panel{
    flex:0 0 min(86vw,420px)!important;
    min-height:52vh;
  }
  .hscroll-panel-media{
    height:200px;
    font-size:44px;
  }
  .hscroll-panel .body{
    padding:22px;
  }
  .hscroll-panel h3{
    font-size:18px;
  }

  .aitracker-iframe-wrap{
    left:12px!important;
    right:auto!important;
    bottom:82px!important;
    max-width:calc(100vw - 24px)!important;
  }
  .aitracker-iframe-wrap.minimized{
    left:12px!important;
    right:auto!important;
    bottom:82px!important;
  }
  [id^="aitracker-badge-pill-"]{
    left:12px!important;
    right:auto!important;
    bottom:12px!important;
  }
  [id^="aitracker-badge-panel-"]{
    left:12px!important;
    right:auto!important;
    bottom:82px!important;
    max-width:calc(100vw - 24px)!important;
  }
}

@media(hover:none),(pointer:coarse){
  .tilt,
  [data-magnet]{
    transform:none!important;
  }
}


/* navigation.css */
/* Separate navigation objects; the surrounding space remains transparent. */
.topnav.constellation-nav{
  top:22px;
  width:calc(100% - 64px);
  max-width:1560px;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:visible;
  pointer-events:none;
}
.topnav.constellation-nav::before,
.topnav.constellation-nav::after{content:none}
.constellation-nav .topnav-inner{padding:0;gap:24px;align-items:flex-start}
.constellation-nav .topnav-start{gap:12px;align-items:center}
.constellation-nav .topnav-actions{gap:20px;align-items:center}
.constellation-nav.visible button,
.constellation-nav.visible a{pointer-events:auto}
.constellation-nav .brand{
  background:none;
  border:0;
  box-shadow:none;
  padding:4px 8px 4px 0;
  overflow:visible;
}
.constellation-nav .brand::before,
.constellation-nav .brand::after{content:none}
.constellation-nav .brand-logo{height:43px;filter:drop-shadow(0 8px 12px rgba(17,32,61,.16))}
.constellation-nav .brand:hover{background:none;box-shadow:none;transform:rotate(-4deg)}
.constellation-nav .nav-link-g{
  display:inline-flex!important;
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:50%;
  border-style:solid;
  border-width:1px;
  padding:0;
  cursor:pointer;
  animation:none;
}
.constellation-nav .nav-link-g-mark{font-size:20px}
.orbit-menu-toggle{
  display:flex;
  align-items:center;
  gap:9px;
  border:0;
  padding:0 0 0 2px;
  background:none;
  color:var(--text);
  font:inherit;
  text-align:left;
  cursor:pointer;
  min-height:52px;
}
.orbit-menu-symbol{
  position:relative;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:rgba(11,19,36,.82);
  box-shadow:0 7px 24px rgba(3,10,25,.2),inset 0 1px rgba(255,255,255,.2);
}
.orbit-menu-symbol svg{width:51px;height:51px;fill:none;stroke:#88cfff;stroke-width:1;transition:transform .6s var(--ease-out-expo)}
.orbit-menu-symbol svg circle{fill:#ff9d69;stroke:none}
.orbit-menu-copy{display:grid;gap:4px;min-width:92px;padding:7px 5px;text-shadow:0 1px 16px var(--bg0)}
.orbit-menu-copy>span{font-size:16px;font-weight:750;letter-spacing:.01em}
.orbit-menu-copy small{font-size:10px;letter-spacing:.08em;font-weight:600;color:var(--muted)}
.orbit-menu-plus{align-self:flex-start;font-size:23px;font-weight:300;transition:transform .4s ease}
.orbit-menu-toggle:hover .orbit-menu-symbol svg{transform:rotate(90deg)}
.orbit-menu-toggle:hover .orbit-menu-plus{transform:rotate(90deg)}
.orbit-menu-toggle:focus-visible,
.constellation-menu a:focus-visible,
.constellation-menu button:focus-visible{outline:2px solid var(--accentB);outline-offset:6px}
html[data-theme="light"] .topnav.constellation-nav{background:none;box-shadow:none;border:0}
html[data-theme="light"] .constellation-nav .brand{background:none;box-shadow:none;border:0}
html[data-theme="light"] .orbit-menu-symbol{background:rgba(255,255,255,.9);box-shadow:0 8px 28px rgba(30,64,110,.12),inset 0 0 0 1px rgba(90,118,158,.13)}
html[data-theme="light"] .orbit-menu-symbol svg{stroke:#2e5cc2}
html[data-theme="light"] .orbit-menu-symbol svg circle{fill:#e77845}

/* The map is one accessible dialog on desktop and mobile. */
.mobile-menu.constellation-menu{
  --map-ink:#f5f7ff;
  --map-muted:#b9c6df;
  --map-line:rgba(134,168,230,.22);
  --map-blue:#81ccff;
  --map-warm:#ffb58a;
  --map-node:rgba(14,22,39,.9);
  display:flex;
  align-items:stretch;
  justify-content:flex-start;
  z-index:190;
  padding:24px clamp(24px,4vw,72px) 26px;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:
    radial-gradient(ellipse at 72% 48%,rgba(58,104,185,.18),transparent 53%),
    radial-gradient(ellipse at 33% 84%,rgba(132,61,99,.1),transparent 45%),
    rgba(5,10,20,.98);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:var(--map-ink);
  font-family:inherit;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .36s ease,visibility 0s .36s!important;
}
.mobile-menu.constellation-menu.open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition:opacity .4s ease,visibility 0s!important;
}
.constellation-menu::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  min-height:100%;
  background-image:radial-gradient(var(--map-line) .7px,transparent .7px);
  background-size:28px 28px;
  mask-image:linear-gradient(100deg,transparent 20%,#000 75%);
  -webkit-mask-image:linear-gradient(100deg,transparent 20%,#000 75%);
  pointer-events:none;
  opacity:.4;
}
.constellation-menu-head,.constellation-menu-foot{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex:0 0 auto;
  width:100%;
  max-width:1440px;
  margin-inline:auto;
}
.constellation-home{display:block;border-radius:12px;flex:0 0 auto}
.constellation-home img{display:block;width:112px;height:42px;object-fit:contain}
.constellation-coordinate{margin-left:auto;font-family:inherit;font-size:11px;letter-spacing:.16em;color:var(--map-muted)}
.constellation-close{
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:5px 0 5px 20px;
  min-height:48px;
  background:none;border:0;color:var(--map-ink);
  font:inherit;font-size:13px;cursor:pointer;
}
.constellation-close svg{width:42px;height:42px;padding:10px;border:1px solid var(--map-line);border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .3s ease}
.constellation-close:hover svg{transform:rotate(90deg)}
.constellation-menu-body{
  position:relative;
  display:grid;
  grid-template-columns:minmax(240px,.85fr) minmax(0,1.65fr);
  align-items:center;
  gap:clamp(12px,2vw,36px);
  width:100%;
  max-width:1440px;
  flex:1 0 auto;
  min-height:540px;
  margin:10px auto;
}
.constellation-intro{padding-block:28px;transform:translateY(20px);opacity:0;transition:transform .75s var(--ease-out-expo),opacity .5s ease}
.open .constellation-intro{transform:none;opacity:1}
.constellation-eyebrow{display:flex;align-items:center;gap:10px;font-family:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--map-muted)}
.constellation-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--map-warm);box-shadow:0 0 12px var(--map-warm)}
.constellation-intro h2{max-width:6ch;margin:30px 0 38px;font-size:clamp(46px,5.7vw,90px);line-height:.98;font-weight:650;letter-spacing:-.065em;color:var(--map-ink)}
.constellation-intro h2>span{display:block}
.constellation-intro h2 em{display:block;font-weight:400;font-family:inherit;letter-spacing:-.06em;color:var(--map-blue)}
.constellation-preview{display:flex;gap:18px;align-items:center;max-width:280px;min-height:64px}
#constellationIndex{font:300 42px/1 Georgia,serif;color:var(--map-warm)}
#constellationDescription{font-size:13px;line-height:1.6;color:var(--map-muted)}
.constellation-map{position:relative;width:100%;aspect-ratio:800/520;min-height:460px;isolation:isolate}
.constellation-orbits{position:absolute;width:100%;height:100%;inset:0;overflow:visible;pointer-events:none;fill:none;stroke:var(--map-line);stroke-width:1}
.constellation-orbits ellipse{stroke-dasharray:2 7;transform-origin:50% 50%}
.constellation-orbits ellipse:first-child{stroke-dasharray:none}
.constellation-orbit-inner{stroke-dasharray:1 12!important;stroke-width:2}
.constellation-stars{fill:var(--map-blue);stroke:none}
.constellation-signal{stroke:var(--map-blue);stroke-width:1.3;stroke-dasharray:8 6;opacity:.65;animation:constellation-signal-flow 1.8s linear infinite;animation-play-state:paused}
.open .constellation-signal{animation-play-state:running}
.constellation-map .constellation-link{
  position:absolute;
  z-index:2;
  left:var(--node-x);top:var(--node-y);
  transform:translate(-50%,-40%);
  display:grid;
  gap:8px;
  padding:15px 22px;
  border:1px solid transparent;
  border-radius:22px;
  background:transparent;
  box-shadow:none;
  color:var(--map-ink);
  text-decoration:none;
  white-space:nowrap;
  font-family:inherit;
  letter-spacing:0;
  overflow:visible;
  opacity:0;
  transition:opacity .48s ease var(--node-delay),transform .65s var(--ease-out-expo) var(--node-delay),background .25s ease,border-color .25s ease;
}
.open .constellation-map .constellation-link{opacity:1;transform:translate(-50%,-50%)}
.constellation-map .constellation-link::before{content:none}
.constellation-link-number{color:var(--map-muted);font:11px/1 monospace;letter-spacing:.12em}
.constellation-link-label{font-size:clamp(17px,1.85vw,29px);font-weight:600;line-height:1.15;letter-spacing:-.045em}
.constellation-link-arrow{position:absolute;right:8px;top:13px;font-size:17px;opacity:0;color:var(--map-blue);transition:opacity .2s ease,transform .35s ease;transform:translate(-4px,4px)}
.constellation-map .constellation-link.is-highlighted,
.constellation-map .constellation-link:focus-visible{background:var(--map-node);border-color:var(--map-line);box-shadow:0 12px 30px rgba(12,32,64,.07);color:var(--map-ink)}
.constellation-link.is-highlighted .constellation-link-arrow{opacity:1;transform:none}
.constellation-map .constellation-link.active .constellation-link-number::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin-left:8px;vertical-align:middle;background:var(--map-blue);box-shadow:0 0 10px var(--map-blue)}
.constellation-map .constellation-link.active{background:transparent;box-shadow:none;border-color:transparent;color:var(--map-ink)}
.constellation-map .constellation-link.active.is-highlighted{background:var(--map-node);border-color:var(--map-line)}
html[data-theme="light"] .constellation-map .constellation-link.active{color:var(--map-ink)}
.constellation-core{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:104px;height:104px;
  border:1px solid var(--map-line);
  border-radius:50%;
  background:var(--map-node);
  color:var(--map-ink);
  display:grid;place-content:center;gap:4px;
  cursor:pointer;isolation:isolate;
  font:inherit;
  box-shadow:0 0 50px rgba(76,143,255,.13),inset 0 1px rgba(255,255,255,.32);
}
.constellation-core-halo{position:absolute;inset:-14px;border:1px solid var(--map-line);border-radius:48% 52% 38% 62%;animation:constellation-core-orbit 12s linear infinite;animation-play-state:paused;pointer-events:none}
.constellation-core-halo::after{content:"";position:absolute;left:5px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--map-warm);box-shadow:0 0 15px var(--map-warm)}
.open .constellation-core-halo{animation-play-state:running}
.constellation-core-letter{font-size:38px;font-weight:700;line-height:1;letter-spacing:-.08em}
.constellation-core-caption{font:8px/1.5 monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--map-muted)}
.constellation-core:hover{border-color:var(--map-blue)}
.constellation-core:hover .constellation-core-halo{animation-duration:4s}
.constellation-core.is-open,.constellation-core.has-active-egg{border-color:var(--map-blue);box-shadow:0 0 28px color-mix(in srgb,var(--map-blue) 28%,transparent),inset 0 0 22px color-mix(in srgb,var(--map-blue) 12%,transparent)}
.constellation-core.is-open .constellation-core-halo,.constellation-core.has-active-egg .constellation-core-halo{animation-play-state:running}
.constellation-menu-foot{padding-top:18px;border-top:1px solid var(--map-line);gap:20px}
.constellation-footnote{font-size:11px;letter-spacing:.04em;color:var(--map-muted)}
.constellation-controls{display:flex;align-items:center;gap:12px}

/* Equal-width language tracks keep the thumb aligned in both languages. */
:is(.constellation-nav,.constellation-menu) .lang-toggle{
  display:grid;grid-template-columns:74px 12px 32px;gap:0;
  width:134px;min-width:134px;padding:0 7px;box-sizing:border-box;
}
:is(.constellation-nav,.constellation-menu) .lang-toggle-seg{min-width:0;font-size:10px;letter-spacing:.055em;text-shadow:none}
:is(.constellation-nav,.constellation-menu) .lang-toggle-divider{text-align:center}
:is(.constellation-nav,.constellation-menu) .lang-toggle::after{left:7px;width:74px}
html[data-lang="en"] :is(.constellation-nav,.constellation-menu) .lang-toggle::after{left:93px;width:32px}
html[data-theme="light"][data-lang="it"] :is(.constellation-nav,.constellation-menu) .lang-toggle-seg-original,
html[data-theme="light"][data-lang="en"] :is(.constellation-nav,.constellation-menu) .lang-toggle-seg-en{color:#1c3154}

html[data-theme="light"] .mobile-menu.constellation-menu{
  --map-ink:#152942;
  --map-muted:#576d83;
  --map-line:rgba(50,87,132,.2);
  --map-blue:#265db9;
  --map-warm:#b86131;
  --map-node:rgba(255,255,255,.8);
  background:
    radial-gradient(ellipse at 72% 42%,rgba(118,179,235,.17),transparent 55%),
    radial-gradient(ellipse at 38% 88%,rgba(255,189,134,.16),transparent 46%),
    rgba(249,248,242,.98);
}
.egg-popover{display:block!important;max-height:calc(100dvh - 114px);overflow-y:auto}

@keyframes constellation-signal-flow{to{stroke-dashoffset:-28}}
@keyframes constellation-core-orbit{to{transform:rotate(360deg)}}

@media(min-width:1600px){
  .constellation-map{min-height:550px}
}
@media(max-width:1000px){
  .constellation-menu-body{grid-template-columns:minmax(180px,.65fr) minmax(0,1.5fr);min-height:500px}
  .constellation-map{min-height:420px}
  .constellation-intro h2{font-size:55px}
  .constellation-map .constellation-link{padding:13px 15px}
  .constellation-link-label{font-size:18px}
  .constellation-core{width:82px;height:82px}
  .constellation-core-letter{font-size:30px}
}
@media(max-width:760px){
  .topnav.constellation-nav{top:14px;width:calc(100% - 30px)}
  .constellation-nav .topnav-inner{gap:10px;align-items:center}
  .constellation-nav .topnav-start{gap:8px}
  .constellation-nav .topnav-actions{gap:10px}
  .constellation-nav .brand{padding:0}
  .constellation-nav .brand-logo{height:32px}
  .constellation-nav .nav-link-g{width:44px;height:44px;min-width:44px}
  .orbit-menu-symbol{width:44px;height:44px}
  .orbit-menu-symbol svg{width:42px;height:42px}
  .orbit-menu-copy{min-width:64px;max-width:76px}
  .orbit-menu-copy>span{font-size:14px}
  .orbit-menu-copy small{font-size:8px;letter-spacing:0}
  .orbit-menu-plus{display:none}
  .mobile-menu.constellation-menu{padding:16px 22px 22px}
  .constellation-menu-head{gap:16px}
  .constellation-home img{width:90px;height:34px}
  .constellation-coordinate{font-size:8px;letter-spacing:.08em}
  .constellation-close{padding-left:0;gap:8px;font-size:11px}
  .constellation-close svg{width:36px;height:36px;padding:9px}
  .constellation-menu-body{display:block;min-height:0;flex:1 0 auto;margin:20px auto}
  .constellation-intro{padding:0 0 18px}
  .constellation-eyebrow{font-size:9px;letter-spacing:.1em}
  .constellation-intro h2{max-width:none;margin:14px 0 0;font-size:clamp(32px,8.5vw,46px);line-height:1.08;letter-spacing:-.055em}
  .constellation-intro h2>span,.constellation-intro h2 em{display:inline}
  .constellation-intro h2 em{margin-left:.2em}
  .constellation-preview{display:none}
  .constellation-map{min-height:0;aspect-ratio:auto;display:flex;flex-direction:column;gap:3px;padding:0 0 0 16px}
  .constellation-orbits{display:none}
  .constellation-map::before{content:"";position:absolute;left:2px;top:25px;bottom:62px;width:1px;background:linear-gradient(var(--map-blue),var(--map-line) 65%,var(--map-warm));opacity:.7}
  .constellation-map .constellation-link,
  .open .constellation-map .constellation-link{
    position:relative;top:auto;left:auto;
    transform:none;
    min-height:57px;
    display:flex;align-items:center;gap:16px;
    padding:12px 18px 12px 10px;
    border-radius:16px;
  }
  .constellation-map .constellation-link::before{content:"";position:absolute;inset:auto auto auto -17px;width:5px;height:5px;border-radius:50%;background:var(--map-muted);opacity:1;z-index:0}
  .constellation-map .constellation-link.active::before{background:var(--map-blue);box-shadow:0 0 10px var(--map-blue)}
  .constellation-link-label{font-size:clamp(22px,6vw,28px)}
  .constellation-link-number{font-size:9px;width:18px}
  .constellation-map .constellation-link.active .constellation-link-number::after{display:none}
  .constellation-link-arrow{right:12px;top:17px;opacity:.7;transform:none}
  .constellation-core{position:relative;left:auto;top:auto;transform:none;width:100%;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:flex-start;gap:18px;padding:10px;margin-top:8px;box-shadow:none;background:none}
  .constellation-core-halo{display:none}
  .constellation-core-letter{font-size:24px;min-width:20px}
  .constellation-core-caption{font-size:10px;letter-spacing:.13em}
  .constellation-menu-foot{padding-top:15px;gap:12px;align-items:center}
  .constellation-footnote{max-width:17ch;font-size:9px;line-height:1.6}
  .constellation-controls{gap:8px}
  .constellation-controls .theme-toggle{height:40px;width:46px;border-radius:20px}
  .constellation-controls .theme-toggle-thumb{top:7px;left:4px;width:24px;height:24px;border-radius:50%}
  html[data-theme="light"] .constellation-controls .theme-toggle-thumb{transform:translateX(12px)}
  .constellation-controls .lang-toggle{height:40px;border-radius:24px}
  .egg-popover{max-height:calc(100dvh - 100px)}
}
@media(max-width:380px){
  .mobile-menu.constellation-menu{padding-inline:16px}
  .constellation-coordinate{display:none}
  .constellation-menu-foot{flex-wrap:wrap}
  .constellation-footnote{max-width:none}
  .constellation-controls{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){
  .mobile-menu.constellation-menu,
  .constellation-intro,
  .constellation-map .constellation-link,
  .orbit-menu-symbol svg{transition:none!important}
  .constellation-core-halo,.constellation-signal{animation:none!important}
}


/* aitracker-badge.css */
/* ═══════════════════════════════════════════════════
   AITRACKER BADGE POSITIONING
   ═══════════════════════════════════════════════════ */
[id^="aitracker-badge-pill-"]{
  left:24px!important;
  right:auto!important;
  bottom:12px!important;
}
[id^="aitracker-badge-panel-"]{
  left:24px!important;
  right:auto!important;
  bottom:80px!important;
}
.aitracker-iframe-wrap{
  left:24px!important;
  right:auto!important;
  bottom:80px!important;
}
.aitracker-iframe-wrap.minimized{
  left:24px!important;
  right:auto!important;
  bottom:80px!important;
}

