@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--ink:#102a35;--mint:#d9ef6c;--sea:#6ce0d0}body{font-family:'DM Sans',Arial,sans-serif;background:#f5f5f0}h1,h2,h3,.brand{font-family:Manrope,Arial,sans-serif}header{background:rgba(245,245,240,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);padding-top:18px;padding-bottom:18px}.brand{letter-spacing:4px}.notice{background:#102a35;color:#abc2c7;letter-spacing:1.4px;font-size:10px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 5% 100%,#214b50,transparent 60%),#102632;min-height:690px;grid-template-columns:1.05fr 1fr;gap:55px}.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#85b4b308 1px,transparent 1px),linear-gradient(90deg,#85b4b308 1px,transparent 1px);background-size:48px 48px}.hero>div{position:relative}.hero h1{font-size:clamp(44px,5.8vw,86px);font-weight:800;line-height:1.06}.hero .eyebrow{color:#94d8cc}.hero .eyebrow:before{content:'';display:inline-block;width:23px;height:2px;background:#d9ef6c;margin:0 12px 4px 0}.hero p{font-size:17px;max-width:490px}.button,button{border-radius:6px;transition:transform .25s,box-shadow .25s,background .25s;box-shadow:0 5px 16px #0d202614}.button:hover,button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #6a977f40;background:#e6fa8a}.city-scene{position:relative;border:1px solid #93aaa64d;border-radius:22px;overflow:hidden;box-shadow:0 30px 90px #0005;transform:rotate(-2deg);animation:scene-enter 1s ease-out both; background:#142c34}.city-scene svg{width:100%;display:block}.scene-label,.scene-bottom{display:flex;align-items:center;justify-content:space-between;padding:20px;color:#dcf0ef;font-size:10px;letter-spacing:1.5px}.scene-label span:last-child{font-size:8px;color:#9bb4b9}.live-dot{width:7px;height:7px;background:#d9ef6c;border-radius:50%;box-shadow:0 0 12px #d9ef6c;margin-right:8px}.scene-bottom{font-size:9px;color:#92c0bc;background:#112b34}.patrol-route{animation:route-flow 7s linear infinite}.radar-ring{transform-box:fill-box;transform-origin:center;animation:radar-pulse 3s ease-out infinite}.services{gap:30px}article{border:1px solid #d2dcd7;border-radius:18px;box-shadow:0 10px 35px #152d3508;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s}article:hover{transform:translateY(-7px);box-shadow:0 22px 50px #152d3516}article:before{content:'';position:absolute;right:-50px;top:-70px;border:1px solid #bfd8cb;border-radius:50%;width:180px;height:180px;box-shadow:0 0 0 24px #edf3eb,0 0 0 25px #d7e5d9;pointer-events:none}article h3,article p,article ul,article a,article label{position:relative}.number{display:inline-flex;align-items:center;gap:12px}.number:before{content:'◈';display:grid;place-items:center;border-radius:12px;font-size:26px;background:#e7efdf;width:48px;height:48px;color:#31564c}article a{border-bottom:2px solid #bfd864;text-decoration:none;padding-bottom:8px}.process{background:#142e38;color:#e6efee}.process .eyebrow{color:#8cb8b4}.steps>div{border-top:1px solid #75948e55;padding-top:18px}.steps>div>p:first-child{color:#bdd568;font-size:25px}.quote{background:radial-gradient(ellipse at left bottom,#e1eadb,transparent 60%)}form{padding:30px;background:#fff;border:1px solid #d5dfd7;border-radius:18px;box-shadow:0 20px 55px #172c3510}input,select,textarea{border-radius:7px;border-color:#d2dcd5}input:focus,select:focus,textarea:focus{outline:2px solid #779d76;outline-offset:2px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}footer{padding:35px 6%}.hero>div:first-child{animation:text-enter .8s ease-out both}@keyframes route-flow{to{stroke-dashoffset:-150}}@keyframes radar-pulse{0%{opacity:.7;transform:scale(.65)}100%{opacity:0;transform:scale(1.7)}}@keyframes scene-enter{from{opacity:0;transform:translateY(30px) rotate(0deg)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}@keyframes text-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:750px){.hero{grid-template-columns:1fr;min-height:auto}.city-scene{max-width:500px;width:100%;margin:auto;transform:none;animation:none}.scene-label span:last-child{display:none}header nav{gap:16px}nav .button{padding:12px 16px}.hero h1{font-size:48px}.quote{gap:28px}form{padding:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.city-scene{transform:none}}
