:root{color-scheme:dark;--bg:#0b1119;--bg2:#111c28;--panel:#162331;--panel2:#1b2b3a;--line:#2b3b4a;--text:#f2f5f7;--muted:#b1bec9;--red:#e43a45;--red2:#fa5b63;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Arial,'Segoe UI',sans-serif}img,video{display:block;max-width:100%}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 72px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:-100px;left:18px;background:#fff;color:#111;padding:10px 16px}.skip-link:focus{top:10px}h1,h2,h3,p{margin-top:0}p{color:var(--muted)}:focus-visible{outline:3px solid var(--red2);outline-offset:3px}
.site-header{position:relative;z-index:30;border-bottom:1px solid var(--line);background:#0b1119f2}.header-inner{width:min(1360px,calc(100% - 72px));margin:auto;min-height:92px;display:flex;align-items:center;gap:26px}.brand,.footer-logo{display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:5px;padding:8px 12px;flex:none}.brand{width:176px;min-height:65px}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2vw,35px);margin-left:auto}.desktop-nav a,.mobile-menu nav a{font-size:.91rem;text-decoration:none;font-weight:700;white-space:nowrap}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--red2)}.header-actions{display:flex;align-items:center;gap:16px}.language-switch{display:flex;align-items:center;padding:4px;border:1px solid #3c4b59;border-radius:999px;background:#15212d}.language-switch a{min-width:37px;padding:6px 7px;border-radius:99px;text-align:center;color:#b7c5d1;font-weight:700;font-size:.77rem;text-decoration:none}.language-switch a:hover{color:#fff}.language-switch a[aria-current=true]{background:var(--red);color:#fff}.mobile-menu{display:none}.mobile-menu summary{cursor:pointer;list-style:none;width:40px;height:40px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;height:2px;background:#fff;width:100%}.mobile-menu nav{position:absolute;right:24px;top:calc(100% + 1px);min-width:210px;padding:12px;background:#15222f;border:1px solid var(--line);box-shadow:0 20px 30px #0006;display:grid}.mobile-menu nav a{padding:11px 12px}.mobile-menu nav a:hover{background:#243444}
.eyebrow,.kicker,.service-index,.footer-label{display:block;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red2)}.accent-line{display:inline-block;width:24px;height:2px;background:var(--red);vertical-align:middle;margin-right:12px}.hero{overflow:hidden;background:radial-gradient(circle at 75% 25%,#243c50 0,#142432 32%,#0b1119 72%)}.hero-grid{min-height:650px;display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(35px,5vw,90px);align-items:center;padding-block:90px}.hero-content h1{font-size:clamp(3.6rem,5.8vw,6.3rem);line-height:1.02;letter-spacing:-.055em;margin:25px 0 27px;font-weight:800}.hero-content p{font-size:1.17rem;max-width:500px;line-height:1.55}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px;flex-wrap:wrap}.btn{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;min-height:56px;padding:13px 22px;text-decoration:none;font-size:.92rem;font-weight:800;border-radius:3px}.btn span{font-size:1.25rem;font-weight:400}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#be2632}.btn-outline{border:1px solid #6f8292;color:#fff}.btn-outline:hover{border-color:#fff;background:#ffffff12}.text-link{font-weight:800;text-decoration:none;border-bottom:1px solid var(--red);padding:8px 0}.text-link span{margin-left:14px;color:var(--red2)}.hero-media{position:relative;aspect-ratio:4/4.1;max-height:550px;border-radius:5px;overflow:hidden;border:1px solid #546777;box-shadow:22px 22px 0 #e43a4526}.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#08111db3,transparent 30%);pointer-events:none}.hero-media video{width:100%;height:100%;object-fit:cover}.hero-media-caption{position:absolute;z-index:1;bottom:22px;left:24px;font-size:.72rem;letter-spacing:.17em;font-weight:800}
.focus-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0f1a25}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-block:42px}.focus-grid h2{font-size:clamp(1.4rem,2vw,2.05rem);line-height:1.3;margin:0;letter-spacing:-.025em}.focus-grid p{margin:0;max-width:580px;font-size:1.03rem}
.services-section{padding:105px 0 115px;background:#0d1721}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:0 8%;margin-bottom:48px}.section-heading .kicker{grid-column:1/-1;margin-bottom:18px}.section-heading h2{font-size:clamp(2.8rem,4vw,4.6rem);line-height:1.05;letter-spacing:-.045em;margin:0}.section-heading p{margin:0 0 7px;max-width:440px}.service-list{display:grid;gap:16px}.service-row{min-height:350px;display:grid;grid-template-columns:1fr 1fr;background:var(--panel);border:1px solid var(--line);overflow:hidden}.service-copy{padding:clamp(28px,4vw,58px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.service-copy h3{font-size:clamp(1.7rem,2.5vw,2.65rem);line-height:1.16;letter-spacing:-.035em;margin:18px 0 20px}.service-copy p{font-size:1rem;line-height:1.6;max-width:56ch;margin:0}.service-media{min-height:340px;overflow:hidden;background:#273848}.service-media img{width:100%;height:100%;object-fit:cover}.service-row:nth-child(even) .service-media{order:-1}
.about-teaser{padding:110px 0;background:linear-gradient(130deg,#172a39,#0e1b27 65%)}.about-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.about-teaser h2{font-size:clamp(2.6rem,3.8vw,4.3rem);line-height:1.12;letter-spacing:-.045em;max-width:600px;margin:24px 0 34px}.about-summary p{font-size:1.08rem;margin:0 0 23px;line-height:1.65}.partner-names{border-top:1px solid #647583;padding-top:24px;display:flex;gap:24px;flex-wrap:wrap;color:#fff;font-size:.79rem;font-weight:800;letter-spacing:.12em}.contact-band{padding:78px 0 85px;background:#1d2833;border-top:3px solid var(--red)}.contact-band h2{font-size:clamp(2.6rem,4.5vw,5rem);line-height:1.08;letter-spacing:-.045em;max-width:770px;margin:15px 0 30px}
.interior-hero{padding:95px 0 100px;background:radial-gradient(circle at 85% 25%,#243a4c,#101d2a 58%,#0d151e)}.interior-hero h1{font-size:clamp(3.1rem,6vw,6rem);line-height:1.06;letter-spacing:-.05em;margin:18px 0 20px}.interior-hero p{font-size:1.2rem;max-width:640px;margin:0}.interior-hero.compact{padding:75px 0}.interior-hero.compact h1{margin-bottom:0}.story-section{padding:100px 0;background:#0d1721}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.story-grid h2{font-size:clamp(2.4rem,3.7vw,4rem);line-height:1.12;letter-spacing:-.04em;margin:22px 0}.story-copy p{font-size:1.13rem;line-height:1.7;margin-bottom:24px}.about-services{padding:90px 0 110px;background:#142331}.about-services h2{font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.04em;margin:20px 0 34px}.about-services ol{list-style:none;margin:0;padding:0;border-top:1px solid #465969}.about-services li{padding:24px 8px;display:flex;align-items:baseline;gap:28px;border-bottom:1px solid #465969;font-size:clamp(1.2rem,2.2vw,2rem);font-weight:700;line-height:1.35}.about-services li span{font-size:.8rem;color:var(--red2);letter-spacing:.1em}.about-services li small{margin-left:auto;font-size:.8rem;font-weight:400;color:var(--muted);white-space:nowrap}.partners-section{padding:95px 0 110px;background:#0d1721}.partner-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}.partner-gallery figure{margin:0;background:#182637;border:1px solid var(--line)}.partner-gallery img{width:100%;height:220px;object-fit:cover}.partner-gallery figcaption{padding:16px 20px;font-weight:800;letter-spacing:.04em}.closing-section{padding:105px 0;background:#111e2a}.closing-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8%}.closing-grid p{font-size:1.12rem;line-height:1.7}.closing-grid strong{font-size:1.25rem}.empty-section{min-height:470px;padding:70px 0 120px}.empty-panel{max-width:800px;margin:auto;background:#14212d;border:1px solid var(--line);text-align:center;padding:60px 40px}.empty-symbol{color:var(--red2);font-size:3rem;line-height:1}.empty-panel h2{font-size:1.9rem;margin:15px 0 10px}.empty-panel p{margin:0}.contact-hero{min-height:620px}.contact-grid{display:grid;grid-template-columns:1.15fr .9fr;align-items:center;gap:9%}.contact-card{background:#182838;border:1px solid #3c5061;padding:20px 34px;box-shadow:18px 18px 0 #e43a4521}.contact-card>div{padding:30px 0;border-bottom:1px solid #425464}.contact-card>div:last-child{border:0}.contact-card span{display:block;color:var(--red2);font-size:.8rem;text-transform:uppercase;font-weight:800;letter-spacing:.12em;margin-bottom:8px}.contact-card a,.contact-card strong{font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:700;text-decoration:none;overflow-wrap:anywhere}.contact-card a:hover{text-decoration:underline}.contact-card b{font-weight:400;color:var(--red2)}
.site-footer{background:#080e15;border-top:1px solid var(--line);padding:72px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8%}.footer-logo{width:230px;min-height:82px}.footer-logo img{width:100%;height:auto}.footer-line{margin:22px 0 0;color:var(--muted);font-size:1rem}.footer-label{margin-bottom:17px}.site-footer p{margin:0}.site-footer a:not(.footer-logo){display:block;text-decoration:none;margin-bottom:7px;overflow-wrap:anywhere}.site-footer a:not(.footer-logo):hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:64px;padding-top:20px;color:#7f91a0;font-size:.82rem}
@media(max-width:1000px){.desktop-nav{gap:14px}.brand{width:150px}.header-inner{gap:16px}.hero-grid{min-height:580px}.hero-content h1{font-size:clamp(3.2rem,6vw,5rem)}}
@media(max-width:800px){.wrap,.header-inner{width:min(100% - 40px,var(--max))}.header-inner{min-height:78px}.desktop-nav{display:none}.header-actions{margin-left:auto}.mobile-menu{display:block}.hero-grid{grid-template-columns:1fr;gap:45px;padding:76px 0 80px}.hero-content h1{font-size:clamp(3.5rem,9vw,5.7rem)}.hero-media{aspect-ratio:16/10;max-height:none}.focus-grid,.section-heading,.about-teaser-grid,.story-grid,.closing-grid{grid-template-columns:1fr;gap:25px}.services-section,.about-teaser,.story-section,.partners-section,.closing-section{padding:75px 0}.section-heading .kicker{grid-column:auto}.service-row{min-height:0}.service-copy{padding:32px}.service-copy h3{font-size:1.8rem}.service-media{min-height:300px}.contact-grid{grid-template-columns:1fr;gap:42px}.interior-hero{padding:75px 0}.contact-hero{min-height:0}.about-services li small{display:none}.partner-gallery img{height:180px}}
@media(max-width:620px){.wrap,.header-inner{width:calc(100% - 32px)}.brand{width:129px;min-height:52px;padding:6px 8px}.language-switch a{min-width:31px;padding:5px 3px;font-size:.72rem}.header-actions{gap:4px}.mobile-menu summary{width:35px}.hero-grid{padding:60px 0 68px}.hero-content h1{font-size:clamp(3.1rem,12vw,4.2rem)}.hero-content p{font-size:1.04rem}.hero-actions{gap:19px}.hero-media{aspect-ratio:1.2}.focus-grid{padding:33px 0}.services-section{padding:70px 0}.section-heading{margin-bottom:32px}.service-row{display:flex;flex-direction:column}.service-row:nth-child(even) .service-media{order:0}.service-media{height:245px;min-height:0}.service-copy{padding:28px}.service-copy h3{font-size:1.8rem}.about-teaser,.story-section,.about-services,.partners-section,.closing-section{padding:67px 0}.about-teaser h2{font-size:2.8rem}.partner-gallery{grid-template-columns:1fr}.partner-gallery img{height:auto;max-height:250px}.about-services li{font-size:1.25rem;gap:16px}.contact-band{padding:60px 0}.contact-card{padding:10px 24px;box-shadow:none}.contact-card>div{padding:24px 0}.footer-grid{grid-template-columns:1fr;gap:32px}.site-footer{padding-top:55px}.footer-bottom{margin-top:38px}.empty-section{min-height:380px;padding:50px 0 90px}.empty-panel{padding:45px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Full-width video hero with content over the footage. */
.hero.hero-full{position:relative;isolation:isolate;display:flex;align-items:center;min-height:max(680px,calc(100svh - 92px));background:#101d29 url('/assets/hero-poster.jpg') center center/cover no-repeat}
.hero.hero-full::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,13,23,.95) 0%,rgba(5,13,23,.89) 29%,rgba(5,13,23,.68) 52%,rgba(5,13,23,.18) 78%,rgba(5,13,23,.08) 100%)}
.hero-background{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-overlay{position:relative;z-index:1;width:min(var(--max),calc(100% - 72px))}
.hero-full .hero-content{max-width:690px;padding:90px 0 110px}
.hero-full .hero-content h1{font-size:clamp(3.8rem,6.5vw,6.8rem);text-shadow:0 2px 22px #0008}
.hero-full .hero-content p{color:#e5edf3;text-shadow:0 2px 14px #0009}
.hero-full .eyebrow{color:#ff8891}
@media(max-width:800px){.hero.hero-full{min-height:max(660px,calc(100svh - 78px))}.hero-overlay{width:calc(100% - 40px)}.hero-full .hero-content{max-width:610px;padding:80px 0 100px}.hero-full .hero-content h1{font-size:clamp(3.4rem,9vw,5.7rem)}.hero.hero-full::before{background:linear-gradient(90deg,rgba(5,13,23,.91),rgba(5,13,23,.68) 66%,rgba(5,13,23,.42))}.hero-background{object-position:64% center}}
@media(max-width:620px){.hero.hero-full{min-height:max(650px,calc(100svh - 78px))}.hero-overlay{width:calc(100% - 32px)}.hero-full .hero-content{padding:70px 0 85px}.hero-full .hero-content h1{font-size:clamp(3.05rem,12vw,4.3rem)}.hero.hero-full::before{background:linear-gradient(90deg,rgba(5,13,23,.89),rgba(5,13,23,.65)),linear-gradient(0deg,rgba(5,13,23,.5),transparent 55%)}.hero-background{object-position:70% center}}
@media(prefers-reduced-motion:reduce){.hero-background{display:none}}
/* Surveillance detail and linked service card. */
.service-row-link{color:inherit;text-decoration:none;transition:border-color .2s ease,background .2s ease}
.service-row-link:hover,.service-row-link:focus-visible{border-color:var(--red2);background:#1a2b3a}
.service-row-link .service-media img{transition:transform .35s ease}
.service-row-link:hover .service-media img{transform:scale(1.025)}
.service-discover{display:inline-flex;gap:20px;align-items:center;margin-top:24px;color:var(--red2);font-size:.92rem;font-weight:800}
.service-discover span{font-size:1.2rem;font-weight:400}
.about-services li a{color:inherit;text-decoration:none}
.about-services li a:hover{color:var(--red2)}
.surv-hero{background:#111e2a;padding:34px 0 86px}
.back-link{display:inline-flex;gap:12px;align-items:center;text-decoration:none;color:#bccbd6;font-size:.9rem;font-weight:700;padding:8px 0;margin-bottom:48px}
.back-link:hover{color:#fff}
.back-link span{color:var(--red2);font-size:1.25rem}
.surv-hero-grid{display:grid;grid-template-columns:.91fr 1.09fr;gap:6%;align-items:center}
.surv-hero h1{font-size:clamp(3rem,5.1vw,5.7rem);line-height:1.05;letter-spacing:-.05em;margin:22px 0 25px}
.surv-hero-grid p{font-size:1.15rem;line-height:1.62;max-width:52ch;margin-bottom:34px}
.surv-hero-image{min-height:460px;border:1px solid #425768;overflow:hidden}
.surv-hero-image img{width:100%;height:100%;min-height:460px;object-fit:cover;object-position:58% center}
.surv-intro{padding:105px 0;background:#0d1721}
.surv-intro-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:10%}
.surv-intro h2,.reolink-heading h2{font-size:clamp(2.6rem,4vw,4.3rem);line-height:1.09;letter-spacing:-.045em;margin:22px 0 27px}
.surv-intro-grid>div>p{font-size:1.1rem;line-height:1.7;max-width:58ch}
.surv-steps{border-top:1px solid #455867}
.surv-steps article{padding:25px 0 24px;border-bottom:1px solid #455867}
.surv-step-num{color:var(--red2);font-size:.8rem;font-weight:800;letter-spacing:.1em}
.surv-steps h3{font-size:1.4rem;margin:10px 0 6px}
.surv-steps p{margin:0;line-height:1.6}
.reolink-section{padding:105px 0 115px;background:#142331}
.reolink-heading{max-width:760px;margin-bottom:44px}
.reolink-heading p{font-size:1.08rem;line-height:1.6}
.reolink-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.reolink-card{background:#192b3b;border:1px solid #3b5061;overflow:hidden}
.reolink-photo{height:345px;background:#e5e9ed;overflow:hidden}
.reolink-photo img{width:100%;height:100%;object-fit:cover}
.reolink-card .reolink-photo img{object-fit:cover;padding:0}
.reolink-card-body{padding:28px 30px 31px}
.reolink-spec{color:var(--red2);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.reolink-card h3{font-size:1.75rem;line-height:1.2;margin:12px 0}
.reolink-card p{min-height:76px;margin:0 0 22px}
.reolink-card a{font-weight:800;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:5px}
.reolink-card a:hover{color:var(--red2)}
.reolink-card a span{color:var(--red2);margin-left:8px}
.photo-credit{font-size:.85rem;margin:24px 0 0;color:#a5b5c2}
.surv-cta-text{max-width:650px;font-size:1.08rem;margin-top:-12px;margin-bottom:28px}
@media(max-width:800px){.surv-hero-grid,.surv-intro-grid{grid-template-columns:1fr;gap:42px}.surv-hero{padding-bottom:70px}.surv-hero-image,.surv-hero-image img{min-height:0;height:380px}.surv-intro,.reolink-section{padding:78px 0}.reolink-photo{height:280px}}
@media(max-width:620px){.back-link{margin-bottom:25px}.surv-hero{padding:26px 0 60px}.surv-hero h1{font-size:clamp(2.8rem,10vw,4rem)}.surv-hero-image,.surv-hero-image img{height:265px}.surv-intro,.reolink-section{padding:68px 0}.reolink-grid{grid-template-columns:1fr}.reolink-photo{height:265px}.reolink-card-body{padding:25px}.reolink-card p{min-height:0}.service-discover{margin-top:20px}}
/* Reolink Duo 3V PoE product page. */
.reolink-card-link{display:block;color:inherit;text-decoration:none;border:0!important;padding:0!important;height:100%}
.reolink-card-link:hover,.reolink-card-link:focus-visible{color:inherit!important;background:#213548}
.reolink-card-link .reolink-photo img{transition:transform .35s ease}
.reolink-card-link:hover .reolink-photo img{transform:scale(1.035)}
.reolink-discover{display:inline-block;font-weight:800;border-bottom:1px solid var(--red);padding-bottom:5px}
.reolink-discover span{color:var(--red2);margin-left:8px}
.duo-hero{padding:32px 0 96px;background:radial-gradient(circle at 74% 48%,#31465b 0,#172b3b 34%,#0c1722 75%)}
.duo-hero-grid{display:grid;grid-template-columns:1fr .86fr;align-items:center;gap:7%}
.duo-hero h1{font-size:clamp(3.5rem,6.2vw,7rem);line-height:1.02;letter-spacing:-.055em;margin:20px 0 26px}
.duo-hero p{font-size:1.18rem;line-height:1.62;max-width:54ch}
.duo-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:34px}
.duo-product{display:grid;place-items:center;min-height:480px;background:radial-gradient(circle,#e7ebee 0,#bdc9d2 60%,transparent 72%)}
.duo-product img{width:min(92%,480px);filter:drop-shadow(0 25px 28px #0007);animation:duo-float 7s ease-in-out infinite}
.duo-product.photo-product{background:#112235;overflow:hidden}
.duo-product.photo-product img{width:100%;height:100%;min-height:480px;object-fit:cover;filter:none;animation:none}
@keyframes duo-float{50%{transform:translateY(-13px)}}
.duo-motion-section,.duo-gallery-section{padding:105px 0;background:#0d1721}
.duo-section-head{max-width:760px;margin-bottom:38px}
.duo-section-head h2,.duo-feature-section h2{font-size:clamp(2.7rem,4.4vw,4.8rem);line-height:1.08;letter-spacing:-.045em;margin:18px 0 18px}
.duo-section-head p{font-size:1.12rem;max-width:650px}
.duo-motion{position:relative;aspect-ratio:2.45;overflow:hidden;background:#152331;border:1px solid #465a6d}
.duo-motion-frame{position:absolute;inset:0;opacity:0;animation:duo-cycle 15s ease-in-out infinite}
.duo-motion-frame:nth-child(2){animation-delay:5s}.duo-motion-frame:nth-child(3){animation-delay:10s}
.duo-motion-frame img{width:100%;height:100%;object-fit:cover;animation:duo-pan 15s ease-in-out infinite}
.duo-motion-frame span{position:absolute;left:25px;bottom:24px;padding:9px 15px;background:#07101bd9;border-left:3px solid var(--red);font-weight:800;letter-spacing:.025em}
@keyframes duo-cycle{0%,27%{opacity:1}33%,100%{opacity:0}}
@keyframes duo-pan{0%{transform:scale(1.03) translateX(-.5%)}30%{transform:scale(1.1) translateX(.5%)}100%{transform:scale(1.03) translateX(-.5%)}}
.duo-feature-section{padding:94px 0 105px;background:#142331}
.duo-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.duo-feature-grid article{border-top:3px solid var(--red);background:#1b2d3d;padding:26px 22px;min-height:190px}
.duo-feature-grid strong{display:block;font-size:1.25rem;margin-bottom:15px}
.duo-feature-grid p{margin:0;line-height:1.55}
.duo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.duo-gallery figure{margin:0;background:#192b3b;border:1px solid #405367;overflow:hidden}
.duo-gallery img{width:100%;height:230px;object-fit:cover;transition:transform .3s ease}
.duo-gallery figure:hover img{transform:scale(1.04)}
.duo-gallery figcaption{padding:15px 18px;font-size:.93rem;font-weight:700}
.duo-gallery-section .btn{margin-top:30px}
@media(max-width:900px){.duo-hero-grid{gap:3%}.duo-product{min-height:380px}.duo-feature-grid{grid-template-columns:repeat(2,1fr)}.duo-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.duo-hero{padding-bottom:65px}.duo-hero-grid{grid-template-columns:1fr;gap:30px}.duo-product{min-height:300px}.duo-product img{width:min(76%,360px)}.duo-motion-section,.duo-gallery-section,.duo-feature-section{padding:72px 0}.duo-motion{aspect-ratio:1.55}.duo-gallery img{height:180px}}
@media(max-width:700px){.duo-product.photo-product img{min-height:300px}}
@media(max-width:480px){.duo-hero h1{font-size:3.3rem}.duo-motion{aspect-ratio:1.1}.duo-motion-frame img{object-position:center}.duo-motion-frame span{bottom:12px;left:12px;font-size:.82rem}.duo-feature-grid,.duo-gallery{grid-template-columns:1fr}.duo-gallery img{height:210px}}
@media(prefers-reduced-motion:reduce){.duo-product img,.duo-motion-frame,.duo-motion-frame img{animation:none}.duo-motion-frame:first-child{opacity:1}.duo-gallery img,.reolink-card-link .reolink-photo img{transition:none}}
.omvi-video-section{padding:0 0 105px;background:#0d1721}
.omvi-video-link{position:relative;display:block;max-width:900px;aspect-ratio:16/9;margin-inline:auto;overflow:hidden;border:1px solid #5b6f80;background:#162637;color:#fff;text-decoration:none}
.omvi-video-link img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.omvi-video-link:hover img,.omvi-video-link:focus-visible img{transform:scale(1.035)}
.omvi-video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:linear-gradient(0deg,#07101db8,#07101d28 65%);text-shadow:0 2px 12px #000b}
.omvi-video-overlay strong{font-size:clamp(1.45rem,3vw,2.3rem);letter-spacing:-.025em}
.omvi-play{display:grid;place-items:center;width:76px;height:76px;padding-left:5px;border-radius:50%;background:var(--red);box-shadow:0 8px 30px #0009;font-size:1.5rem;transition:transform .2s ease}
.omvi-video-link:hover .omvi-play,.omvi-video-link:focus-visible .omvi-play{transform:scale(1.08)}
@media(max-width:700px){.omvi-video-section{padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){.omvi-video-link img,.omvi-play{transition:none}}
/* Full-width Reolink video on the surveillance service page. */
.surv-hero.surv-hero-video{position:relative;isolation:isolate;display:flex;align-items:center;min-height:max(680px,calc(100svh - 92px));padding:30px 0 82px;overflow:hidden;background:#101a27 url('/assets/duo3-hero-poster.jpg') center/cover no-repeat}
.surv-hero-video::before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(5,13,25,.92) 0%,rgba(5,13,25,.82) 32%,rgba(5,13,25,.54) 55%,rgba(5,13,25,.15) 82%),linear-gradient(0deg,#07111b72,transparent 45%);pointer-events:none}
.surv-background{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.surv-hero-overlay{position:relative;z-index:2}
.surv-hero-video .back-link{width:max-content;max-width:100%;margin-bottom:58px;color:#e5edf4;text-shadow:0 2px 10px #0008}
.surv-hero-video .surv-hero-copy{max-width:690px}
.surv-hero-video h1{font-size:clamp(3.2rem,5.8vw,6.2rem);text-shadow:0 3px 18px #0009}
.surv-hero-video .surv-hero-copy p{color:#e7eef4;text-shadow:0 2px 12px #000a}
@media(max-width:800px){.surv-hero.surv-hero-video{min-height:max(660px,calc(100svh - 78px));padding:30px 0 75px}.surv-hero-video::before{background:linear-gradient(90deg,#07111bd9,#07111b8c 72%,#07111b59),linear-gradient(0deg,#07111b77,transparent 48%)}.surv-hero-video .back-link{margin-bottom:45px}}
@media(max-width:700px){.surv-hero.surv-hero-video{background-image:url('/assets/duo3-hero-mobile-poster.jpg')}.surv-background{object-position:62% center}}
@media(max-width:620px){.surv-hero.surv-hero-video{min-height:max(650px,calc(100svh - 78px));padding:24px 0 65px}.surv-hero-video h1{font-size:clamp(2.65rem,10vw,4rem)}.surv-hero-video .surv-hero-copy p{font-size:1.05rem}.surv-hero-video .back-link{margin-bottom:46px}}
@media(prefers-reduced-motion:reduce){.surv-background{display:none}}
/* Language dropdown retains the dark pill and red selection styling. */
.language-menu{position:relative;flex:none}
.language-menu summary{display:flex;align-items:center;gap:8px;min-height:42px;padding:4px 13px 4px 5px;border:1px solid #3c4b59;border-radius:999px;background:#15212d;color:#f2f5f7;cursor:pointer;list-style:none;white-space:nowrap;font-size:.88rem;font-weight:700}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu summary:hover,.language-menu[open] summary{border-color:#76899b;background:#1a2b3a}
.language-current-flag{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--red);font-size:1.08rem;line-height:1}
.language-current-flag img{width:23px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 1px 3px #0006}
.language-chevron{margin-left:4px;color:var(--red2);font-size:1.12rem;line-height:1;transition:transform .2s ease}
.language-menu[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;right:0;top:calc(100% + 8px);z-index:50;display:grid;gap:3px;min-width:190px;padding:6px;border:1px solid #3c4b59;border-radius:10px;background:#15212d;box-shadow:0 18px 36px #0009}
.language-options a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:6px;color:#d5e1ea;font-size:.9rem;font-weight:700;text-decoration:none;white-space:nowrap}
.language-options a:hover,.language-options a:focus-visible{background:#294050;color:#fff}
.language-options a[aria-current=page]{background:var(--red);color:#fff}
.language-flag{width:25px;height:17px;flex:none;object-fit:cover;border-radius:2px;box-shadow:0 1px 3px #0006}
@media(max-width:620px){.header-inner{gap:6px}.brand{width:118px}.language-menu summary{gap:5px;min-height:38px;padding:3px 7px 3px 4px;font-size:.78rem}.language-current-flag{width:25px;height:25px}.language-current-flag img{width:19px;height:13px}.language-chevron{margin-left:0}.language-options{min-width:165px}}
@media(prefers-reduced-motion:reduce){.language-chevron{transition:none}}
