:root{--bg:#080b09;--panel:#101612;--panel2:#151d18;--ink:#f4f6f1;--muted:#96a198;--acid:#c7ff62;--line:#2c3730;--max:1450px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}em{font-style:normal;color:var(--acid)}p{line-height:1.65}.header{height:84px;padding:0 max(24px,4vw);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:20;background:rgba(8,11,9,.88);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;font-weight:750;letter-spacing:-.03em}.brand>b{width:36px;height:36px;border-radius:50%;background:var(--acid);color:#0a0d0b;display:grid;place-items:center}.brand span{display:flex;align-items:baseline;gap:7px}.brand small{font:600 8px monospace;letter-spacing:.15em;color:#667269}.header nav{display:flex;gap:32px;font:600 11px monospace;letter-spacing:.12em;text-transform:uppercase;color:#aab4ac}.header nav a{padding:33px 0;position:relative}.header nav a:hover,.header nav a.active{color:var(--acid)}.header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--acid)}.pill{justify-self:end;border:1px solid #4b5a50;padding:11px 16px;border-radius:99px;font:700 11px monospace;text-transform:uppercase;letter-spacing:.06em}.pill i,.button i{font-style:normal;color:var(--acid);margin-left:11px}.pill:hover{border-color:var(--acid)}.menu{display:none}.kicker,.mono{font:700 10px monospace;letter-spacing:.16em;text-transform:uppercase;color:#a7b1a9}.kicker span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 18px var(--acid);margin-right:10px}.home-hero{min-height:calc(100vh - 84px);padding:7vw max(24px,4vw);display:grid;grid-template-columns:1.3fr .62fr;gap:6vw;align-items:center;position:relative;overflow:hidden}.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(black,transparent)}.home-hero:before,.page-hero:before{content:"";position:absolute;width:70vw;height:55vw;right:-20%;top:-25%;background:radial-gradient(circle,rgba(77,136,76,.23),transparent 65%);filter:blur(25px)}.hero-copy,.command-card{position:relative}.hero-copy h1{font-size:clamp(68px,8.4vw,140px);line-height:.82;letter-spacing:-.075em;margin:32px 0}.lede{color:var(--muted);font-size:clamp(17px,1.4vw,22px);max-width:620px}.actions{display:flex;gap:14px;margin-top:35px}.button{padding:15px 20px;border-radius:99px;font-weight:700;font-size:13px}.button.primary{background:var(--acid);color:#0b0e0c}.button.primary i{color:#0b0e0c}.button.ghost{border:1px solid #445148}.mini-proof{list-style:none;padding:0;margin:70px 0 0;display:flex;gap:34px;color:#a4afa6;font:600 10px monospace;letter-spacing:.07em}.mini-proof b{color:var(--acid);margin-right:8px}.command-card{min-height:570px;border:1px solid #344139;border-radius:28px;padding:25px;background:linear-gradient(145deg,rgba(25,34,28,.96),rgba(9,13,10,.96));box-shadow:0 40px 100px #000;display:flex;flex-direction:column}.card-top,.card-tags{display:flex;justify-content:space-between;font:700 9px monospace;letter-spacing:.12em;color:#738078}.online{color:var(--acid)}.radar{height:250px;display:grid;place-items:center;position:relative}.radar i{position:absolute;border:1px solid rgba(199,255,98,.25);border-radius:50%;animation:spin 14s linear infinite}.radar i:nth-child(1){width:230px;height:230px;border-style:dashed}.radar i:nth-child(2){width:165px;height:165px;animation-direction:reverse}.radar i:nth-child(3){width:100px;height:100px}.radar strong{font-size:62px;color:var(--acid)}.command-card h2{font-size:clamp(34px,3vw,54px);line-height:.92;letter-spacing:-.055em;margin:12px 0 30px}.card-tags{border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.marquee{background:var(--acid);color:#0b0e0c;overflow:hidden;transform:rotate(-.6deg) scale(1.01)}.marquee div{white-space:nowrap;width:max-content;padding:13px;font:900 11px monospace;letter-spacing:.14em;animation:marquee 28s linear infinite}.section{padding:10vw max(24px,4vw);max-width:var(--max);margin:auto}.section-head{display:grid;grid-template-columns:.45fr 1.2fr .5fr;gap:4vw;align-items:start;margin-bottom:7vw}.section-head h2,.dark-band h2,.cta h2{font-size:clamp(54px,6.8vw,105px);line-height:.88;letter-spacing:-.065em;margin:0}.section-head>p:last-child{color:var(--muted);margin-top:40px}.text-link{color:var(--acid);font:700 11px monospace;text-transform:uppercase;letter-spacing:.1em;margin-top:25px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{min-height:330px;background:var(--bg);padding:40px;display:flex;flex-direction:column;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(199,255,98,.1),transparent 50%);opacity:0;transition:.3s}.service-card:hover:before,.service-card.featured:before{opacity:1}.service-card span{color:var(--acid);font:700 10px monospace}.service-card h3{font-size:clamp(29px,3vw,48px);letter-spacing:-.05em;margin:50px 0 15px}.service-card p{color:var(--muted);max-width:540px}.service-card i{font-style:normal;color:var(--acid);font:700 10px monospace;letter-spacing:.1em;text-transform:uppercase;margin-top:auto}.dark-band{padding:10vw max(24px,4vw);display:grid;grid-template-columns:.7fr 1.2fr;gap:9vw;background:#101511;border-block:1px solid var(--line)}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:60px 1fr;gap:25px;padding:45px 0;border-bottom:1px solid var(--line)}.steps>li>b,.service-detail>span,.values span{color:var(--acid);font:700 10px monospace}.steps small{font:700 9px monospace;letter-spacing:.14em;color:#77827a}.steps h3{font-size:clamp(32px,4vw,56px);letter-spacing:-.05em;margin:12px 0}.steps p{color:var(--muted);max-width:600px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{border:1px solid var(--line);padding:15px;background:var(--panel)}.project>p{font:700 9px monospace;letter-spacing:.13em;color:var(--acid);margin:24px 8px 10px}.project h3{font-size:24px;letter-spacing:-.04em;margin:0 8px 12px}.project>span{display:block;color:#707b73;font-size:11px;margin:0 8px 10px}.mock{height:330px;background:#0b0f0c;border:1px solid #313d35;position:relative;overflow:hidden}.mock.large{height:460px}.dashboard{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:70px 1fr;gap:10px;padding:35px 25px}.dashboard span{border:1px solid #3b493f;background:#141c17;border-radius:6px}.dashboard span:before{content:"";display:block;width:35%;height:5px;background:var(--acid);margin:18px}.dashboard b{border-radius:5px;background:repeating-linear-gradient(0deg,#19221c 0 18px,#111713 18px 19px);grid-column:span 2}.dashboard b:nth-of-type(2){grid-column:span 1;background:radial-gradient(circle,var(--acid) 2px,transparent 3px);background-size:24px 24px}.dashboard b:nth-of-type(3){display:none}.document{padding:50px 55px}.document i{display:block;width:45%;height:13px;background:var(--ink);margin-bottom:35px}.document b{display:block;height:7px;background:#465349;margin:15px 0}.document b:nth-of-type(2){width:78%}.document b:nth-of-type(3){width:62%}.document strong{position:absolute;right:38px;bottom:38px;width:65px;height:65px;border-radius:50%;display:grid;place-items:center;background:var(--acid);color:#0b0e0c;font-size:28px}.folders{display:flex;align-items:center;justify-content:center;gap:12px;padding:30px}.folders i{font-style:normal;width:29%;height:55%;border:1px solid #455248;border-radius:7px;background:linear-gradient(145deg,#1b261f,#101612);padding:18px;color:var(--acid);font:700 10px monospace;transform:translateY(25px)}.folders i:nth-child(2){transform:translateY(-5px);height:68%}.folders i:nth-child(3){transform:translateY(15px);height:61%}.research{padding:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center}.research b{height:55%;border:1px solid #3d4a40;display:grid;place-items:center;color:var(--acid);font:700 20px monospace}.research span{position:absolute;left:30px;right:30px;bottom:30px;height:5px;background:linear-gradient(90deg,var(--acid) 64%,#303b33 64%)}.cta{padding:10vw max(24px,4vw);position:relative;background:radial-gradient(circle at 80% 0,rgba(199,255,98,.14),transparent 35%),#0c110e}.cta h2{font-size:clamp(60px,9vw,140px)}.cta>div{display:grid;grid-template-columns:1fr 1.2fr;gap:6vw;align-items:end;margin-top:60px}.cta>div>p{color:var(--muted)}.cta a{font-size:clamp(20px,2.3vw,34px);letter-spacing:-.03em;border-bottom:1px solid #536158;padding:0 0 18px;display:flex;justify-content:space-between;align-items:center}.cta a b{width:62px;height:62px;border-radius:50%;background:var(--acid);color:#0b0e0c;display:grid;place-items:center}.cta.compact h2{font-size:clamp(55px,7.5vw,112px)}footer{min-height:110px;padding:28px max(24px,4vw);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line);color:#78837b;font:600 9px monospace;letter-spacing:.09em;text-transform:uppercase}footer>div{display:flex;gap:25px}footer>p{text-align:right}.page-hero{min-height:72vh;padding:10vw max(24px,4vw) 8vw;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.page-hero>*{position:relative}.page-hero h1,.contact-page h1{font-size:clamp(65px,9.5vw,150px);line-height:.82;letter-spacing:-.075em;margin:35px 0}.page-hero>p:last-child{color:var(--muted);font-size:20px;max-width:690px}.service-detail{padding:7vw max(24px,4vw);display:grid;grid-template-columns:80px 1.2fr .6fr;gap:5vw;border-bottom:1px solid var(--line);max-width:var(--max);margin:auto}.service-detail h2{font-size:clamp(42px,5vw,76px);letter-spacing:-.06em;margin:18px 0}.service-detail>div>p:not(.mono),.service-detail aside p{color:var(--muted);font-size:17px}.service-detail ul,.portfolio ul{padding:0;list-style:none;margin:35px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.service-detail li,.portfolio li{border-top:1px solid var(--line);padding:14px 0;color:#c3cbc5;font-size:13px}.service-detail li:before,.portfolio li:before{content:"↳";color:var(--acid);margin-right:10px}.service-detail aside{border:1px solid var(--line);padding:27px;align-self:end;background:var(--panel)}.service-detail aside b{color:var(--acid);font-size:12px}.portfolio{max-width:var(--max);margin:auto;padding:5vw max(24px,4vw)}.portfolio article{display:grid;grid-template-columns:1fr .78fr;gap:6vw;align-items:center;padding:5vw 0;border-bottom:1px solid var(--line)}.portfolio article:nth-child(even) .mock{order:2}.portfolio h2{font-size:clamp(38px,4.5vw,70px);letter-spacing:-.055em;margin:18px 0}.portfolio article>div>p:not(.mono){color:var(--muted);font-size:17px}.note-strip{padding:45px max(24px,4vw);display:grid;grid-template-columns:.4fr 1.5fr;gap:4vw;background:var(--acid);color:#0b0e0c}.note-strip p{margin:0}.manifesto{padding:9vw max(24px,4vw);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;max-width:var(--max);margin:auto}.manifesto>p{font-size:clamp(30px,3.4vw,52px);line-height:1.15;letter-spacing:-.045em;margin:0}.manifesto h2{font-size:35px;letter-spacing:-.045em;margin:0 0 8px}.manifesto div p{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:38px;margin-bottom:38px}.values{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.values article{padding:4vw;min-height:300px}.values article+article{border-left:1px solid var(--line)}.values h3{font-size:30px;margin:60px 0 10px}.values p{color:var(--muted)}.faq-list{max-width:1100px;margin:0 auto;padding:6vw max(24px,4vw) 10vw}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;padding:35px 0;font-size:clamp(21px,2.4vw,32px);letter-spacing:-.035em;cursor:pointer;display:flex;justify-content:space-between;gap:30px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary i{font-style:normal;color:var(--acid);font-size:30px;transition:.2s}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:17px;max-width:780px;padding:0 0 35px;margin:0}.contact-page{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1fr .75fr;gap:8vw;padding:8vw max(24px,4vw);background:radial-gradient(circle at 20% 40%,rgba(199,255,98,.08),transparent 30%)}.contact-page>div>p:last-child{max-width:600px;color:var(--muted);font-size:19px}.contact-page aside{border:1px solid var(--line);background:var(--panel);padding:40px;align-self:center}.email-big{font-size:clamp(24px,2.7vw,41px);letter-spacing:-.045em;display:block;margin:35px 0 55px}.email-big b{color:var(--acid)}.contact-checklist p{border-top:1px solid var(--line);margin:0;padding:17px 0;font-size:13px}.contact-checklist b{color:var(--acid);font:700 10px monospace;margin-right:18px}.contact-page aside small{display:block;color:#737f76;line-height:1.5;margin-top:25px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}body.js section>*,body.js article{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}body.js .seen{opacity:1;transform:none}@media(max-width:950px){.header{grid-template-columns:1fr auto}.header nav{display:none;position:absolute;top:84px;left:0;right:0;background:#0b0f0c;padding:25px;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.header.nav-open nav{display:flex}.header nav a{padding:16px}.header .pill{display:none}.menu{display:block;background:transparent;border:1px solid #435047;color:var(--ink);border-radius:99px;padding:10px 14px}.home-hero{grid-template-columns:1fr;padding-top:10vw}.command-card{margin-top:40px}.section-head,.dark-band,.service-detail,.manifesto,.contact-page{grid-template-columns:1fr}.service-detail>span{margin-bottom:-25px}.service-detail aside{align-self:auto}.project-grid{grid-template-columns:1fr}.project .mock{height:420px}.portfolio article{grid-template-columns:1fr}.portfolio article:nth-child(even) .mock{order:0}.values{grid-template-columns:repeat(2,1fr)}.values article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.values article:nth-child(4){border-top:1px solid var(--line)}}@media(max-width:620px){.header{height:72px}.header nav{top:72px}.brand small{display:none}.home-hero{padding-top:65px}.hero-copy h1{font-size:17vw}.actions{align-items:flex-start;flex-direction:column}.mini-proof{display:grid;gap:12px;margin-top:45px}.command-card{min-height:500px}.radar{height:210px}.radar i:nth-child(1){width:190px;height:190px}.radar i:nth-child(2){width:135px;height:135px}.radar i:nth-child(3){width:80px;height:80px}.section{padding-top:90px;padding-bottom:90px}.section-head{margin-bottom:50px}.section-head>p:last-child{margin-top:0}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px;padding:30px}.dark-band{padding-top:90px;padding-bottom:90px}.steps li{grid-template-columns:35px 1fr}.project .mock,.mock.large{height:330px}.cta{padding-top:90px;padding-bottom:90px}.cta>div{grid-template-columns:1fr}.cta a{font-size:17px}.cta a b{width:48px;height:48px}footer{grid-template-columns:1fr;gap:25px}footer>div{flex-wrap:wrap}footer>p{text-align:left}.page-hero{padding-top:100px}.service-detail{padding-top:70px;padding-bottom:70px}.service-detail ul,.portfolio ul{grid-template-columns:1fr}.portfolio{padding-top:20px}.portfolio article{padding:70px 0}.note-strip{grid-template-columns:1fr}.values{grid-template-columns:1fr}.values article+article{border-left:0;border-top:1px solid var(--line)}.manifesto{padding-top:80px;padding-bottom:80px}.contact-page{padding-top:70px;padding-bottom:70px}.contact-page aside{padding:25px}.folders{padding:15px}.dashboard{padding:20px 12px}.document{padding:35px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Capability photography */
.capability-gallery{padding-top:110px}
.photo-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;margin-top:54px}
.photo-card{position:relative;min-height:390px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#10141b;color:#fff}
.photo-card-wide{grid-row:span 2;min-height:800px}
.photo-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.72) contrast(1.05)}
.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,7,12,.95) 100%)}
.photo-card div{position:absolute;z-index:1;left:32px;right:32px;bottom:30px}
.photo-card span{font:700 11px/1.2 monospace;letter-spacing:.18em;color:#a8bbd2}
.photo-card h3{font-size:clamp(24px,2.6vw,40px);line-height:1.05;margin:10px 0 12px}
.photo-card p{max-width:580px;color:#d7dce4;line-height:1.6;margin:0}
.boundary-note{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;padding:34px max(5vw,32px);background:#d9e1eb;color:#111820;border-top:1px solid #aeb9c7;border-bottom:1px solid #aeb9c7}
.boundary-note b{text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.boundary-note p{margin:0;line-height:1.65}
@media (max-width:900px){.photo-grid{grid-template-columns:1fr}.photo-card,.photo-card-wide{grid-row:auto;min-height:460px}.boundary-note{grid-template-columns:1fr;gap:14px}}
@media (max-width:560px){.capability-gallery{padding-top:74px}.photo-card,.photo-card-wide{min-height:410px}.photo-card div{left:22px;right:22px;bottom:22px}}

/* Keep the ticker inside the viewport on every screen size. */
html,body{max-width:100%;overflow-x:clip}
.marquee{width:100%;max-width:100vw;transform:none;overflow:hidden;contain:paint}
.marquee div{display:block;min-width:max-content;will-change:transform;animation:marqueeSafe 32s linear infinite}
@keyframes marqueeSafe{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:620px){.marquee div{padding:11px 0;font-size:10px;animation-duration:38s}}

/* Stationary banner: no looping or off-screen movement. */
.marquee div{width:100%;min-width:0;white-space:normal;text-align:center;animation:none;padding:14px max(24px,4vw);line-height:1.7}
@media(max-width:620px){.marquee div{animation:none;padding:12px 20px;font-size:9px;line-height:1.8}}
