@font-face{font-family:Inter;src:url('assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#060f1f;--bg2:#08172b;--surface:#0d1f3d;--line:rgba(132,177,244,.20);--muted:#a9b8d2;--white:#e5e7eb;--blue:#1e4edb;--lightblue:#3882f6;--cyan:#5ecrff;--font:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:#1e4edb;color:#fff}.site-shell{overflow:hidden}.wrap{width:min(100% - 96px,1320px);margin-inline:auto}.site-header{height:90px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:44px;padding-inline:max(48px,calc((100vw - 1320px)/2));border-bottom:1px solid rgba(153,187,245,.11);background:rgba(3,11,24,.54);backdrop-filter:blur(18px);transition:background .3s,border-color .3s}.site-header.scrolled{background:rgba(4,13,29,.94);border-color:var(--line)}.brand{display:inline-flex;align-items:center;flex:none;gap:9px}.brand img{width:49px;height:49px;object-fit:contain}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-text strong{font-size:22px;letter-spacing:-.075em;font-weight:700;line-height:1}.brand-text strong span{color:#3382ff;margin-left:2px}.brand-text small{font-size:7px;letter-spacing:.32em;white-space:nowrap;color:#c4d3eb;font-weight:500}.desktop-nav{display:flex;align-items:center;gap:38px;margin-left:auto}.desktop-nav a{color:#c4cde0;font-size:13px;transition:color .2s}.desktop-nav a:hover,.footer a:hover{color:#5eb7ff}.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:21px;min-width:155px;padding:13px 17px;border:1px solid #2878ed;border-radius:999px;background:#0f51dc;font-size:12px;font-weight:600;box-shadow:0 8px 24px rgba(23,89,236,.2);transition:background .2s,transform .2s}.header-cta:hover,.button-primary:hover{background:#2771ff;transform:translateY(-2px)}.header-cta span{font-size:16px}.menu-toggle,.mobile-nav{display:none}
section[id]{scroll-margin-top:98px}
.hero{position:relative;height:min(810px,100vh);min-height:680px;display:flex;align-items:center;background:#030b19}.hero-art{position:absolute;inset:0;background-image:url('assets/hero-mountains.png');background-size:cover;background-position:center center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,23,.87) 0%,rgba(3,10,23,.45) 43%,transparent 78%),linear-gradient(0deg,#050f1e 0%,transparent 28%)}.hero-content{position:relative;z-index:2;padding-top:76px}.eyebrow,.section-kicker{display:flex;align-items:center;gap:16px;font-size:10px;font-weight:600;letter-spacing:.34em;color:#a8c5f4}.eyebrow-line{width:35px;height:2px;background:#3b95ff;box-shadow:0 0 15px #347fff}.hero h1{font-size:clamp(55px,6vw,92px);line-height:1.05;letter-spacing:-.065em;margin:34px 0 23px;font-weight:650;max-width:800px}.hero h1 em,.intro h2 em,.section-head h2 em,.method h2 em,.contact h2 em{font-style:normal;color:#3882f6}.hero p{font-size:17px;line-height:1.7;color:#b8c7df;max-width:570px;margin:0}.hero-actions{display:flex;gap:13px;margin-top:35px}.button{min-height:48px;padding:0 24px;display:inline-flex;justify-content:center;align-items:center;gap:30px;border-radius:999px;font-weight:600;font-size:13px;transition:background .2s,transform .2s,border-color .2s}.button span{font-size:18px}.button-primary{background:linear-gradient(110deg,#0851d8,#237af6);border:1px solid #358dff;color:white;box-shadow:0 12px 30px rgba(0,75,239,.22)}.button-outline{border:1px solid rgba(98,162,248,.58);background:rgba(2,14,31,.45);color:#e5ecff}.button-outline:hover{border-color:#8abfff;background:rgba(22,67,125,.35)}.hero-bottom{position:absolute;z-index:3;bottom:26px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid rgba(159,190,240,.15);font-size:10px;letter-spacing:.28em;color:#9db4d9}.hero-bottom b{padding-inline:12px;color:#3882f6}.hero-bottom a{white-space:nowrap}.hero-bottom a span{margin-left:10px;color:#3d97ff;font-size:20px;vertical-align:middle}
.section-pad{padding-top:118px;padding-bottom:118px}.section-kicker{display:flex;gap:22px;white-space:nowrap}.section-kicker i{display:block;height:1px;width:100%;background:linear-gradient(90deg,rgba(92,153,238,.55),transparent)}h2{font-size:clamp(39px,4.4vw,66px);line-height:1.14;letter-spacing:-.055em;font-weight:600;margin:0}.intro{position:relative}.intro:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(39,99,194,.08);border-radius:50%;right:-170px;top:30px;pointer-events:none}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:end;margin-top:53px}.intro-copy p{max-width:470px;color:var(--muted);font-size:17px;line-height:1.85;margin:0 0 28px}.text-link{display:inline-flex;align-items:center;gap:28px;padding-bottom:9px;border-bottom:1px solid #3d8fff;color:#eaf0ff;font-size:13px;font-weight:600}.text-link span{font-size:19px;color:#4b9bff}.value-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:100px;border-block:1px solid var(--line)}.value-strip div{display:flex;align-items:center;gap:20px;padding:31px 30px 31px 0}.value-strip div+div{border-left:1px solid var(--line);padding-left:30px}.value-strip span{font-size:13px;color:#3b91ff;font-weight:700}.value-strip strong{font-size:15px;font-weight:500;color:#d8e3f6}
.solutions{background:radial-gradient(circle at 50% -15%,rgba(28,79,155,.21),transparent 42%),#081529;border-block:1px solid rgba(117,168,242,.11)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:48px;margin-bottom:47px}.section-head p{max-width:345px;margin:0 0 7px;color:var(--muted);font-size:16px;line-height:1.7}.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.solution-card{position:relative;min-height:390px;padding:27px;display:flex;flex-direction:column;border:1px solid rgba(106,156,225,.25);border-radius:6px;background:linear-gradient(160deg,rgba(20,45,84,.68),rgba(4,17,35,.86) 70%);overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}.solution-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 0%,rgba(45,109,228,.18),transparent 50%);pointer-events:none}.solution-card:hover{transform:translateY(-6px);border-color:rgba(60,148,255,.75);box-shadow:0 23px 45px rgba(0,4,18,.25)}.card-num{color:#83a9e9;font-size:9px;letter-spacing:.22em;font-weight:700}.card-icon{width:61px;height:61px;margin:49px 0 33px;border:1px solid rgba(64,143,255,.4);border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(25,67,128,.7),rgba(2,17,35,.6));box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.card-icon svg{width:32px;height:32px;fill:none;stroke:#4da0ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.solution-card h3{font-size:22px;line-height:1.15;letter-spacing:-.035em;margin:0 0 15px;font-weight:600}.solution-card p{color:#a9bad3;font-size:14px;line-height:1.65;margin:0 0 28px}.solution-card a{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:12px;font-weight:600;color:#d7e6ff}.solution-card a span{font-size:17px;color:#4d9fff}
.method{padding-bottom:135px}.method-layout{display:grid;grid-template-columns:1fr 1fr;gap:15%;margin-top:62px}.method-lead{position:relative;min-height:540px}.method-lead p{font-size:17px;line-height:1.7;color:var(--muted);max-width:320px;margin:25px 0}.method-mark{position:absolute;left:-8px;bottom:-90px;font-size:350px;line-height:1;font-weight:500;font-family:Georgia,serif;color:transparent;background:linear-gradient(155deg,rgba(12,46,98,.05),rgba(35,102,198,.28),rgba(1,10,25,.1));-webkit-background-clip:text;background-clip:text;pointer-events:none}.method-steps{border-top:1px solid var(--line)}.method-steps article{display:grid;grid-template-columns:75px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}.method-steps article>span{font-size:13px;color:#3e99ff;font-weight:600}.method-steps h3{margin:0 0 9px;font-size:23px;letter-spacing:-.035em;font-weight:600}.method-steps p{max-width:430px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.contact{position:relative;background:#071b3b;border-top:1px solid rgba(78,148,246,.25);overflow:hidden}.contact-glow{position:absolute;inset:0;background:radial-gradient(circle at 80% 60%,rgba(27,92,213,.37),transparent 39%),linear-gradient(130deg,#06152d,#092853 70%,#051329);pointer-events:none}.contact-inner{position:relative;padding-top:95px;padding-bottom:105px}.contact-grid{display:grid;grid-template-columns:1fr 430px;gap:95px;margin-top:50px}.contact h2{font-size:clamp(46px,5vw,72px)}.contact-grid>div>p{color:#b9cbe6;font-size:17px;line-height:1.75;max-width:490px;margin:26px 0}.briefing-panel{padding:28px;border:1px solid rgba(108,173,255,.42);border-radius:10px;background:rgba(5,18,40,.73);box-shadow:0 25px 60px rgba(0,9,28,.25)}.briefing-panel label{display:block;font-size:13px;font-weight:600;margin-bottom:11px;color:#dce8ff}.briefing-panel select,.briefing-panel textarea{display:block;width:100%;border:1px solid rgba(111,165,238,.34);border-radius:5px;background:#06162c;color:#e4eeff;padding:14px 15px;outline:none;font-size:14px}.briefing-panel select:focus,.briefing-panel textarea:focus{border-color:#63b0ff;box-shadow:0 0 0 3px rgba(51,133,243,.15)}.briefing-panel textarea{resize:vertical;min-height:112px;margin-bottom:23px}.briefing-panel select{margin-bottom:23px}.briefing-panel ::placeholder{color:#8297b6}.briefing-panel .button{width:100%;border-radius:5px}.briefing-note{font-size:12px;color:#9db4d5;margin:16px 0 0!important;line-height:1.4!important}.briefing-note.error{color:#ffb8b8}
.footer{background:#040c19}.footer-main{display:flex;align-items:center;gap:60px;padding-top:55px;padding-bottom:55px}.footer-main p{margin-left:auto;color:#8499b7;font-size:13px}.footer-main>a:last-child{font-size:13px;color:#a7c1e7}.footer-bottom{display:flex;justify-content:space-between;padding:24px 0;border-top:1px solid rgba(113,158,223,.17);color:#7590b4;font-size:11px;letter-spacing:.05em}
@media(max-width:1100px){.desktop-nav{gap:20px}.site-header{gap:18px}.solution-grid{grid-template-columns:repeat(2,1fr)}.solution-card{min-height:330px}.card-icon{margin:32px 0 24px}.method-layout{gap:8%}.contact-grid{grid-template-columns:1fr 390px;gap:45px}}
@media(max-width:760px){.wrap{width:min(100% - 40px,560px)}.site-header{height:72px;padding-inline:20px;gap:12px}.brand img{width:43px;height:43px}.brand-text strong{font-size:20px}.desktop-nav,.header-cta{display:none}.menu-toggle{margin-left:auto;width:42px;height:42px;border:1px solid rgba(98,157,234,.4);border-radius:6px;background:rgba(9,30,60,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-toggle span{width:19px;height:2px;background:#d7eaff}.mobile-nav{position:fixed;top:72px;left:0;right:0;z-index:49;background:#07162b;border-bottom:1px solid var(--line);padding:18px 20px 28px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:0}.mobile-nav a{padding:14px 5px;border-bottom:1px solid rgba(118,171,239,.12);font-size:15px}.hero{height:760px;min-height:660px;align-items:flex-start}.hero-art{background-position:59% center}.hero-overlay{background:linear-gradient(90deg,rgba(2,9,21,.91),rgba(2,9,21,.35) 100%),linear-gradient(0deg,#050f1e,transparent 30%)}.hero-content{padding-top:210px}.hero h1{font-size:clamp(49px,12vw,72px);margin-top:25px}.hero p{font-size:16px;max-width:450px}.hero-actions{flex-wrap:wrap;margin-top:30px}.hero-bottom{bottom:21px;align-items:flex-end}.hero-bottom a{display:none}.hero-bottom span{font-size:9px;line-height:1.7}.section-pad{padding-top:85px;padding-bottom:85px}.intro-grid,.section-head,.method-layout,.contact-grid{display:block}.intro-grid{margin-top:39px}.intro-copy{margin-top:25px}.intro-copy p{font-size:16px}.value-strip{margin-top:55px;display:block}.value-strip div,.value-strip div+div{border-left:0;border-bottom:1px solid var(--line);padding:20px 0}.value-strip div:last-child{border-bottom:0}.section-head{margin-top:35px}.section-head p{margin-top:20px}.solution-grid{grid-template-columns:1fr 1fr}.solution-card{padding:23px;min-height:360px}.solution-card h3{font-size:20px}.method-lead{min-height:270px}.method-mark{font-size:230px;bottom:-35px;left:auto;right:10px;opacity:.8}.method-steps{position:relative;background:rgba(6,15,31,.7)}.contact-inner{padding-top:80px;padding-bottom:80px}.contact-grid{margin-top:40px}.briefing-panel{margin-top:35px}.footer-main{flex-wrap:wrap;gap:20px;padding-top:45px;padding-bottom:45px}.footer-main p{margin:0;width:100%;order:3}.footer-main>a:last-child{margin-left:auto}}
@media(max-width:520px){.hero{height:720px}.hero-content{padding-top:170px}.hero h1{font-size:49px}.hero-actions{gap:10px}.button{padding:0 18px;font-size:12px}.section-kicker{font-size:9px;letter-spacing:.26em}.solution-grid{grid-template-columns:1fr}.solution-card{min-height:325px}.card-icon{margin:28px 0 21px}.solution-card p{max-width:290px}.method-steps article{grid-template-columns:48px 1fr;gap:14px}.footer-bottom{gap:10px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Portfolio: screenshot-led cases, with a source-free preview for the protected project. */
.cases{background:#050d1b;border-bottom:1px solid rgba(117,168,242,.14)}
.cases-intro{display:flex;align-items:end;justify-content:space-between;gap:56px;margin:49px 0 57px}
.cases-intro p{max-width:385px;margin:0 0 8px;color:var(--muted);font-size:16px;line-height:1.75}
.case-list{display:flex;flex-direction:column;gap:64px}
.case-row{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(250px,.62fr);gap:45px;align-items:center;padding-bottom:64px;border-bottom:1px solid rgba(123,169,237,.2)}
.case-row:last-child{border-bottom:0;padding-bottom:0}
.case-visual{aspect-ratio:1.53;position:relative;display:block;overflow:hidden;border:1px solid rgba(132,170,227,.25);border-radius:6px;background:#091525;box-shadow:0 22px 60px rgba(0,0,0,.32)}
.case-site:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.05);pointer-events:none}
.case-site img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center;transition:transform .45s ease}
.case-site:hover img{transform:scale(1.035)}
.case-detail{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.case-meta{display:flex;gap:24px;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(126,165,221,.22);color:#90a9ce;font-size:10px;font-weight:600;letter-spacing:.22em}
.case-meta span:first-child{color:#4897ff;font-size:13px;letter-spacing:0}
.case-detail h3{font-size:clamp(28px,2.7vw,43px);letter-spacing:-.055em;line-height:1.09;margin:28px 0 17px;font-weight:620}
.case-detail>p:not(.case-privacy){color:var(--muted);font-size:15px;line-height:1.75;margin:0 0 20px}
.case-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:29px}
.case-tags span{border:1px solid rgba(85,143,222,.35);border-radius:99px;padding:6px 10px;color:#93b2e0;font-size:10px;font-weight:500;white-space:nowrap}
.case-link{display:inline-flex;align-items:center;align-self:flex-start;gap:20px;padding-bottom:8px;border-bottom:1px solid #327bea;color:#eff5ff;font-size:13px;font-weight:650}
.case-link span{font-size:18px;color:#58a4ff}
.case-link:hover{color:#62b0ff}
.case-privacy{border-left:2px solid #3882f6;padding-left:13px;margin:0;color:#a7c1e7;font-size:12px;line-height:1.5}
.protected-preview{container-type:inline-size;padding:2.7cqw;background:#e9f2ee;color:#14372e;font-family:Inter,Arial,sans-serif;font-size:1.4cqw}
.mock-header{height:17%;display:flex;gap:2.1cqw;align-items:center;padding:1.4cqw 2cqw;background:linear-gradient(100deg,#0b2d22,#0b6848);color:#fff;border-radius:.8cqw;box-shadow:0 .5cqw 1.6cqw rgba(0,89,62,.2)}
.mock-logo{height:70%;width:16%;display:flex;flex-direction:column;justify-content:center;gap:.7cqw;padding:1.2cqw;background:#f7faf8;border-radius:.6cqw}
.mask-bar{display:block;width:80%;height:.9em;border-radius:2px;background:#17372f;filter:blur(.13em)}
.mask-bar.short{width:53%}.mask-bar.medium{width:65%}
.mock-header>div:last-child{display:flex;flex-direction:column;justify-content:center;gap:.25cqw}
.mock-header small{font-size:1.15cqw;letter-spacing:.18em;font-weight:800;opacity:.83}
.mock-header strong{font-size:3cqw;line-height:1.1;letter-spacing:-.045em}
.mock-subline{font-size:1.18cqw;opacity:.8}
.mock-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:.8cqw;margin-top:1.4cqw}
.mock-filters span{font-size:1.05cqw;text-transform:uppercase;font-weight:800;color:#41605a}
.mock-filters b{display:block;margin-top:.4cqw;padding:.9cqw 1cqw;border:1px solid #d2dfd9;border-radius:.5cqw;background:#fff;color:#40554e;text-transform:none;font-size:1.3cqw;font-weight:500}
.mock-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5cqw;padding:.6cqw;margin-top:1.2cqw;border-radius:.6cqw;background:#f8fbf9;color:#647c73;text-align:center}
.mock-tabs span{padding:.7cqw .2cqw;font-size:1.15cqw;font-weight:700}
.mock-tabs .active{border-radius:.4cqw;background:#07845b;color:#fff}
.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8cqw;margin-top:1.2cqw}
.mock-stats>span{display:flex;flex-direction:column;gap:.25cqw;padding:1cqw;border-left:.4cqw solid #17a46e;background:#fff;border-radius:.5cqw;box-shadow:0 .3cqw 1cqw rgba(28,64,51,.08)}
.mock-stats small{font-size:1.08cqw;font-weight:800;color:#4f6a60}.mock-stats b{font-size:2cqw;line-height:1;color:#153f31}
.mock-dashboard{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:.8cqw;height:39%;margin-top:1.2cqw}
.mock-dashboard>div{background:#fff;border-radius:.6cqw;padding:1.2cqw;box-shadow:0 .3cqw 1cqw rgba(28,64,51,.08);overflow:hidden}
.mock-dashboard strong{display:block;font-size:1.65cqw;line-height:1.1;white-space:nowrap;color:#203a31}
.mock-bars{height:78%;display:flex;align-items:flex-end;gap:1.4cqw;padding:1cqw 1cqw 0;border-bottom:1px solid #c2d5ca}
.mock-bars i{flex:1;background:linear-gradient(#08a56c,#087550);border-radius:.35cqw .35cqw 0 0}
.mock-people{display:flex;flex-direction:column;gap:.6cqw}
.mock-people>span{display:flex;align-items:center;justify-content:space-between;gap:1cqw;padding:.65cqw;background:#dcf1e8;border-radius:.4cqw;min-height:2.3cqw}
.mock-people .mask-bar{width:72%;height:1cqw;background:#3b6b5a;filter:blur(.25cqw)}
.mock-people em{font-style:normal;font-weight:700}
.mock-watermark{position:absolute;right:2cqw;bottom:1.2cqw;padding:.5cqw .9cqw;border-radius:.3cqw;background:rgba(8,65,46,.86);color:#e8fff5;font-size:1.07cqw;font-weight:800;letter-spacing:.15em}
@media(max-width:1050px){.case-row{grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr);gap:26px}.cases-intro{gap:28px}}
@media(max-width:760px){.cases-intro{display:block;margin:38px 0 40px}.cases-intro p{margin-top:18px}.case-list{gap:50px}.case-row{display:flex;flex-direction:column;gap:25px;padding-bottom:50px;align-items:stretch}.case-visual{width:100%}.case-detail h3{margin-top:20px;font-size:34px}.case-detail>p:not(.case-privacy){font-size:15px}.case-tags{margin-bottom:20px}}
@media(max-width:760px){section[id]{scroll-margin-top:78px}}
@media(max-width:520px){.case-visual{aspect-ratio:1.22}.case-site img{object-position:top left}.case-row-protected .case-visual{aspect-ratio:1.53}.case-detail h3{font-size:31px}.cases-intro p{font-size:15px}}

/* Full desktop captures: show the complete initial screen without cropping. */
.case-list{gap:74px}
.case-row{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding-bottom:74px}
.case-visual{width:100%;max-width:1120px;aspect-ratio:auto;margin-inline:auto}
.case-site img{height:auto;object-fit:contain;object-position:center;transform:none}
.case-site:hover img{transform:none}
.case-detail{width:100%;max-width:1120px;margin-inline:auto;display:grid;grid-template-columns:minmax(190px,.75fr) minmax(260px,1.2fr) minmax(135px,.45fr);gap:0 32px;align-items:start}
.case-meta{grid-column:1/-1;margin-bottom:20px}
.case-detail h3{grid-column:1;grid-row:2/4;margin:0}
.case-detail>p:not(.case-privacy){grid-column:2;grid-row:2;margin:0}
.case-tags{grid-column:2;grid-row:3;margin:16px 0 0}
.case-link,.case-privacy{grid-column:3;grid-row:2;margin:0}
.protected-image{cursor:default}
@media(max-width:760px){.case-list{gap:50px}.case-row{gap:20px;padding-bottom:50px}.case-detail{display:flex;flex-direction:column;gap:0}.case-detail h3{margin:0 0 14px}.case-detail>p:not(.case-privacy){margin:0 0 16px}.case-tags{margin:0 0 20px}.case-privacy{margin:0}.case-site{aspect-ratio:auto!important}}
