
:root{
 --bg:#040a12;--bg2:#071321;--bg3:#0b1a2b;--panel:#0b1725;--white:#fff;
 --text:#dbe7f3;--muted:#8ea1b5;--ink:#0b1420;--blue:#1479ff;--blue2:#3ba7ff;
 --cyan:#70dbff;--paper:#f7f9fb;--line:rgba(255,255,255,.09);--lightline:#e0e7ee;
 --radius:14px;--shadow:0 26px 70px rgba(0,0,0,.3)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(1200px,calc(100% - 40px));margin:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:999;background:#fff;color:#000;padding:10px 14px;border-radius:8px}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:linear-gradient(180deg,rgba(3,8,14,.95),rgba(3,8,14,.75));backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav-shell{width:min(1280px,calc(100% - 36px));height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:950;letter-spacing:.055em}.brand-mark{position:relative;width:36px;height:28px}.brand-mark:before,.brand-mark:after{content:"";position:absolute;left:0;height:4px;background:linear-gradient(90deg,var(--blue),var(--blue2));transform:skewX(-28deg);border-radius:10px;box-shadow:0 0 16px rgba(55,164,255,.25)}.brand-mark:before{top:4px;width:32px}.brand-mark:after{top:15px;left:7px;width:23px}
.nav{display:flex;align-items:center;gap:25px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;color:#d7e3ef}.nav a:not(.btn){position:relative;padding:30px 0}.nav a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:linear-gradient(90deg,var(--blue),var(--blue2));transition:.2s}.nav a:not(.btn):hover:after{right:0}.menu-btn{display:none;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;border-radius:8px;padding:9px 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.06);border-radius:6px;background:linear-gradient(135deg,#0f6cff,#1889ff);color:#fff;font-size:13px;font-weight:900;letter-spacing:.025em;box-shadow:0 14px 34px rgba(20,121,255,.27),inset 0 1px 0 rgba(255,255,255,.18);transition:.2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 18px 42px rgba(20,121,255,.36)}.btn-nav{min-height:40px;padding:0 16px;font-size:10px}.btn-outline{background:rgba(3,9,16,.45);border-color:rgba(255,255,255,.3);box-shadow:none}.btn-light{background:#fff;color:#07111d;box-shadow:none}
.eyebrow{display:block;margin-bottom:15px;color:#4ca7ff;text-transform:uppercase;font-size:10px;font-weight:950;letter-spacing:.2em}
.hero{position:relative;min-height:760px;overflow:hidden;background:radial-gradient(circle at 73% 27%,rgba(26,122,255,.22),transparent 25%),radial-gradient(circle at 82% 60%,rgba(25,79,143,.24),transparent 28%),linear-gradient(180deg,#07111f 0%,#07111d 54%,#040a12 100%)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,14,.98) 0%,rgba(4,11,19,.88) 34%,rgba(4,11,19,.18) 69%,rgba(3,8,14,.57) 100%);z-index:1}.hero-city{position:absolute;left:-5%;right:-5%;bottom:0;height:44%;opacity:.78;background:radial-gradient(circle at 15% 67%,rgba(255,178,73,.52) 0 1px,transparent 2px),radial-gradient(circle at 36% 69%,rgba(255,178,73,.44) 0 1px,transparent 2px),radial-gradient(circle at 72% 72%,rgba(255,178,73,.37) 0 1px,transparent 2px),linear-gradient(171deg,transparent 48%,rgba(61,93,122,.38) 49% 50%,transparent 51%),linear-gradient(7deg,transparent 59%,rgba(57,94,129,.28) 60% 61%,transparent 62%);background-size:39px 35px,52px 45px,55px 48px,100% 100%,100% 100%}.hero-inner{position:relative;z-index:3;min-height:665px;padding-top:88px;display:flex;align-items:center}.hero-copy{width:min(690px,60%)}h1,h2,h3,p{margin-top:0}.hero h1,.page-hero h1{margin:0 0 24px;color:#fff;font-size:clamp(50px,5.8vw,84px);line-height:.94;letter-spacing:-.055em}.hero h1{text-transform:uppercase}.hero-lead,.page-lead{max-width:650px;margin-bottom:30px;color:#bdcad7;font-size:18px;line-height:1.72}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.drone{position:absolute;z-index:2;width:350px;height:250px;left:70%;top:39%;transform:translate(-50%,-50%) rotate(-6deg);filter:drop-shadow(0 30px 35px rgba(0,0,0,.6))}.drone .body{position:absolute;left:116px;top:90px;width:118px;height:62px;border-radius:22px;background:linear-gradient(180deg,#475567,#17212d 65%,#0e151f);border:1px solid #5f6e80}.drone .body:after{content:"";position:absolute;right:13px;top:14px;width:7px;height:16px;background:#74ff78;border-radius:5px;box-shadow:0 0 12px rgba(116,255,120,.9)}.drone .camera{position:absolute;left:153px;top:146px;width:46px;height:42px;border-radius:9px;background:#111a24;border:3px solid #566577}.drone .camera:after{content:"";position:absolute;left:10px;top:8px;width:17px;height:17px;border:3px solid #1598ff;border-radius:50%;background:#06101b}.arm{position:absolute;top:111px;width:128px;height:10px;background:#3d4858;border-radius:10px}.a1{left:10px;transform:rotate(22deg)}.a2{left:10px;transform:rotate(-22deg)}.a3{right:4px;transform:rotate(22deg)}.a4{right:4px;transform:rotate(-22deg)}.rotor{position:absolute;width:112px;height:8px;background:rgba(94,165,228,.25);border-radius:50%;box-shadow:0 0 24px rgba(57,161,255,.16)}.r1{left:-33px;top:55px}.r2{left:-33px;bottom:56px}.r3{right:-33px;top:55px}.r4{right:-33px;bottom:56px}
.hero-benefits{position:absolute;z-index:5;left:0;right:0;bottom:0;border-top:1px solid rgba(255,255,255,.08);background:rgba(4,10,18,.88);backdrop-filter:blur(18px)}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr)}.benefit{min-height:98px;padding:23px 25px;display:flex;gap:13px;align-items:center;border-right:1px solid rgba(255,255,255,.08)}.benefit:last-child{border-right:0}.icon{flex:0 0 auto;width:37px;height:37px;display:grid;place-items:center;border:1px solid rgba(55,164,255,.45);color:#4faaff;border-radius:50%;font-size:10px;font-weight:950}.benefit b,.benefit small{display:block}.benefit b{color:#fff;font-size:13px}.benefit small{margin-top:4px;color:#71859a;font-size:11px;line-height:1.45}
.section{padding:105px 0}.dark{background:#050b14}.alt-dark{background:#081321}.light{background:var(--paper);color:var(--ink)}.white{background:#fff;color:var(--ink)}
.section-head{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:60px;align-items:end;margin-bottom:44px}.section-head h2,.feature-copy h2,.about-grid h2,.process h2,.contact h2{margin:0;color:#fff;font-size:clamp(38px,4.1vw,58px);line-height:1;letter-spacing:-.045em}.light .section-head h2,.white .section-head h2,.about-grid h2{color:var(--ink)}.section-head p{margin:0;color:#718398;line-height:1.72}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service{min-height:315px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:linear-gradient(180deg,#0d1826,#09121d);box-shadow:0 16px 34px rgba(0,0,0,.22);transition:.22s}.service:hover{transform:translateY(-5px);border-color:rgba(55,164,255,.4);box-shadow:0 24px 48px rgba(0,0,0,.3)}.service-visual{height:145px;position:relative;overflow:hidden}.service-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(5,11,20,.88) 100%)}.thermal{background:radial-gradient(circle at 68% 44%,#fff98a 0 4%,#ff6b33 8%,#7e1da0 18%,transparent 31%),radial-gradient(circle at 28% 55%,#ffe955 0 5%,#ff6139 10%,#53168c 24%,transparent 34%),linear-gradient(135deg,#171751,#401470 50%,#101430)}.inspect{background:linear-gradient(145deg,#798797 0 28%,#d06b4f 29% 57%,#8793a0 58% 68%,#31404b 69%)}.besiktning{background:repeating-linear-gradient(90deg,transparent 0 36px,rgba(255,255,255,.06) 37px),linear-gradient(155deg,#46586a,#26394a 42%,#a57756 43% 55%,#344653 56%)}.after{background:linear-gradient(26deg,#233a4b 0 35%,#70818e 36% 49%,#405361 50% 68%,#192a38 69%)}.fault{background:radial-gradient(circle at 68% 35%,rgba(255,86,73,.95) 0 3%,transparent 4%),radial-gradient(circle at 43% 62%,rgba(255,185,67,.9) 0 4%,transparent 5%),linear-gradient(145deg,#152537,#394b5b 47%,#1a2936)}.search{background:radial-gradient(circle at 38% 60%,rgba(93,206,255,.45) 0 4%,transparent 5%),linear-gradient(160deg,#23455c,#5f806f 50%,#1d3341)}.identify{background:linear-gradient(0deg,rgba(5,13,22,.55),rgba(5,13,22,.55)),repeating-linear-gradient(90deg,#19374b 0 25px,#234c65 26px 28px)}.special{background:radial-gradient(circle at 100% 0,rgba(20,121,255,.35),transparent 35%),linear-gradient(145deg,#0d1d36,#09131e)}.service-number{position:absolute;z-index:3;left:15px;bottom:12px;width:34px;height:34px;border:1px solid rgba(56,165,255,.45);background:rgba(4,11,19,.82);color:#55aaff;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900}.service-body{padding:21px}.service-body h3{margin:0 0 9px;color:#fff;font-size:19px}.service-body p{margin:0;color:#8194a7;font-size:13px;line-height:1.65}.service-body a:not(.btn){display:inline-block;margin-top:16px;color:#3b9dff;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.stats{border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:#0a1726}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:31px 24px;text-align:center;border-right:1px solid rgba(255,255,255,.07)}.stat:last-child{border-right:0}.stat strong{display:block;color:#fff;font-size:20px;margin-bottom:7px}.stat span{display:block;color:#72869b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.industry-grid,.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.industry,.info-card{min-height:190px;padding:28px;background:#fff;border:1px solid #e2e8ee;border-radius:12px;box-shadow:0 12px 30px rgba(16,31,48,.04)}.industry span,.info-card>span{color:#1479ff;font-size:10px;font-weight:950}.industry h3,.info-card h3{margin:34px 0 10px;font-size:20px}.industry p,.info-card p{margin:0;color:#67798b;font-size:14px;line-height:1.7}
.feature-grid,.about-grid,.contact-grid,.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.feature-visual{min-height:500px;position:relative;overflow:hidden;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(120deg,rgba(18,46,72,.74),rgba(3,13,22,.9)),repeating-linear-gradient(0deg,transparent 0 34px,rgba(64,144,211,.09) 35px),repeating-linear-gradient(90deg,transparent 0 34px,rgba(64,144,211,.09) 35px)}.feature-visual:before{content:"";position:absolute;inset:13% -2% -11% 19%;background:linear-gradient(130deg,#314a5f,#18293a);transform:skewY(-7deg);box-shadow:0 0 0 1px rgba(255,255,255,.07)}.scan-line{position:absolute;z-index:3;left:-10%;right:-10%;top:48%;height:1px;background:#2aa3ff;box-shadow:0 0 14px #2aa3ff}.target{position:absolute;z-index:3;width:40px;height:40px;border:1px solid #2fa8ff;border-radius:50%}.target:after{content:"";position:absolute;inset:8px;border:1px solid rgba(47,168,255,.45);border-radius:50%}.t1{left:28%;top:30%}.t2{right:20%;top:43%}.t3{left:52%;bottom:17%}.feature-copy p{color:#9db0c2;font-size:17px;line-height:1.75}.check-list{list-style:none;padding:0;margin:28px 0 0;columns:2;gap:24px}.check-list li{padding:11px 0;border-top:1px solid rgba(255,255,255,.09);color:#cbd8e4;font-size:14px}.check-list li:before{content:"✓";color:#3b9eff;margin-right:10px;font-weight:950}
.about-grid{align-items:start}.about-grid p{color:#657789;line-height:1.75}.lead-dark{font-size:19px;color:#35485b!important}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:13px}.about-card{min-height:165px;padding:26px;border:1px solid #e1e7ec;border-radius:12px;background:#fff}.about-card b{display:block;color:#1479ff;font-size:11px;margin-bottom:32px}.about-card strong{display:block;font-size:15px;margin-bottom:8px}.about-card small{display:block;color:#758697;line-height:1.55}
.process{background:#050b14}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-top:1px solid rgba(255,255,255,.1)}.step{padding:28px 28px 0 0}.step span{color:#258fff;font-size:10px;font-weight:950}.step h3{margin:38px 0 10px;color:#fff;font-size:19px}.step p{margin:0;color:#7d90a5;font-size:14px;line-height:1.7}
.contact{background:linear-gradient(140deg,#0b1b31,#07111f 64%,#06101d)}.contact-grid{align-items:start}.contact p{color:#9eb0c2;font-size:17px;line-height:1.7}.contact-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.contact-list span{padding:13px 14px;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:#bdd0e1;font-size:13px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:28px;background:#fff;border-radius:10px;box-shadow:var(--shadow);color:#172433}.field label{display:block;margin-bottom:7px;color:#536579;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.field input,.field textarea,.field select{width:100%;border:1px solid #d7dfe7;border-radius:6px;background:#f9fbfc;padding:14px 13px;outline:none;color:#152232}.field input:focus,.field textarea:focus,.field select:focus{border-color:#318fff;box-shadow:0 0 0 3px rgba(49,143,255,.12)}.full{grid-column:1/-1}.form-note{color:#6d7f91;line-height:1.5}.hp{position:absolute!important;left:-9999px!important}
.page-hero{position:relative;padding:180px 0 95px;background:radial-gradient(circle at 78% 25%,rgba(20,121,255,.25),transparent 28%),linear-gradient(160deg,#07111f,#09182a 60%,#050b14);overflow:hidden}.page-hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 68px,rgba(69,153,232,.035) 69px),repeating-linear-gradient(0deg,transparent 0 68px,rgba(69,153,232,.035) 69px);pointer-events:none}.page-hero .wrap{position:relative;z-index:2}.breadcrumbs{margin-bottom:30px;color:#7890a8;font-size:12px}.breadcrumbs a{color:#4ea7ff}.page-hero h1{max-width:870px}.page-lead{max-width:790px}.subnav{background:#0a1726;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}.subnav .wrap{display:flex;gap:25px;overflow:auto;padding-top:17px;padding-bottom:17px;color:#9aafc4;font-size:12px;white-space:nowrap}.subnav a:hover{color:#fff}
.content{font-size:16px;line-height:1.82}.content h2{font-size:36px;line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}.content h3{font-size:22px;margin:35px 0 10px}.content p{color:#5e7185}.content ul{padding-left:19px;color:#5e7185}.content li{margin:8px 0}.aside-box{padding:28px;border:1px solid #dfe6ed;border-radius:12px;background:#fff;box-shadow:0 14px 35px rgba(16,31,48,.05)}.aside-box h3{margin-top:0}.aside-box p{color:#65788b;line-height:1.7}.aside-links{display:flex;flex-direction:column;gap:10px}.aside-links a{padding:12px 0;border-top:1px solid #e6ebef;color:#176fd4;font-size:14px}
.faq{max-width:900px;margin:auto}.faq details{border-top:1px solid #dce4ea;padding:21px 0}.faq details:last-child{border-bottom:1px solid #dce4ea}.faq summary{cursor:pointer;font-weight:850;color:#172332}.faq p{margin:13px 0 0;color:#64778a;line-height:1.7}
.cta{padding:75px 0;background:linear-gradient(115deg,#0d78ff,#31a9ff);color:#fff}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.04em}.cta p{margin:10px 0 0;color:#ddecff}
.footer{padding:50px 0 22px;background:#03070c;color:#798da2}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px}.footer-top p{line-height:1.65}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col b{color:#fff;margin-bottom:5px}.footer-col a{font-size:13px}.footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;font-size:12px}
.alert{margin:20px 0;padding:14px 16px;border-radius:8px}.alert.ok{background:#e9fff1;color:#0f6431;border:1px solid #aee4c0}.alert.err{background:#fff0f0;color:#872121;border:1px solid #efb8b8}
@media(max-width:1050px){.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#050b14;padding:22px;flex-direction:column;align-items:flex-start;border-top:1px solid rgba(255,255,255,.08)}.nav.open{display:flex}.nav a:not(.btn){padding:4px 0}.nav a:not(.btn):after{display:none}.menu-btn{display:block}.hero-copy{width:66%}.drone{left:75%;transform:translate(-50%,-50%) rotate(-6deg) scale(.84)}.services{grid-template-columns:repeat(2,1fr)}.industry-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.feature-grid,.about-grid,.contact-grid,.content-grid{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr 1fr}.benefit:nth-child(2){border-right:0}.benefit:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}.footer-top{grid-template-columns:1.4fr 1fr 1fr}}
@media(max-width:720px){.wrap{width:min(100% - 26px,1200px)}.section{padding:76px 0}.hero{min-height:835px}.hero-inner{align-items:flex-start;padding-top:145px}.hero-copy{width:100%}.hero h1,.page-hero h1{font-size:47px}.hero:before{background:linear-gradient(180deg,rgba(3,8,14,.92),rgba(3,8,14,.76) 56%,rgba(3,8,14,.93))}.drone{opacity:.26;left:65%;top:42%;transform:translate(-50%,-50%) rotate(-6deg) scale(.75)}.benefit-grid{grid-template-columns:1fr 1fr}.benefit{padding:16px 12px;min-height:85px}.benefit small{display:none}.section-head{grid-template-columns:1fr;gap:12px}.services,.industry-grid,.info-grid,.stats-grid,.process-grid,.about-points,.quote-form,.contact-list,.footer-top{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.check-list{columns:1}.full{grid-column:auto}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.footer-bottom,.cta .wrap{flex-direction:column;align-items:flex-start}.page-hero{padding:145px 0 75px}}


/* ===== Production refinements ===== */
:focus-visible{outline:3px solid #57b4ff;outline-offset:3px}
::selection{background:#1b7fff;color:#fff}
body{overflow-x:hidden}
main{min-height:60vh}
.nav a[aria-current="page"]{color:#fff}
.nav a[aria-current="page"]:after{right:0}
.page-hero .eyebrow{color:#62b6ff}
.page-hero .btn-outline{border-color:rgba(255,255,255,.38)}
.service-body h3 a{color:#fff}
.service-body h3 a:hover{color:#58adff}
.service-body p{min-height:66px}
.service{display:flex;flex-direction:column}
.service-body{display:flex;flex-direction:column;flex:1}
.service-body a:not(.btn){margin-top:auto;padding-top:16px}
.info-card{display:flex;flex-direction:column}
.info-card p:last-child{margin-top:auto;padding-top:16px}
.content-grid{align-items:start}
.aside-box{position:sticky;top:105px}
.prose-intro{font-size:19px!important;color:#34495d!important}
.key-points{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}
.key-point{padding:18px;border:1px solid #e1e8ee;border-radius:10px;background:#fbfcfd}
.key-point b{display:block;color:#0e6ed6;margin-bottom:6px}
.key-point span{color:#617487;font-size:14px;line-height:1.55}
.service-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.service-flow article{padding:22px;border:1px solid #e0e7ed;border-radius:10px;background:#fff}
.service-flow span{font-size:10px;font-weight:950;color:#1479ff}
.service-flow h3{font-size:18px;margin:24px 0 8px}
.service-flow p{color:#687b8e;font-size:13px;line-height:1.65;margin:0}
.notice{padding:18px 20px;border-left:3px solid #1479ff;background:#edf6ff;border-radius:0 8px 8px 0;color:#42576c;line-height:1.65}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.mini-cta{margin-top:30px;padding:24px;border-radius:12px;background:linear-gradient(135deg,#081a2e,#0b2440);color:#fff}
.mini-cta p{color:#a9bdd0;margin-bottom:18px}
.footer a:hover{color:#fff}
.meta-note{font-size:12px;color:#71859a}
@media(max-width:900px){.service-flow{grid-template-columns:1fr 1fr}.aside-box{position:static}}
@media(max-width:720px){.service-flow,.key-points{grid-template-columns:1fr}.service-body p{min-height:0}}


/* =========================================================
   SKYGRAPHIC — RESPONSIVE PRODUCTION LAYER
   Mobile-first safety refinements + tablet/laptop scaling
   ========================================================= */

/* Universal overflow protection */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
img, svg, video, canvas, iframe {
  max-width: 100%;
  height: auto;
}
input, textarea, select, button {
  max-width: 100%;
}
textarea {
  resize: vertical;
}
.wrap,
.nav-shell {
  min-width: 0;
}
.service,
.service-body,
.industry,
.info-card,
.about-card,
.aside-box,
.quote-form,
.field,
.contact-grid > *,
.content-grid > *,
.feature-grid > *,
.about-grid > * {
  min-width: 0;
}

/* Safer text wrapping */
h1,h2,h3,h4,h5,h6,p,a,span,small,li,label,summary {
  overflow-wrap: anywhere;
  word-break: normal;
}
.brand span:last-child {
  overflow-wrap: normal;
}

/* Fluid typography */
.hero h1,
.page-hero h1 {
  font-size: clamp(2.8rem, 6vw, 5.25rem);
}
.section-head h2,
.feature-copy h2,
.about-grid h2,
.process h2,
.contact h2 {
  font-size: clamp(2.2rem, 4.3vw, 3.65rem);
}
.hero-lead,
.page-lead {
  font-size: clamp(1rem, 1.6vw, 1.125rem);
}

/* Touch targets */
.nav a,
.btn,
.menu-btn,
.footer a,
.subnav a,
.aside-links a {
  min-height: 44px;
}
.btn,
.menu-btn {
  touch-action: manipulation;
}

/* Better grid collapsing */
.services,
.industry-grid,
.info-grid,
.stats-grid,
.process-grid,
.about-points,
.service-flow,
.key-points {
  min-width: 0;
}

/* Tablet landscape / smaller laptops */
@media (max-width: 1180px) {
  .wrap {
    width: min(100% - 32px, 1120px);
  }
  .nav-shell {
    width: min(100% - 28px, 1200px);
  }
  .nav {
    gap: 18px;
  }
  .hero-copy {
    width: min(690px, 63%);
  }
  .drone {
    left: 73%;
    transform: translate(-50%,-50%) rotate(-6deg) scale(.90);
  }
  .services {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .industry-grid,
  .info-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}

/* Tablet landscape / portrait */
@media (max-width: 1024px) {
  .site-header {
    position: fixed;
  }
  .nav-shell {
    height: 72px;
  }
  .menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .nav {
    display: none;
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    padding: 16px;
    background: rgba(5,11,20,.98);
    backdrop-filter: blur(20px);
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
  }
  .nav.open {
    display: flex;
  }
  .nav a:not(.btn) {
    padding: 12px 10px;
    width: 100%;
  }
  .nav .btn {
    width: 100%;
    margin-top: 6px;
  }
  .nav a:not(.btn):after {
    display: none;
  }

  .hero {
    min-height: 740px;
  }
  .hero-inner {
    min-height: 620px;
    padding-top: 82px;
  }
  .hero-copy {
    width: min(680px, 68%);
  }
  .drone {
    left: 76%;
    top: 40%;
    transform: translate(-50%,-50%) rotate(-6deg) scale(.78);
  }
  .benefit-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .benefit:nth-child(2) {
    border-right: 0;
  }
  .benefit:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .services {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .industry-grid,
  .info-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .feature-grid,
  .about-grid,
  .contact-grid,
  .content-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .aside-box {
    position: static;
  }

  .service-flow {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .footer-top {
    grid-template-columns: 1.4fr 1fr 1fr;
  }

  .page-hero {
    padding-top: 150px;
  }
}

/* iPad portrait / large phones */
@media (max-width: 820px) {
  .wrap {
    width: min(100% - 28px, 780px);
  }
  .nav-shell {
    width: min(100% - 24px, 790px);
  }

  .hero {
    min-height: 830px;
  }
  .hero:before {
    background:
      linear-gradient(180deg,
        rgba(3,8,14,.96) 0%,
        rgba(3,8,14,.86) 54%,
        rgba(3,8,14,.96) 100%);
  }
  .hero-inner {
    align-items: flex-start;
    padding-top: 138px;
    min-height: 620px;
  }
  .hero-copy {
    width: 100%;
    max-width: 700px;
  }
  .drone {
    opacity: .28;
    left: 67%;
    top: 43%;
    transform: translate(-50%,-50%) rotate(-6deg) scale(.70);
  }
  .hero-actions {
    align-items: stretch;
  }

  .section {
    padding: 82px 0;
  }
  .section-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .feature-visual {
    min-height: 390px;
  }

  .contact-grid {
    gap: 36px;
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 34px 26px;
  }

  .cta .wrap {
    align-items: flex-start;
  }
}

/* Phones */
@media (max-width: 640px) {
  .wrap {
    width: min(100% - 22px, 620px);
  }
  .nav-shell {
    width: min(100% - 18px, 620px);
    height: 68px;
  }
  .nav {
    top: 68px;
    max-height: calc(100vh - 68px);
  }

  .brand {
    font-size: 14px;
  }
  .brand-mark {
    width: 31px;
    height: 25px;
  }

  .hero {
    min-height: 860px;
  }
  .hero-inner {
    padding-top: 122px;
  }
  .hero h1,
  .page-hero h1 {
    font-size: clamp(2.45rem, 12vw, 3.4rem);
    line-height: .97;
  }
  .hero-lead,
  .page-lead {
    font-size: 1rem;
    line-height: 1.65;
  }
  .hero-actions {
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }
  .hero-actions .btn {
    width: 100%;
  }
  .drone {
    left: 62%;
    top: 42%;
    transform: translate(-50%,-50%) rotate(-6deg) scale(.56);
    opacity: .20;
  }

  .hero-benefits {
    background: rgba(4,10,18,.94);
  }
  .benefit-grid {
    grid-template-columns: 1fr 1fr;
  }
  .benefit {
    min-height: 82px;
    padding: 14px 10px;
    gap: 9px;
  }
  .benefit .icon {
    width: 31px;
    height: 31px;
    font-size: 9px;
  }
  .benefit b {
    font-size: 12px;
  }
  .benefit small {
    display: none;
  }

  .section {
    padding: 68px 0;
  }
  .section-head {
    margin-bottom: 30px;
  }
  .section-head h2,
  .feature-copy h2,
  .about-grid h2,
  .process h2,
  .contact h2 {
    font-size: clamp(2rem, 10vw, 2.7rem);
  }

  .services,
  .industry-grid,
  .info-grid,
  .stats-grid,
  .process-grid,
  .about-points,
  .service-flow,
  .key-points,
  .quote-form,
  .contact-list,
  .footer-top {
    grid-template-columns: 1fr;
  }

  .service {
    min-height: 0;
  }
  .service-visual {
    height: 190px;
  }
  .service-body p {
    min-height: 0;
  }

  .stat {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }
  .stat:last-child {
    border-bottom: 0;
  }

  .feature-visual {
    min-height: 310px;
  }
  .check-list {
    columns: 1;
  }

  .process-grid {
    border-top: 0;
  }
  .step {
    padding: 22px 0;
    border-top: 1px solid rgba(255,255,255,.1);
  }
  .step h3 {
    margin-top: 18px;
  }

  .quote-form {
    padding: 20px;
  }
  .full {
    grid-column: auto;
  }

  .page-hero {
    padding: 120px 0 62px;
  }
  .breadcrumbs {
    font-size: 11px;
    line-height: 1.5;
  }
  .subnav .wrap {
    padding-top: 12px;
    padding-bottom: 12px;
    gap: 18px;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .content {
    font-size: 15px;
    line-height: 1.75;
  }
  .content h2 {
    font-size: 2rem;
  }
  .content h3 {
    font-size: 1.35rem;
  }

  .cta {
    padding: 58px 0;
  }
  .cta .wrap {
    flex-direction: column;
    align-items: stretch;
  }
  .cta .btn {
    width: 100%;
  }

  .footer-top {
    gap: 30px;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Small phones */
@media (max-width: 430px) {
  .wrap {
    width: calc(100% - 18px);
  }
  .nav-shell {
    width: calc(100% - 14px);
  }
  .hero {
    min-height: 890px;
  }
  .hero-inner {
    padding-top: 110px;
  }
  .hero h1,
  .page-hero h1 {
    font-size: clamp(2.25rem, 11vw, 2.9rem);
  }
  .hero-lead,
  .page-lead {
    font-size: .96rem;
  }
  .benefit {
    padding: 12px 8px;
  }
  .benefit b {
    font-size: 11px;
  }
  .service-visual {
    height: 165px;
  }
  .quote-form {
    padding: 16px;
  }
  .field input,
  .field textarea,
  .field select {
    font-size: 16px; /* Prevent iOS zoom */
    padding: 13px 12px;
  }
  .btn {
    min-height: 48px;
  }
}

/* Very narrow phones */
@media (max-width: 360px) {
  .brand {
    gap: 7px;
    font-size: 13px;
  }
  .brand-mark {
    transform: scale(.9);
    transform-origin: left center;
  }
  .menu-btn {
    padding: 8px 10px;
  }
  .hero h1,
  .page-hero h1 {
    font-size: 2.15rem;
  }
  .benefit-grid {
    grid-template-columns: 1fr;
  }
  .benefit {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .benefit:last-child {
    border-bottom: 0;
  }
  .hero {
    min-height: 1030px;
  }
}

/* Large desktop */
@media (min-width: 1500px) {
  .wrap {
    width: min(1240px, calc(100% - 64px));
  }
  .nav-shell {
    width: min(1320px, calc(100% - 64px));
  }
  .hero-copy {
    width: 690px;
  }
}

/* Landscape phones: avoid oversized hero */
@media (max-height: 500px) and (orientation: landscape) and (max-width: 950px) {
  .site-header {
    position: absolute;
  }
  .hero {
    min-height: 720px;
  }
  .hero-inner {
    padding-top: 105px;
  }
  .hero-benefits {
    position: static;
  }
  .drone {
    opacity: .18;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* High contrast / forced colors */
@media (forced-colors: active) {
  .btn,
  .icon,
  .service,
  .industry,
  .info-card,
  .about-card,
  .aside-box {
    border: 1px solid CanvasText;
  }
}
