@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f5ef;--ink:#24372f;--muted:#727b72;--orange:#ed7440;--line:#d9ded4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}.wrap{max-width:1400px;width:calc(100% - 112px);margin:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.header{height:116px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:800;letter-spacing:1px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:3px}.brand-symbol{font-size:39px;position:relative;line-height:1;width:37px}.brand-symbol span{position:absolute;right:-2px;top:-10px;color:var(--orange);font-size:28px}nav{display:flex;gap:32px;font-size:12px;font-weight:600}nav a:hover{color:var(--orange)}.header-cta{font-size:12px;font-weight:700;border-bottom:1px solid #a4aea2;padding:12px 0}.header-cta span{margin-left:30px;font-size:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.06fr;min-height:630px;padding-top:25px;padding-bottom:45px;gap:25px}.hero-copy{padding-top:30px}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:800;display:flex;gap:9px;align-items:center;margin:0 0 30px}.status-dot{width:6px;height:6px;background:var(--orange);border-radius:50%}h1{font-size:clamp(43px,4.5vw,69px);line-height:1.13;letter-spacing:-3px;margin:0 0 27px;font-weight:500}em{font-style:normal;color:var(--orange)}.hero-description{font-size:14px;line-height:1.8;color:#6d786e;margin-bottom:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:12px;font-weight:700;padding:19px 23px;border:0;transition:background .2s,transform .2s}.button span{font-size:21px;line-height:1}.primary{background:var(--orange);color:#172c23}.primary:hover{background:#fa8b58;transform:translateY(-2px)}.hero-bottom{display:flex;align-items:center;gap:17px;margin-top:41px}.tiny-cross{font-size:29px;font-weight:400;color:#8b988a}.hero-bottom p{font-size:10px;line-height:1.7;color:var(--muted)}.hero-art{background:#253e34;position:relative;overflow:hidden;min-height:555px;background-image:radial-gradient(ellipse at 60% 40%,#466052 0,transparent 68%);color:#d0dace}.art-top{position:absolute;top:25px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;z-index:1}.art-live{color:#a9b9ab}.art-live i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#ed7440;margin-right:7px}.building{position:absolute;width:112%;height:100%;left:-6%;top:-7px}.art-caption{position:absolute;bottom:23px;left:25px;right:25px;display:flex;align-items:center;gap:12px}.plus-circle{border:1px solid #697f6c;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:20px}.art-caption p{font-size:10px;line-height:1.7;margin:0;color:#a9b9ab}.art-caption strong{font-weight:500;color:#e2e9dc}.art-number{margin-left:auto;font-size:9px;letter-spacing:2px;color:#a9b9ab}.scope-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.scope-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:21px 0}.scope-strip span{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.scope-strip p{margin:0;display:flex;gap:35px;align-items:center;font-size:12px}.scope-strip b{font-size:20px;color:var(--orange);font-weight:400}.section{padding-top:87px;padding-bottom:78px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:38px;font-weight:500;letter-spacing:-1.5px;line-height:1.23;margin:0}.section-description{font-size:12px;color:var(--muted);line-height:1.9;margin:0 0 2px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{background:transparent;border:1px solid var(--line);padding:25px 28px 24px;text-align:left;color:var(--ink);transition:transform .2s,background .2s}.service:hover{transform:translateY(-6px);background:#e9ede3}.service.featured{background:#e9ede3}.service-top{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.service-top span{font-size:21px;color:var(--ink)}.service svg{height:104px;width:180px;margin:17px 0 10px;fill:none;stroke:#64816b;stroke-width:1.4}.service.featured svg{stroke:#d87344}h3{font-size:20px;letter-spacing:-.5px;font-weight:600;margin:0 0 12px}.service p{font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 29px}.service-tag{font-size:8px;letter-spacing:1.2px;border-top:1px solid var(--line);display:block;padding-top:19px}.demo-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:20px}.approach{background:#263f34;color:#eff2e8}.approach-inner{padding-top:60px;padding-bottom:62px;display:grid;grid-template-columns:1.3fr 1fr;gap:90px}.approach .eyebrow{color:#b0beaa}.approach-inner>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#b7c4b5;margin:33px 0 23px}.text-link{font-size:11px;border-bottom:1px solid #657b67;padding-bottom:10px;display:flex;justify-content:space-between}.text-link span{color:var(--orange);font-size:19px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:42px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps span{font-size:11px;color:var(--orange)}.steps h3{font-size:17px;margin-top:28px}.steps p{font-size:12px;line-height:1.9;color:var(--muted);max-width:270px}.contact{background:#e8ebdf;display:flex;justify-content:space-between;align-items:center;padding:51px 50px}.contact .eyebrow{margin-bottom:20px}.contact h2{font-size:44px}.contact h2 span{color:var(--orange)}.contact p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:0}.contact-action small{display:block;font-size:10px;color:var(--muted);line-height:1.8;margin-top:16px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:37px;padding-bottom:35px}.footer-brand{font-size:18px;font-weight:800}footer p,footer>span{font-size:9px;color:var(--muted);line-height:1.8}footer>span{text-align:right}dialog{max-width:560px;width:calc(100% - 36px);border:0;background:var(--paper);color:var(--ink);padding:45px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#14261dcc;backdrop-filter:blur(5px)}.close-dialog{position:absolute;top:12px;right:17px;border:0;background:none;font-size:28px;color:var(--ink)}dialog h2{font-size:30px;margin-bottom:20px}dialog>p:not(.eyebrow){font-size:13px;line-height:1.8}dialog ul{padding-left:20px;font-size:13px;line-height:2}dialog .button{margin-top:12px}form label{display:block;font-size:11px;margin-top:18px}input,textarea{display:block;width:100%;border:1px solid #bec7b8;background:#fff9;padding:12px;margin-top:7px;border-radius:0;font-size:13px;color:var(--ink)}input:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:1px}#form-status{font-size:12px;line-height:1.6;color:#326640}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero{min-height:705px}.hero-copy{padding-top:55px}.hero-art{min-height:630px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header{gap:18px}nav{gap:18px;font-size:11px}.header-cta{font-size:10px}.header-cta span{margin-left:12px}.hero{gap:20px;min-height:550px}.hero-art{min-height:500px}h1{font-size:48px}.hero-copy{padding-top:20px}.hero .eyebrow{font-size:7px;letter-spacing:1.3px}.hero-description{font-size:12px}.hero-bottom{margin-top:24px}.scope-strip p{gap:18px;font-size:10px}.service{padding:20px}.service h3{font-size:18px}.service p{font-size:11px}.approach-inner{gap:40px}h2{font-size:32px}.contact h2{font-size:38px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:90px;position:relative}.brand{font-size:21px}.brand small{font-size:6px}.brand-symbol{font-size:32px}.header-cta{margin-left:auto;font-size:10px}.header-cta span{margin-left:7px}.menu-toggle{display:block;border:0;background:transparent;font-size:22px;color:var(--ink);padding:8px 0 8px 8px}nav{display:none;position:absolute;z-index:5;top:77px;left:0;right:0;background:var(--paper);border:1px solid var(--line);padding:25px;box-shadow:0 10px 20px #20392812;font-size:14px}nav.open{display:flex;flex-direction:column;gap:24px}.hero{grid-template-columns:1fr;padding-top:6px;padding-bottom:28px;gap:28px}.hero-copy{padding-top:15px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:26px}h1{font-size:clamp(43px,10vw,64px);letter-spacing:-2px;line-height:1.1;margin-bottom:23px}.hero-description{font-size:13px;margin-bottom:23px}.hero-bottom{display:none}.hero-art{min-height:390px}.building{width:105%;left:-2.5%;top:0}.art-top{left:18px;right:18px;top:19px;font-size:7px}.art-caption{left:18px;right:18px;bottom:18px}.scope-strip .wrap{align-items:flex-start;flex-direction:column;gap:14px;padding:20px 0}.scope-strip p{font-size:9px;gap:12px;width:100%;justify-content:space-between}.scope-strip b{font-size:14px}.section{padding-top:53px;padding-bottom:43px}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:25px}h2{font-size:31px}.section-description{font-size:12px}.service-grid{grid-template-columns:1fr;gap:12px}.service{position:relative;padding:22px;min-height:225px}.service svg{position:absolute;right:19px;top:50px;width:105px;height:90px;margin:0}.service h3{margin-top:33px;font-size:22px}.service p{font-size:11px;max-width:70%;margin-bottom:22px}.service-tag{font-size:7px}.demo-note{font-size:9px}.approach-inner{grid-template-columns:1fr;gap:0;padding-top:40px;padding-bottom:40px}.approach-inner>div>p:not(.eyebrow){margin-top:23px;font-size:13px}.steps{grid-template-columns:1fr;gap:22px;margin-top:28px}.steps h3{margin-top:17px}.steps p{max-width:100%}.contact{padding:30px 25px;display:block}.contact h2{font-size:33px}.contact-action{margin-top:25px}.contact-action .button{width:100%}footer{flex-wrap:wrap;padding-top:27px;padding-bottom:25px}footer p{margin-left:auto;font-size:8px}footer>span{width:100%;text-align:left;font-size:8px}dialog{padding:36px 25px}dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

@media(max-width:700px){.service svg{position:static;display:block;width:120px;height:75px;margin:10px 0 16px}.service h3{margin-top:0}.service p{max-width:100%}}

/* Phone layout: comfortable reading, touch targets and safe areas. */
@media(max-width:700px){
 html{scroll-padding-top:92px}
 .header{position:sticky;top:0;z-index:20;height:76px;background:var(--paper);width:100%;padding:0 20px;border-bottom:1px solid var(--line);gap:12px}
 .header-cta{display:none}
 .menu-toggle{margin-left:auto;width:48px;height:48px;padding:0;border:1px solid var(--line);display:grid;place-items:center;font-size:24px}
 nav{top:75px;left:0;right:0;padding:16px 20px;gap:0!important;border-width:0 0 1px;max-height:calc(100dvh - 76px);overflow:auto}
 nav a{display:flex;align-items:center;min-height:52px;font-size:16px;border-bottom:1px solid var(--line)}
 nav a:last-child{border-bottom:0}
 .hero{padding-top:22px;gap:25px}.hero-copy{padding-top:0}
 h1{font-size:clamp(35px,10.3vw,62px);letter-spacing:-1.8px}
 .hero .eyebrow{font-size:8px;letter-spacing:.9px;line-height:1.8}
 .hero-description{font-size:15px;line-height:1.75}.desktop-break{display:none}
 .button{min-height:56px;font-size:14px;padding:17px 20px}.hero-copy>.button{width:100%}
 .hero-art{min-height:0;height:clamp(330px,105vw,490px)}
 .scope-strip p{flex-wrap:wrap;justify-content:flex-start;gap:10px;font-size:11px;line-height:1.8}
 h2{font-size:clamp(27px,7.5vw,36px)}
 .section-description,.service p,.steps p,.contact p:not(.eyebrow){font-size:14px;line-height:1.8}
 .service{padding:23px;min-height:0}.service svg{height:70px;margin:5px 0 18px}.service h3{font-size:23px}.service-tag{font-size:9px;line-height:1.7}
 .service p br{display:none}.service:hover{transform:none}
 .demo-note{font-size:11px}.approach-inner>div>p:not(.eyebrow){font-size:15px}.text-link{font-size:14px;min-height:48px;align-items:center}
 .steps h3{font-size:20px}.steps span{font-size:12px}
 .contact h2{font-size:clamp(28px,8vw,38px)}.contact-action small{font-size:12px}
 footer{padding-bottom:max(25px,env(safe-area-inset-bottom));gap:15px}footer p{width:100%;margin:0;font-size:12px}footer>span{font-size:10px}
 dialog{width:100%;max-width:100%;max-height:calc(100dvh - 16px);margin:auto 0 0;padding:48px 24px max(24px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overscroll-behavior:contain}
 .close-dialog{top:8px;right:12px;width:44px;height:44px}dialog .eyebrow{margin-bottom:20px}dialog>p:not(.eyebrow),dialog ul{font-size:14px}dialog .button{width:100%}form label{font-size:13px}input,textarea{font-size:16px;min-height:48px}textarea{resize:vertical}
}

/* Passive visual marker; no unconfirmed protection capabilities. */
.brand{font-size:21px;letter-spacing:.3px}
.drone-badge{display:flex;align-items:center;gap:11px;margin:0 0 22px;padding:12px 14px;background:#263f34;color:#f5f5ef;font-size:13px;font-weight:600;border-left:3px solid var(--orange)}
.service .drone-badge .drone-badge-icon{position:static;display:block;flex:0 0 36px;width:36px;height:36px;margin:0;fill:none;stroke-width:1.5}
.badge-shield{stroke:#aec0ae}.badge-drone{stroke:#ef8858;stroke-linecap:round;stroke-linejoin:round}.badge-arrow{margin-left:auto;color:var(--orange);font-size:20px}
@media(max-width:1000px) and (min-width:701px){.brand{font-size:17px}.header{gap:14px}nav{gap:14px}}
@media(max-width:700px){.brand{font-size:20px}.drone-badge{font-size:14px;min-height:64px}.service .drone-badge .drone-badge-icon{width:38px;height:38px;flex-basis:38px}}
/* Content edition: services, real projects and source photography. */
.service{display:flex;flex-direction:column;align-items:stretch}.service>svg{flex-shrink:0}.service-tag{margin-top:auto}.service-glyph{font-size:74px;line-height:1;height:131px;display:flex;align-items:center;color:#64816b;font-weight:400}.hero-description{max-width:440px}.experience{display:flex;align-items:center;gap:20px;margin-top:35px}.experience strong{font-size:62px;font-weight:500;color:var(--orange);letter-spacing:-3px}.experience span{font-size:12px;line-height:1.8;color:#bcc9b8}.approach-inner>div>p:not(.eyebrow){margin-top:0}.approach-inner>div:last-child{padding-top:25px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{padding:0 0 20px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--ink)}.project-photo{position:relative;overflow:hidden}.project-photo img{width:100%;height:auto;aspect-ratio:1/1.08;object-fit:cover;display:block;transition:transform .35s}.project-card:hover img{transform:scale(1.035)}.photo-arrow{position:absolute;right:15px;bottom:15px;background:var(--paper);width:40px;height:40px;display:grid;place-items:center;font-size:24px}.project-type{display:block;font-size:9px;letter-spacing:1.3px;margin:23px 0 12px;color:var(--muted)}.project-card h3{font-size:22px;line-height:1.35}.project-card p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.gallery-heading{margin:55px 0 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.gallery-heading h3{margin:0}.gallery-heading p,.concept-details>p{font-size:12px;color:var(--muted);line-height:1.7}.detail-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.gallery-item{border:0;padding:0;background:transparent;text-align:left;color:var(--ink)}.gallery-item img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.gallery-item>span{display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.6;margin-top:12px}.gallery-item b{color:var(--orange);font-size:18px;font-weight:400}.concept-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:35px;padding:22px 0}.concept-details summary{cursor:pointer;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:16px}.concept-details summary span{color:var(--orange);font-size:22px}.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}.concept-grid img{aspect-ratio:16/9}.protection-section{background:#263f34;color:var(--paper);padding:65px 0}.protection-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.protection-layout p:not(.eyebrow){color:#bcc9b8;font-size:14px;line-height:1.9;margin:24px 0}.protection-layout figure{margin:0}.protection-layout img{display:block;width:100%;height:auto}.protection-layout figcaption{font-size:10px;line-height:1.7;color:#bcc9b8;margin-top:14px}.contact-phone{display:block;font-size:25px;font-weight:600;margin-bottom:23px;white-space:nowrap}.social-links{display:flex;gap:24px;margin-top:22px;font-size:12px}.social-links a{border-bottom:1px solid #acb8a6;padding-bottom:7px}.contact-action small{font-size:11px}#project-dialog{max-width:700px}#project-image{width:100%;height:320px;object-fit:cover;margin:10px 0 25px}#gallery-dialog{max-width:960px;padding:52px 24px 20px}#gallery-image{display:block;max-width:100%;max-height:70dvh;width:auto;height:auto;margin:auto}#gallery-caption{text-align:center;margin-bottom:0}nav{gap:22px}
@media(max-width:1000px){.header{gap:16px}nav{gap:14px;font-size:10px}.brand{font-size:17px}.project-card h3{font-size:19px}.protection-layout{gap:30px}.detail-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-phone{font-size:22px}}
@media(max-width:700px){.brand{font-size:20px}.project-grid{grid-template-columns:1fr;gap:34px}.project-photo img{aspect-ratio:4/3}.project-type{font-size:10px;margin-top:18px}.project-card h3{font-size:24px}.project-card p{font-size:14px}.gallery-heading{display:block;margin-top:38px}.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.gallery-item>span{font-size:12px}.concept-grid{grid-template-columns:1fr}.protection-layout{grid-template-columns:1fr;gap:30px}.protection-section{padding:42px 0}.protection-layout p:not(.eyebrow){font-size:15px}.protection-layout .button{width:100%}.experience strong{font-size:58px}.experience span{font-size:12px}.service-glyph{height:98px;font-size:65px}.service .drone-badge{margin-bottom:22px}.contact-phone{font-size:25px}.social-links{flex-wrap:wrap;font-size:14px;gap:20px}.social-links a{min-height:44px;display:flex;align-items:center}#project-image{height:230px}#gallery-dialog{padding:52px 16px 24px}.concept-details summary{font-size:14px;line-height:1.6}nav{font-size:16px}}

.brand-logo{display:block;width:80px;height:80px;object-fit:contain;flex-shrink:0;background:white;border-radius:50%}.brand{gap:14px}
@media(max-width:1000px) and (min-width:701px){.brand-logo{width:64px;height:64px}.brand{gap:9px}.header{gap:12px}nav{gap:10px}}
@media(max-width:700px){.brand-logo{width:58px;height:58px}.brand{gap:10px;font-size:18px}.brand small{font-size:6px;letter-spacing:1px}}

/* Rotating shield: physical mesh and drone silhouette. */
.drone-badge{perspective:500px;min-height:92px}
.service .drone-badge .drone-badge-icon{width:58px;height:66px;flex-basis:58px;overflow:visible;transform-origin:50% 50%;animation:shield-turn 7s linear infinite;will-change:transform}
.drone-badge .badge-shield{fill:#263f34;stroke:#d1decd;stroke-width:2}
.badge-mesh{stroke:#94ae9a;stroke-width:.7;opacity:.5}
.drone-badge .badge-drone{stroke:#ff955f;stroke-width:2.5;fill:#263f34}
.drone-badge .drone-body{fill:#ff955f;stroke-width:1}
@keyframes shield-turn{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
@media(prefers-reduced-motion:reduce){.service .drone-badge .drone-badge-icon{animation:none;will-change:auto}}
/* Palette comparison. Original artwork values remain intact underneath. */
.palette-picker{position:fixed;bottom:18px;right:22px;z-index:40;background:#fff;color:#122c49;border:1px solid #cbd5df;box-shadow:0 8px 30px #071a3430;padding:12px 15px;border-radius:12px;display:flex;gap:14px;align-items:center}.palette-picker label{font-size:11px;font-weight:700}.palette-picker select{font:inherit;font-size:12px;min-height:40px;max-width:100%;border:1px solid #cbd5df;border-radius:6px;background:#f2f5f8;color:#122c49;padding:8px;cursor:pointer}body{padding-bottom:90px}
html[data-theme="navy"]{--paper:#f5f7fa;--ink:#0a2545;--muted:#586b80;--orange:#236ac3;--line:#d4dce5;--panel:#e8edf3;--deep:#0b2749;--light:#c3d0de;--art:#315675;--button-text:#fff;--stroke:#52789c}
html[data-theme="steel"]{--paper:#fff;--ink:#18334d;--muted:#627283;--orange:#39799f;--line:#dce3e9;--panel:#eff3f6;--deep:#294761;--light:#d5e0e9;--art:#7696ad;--button-text:#fff;--stroke:#7193aa}
html[data-theme="night"]{--paper:#0b192c;--ink:#e8f0fa;--muted:#b0bfd1;--orange:#77b5ef;--line:#304259;--panel:#15283f;--deep:#10243c;--light:#c3d3e7;--art:#274e72;--button-text:#09223e;--stroke:#8db7db}
html:not([data-theme="original"]) .hero-description,html:not([data-theme="original"]) .hero-bottom p{color:var(--muted)}
html:not([data-theme="original"]) .primary{color:var(--button-text)}
html:not([data-theme="original"]) .primary:hover{background:var(--orange);filter:brightness(1.12)}
html:not([data-theme="original"]) .hero-art{background-color:var(--deep);background-image:radial-gradient(ellipse at 60% 40%,var(--art),transparent 68%);color:var(--light)}
html:not([data-theme="original"]) .service.featured,html:not([data-theme="original"]) .service:hover,html:not([data-theme="original"]) .contact{background:var(--panel)}
html:not([data-theme="original"]) .service>svg{stroke:var(--stroke)}
html:not([data-theme="original"]) .service.featured>svg,html:not([data-theme="original"]) .service-glyph{color:var(--stroke);stroke:var(--stroke)}
html:not([data-theme="original"]) .approach,html:not([data-theme="original"]) .drone-badge{background:var(--deep);color:#f0f5fb}
html:not([data-theme="original"]) .approach-inner>div>p:not(.eyebrow),html:not([data-theme="original"]) .approach .eyebrow,html:not([data-theme="original"]) .experience span,html:not([data-theme="original"]) .art-caption p,html:not([data-theme="original"]) .art-live,html:not([data-theme="original"]) .art-number{color:var(--light)}
html:not([data-theme="original"]) .art-caption strong{color:#f1f6ff}
html:not([data-theme="original"]) .text-link,html:not([data-theme="original"]) .header-cta,html:not([data-theme="original"]) .social-links a{border-color:var(--stroke)}
html:not([data-theme="original"]) .art-live i{background:var(--orange)}
html:not([data-theme="original"]) .drone-badge .badge-shield{fill:var(--deep);stroke:var(--light)}
html:not([data-theme="original"]) .badge-mesh{stroke:var(--light)}
html:not([data-theme="original"]) .drone-badge .badge-drone{stroke:#87c5ff;fill:var(--deep)}
html:not([data-theme="original"]) .drone-badge .drone-body{fill:#87c5ff}
html[data-theme="night"] dialog::backdrop{background:#020b18dd}
@media(max-width:700px){.palette-picker{bottom:10px;left:12px;right:12px;padding:8px 10px;gap:8px;justify-content:space-between}.palette-picker select{font-size:12px;min-width:0;width:210px}.palette-picker label{font-size:10px}body{padding-bottom:90px}}
/* Equal badge slots and a shared animated icon family across services. */
.service-grid{align-items:stretch}.service{height:100%}.service>h3{min-height:2.7em;margin-bottom:8px}.service>p{min-height:3.7em;margin-bottom:24px}.service>.drone-badge{margin-top:auto;margin-bottom:22px;min-height:92px}.service>.service-tag{margin-top:0}.mini-outline{stroke:#d1decd;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.mini-accent{stroke:#ff955f}.service .service-mini-icon{animation-duration:8s!important}.service[data-service="networks"] .service-mini-icon{animation-delay:-1.3s}.service[data-service="construction"] .service-mini-icon{animation-delay:-2.6s}.service[data-service="finish"] .service-mini-icon{animation-delay:-4s}.service[data-service="planning"] .service-mini-icon{animation-delay:-5.3s}
html:not([data-theme="original"]) .mini-outline{stroke:var(--light)}html:not([data-theme="original"]) .mini-accent{stroke:#87c5ff}
@media(max-width:1000px){.service>.drone-badge{padding:10px;gap:9px;font-size:11px}.service .drone-badge .drone-badge-icon{width:44px;flex-basis:44px;height:58px}}
@media(max-width:700px){.service>h3,.service>p{min-height:0}.service>.drone-badge{font-size:14px;min-height:84px;padding:12px 14px}.service .drone-badge .drone-badge-icon{width:52px;flex-basis:52px;height:60px}}
/* Final presentation pass. */
:root{--muted:#5e6c62}body{padding-bottom:64px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);padding:15px;border:2px solid var(--orange)}.skip-link:focus{top:10px}.header nav{font-size:12px;gap:18px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-work-link{font-size:13px;font-weight:600;padding:15px 0;border-bottom:1px solid var(--line)}.hero-work-link span{margin-left:10px;color:var(--orange)}.hero .eyebrow,.section .eyebrow{font-size:10px}.service>svg{height:78px;margin:16px 0 22px}.service>h3{font-size:21px;line-height:1.3;min-height:2.6em}.service>p{font-size:14px;line-height:1.75;margin-bottom:20px;min-height:3.5em}.service>.drone-badge{min-height:80px;font-size:13px}.service-tag{font-size:9px;letter-spacing:1px}.section-description{font-size:14px}.steps p{font-size:14px}.service:hover,.project-card:hover{border-color:var(--orange)}.gallery-item{overflow:hidden}.gallery-item img{transition:filter .2s}.gallery-item:hover img{filter:brightness(1.08)}.close-dialog{width:44px;height:44px;background:var(--paper);border-radius:50%;z-index:2}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:18px}.gallery-controls button{width:48px;height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:24px}.gallery-controls span{font-size:12px;color:var(--muted)}#gallery-image{max-height:62dvh}#project-image{height:auto;max-height:48dvh;object-fit:contain}.faq-section{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;padding-bottom:80px;padding-top:20px}.faq-section .section-description{margin-top:20px;line-height:1.8}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:15px;line-height:1.6;padding:23px 0}.faq-list summary::-webkit-details-marker,.palette-picker summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--orange);font-size:24px}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 24px}.palette-picker{display:block;padding:0;right:18px;bottom:14px;border-radius:10px}.palette-picker>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:20px;padding:10px 16px;font-size:12px;font-weight:600}.palette-picker>summary span{font-size:20px}.palette-options{display:grid;gap:12px;padding:5px 16px 16px}.palette-options button{background:#f2f5f8;color:#122c49;border:1px solid #cbd5df;border-radius:6px;min-height:40px;font-size:12px;cursor:pointer}.observed-motion .service:not(.animation-visible) .drone-badge-icon,.motion-paused .drone-badge-icon{animation-play-state:paused!important}
@media(max-width:1100px) and (min-width:701px){.header nav{gap:12px;font-size:11px}.header-cta{display:none}.service>h3{font-size:19px}.service>.drone-badge{font-size:12px;padding:10px;gap:8px}.hero-actions{gap:15px}}
@media(max-width:700px){.header nav{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr;gap:3px}.hero-actions .button{width:100%}.hero-work-link{justify-self:center;border:0;min-height:44px}.service>svg{height:65px;margin:8px 0 18px}.service>h3,.service>p{min-height:0}.service>h3{font-size:23px}.service>.drone-badge{font-size:14px}.faq-section{grid-template-columns:1fr;gap:24px;padding-top:10px;padding-bottom:45px}.faq-list summary{font-size:15px}.palette-picker{left:auto;right:12px;bottom:10px;max-width:calc(100vw - 24px)}.palette-picker select{width:230px}.palette-picker label{font-size:12px}.contact-phone{font-size:clamp(21px,6vw,25px)}.section-description{font-size:14px}}
@media(prefers-reduced-motion:reduce){.service .drone-badge-icon{animation:none!important}}

/* Responsive finishing: phones, tablets and landscape screens. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,.hero-copy,.section-heading>*,.contact>*,.service,.project-card{min-width:0}
img{max-width:100%}
@media(min-width:701px) and (max-width:1050px){
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(34px,4.6vw,48px);letter-spacing:-1.8px}
 .hero-art{min-height:450px}.contact{padding:35px 28px;gap:25px}.contact h2{font-size:30px}
 .project-grid{gap:18px}.project-card h3{font-size:19px}
 .faq-section{gap:30px}
}
@media(max-width:700px){
 .header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .wrap:not(.header){width:calc(100% - 36px)}
 .brand{min-width:0;gap:8px;font-size:clamp(15px,4.6vw,18px);white-space:nowrap}
 .brand-logo{width:52px;height:52px}.menu-toggle{flex-shrink:0}
 .hero .eyebrow{font-size:8px;letter-spacing:.7px;flex-wrap:wrap}
 .section-description br,.hero-description br{display:none}
 .service{height:auto}.service>h3{font-size:22px}.service>p{font-size:14px}
 .service>.drone-badge{margin-top:0}.drone-badge>span:not(.badge-arrow){min-width:0}
 .contact{padding:28px 20px}.contact h2{font-size:clamp(26px,7.4vw,36px)}
 .contact-phone{font-size:clamp(20px,6vw,25px);min-height:44px;display:flex;align-items:center;white-space:normal}
 .contact-action .button{gap:12px}.social-links{gap:10px 20px}
 .palette-picker{bottom:max(10px,env(safe-area-inset-bottom));max-height:60dvh;overflow:auto}
 .palette-picker select{font-size:16px;width:245px}.palette-options button{min-height:44px}
 .experience{gap:15px}.experience span{font-size:11px}
 .project-type{line-height:1.7;overflow-wrap:anywhere}
 #project-dialog,#gallery-dialog{max-width:100%;max-height:calc(100dvh - 12px)}
 dialog h2{overflow-wrap:anywhere}dialog .button{gap:15px;font-size:13px}
 .gallery-controls{position:sticky;bottom:0;background:var(--paper);padding:8px 0}
 body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
}
@media(max-width:359px){
 .wrap:not(.header){width:calc(100% - 28px)}
 .service{padding:18px}.service>.drone-badge{padding:10px;gap:8px;font-size:13px}
 .hero h1{font-size:34px}.detail-gallery{gap:18px 10px}.gallery-item>span{font-size:11px}
}
@media(max-width:700px) and (max-height:500px){
 .header{height:64px}.brand-logo{width:46px;height:46px}.header nav{top:63px;max-height:calc(100dvh - 64px)}
 html{scroll-padding-top:76px}
}
@media(hover:none){.project-card:hover img{transform:none}.primary:hover{transform:none}}

/* Readable secondary typography at every screen size. */
.hero-description,.section-description,.service>p,.project-card p,.steps p,
.approach-inner>div>p:not(.eyebrow),.contact p:not(.eyebrow),.faq-list p,
dialog>p:not(.eyebrow),dialog ul{font-size:16px;line-height:1.8}
.eyebrow,.hero .eyebrow,.section .eyebrow{font-size:12px;line-height:1.7;letter-spacing:1.2px}
.header nav,.header-cta,.button,.hero-work-link,.text-link,.social-links{font-size:15px}
.service-tag,.project-type,.scope-strip span{font-size:12px;line-height:1.7;letter-spacing:.8px}
.service-top,.steps span{font-size:13px}
.service>.drone-badge{font-size:15px;line-height:1.5}
.gallery-item>span,.gallery-heading p,.concept-details>p,.concept-details summary,
.experience span,.contact-action small,.hero-bottom p,.demo-note{font-size:14px;line-height:1.8}
.scope-strip p{font-size:14px;flex-wrap:wrap}
.faq-list summary{font-size:17px}
footer p,footer>span,.gallery-controls span{font-size:13px;line-height:1.8}
.palette-picker>summary,.palette-picker label,.palette-options button{font-size:14px}
.palette-picker select{font-size:16px}
.brand small{font-size:10px;letter-spacing:.8px}
.art-top{font-size:10px;letter-spacing:.8px}.art-caption p,.art-number{font-size:12px}
.header{gap:20px}.header nav{gap:18px}
@media(min-width:701px) and (max-width:1100px){
 .header{height:auto;min-height:116px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;gap:12px}
 .header nav{font-size:14px;flex-wrap:wrap;gap:12px 18px}
 .service>.drone-badge{font-size:15px}.scope-strip .wrap{flex-wrap:wrap}
 .contact{flex-wrap:wrap}.contact-action{min-width:0}
}
@media(max-width:700px){
 .header nav{font-size:16px}.brand small{font-size:8px;letter-spacing:.5px}
 .hero .eyebrow{font-size:11px;letter-spacing:.5px}
 .service>p{font-size:16px}.service>.drone-badge{font-size:15px}
 .section-description br{display:none}.experience span{font-size:13px}
 .scope-strip p{font-size:14px;gap:10px}.scope-strip span{font-size:12px}
 .gallery-item>span{font-size:14px}.project-type{font-size:12px}
 .art-top{font-size:9px}.art-number{font-size:10px;letter-spacing:.5px}
 .art-caption p{font-size:11px}.art-caption{gap:8px}.plus-circle{flex-shrink:0}
 dialog .button{font-size:15px}.contact-action small{font-size:14px}
 footer p,footer>span{font-size:13px}
}

/* Specialized infrastructure protection. */
.special-protection{padding:72px 0;background:var(--panel,#e8edf3);border-top:1px solid var(--line)}
.special-heading{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:38px}
.special-heading .eyebrow{margin-bottom:20px}.special-heading .section-description{max-width:360px}
.special-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.75fr);gap:65px;align-items:center}
.special-copy>p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 20px;max-width:720px}
.special-types{padding:0;margin:26px 0;list-style:none}.special-types li{font-size:15px;padding:13px 0;border-bottom:1px solid var(--line);line-height:1.6}
.special-types li:before{content:'+';color:var(--orange);margin-right:12px}
.special-emblem{margin:0;text-align:center}.special-emblem img{display:block;width:100%;max-width:360px;margin:auto;border-radius:12px}.special-emblem figcaption{font-size:12px;color:var(--muted);margin-top:12px}
.special-photos{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;margin-top:44px}.special-photos img{height:380px;aspect-ratio:auto;object-fit:cover}.special-photos .gallery-item>span{font-size:14px}
@media(max-width:900px){.special-intro{gap:30px}.special-heading{display:block}.special-heading .section-description{margin-top:20px}.special-photos img{height:280px}}
@media(max-width:700px){.special-protection{padding:46px 0}.special-intro{grid-template-columns:1fr;gap:30px}.special-emblem img{max-width:260px}.special-photos{grid-template-columns:1fr;gap:26px;margin-top:30px}.special-photos img{height:auto;max-height:440px;object-fit:contain}.special-copy .button{width:100%;gap:12px}.special-types li{font-size:14px}.special-heading br{display:none}}
.special-emblem img{height:auto;aspect-ratio:1/1;object-fit:contain}
