:root{
  --bg:#030307;
  --bg-soft:#080812;
  --card:#080813;
  --card-2:#0e0c15;
  --line:rgba(255,255,255,.11);
  --line-bright:rgba(255,20,159,.38);
  --text:#f5eef4;
  --muted:#c0b5c1;
  --pink:#ff149f;
  --pink-soft:#ff4eb8;
  --gold:#f2d4ad;
  --gold-line:rgba(242,212,173,.55);
  --shadow-pink:0 0 24px rgba(255,20,159,.32), 0 0 54px rgba(255,20,159,.12);
  --section-max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
body.marketing-page{min-height:100vh}
html.intro-gate-pending body{visibility:hidden;background:#030307}
html.intro-gate-ready body{visibility:visible}

.ambient-canvas,.distort-canvas,.warp-canvas,.flash-overlay{position:fixed;inset:0;pointer-events:none;z-index:5}
.ambient-canvas{opacity:0}
.distort-canvas{opacity:0;mix-blend-mode:normal}
.warp-canvas{opacity:0;mix-blend-mode:screen;z-index:22}
.wormhole-scene{--wormhole-x:50vw;--wormhole-y:50vh;--wormhole-radius:0px;--wormhole-zoom:1;--wormhole-pan-x:0px;--wormhole-pan-y:0px;--wormhole-roll:0deg;position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;opacity:0;-webkit-clip-path:circle(var(--wormhole-radius) at var(--wormhole-x) var(--wormhole-y));clip-path:circle(var(--wormhole-radius) at var(--wormhole-x) var(--wormhole-y));background:#020006;will-change:opacity,clip-path,filter;backface-visibility:hidden;transform:translateZ(0);isolation:isolate}
.wormhole-layer{position:absolute;inset:-20%;width:140%;height:140%;pointer-events:none}.wormhole-depth,.wormhole-vignette{position:absolute;inset:0;width:auto;height:auto;pointer-events:none}
.wormhole-layer{object-fit:cover;object-position:center;will-change:transform,opacity,filter;transform:translate3d(var(--wormhole-pan-x),var(--wormhole-pan-y),0) scale(var(--wormhole-zoom)) rotate(var(--wormhole-roll));filter:saturate(1.18) contrast(1.12) brightness(.82)}
.wormhole-tunnel{opacity:.92;animation:wormhole-breathe 3.8s ease-in-out infinite alternate}
.wormhole-flight{opacity:0;mix-blend-mode:screen;filter:saturate(1.3) contrast(1.08) brightness(.72);animation:none}
.wormhole-depth{inset:0;width:auto;height:auto;background:radial-gradient(circle at center,transparent 0 7%,rgba(255,77,185,.12) 14%,transparent 28%),repeating-radial-gradient(circle at center,transparent 0 8%,rgba(255,255,255,.025) 8.4%,transparent 9.2%);mix-blend-mode:screen;transform:translate3d(var(--wormhole-pan-x),var(--wormhole-pan-y),0) scale(var(--wormhole-zoom)) rotate(var(--wormhole-roll));will-change:transform,opacity}
.wormhole-vignette{inset:0;width:auto;height:auto;background:radial-gradient(circle at center,transparent 0 34%,rgba(1,0,8,.08) 55%,rgba(0,0,4,.72) 100%),linear-gradient(90deg,rgba(3,0,12,.22),transparent 25% 75%,rgba(9,0,12,.28));}
.flash-overlay{background:radial-gradient(circle at center,rgba(255,245,229,.9),rgba(255,91,188,.38) 22%,rgba(50,8,70,.08) 52%,rgba(0,0,0,0) 72%);opacity:0;z-index:24}
@keyframes wormhole-breathe{from{transform:translate3d(var(--wormhole-pan-x),var(--wormhole-pan-y),0) scale(calc(var(--wormhole-zoom) * 1.02)) rotate(var(--wormhole-roll));filter:saturate(1.12) contrast(1.08) brightness(.76)}to{transform:translate3d(var(--wormhole-pan-x),var(--wormhole-pan-y),0) scale(calc(var(--wormhole-zoom) * 1.08)) rotate(var(--wormhole-roll));filter:saturate(1.34) contrast(1.16) brightness(.96)}}
@keyframes wormhole-flight-pulse{from{transform:translate3d(calc(var(--wormhole-pan-x) - 1%),calc(var(--wormhole-pan-y) + 1%),0) scale(calc(var(--wormhole-zoom) * 1.04)) rotate(calc(var(--wormhole-roll) - 1deg));opacity:.22}to{transform:translate3d(calc(var(--wormhole-pan-x) + 1%),calc(var(--wormhole-pan-y) - 1%),0) scale(calc(var(--wormhole-zoom) * 1.16)) rotate(calc(var(--wormhole-roll) + 1deg));opacity:.62}}
body.webgl-wormhole .wormhole-scene{mix-blend-mode:normal}

.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 42px;background:linear-gradient(180deg,rgba(0,0,0,.52),rgba(0,0,0,0));pointer-events:none}
.site-header > *{pointer-events:auto}
.brand{display:flex;align-items:flex-end;gap:14px;min-width:180px}
.brand img{width:104px;height:auto;display:block;filter:drop-shadow(0 0 18px rgba(255,20,159,.26))}
.brand span{font-size:12px;letter-spacing:.40em;color:#ddd2da;padding-bottom:6px}
.desktop-nav{display:flex;align-items:center;gap:40px}
.desktop-nav a{position:relative;font-size:13px;letter-spacing:.18em;color:#f3edf1;opacity:.95;transition:color .18s ease,opacity .18s ease,text-shadow .18s ease}
.desktop-nav a:first-child{padding-left:16px}
.desktop-nav a:first-child i{position:absolute;left:0;top:50%;width:8px;height:8px;border-radius:50%;background:var(--pink);transform:translateY(-50%);box-shadow:0 0 12px rgba(255,20,159,.7)}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:1px;background:linear-gradient(90deg,transparent,var(--pink),transparent);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:#fff;opacity:1;text-shadow:0 0 12px rgba(255,20,159,.25)}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.project-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;height:46px;padding:0 22px;border:1px solid var(--gold-line);font-size:13px;letter-spacing:.16em;color:#fff7eb;background:rgba(10,8,13,.18);box-shadow:inset 0 0 0 1px rgba(255,215,170,.06),0 0 28px rgba(242,212,173,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.project-button:hover,.project-button:focus-visible{transform:translateY(-1px);border-color:rgba(255,220,180,.82);box-shadow:0 0 18px rgba(255,206,142,.18), inset 0 0 0 1px rgba(255,230,200,.10);background:rgba(16,10,14,.32)}
.project-button b{font-size:16px;font-weight:500}
.desktop-only{display:inline-flex}
.menu-toggle,.mobile-menu{display:none}

.hero{position:relative;min-height:100svh;overflow:clip;background:#000}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;background:linear-gradient(180deg,rgba(3,3,7,0),rgba(3,3,7,.45) 45%,rgba(3,3,7,.85) 74%,var(--bg) 100%);pointer-events:none;z-index:4}
.hero-composite{position:relative;min-height:100svh;isolation:isolate}
.hero-composite::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:calc(var(--charge,0)*.82);background:radial-gradient(circle at var(--portal-cx,50vw) var(--portal-cy,50vh),transparent 0 8%,rgba(255,24,151,.08) 18%,rgba(18,0,25,.38) 42%,rgba(0,0,4,.82) 100%);mix-blend-mode:multiply;transition:opacity .05s linear}
.scene-picture,.scene-image,.scene-shade{position:absolute;inset:0;width:100%;height:100%}
.scene-image{object-fit:cover;object-position:center center;user-select:none;pointer-events:none;filter:brightness(.92) saturate(1.03) contrast(1.03)}
.scene-shade{background:
 linear-gradient(180deg,rgba(2,2,4,.15),rgba(2,2,4,.06) 36%,rgba(2,2,4,.10) 58%,rgba(2,2,4,.18) 100%),
 radial-gradient(circle at 21% 58%,rgba(0,0,0,.30),rgba(0,0,0,0) 30%),
 linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,0) 38%,rgba(0,0,0,0) 66%,rgba(0,0,0,.14))}
.hero-layout{position:relative;z-index:6;display:grid;grid-template-columns:minmax(350px,1.05fr) minmax(280px,.8fr) minmax(340px,.95fr);gap:34px;align-items:center;min-height:100svh;max-width:1500px;margin:0 auto;padding:148px 48px 132px}
.charge-target{will-change:transform,filter,opacity}

.hero-copy{max-width:600px;user-select:text}
.hero-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:22px;font-size:10px;letter-spacing:.36em;color:#d7ced6}
.hero-kicker b{display:block;width:14px;height:1px;background:rgba(255,255,255,.28)}
.hero-copy h1{margin:0;line-height:.93;font-weight:300;font-size:clamp(62px,6vw,92px);letter-spacing:-.04em;color:#f8f4f7;text-shadow:0 0 24px rgba(255,255,255,.04)}
.hero-copy h1 em{font-style:normal;color:#f7e8db;text-shadow:0 0 16px rgba(255,214,166,.28),0 0 42px rgba(255,109,184,.18)}
.hero-copy p{margin:24px 0 28px;max-width:560px;color:#e3dae2;font-size:17px;line-height:1.55;text-shadow:0 1px 1px rgba(0,0,0,.5)}
.signature{display:inline-flex;align-items:center;gap:14px;padding-left:14px;border-left:3px solid var(--pink);font-size:14px;letter-spacing:.22em;color:#f3ecf2;text-transform:none}

.portal-stage{display:grid;place-items:center;min-height:430px}
.portal-button{--portal-turn:.01deg;position:relative;display:block;width:min(360px,27vw);aspect-ratio:1;border:0;background:none;border-radius:50%;padding:0;cursor:pointer;touch-action:none;filter:drop-shadow(0 0 28px rgba(255,20,159,.32)) drop-shadow(0 0 52px rgba(255,20,159,.14));transition:transform .18s ease,filter .18s ease}
.portal-button:hover,.portal-button:focus-visible{transform:scale(1.016);filter:drop-shadow(0 0 34px rgba(255,20,159,.44)) drop-shadow(0 0 72px rgba(255,20,159,.16))}
.portal-button:active{transform:scale(.995)}
.portal-shell,.portal-progress,.portal-inner{position:absolute;inset:0;border-radius:50%}
.portal-shell{background:conic-gradient(from -52deg,#4e4257 0 16%,#8c7ca0 16% 27%,#58495d 27% 48%,#9885a8 48% 58%,#5a4b60 58% 73%,#8a7898 73% 84%,#554861 84% 100%);opacity:.92;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.portal-progress{inset:14px;background:conic-gradient(from -90deg,var(--pink) 0deg,var(--pink-soft) var(--portal-turn),rgba(255,255,255,.10) var(--portal-turn),rgba(255,255,255,.10) 360deg);mask:radial-gradient(farthest-side,transparent calc(100% - 17px),#000 calc(100% - 17px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 17px),#000 calc(100% - 17px));filter:drop-shadow(0 0 18px rgba(255,20,159,.48))}
.portal-inner{inset:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 36%,rgba(22,8,28,.98),rgba(9,4,14,.98) 65%,rgba(5,3,8,.99));border:1px solid rgba(255,20,159,.20);box-shadow:inset 0 0 54px rgba(255,20,159,.08), inset 0 0 120px rgba(0,0,0,.55)}
.portal-inner img{width:78px;height:auto;margin-bottom:12px;filter:drop-shadow(0 0 14px rgba(255,20,159,.26))}
.portal-inner strong{display:block;font-size:20px;line-height:1.13;font-weight:550;letter-spacing:.02em;text-align:center;color:#fff6ef}
.portal-inner i{display:block;width:64px;height:1px;margin:16px 0 15px;background:rgba(255,255,255,.58)}
.portal-inner b{font-size:17px;color:#ff68c3;font-weight:600}
.portal-help{margin-top:18px;font-size:10px;letter-spacing:.34em;color:#e3d8e0;text-align:center}
.portal-help span{display:inline-block;width:28px;height:1px;background:rgba(255,255,255,.35);vertical-align:middle;margin:0 8px}

.hero-right{position:relative;min-height:420px}
.manifesto{position:absolute;right:10px;top:-6px;z-index:4;border-left:2px solid var(--pink);padding:3px 5px 3px 18px;font-size:11px;line-height:1.95;letter-spacing:.34em;color:#ddd2da;text-align:left;background:rgba(2,2,6,.22)}
















.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:9;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;letter-spacing:.28em;color:#fff;opacity:.96;text-align:center}
.scroll-cue::before{content:"";display:block;width:1px;height:44px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.95))}
.scroll-cue span{font-size:16px;line-height:1;color:#fff}

.section{position:relative;z-index:2;padding:120px 24px;background:var(--bg)}
.section-heading{max-width:900px;margin:0 auto 46px;width:min(100%,var(--section-max))}
.section-heading span{display:block;margin-bottom:16px;font-size:12px;letter-spacing:.28em;color:#ff63bf}
.section-heading h2{margin:0;font-size:clamp(38px,5vw,68px);line-height:.96;font-weight:300}
.section-heading h2 em{font-style:normal;color:#f3dec1}
.section-heading p{max-width:750px;margin:20px 0 0;color:#beb3c0;font-size:18px;line-height:1.6}

.section.solutions{padding-top:140px;background:linear-gradient(180deg,rgba(3,3,7,.86),rgba(3,3,7,.96) 80px,var(--bg) 260px)}
.solution-grid,.use-grid{width:min(100%,var(--section-max));margin:0 auto;display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}
.solution-grid article,.use-grid article{padding:28px;border:1px solid rgba(255,20,159,.18);background:linear-gradient(180deg,rgba(10,10,18,.80),rgba(8,8,14,.72));box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.card-icon{font-size:22px;color:#ff5fbc;margin-bottom:18px}
.solution-grid h3,.use-grid h3{margin:0 0 12px;font-size:18px;letter-spacing:.14em}
.solution-grid p,.use-grid p{margin:0 0 22px;color:#c1b6c1;line-height:1.6}
.solution-grid a{color:#fff2df;letter-spacing:.12em;font-size:12px}

.split-section{width:min(100%,var(--section-max));margin:0 auto;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);gap:40px;align-items:start}
.steps{display:grid;gap:16px}
.steps article{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:24px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(9,9,16,.78),rgba(7,7,12,.7))}
.steps b{font-size:34px;font-weight:300;color:#ff66c4}
.steps h3{margin:0 0 10px;font-size:18px;letter-spacing:.12em}
.steps p{margin:0;color:#c1b5c1;line-height:1.65}
.use-grid{grid-template-columns:repeat(3,1fr)}
.use-grid article span{display:block;margin-bottom:12px;font-size:11px;letter-spacing:.24em;color:#ff67c5}
.about{width:min(100%,var(--section-max));margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:54px;align-items:center}
.about-mark img{width:100%;max-width:220px;height:auto;display:block;filter:drop-shadow(0 0 24px rgba(255,20,159,.20))}
.about-copy .lead{font-size:20px;color:#f3e9f3}
.about-copy p{color:#c6bac6;font-size:18px;line-height:1.7}
.contact .section-heading,.contact-form{width:min(100%,var(--section-max));margin-left:auto;margin-right:auto}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-form label{display:grid;gap:8px}
.contact-form label.wide{grid-column:1/-1}
.contact-form span{font-size:12px;letter-spacing:.22em;color:#f1d8f0}
.contact-form small{font-size:10px;color:#a396a4}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(10,10,16,.8);color:#fff;padding:16px 18px;outline:none}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:rgba(255,20,159,.45);box-shadow:0 0 0 1px rgba(255,20,159,.15)}
.contact-form button{height:52px;justify-self:start;padding:0 24px;border:1px solid var(--gold-line);background:rgba(13,10,16,.30);color:#fff7eb;letter-spacing:.18em;display:inline-flex;align-items:center;gap:14px;transition:transform .18s ease,border-color .18s ease}
.contact-form button:hover{transform:translateY(-1px);border-color:rgba(255,220,180,.85)}
.contact-status{grid-column:1/-1;min-height:24px;color:#c8bdc8}.contact-status.success{color:#9cf2bf}.contact-status.error{color:#ff9ec3}
.site-footer{padding:28px 24px 40px;border-top:1px solid rgba(255,255,255,.08);text-align:center;color:#9e93a2;letter-spacing:.18em;font-size:11px;background:var(--bg)}

body.charging .portal-button{filter:drop-shadow(0 0 38px rgba(255,20,159,.48)) drop-shadow(0 0 90px rgba(255,20,159,.18))}
body.charging .scene-image{filter:brightness(calc(.92 + var(--charge)*.05)) saturate(calc(1.03 + var(--charge)*.10)) contrast(calc(1.03 + var(--charge)*.06))}
body.warping .site-header{opacity:.38;transition:opacity .25s ease}
body.warping{overflow:hidden}
body.warping .site-header{opacity:0}
body.warping .wormhole-scene{z-index:21;mix-blend-mode:normal}
body.warping .distort-canvas{z-index:23;mix-blend-mode:normal}

@media (max-width: 1280px){
  .hero-layout{grid-template-columns:1fr .9fr;gap:28px}
  .hero-right{display:none}
  .portal-button{width:min(360px,32vw)}
  .solution-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 900px){
  .site-header{padding:20px 22px}
  .desktop-nav,.desktop-only{display:none}
  .menu-toggle{display:grid;gap:4px;background:none;border:0;padding:8px;cursor:pointer}
  .menu-toggle span{display:block;width:24px;height:2px;background:#fff}
  .mobile-menu{position:absolute;top:72px;right:20px;display:none;flex-direction:column;gap:12px;padding:18px;border:1px solid rgba(255,20,159,.24);background:rgba(8,8,14,.96)}
  .mobile-menu.open{display:flex}
  .hero-layout{display:block;padding:126px 24px 122px}
  .hero-copy{max-width:100%}
  .hero-copy h1{font-size:clamp(48px,12vw,74px)}
  .hero-copy p{font-size:15px;max-width:100%}
  .signature{font-size:11px;letter-spacing:.16em}
  .portal-stage{min-height:0;margin-top:38px}
  .portal-button{width:min(78vw,370px)}
  .portal-inner strong{font-size:18px}
  .portal-help{display:none}
  .scroll-cue{bottom:18px;font-size:10px}
  .split-section,.about{grid-template-columns:1fr}
  .solution-grid,.use-grid,.contact-form{grid-template-columns:1fr}
  .section{padding:96px 24px}
  .scene-image{object-position:center center}
}


/* === v6.8 header alignment refinement === */
@media (min-width:901px){
  .site-header{align-items:center}
  .brand{align-items:center;gap:18px;min-width:250px}
  .brand img{width:104px}
  .brand span{padding-bottom:0;line-height:1;transform:none}

  /* The nav follows the actual portal center. Equal-width columns make
     USE CASES the exact center point of the five-item navigation. */
  .desktop-nav{
    position:absolute;
    left:var(--portal-cx,50vw);
    transform:translateX(-50%);
    display:grid;
    grid-template-columns:repeat(5,112px);
    column-gap:10px;
    align-items:center;
    justify-items:center;
  }
  .desktop-nav a{padding-left:0!important;text-align:center;white-space:nowrap}
  .desktop-nav a:first-child i{display:none!important}
}


/* === v6.9 desktop spacing refinement === */
@media (min-width: 901px){
  .hero-layout{
    grid-template-columns:minmax(420px,1.08fr) minmax(300px,.82fr) minmax(430px,1.02fr);
    column-gap:44px;
    padding-left:34px;
    padding-right:34px;
  }
  .hero-copy{
    max-width:540px;
    justify-self:start;
    transform:translateX(-22px);
  }
  .hero-copy p,
  .signature,
  .hero-kicker{max-width:520px}
  .portal-stage{justify-self:center}
  .hero-right{
    justify-self:end;
    width:min(520px,100%);
    transform:translateX(26px);
  }
  .manifesto{
    right:-18px;
    top:-2px;
  }

}

@media (min-width: 1400px){
  .hero-layout{
    grid-template-columns:minmax(450px,1.12fr) minmax(320px,.78fr) minmax(450px,1.04fr);
    column-gap:58px;
    padding-left:42px;
    padding-right:42px;
  }
  .hero-copy{transform:translateX(-34px)}
  .hero-right{transform:translateX(38px)}
  .manifesto{right:-28px}

}


/* === v6.10 spacing, hero header behavior, preview transparency, footer polish === */

/* The hero header belongs to the hero. It no longer follows the user down the page. */
.site-header{
  position:absolute !important;
}

/* Give the hero true edge-to-edge breathing room while keeping the Cortex portal
   mathematically centered in the viewport. */
@media (min-width:901px){
  .hero-layout{
    max-width:none !important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
    column-gap:42px !important;
    padding-left:30px !important;
    padding-right:30px !important;
  }

  .hero-copy{
    width:min(555px,100%) !important;
    max-width:555px !important;
    justify-self:start !important;
    transform:none !important;
    margin-left:0 !important;
  }

  .portal-stage{
    justify-self:center !important;
  }

  .hero-right{
    width:min(510px,100%) !important;
    justify-self:end !important;
    transform:none !important;
    margin-right:0 !important;
  }

  .manifesto{
    right:0 !important;
    top:-4px !important;
  }

.preview-sidebar{
    background:linear-gradient(
      180deg,
      rgba(8,8,14,.40),
      rgba(8,8,14,.24)
    ) !important;
  }

}

/* Push the outer columns a little closer to the viewport edges on large displays. */
@media (min-width:1400px){
  .hero-layout{
    column-gap:52px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }
  .hero-copy{
    width:min(570px,100%) !important;
    max-width:570px !important;
  }
  .hero-right{
    width:min(520px,100%) !important;
  }
}

/* Proper footer — replaces the previously unstyled oversized logo/footer. */
.footer{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);
  align-items:center;
  gap:34px;
  width:100%;
  padding:34px clamp(24px,4vw,64px) 40px;
  border-top:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg,rgba(8,8,14,.98),rgba(3,3,7,1));
  color:#a99eaa;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.footer-brand img{
  display:block;
  width:86px;
  height:auto;
  flex:0 0 auto;
  filter:drop-shadow(0 0 16px rgba(255,20,159,.18));
}

.footer-brand span{
  font-size:11px;
  letter-spacing:.34em;
  color:#e7dce5;
}

.footer > p{
  margin:0;
  text-align:center;
  font-size:11px;
  letter-spacing:.12em;
  color:#aaa0aa;
  white-space:nowrap;
}

.footer nav{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:22px;
}

.footer nav a{
  position:relative;
  font-size:10px;
  letter-spacing:.17em;
  color:#c8bdc7;
  transition:color .18s ease;
}

.footer nav a:hover,
.footer nav a:focus-visible{
  color:#fff;
}

.footer nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:1px;
  background:var(--pink);
  transform:scaleX(0);
  transition:transform .18s ease;
}

.footer nav a:hover::after,
.footer nav a:focus-visible::after{
  transform:scaleX(1);
}

@media (max-width:900px){
  .footer{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:18px;
    padding:30px 24px 36px;
  }

  .footer nav{
    justify-self:center;
    flex-wrap:wrap;
    justify-content:center;
  }

  .footer > p{
    white-space:normal;
  }
}


/* === v6.11 right-side balance refinement ===
   Pull the manifesto + chat preview back toward the portal slightly.
   This keeps breathing room without pinning them to the viewport edge. */
@media (min-width:901px){
  .hero-right{
    transform:translateX(-34px) !important;
  }

  .manifesto{
    right:8px !important;
  }

}

@media (min-width:1400px){
  .hero-right{
    transform:translateX(-42px) !important;
  }

  .manifesto{
    right:10px !important;
  }

}

/* V8.1.8 — luminous Cortex entrance */
.portal-button{--portal-charge:0;isolation:isolate;overflow:visible;filter:drop-shadow(0 0 14px #ff31a939) drop-shadow(0 0 38px #ff189522);-webkit-tap-highlight-color:transparent}
.portal-button:focus-visible{outline:2px solid #ffe0af;outline-offset:15px}
.portal-button::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:5;border:1.5px solid #ffe1ba;box-shadow:0 0 3px #fff4df,0 0 10px #ffcb91c9,0 0 22px #ff94617d,0 0 44px #ff228e70,inset 0 0 6px #ffd2ad9c;opacity:.94}
.portal-aura{position:absolute;inset:-19%;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,transparent 48%,#ff248600 49%,#ff4aad36 51%,#ffa55b24 54%,#ff159e12 62%,transparent 71%);filter:blur(7px);opacity:calc(.7 + var(--portal-charge)*.3);animation:portal-breathe 5s ease-in-out infinite}
.portal-shell{z-index:1;opacity:1;background:conic-gradient(from -35deg,#261522,#f2b0aa 8%,#644258 14%,#120913 30%,#331329 46%,#d98893 58%,#281120 69%,#110911 86%,#895c72);box-shadow:inset 0 0 0 3px #120a14,inset 0 0 0 8px #321427,0 0 18px #ff9a6833}
.portal-shell::before{content:"";position:absolute;inset:8px;border-radius:50%;background:linear-gradient(145deg,#9b748b 0%,#402639 14%,#09050d 43%,#0f0812 70%,#4d243e);box-shadow:inset 0 3px 4px #fbd5e033,inset 0 -3px 7px #ff1f9729,0 0 0 1px #000a}
.portal-shell::after{content:"";position:absolute;inset:20px;border-radius:50%;border:1px solid #ea9ec129;box-shadow:0 0 12px #000,inset 0 0 8px #000;background:radial-gradient(ellipse at 40% 5%,#8e587128,transparent 40%)}
.portal-inner{inset:37px;z-index:2;border:1px solid #ff76bf14;background:radial-gradient(ellipse at 34% 12%,#291223 0,transparent 45%),radial-gradient(ellipse at 65% 85%,#13050f,transparent 50%),#050207;box-shadow:inset 0 8px 14px #000c,inset 0 -4px 19px #ff169a12,0 0 12px #000}
.portal-inner::before{content:"";position:absolute;inset:4px;border-radius:50%;pointer-events:none;background:linear-gradient(135deg,#ffceea09,transparent 38%);border-top:1px solid #fce9f60a}
.portal-inner img{width:72px;margin-bottom:15px;filter:drop-shadow(0 0 5px #ff179e99) drop-shadow(0 0 16px #ff179e44)}
.portal-inner strong{font-size:16px;font-weight:550;line-height:1.32;letter-spacing:.085em;color:#ffe6cf;text-shadow:0 0 8px #ffb3916b,0 0 20px #ff738d29}
.portal-inner i{width:54px;margin:17px 0 14px;background:linear-gradient(90deg,transparent,#ff4bab8c,transparent);box-shadow:0 0 7px #ff149d55}
.portal-inner b{font-size:14px;font-weight:500;color:#ff72c7;letter-spacing:.05em;text-shadow:0 0 9px #ff159e9c}
svg.portal-progress{inset:0;width:100%;height:100%;z-index:4;overflow:visible;mask:none;-webkit-mask:none;background:none;filter:none;pointer-events:none;border-radius:0}
.portal-track{fill:none;stroke:url(#portal-track-light);stroke-width:10;filter:drop-shadow(0 0 5px #ff29b266)}
.portal-arc{fill:none;stroke:url(#portal-charge-light);stroke-width:10;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(-90deg);transform-origin:180px 180px;opacity:0}
.portal-arc-bloom{stroke:#ff139e;stroke-width:16;filter:blur(9px)}
.portal-arc-light{filter:drop-shadow(0 0 4px #ff24b5) drop-shadow(0 0 10px #ff189b99)}
.portal-arc-core{stroke:#ffd8ef;stroke-width:2;filter:blur(.7px)}
.portal-button:hover{filter:drop-shadow(0 0 22px #ff32ac59) drop-shadow(0 0 48px #ff168a33)}
body.charging .portal-button{filter:drop-shadow(0 0 20px #ff4bbc8c) drop-shadow(0 0 54px #ff258754)}
body.charging .portal-button::after{box-shadow:0 0 4px #fff4df,0 0 14px #ffcb91ed,0 0 29px #ff94619c,0 0 58px #ff228e99,inset 0 0 8px #ffd2adbd}
@keyframes portal-breathe{0%,100%{transform:scale(.98)}50%{transform:scale(1.025)}}
@media(max-width:720px){.portal-inner strong{font-size:15px}.portal-inner img{width:66px}}
@media(prefers-reduced-motion:reduce){.portal-aura{animation:none}.portal-button{transition:none}}

/* The travel layer replaces the scene as the camera enters the portal. */
.distort-canvas{mix-blend-mode:normal}
body.warping{overflow:hidden}
body.warping .site-header{opacity:0;pointer-events:none;transition:opacity .35s ease}
body.warping .site-header *{pointer-events:none}
body.warping .warp-canvas{mix-blend-mode:normal}
body.warping .scroll-cue{opacity:0}
.flash-overlay{background:radial-gradient(ellipse at center,#fff0df,#e4c4da 35%,#948da2 72%,#373343);z-index:21}
body.reduced-transit .flash-overlay{display:none}
@media(prefers-reduced-motion:reduce){body.charging .hero-composite,body.charging .portal-stage{transform:none!important;filter:none!important}}

/* V8.1.9 — a readable manifesto and an entrance with its own motion choice. */
.manifesto>span{display:block;width:max-content;position:relative;background:#020206e8;box-shadow:0 0 8px 4px #020206ba;text-shadow:0 0 3px #000,0 0 9px #000;isolation:isolate}
.portal-inner{opacity:var(--portal-content-opacity,1);transition:none}
.flash-overlay{background:#040208}

.destination-aperture{--destination-radius:0px;position:fixed;inset:0;z-index:25;overflow:hidden;pointer-events:none;visibility:hidden;clip-path:circle(var(--destination-radius) at 50% 50%);background:#030307;will-change:clip-path}
.destination-aperture.opening{visibility:visible}
.destination-frame{display:block;width:100%;height:100%;border:0;background:#030307;pointer-events:none;transform-origin:50% 50%;will-change:transform,filter}
.destination-rim{--destination-diameter:0px;position:fixed;left:50%;top:50%;z-index:26;width:var(--destination-diameter);height:var(--destination-diameter);transform:translate(-50%,-50%);border:2px solid rgba(255,222,184,.9);border-radius:50%;box-shadow:0 0 8px #fff5e7,0 0 24px #ff9f6e,0 0 54px #ff159e,0 0 110px rgba(103,42,255,.55),inset 0 0 20px #ff4dbc;opacity:0;pointer-events:none;will-change:width,height,opacity}
.destination-rim.opening{opacity:1}

/* C1 Part A — deterministic cinematic transit and safe failure surfaces. */
.wormhole-debug{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:40;padding:8px 10px;border:1px solid #ff3dae80;background:#030207e8;color:#ffe4f5;font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;pointer-events:none}
.travel-error{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 42%,#3e092c 0,#0a020b 36%,#020104 75%)}
.travel-error[hidden]{display:none}
.travel-error>div{width:min(560px,100%);padding:34px;border:1px solid #ff3dac69;background:#050208e8;box-shadow:0 0 90px #ff159e20}
.travel-error span{font-size:9px;letter-spacing:.28em;color:#ff69bf}.travel-error h2{margin:13px 0 12px;font-size:clamp(30px,5vw,54px);line-height:1;font-weight:300}.travel-error p{color:#bbaeba;line-height:1.6}.travel-error button{margin-top:14px;padding:13px 18px;border:1px solid #ff55b56b;background:#ff149f12;color:#fff;letter-spacing:.14em}
body.lock-pulse .flash-overlay{animation:cortex-lock-pulse .3s ease-out both}
@keyframes cortex-lock-pulse{0%{opacity:0}32%{opacity:.72}100%{opacity:0}}
.contact-email{color:#ffd0e9;border-bottom:1px solid #ff3cab80;text-shadow:0 0 16px #ff159e2e}

@media (min-width:1281px){
  .hero-right{min-height:470px!important;transform:translateX(-20px)!important}
  .hero-right .manifesto{top:0!important;right:0!important;z-index:8;padding-right:10px!important}
  .hero-right .app-preview{top:104px!important;bottom:auto!important;height:340px!important}
}

@media (max-width:900px){
  .hero,.hero-composite{min-height:100svh;min-height:100dvh}
  .hero-layout{min-height:100svh;min-height:100dvh;padding-top:max(100px,calc(env(safe-area-inset-top) + 88px));padding-bottom:max(58px,calc(env(safe-area-inset-bottom) + 48px));display:flex;flex-direction:column;justify-content:center}
  .portal-stage{width:100%;margin-top:24px;flex:0 0 auto}
  .portal-button{width:min(68vw,300px)}
}

@media (max-width:900px) and (max-height:700px){
  .site-header{padding-top:max(12px,env(safe-area-inset-top))}.brand img{width:76px}.brand span{font-size:9px}
  .hero-layout{padding-top:max(78px,calc(env(safe-area-inset-top) + 68px));padding-bottom:max(34px,calc(env(safe-area-inset-bottom) + 28px));justify-content:flex-start}
  .hero-kicker{font-size:7px;margin-bottom:10px}.hero-copy h1{font-size:clamp(38px,10.5vw,52px)}.hero-copy p{font-size:11px;line-height:1.4;margin:12px 0}.signature{font-size:8px}
  .portal-stage{margin-top:12px}.portal-button{width:min(54vw,225px)}.portal-inner{inset:29px}.portal-inner img{width:52px;margin-bottom:9px}.portal-inner strong{font-size:12px}.portal-inner i{margin:10px 0 9px}.portal-inner b{font-size:11px}
  .scroll-cue{display:none}
}

@media (prefers-reduced-motion:reduce){
  .wormhole-layer{animation:none}.wormhole-scene{filter:saturate(.9)!important}.flash-overlay{display:none!important}
}
