@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/Inter-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/Inter-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/Inter-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/SpaceGrotesk-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/SpaceGrotesk-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/SpaceGrotesk-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --bg:#07060f; --bg2:#0d0b1c; --ink:#f4f3ff; --mut:#a5a3c4; --line:rgba(255,255,255,.09);
  --v:#8b5cf6; --b:#5e86ff; --c:#22d3ee; --p:#f472b6;
  --glass:rgba(255,255,255,.04);
  --font:'Inter',system-ui,sans-serif; --disp:'Space Grotesk','Inter',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--font);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.grad{background:linear-gradient(100deg,var(--b),var(--v) 55%,var(--p));-webkit-background-clip:text;background-clip:text;color:transparent}
.grad2{background:linear-gradient(100deg,var(--c),var(--b) 50%,var(--v));-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--mut);margin-top:14px;max-width:62ch}
.eyebrow{font:600 12px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:var(--c);margin-bottom:16px}
.eyebrow.center{text-align:center}
h1,h2,h3{font-family:var(--disp);letter-spacing:-.02em;line-height:1.08}
h2{font-size:clamp(30px,4.2vw,52px);font-weight:700}
h3{font-size:20px;font-weight:600}

.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--c),var(--v),var(--p));z-index:100}
.cursor-glow{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:0;left:0;top:0;
  background:radial-gradient(circle,rgba(139,92,246,.16),transparent 65%);transform:translate(-50%,-50%);transition:opacity .3s}

/* nav */
.nav{position:fixed;inset:14px 0 auto;margin-inline:auto;width:min(1180px,100% - 28px);z-index:50;display:flex;align-items:center;gap:24px;
  padding:8px 14px 8px 20px;border-radius:999px;border:1px solid transparent;transition:.35s}
.nav.stuck{background:rgba(10,9,24,.62);backdrop-filter:blur(18px) saturate(160%);border-color:var(--line);box-shadow:0 10px 40px rgba(0,0,0,.4)}
.brand img{height:46px;width:auto}
.links{margin-left:auto;display:flex;gap:6px}
.links a{padding:8px 14px;border-radius:999px;font-size:14px;color:var(--mut);transition:.2s}
.links a:hover{color:#fff;background:rgba(255,255,255,.07)}
.burger{display:none;background:none;border:0;width:40px;height:40px;margin-left:auto;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:#fff;margin:5px auto;transition:.3s}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font:600 15px var(--font);border:0;cursor:pointer;color:#fff;
  background:linear-gradient(110deg,var(--b),var(--v) 60%,var(--p));background-size:160% 100%;box-shadow:0 8px 30px rgba(139,92,246,.35);transition:.35s}
.btn:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 14px 40px rgba(139,92,246,.5)}
.btn i{font-style:normal;transition:.25s}.btn:hover i{transform:translateX(4px)}
.btn.ghost{background:var(--glass);border:1px solid var(--line);box-shadow:none;backdrop-filter:blur(8px)}
.btn.ghost:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08)}
.btn-sm{padding:10px 20px;font-size:14px}
.nav .links+.btn{margin-left:0}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;padding:140px 0 90px;overflow:hidden;isolation:isolate}
#net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.75}
.aurora{position:absolute;border-radius:50%;z-index:-2;opacity:.55;animation:float 18s ease-in-out infinite;will-change:transform}
.a1{width:760px;height:760px;background:radial-gradient(circle,var(--v) 0,transparent 68%);left:-260px;top:-240px}
.a2{width:700px;height:700px;background:radial-gradient(circle,var(--b) 0,transparent 68%);right:-260px;top:0;animation-delay:-6s}
.a3{width:600px;height:600px;background:radial-gradient(circle,var(--c) 0,transparent 68%);left:30%;bottom:-380px;opacity:.28;animation-delay:-11s}
@keyframes float{50%{transform:translate(60px,40px) scale(1.12)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(ellipse at 50% 40%,transparent 30%,var(--bg) 85%),
  linear-gradient(transparent 70%,var(--bg))}
.hero-inner{text-align:center}
.pill{display:inline-flex;align-items:center;gap:10px;padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(10px);font-size:13px;color:var(--mut)}
.dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.7);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px transparent}}
.hero h1{font-size:clamp(40px,7.4vw,92px);font-weight:700;margin:26px auto 0;max-width:15ch;max-width:min(14ch,100%);line-height:1.02}
.swap{display:inline-block;transition:opacity .35s,transform .35s}
.swap.out{opacity:0;transform:translateY(14px)}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--mut);max-width:640px;margin:28px auto 0}
.cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:820px;margin:70px auto 0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--line);backdrop-filter:blur(10px)}
.hero-stats div{background:rgba(10,9,24,.7);padding:22px 12px}
.hero-stats b{display:block;font:700 clamp(26px,3.4vw,40px) var(--disp)}
.hero-stats span{font-size:13px;color:var(--mut)}
.scroll-hint{position:absolute;bottom:26px;left:50%;width:24px;height:40px;border:2px solid var(--line);border-radius:14px;transform:translateX(-50%)}
.scroll-hint span{position:absolute;left:50%;top:7px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:wheel 1.8s infinite}
@keyframes wheel{to{transform:translateY(14px);opacity:0}}

/* marquee */
.strip{padding:50px 0 20px}
.marquee{overflow:hidden;margin-top:26px}
.marquee.fade{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track{display:flex;gap:56px;width:max-content;animation:scroll 50s linear infinite;align-items:center}
.track.slow{animation-duration:80s;gap:22px;align-items:stretch}
.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
#logos img{height:34px;width:auto;opacity:.55;filter:grayscale(1) brightness(1.8);transition:.3s}
#logos img:hover{opacity:1;filter:none}

/* sections */
.sec{padding:110px 0;position:relative;z-index:1}
.sec-head{margin-bottom:54px}
.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.sec-head h2{max-width:20ch}
.sec-head.row h2{max-width:22ch}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card,.big,.award{position:relative;border:1px solid var(--line);background:var(--glass);border-radius:24px;padding:30px;overflow:hidden;transition:.4s}
.spot::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(139,92,246,.22),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}
.spot:hover::before{opacity:1}.spot:hover{border-color:rgba(139,92,246,.45);transform:translateY(-4px)}
.card .ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:22px;font-size:18px;color:#fff;background:linear-gradient(135deg,var(--b),var(--v))}
.card p{color:var(--mut);font-size:15px;margin-top:10px}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.big{padding:42px}
.big .tag{display:inline-block;padding:5px 14px;border-radius:99px;font:600 12px var(--disp);letter-spacing:.16em;text-transform:uppercase;background:rgba(94,134,255,.15);color:var(--b);margin-bottom:22px}
.big.alt .tag{background:rgba(34,211,238,.13);color:var(--c)}
.big h3{font-size:30px;margin-bottom:24px}
.big li{padding:13px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;color:#dcdaf5}
.big li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--v);box-shadow:0 0 12px var(--v)}
.big.alt li::before{background:var(--c);box-shadow:0 0 12px var(--c)}
.link{display:inline-block;margin-top:26px;font-weight:600;color:#fff;border-bottom:1px solid var(--v);padding-bottom:3px}

.impact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}
.impact h2{max-width:16ch}
.big-num{display:flex;align-items:center;gap:22px;margin-top:38px}
.big-num b{font:700 clamp(70px,9vw,120px)/1 var(--disp);background:linear-gradient(180deg,#fff,var(--v));-webkit-background-clip:text;background-clip:text;color:transparent}
.big-num span{color:var(--mut)}.big-num em{font-style:normal;color:#fff}
.awards{display:grid;gap:16px}
.award{display:flex;align-items:center;gap:22px;padding:22px 26px}
.award img{width:62px;height:62px;object-fit:contain}
.award b{display:block;font:600 19px var(--disp)}.award span{color:var(--mut);font-size:14px}

/* work */
.filters{display:flex;gap:8px;margin-bottom:30px}
.filters button{padding:9px 20px;border-radius:99px;background:var(--glass);border:1px solid var(--line);color:var(--mut);font:500 14px var(--font);cursor:pointer;transition:.25s}
.filters button.on,.filters button:hover{color:#fff;border-color:var(--v);background:rgba(139,92,246,.2)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.proj{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--bg2);display:flex;flex-direction:column;transition:.45s;transform-style:preserve-3d}
.proj:hover{border-color:rgba(139,92,246,.5);box-shadow:0 30px 70px -20px rgba(139,92,246,.4)}
.proj .im{aspect-ratio:16/10;overflow:hidden;background:#150f33}
.proj .im img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.proj:hover .im img{transform:scale(1.07)}
.proj .tx{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.proj .k{font:600 11px var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.proj p{color:var(--mut);font-size:14.5px;line-height:1.55}
.proj .go{margin-top:auto;padding-top:10px;font-size:14px;font-weight:600;color:#fff;opacity:.6;transition:.3s}
.proj:hover .go{opacity:1;color:var(--c)}
.proj.hide{display:none}

/* testimonials */
.marquee.tall{padding:6px 0}
.q{width:380px;flex:none;border:1px solid var(--line);background:var(--glass);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:20px}
.q p{color:#d9d7f2;font-size:15px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.q p::before{content:"“";display:block;font:700 54px/0.6 var(--disp);color:var(--v);margin-bottom:6px}
.who{display:flex;gap:14px;align-items:center;margin-top:auto}
.who img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid rgba(139,92,246,.5)}
.who b{display:block;font:600 15px var(--disp)}.who span{font-size:12.5px;color:var(--mut)}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.person{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--line);background:var(--bg2)}
.person img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(.55) contrast(1.05);transition:.6s}
.person:hover img{filter:none;transform:scale(1.06)}
.person::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(7,6,15,.95))}
.person .tx{position:absolute;left:0;right:0;bottom:0;padding:20px;z-index:2}
.person b{display:block;font:600 18px var(--disp)}.person span{display:block;font-size:13px;color:var(--mut);line-height:1.4;margin-top:2px}
.person .soc{display:flex;gap:8px;margin-top:12px;opacity:0;transform:translateY(8px);transition:.35s}
.person:hover .soc{opacity:1;transform:none}
.soc a{font-size:12px;padding:5px 12px;border-radius:99px;background:rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.soc a:hover{background:var(--v)}
.team-grid.adv .person{aspect-ratio:1/1.1}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nw{border:1px solid var(--line);background:var(--glass);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:12px;transition:.35s}
.nw:hover{transform:translateY(-4px);border-color:rgba(94,134,255,.5)}
.nw small{color:var(--c);font:600 12px var(--disp);letter-spacing:.12em;text-transform:uppercase}
.nw h3{font:600 18px/1.3 var(--disp)}.nw p{color:var(--mut);font-size:14px}

/* contact */
.contact{overflow:hidden;isolation:isolate}
.contact .a2{opacity:.3;right:-200px;top:0}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.info{margin-top:34px;display:grid;gap:18px}
.info li{display:grid;grid-template-columns:80px 1fr;gap:12px;color:#dcdaf5;font-size:15px}
.info span{color:var(--mut);font-size:13px;text-transform:uppercase;letter-spacing:.1em;padding-top:2px}
.info a{border-bottom:1px solid var(--v)}
.socials{display:flex;gap:18px;flex-wrap:wrap}
.glass{border:1px solid var(--line);background:rgba(255,255,255,.04);backdrop-filter:blur(20px);border-radius:28px;padding:34px}
.form{display:grid;gap:16px}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:7px;font-size:13px;color:var(--mut)}label small{opacity:.7}
input,textarea{width:100%;background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:14px;padding:13px 15px;color:#fff;font:400 15px var(--font);transition:.25s;resize:vertical}
input:focus,textarea:focus{outline:0;border-color:var(--v);box-shadow:0 0 0 4px rgba(139,92,246,.2)}
.form .btn{justify-self:start}.form .btn:disabled{opacity:.6;cursor:wait}.note{font-size:14px;color:#34d399;min-height:1em}.note.err{color:#fda4af}.note a{text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.foot{border-top:1px solid var(--line);padding:64px 0;position:relative;z-index:1}
.foot-in{display:flex;align-items:center;gap:36px;flex-wrap:wrap;justify-content:space-between}
.foot img{height:64px;width:auto}.foot p{color:var(--mut);font-size:14px;flex:1;min-width:240px}.foot small{color:var(--mut)}

/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

@media(max-width:980px){
  .grid4,.team-grid{grid-template-columns:repeat(2,1fr)}
  .work-grid,.news-grid{grid-template-columns:repeat(2,1fr)}
  .duo,.impact-grid,.contact-inner{grid-template-columns:1fr;gap:34px}
  .links{position:fixed;inset:76px 14px auto;flex-direction:column;background:rgba(10,9,24,.95);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:24px;padding:14px;display:none}
  .links.open{display:flex}.links a{padding:14px 18px;font-size:16px}
  .burger{display:block}.nav>.btn{display:none}
}
@media(max-width:620px){
  .sec{padding:76px 0}
  .grid4,.work-grid,.news-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .q{width:300px}.form .two{grid-template-columns:1fr}.big{padding:30px}
  .person .tx{padding:14px}.person b{font-size:15px}
}
@media(hover:none){.person .soc{opacity:1;transform:none}.person img{filter:none}}
@media(max-width:620px){
  .pill{font-size:12px;padding:8px 14px;border-radius:18px;line-height:1.4;max-width:100%}
  .person .soc{margin-top:8px;gap:5px}.soc a{font-size:11px;padding:4px 9px}
  .person span{font-size:12px}
  .info li{grid-template-columns:64px 1fr}
  .glass{padding:22px}
  .sec-head{margin-bottom:36px}
  .nav{gap:10px;padding-left:16px}
}
@media(max-width:360px){.person{aspect-ratio:3/4.4}.hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---- project sub pages ---- */
.pj-hero{position:relative;padding:150px 0 70px;overflow:hidden;isolation:isolate}
.pj-hero .a1{opacity:.4}.pj-hero .a2{opacity:.35;top:-5%}
.pj-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.pj-hero h1{font-size:clamp(36px,5.4vw,68px);font-weight:700;line-height:1.04;margin-bottom:22px}
.pj-hero .lead{margin:0;max-width:56ch}
.back{display:inline-block;margin-bottom:26px;font-size:14px;color:var(--mut);padding:7px 16px;border:1px solid var(--line);border-radius:99px;background:var(--glass);transition:.25s}
.back:hover{color:#fff;border-color:var(--v)}
.pj-img{border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 90px -30px rgba(139,92,246,.55);aspect-ratio:16/10;background:#150f33}
.pj-img img,.pj-img .ph{width:100%;height:100%;object-fit:cover}
.pj-img .ph{display:grid;place-items:center;text-align:center;padding:24px;font:700 clamp(24px,3vw,38px) var(--disp);background:linear-gradient(var(--h,120deg),#2a1b6b,#0e2a5c 60%,#0b4a5a)}
.facts{display:flex;flex-wrap:wrap;gap:1px;margin-top:56px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--line)}
.facts div{flex:1 1 150px;background:rgba(10,9,24,.75);padding:20px 24px;backdrop-filter:blur(10px)}
.facts span{display:block;font:600 11px var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--c);margin-bottom:4px}
.facts b{font:600 18px var(--disp)}
.two-col{display:grid;grid-template-columns:.8fr 1.4fr;gap:60px;align-items:start}
.two-col h2{font-size:clamp(28px,3.4vw,42px)}
.prose p{color:#cfcdea;font-size:17px;line-height:1.8;margin-bottom:18px}
.prose .shot{border-radius:20px;border:1px solid var(--line);margin-top:26px}
.sec.alt{background:linear-gradient(transparent,rgba(139,92,246,.06),transparent)}
.feat{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}
.feat li{position:relative;overflow:hidden;display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border:1px solid var(--line);background:var(--glass);border-radius:18px;transition:.35s;color:#e4e2fa;font-size:15px;line-height:1.5}
.feat li i{font:600 13px var(--disp);color:var(--c);font-style:normal;padding-top:2px}
.tech{display:flex;flex-wrap:wrap;gap:16px}
.tl{width:150px;height:96px;display:grid;place-items:center;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line);transition:.35s}
.tl:hover{transform:translateY(-5px);box-shadow:0 18px 40px -12px rgba(139,92,246,.6)}
.tl img{max-height:100%;max-width:100%;object-fit:contain}
.cta-band{text-align:center;padding:70px 24px;border:1px solid var(--line);border-radius:32px;background:radial-gradient(ellipse at 50% 0,rgba(139,92,246,.25),transparent 70%),var(--glass)}
.cta-band h2{margin-bottom:30px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.pn a{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--glass);border-radius:22px;padding:24px 28px;display:block;transition:.35s}
.pn a.r{text-align:right}.pn small{display:block;color:var(--c);font:600 12px var(--disp);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.pn b{font:600 20px var(--disp)}
@media(max-width:980px){.pj-grid,.two-col{grid-template-columns:1fr;gap:34px}.pj-hero{padding-top:120px}.feat{grid-template-columns:1fr}}
@media(max-width:620px){.pn{grid-template-columns:1fr}.pn a.r{text-align:left}.tl{width:calc(50% - 8px);height:84px}.prose p{font-size:16px}.cta-band{padding:44px 18px}.facts div{padding:16px 18px}}
@media(max-width:620px){.brand img{height:36px}.foot img{height:52px}}

/* hero entrance without JS dependency */
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero .reveal,.pj-hero .reveal{opacity:1;transform:none;transition:none;animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero .d1,.pj-hero .d1{animation-delay:.08s}.hero .d2,.pj-hero .d2{animation-delay:.16s}.hero .d3,.pj-hero .d3{animation-delay:.24s}.hero .d4,.pj-hero .d4{animation-delay:.32s}

/* perf: skip rendering offscreen sections, reserve marquee height, no cursor glow on touch */
.sec,.foot{content-visibility:auto;contain-intrinsic-size:auto 700px}
.strip .marquee{min-height:34px}
@media(hover:none){.cursor-glow{display:none}}
@media(max-width:620px){.aurora{animation:none}}
