:root{
  --ink:#080808;
  --paper:#f7f7f4;
  --white:#fff;
  --muted:#6f6f6a;
  --line:#deded8;
  --red:#f80000;
  --max:1240px;
  --pad:clamp(20px,4vw,56px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Montserrat",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 2*var(--pad)));margin-inline:auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(247,247,244,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(8,8,8,.08)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.12em}
.brand-symbol{width:35px;height:35px;object-fit:contain}
.brand-name{font-size:18px}
.nav-links{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}
.nav-links>a:not(.nav-cta){opacity:.7;transition:.2s}.nav-links>a:not(.nav-cta):hover{opacity:1}
.nav-cta{background:var(--ink);color:white;padding:12px 17px;border-radius:3px}
.menu-btn{display:none;border:0;background:transparent;padding:10px}.menu-btn span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.hero{padding-top:78px;min-height:760px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(42px,6vw,90px);align-items:center;padding-block:clamp(80px,10vw,135px) 100px}
.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.17em;color:#5c5c57;margin-bottom:28px}
.eyebrow.light{color:#aaa}
.red-dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(248,0,0,.08)}
.hero h1,.section-head h2,.value-copy h2,.contact-copy h2{margin:0;font-size:clamp(48px,6.2vw,86px);line-height:.98;letter-spacing:-.055em;font-weight:700}
.hero h1 span,.section-head h2 span,.value-copy h2 span,.contact-copy h2 span{color:#94948d;font-weight:500}
.hero-lead{font-size:clamp(16px,1.5vw,19px);line-height:1.7;color:#5f5f5a;max-width:620px;margin:30px 0 34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 21px;border:1px solid var(--ink);font-size:13px;font-weight:700;border-radius:3px;transition:.2s ease}.btn span{font-size:19px;font-weight:400}.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--ink);color:white}.btn-ghost{background:transparent}.btn-light{background:white;border-color:white;color:var(--ink)}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}.hero-tags span{font-size:10px;letter-spacing:.08em;font-weight:700;color:#777770;border:1px solid #d8d8d1;padding:8px 10px;border-radius:999px;background:#fbfbf8}
.hero-rule{height:1px;background:var(--line);width:min(var(--max),calc(100% - 2*var(--pad)));margin:auto}
.hero-visual{position:relative}
.hero-browser{background:#101010;border-radius:8px;box-shadow:0 35px 80px rgba(8,8,8,.22);overflow:hidden;transform:perspective(1200px) rotateY(-2deg) rotateX(1deg);transform-origin:center}
.hero-browser-bar{height:52px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid #292929;color:#fff;background:#0f0f0f}
.hero-browser-dots{display:flex;gap:7px}.hero-browser-dots i{width:8px;height:8px;border-radius:50%;background:#4d4d4d}.hero-browser-dots i:first-child{background:#ff5f57}.hero-browser-dots i:nth-child(2){background:#ffbd2f}.hero-browser-dots i:nth-child(3){background:#28c840}
.hero-browser-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d9d9d9}.hero-browser-status{font-size:9px;font-weight:800;letter-spacing:.14em;color:#9b9b95}
.hero-image-frame{position:relative;background:#161616;padding:16px}.hero-image{width:100%;height:auto;aspect-ratio:1667/927;object-fit:contain;border-radius:6px;border:1px solid #262626;display:block}
.hero-float{position:absolute;background:rgba(7,7,7,.84);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);color:#fff;border-radius:6px;box-shadow:0 18px 36px rgba(0,0,0,.28)}
.hero-float-right{right:22px;top:22px;width:138px;padding:10px 12px 9px}
.float-kicker{display:block;font-size:7px;letter-spacing:.18em;color:#8b8b87;margin-bottom:7px;font-weight:700}.hero-caption{display:flex;align-items:flex-start;gap:10px;margin:14px 4px 0;color:#777770;font-size:11px;line-height:1.55}.hero-caption span{width:6px;height:6px;border-radius:50%;background:var(--red);margin-top:6px;flex:none}.hero-caption p{margin:0}.hero-caption strong{color:#3f3f3b;font-weight:700}
.float-option{display:flex;align-items:center;gap:7px;color:#8b8b87;font-size:9px;padding:5px 0}.float-option i{width:8px;height:8px;border-radius:50%;border:1px solid #7b7b77}.float-option.active{color:#fff}.float-option.active i{border-color:var(--red);background:var(--red);box-shadow:0 0 0 4px rgba(248,0,0,.12)}
.contact-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.linkedin-link{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:13px 16px;font-size:12px;font-weight:700;color:#fff;background:rgba(255,255,255,.04)}.linkedin-link svg{width:16px;height:16px}.linkedin-link:hover{transform:translateY(-2px)}
.footer-social{display:flex;justify-content:center}.footer-linkedin{padding:10px 14px;font-size:11px;background:transparent;border-color:#2c2c2c;color:#ddd}
.viewer-shell{background:#101010;border-radius:7px;box-shadow:0 35px 80px rgba(8,8,8,.22);color:#fff;overflow:hidden;min-height:485px;transform:perspective(1200px) rotateY(-2deg) rotateX(1deg);transform-origin:center;position:relative}
.viewer-topbar{height:50px;border-bottom:1px solid #292929;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:10px}.viewer-brand{display:flex;align-items:center;gap:9px}.viewer-mark{width:22px;height:22px;background:#fff;color:#111;display:grid;place-items:center;font-weight:800}.viewer-status{font-size:8px;letter-spacing:.12em;color:#777;display:flex;align-items:center;gap:7px}.viewer-status i{width:6px;height:6px;border-radius:50%;background:#40d56b}
.viewer-main{display:grid;grid-template-columns:1fr 145px;min-height:380px}.viewer-scene{position:relative;overflow:hidden;background:linear-gradient(160deg,#222 0%,#141414 65%,#1b1b1b 100%)}
.scene-grid{position:absolute;inset:-20%;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:32px 32px;transform:rotate(-16deg) scale(1.2)}
.building{position:absolute;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.025);box-shadow:inset 0 0 0 10px rgba(255,255,255,.015)}
.building:before,.building:after{content:"";position:absolute;background:rgba(255,255,255,.1)}.building:before{height:1px;left:0;right:0;top:35%}.building:after{width:1px;top:0;bottom:0;left:42%}
.building-a{width:57%;height:48%;left:10%;top:20%;transform:skewY(-4deg)}.building-b{width:29%;height:30%;right:8%;bottom:12%;transform:skewY(7deg)}
.building span{position:absolute;border:1px solid rgba(255,255,255,.08);width:18%;height:20%;background:#0d0d0d}.building span:nth-child(1){left:8%;top:10%}.building span:nth-child(2){left:51%;top:10%}.building span:nth-child(3){left:9%;bottom:9%}.building span:nth-child(4){right:8%;bottom:9%}
.walk-path .pin{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid #202020;box-shadow:0 0 0 1px rgba(255,255,255,.5)}.walk-path .pin.active{background:var(--red);box-shadow:0 0 0 4px rgba(248,0,0,.16),0 0 0 1px #fff}.pin-1{left:20%;top:55%}.pin-2{left:39%;top:47%}.pin-3{left:59%;top:57%}.pin-4{left:73%;top:70%}
.path-line{position:absolute;height:1px;background:rgba(248,0,0,.55);transform-origin:left}.p1{left:22%;top:56%;width:19%;transform:rotate(-12deg)}.p2{left:41%;top:49%;width:20%;transform:rotate(14deg)}.p3{left:61%;top:59%;width:16%;transform:rotate(18deg)}
.scene-label{position:absolute;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.12);font-size:8px;letter-spacing:.12em;padding:8px 10px;border-radius:2px}.label-360{top:16px;left:16px}.label-360 span{color:var(--red)}.label-date{left:16px;bottom:15px;color:#aaa}
.viewer-panel{border-left:1px solid #292929;background:#0c0c0c;padding:24px 17px}.panel-kicker{display:block;color:#5e5e5e;font-size:7px;letter-spacing:.16em;margin-bottom:8px}.viewer-panel>strong{font-size:13px}.progress-row{margin-top:19px;color:#696969;font-size:8px}.progress-row span{display:block;margin-bottom:6px}.progress-row em{display:block;height:2px;background:#252525;position:relative}.progress-row em:before{content:"";position:absolute;left:0;top:0;bottom:0;width:45%;background:#4d4d4d}.progress-row.current{color:#fff}.progress-row.current em:before{width:75%;background:var(--red)}.panel-divider{height:1px;background:#222;margin:27px 0}.panel-option{display:flex;align-items:center;gap:8px;color:#777;font-size:9px;padding:7px 0}.panel-option i{width:7px;height:7px;border:1px solid #777;border-radius:50%}.panel-option.active{color:white}.panel-option.active i{border-color:var(--red);background:var(--red)}
.viewer-bottom{height:54px;border-top:1px solid #292929;display:flex;align-items:center;gap:14px;padding:0 19px;color:#575757}.timeline{display:flex;align-items:center;gap:0;flex:1;position:relative}.timeline:before{content:"";height:1px;background:#3c3c3c;left:0;right:0;position:absolute}.timeline i,.timeline b{z-index:1;width:8px;height:8px;border-radius:50%;background:#555;margin-right:19%;border:2px solid #111}.timeline i.selected{background:var(--red);box-shadow:0 0 0 3px rgba(248,0,0,.15)}
.section{padding:clamp(90px,12vw,165px) 0}.section-head{display:grid;grid-template-columns:1fr 2.2fr;gap:30px;align-items:start;margin-bottom:70px}.section-number{color:var(--red);font-size:11px;font-weight:800;margin-right:16px}.section-kicker{font-size:10px;letter-spacing:.17em;font-weight:700;color:#8a8a84}.section-head h2{font-size:clamp(40px,5vw,68px)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:36px 32px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:480px;position:relative;transition:.25s;background:rgba(255,255,255,.15)}.service-card:hover{background:#fff}.service-index{position:absolute;right:28px;top:27px;font-size:10px;color:#999}.service-icon{height:92px;margin-bottom:55px;position:relative;display:flex;align-items:center}.icon-360 span{font-size:34px;font-weight:700;letter-spacing:-.05em}.icon-drone span{font-size:45px;font-weight:300}.icon-drone i{width:68px;height:1px;background:#111;position:absolute;left:0}.icon-drone:before,.icon-drone:after{content:"";position:absolute;width:1px;height:68px;background:#111;left:33px}.icon-time span{width:55px;height:55px;border:1px solid #111;border-radius:50%}.icon-time span:before{content:"";position:absolute;width:1px;height:18px;background:#111;left:27px;top:18px}.icon-time span:after{content:"";position:absolute;height:1px;width:15px;background:#111;left:27px;top:36px;transform:rotate(25deg);transform-origin:left}.service-card h3{font-size:20px;line-height:1.25;margin:0 0 18px}.service-card p{font-size:14px;line-height:1.75;color:#6d6d68}.service-card ul{list-style:none;padding:18px 0 0;margin:0;border-top:1px solid #e5e5df}.service-card li{font-size:11px;padding:6px 0;color:#70706b}.service-card li:before{content:"+";color:var(--red);margin-right:10px;font-weight:800}
.dark-section{background:var(--ink);color:white;padding:clamp(90px,12vw,155px) 0}.value-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(60px,10vw,150px)}.value-copy h2{font-size:clamp(46px,6vw,78px)}.value-copy p{max-width:610px;color:#a5a5a0;line-height:1.8;font-size:16px;margin-top:32px}.value-item{display:grid;grid-template-columns:48px 1fr;gap:18px;border-top:1px solid #2b2b2b;padding:28px 0}.value-item:last-child{border-bottom:1px solid #2b2b2b}.value-item>span{font-size:10px;color:var(--red);font-weight:700}.value-item h3{font-size:18px;margin:0 0 9px}.value-item p{font-size:13px;line-height:1.7;color:#8b8b87;margin:0}
.process-line{height:1px;background:#d5d5cf;position:relative;margin:0 0 -1px}.process-line span{position:absolute;height:1px;background:var(--red);width:33%;left:0}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr)}.process-step{padding:34px 36px 0 0;min-height:280px}.step-no{width:27px;height:27px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;font-size:8px;margin-bottom:42px}.process-step h3{font-size:25px;margin:0 0 16px}.process-step p{font-size:14px;line-height:1.75;color:#6e6e69;max-width:330px}
.proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0}.proof-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8b8b85;font-size:9px;font-weight:700;letter-spacing:.13em}.proof-inner i{width:4px;height:4px;border-radius:50%;background:var(--red)}
.contact-section{background:var(--ink);color:white;padding:clamp(80px,11vw,140px) 0}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}.contact-symbol img{width:min(360px,75%);margin:auto}.contact-copy h2{font-size:clamp(42px,5vw,69px);max-width:850px}.contact-copy p{color:#a2a29e;font-size:16px;line-height:1.7;margin:28px 0}.contact-copy small{display:block;color:#666;margin-top:15px;font-size:10px;line-height:1.5}.site-footer{background:var(--ink);color:white;border-top:1px solid #242424;padding:30px 0}.footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;gap:18px}.brand-footer .brand-symbol{width:30px;height:30px}.footer-inner p{font-size:9px;letter-spacing:.08em;color:#70706c;margin:0}.footer-inner p:nth-child(2){text-align:center}.footer-inner p:last-child{text-align:right}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-browser{transform:none}.hero-float-right{right:16px;top:16px}.section-head{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.value-grid,.contact-grid{grid-template-columns:1fr}.contact-symbol img{width:180px;margin:0}.process-grid{grid-template-columns:1fr}.process-line{display:none}.process-step{border-top:1px solid var(--line);min-height:auto;padding:28px 0 45px}.nav-links{position:absolute;left:0;right:0;top:78px;background:var(--paper);display:none;flex-direction:column;align-items:stretch;padding:20px var(--pad) 28px;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-btn{display:block}.proof-inner{flex-wrap:wrap;justify-content:center}.footer-inner{grid-template-columns:1fr;gap:20px}.footer-inner p,.footer-inner p:nth-child(2),.footer-inner p:last-child{text-align:left}.footer-social{justify-content:flex-start}}
@media(max-width:620px){.nav-wrap{height:68px}.site-header .brand-symbol{width:31px}.site-header{height:68px}.hero{padding-top:68px}.hero-grid{padding-top:66px}.hero h1{font-size:48px}.hero-image-frame{padding:10px}.hero-float-right{display:none}.hero-caption{margin:12px 2px 0;font-size:11px}.section{padding:90px 0}.service-card{padding:30px 24px}.value-copy h2,.section-head h2,.contact-copy h2{font-size:41px}.hero-actions,.contact-actions{display:grid}.btn,.linkedin-link{width:100%}.contact-symbol{display:none}.proof-inner{gap:12px}.proof-inner i{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}

/* Accessibility polish */
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
