@font-face{font-family:ArchivoExpanded;src:url('assets/fonts/archivo-expanded-800.woff2') format('woff2');font-display:swap;font-weight:800}
@font-face{font-family:ArchivoSemi;src:url('assets/fonts/archivo-semiexp-600.woff2') format('woff2');font-display:swap;font-weight:600}
@font-face{font-family:Outfit;src:url('assets/fonts/outfit-300.woff2') format('woff2');font-display:swap;font-weight:300}
@font-face{font-family:Outfit;src:url('assets/fonts/outfit-400.woff2') format('woff2');font-display:swap;font-weight:400}

:root{
  --ink:#07090c;--ink-2:#0c1015;--panel:#11161d;--panel-2:#151b23;--steel:#aab3bc;
  --muted:#8e99a5;--text:#f4f6f8;--orange:#f36b22;--orange-2:#ff934f;--arc:#4dc9ff;
  --line:rgba(255,255,255,.115);--glass:rgba(10,14,19,.76);--radius:22px;--max:1240px;
  --header:78px;--ease:cubic-bezier(.22,.61,.36,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink);color-scheme:dark}
body{margin:0;background:var(--ink);color:var(--text);font-family:Outfit,Arial,sans-serif;font-size:18px;font-weight:300;line-height:1.55;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:ArchivoExpanded,Arial,sans-serif;text-transform:uppercase;line-height:.98;letter-spacing:-.035em}
h2{font-size:clamp(2.25rem,5vw,5.6rem);margin-bottom:1.25rem}
h3{font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:-.02em}
p{color:#c2cad2}
::selection{background:var(--orange);color:#fff}

.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:#fff;color:#000;padding:12px 18px;border-radius:8px;font-weight:600;transition:top .2s}
.skip-link:focus{top:16px}
.progress-line{position:fixed;z-index:1200;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--orange),var(--orange-2));transform:scaleX(0);transform-origin:left;will-change:transform}
.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.section{position:relative;padding:clamp(88px,11vw,160px) 0;scroll-margin-top:calc(var(--header) + 20px)}
.section-kicker,.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--orange-2);font-family:ArchivoSemi,Arial,sans-serif;font-size:.77rem;letter-spacing:.16em;text-transform:uppercase}
.section-kicker::before,.eyebrow::before{content:"";width:34px;height:2px;background:var(--orange)}
.section-lead{max-width:760px;font-size:clamp(1.05rem,1.6vw,1.32rem);color:#b8c0c8}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:40px;align-items:end;margin-bottom:58px}
.section-head p{margin-bottom:6px}
.orange{color:var(--orange)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:fixed;z-index:1100;left:0;right:0;top:0;height:var(--header);transition:background .35s,border-color .35s,backdrop-filter .35s}
.site-header.scrolled,.site-header.menu-open{background:rgba(5,7,10,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;width:192px;min-height:44px;text-decoration:none}
.brand img{width:100%;height:auto}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,36px)}
.desktop-nav>a{position:relative;padding:15px 0;color:#d5dbe1;font-family:ArchivoSemi,Arial,sans-serif;font-size:.72rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.desktop-nav>a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:2px;background:var(--orange);transition:right .25s var(--ease)}
.desktop-nav>a:hover::after,.desktop-nav>a:focus-visible::after{right:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:14px 22px;border:1px solid transparent;border-radius:999px;background:var(--orange);color:#0a0b0d;font-family:ArchivoSemi,Arial,sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:transform .25s var(--ease),background .25s,box-shadow .25s}
.button:hover,.button:focus-visible{background:var(--orange-2);box-shadow:0 0 0 6px rgba(243,107,34,.13),0 12px 36px rgba(243,107,34,.22);transform:translateY(-2px)}
.button.secondary{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(14px)}
.button.secondary:hover,.button.secondary:focus-visible{background:rgba(255,255,255,.12);box-shadow:0 0 0 6px rgba(255,255,255,.05)}
.button.small{min-height:44px;padding:11px 17px;font-size:.68rem}
.button svg{width:18px;height:18px;flex:0 0 auto}
.menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;align-items:center;justify-content:center;cursor:pointer}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:20px;height:2px;background:currentColor;transition:.25s}
.menu-toggle span{position:relative}.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}.menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
.menu-toggle[aria-expanded="true"] span{background:transparent}.menu-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.mobile-menu{display:none}

.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:-3}
.hero-media picture,.hero-media img{width:100%;height:100%}
.hero-media img{object-fit:cover;object-position:center 50%;filter:saturate(.78) contrast(1.05) brightness(.74);transform:scale(1.03);animation:hero-breathe 13s ease-in-out infinite alternate}
@keyframes hero-breathe{to{transform:scale(1.085) translate3d(-.4%,.4%,0)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,6,8,.96) 0%,rgba(4,6,8,.86) 35%,rgba(4,6,8,.42) 66%,rgba(4,6,8,.12) 100%),linear-gradient(0deg,#07090c 0%,transparent 35%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.arc-glow{position:absolute;z-index:-1;right:8%;top:24%;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(77,201,255,.2),transparent 66%);filter:blur(25px);animation:arc-pulse 2.8s ease-in-out infinite}
@keyframes arc-pulse{50%{opacity:.46;transform:scale(1.12)}}
.hero-content{padding-top:calc(var(--header) + 80px);padding-bottom:clamp(85px,10vh,130px);max-width:1000px}
.hero h1{max-width:980px;margin:0 0 25px;font-size:clamp(3rem,7.3vw,8rem);line-height:.87;text-wrap:balance}
.hero h1 .line{display:block}
.hero h1 .stroke{-webkit-text-stroke:1px rgba(255,255,255,.62);color:transparent}
.hero-copy{max-width:690px;margin-bottom:30px;color:#d7dce1;font-size:clamp(1.08rem,1.7vw,1.38rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-proof{position:absolute;left:0;right:0;bottom:0;border-top:1px solid var(--line);background:rgba(7,9,12,.6);backdrop-filter:blur(16px)}
.proof-row{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-item{padding:21px 22px;border-left:1px solid var(--line)}
.proof-item:last-child{border-right:1px solid var(--line)}
.proof-item strong{display:block;color:#fff;font-family:ArchivoSemi,Arial,sans-serif;font-size:.86rem;letter-spacing:.03em;text-transform:uppercase}
.proof-item span{display:block;margin-top:3px;color:var(--muted);font-size:.86rem}
.scroll-cue{position:absolute;right:clamp(20px,5vw,70px);bottom:104px;display:flex;align-items:center;gap:10px;color:#b3bbc3;font-family:ArchivoSemi,Arial,sans-serif;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl}
.scroll-cue::after{content:"";width:1px;height:54px;background:linear-gradient(var(--orange),transparent);animation:scroll-cue 1.8s infinite}
@keyframes scroll-cue{50%{transform:scaleY(.45);transform-origin:top}}

.manifesto{background:radial-gradient(circle at 12% 0,rgba(243,107,34,.1),transparent 30%),var(--ink)}
.manifesto-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.7fr);gap:clamp(50px,9vw,130px);align-items:center}
.manifesto h2{font-size:clamp(2.8rem,5.7vw,6.2rem)}
.manifesto-copy p{font-size:1.14rem}
.principles{display:grid;gap:12px;margin-top:30px}
.principle{display:grid;grid-template-columns:38px 1fr;gap:14px;padding-top:18px;border-top:1px solid var(--line)}
.principle .num{font-family:ArchivoSemi,Arial,sans-serif;color:var(--orange);font-size:.76rem}
.principle strong{display:block;margin-bottom:3px;font-family:ArchivoSemi,Arial,sans-serif;font-size:.95rem;text-transform:uppercase}
.principle p{margin:0;color:var(--muted);font-size:.98rem}
.manifesto-card{position:relative;min-height:560px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#0b0e12}
.manifesto-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.manifesto-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,7,9,.92),transparent 58%)}
.manifesto-badge{position:absolute;z-index:1;left:25px;right:25px;bottom:25px;padding:22px;border:1px solid var(--line);border-radius:16px;background:rgba(7,9,12,.72);backdrop-filter:blur(15px)}
.manifesto-badge b{display:block;font-family:ArchivoExpanded,Arial,sans-serif;font-size:2.6rem;line-height:1;color:var(--orange)}
.manifesto-badge span{display:block;margin-top:8px;color:#d4dae0;font-size:.94rem}

.journey{background:var(--ink-2);overflow:clip}
.journey-shell{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(420px,1fr);gap:clamp(50px,8vw,110px);align-items:start}
.journey-visual{position:sticky;top:calc(var(--header) + 34px);height:calc(100vh - var(--header) - 68px);min-height:550px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#080b0f}
.journey-visual::after{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(0deg,rgba(5,7,10,.83),transparent 48%),linear-gradient(90deg,rgba(5,7,10,.33),transparent 55%);pointer-events:none}
.scene{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease),transform 1.1s var(--ease)}
.scene.active{opacity:1;transform:scale(1)}
.scene picture,.scene img{width:100%;height:100%}.scene img{object-fit:cover}
.journey-meter{position:absolute;z-index:5;left:22px;right:22px;bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px}
.journey-meter strong{max-width:65%;font-family:ArchivoSemi,Arial,sans-serif;font-size:clamp(1rem,2vw,1.5rem);line-height:1.05;text-transform:uppercase}
.meter-track{width:120px;height:4px;background:rgba(255,255,255,.18);overflow:hidden;border-radius:99px}
.meter-fill{height:100%;width:20%;background:var(--orange);transition:width .5s var(--ease)}
.journey-steps{padding-bottom:12vh}
.journey-step{min-height:68vh;display:flex;align-items:center;padding:70px 0;border-bottom:1px solid var(--line);opacity:.32;transition:opacity .4s}
.journey-step.active{opacity:1}
.step-index{display:block;margin-bottom:17px;color:var(--orange);font-family:ArchivoSemi,Arial,sans-serif;font-size:.73rem;letter-spacing:.14em}
.journey-step h3{font-size:clamp(2rem,4.2vw,4.7rem);margin-bottom:20px}
.journey-step p{max-width:560px;font-size:1.08rem}
.step-result{display:inline-flex;align-items:center;gap:9px;margin-top:14px;color:#fff;font-family:ArchivoSemi,Arial,sans-serif;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
.step-result::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(243,107,34,.12)}
.mobile-step-image{display:none}

.services{background:linear-gradient(180deg,var(--ink),#090c10)}
.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.service-card{position:relative;min-height:470px;grid-column:span 4;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);isolation:isolate}
.service-card.wide{grid-column:span 6}
.service-card picture,.service-card img{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.service-card img{object-fit:cover;filter:saturate(.72) brightness(.74);transition:transform .75s var(--ease),filter .5s}
.service-card::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,rgba(5,7,10,.98) 4%,rgba(5,7,10,.62) 55%,rgba(5,7,10,.08) 100%)}
.service-card::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;border:1px solid transparent;background:linear-gradient(130deg,rgba(243,107,34,.85),transparent 28%,transparent 72%,rgba(77,201,255,.45)) border-box;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity .35s}
.service-card:hover img{transform:scale(1.055);filter:saturate(.88) brightness(.8)}.service-card:hover::after{opacity:1}
.service-body{position:absolute;left:0;right:0;bottom:0;padding:26px}
.service-no{display:block;margin-bottom:9px;color:var(--orange-2);font-family:ArchivoSemi,Arial,sans-serif;font-size:.68rem;letter-spacing:.12em}
.service-card h3{margin-bottom:12px;font-size:clamp(1.25rem,2.1vw,1.85rem)}
.service-card p{margin-bottom:18px;color:#c3cbd3;font-size:.98rem}
.text-link{display:inline-flex;align-items:center;gap:8px;border:0;padding:8px 0;background:none;color:#fff;font-family:ArchivoSemi,Arial,sans-serif;font-size:.72rem;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;cursor:pointer}
.text-link::after{content:"→";color:var(--orange);font-size:1rem;transition:transform .2s}.text-link:hover::after,.text-link:focus-visible::after{transform:translateX(5px)}

.work{background:#080a0e;overflow:hidden}
.work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.work-toolbar p{margin:0;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:14px}
.gallery-item{position:relative;grid-column:span 4;grid-row:span 3;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#10141a;cursor:zoom-in}
.gallery-item.wide{grid-column:span 8}.gallery-item.tall{grid-row:span 4}.gallery-item.short{grid-row:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .5s;filter:saturate(.83)}
.gallery-item::after{content:attr(data-label);position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(5,7,10,.72);backdrop-filter:blur(12px);font-family:ArchivoSemi,Arial,sans-serif;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.3s}
.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.045);filter:saturate(1)}.gallery-item:hover::after,.gallery-item:focus-visible::after{opacity:1;transform:none}
.gallery-note{display:flex;justify-content:space-between;gap:30px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}

.build-stories{background:radial-gradient(circle at 86% 12%,rgba(243,107,34,.11),transparent 28%),#090c10}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.story-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.025);color:#fff;text-decoration:none;transition:transform .3s var(--ease),border-color .3s,background .3s}
.story-card:hover,.story-card:focus-visible{transform:translateY(-5px);border-color:rgba(243,107,34,.56);background:rgba(243,107,34,.055)}
.story-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#030405}
.story-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,6,8,.78))}
.story-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease),filter .35s}
.story-card:hover .story-media img,.story-card:focus-visible .story-media img{transform:scale(1.035);filter:saturate(1.08)}
.story-play{position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(6,9,12,.74);box-shadow:0 12px 38px rgba(0,0,0,.38);transform:translate(-50%,-50%);font-size:1rem}
.story-sound{position:absolute;z-index:2;left:14px;bottom:13px;padding:7px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,7,10,.72);font-family:ArchivoSemi,Arial,sans-serif;font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}
.story-copy{padding:23px}.story-copy>span{color:var(--orange);font-family:ArchivoSemi,Arial,sans-serif;font-size:.63rem;letter-spacing:.08em;text-transform:uppercase}.story-copy h3{margin:10px 0 11px;font-size:clamp(1.35rem,2.1vw,2rem)}.story-copy p{margin:0;color:#9ea8b2;font-size:.93rem}.story-copy b{display:inline-block;margin-top:20px;font-family:ArchivoSemi,Arial,sans-serif;font-size:.67rem;letter-spacing:.07em;text-transform:uppercase}

.atm-section{overflow:hidden;background:radial-gradient(circle at 78% 45%,rgba(0,129,255,.16),transparent 28%),linear-gradient(135deg,#080b10,#0c1118)}
.atm-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);gap:clamp(50px,8vw,110px);align-items:center}
.atm-shell h2{font-size:clamp(2.7rem,5.3vw,5.7rem)}
.atm-copy .button{margin-top:10px}
.atm-graphic{position:relative;min-height:500px;border:1px solid rgba(79,174,255,.24);border-radius:var(--radius);background:radial-gradient(circle at 50% 52%,rgba(0,168,255,.12),transparent 37%),rgba(8,14,22,.68);box-shadow:inset 0 1px rgba(255,255,255,.045),0 28px 80px rgba(0,0,0,.22);overflow:hidden;isolation:isolate}
.atm-graphic::before{content:"";position:absolute;inset:0;z-index:-3;background-image:linear-gradient(rgba(79,174,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(79,174,255,.07) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at 50% 48%,#000,transparent 82%);animation:atm-grid-drift 14s linear infinite}
.atm-graphic::after{content:"";position:absolute;z-index:-2;width:62%;height:48%;left:19%;top:29%;border-radius:50%;background:rgba(0,166,255,.12);filter:blur(58px);animation:atm-ambient 4.8s ease-in-out infinite}
.atm-graphic-head{position:absolute;z-index:5;left:22px;right:22px;top:19px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#72889a;font-family:ArchivoSemi,Arial,sans-serif;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase}
.atm-graphic-head b{display:flex;align-items:center;gap:7px;color:#b9d8e9;font-weight:600}.atm-graphic-head i,.atm-core-label i{display:block;width:6px;height:6px;border-radius:50%;background:#35e89a;box-shadow:0 0 0 4px rgba(53,232,154,.09),0 0 14px rgba(53,232,154,.75);animation:atm-status 2.2s ease-in-out infinite}
.atm-circuit{position:absolute;z-index:-1;inset:0;width:100%;height:100%;overflow:visible}
.atm-circuit path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.atm-circuit-base{stroke:rgba(77,201,255,.28);stroke-width:1.5;filter:drop-shadow(0 0 5px rgba(77,201,255,.42))}.atm-circuit-signal{stroke:#7bddff;stroke-width:2.5;stroke-dasharray:3 116;stroke-dashoffset:119;filter:drop-shadow(0 0 5px #00b5ff);animation:atm-signal 4.8s linear infinite}.signal-two{animation-delay:1.35s}.signal-three{animation-delay:2.7s}
.atm-orbit{position:absolute;z-index:-1;left:50%;top:52%;border:1px solid rgba(77,201,255,.16);border-radius:50%;pointer-events:none}.orbit-one{width:55%;height:40%;transform:translate(-50%,-50%) rotate(-7deg);animation:atm-orbit-one 12s ease-in-out infinite}.orbit-two{width:46%;height:51%;transform:translate(-50%,-50%) rotate(12deg);border-color:rgba(243,107,34,.12);animation:atm-orbit-two 15s ease-in-out infinite}
.atm-node{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:92px;height:82px;padding:13px;border:1px solid rgba(79,174,255,.3);border-radius:18px;background:linear-gradient(145deg,rgba(17,29,41,.92),rgba(7,13,20,.9));box-shadow:inset 0 1px rgba(255,255,255,.045),0 16px 35px rgba(0,0,0,.2);backdrop-filter:blur(15px);text-align:left;text-transform:uppercase;animation:atm-node-cycle 4.8s ease-in-out infinite}
.atm-node span{display:block;margin-bottom:6px;color:#6c94ac;font-family:ArchivoSemi,Arial,sans-serif;font-size:.43rem;line-height:1.25;letter-spacing:.09em}.atm-node strong{color:#f3f9fd;font-family:ArchivoSemi,Arial,sans-serif;font-size:.59rem;line-height:1.15;letter-spacing:.035em}
.atm-node.n1{left:7%;top:calc(52% - 41px);animation-delay:0s}.atm-node.n2{left:calc(50% - 46px);top:calc(25.6% - 41px);animation-delay:1.35s}.atm-node.n3{right:7%;top:calc(52% - 41px);animation-delay:2.7s}
.atm-core{position:absolute;z-index:3;left:50%;top:54%;width:clamp(190px,43%,250px);padding:10px;border:1px solid rgba(81,198,255,.43);border-radius:22px;background:linear-gradient(145deg,rgba(12,24,36,.96),rgba(5,10,16,.94));box-shadow:0 0 0 1px rgba(0,174,255,.05),0 24px 65px rgba(0,0,0,.44),0 0 45px rgba(0,153,255,.1);transform:translate(-50%,-50%);animation:atm-core-breathe 4.8s ease-in-out infinite}
.atm-core::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from 90deg,transparent 0 28%,rgba(77,201,255,.9) 38%,transparent 48% 72%,rgba(243,107,34,.55) 82%,transparent 92%);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:atm-border-spin 7s linear infinite;pointer-events:none}
.atm-core-label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 9px;color:#7794a7;font-family:ArchivoSemi,Arial,sans-serif;font-size:.43rem;letter-spacing:.08em;text-transform:uppercase}.atm-core-label span{display:flex;align-items:center;gap:7px}.atm-core-label b{color:#b9d8e9;font-size:.42rem;font-weight:600}
.atm-logo-frame{position:relative;display:grid;place-items:center;overflow:hidden;padding:13px 12px;border:1px solid rgba(77,201,255,.13);border-radius:13px;background:radial-gradient(circle at 50% 20%,rgba(30,151,210,.13),transparent 58%),rgba(2,6,10,.75)}
.atm-logo{position:relative;z-index:1;width:100%;height:auto;aspect-ratio:auto;filter:drop-shadow(0 10px 24px rgba(0,118,255,.24))}
.atm-logo-scan{position:absolute;z-index:2;top:-15%;bottom:-15%;left:-40%;width:24%;background:linear-gradient(90deg,transparent,rgba(134,224,255,.18),rgba(255,255,255,.42),transparent);filter:blur(2px);transform:skewX(-14deg);animation:atm-scan 4.8s cubic-bezier(.5,0,.4,1) infinite;pointer-events:none}
.atm-sync{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:7px;padding:10px 4px 1px;color:#688296;font-family:ArchivoSemi,Arial,sans-serif;font-size:.38rem;letter-spacing:.08em;text-transform:uppercase}.atm-sync i{display:block;height:1px;background:linear-gradient(90deg,rgba(77,201,255,.1),rgba(77,201,255,.7))}.atm-sync i:nth-of-type(2){background:linear-gradient(90deg,rgba(77,201,255,.7),rgba(77,201,255,.1))}.atm-sync b{color:#5cdbab;font-size:.39rem;font-weight:600}
.atm-caption{position:absolute;z-index:4;left:22px;right:22px;bottom:19px;margin:0;color:#95aabd;font-size:.74rem;text-align:center}.atm-caption span{margin-right:7px;color:var(--arc);font-size:.55rem;text-shadow:0 0 12px var(--arc)}
@keyframes atm-grid-drift{to{background-position:42px 42px}}
@keyframes atm-ambient{50%{opacity:.48;transform:scale(1.12)}}
@keyframes atm-status{50%{opacity:.45;transform:scale(.86)}}
@keyframes atm-signal{0%{stroke-dashoffset:119;opacity:0}10%{opacity:1}40%{opacity:1}55%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes atm-node-cycle{0%,25%,100%{border-color:rgba(79,174,255,.3);box-shadow:inset 0 1px rgba(255,255,255,.045),0 16px 35px rgba(0,0,0,.2)}10%{border-color:rgba(110,216,255,.72);box-shadow:inset 0 1px rgba(255,255,255,.07),0 0 0 4px rgba(77,201,255,.05),0 0 30px rgba(0,174,255,.18)}}
@keyframes atm-core-breathe{50%{box-shadow:0 0 0 1px rgba(0,174,255,.08),0 25px 68px rgba(0,0,0,.48),0 0 58px rgba(0,153,255,.17)}}
@keyframes atm-border-spin{to{transform:rotate(360deg)}}
@keyframes atm-scan{0%,15%{left:-40%;opacity:0}24%{opacity:1}47%{left:120%;opacity:0}100%{left:120%;opacity:0}}
@keyframes atm-orbit-one{50%{transform:translate(-50%,-50%) rotate(7deg) scale(1.03)}}
@keyframes atm-orbit-two{50%{transform:translate(-50%,-50%) rotate(-6deg) scale(.97)}}

.social{background:var(--ink)}
.social-shell{display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);gap:clamp(50px,8vw,110px);align-items:center}
.social-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.social-link{display:flex;align-items:center;gap:16px;min-height:96px;padding:20px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025);text-decoration:none;transition:border-color .25s,transform .25s var(--ease),background .25s}
.social-link:hover,.social-link:focus-visible{transform:translateY(-3px);border-color:rgba(243,107,34,.48);background:rgba(243,107,34,.06)}
.social-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 auto;border-radius:15px;background:var(--panel-2);color:var(--orange)}
.social-icon svg{width:23px;height:23px}
.social-link strong{display:block;font-family:ArchivoSemi,Arial,sans-serif;font-size:.86rem;text-transform:uppercase}.social-link span{display:block;color:var(--muted);font-size:.86rem}

.faq{background:var(--ink-2)}
.faq-grid{display:grid;grid-template-columns:minmax(280px,.45fr) minmax(0,1fr);gap:clamp(50px,8vw,120px);align-items:start}
.faq-intro{position:sticky;top:calc(var(--header) + 35px)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:90px;padding:22px 56px 22px 0;list-style:none;cursor:pointer;font-family:ArchivoSemi,Arial,sans-serif;font-size:clamp(1rem,1.6vw,1.25rem);text-transform:uppercase}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:10px;top:50%;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transform:translateY(-50%);color:var(--orange);font-size:1.3rem;transition:.25s}
.faq-item[open] summary::after{content:"−";background:var(--orange);color:#08090b;transform:translateY(-50%) rotate(180deg)}
.faq-answer{padding:0 54px 27px 0}.faq-answer p{margin:0;max-width:720px;color:#aeb8c2}

.quote{background:radial-gradient(circle at 15% 15%,rgba(243,107,34,.12),transparent 30%),#07090c}
.quote-shell{display:grid;grid-template-columns:minmax(300px,.65fr) minmax(0,1fr);gap:clamp(50px,8vw,100px);align-items:start}
.quote-intro{position:sticky;top:calc(var(--header) + 36px)}
.quote-intro h2{font-size:clamp(2.6rem,5vw,5.2rem)}
.contact-stack{display:grid;gap:10px;margin-top:28px}
.contact-card{display:flex;align-items:center;gap:13px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);text-decoration:none}
.contact-card b{display:block;font-family:ArchivoSemi,Arial,sans-serif;font-size:.76rem;text-transform:uppercase}.contact-card span{display:block;color:var(--muted);font-size:.85rem}
.quote-form{padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:var(--radius);background:rgba(17,22,29,.86);box-shadow:0 40px 100px rgba(0,0,0,.24)}
.form-top{display:flex;justify-content:space-between;gap:25px;margin-bottom:30px}.form-top h3{margin-bottom:7px;font-size:clamp(1.6rem,3vw,2.7rem)}.form-top p{margin:0;color:var(--muted);font-size:.95rem}.form-count{font-family:ArchivoSemi,Arial,sans-serif;color:var(--orange);font-size:.75rem;letter-spacing:.1em;white-space:nowrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:8px}.field.full{grid-column:1/-1}
.field label{font-family:ArchivoSemi,Arial,sans-serif;color:#e9edf1;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.field label span{color:var(--muted);font-family:Outfit,Arial,sans-serif;text-transform:none;letter-spacing:0;font-weight:300}
.field input,.field textarea{width:100%;min-height:58px;padding:15px 16px;border:1px solid rgba(255,255,255,.16);border-radius:13px;outline:0;background:#0a0e13;color:#fff;font-size:1.05rem;transition:border .2s,box-shadow .2s,background .2s}
.field textarea{min-height:116px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#68727d;opacity:1}
.field input:focus,.field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(243,107,34,.11);background:#0d1218}
.consent-row{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;margin:21px 0;color:#aeb7c0;font-size:.88rem}.consent-row input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--orange)}.consent-row a{color:#fff}
.form-submit{width:100%;min-height:58px;border:0}
.form-submit[disabled]{opacity:.65;cursor:wait}
.form-status{display:none;margin:16px 0 0;padding:14px 16px;border:1px solid rgba(77,201,255,.3);border-radius:12px;background:rgba(77,201,255,.08);color:#dff6ff;font-size:.94rem}.form-status.show{display:block}.form-status.error{border-color:rgba(255,89,89,.35);background:rgba(255,89,89,.08);color:#ffdada}
.form-small{margin:14px 0 0;color:#7f8a95;font-size:.8rem;text-align:center}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

.site-footer{padding:60px 0 90px;border-top:1px solid var(--line);background:#05070a}
.footer-grid{display:grid;grid-template-columns:1.2fr .6fr .6fr .8fr;gap:35px}
.footer-brand img{width:205px;height:auto}.footer-brand p{max-width:360px;margin:18px 0 0;color:#808b96;font-size:.9rem}
.footer-col strong{display:block;margin-bottom:13px;font-family:ArchivoSemi,Arial,sans-serif;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.footer-col a,.footer-col span{display:block;margin:7px 0;color:#929ca7;font-size:.9rem;text-decoration:none}.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:24px;border-top:1px solid var(--line);color:#7b8792;font-size:.8rem}

.cookie-banner{position:fixed;z-index:1800;right:20px;bottom:20px;width:min(440px,calc(100% - 40px));padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(9,12,16,.96);box-shadow:0 20px 80px rgba(0,0,0,.48);backdrop-filter:blur(20px);transform:translateY(calc(100% + 120px));visibility:hidden;pointer-events:none;transition:transform .45s var(--ease),visibility 0s .45s}
.cookie-banner.show{transform:none;visibility:visible;pointer-events:auto;transition:transform .45s var(--ease),visibility 0s}.cookie-banner strong{display:block;font-family:ArchivoSemi,Arial,sans-serif;font-size:.9rem;text-transform:uppercase}.cookie-banner p{margin:8px 0 14px;color:#9ca6b0;font-size:.86rem}.cookie-actions{display:flex;gap:9px}.cookie-actions button{min-height:44px;padding:10px 15px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#fff;font-family:ArchivoSemi,Arial,sans-serif;font-size:.68rem;text-transform:uppercase;cursor:pointer}.cookie-actions .accept{border-color:var(--orange);background:var(--orange);color:#090a0c}
.lightbox{width:min(1100px,calc(100% - 30px));height:min(86vh,820px);padding:0;border:1px solid var(--line);border-radius:18px;background:#06080b;color:#fff;box-shadow:0 40px 140px #000;overflow:hidden}
.lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}
.lightbox figure{width:100%;height:100%;margin:0}.lightbox img{width:100%;height:100%;object-fit:contain;background:#040506}
.lightbox figcaption{position:absolute;left:20px;bottom:18px;padding:8px 12px;border-radius:999px;background:rgba(5,7,10,.78);font-family:ArchivoSemi,Arial,sans-serif;font-size:.7rem;text-transform:uppercase}
.lightbox-close,.lightbox-nav{position:absolute;z-index:2;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:rgba(5,7,10,.76);color:#fff;cursor:pointer}.lightbox-close{right:16px;top:16px}.lightbox-nav{top:50%;transform:translateY(-50%);font-size:1.4rem}.lightbox-prev{left:16px}.lightbox-next{right:16px}
.mobile-cta{display:none}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.motion-lite .hero-media img,.motion-lite .arc-glow,.motion-lite .scroll-cue::after,.motion-lite .atm-graphic::before,.motion-lite .atm-graphic::after,.motion-lite .atm-graphic-head i,.motion-lite .atm-core-label i,.motion-lite .atm-circuit-signal,.motion-lite .atm-orbit,.motion-lite .atm-node,.motion-lite .atm-core,.motion-lite .atm-core::before,.motion-lite .atm-logo-scan{animation:none!important}

@media(max-width:1020px){
  :root{--header:70px}
  .desktop-nav{display:none}.menu-toggle{display:flex}.brand{width:172px}
  .mobile-menu{position:fixed;z-index:1090;display:flex;flex-direction:column;align-items:flex-start;gap:8px;inset:var(--header) 0 auto 0;padding:24px 20px 34px;background:rgba(5,7,10,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(20px);transform:translateY(-120%);opacity:0;pointer-events:none;transition:.35s var(--ease)}
  .mobile-menu.open{transform:none;opacity:1;pointer-events:auto}
  .mobile-menu a{width:100%;padding:13px 5px;border-bottom:1px solid var(--line);font-family:ArchivoSemi,Arial,sans-serif;text-decoration:none;text-transform:uppercase}
  .mobile-menu .button{margin-top:12px;border-bottom:0}
  .section-head{grid-template-columns:1fr}
  .manifesto-grid,.atm-shell,.social-shell,.faq-grid,.quote-shell{grid-template-columns:1fr}
  .story-grid{grid-template-columns:1fr 1fr}.story-card:last-child{grid-column:1/-1}
  .manifesto-card{min-height:520px}
  .journey-shell{grid-template-columns:minmax(320px,.85fr) minmax(380px,1fr);gap:45px}
  .service-card{grid-column:span 6}.service-card.wide{grid-column:span 6}
  .gallery-item{grid-column:span 6}.gallery-item.wide{grid-column:span 12}
  .faq-intro,.quote-intro{position:relative;top:0}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
}

@media(max-width:740px){
  body{font-size:17px;padding-bottom:70px}
  .wrap{width:min(calc(100% - 28px),var(--max))}
  .section{padding:82px 0}.section-head{gap:12px;margin-bottom:38px}.section-head p{font-size:1rem}
  .hero{min-height:920px;align-items:flex-start}
  .hero-media img{object-position:center 45%}
  .hero::before{background:linear-gradient(180deg,rgba(4,6,8,.5) 0%,rgba(4,6,8,.45) 34%,rgba(4,6,8,.94) 70%,#07090c 100%)}
  .hero::after{background-size:36px 36px;mask-image:linear-gradient(#000,transparent 76%)}
  .arc-glow{right:2%;top:19%;width:180px;height:180px}
  .hero-content{padding-top:calc(var(--header) + 68px);padding-bottom:245px;max-width:none}
  .hero h1{font-size:clamp(2.85rem,12.3vw,5rem);line-height:.89;margin-top:29vh}.hero-copy{font-size:1.06rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}
  .hero-proof{bottom:0}.proof-row{grid-template-columns:1fr 1fr}.proof-item{padding:13px 12px}.proof-item:nth-child(3){border-top:1px solid var(--line)}.proof-item:nth-child(4){border-top:1px solid var(--line)}.proof-item strong{font-size:.7rem}.proof-item span{font-size:.73rem}.scroll-cue{display:none}
  .manifesto-grid{gap:40px}.manifesto h2{font-size:clamp(2.55rem,12vw,4.5rem)}.manifesto-card{min-height:470px}
  .journey-shell{display:block}.journey-visual{display:none}.journey-steps{padding:0}.journey-step{display:block;min-height:0;padding:0 0 58px;margin-bottom:58px;opacity:1}.journey-step:last-child{margin-bottom:0}.mobile-step-image{display:block;aspect-ratio:4/3;margin-bottom:24px;border:1px solid var(--line);border-radius:18px;overflow:hidden}.mobile-step-image img{width:100%;height:100%;object-fit:cover}.journey-step h3{font-size:clamp(2rem,10vw,3.5rem)}
  .service-grid{display:grid;grid-template-columns:1fr;gap:14px}.service-card,.service-card.wide{grid-column:auto;min-height:430px}.service-body{padding:22px}
  .work-toolbar{align-items:flex-start;flex-direction:column}.gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 14px 12px;margin-inline:-14px;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.gallery-item,.gallery-item.wide,.gallery-item.tall,.gallery-item.short{flex:0 0 84vw;height:520px;grid-column:auto;grid-row:auto;scroll-snap-align:center}.gallery-item::after{opacity:1;transform:none}.gallery-note{display:block}.gallery-note span{display:block;margin-top:8px}
  .story-grid{grid-template-columns:1fr}.story-card:last-child{grid-column:auto}.story-copy{padding:21px}.story-card:hover,.story-card:focus-visible{transform:none}
  .atm-shell{gap:35px}.atm-graphic{min-height:420px}.atm-graphic-head{left:16px;right:16px;top:15px}.atm-node{width:70px;height:68px;padding:9px;border-radius:15px}.atm-node span{font-size:.36rem}.atm-node strong{font-size:.48rem}.atm-node.n1{left:3%;top:calc(53% - 34px)}.atm-node.n2{left:calc(50% - 35px);top:calc(23% - 34px)}.atm-node.n3{right:3%;top:calc(53% - 34px)}.atm-core{top:55%;width:55%;max-width:210px;padding:8px;border-radius:19px}.atm-core-label{font-size:.36rem}.atm-core-label b{font-size:.35rem}.atm-logo-frame{padding:11px 9px}.atm-sync{gap:4px;font-size:.31rem}.atm-sync b{font-size:.32rem}.atm-caption{left:14px;right:14px;bottom:15px;font-size:.68rem}.atm-circuit-signal{stroke-dasharray:3 90}.orbit-one{width:69%}.orbit-two{width:58%}
  .social-shell{gap:34px}.social-links{grid-template-columns:1fr}.social-link{min-height:82px}
  .faq-grid{gap:30px}.faq-item summary{min-height:80px;padding-right:52px;font-size:.94rem}.faq-answer{padding-right:20px}
  .quote-shell{gap:36px}.quote-form{padding:23px 18px}.form-grid{grid-template-columns:1fr}.form-top{display:block}.form-count{display:block;margin-top:12px}.field.full{grid-column:auto}.field input,.field textarea{font-size:1rem}.contact-stack{display:grid;grid-template-columns:1fr 1fr}.contact-card{padding:13px}.contact-card span{font-size:.76rem}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
  .mobile-cta{position:fixed;z-index:1050;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:rgba(5,7,10,.94);border-top:1px solid var(--line);backdrop-filter:blur(17px)}.mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;background:#151a20;font-family:ArchivoSemi,Arial,sans-serif;font-size:.72rem;text-decoration:none;text-transform:uppercase}.mobile-cta a:first-child{background:var(--orange);color:#090a0c}
  .cookie-banner{right:12px;bottom:82px;width:calc(100% - 24px)}
  .lightbox{height:80vh}.lightbox-nav{top:auto;bottom:18px}.lightbox figcaption{right:72px;bottom:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

@media(max-width:430px){
  .hero h1{margin-top:28vh}.proof-item span{display:none}.proof-item{min-height:50px;display:flex;align-items:center}.contact-stack{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.gallery-item,.gallery-item.wide,.gallery-item.tall,.gallery-item.short{height:460px;flex-basis:88vw}.atm-graphic-head>span{max-width:150px}.atm-node.n2{top:13%}.atm-caption{font-size:.62rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero-media img{transform:none}
}
