:root{--ink:#14212e;--ink-2:#233647;--muted:#607080;--orange:#ed761a;--orange-dark:#b94706;--paper:#fff;--soft:#f4f6f7;--line:#dfe5e8;--container:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:16px;line-height:1.65;word-break:keep-all}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{width:min(calc(100% - 64px),var(--container));margin-inline:auto}
.skip{position:absolute;left:16px;top:-70px;padding:10px 16px;background:var(--orange);color:#fff;z-index:200}
.skip:focus{top:10px}
.eyebrow{margin:0 0 16px;color:var(--orange-dark);font-weight:800;font-size:.82rem;letter-spacing:.16em;line-height:1.3}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.2;letter-spacing:-.045em}
h1{font-size:clamp(3.1rem,5.4vw,5.8rem);font-weight:800}
h2{font-size:clamp(2.2rem,3.3vw,3.7rem);font-weight:800}
h3{font-size:1.45rem;font-weight:800}
.section{padding:112px 0}
.section-soft{background:var(--soft)}
.section-desc{color:var(--muted);font-size:1.1rem;max-width:680px;margin-top:20px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:42px}
.section-head h2{margin-bottom:0}
.plain-link,.text-link{color:var(--orange-dark);font-weight:800;white-space:nowrap}
.plain-link:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.btn{min-height:54px;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:23px;border-radius:4px;font-weight:800;border:1px solid transparent;line-height:1.3;transition:transform .2s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--orange-dark);color:#fff}
.btn-primary:hover{background:#963a05}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-2)}
.btn-outline{color:#fff;border-color:rgba(255,255,255,.5)}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.btn-outline-dark{color:var(--ink);border-color:var(--ink)}
.btn-outline-dark:hover{background:var(--ink);color:#fff}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:#edf0f2}
.btn-small{min-height:42px;padding:10px 16px;font-size:.9rem}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-top:4px solid var(--orange);box-shadow:0 4px 24px rgba(20,33,46,.07)}
.header-inner{height:78px;display:flex;align-items:center;gap:36px}
.brand{display:block;flex:none;width:180px}
.brand img{width:100%;height:auto}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:34px;font-size:.93rem;font-weight:800}
.site-nav>a{padding:26px 0;position:relative;white-space:nowrap}
.site-nav>a:hover,.site-nav>a[aria-current=page]{color:var(--orange-dark)}
.site-nav>a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--orange)}
.nav-mobile-solutions{display:none}
.header-actions{display:flex;align-items:center;gap:21px;margin-left:10px}
.header-phone{font-size:1rem;font-weight:900;white-space:nowrap;letter-spacing:.01em}
.header-phone:hover{color:var(--orange-dark)}
.menu-toggle{display:none}
.hero{background:var(--ink);color:#fff;overflow:hidden}
.hero-grid{min-height:500px;display:flex;align-items:center;justify-content:center;text-align:center}
.hero-copy{max-width:800px;padding:80px 0}
.hero .eyebrow,.page-hero:not(.page-hero-light) .eyebrow,.detail-hero .eyebrow,.contact-band .eyebrow{color:#ffac6f}
.hero h1{margin-bottom:26px;font-size:clamp(3.2rem,4.7vw,5.2rem)}
.hero h1 em{color:var(--orange);font-style:normal}
.hero-copy>p:not(.eyebrow){font-size:1.16rem;line-height:1.8;max-width:600px;color:#cbd5dc;margin:0 auto 40px}
.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.hero-bottom{height:52px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.18);font-size:.68rem;color:#a9b9c3;letter-spacing:.13em}
.trust-strip{background:#edf1f3;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.trust-grid>div{display:flex;align-items:center;gap:16px;padding:28px 20px;border-right:1px solid #d7dee2}
.trust-grid>div:first-child{padding-left:0}
.trust-grid>div:last-child{border-right:none}
.trust-grid strong{font-size:1.35rem;white-space:nowrap;letter-spacing:-.04em}
.trust-grid span{color:var(--muted);font-size:.91rem}
.cctv-feature{background:#f3f6f7}
.cctv-feature-heading{text-align:center;margin:0 auto 42px}
.cctv-feature-heading h2{font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.35}
.cctv-figure{max-width:960px;margin:0 auto}
.cctv-video-frame{aspect-ratio:16/9;background:#050607;border:1px solid #d5dfe4;box-shadow:0 22px 46px rgba(20,33,46,.16)}
.cctv-video-frame video{display:block;width:100%;height:100%;object-fit:contain}
.cctv-figure figcaption{margin-top:18px;color:var(--ink);font-size:clamp(1rem,1.4vw,1.25rem);font-weight:800;line-height:1.45;text-align:center}
.solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.solution-card{border:1px solid var(--line);background:#fff;transition:transform .2s,box-shadow .2s}
.solution-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(20,33,46,.11)}
.solution-image{height:205px;overflow:hidden;background:#e8eef0}
.solution-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.solution-card:hover img{transform:scale(1.045)}
.solution-card:nth-child(3) img{object-fit:contain;padding:14px;background:#e9ecee}
.solution-content{padding:26px 27px 29px;min-height:256px;display:flex;flex-direction:column;align-items:flex-start}
.card-index{font-size:.76rem;color:var(--orange-dark);font-weight:800}
.card-en{font-size:.71rem;letter-spacing:.12em;font-weight:800;color:#8a98a2;margin:5px 0 11px}
.solution-content h3{margin-bottom:9px}
.solution-content>p:last-of-type{color:var(--muted);font-size:.91rem;line-height:1.7;margin-bottom:22px}
.solution-content .text-link{margin-top:auto;font-size:.92rem}
.why{background:var(--ink);color:#fff}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.why h2{white-space:pre-line;margin-bottom:22px}
.why .section-desc{color:#b9c5ce}
.why-items article{border-top:1px solid rgba(255,255,255,.2);padding:24px 0 20px;display:grid;grid-template-columns:50px 1fr;column-gap:16px}
.why-items article:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
.why-items span{color:var(--orange);font-weight:800;grid-row:span 2}
.why-items h3{font-size:1.25rem;margin-bottom:8px}
.why-items p{color:#b9c5ce;margin-bottom:0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;border-top:2px solid var(--ink)}
.process-grid article{padding:26px 26px 0 0;position:relative}
.process-grid article:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--orange);top:-7px;left:0}
.process-grid span{color:var(--orange-dark);font-weight:800;font-size:.83rem}
.process-grid h3{margin:15px 0 10px}
.process-grid p{color:var(--muted);font-size:.95rem;max-width:220px}
.proof{background:#f5f7f8}
.proof-grid{display:grid;grid-template-columns:.87fr 1.13fr;gap:100px}
.proof-grid .btn{margin-top:18px}
.proof-list>div{border-bottom:1px solid #ccd5da;padding:20px 0}
.proof-list>div:first-child{padding-top:0}
.proof-list span{color:var(--orange-dark);font-size:.78rem;font-weight:800;letter-spacing:.06em;display:block;margin-bottom:8px}
.proof-list strong{font-size:1.3rem;display:block;letter-spacing:-.035em}
.proof-list p{color:var(--muted);margin:7px 0 0}
.contact-band{background:var(--ink);color:#fff;padding:75px 0}
.contact-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.contact-band h2{font-size:clamp(2rem,3vw,3.2rem);margin:0 0 12px}
.contact-band p:not(.eyebrow){color:#b9c5ce;margin:0}
.contact-band-actions{display:flex;align-items:center;gap:25px;flex:none}
.phone-link{font-size:1.4rem;font-weight:900;white-space:nowrap}
.phone-link:hover{color:var(--orange)}
.page-hero{background:var(--ink);color:#fff;padding:112px 0 105px}
.page-hero-light{background:#f3f6f7;color:var(--ink);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:900px;margin-bottom:24px}
.page-hero p:not(.eyebrow){max-width:700px;color:#c4d0d8;font-size:1.18rem;line-height:1.8}
.page-hero-light p:not(.eyebrow){color:var(--muted)}
.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}
.about-text{font-size:1.14rem;color:#344757;line-height:1.9}
.about-text p{margin-bottom:24px}
.about-sign{font-weight:800;color:var(--ink);margin-top:35px}
.timeline{margin-top:45px;border-top:2px solid var(--ink)}
.timeline>div{display:grid;grid-template-columns:230px 1fr;gap:30px;border-bottom:1px solid #d3dcdf;padding:23px 0}
.timeline strong{font-size:1.6rem;line-height:1.3;letter-spacing:-.03em}
.timeline p{margin:0;align-self:center;color:#425461}
.credential-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:45px}
.credential-grid article{border:1px solid var(--line);padding:26px;min-height:190px}
.credential-grid span,.location-cards span{color:var(--orange-dark);font-size:.78rem;font-weight:800;letter-spacing:.08em}
.credential-grid h3{font-size:1.25rem;margin:22px 0 10px}
.credential-grid p{font-size:.86rem;color:var(--muted)}
.location-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:80px}
.location-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.location-cards article{background:#fff;border:1px solid var(--line);padding:30px}
.location-cards h3{margin:15px 0}
.location-cards p{min-height:60px;color:var(--muted)}
.location-cards a{font-weight:800;color:var(--orange-dark)}
.index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.index-service{border:1px solid var(--line);display:grid;grid-template-columns:42% 58%;min-height:255px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.index-service:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,33,46,.1)}
.index-service img{height:100%;width:100%;object-fit:cover}
.index-service:nth-child(3) img{object-fit:contain;background:#e9ecee;padding:15px}
.index-service>div{padding:28px;display:flex;flex-direction:column;align-items:flex-start}
.index-service span{font-size:.77rem;letter-spacing:.11em;color:var(--orange-dark);font-weight:800}
.index-service h2{font-size:1.7rem;margin:10px 0}
.index-service p{font-size:.94rem;color:var(--muted);line-height:1.65}
.index-service strong{font-size:.9rem;color:var(--orange-dark);margin-top:auto}
.detail-hero{background:var(--ink);color:#fff;overflow:hidden}
.detail-hero-grid{display:grid;grid-template-columns:1fr .85fr;min-height:530px;align-items:center;gap:65px}
.detail-hero-grid>div{padding:70px 0}
.detail-hero h1{margin-bottom:22px}
.detail-lead{font-size:1.24rem;color:#c9d4db;max-width:650px;line-height:1.8}
.detail-tags{display:flex;gap:7px;flex-wrap:wrap;margin:30px 0 37px}
.detail-tags span{border:1px solid rgba(255,255,255,.28);padding:6px 10px;font-size:.83rem;color:#d8e1e6}
.detail-hero-grid>img{height:450px;width:100%;object-fit:cover}
.detail-hero:has(img[src$="robot.webp"]) .detail-hero-grid>img{object-fit:contain;background:#e9ecee;padding:20px}
.problem-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:110px;align-items:center}
.problem-grid h2{font-size:clamp(2.1rem,3.2vw,3.35rem);margin-bottom:0}
.problem-grid p{font-size:1.12rem;line-height:1.85;color:#405363}
.problem-grid .muted{font-size:.94rem;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:48px}
.feature-grid article{background:#fff;padding:30px;min-height:245px;border-top:3px solid var(--orange)}
.feature-grid span{color:var(--orange-dark);font-size:.82rem;font-weight:800}
.feature-grid h3{margin:25px 0 12px}
.feature-grid p{color:var(--muted);font-size:.96rem;line-height:1.75}
.robot-lineup{border-bottom:1px solid var(--line)}
.robot-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:42px 0 24px}
.robot-product-card{background:#fff;border:1px solid var(--line);overflow:hidden}
.robot-product-image{height:270px;background:#f6f8f9;display:flex;align-items:center;justify-content:center}
.robot-product-image img{width:100%;height:100%;object-fit:contain}
.robot-product-content{padding:27px 30px 30px}
.robot-product-category{color:var(--orange-dark);font-size:.78rem;font-weight:800;letter-spacing:.08em;margin-bottom:7px}
.robot-product-content h3{margin:0 0 12px;font-size:1.55rem}
.robot-product-content>p:not(.robot-product-category){color:var(--muted);line-height:1.75;min-height:56px}
.robot-product-content ul{margin:19px 0 22px;padding-left:20px;color:var(--ink);line-height:1.7}
.robot-product-content li+li{margin-top:6px}
.robot-product-links{display:flex;flex-wrap:wrap;gap:14px}
.robot-product-links a{color:var(--orange-dark);font-weight:800;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
.robot-product-links a:hover{color:var(--ink)}
.steps{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.steps li{border:1px solid var(--line);padding:25px 22px;min-height:123px}
.steps span{display:block;color:var(--orange-dark);font-weight:800;font-size:.82rem;margin-bottom:12px}
.steps strong{font-size:1.04rem}
.case-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}
.case-faq-grid h2{font-size:2.25rem}
.case-list{padding:0;margin:25px 0 15px;list-style:none;border-top:2px solid var(--ink)}
.case-list li{padding:15px 0;border-bottom:1px solid #d3dcdf;font-weight:700}
.source-note{color:var(--muted);font-size:.86rem;margin-bottom:24px}
.faq-list{margin-top:20px;border-top:2px solid var(--ink)}
.faq-list details{border-bottom:1px solid #d3dcdf}
.faq-list summary{cursor:pointer;padding:17px 25px 17px 0;font-weight:800;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:2px;font-size:1.4rem;line-height:1;color:var(--orange-dark)}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{padding:0 22px 18px 0;color:var(--muted);margin:0}
.related{padding:68px 0}
.related h2{font-size:1.8rem}
.related>div>div{display:flex;gap:9px;flex-wrap:wrap}
.related a{border:1px solid var(--line);padding:10px 15px;font-size:.88rem;font-weight:700}
.related a:hover{border-color:var(--orange);color:var(--orange-dark)}
.projects-intro{margin-bottom:30px;color:var(--muted)}
.project-group{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;border-top:2px solid var(--ink);padding:35px 0 50px}
.project-group span{color:var(--orange-dark);font-weight:800;font-size:.82rem;letter-spacing:.08em}
.project-group h2{font-size:2.2rem;margin:14px 0}
.project-group ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.project-group li{padding:14px 0;border-bottom:1px solid var(--line);font-weight:700}
.project-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:34px 0 25px}
.project-photo{display:block;width:100%;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit;background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.project-photo:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(20,33,46,.12)}
.project-photo:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.project-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.project-photo-copy{display:grid;gap:7px;padding:19px 18px 22px}
.project-photo-copy small{font-size:.73rem;font-weight:800;color:var(--orange-dark);letter-spacing:.03em}
.project-photo-copy strong{font-size:1.05rem;line-height:1.4;color:var(--ink)}
.project-photo-copy>span{margin-top:3px;color:var(--muted);font-size:.82rem}
.project-gallery-dialog{width:min(1000px,calc(100% - 30px));max-width:none;max-height:92vh;margin:auto;padding:20px;border:0;background:#0b151e;color:#fff;box-shadow:0 25px 80px rgba(0,0,0,.42)}
.project-gallery-dialog::backdrop{background:rgba(4,12,19,.86)}
.project-gallery-top,.project-gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}
.project-gallery-top{margin-bottom:14px}
.project-gallery-top small{font-size:.68rem;letter-spacing:.16em;color:#ff9a4f;font-weight:800}
.project-gallery-top h3{margin:4px 0 0;font-size:1.25rem;line-height:1.35}
.project-gallery-close,.project-gallery-bottom button{border:1px solid #78838b;background:transparent;color:#fff;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer}
.project-gallery-close:hover,.project-gallery-bottom button:hover{background:#fff;color:#0b151e}
.project-gallery-image{display:block;width:100%;height:auto;max-height:68vh;object-fit:contain;background:#17232e}
.project-gallery-bottom{margin-top:14px;font-size:.88rem;color:#c5d0d6}
.project-gallery-bottom>div{display:flex;gap:8px}
@media(max-width:1000px){.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.project-photo-grid{grid-template-columns:1fr;gap:14px}.project-photo img{aspect-ratio:16/10}.project-gallery-dialog{padding:14px}.project-gallery-top h3{font-size:1rem}.project-gallery-image{max-height:62vh}.project-gallery-bottom button{padding:7px 10px}}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.support-grid article{border:1px solid var(--line);padding:40px;min-height:285px}
.support-grid article>span{color:var(--orange-dark);font-weight:800}
.support-grid h2{font-size:2rem;margin:23px 0 12px}
.support-grid p{color:var(--muted);max-width:420px}
.support-grid .btn{margin-top:20px}
.resource-list{border-top:2px solid var(--ink);margin-top:36px}
.resource-list a{display:flex;justify-content:space-between;gap:20px;padding:20px 4px;border-bottom:1px solid #d3dcdf;font-weight:700}
.resource-list a:hover{color:var(--orange-dark)}
.resource-list span{color:var(--orange-dark);font-size:.85rem;white-space:nowrap}
.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}
.contact-info h2,.form-panel h2{font-size:2.2rem}
.contact-info>p{color:var(--muted)}
.contact-number{font-weight:900;font-size:clamp(2.1rem,3.2vw,3.4rem);letter-spacing:-.04em;white-space:nowrap;display:inline-block;margin:20px 0}
.contact-number:hover{color:var(--orange-dark)}
.contact-number span{font-size:1.7rem;color:var(--orange)}
.contact-email a{font-size:1.08rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.contact-address{border-top:1px solid var(--line);margin-top:54px;padding-top:28px}
.contact-address strong{display:block;margin-bottom:6px}
.contact-address p{color:var(--muted);margin-bottom:22px}
.form-panel{background:#f3f6f7;padding:42px;scroll-margin-top:100px}
.form-panel h2{margin-bottom:8px}
.form-intro{color:var(--muted);font-size:.92rem;margin-bottom:30px}
.form-panel form{display:grid;gap:19px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-panel label{font-size:.91rem;font-weight:800;display:block}
.form-panel .service-detail[hidden]{display:none}
.form-panel label>span,.consent b{color:var(--orange-dark)}
.form-panel input:not([type=checkbox]),.form-panel select,.form-panel textarea{display:block;width:100%;margin-top:8px;border:1px solid #bfcbd1;background:#fff;color:var(--ink);padding:12px 14px;border-radius:3px;min-height:49px;font-weight:400}
.form-panel textarea{resize:vertical;min-height:150px}
.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{outline:2px solid var(--orange);border-color:var(--orange)}
.consent{display:flex!important;gap:10px;align-items:flex-start;line-height:1.6;font-weight:500!important}
.consent input{width:18px;height:18px;flex:none;margin:4px 0 0;accent-color:var(--orange)}
.consent span{color:var(--ink)!important}
.form-submit{justify-self:start}
#form-status{min-height:1.4em;font-size:.88rem;color:var(--muted);margin:0}
.footer{background:#0b151e;color:#bac8d1;padding:70px 0 35px}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr .6fr;gap:70px}
.footer-logo{width:150px;filter:brightness(0) invert(1);opacity:.95;margin-bottom:23px}
.footer-title{font-size:1.13rem;color:#fff;font-weight:800;margin-bottom:25px}
.footer p{font-size:.9rem;line-height:1.85}
.footer a:hover{color:#fff;text-decoration:underline}
.footer small{font-size:.76rem;color:#879aa7}
.footer h2{font-size:1rem;color:#fff;margin:4px 0 23px;letter-spacing:0}
.footer-links{display:grid;gap:9px;font-size:.9rem}
.mobile-cta{display:none}
@media(max-width:1100px){.header-inner{gap:20px}.brand{width:150px}.site-nav{gap:19px}.header-actions{gap:10px}.header-phone{display:none}.hero-grid{gap:18px}.proof-grid{gap:55px}.contact-grid{gap:45px}}
@media(max-width:900px){.wrap{width:min(calc(100% - 40px),var(--container))}.section{padding:82px 0}.site-nav{position:fixed;top:82px;left:0;right:0;max-height:calc(100vh - 82px);overflow:auto;background:#fff;padding:15px 20px 30px;box-shadow:0 18px 30px rgba(20,33,46,.12);display:none;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav>a{padding:13px 5px;border-bottom:1px solid var(--line)}.site-nav>a[aria-current=page]:after{display:none}.nav-mobile-solutions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:17px}.nav-mobile-solutions a{padding:12px;background:var(--soft);font-weight:800}.nav-mobile-solutions span{display:block;color:var(--orange-dark);font-size:.65rem;letter-spacing:.1em;margin-bottom:2px}.menu-toggle{display:grid;gap:5px;border:0;background:none;padding:8px;order:3;margin-left:auto}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink)}.header-actions{margin-left:auto}.header-inner{height:74px}.hero-grid{min-height:590px}.hero-visual{height:390px;margin-right:-20px}.hero h1{font-size:clamp(3.1rem,6vw,4.8rem)}.trust-grid>div{flex-direction:column;align-items:flex-start;gap:4px}.solutions-grid{grid-template-columns:repeat(2,1fr)}.why-grid{gap:40px}.credential-grid{grid-template-columns:repeat(2,1fr)}.index-grid{grid-template-columns:1fr}.index-service{min-height:220px}.detail-hero-grid{gap:25px}.detail-hero-grid>img{height:360px}.feature-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.case-faq-grid{gap:45px}.footer-grid{gap:35px}}
@media(max-width:640px){body{padding-bottom:64px}.wrap{width:calc(100% - 36px)}.section{padding:66px 0}.section-head{display:block}.section-head .plain-link{display:inline-block;margin-top:12px}h1{font-size:clamp(2.6rem,10vw,4.1rem)}h2{font-size:clamp(2rem,8vw,3rem)}.header-inner{height:65px;gap:12px}.site-header{border-top-width:3px}.site-nav{top:68px;max-height:calc(100vh - 68px)}.brand{width:136px}.header-actions{display:none}.hero-grid{display:flex;flex-direction:column;min-height:0;align-items:stretch;gap:0}.hero-copy{padding:76px 0 40px}.hero h1{font-size:clamp(3rem,11vw,4.3rem)}.hero-copy>p:not(.eyebrow){font-size:1rem;margin-bottom:28px}.hero-actions{gap:9px}.hero-actions .btn{width:100%}.hero-visual{height:250px;margin:0 -18px}.hero-visual:before{top:-9px;left:6px;width:44px;height:44px;border-width:5px}.hero-visual-label{right:10px;bottom:10px;gap:4px;font-size:.56rem}.hero-visual-label span{padding:5px}.hero-bottom{height:42px}.trust-grid{grid-template-columns:1fr}.trust-grid>div,.trust-grid>div:first-child{padding:14px 0;display:flex;flex-direction:row;align-items:center;gap:14px;border-right:0;border-bottom:1px solid #d7dee2}.trust-grid>div:last-child{border:0}.trust-grid strong{font-size:1.18rem;min-width:98px}.solutions-grid{grid-template-columns:1fr;gap:14px}.solution-image{height:180px}.solution-content{min-height:210px;padding:22px}.why-grid,.proof-grid,.about-grid,.location-grid,.problem-grid,.case-faq-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.why-items article{padding:19px 0}.process-grid{grid-template-columns:repeat(2,1fr);row-gap:15px}.process-grid article{padding-right:12px}.process-grid h3{font-size:1.18rem}.proof-list strong{font-size:1.16rem}.contact-band{padding:58px 0}.contact-band-inner{display:block}.contact-band-actions{margin-top:28px;align-items:flex-start;flex-direction:column;gap:14px}.page-hero{padding:73px 0 70px}.page-hero p:not(.eyebrow){font-size:1rem}.about-text{font-size:1rem}.timeline>div{grid-template-columns:95px 1fr;gap:10px}.timeline strong{font-size:1.2rem}.credential-grid,.location-cards{grid-template-columns:1fr}.credential-grid article{min-height:140px}.location-cards article{padding:25px}.location-cards p{min-height:0}.index-service{grid-template-columns:1fr;min-height:0}.index-service img{height:190px}.index-service>div{padding:23px;min-height:205px}.detail-hero-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}.detail-hero-grid>div{padding:68px 0 40px}.detail-hero-grid>img{height:230px}.detail-hero h1{font-size:3rem}.detail-lead{font-size:1.03rem}.detail-tags{margin:22px 0 28px}.feature-grid{grid-template-columns:1fr;margin-top:30px}.feature-grid article{min-height:0;padding:24px}.feature-grid h3{margin:18px 0 8px}.steps{gap:8px}.steps li{min-height:105px;padding:18px}.case-faq-grid h2{font-size:2rem}.related{padding:55px 0}.project-group{display:block;padding:28px 0 37px}.project-group h2{font-size:1.8rem}.project-group ul{grid-template-columns:1fr}.project-group li{padding:12px 0}.support-grid{grid-template-columns:1fr}.support-grid article{padding:28px;min-height:0}.resource-list a{display:block}.resource-list span{display:block;margin-top:4px}.contact-number{font-size:2.35rem}.contact-address{margin-top:30px}.form-panel{padding:24px;margin:0 -18px}.form-row{grid-template-columns:1fr}.footer{padding:56px 0 30px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-grid>div:first-child{grid-column:span 2}.footer-logo{width:145px}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;height:64px;z-index:100;background:#fff;box-shadow:0 -4px 22px rgba(20,33,46,.18)}.mobile-cta a{display:flex;justify-content:center;align-items:center;font-weight:800}.mobile-cta a:first-child{background:var(--ink);color:#fff}.mobile-cta a:last-child{background:var(--orange-dark);color:#fff}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:760px){.robot-product-grid{grid-template-columns:1fr}.robot-product-image{height:230px}.robot-product-content{padding:24px}.robot-product-content>p:not(.robot-product-category){min-height:0}}
@media(max-width:900px){.hero-grid{min-height:450px}.hero-copy{padding:64px 0}.cctv-feature-heading{margin-bottom:34px}}
@media(max-width:640px){.hero-grid{min-height:0}.hero-copy{padding:70px 0}.hero-copy>p:not(.eyebrow){margin-bottom:28px}.cctv-feature-heading{margin-bottom:26px}.cctv-figure figcaption{margin-top:14px}}
.upload-help{margin:-9px 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}
.form-panel input[type=file]{padding:10px;background:#fff}
.form-submit:disabled{opacity:.65;cursor:wait}
#form-status.is-success{color:#17623b;font-weight:800}
#form-status.is-error{color:#a32424;font-weight:700}
.privacy-summary{background:#fff;border:1px solid #d6dfe3;border-radius:4px;padding:16px 18px;font-size:.9rem;line-height:1.55}
.privacy-summary strong{display:block;margin-bottom:7px}
.privacy-summary p{margin:3px 0;color:var(--muted)}
.quick-contact-panel{position:fixed;right:24px;top:96px;z-index:120;width:310px;padding:24px;background:#fff;border:1px solid #e2e6e8;border-top:4px solid var(--orange-dark);box-shadow:0 15px 45px #14212e30;border-radius:6px}.quick-contact-panel[hidden]{display:none}.quick-contact-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.quick-contact-heading>strong{font-size:1.25rem}.quick-contact-close{border:0;background:#eef1f3;padding:5px 9px;border-radius:3px;color:var(--ink);font-size:.8rem}.quick-contact-panel>p{font-size:.85rem;color:var(--muted);margin:10px 0 19px}.quick-contact-phone{display:block;padding:16px 0;border-top:1px solid var(--line)}.quick-contact-phone span{display:block;color:var(--muted);font-size:.83rem}.quick-contact-phone strong{font-size:1.5rem;letter-spacing:-.035em}.quick-contact-phone:hover strong{color:var(--orange-dark)}.quick-contact-online{display:block;border-top:1px solid var(--line);padding-top:17px;color:var(--orange-dark);font-weight:800;font-size:.9rem}.mobile-cta>button{border:0;background:var(--ink);color:white;font:inherit;font-weight:800}
@media(max-width:640px){.quick-contact-panel{top:auto;right:16px;bottom:80px;width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 168px);overflow-y:auto}}

/* CCTV sales landing and primary navigation */
.header-inner{gap:24px}.site-nav{gap:24px}.brand{width:164px}.header-actions{gap:16px;margin-left:0}
.nav-cctv{position:relative;flex:none}.nav-cctv-top{display:flex;background:var(--orange-dark);color:white;border-radius:4px;align-items:stretch}
.nav-cctv-link{padding:11px 0 11px 16px;white-space:nowrap}.nav-cctv-toggle{background:none;border:0;color:inherit;padding:8px 11px;font-size:1.2rem;line-height:1}
.nav-cctv-top:hover{background:#963a05}.nav-cctv-submenu{display:none;position:absolute;top:100%;left:0;width:238px;padding:12px;background:white;box-shadow:0 12px 30px #14212e24;border:1px solid var(--line);border-top:4px solid var(--orange);color:var(--ink);z-index:110}
.nav-cctv.is-open .nav-cctv-submenu{display:grid}.nav-cctv-submenu a{padding:11px 12px;border-radius:2px}.nav-cctv-submenu a:hover{background:#fff1e5;color:var(--orange-dark)}
.cctv-page{--cctv-header:82px}.cctv-page h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.25}.cctv-page h3{line-height:1.45}
.cctv-hero{background:#f4f2ee;overflow:hidden}.cctv-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;min-height:680px}
.cctv-hero-copy{padding:72px 0}.cctv-hero .eyebrow{letter-spacing:.18em}.cctv-kicker{font-weight:800;font-size:.96rem;margin-bottom:24px;color:#55616b}
.cctv-hero h1{font-size:clamp(2.6rem,4.2vw,4.3rem);line-height:1.23;letter-spacing:-.06em;margin-bottom:28px}.cctv-hero h1 em{font-style:normal;color:var(--orange-dark)}
.cctv-lead{color:#52616c;font-size:1.08rem;line-height:1.9;margin-bottom:30px}.cctv-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.cctv-phone{font-size:.92rem;font-weight:800;text-decoration:underline;text-underline-offset:5px}.cctv-hero-foot{font-size:.8rem;color:#66717a;margin:23px 0 0}
.cctv-hero-visual{position:relative;margin:0;height:520px;align-self:center}.cctv-hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:30% center;border-radius:160px 5px 5px 5px}.cctv-hero-visual:before{content:'';position:absolute;width:76px;height:76px;border-top:3px solid var(--orange-dark);border-left:3px solid var(--orange-dark);left:-17px;top:-17px}
.cctv-visual-tag{display:flex;align-items:center;gap:14px;background:var(--ink);color:white;position:absolute;bottom:36px;left:-28px;padding:22px 28px;box-shadow:0 14px 28px #14212e24;font-size:.85rem;line-height:1.7}.cctv-visual-tag strong{font-size:1.1rem}.cctv-cross{font-size:2.8rem;color:#ffab6e;line-height:1;font-weight:300}.cctv-hero-visual figcaption{position:absolute;right:0;bottom:-30px;color:#68737b;font-size:.7rem}
.cctv-section-nav{position:sticky;top:82px;z-index:90;background:white;border-bottom:1px solid var(--line)}.cctv-section-nav>.wrap{display:flex;justify-content:space-between;gap:25px;overflow-x:auto;scrollbar-width:thin}.cctv-section-nav a{font-size:.9rem;font-weight:800;padding:21px 0;white-space:nowrap;flex:none}.cctv-section-nav a:hover,.cctv-section-nav a:focus-visible{color:var(--orange-dark)}
.cctv-anchor{scroll-margin-top:165px}.cctv-heading{margin-bottom:42px;max-width:730px}.cctv-heading>p:not(.eyebrow){font-size:1.05rem;color:var(--muted);max-width:620px;line-height:1.85;margin-bottom:0}.cctv-heading h2{margin-bottom:22px}
.cctv-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.cctv-three>article{border-top:2px solid var(--ink);padding:28px 0 8px}.cctv-number{font-size:.8rem;color:var(--orange-dark);font-weight:800;letter-spacing:.08em;display:block;margin-bottom:22px}.cctv-three h3{font-size:1.45rem;margin-bottom:14px}.cctv-three p{color:var(--muted);font-size:.96rem;margin:0}
.cctv-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.cctv-feature-grid article{border-top:1px solid #cbd4da;padding:27px 0 32px}.cctv-feature-grid .cctv-number{float:right;margin:0}.cctv-label{font-size:.8rem;font-weight:800;color:var(--orange-dark);margin-bottom:14px}.cctv-feature-grid h3{font-size:1.45rem;margin-bottom:13px}.cctv-feature-grid article>p:last-child{color:var(--muted);max-width:470px;margin:0}
.cctv-note{font-size:.82rem!important;line-height:1.8!important;color:#607080;margin:25px 0}.cctv-demo{margin:44px 0 0}.cctv-demo video{display:block;width:100%;max-height:520px;background:#101b24;aspect-ratio:16/9}.cctv-demo figcaption{color:#607080;font-size:.8rem;margin-top:12px}
.cctv-three>.cctv-space-card{border:1px solid var(--line);padding:30px;background:#fff}.cctv-space-card .eyebrow{color:var(--orange-dark);margin-bottom:18px}.cctv-space-card h3{min-height:70px}.cctv-space-card ol{list-style:none;margin:24px 0 0;padding:0}.cctv-space-card li{border-top:1px solid var(--line);padding:16px 0}.cctv-space-card li strong{display:block;font-size:.95rem;margin-bottom:5px}.cctv-space-card li span{font-size:.88rem;color:var(--muted)}
.cctv-care{background:#eef2f4}.cctv-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;gap:22px;margin:0 0 60px}.cctv-steps li{border-top:1px solid #b6c4ce;padding-top:20px}.cctv-steps li>span{color:var(--orange-dark);font-weight:800;font-size:.8rem}.cctv-steps h3{font-size:1.1rem;margin:20px 0 10px}.cctv-steps p{font-size:.86rem;color:var(--muted);margin:0}
.cctv-plans{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cctv-plans article{padding:36px;background:white;border-top:4px solid var(--orange-dark)}.cctv-plans h3{font-size:1.65rem}.cctv-plans p:not(.eyebrow){color:var(--muted)}.cctv-plans ul{list-style:none;padding:0;margin:24px 0 0}.cctv-plans li{padding:10px 0;border-top:1px solid var(--line);font-size:.92rem}
.cctv-mid-cta{background:var(--ink);color:white;padding:70px 0}.cctv-mid-cta>.wrap{display:flex;justify-content:space-between;gap:40px;align-items:center}.cctv-mid-cta .eyebrow{color:#ffac6f}.cctv-mid-cta h2{font-size:clamp(1.8rem,3vw,2.65rem);margin-bottom:18px}.cctv-mid-cta p:last-child{color:#b9c7d0;max-width:570px;margin-bottom:0}.cctv-mid-cta .btn{flex:none}
.cctv-projects h3{font-size:1.25rem}.cctv-faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.cctv-faq-layout .faq-list{border-top:2px solid var(--ink)}.cctv-faq-layout summary{font-size:1rem;padding-top:23px;padding-bottom:23px}.cctv-inquiry{background:#fff5eb}.cctv-inquiry-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.cctv-inquiry .cctv-heading{position:sticky;top:175px}.cctv-inquiry .form-panel{background:white;padding:36px;border:1px solid #eadbd0}.cctv-inquiry .form-panel h2{font-size:1.7rem}.cctv-inquiry .privacy-summary{background:#f6f7f8;border:0;font-size:.82rem}.privacy-summary summary{cursor:pointer;font-weight:800}.privacy-summary[open] summary{margin-bottom:12px}
@media(min-width:901px) and (max-width:1240px){.header-inner{gap:18px}.brand{width:145px}.site-nav{gap:18px}.header-phone{display:none}.header-actions .btn{padding:10px 12px}.nav-cctv-link{padding-left:12px}.nav-cctv-toggle{padding:8px}}
@media(max-width:1000px){.cctv-hero-grid{gap:30px}.cctv-hero h1{font-size:3rem}.cctv-hero-visual{height:460px}.cctv-three{gap:18px}.cctv-three>.cctv-space-card{padding:24px}.cctv-inquiry-grid{gap:35px}.cctv-faq-layout{gap:40px}.cctv-mid-cta>.wrap{flex-direction:column;align-items:flex-start}}
@media(max-width:900px){.nav-cctv-top{justify-content:space-between}.nav-cctv-link{flex:1;padding:13px 16px}.nav-cctv-toggle{padding:10px 18px}.nav-cctv-submenu{position:static;width:100%;box-shadow:none;border:0;border-bottom:1px solid var(--line);padding:8px}.site-nav{gap:0}.cctv-hero-grid{min-height:610px;grid-template-columns:1fr .8fr}.cctv-hero h1{font-size:2.65rem}.cctv-hero-copy{padding:60px 0}.cctv-kicker{font-size:.86rem}.cctv-lead{font-size:.97rem}.cctv-hero-visual{height:410px}.cctv-hero-visual>img{border-top-left-radius:100px}.cctv-visual-tag{padding:18px;left:-16px;bottom:25px}.cctv-visual-tag strong{font-size:.94rem}.cctv-section-nav>.wrap{gap:25px}.cctv-section-nav a{font-size:.84rem;padding:17px 0}.cctv-three{grid-template-columns:1fr;gap:20px}.cctv-three>article{padding:24px 0}.cctv-three>.cctv-space-card{padding:28px}.cctv-space-card h3{min-height:0}.cctv-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.cctv-inquiry-grid{grid-template-columns:1fr}.cctv-inquiry .cctv-heading{position:static;max-width:100%}.cctv-faq-layout{grid-template-columns:1fr;gap:0}.cctv-inquiry .form-panel{margin:0}}
@media(max-width:640px){.cctv-page{--cctv-header:68px}.cctv-hero-grid{grid-template-columns:1fr;gap:0;min-height:0}.cctv-hero-copy{padding:47px 0 35px}.cctv-hero h1{font-size:clamp(1.95rem,7.6vw,3rem);letter-spacing:-.055em;margin-bottom:22px}.cctv-kicker{font-size:.79rem;margin-bottom:20px}.cctv-hero .eyebrow{font-size:.72rem;margin-bottom:13px}.cctv-lead{font-size:.95rem;margin-bottom:23px}.cctv-actions{gap:16px}.cctv-actions .btn{width:100%;font-size:.93rem}.cctv-phone{font-size:.86rem}.cctv-hero-foot{font-size:.7rem;margin-top:19px}.cctv-hero-visual{height:270px;margin:0 0 45px 15px}.cctv-hero-visual>img{border-radius:90px 4px 4px 4px;object-position:30% 52%}.cctv-hero-visual:before{width:48px;height:48px;left:-12px;top:-12px}.cctv-visual-tag{padding:13px 19px;bottom:20px;font-size:.72rem;gap:12px}.cctv-visual-tag strong{font-size:.9rem}.cctv-cross{font-size:2.3rem}.cctv-hero-visual figcaption{font-size:.62rem;bottom:-25px}.cctv-section-nav{top:68px}.cctv-section-nav>.wrap{width:100%;padding:0 18px;gap:24px}.cctv-section-nav a{font-size:.8rem;padding:15px 0}.cctv-anchor{scroll-margin-top:140px}.cctv-heading{margin-bottom:30px}.cctv-heading>p:not(.eyebrow){font-size:.96rem}.cctv-page h2{font-size:2rem}.cctv-feature-grid{grid-template-columns:1fr}.cctv-feature-grid h3{font-size:1.25rem}.cctv-feature-grid article>p:last-child{font-size:.93rem}.cctv-three h3{font-size:1.3rem}.cctv-note{font-size:.76rem!important}.cctv-demo{margin-top:30px}.cctv-demo figcaption{font-size:.7rem}.cctv-steps{grid-template-columns:1fr 1fr;margin-bottom:35px;gap:22px 15px}.cctv-plans{grid-template-columns:1fr;gap:18px}.cctv-plans article{padding:28px}.cctv-plans h3{font-size:1.45rem}.cctv-mid-cta{padding:50px 0}.cctv-mid-cta h2{font-size:1.7rem}.cctv-mid-cta p:last-child{font-size:.94rem}.cctv-mid-cta>.wrap{gap:25px}.cctv-mid-cta .btn{width:100%}.cctv-faq-layout summary{font-size:.92rem;line-height:1.6}.cctv-inquiry .form-panel{padding:25px 20px}.cctv-inquiry .form-panel h2{font-size:1.5rem}.cctv-inquiry-grid{gap:0}.cctv-inquiry .contact-number{margin:24px 0}.cctv-inquiry .form-submit{width:100%}.cctv-inquiry input,.cctv-inquiry select,.cctv-inquiry textarea{font-size:16px}}
.admin-mode-link:not([hidden]){display:inline-flex;align-items:center;white-space:nowrap;color:#a94b10;font-size:.85rem;font-weight:800;border:1px solid #e5b18f;border-radius:6px;padding:8px 10px}.admin-mode-link:hover{background:#fff3eb}@media(min-width:901px){.admin-mode-link:not([hidden]){order:3}}@media(max-width:900px){.admin-mode-link:not([hidden]){order:2;margin-left:auto}.menu-toggle{margin-left:0}}@media(max-width:640px){.admin-mode-link:not([hidden]){font-size:.75rem;padding:7px}}
