.site-header { position:fixed; z-index:100; top:0; left:0; display:grid; width:100%; height:88px; grid-template-columns:1fr auto 1fr; align-items:center; align-content:center; padding:0 var(--pad); border-bottom:1px solid transparent; transition:height .3s,background .3s,border-color .3s; }
.site-header.is-scrolled { height:88px; border-color:var(--line); background:rgba(7,8,10,.78); backdrop-filter:blur(18px); }
.site-header > .brand,.site-header > nav,.site-header > .header-cta,.site-header > .menu-toggle { align-self:center; }
.brand { display:inline-flex; width:max-content; align-items:center; }
.brand-full-logo { display:block; width:150px; height:150px; object-fit:contain; object-position:center; }
.site-header .brand-full-logo { width:150px; height:150px; }
.site-header.is-scrolled .brand-full-logo { width:150px; height:150px; }
.site-footer .brand-full-logo { width:150px; height:150px; }
.desktop-nav { display:flex; align-items:center; gap:2rem; color:#c8c8cc; font-size:.76rem; }
.desktop-nav a,.site-footer a { transition:color .2s; }
.desktop-nav a:hover,.site-footer a:hover { color:var(--cyan); }
.header-cta { display:inline-flex; align-items:center; justify-self:end; font-size:.76rem; }
.header-cta span { margin-left:.5rem; color:var(--cyan); }
.menu-toggle,.mobile-nav { display:none; }
#solution-cards,#point-of-view,#approach { scroll-margin-top:112px; }
.is-measuring-solutions .solution-card,.is-measuring-solutions .solution-card-body { transition:none !important; }

.site-loader { position:fixed; z-index:2000; inset:0; display:grid; place-items:center; overflow:hidden; background:#05070b; transition:opacity .7s .28s var(--ease),visibility .7s .28s; }
.loader-logo-shell { position:relative; width:min(260px,58vw); aspect-ratio:1; overflow:hidden; transition:transform 1s var(--ease),opacity .58s .28s; }
.loader-logo-shell img { display:block; width:100%; height:100%; object-fit:contain; }
.loader-logo-shell::after { position:absolute; inset:0; content:''; background:linear-gradient(105deg,transparent 36%,rgba(28,152,237,.3) 43%,rgba(255,255,255,1) 49%,rgba(255,255,255,.95) 51%,rgba(255,92,172,.48) 57%,transparent 64%); background-position:145% 0; background-size:300% 100%; filter:drop-shadow(0 0 12px rgba(28,152,237,.7)); mix-blend-mode:screen; will-change:background-position; -webkit-mask:url('../public/primis-compact-brand.svg') center/contain no-repeat; mask:url('../public/primis-compact-brand.svg') center/contain no-repeat; animation:logoFlashlight 3.2s var(--ease) infinite; }
.site-loader.is-complete { visibility:hidden; opacity:0; }
.site-loader.is-complete .loader-logo-shell { opacity:0; transform:scale(16); }
body.is-loading { overflow:hidden; }

.hero { position:relative; display:grid; height:100svh; min-height:0; overflow:hidden; align-items:end; padding:clamp(6.5rem,18svh,11rem) var(--pad) clamp(2rem,7svh,5rem); border-bottom:1px solid var(--line); background-image:linear-gradient(90deg,rgba(7,8,10,.94) 0%,rgba(7,8,10,.68) 38%,rgba(7,8,10,.12) 72%,rgba(7,8,10,.18)),linear-gradient(0deg,rgba(7,8,10,.85),transparent 42%),url('../public/media/hero-lunar-ai.png'); background-position:center; background-size:cover; isolation:isolate; }
.hero::after { position:absolute; z-index:-1; inset:0; content:''; background:linear-gradient(110deg,rgba(255,92,172,.08),transparent 35%,rgba(28,152,237,.06)); mix-blend-mode:screen; }
.hero-rocket-occluder { position:absolute; z-index:1; inset:0; display:none; pointer-events:none; }
.hero-blueprint-lens { position:absolute; z-index:2; inset:0; pointer-events:none; }
.hero-blueprint-lens span { position:absolute; inset:0; opacity:0; background-position:center; background-size:cover; transition:opacity .26s var(--ease); }
.hero-blueprint-lens .lens-rocket { background-image:url('../public/media/hero-rocket-blueprint-v2.jpg'); }
.hero-blueprint-lens .lens-astronaut { background-image:url('../public/media/hero-astronaut-blueprint-v2.jpg'); }
.hero-blueprint-lens.show-rocket .lens-rocket,.hero-blueprint-lens.show-astronaut .lens-astronaut { opacity:1; }
.hero-glow { display:none; }
.hero-grid { position:absolute; z-index:-3; inset:0; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(to right,transparent,black); }
.hero-stars { position:absolute; z-index:0; top:0; right:0; left:0; height:64%; overflow:hidden; pointer-events:none; mix-blend-mode:screen; -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.96) 42%,rgba(0,0,0,.62) 66%,rgba(0,0,0,.18) 84%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.96) 42%,rgba(0,0,0,.62) 66%,rgba(0,0,0,.18) 84%,transparent 100%); }
.star-layer { position:absolute; inset:0; display:block; will-change:opacity,filter,transform; }
.star-layer-distant { opacity:1; }
.hero-star { position:absolute; left:var(--star-x); top:var(--star-y); z-index:1; display:grid; width:14px; height:14px; margin:-7px 0 0 -7px; place-items:center; border-radius:50%; transition:transform .42s var(--ease); pointer-events:none; }
.hero-star::before { display:block; width:var(--star-size); height:var(--star-size); border-radius:50%; opacity:var(--star-opacity); background:#fff; box-shadow:0 0 5px rgba(255,255,255,.38); content:''; animation:starTwinkle var(--star-duration) ease-in-out var(--star-delay) infinite; }
.hero-star-blue::before { background:#9dd4ff; box-shadow:0 0 7px rgba(28,152,237,.7); }
.hero-star-pink::before { background:#ffd2e8; box-shadow:0 0 7px rgba(255,92,172,.58); }
.hero-star.is-proximate { z-index:3; transform:scale(2.9); }
.hero-star.is-proximate::before { filter:brightness(1.35); }
.sky-traveler-layer { position:absolute; z-index:4; inset:0; display:block; overflow:hidden; pointer-events:none; }
.sky-traveler { position:absolute; top:0; left:0; display:block; opacity:0; transform-origin:center; pointer-events:none; will-change:transform,opacity; }
.comet { width:clamp(220px,34vw,460px); height:2px; background:linear-gradient(90deg,rgba(247,252,255,1),rgba(157,212,255,.76) 10%,rgba(28,152,237,.38) 48%,rgba(255,92,172,.12) 76%,transparent); filter:drop-shadow(0 0 8px rgba(28,152,237,.9)) drop-shadow(0 0 16px rgba(157,212,255,.42)); }
.comet::before { position:absolute; top:50%; left:-4px; width:11px; height:11px; border-radius:50%; background:#fff; box-shadow:0 0 12px 5px rgba(216,241,255,.98),0 0 30px 10px rgba(28,152,237,.5); content:''; transform:translateY(-50%); }
.sky-traveler.is-flying.from-right { animation:cometTravelRight var(--flight-duration) linear forwards; }
.comet.is-flying::before { animation:cometCoreFade var(--flight-duration) linear forwards; }
.star-layer-colored { opacity:.76; background-image:radial-gradient(circle at 8% 17%,rgba(255,255,255,.98) 0 1.4px,rgba(66,129,200,.8) 1.7px,transparent 4px),radial-gradient(circle at 19% 39%,rgba(189,225,255,.95) 0 1px,transparent 3.2px),radial-gradient(circle at 33% 12%,rgba(255,255,255,.92) 0 1.2px,rgba(28,152,237,.6) 1.6px,transparent 4px),radial-gradient(circle at 46% 28%,rgba(255,221,241,.9) 0 1px,rgba(255,92,172,.5) 1.5px,transparent 3.8px),radial-gradient(circle at 58% 9%,rgba(217,237,255,.94) 0 1.1px,transparent 3.5px),radial-gradient(circle at 69% 34%,rgba(255,255,255,.96) 0 1.25px,rgba(28,152,237,.55) 1.7px,transparent 4.2px),radial-gradient(circle at 79% 16%,rgba(255,226,243,.92) 0 1px,rgba(255,92,172,.46) 1.5px,transparent 3.7px),radial-gradient(circle at 91% 43%,rgba(220,239,255,.95) 0 1.35px,transparent 4px),radial-gradient(circle at 13% 68%,rgba(255,255,255,.9) 0 1px,transparent 3px),radial-gradient(circle at 37% 78%,rgba(205,232,255,.9) 0 1.2px,rgba(28,152,237,.42) 1.7px,transparent 4px),radial-gradient(circle at 63% 66%,rgba(255,229,243,.88) 0 1.1px,rgba(255,92,172,.4) 1.6px,transparent 3.8px),radial-gradient(circle at 86% 74%,rgba(255,255,255,.92) 0 1.25px,transparent 3.8px); animation:galaxyTwinkleColored 8.4s ease-in-out -2.6s infinite alternate; }
.star-layer-glints { opacity:.68; background-image:radial-gradient(circle at 16% 25%,rgba(255,255,255,.98) 0 1.2px,rgba(125,193,255,.42) 1.8px,transparent 6px),radial-gradient(circle at 42% 17%,rgba(255,255,255,.94) 0 1px,rgba(28,152,237,.32) 1.6px,transparent 5px),radial-gradient(circle at 72% 22%,rgba(255,255,255,.96) 0 1.2px,rgba(255,154,207,.38) 1.8px,transparent 6px),radial-gradient(circle at 88% 59%,rgba(230,244,255,.98) 0 1.1px,rgba(28,152,237,.32) 1.7px,transparent 5.5px),radial-gradient(circle at 55% 72%,rgba(255,240,248,.96) 0 1px,rgba(255,92,172,.28) 1.6px,transparent 5px); animation:galaxyTwinkleGlints 4.6s ease-in-out -1.1s infinite alternate; }
.hero-copy { position:relative; z-index:3; max-width:1050px; }
.hero h1 { margin:.6rem 0 clamp(1rem,3svh,2rem); font-size:clamp(3.5rem,min(10.5vw,16svh),10rem); }
.hero h1 span { color:var(--ink); }
.hero h1 em,.contact h2 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(242,240,235,.78); }
.hero-lede { max-width:620px; margin-left:clamp(0rem,25vw,22rem); color:#b9bac1; font-size:clamp(1rem,1.4vw,1.25rem); }
.hero-actions { display:flex; align-items:center; gap:2rem; margin:clamp(1rem,3.5svh,2.4rem) 0 0 clamp(0rem,25vw,22rem); }
.scroll-cue { position:absolute; right:var(--pad); bottom:2rem; margin:0; color:#777a82; font:400 .62rem 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; writing-mode:vertical-rl; }
.scroll-cue span { display:inline-block; width:1px; height:45px; margin-bottom:.7rem; background:linear-gradient(var(--cyan),transparent); }

.narrative-replace { position:relative; }
.manifesto { position:sticky; z-index:0; top:0; display:grid; min-height:100svh; grid-template-columns:1fr 3fr; gap:4rem; align-content:center; max-width:var(--max); margin:auto; padding:clamp(5rem,9vw,9rem) var(--pad); }
.manifesto-statement { min-height:clamp(19rem,38vw,36rem); max-width:1100px; margin:0; color:#6f7178; font-size:clamp(2.2rem,5vw,5.3rem); line-height:1.08; letter-spacing:-.05em; }
.manifesto-statement strong { color:transparent; font-weight:500; background:linear-gradient(100deg,var(--blue),var(--pink)); background-clip:text; -webkit-background-clip:text; }
.manifesto-statement.is-typing::after { display:inline-block; width:2px; height:.82em; margin-left:.2rem; background:linear-gradient(var(--blue),var(--pink)); content:''; vertical-align:-.08em; animation:typeCaret .7s steps(1) infinite; }

.cinematic { position:relative; z-index:1; height:520vh; margin-top:0; background:transparent; }
.cinematic-sticky { position:sticky; top:0; height:100svh; overflow:hidden; background:#030405; clip-path:inset(var(--edge-clip,100%) 0 0); will-change:clip-path; isolation:isolate; }
.cinematic-sticky::before { position:absolute; z-index:-2; inset:0; content:''; background:radial-gradient(circle at 55% 45%,rgba(80,124,190,.16),transparent 25%),linear-gradient(90deg,#050608 0 46%,transparent 65%),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px); background-size:auto,auto,100% 7%; }
.cinematic-atmosphere span { position:absolute; width:3px; height:3px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px var(--cyan); animation:particle 7s infinite linear; }
.cinematic-atmosphere span:nth-child(1){left:42%;top:20%}.cinematic-atmosphere span:nth-child(2){left:72%;top:70%;animation-delay:-3s}.cinematic-atmosphere span:nth-child(3){left:57%;top:45%;animation-delay:-5s}
.head-scene { position:absolute; inset:0; overflow:hidden; background:#030405; isolation:isolate; }
.head-frame { position:absolute; inset:-1%; width:102%; height:102%; object-fit:cover; opacity:0; transform:scale(1.01); will-change:opacity,transform; user-select:none; pointer-events:none; }
.head-frame.is-current { z-index:2; }
.head-signal { position:absolute; z-index:4; top:0; bottom:0; left:calc(38% + var(--progress,0)*52%); width:1px; opacity:.38; background:linear-gradient(transparent 8%,var(--cyan) 35%,var(--pink) 70%,transparent 92%); box-shadow:0 0 28px 4px rgba(28,152,237,.18); pointer-events:none; }
.stage-copy { position:absolute; z-index:5; left:var(--pad); top:50%; width:min(37vw,510px); transform:translateY(-50%); }
.story-stage { position:absolute; top:50%; left:0; width:100%; opacity:0; clip-path:inset(0 0 100% 0); transform:translateY(24px); pointer-events:none; transition:opacity .2s linear,transform .32s var(--ease),clip-path .32s var(--ease); }
.story-stage.is-active { opacity:1; clip-path:inset(0); transform:translateY(-50%); pointer-events:auto; }
.story-stage .eyebrow { color:var(--cyan); }
.story-stage h3 { margin:1.1rem 0 1.4rem; font-size:clamp(2.8rem,5vw,5.8rem); }
.story-stage > p:last-of-type { max-width:440px; color:#a7a9b0; font-size:clamp(.95rem,1.2vw,1.1rem); }
.stage-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; margin-top:2rem; }
.stage-rail { position:absolute; z-index:5; top:7rem; right:var(--pad); width:1px; height:100px; background:rgba(255,255,255,.13); }
.stage-rail span { display:block; width:100%; height:calc(var(--progress,0)*100%); background:var(--cyan); box-shadow:0 0 9px var(--cyan); }
.scroll-direction { position:absolute; z-index:5; right:var(--pad); bottom:2.5rem; color:#64666e; font:400 .6rem 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.scroll-direction span { color:var(--cyan); }
.reduced-story { display:none; }

.solutions { overflow:clip; padding:clamp(7rem,13vw,12rem) 0 0; }
.process { max-width:var(--max); margin:auto; padding:clamp(7rem,13vw,12rem) var(--pad); }
.solutions .section-heading { max-width:var(--max); margin-right:auto; margin-left:auto; padding:0 var(--pad); }
.section-heading { display:grid; grid-template-columns:2fr 1fr; gap:5rem; align-items:end; margin-bottom:6rem; }
.section-heading h2,.process h2,.principle-copy h2 { max-width:900px; margin:1.6rem 0 0; font-size:clamp(3rem,6vw,6.8rem); }
.section-heading > p { max-width:400px; margin:0; color:var(--muted); }
.motion-heading { overflow:hidden; }
.motion-heading h2,.motion-heading > p { transition:opacity .75s var(--ease),transform .9s var(--ease); }
.motion-heading h2 { opacity:.12; transform:translateY(.32em); }
.motion-heading > p { opacity:0; transform:translateY(24px); transition-delay:.14s; }
.motion-heading.is-visible h2,.motion-heading.is-visible > p { opacity:1; transform:none; }
.solution-list { position:relative; overflow-anchor:none; border-top:1px solid var(--line); isolation:isolate; }
.solution-list::after { display:block; height:100svh; content:''; background:#090c15; }
.solution-card { display:block; min-height:calc(100svh - var(--wallet-top)); padding:clamp(3.5rem,7vw,7rem) var(--pad); border:1px solid rgba(255,255,255,.11); border-radius:28px 28px 0 0; background:var(--card-bg,#06080d); box-shadow:0 -18px 50px rgba(0,0,0,.35); transition:min-height .72s var(--ease),padding .72s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease); }
.solution-card-body { display:grid; min-height:calc(100svh - var(--wallet-top) - clamp(7rem,14vw,14rem)); max-height:1800px; grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr); gap:clamp(3rem,8vw,9rem); align-items:center; opacity:1; transform:none; transform-origin:top; transition:min-height .72s var(--ease),max-height .72s var(--ease),opacity .35s .14s,transform .62s var(--ease); }
.solution-card:not(.is-open) { box-shadow:0 -8px 30px rgba(0,0,0,.28); }
.solution-card:not(.is-open) .solution-card-body { min-height:0; max-height:0; overflow:hidden; opacity:0; transform:translateY(-18px) scale(.985); pointer-events:none; transition:min-height .62s var(--ease),max-height .62s var(--ease),opacity .22s,transform .4s var(--ease); }
.solution-copy { max-width:720px; padding-top:2.5rem; }
.solution-card h3 { position:absolute; z-index:3; top:0; left:0; display:flex; width:100%; height:44px; align-items:center; margin:0; overflow:hidden; padding:.25rem var(--pad); border-radius:27px 27px 0 0; background:var(--card-bg,#06080d); font-size:clamp(1.05rem,1.7vw,1.55rem); line-height:1.18; }
.solution-title { overflow:hidden; color:transparent; white-space:nowrap; text-overflow:ellipsis; background:linear-gradient(100deg,var(--ink) 15%,var(--blue) 58%,var(--pink)); background-clip:text; -webkit-background-clip:text; }
.solution-graphic { position:relative; min-height:clamp(300px,46vw,620px); overflow:hidden; border:0; border-radius:0; background-color:transparent; background-position:center; background-size:cover; filter:saturate(.88) contrast(.96); isolation:isolate; -webkit-mask-image:radial-gradient(ellipse 88% 84% at 50% 50%,#000 48%,rgba(0,0,0,.88) 66%,transparent 100%); mask-image:radial-gradient(ellipse 88% 84% at 50% 50%,#000 48%,rgba(0,0,0,.88) 66%,transparent 100%); }
.solution-card:nth-child(1) .solution-graphic { background-image:linear-gradient(90deg,rgba(4,6,10,.15),transparent),url('../public/media/solution-robotics.png'); }
.solution-card:nth-child(2) .solution-graphic { background-image:linear-gradient(90deg,rgba(4,6,10,.1),transparent),url('../public/media/solution-human-ai.png'); }
.solution-card:nth-child(3) .solution-graphic { background-image:linear-gradient(90deg,rgba(4,6,10,.08),transparent),url('../public/media/solution-datacenter.png'); }
.solution-card:nth-child(4) .solution-graphic { background-image:linear-gradient(90deg,rgba(4,6,10,.1),transparent),url('../public/media/solution-cloud-robot.png'); }
.solution-card:nth-child(5) .solution-graphic { background-image:linear-gradient(90deg,rgba(4,6,10,.08),transparent),url('../public/media/solution-modernization.png'); }
.solution-copy > p,.solution-copy li { opacity:0; transform:translateY(16px); transition:opacity .48s var(--ease),transform .62s var(--ease); }
.solution-card.is-open.is-visible .solution-copy > p,.solution-card.is-open.is-visible .solution-copy li { opacity:1; transform:none; }
.solution-card.is-open.is-visible .solution-copy li:nth-child(1){transition-delay:.08s}.solution-card.is-open.is-visible .solution-copy li:nth-child(2){transition-delay:.14s}.solution-card.is-open.is-visible .solution-copy li:nth-child(3){transition-delay:.2s}
.solution-graphic::before,.solution-graphic::after { position:absolute; content:''; }
.solution-graphic::before { inset:12%; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 35px rgba(28,152,237,.035),0 0 0 70px rgba(255,92,172,.025); animation:signal 18s linear infinite; }
.solution-graphic::after { top:50%; left:50%; width:26%; aspect-ratio:1; border:1px solid var(--pink); background:rgba(28,152,237,.12); box-shadow:0 0 60px rgba(28,152,237,.2); transform:translate(-50%,-50%) rotate(45deg); }
.solution-graphic span { position:absolute; inset:0; opacity:.6; background-image:linear-gradient(rgba(28,152,237,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(28,152,237,.12) 1px,transparent 1px); background-size:36px 36px; mask-image:radial-gradient(circle,#000,transparent 72%); }
.solution-card:nth-child(even) .solution-graphic { order:-1; }
.solution-card:nth-child(3n + 2) .solution-graphic::before { inset:20% 8%; border-radius:0; transform:rotate(12deg); }
.solution-card:nth-child(3n + 2) .solution-graphic::after { width:42%; border-radius:50%; transform:translate(-50%,-50%); }
.solution-card:nth-child(3n) .solution-graphic::before { inset:8% 28%; border-radius:50% 12%; }
.solution-card:nth-child(3n) .solution-graphic::after { width:18%; border-color:var(--blue); transform:translate(-50%,-50%) rotate(22deg); }
.solution-graphic::before,.solution-graphic::after { display:none; }
.solution-graphic svg { display:none; }
.solution-graphic .line { fill:none; stroke:var(--blue); stroke-width:2; vector-effect:non-scaling-stroke; }
.solution-graphic .accent { fill:none; stroke:var(--pink); stroke-width:2; vector-effect:non-scaling-stroke; }
.solution-graphic .soft { fill:rgba(28,152,237,.08); stroke:rgba(242,240,235,.3); stroke-width:1.5; }
.solution-graphic .spin-slow { transform-box:fill-box; transform-origin:center; animation:signal 18s linear infinite; }
.solution-graphic .spin-reverse { transform-box:fill-box; transform-origin:center; animation:signal 14s linear infinite reverse; }
.solution-graphic .pulse { animation:flowPulse 2.8s var(--ease) infinite; transform-box:fill-box; transform-origin:center; }
.solution-graphic .dash { stroke-dasharray:8 10; animation:dashFlow 4s linear infinite; }
.solution-card.reveal { position:sticky; top:var(--wallet-top); overflow:hidden; opacity:1; clip-path:none; transform:none; will-change:auto; transition:box-shadow .35s var(--ease),border-color .35s var(--ease); background:var(--card-bg,#06080d); scroll-margin-top:var(--wallet-top); }
.solution-card.reveal::before { position:absolute; left:0; top:-1px; width:100%; height:2px; content:''; background:linear-gradient(90deg,var(--blue),var(--pink),transparent 72%); transform:scaleX(0); transform-origin:left; transition:transform 1.1s var(--ease); }
.solution-card.reveal.is-visible::before { transform:scaleX(1); }
.solution-card:nth-child(1) { z-index:1; --wallet-top:112px; --card-bg:#06080d; }
.solution-card:nth-child(2) { z-index:2; --wallet-top:156px; --card-bg:#070a11; }
.solution-card:nth-child(3) { z-index:3; --wallet-top:200px; --card-bg:#080a12; }
.solution-card:nth-child(4) { z-index:4; --wallet-top:244px; --card-bg:#080b13; }
.solution-card:nth-child(5) { z-index:5; --wallet-top:288px; --card-bg:#090b14; }
.solution-card:hover { border-color:rgba(28,152,237,.3); }
.solution-card div > p { max-width:680px; color:var(--muted); }
.solution-card ul { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0 0; padding:0; list-style:none; }
.solution-card li { padding:.45rem .7rem; border:1px solid var(--line); color:#b5b6bc; font:400 .62rem 'DM Mono',monospace; text-transform:uppercase; }

.process { border-top:1px solid var(--line); }
.process-intro { display:grid; grid-template-columns:2fr 1fr; gap:4rem; align-items:end; }
.process-intro > p { max-width:390px; margin:0 0 .7rem; color:var(--muted); }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); margin:7rem 0 0; padding:0; border-top:1px solid var(--line); counter-reset:process; list-style:none; }
.process-steps li { position:relative; min-height:300px; padding:2rem 1.5rem 2rem 0; overflow:hidden; border-right:1px solid var(--line); counter-increment:process; }
.process-steps li::before { display:block; color:var(--pink); content:'0' counter(process); font:400 .68rem 'DM Mono',monospace; letter-spacing:.14em; transform:translateY(18px); opacity:0; transition:opacity .55s var(--step-delay),transform .7s var(--step-delay) var(--ease); }
.process-steps li::after { position:absolute; right:0; bottom:0; left:0; height:1px; content:''; background:linear-gradient(90deg,var(--blue),var(--pink),transparent); transform:scaleX(0); transform-origin:left; transition:transform .9s calc(var(--step-delay) + .15s) var(--ease); }
.process-steps li:nth-child(1){--step-delay:0s}.process-steps li:nth-child(2){--step-delay:.1s}.process-steps li:nth-child(3){--step-delay:.2s}.process-steps li:nth-child(4){--step-delay:.3s}
.process-steps li h3,.process-steps li p { opacity:0; transform:translateY(22px); transition:opacity .55s calc(var(--step-delay) + .12s),transform .75s calc(var(--step-delay) + .12s) var(--ease); }
.process-steps li.is-visible::before,.process-steps li.is-visible h3,.process-steps li.is-visible p { opacity:1; transform:none; }
.process-steps li.is-visible::after { transform:scaleX(1); }
.process-steps li:hover { background:linear-gradient(180deg,rgba(28,152,237,.05),transparent); }
.process-steps li + li { padding-left:1.5rem; }
.process-steps span { color:var(--cyan); font:400 .68rem 'DM Mono',monospace; }
.process-steps h3 { margin:2rem 0 1.2rem; font-size:1.5rem; letter-spacing:-.03em; }
.process-steps p { max-width:250px; color:var(--muted); font-size:.9rem; }

.principles { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.principle-copy { max-width:var(--max); margin:auto; }
.principle-copy { padding:clamp(5rem,9vw,9rem) var(--pad); }
.principle-copy h2 { margin-bottom:5rem; font-size:clamp(2.8rem,4.8vw,5.5rem); }
.principle-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
.principle-grid p { margin:0; }
.principle-grid p.reveal { position:relative; padding:1.5rem 0 1.5rem 1.25rem; overflow:hidden; border-left:1px solid rgba(28,152,237,.25); transform:translateY(34px) scale(.98); transition:opacity .75s var(--principle-delay),transform .9s var(--principle-delay) var(--ease),border-color .6s var(--principle-delay); }
.principle-grid p.reveal::before { position:absolute; top:0; bottom:0; left:-1px; width:2px; content:''; background:linear-gradient(var(--blue),var(--pink)); transform:scaleY(0); transform-origin:top; transition:transform .85s calc(var(--principle-delay) + .15s) var(--ease); }
.principle-grid p:nth-child(1){--principle-delay:.05s}.principle-grid p:nth-child(2){--principle-delay:.14s}.principle-grid p:nth-child(3){--principle-delay:.23s}.principle-grid p:nth-child(4){--principle-delay:.32s}
.principle-grid p.reveal.is-visible { border-color:rgba(255,92,172,.3); transform:none; }
.principle-grid p.reveal.is-visible::before { transform:scaleY(1); }
.principle-grid strong,.principle-grid span { display:block; }
.principle-grid strong { margin-bottom:.65rem; color:var(--blue); font-size:.9rem; transition:color .35s; }
.principle-grid p:hover strong { color:var(--pink); }
.principle-grid span { color:var(--muted); font-size:.84rem; }

.contact { position:relative; display:flex; min-height:90vh; overflow:hidden; flex-direction:column; align-items:center; justify-content:center; padding:8rem var(--pad); text-align:center; }
.contact-glow { position:absolute; z-index:-1; width:75vw; height:75vw; border-radius:50%; background:radial-gradient(circle,rgba(28,152,237,.2),rgba(255,92,172,.08) 32%,transparent 62%); animation:contactAura 8s ease-in-out infinite; }
.contact h2 { margin:2rem 0; font-size:clamp(4rem,11vw,11rem); }
.contact h2,.contact h2 em { color:transparent; background:linear-gradient(100deg,var(--blue) 10%,var(--blue-soft) 48%,var(--pink) 88%); background-clip:text; -webkit-background-clip:text; -webkit-text-stroke:0; }
.contact .section-index { color:var(--pink); }
.contact > p:not(.section-index) { max-width:580px; color:var(--muted); font-size:1.05rem; }
.contact > p:not(.section-index) { color:var(--blue-soft); }
.contact-link { color:var(--ink); }
.contact-link { display:flex; align-items:center; margin-top:2.5rem; padding-bottom:.8rem; border-bottom:1px solid var(--line); font-size:clamp(1.1rem,2vw,1.8rem); }
.contact-link-inner { display:inline-flex; align-items:center; gap:3rem; animation:contactShake 2.4s linear infinite; }
.contact-link-inner > span:last-child { color:var(--cyan); }
.contact .reveal:nth-of-type(2) { transition-delay:.1s; }
.contact .contact-link.reveal { transition-delay:.2s; }
.site-footer { display:grid; grid-template-columns:1.2fr 1fr 1fr auto; gap:3rem; align-items:end; padding:5rem var(--pad) 2rem; border-top:1px solid var(--line); color:#999ba2; font-size:.76rem; }
.site-footer p { margin:0; }
.site-footer > div { display:flex; flex-direction:column; gap:.6rem; }
.site-footer small { font:400 .6rem 'DM Mono',monospace; }
