:root{--navy:#0A1A2F;--navy2:#132A47;--teal:#19C2B0;--teal-d:#0E9E8F;--mist:#F3F6F9;--ink:#0F1E31;--muted:#5B6B7E;--line:#DCE3EA;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:16px/1.65 Manrope,system-ui,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%}.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
h1,h2,h3{line-height:1.12;margin:0;letter-spacing:-.02em}h1{font-size:clamp(2.3rem,5vw,3.9rem);font-weight:800}h2{font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:800;max-width:720px}h3{font-size:1.15rem;font-weight:700;margin-bottom:8px}
.hl{color:var(--teal)}.sec{padding:100px 0}.tint{background:var(--mist)}
.kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-d);margin:0 0 14px}
.dark{background:var(--navy);color:#fff}.dark .kicker{color:var(--teal)}.dark p{color:#B6C3D3}
.btn{display:inline-block;background:var(--teal);color:var(--navy);font-weight:700;padding:15px 28px;border-radius:999px;text-decoration:none;border:2px solid var(--teal);cursor:pointer;font:700 1rem Manrope,sans-serif;transition:.2s}
.btn:hover{background:#2ee0cd;transform:translateY(-1px)}.btn.outline{background:none;color:#fff;border-color:rgba(255,255,255,.35)}.btn.outline:hover{border-color:var(--teal);color:var(--teal)}
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:28px;height:72px}.brand{display:flex;margin-right:auto}.brand img{height:38px;width:auto}
nav{display:flex;gap:24px}nav a{text-decoration:none;font-weight:600;font-size:.92rem;color:var(--muted)}nav a:hover{color:var(--navy)}
.phone-pill{background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:10px 18px;border-radius:999px;white-space:nowrap}.phone-pill:before{content:"✆ ";color:var(--teal)}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;padding:9px}.burger i{display:block;height:2px;background:var(--navy);margin:5px 0;border-radius:2px}
.hero{background:radial-gradient(1000px 500px at 85% 10%,rgba(25,194,176,.18),transparent 60%),linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:90px 0 100px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.tag{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;color:#B6C3D3;margin:0 0 22px}.tag span{width:28px;height:2px;background:var(--teal)}
.lead{font-size:1.15rem;color:#B6C3D3;max-width:560px;margin:24px 0 0}.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.chips{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-wrap:wrap;gap:10px}.chips li{font-size:.82rem;font-weight:600;padding:7px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#DDE6EF}.chips li:before{content:"✓ ";color:var(--teal)}
.photo{position:relative;border-radius:20px;overflow:hidden;background:repeating-linear-gradient(135deg,rgba(25,194,176,.08) 0 14px,transparent 14px 28px),linear-gradient(160deg,#1B3657,#0F2440);aspect-ratio:4/3;display:grid;place-items:center;border:1px dashed rgba(25,194,176,.55)}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.ph-label{color:#B6C3D3;font-size:.8rem;text-align:center;line-height:1.5}.ph-label b{color:var(--teal);font-weight:600}
.hero-photo{aspect-ratio:5/4;box-shadow:0 30px 60px rgba(0,0,0,.35)}.portrait{aspect-ratio:4/5}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.cards article{border:1px solid var(--line);border-radius:var(--r);padding:30px;transition:.2s;background:#fff}.cards article:hover{border-color:var(--teal);box-shadow:0 14px 34px rgba(10,26,47,.08);transform:translateY(-2px)}
.ic{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--navy);color:var(--teal);font-style:normal;font-weight:800;margin-bottom:18px;font-size:.9rem}
.cards p,.ticks span,.tiles span{color:var(--muted);margin:0;font-size:.95rem}
.sub{max-width:680px;font-size:1.05rem;margin:18px 0 0}
.steps{list-style:none;padding:0;margin:50px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.steps li{counter-increment:s;background:var(--navy2);border-radius:var(--r);padding:28px;border-top:3px solid var(--teal)}.steps li:before{content:counter(s,decimal-leading-zero);display:block;font-size:2rem;font-weight:800;color:var(--teal);margin-bottom:10px}
.steps p{font-size:.92rem;margin:0}.callout{margin:34px 0 0;padding:18px 22px;border-left:3px solid var(--teal);background:rgba(25,194,176,.08);border-radius:0 10px 10px 0;color:#DDE6EF!important;max-width:760px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split p{color:var(--muted)}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:14px}.ticks li{background:var(--mist);border-radius:var(--r);padding:20px 22px 20px 62px;position:relative}
.ticks li:before{content:"✓";position:absolute;left:20px;top:20px;width:28px;height:28px;border-radius:50%;background:var(--teal);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:.85rem}.ticks b{display:block;margin-bottom:2px}.ticks span{display:block}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tiles div{background:#fff;border-radius:var(--r);padding:26px;border:1px solid var(--line)}.tiles b{display:block;font-size:1.1rem;margin-bottom:4px;color:var(--navy)}.tiles div:first-child{background:var(--navy)}.tiles div:first-child b{color:var(--teal)}.tiles div:first-child span{color:#B6C3D3}
.split .btn{margin-top:14px}
.pills{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-wrap:wrap;gap:12px}.pills li{padding:12px 22px;border-radius:999px;background:var(--mist);font-weight:600;border:1px solid var(--line)}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px}.projects article{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}.projects .photo{border-radius:0;border:0;border-bottom:1px dashed rgba(25,194,176,.55)}
.pbody{padding:24px 26px}.pbody span{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-d)}.pbody h3{font-size:1.4rem;margin:6px 0 2px}.pbody p{margin:0;color:var(--muted)}
.pbody em{display:inline-block;margin-top:16px;font-style:normal;font-size:.8rem;font-weight:700;background:var(--navy);color:var(--teal);padding:5px 12px;border-radius:999px}
.more{margin:24px 0 0;color:var(--muted);font-style:italic}
.about p{margin:16px 0 0}.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.badges span{font-size:.85rem;font-weight:700;padding:9px 16px;border-radius:999px;background:var(--mist);color:var(--navy);border:1px solid var(--line)}.badges span:first-child{background:var(--teal);border-color:var(--teal)}
.contact{align-items:start}.bigphone{display:block;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;color:var(--teal);text-decoration:none;margin:24px 0 10px;letter-spacing:-.02em}
dl{margin:20px 0 0}dt{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#7F93AA;font-weight:700;margin-top:18px}dd{margin:2px 0 0;font-size:1.05rem;color:#fff}dd a{text-decoration:none}dd a:hover{color:var(--teal)}
form{background:#fff;color:var(--ink);border-radius:20px;padding:34px;display:grid;gap:14px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:6px;font-size:.82rem;font-weight:700;color:var(--navy)}
input,select,textarea{font:inherit;font-size:.98rem;font-weight:500;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--mist);color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);border-color:var(--teal);background:#fff}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:var(--muted)}.consent input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--teal)}
form .btn{width:100%}.status{margin:0;font-size:.9rem;color:var(--teal-d)!important}.popia{margin:0;font-size:.78rem;color:var(--muted)!important;line-height:1.55;border-top:1px solid var(--line);padding-top:14px}
footer{background:#06111F;color:#8FA2B8;padding:56px 0 90px;font-size:.9rem}.foot img{height:38px;width:auto}.foot p{margin:18px 0 0}.foot a{text-decoration:none}.foot a:hover{color:var(--teal)}.fine{font-size:.78rem;color:#5E7189}
.wa{position:fixed;right:22px;bottom:22px;z-index:30;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:.2s}.wa:hover{transform:scale(1.07)}
@media (max-width:1060px){nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 28px 18px;border-bottom:1px solid var(--line)}nav a{padding:12px 0;font-size:1rem}
.nav-open nav{display:flex}.burger{display:block}}
@media (max-width:900px){.hero-grid,.split{grid-template-columns:1fr;gap:42px}.cards,.projects{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.wrap{padding:0 20px}.sec{padding:68px 0}.hero{padding:56px 0 64px}.cards,.projects,.steps,.row,.tiles{grid-template-columns:1fr}.phone-pill{padding:8px 12px;font-size:.85rem}.phone-pill:before{content:""}
.brand img{height:30px}.nav{gap:10px}form{padding:22px}.about .portrait{order:2}}
