:root{--ink:#17191D;--y:#F5B800;--w:#fff;--g1:#F3F4F6;--g2:#424851;--navy:#142437;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:80px;background:var(--ink)}
body{margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--w);line-height:1.6}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--y);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
h1,h2,h3{line-height:1.08;margin:0;letter-spacing:-.02em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;font:800 .82rem/1 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--y);cursor:pointer;transition:.25s;min-height:48px}
.btn.p{background:var(--y);color:var(--ink)}.btn.p:hover{background:#fff;border-color:#fff;transform:translateY(-2px)}
.btn.o{color:#fff;border-color:rgba(255,255,255,.5)}.btn.o:hover{border-color:var(--y);color:var(--y)}
header{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:.3s}
header.s{background:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:block;height:52px;width:52px;background:#fff;padding:3px}
.logo img{height:100%;width:100%;object-fit:contain;display:block}
nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
nav a{color:#fff;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 0;border-bottom:2px solid transparent;transition:.2s}
nav a:hover,nav a.on{border-color:var(--y)}
.menu{display:none;background:none;border:0;color:#fff;width:48px;height:48px;cursor:pointer}
.hero{position:relative;min-height:100vh;min-height:100svh;background:var(--navy);color:#fff;display:flex;align-items:center;overflow:hidden;padding:110px 0 80px}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/64px 64px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/64px 64px}
.geo{position:absolute;right:-6%;top:0;bottom:0;width:58%;background:var(--ink);clip-path:polygon(34% 0,100% 0,100% 100%,0 100%)}
.geo i{position:absolute;display:block}
.geo .a{right:14%;bottom:0;width:34%;height:66%;background:var(--y);clip-path:polygon(0 100%,0 0,100% 100%)}
.geo .b{left:30%;top:18%;width:40%;height:9px;background:#424851}
.geo .c{left:36%;top:30%;width:26%;height:9px;background:#424851}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(2.5rem,7.4vw,6rem);font-weight:800;max-width:11ch;text-transform:uppercase}
.hero h1 em{font-style:normal;color:var(--y);display:block}
.hero p{max-width:520px;font-size:clamp(1rem,2vw,1.2rem);color:#d7dbe2;margin:26px 0 34px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.scroll{position:absolute;left:50%;bottom:22px;width:2px;height:46px;background:rgba(255,255,255,.25);z-index:2;overflow:hidden}
.scroll::after{content:"";position:absolute;left:0;top:-50%;width:2px;height:50%;background:var(--y);animation:d 1.8s infinite}
@keyframes d{to{top:110%}}
.scene{position:absolute;right:0;bottom:0;width:68%;height:90%;z-index:1}
.hook{transform-origin:560px 68px;animation:sw 5s ease-in-out infinite alternate}
@keyframes sw{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}
.teamsec{background:var(--navy);color:#fff}
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:48px;background:rgba(255,255,255,.12)}
.team div{background:var(--navy);padding:30px 22px;transition:.3s}
.team div:hover{background:var(--ink)}
.team svg{width:40px;height:40px;stroke:var(--y);fill:none;stroke-width:1.6;margin-bottom:18px}
.team h3{font-size:1.02rem;margin-bottom:8px}.team p{margin:0;color:#c9cfd9;font-size:.88rem}
.tn{margin-top:26px;color:#aab2bf;font-size:.85rem;max-width:62ch}
section{padding:104px 0}
.kick{color:var(--y);font-weight:800;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:16px}
.kick::before{content:"";width:34px;height:3px;background:var(--y)}
h2{font-size:clamp(1.9rem,4.4vw,3.2rem);font-weight:800;max-width:18ch}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.about p{color:var(--g2);font-size:1.05rem}
.vals{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.vals span{background:var(--g1);padding:8px 14px;font-weight:700;font-size:.8rem}
.stats{background:var(--ink);color:#fff;padding:40px;border-left:6px solid var(--y)}
.stats b{display:block;font-size:1.5rem;line-height:1.25}.stats small{color:#b8bec9;display:block;margin-top:14px}
.svc{background:var(--g1)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.card{background:#fff;padding:34px 30px;border-top:4px solid var(--ink);display:flex;flex-direction:column;transition:.3s;position:relative}
.card:hover{border-color:var(--y);transform:translateY(-6px)}
.card .n{position:absolute;right:24px;top:20px;font-weight:800;font-size:2.6rem;color:var(--g1)}
.card svg{width:44px;height:44px;stroke:var(--ink);fill:none;stroke-width:1.6;margin-bottom:22px}
.card h3{font-size:1.2rem;margin-bottom:12px}
.card p{color:var(--g2);font-size:.95rem;margin:0 0 22px;flex:1}
.card button{align-self:flex-start;background:none;border:0;border-bottom:2px solid var(--y);font:800 .78rem Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:8px 0;cursor:pointer;min-height:44px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:52px;counter-reset:s}
.step{padding:26px 18px 0 0;border-top:3px solid var(--g1);position:relative;transition:.3s}
.step::before{content:"";position:absolute;top:-8px;left:0;width:13px;height:13px;background:var(--ink)}
.step:hover{border-color:var(--y)}.step:hover::before{background:var(--y)}
.step b{font-size:.8rem;color:var(--y);letter-spacing:.15em}.step p{margin:6px 0 0;font-weight:700}
.quote{background:var(--navy);color:#fff}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.quote h2{max-width:14ch}
form{display:grid;gap:14px}
label{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c9cfd9;display:grid;gap:6px}
input,select,textarea{font:500 1rem Manrope,sans-serif;padding:14px;border:2px solid transparent;background:#fff;color:var(--ink);width:100%;border-radius:0;min-height:48px}
input:focus,select:focus,textarea:focus{border-color:var(--y);outline:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.note{font-size:.8rem;color:#aab2bf;margin:0}
.contact{background:var(--ink);color:#fff;padding:70px 0}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.contact h3{color:var(--y);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.contact p{margin:0;color:#d7dbe2}
.copy{margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#8f97a5}
.dock{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.fab{display:flex;align-items:center;gap:10px;background:var(--y);color:var(--ink);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:0 20px;height:52px;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:.25s}
.fab:hover{transform:translateY(-3px)}
.wa{width:52px;height:52px;background:#25D366;color:#fff;display:grid;place-items:center;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.25)}
dialog{border:0;padding:0;max-width:560px;width:calc(100% - 32px);border-top:6px solid var(--y)}
dialog::backdrop{background:rgba(10,14,20,.7)}
.dl{padding:34px}.dl ul{padding-left:18px;color:var(--g2)}.dl .x{float:right;background:none;border:0;font-size:1.6rem;cursor:pointer;width:44px;height:44px}
.rv{opacity:0;transform:translateY(24px);transition:.7s}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
@media(max-width:960px){
.menu{display:block}
nav{position:fixed;inset:72px 0 auto 0;background:var(--ink);padding:10px 22px 26px;display:none}nav.open{display:block}
nav ul{flex-direction:column;gap:4px}nav a{display:block;padding:14px 0}
.about,.qgrid{grid-template-columns:1fr;gap:36px}.grid{grid-template-columns:1fr 1fr}
.steps{grid-template-columns:1fr;gap:6px}.step{padding:18px 0 18px 26px;border-top:0;border-left:3px solid var(--g1)}.step::before{top:22px;left:-8px}
.cgrid{grid-template-columns:1fr}.scene{width:100%;opacity:.5}.team{grid-template-columns:1fr 1fr}}
@media(max-width:600px){section{padding:72px 0}.grid,.two{grid-template-columns:1fr}.btn{width:100%}.scene{opacity:.35}.team{grid-template-columns:1fr}.fab span{display:none}.fab{width:52px;padding:0;justify-content:center;border-radius:50%}}
.hp{position:absolute;right:0;top:0;bottom:0;width:50%;z-index:1;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);background:var(--ink)}
.hp img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}
.hp::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,36,55,.55),rgba(20,36,55,0) 50%),rgba(23,25,29,.15)}
.cap{position:absolute;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:2;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(23,25,29,.7);padding:5px 10px}
.card{overflow:hidden}.ph{margin:-34px -30px 24px;height:190px;background:var(--navy) linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px) 0 0/32px 32px;display:grid;place-items:center;position:relative}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover .ph img{transform:scale(1.05)}
.ph svg{width:72px;height:72px;stroke:var(--y);margin:0}
.card .n{color:#fff;z-index:2;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.card>svg{display:none}
.refn{margin:26px 0 0;font-size:.8rem;color:var(--g2)}
@media(max-width:960px){.hp{width:100%;clip-path:none}.hp::after{background:rgba(20,36,55,.72)}.cap{display:none}}