: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}

.ambient-canvas,.distort-canvas,.warp-canvas,.flash-overlay{position:fixed;inset:0;pointer-events:none;z-index:5}
.ambient-canvas{opacity:0}
.distort-canvas,.warp-canvas{opacity:0;mix-blend-mode:screen}
.flash-overlay{background:radial-gradient(circle at center,rgba(255,226,188,.28),rgba(255,20,159,.18) 34%,rgba(0,0,0,0) 66%);opacity:0;z-index:8}

.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}
.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;border-left:2px solid var(--pink);padding-left:18px;font-size:11px;line-height:1.95;letter-spacing:.34em;color:#ddd2da;text-align:left}
.app-preview{position:absolute;right:0;bottom:8px;width:min(480px,100%);height:305px;display:grid;grid-template-columns:118px 1fr;background:linear-gradient(180deg,rgba(10,10,16,.72),rgba(7,7,12,.58));border:1px solid rgba(255,20,159,.36);box-shadow:0 0 48px rgba(255,20,159,.10), inset 0 0 80px rgba(0,0,0,.22);backdrop-filter:blur(6px);transform:perspective(1100px) rotateY(-5deg);transform-origin:center left;overflow:hidden;pointer-events:none;user-select:none}
.preview-sidebar{display:flex;flex-direction:column;gap:6px;padding:16px 10px;border-right:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(8,8,14,.52),rgba(8,8,14,.20))}
.preview-brand{display:flex;align-items:center;gap:7px;padding:3px 5px 14px;color:#f4edf3;font-size:11px;letter-spacing:.16em}
.preview-brand img{width:22px;height:18px;object-fit:contain}
.preview-sidebar>span{padding:9px 8px;border-left:2px solid transparent;font-size:10px;color:#afa2af}
.preview-sidebar .active{background:rgba(255,20,159,.18);border-left-color:var(--pink);color:#fff}
.preview-sidebar .bottom{margin-top:auto}
.preview-main{display:flex;flex-direction:column;padding:20px 24px 18px;background:linear-gradient(180deg,rgba(10,10,16,.18),rgba(10,10,16,.02))}
.preview-main>small{display:block;font-size:7px;letter-spacing:.30em;color:#8e8290;margin-bottom:36px}
.preview-greeting{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
.preview-greeting strong{font-size:19px;font-weight:520;color:#fff}
.preview-greeting span{font-size:14px;color:#bdb2bd}
.preview-input{display:flex;align-items:center;justify-content:space-between;height:42px;border:1px solid rgba(255,20,159,.40);color:#827585;font-size:11px;padding-left:14px;background:rgba(0,0,0,.18)}
.preview-input b{display:grid;place-items:center;height:100%;width:44px;background:rgba(255,20,159,.18);font-size:18px;color:#fff}
.preview-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.preview-actions span{display:grid;place-items:center;height:30px;border:1px solid rgba(255,255,255,.17);font-size:9px;color:#d5cad4}

.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}

@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;
  }
  .app-preview{
    right:-18px;
    bottom:10px;
  }
}

@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}
  .app-preview{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;
  }

  .app-preview{
    right:0 !important;
    bottom:12px !important;

    /* More glass, less black rectangle. */
    background:linear-gradient(
      180deg,
      rgba(9,9,16,.50),
      rgba(5,5,10,.43)
    ) !important;
    border-color:rgba(255,20,159,.31) !important;
    box-shadow:
      0 0 42px rgba(255,20,159,.075),
      inset 0 0 64px rgba(0,0,0,.16) !important;
    backdrop-filter:blur(3px) !important;
  }

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

  .preview-main{
    background:linear-gradient(
      180deg,
      rgba(10,10,16,.10),
      rgba(10,10,16,.02)
    ) !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;
  }

  .app-preview{
    right:8px !important;
  }
}

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

  .manifesto{
    right:10px !important;
  }

  .app-preview{
    right:10px !important;
  }
}
