
/* Illyrians Security visual refresh — charcoal / white / signal red */
:root{--is-red:#ed1c2e;--is-red-dark:#b90f1e;--is-black:#08090b;--is-panel:#111316;--is-line:rgba(255,255,255,.14);--is-muted:#b7bac1}
html{scroll-behavior:smooth} body{font-family:'Poppins','Open Sans',Arial,sans-serif!important;color:#f4f5f7!important;background:var(--is-black)!important;line-height:1.65} ::selection{background:var(--is-red);color:white}
a{transition:color .2s,background .2s,border-color .2s} a:hover{color:var(--is-red)!important}
.hero_area{min-height:0;background:#08090b}.hero_bg_box{z-index:0;pointer-events:none;max-height:760px}.hero_bg_box img{width:100%;height:100%;object-fit:cover;opacity:.48;filter:brightness(.65)}.hero_bg_box:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.82),rgba(5,6,8,.45) 55%,rgba(5,6,8,.82));}
.header_section{position:relative;z-index:20;background:rgba(8,9,11,.96);border-bottom:1px solid var(--is-line);box-shadow:0 8px 28px rgba(0,0,0,.2)}.header_top{padding:9px 0;background:#0c0d0f;border-bottom:1px solid rgba(255,255,255,.08)}.header_top .contact_link-container{gap:18px;flex-wrap:wrap}.header_top .contact_link-container a{font-size:12px;color:#d9dbe0}.header_top .contact_link-container a i{color:var(--is-red)}.header_bottom{padding:0 0 3px}.header_section .container-fluid{padding-left:4.4%;padding-right:4.4%}.custom_nav-container{min-height:78px}.navbar-brand{align-items:flex-start;margin-right:30px}.navbar-brand span{font-size:26px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;line-height:1.1}.navbar-brand span:after{content:'SECURITY';display:block;color:var(--is-red);font-size:11px;letter-spacing:6px;margin-top:5px}.custom_nav-container .navbar-nav .nav-item .nav-link{padding:27px 16px 22px;color:#e6e7ea;font-size:13px;font-weight:500;position:relative;background:transparent!important}.custom_nav-container .navbar-nav .nav-item .nav-link:after{content:'';position:absolute;left:16px;right:16px;bottom:13px;height:2px;background:var(--is-red);transform:scaleX(0);transform-origin:left;transition:transform .2s}.custom_nav-container .navbar-nav .nav-item:hover .nav-link:after,.custom_nav-container .navbar-nav .nav-item.active .nav-link:after{transform:scaleX(1)}.custom_nav-container .navbar-toggler{margin:12px 0}.custom_nav-container .navbar-toggler span,.custom_nav-container .navbar-toggler span:before,.custom_nav-container .navbar-toggler span:after{background:var(--is-red)}
/* section rhythm and typography */
section{position:relative}.layout_padding{padding-top:72px;padding-bottom:72px}.heading_container h2{font-weight:800;letter-spacing:-.7px;font-size:clamp(26px,3vw,38px);padding-bottom:18px}.heading_container h2:before{height:3px;width:48px;border-radius:0;background:var(--is-red)}.heading_container p,.detail-box p{color:#c6c8ce}.btn-box a,.btn-box button,.contact_form-container button,.gallery-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--is-red)!important;background:var(--is-red)!important;color:#fff!important;border-radius:5px;padding:12px 22px;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;transition:all .2s}.btn-box a:hover,.btn-box button:hover,.contact_form-container button:hover,.gallery-cta:hover{background:transparent!important;color:var(--is-red)!important}
.about_section,.service_section,.client_section,.contact_section,.info_section{background:var(--is-black)!important}.about_section .detail-box,.service_section .box,.client_section .box{background:linear-gradient(145deg,#141619,#0c0d0f);border:1px solid var(--is-line);border-radius:8px;padding:26px}.about_section .img-box img,.service_section .img-box img{border-radius:8px;object-fit:cover}.service_section .box{height:100%;transition:transform .2s,border-color .2s}.service_section .box:hover{transform:translateY(-4px);border-color:rgba(237,28,46,.7)}.service_section .box .detail-box h5,.service_section h5{color:white;font-weight:700}.info_section{border-top:1px solid var(--is-line);padding:55px 0 25px}.info_section h5,.info_section h4{color:#fff}.info_section p,.info_section a{color:#bfc2c8}.info_section .info_logo span{color:#fff;font-weight:800;letter-spacing:1px}.info_section .info_logo span:after{content:' SECURITY';color:var(--is-red);letter-spacing:3px}.info_section .info_form input{background:#111316;border:1px solid #34373c;color:#fff;border-radius:4px}.contact_section .contact_bg_box{opacity:.14}.contact_section .heading_container{margin-bottom:32px}.contact_form-container input,.contact_form-container textarea{width:100%;background:#111316!important;color:#fff!important;border:1px solid #35383e!important;border-radius:4px;padding:14px 16px;margin:0 0 14px;outline:none}.contact_form-container input:focus,.contact_form-container textarea:focus{border-color:var(--is-red)!important}.contact_form-container input::placeholder,.contact_form-container textarea::placeholder{color:#aeb1b8}.contact_form-container textarea{min-height:140px;resize:vertical}.contact_form-container .btn-box{margin-top:5px}.contact_form-container button{cursor:pointer}
.sub_page .hero_area{min-height:0}.sub_page .hero_bg_box{height:380px;max-height:380px}.sub_page .hero_bg_box img{object-fit:cover}.sub_page main,.sub_page .page-content{position:relative;z-index:1}.sub_page .about_section,.sub_page .service_section{position:relative;z-index:1}
/* Modern page banner */
.page-banner{position:relative;padding:70px 0 55px;background:linear-gradient(100deg,rgba(7,8,10,.97),rgba(7,8,10,.74)),url('../images/hero-bg.jpg') center/cover no-repeat;border-bottom:1px solid var(--is-line)}.page-banner .eyebrow,.eyebrow{display:block;color:var(--is-red);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}.page-banner h1{font-size:clamp(32px,4vw,48px);font-weight:800;line-height:1.12;text-transform:uppercase;margin:0}.page-banner h1 span{color:var(--is-red)}
@media(max-width:991px){.header_top .contact_link-container{justify-content:center}.header_section .container-fluid{padding-left:20px;padding-right:20px}.custom_nav-container{min-height:70px;flex-wrap:wrap}.custom_nav-container .navbar-brand{margin-right:auto}.custom_nav-container .navbar-collapse{flex-basis:100%;background:#0d0e10;border-top:1px solid var(--is-line);padding:10px 0 18px}.custom_nav-container .navbar-nav .nav-item .nav-link{padding:12px 18px}.custom_nav-container .navbar-nav .nav-item .nav-link:after{bottom:5px;left:35%;right:35%}.sub_page .hero_bg_box{height:300px}.layout_padding{padding-top:52px;padding-bottom:52px}}
@media(max-width:575px){.header_top .contact_link-container{gap:8px 14px}.header_top .contact_link-container a{font-size:11px}.navbar-brand span{font-size:21px}.page-banner{padding:52px 0 38px}.sub_page .hero_bg_box{height:230px}.layout_padding{padding-top:42px;padding-bottom:42px}.about_section .detail-box,.service_section .box{padding:20px}}

/* Footer social links: visible, accessible, and styled in the brand palette */
.info_section .social_box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.info_section .social_box a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(237,28,46,.75);border-radius:50%;color:#fff!important;background:#111316;text-decoration:none;font-size:16px;transition:background .2s,border-color .2s,transform .2s}.info_section .social_box a:hover,.info_section .social_box a:focus-visible{background:var(--is-red);border-color:var(--is-red);color:#fff!important;transform:translateY(-2px)}.info_section .social-heading{margin-top:20px}

/* V3: ensure the original animated hero asset is actually visible and responsive */
.hero_area{position:relative;isolation:isolate;min-height:0;overflow:hidden;background:#08090b}
body:not(.sub_page) .hero_area{min-height:clamp(560px,88vh,900px)}
.hero_bg_box{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-height:none!important;overflow:hidden;z-index:0!important;display:block!important;pointer-events:none}
.hero_bg_box .img-box,.hero_bg_box .img-box-responsive{width:100%;height:100%;min-height:100%;overflow:hidden}
.hero_bg_box img{display:block;width:100%!important;height:100%!important;min-width:100%;min-height:100%;object-fit:cover;object-position:center center;opacity:.58;filter:brightness(.72);}
.hero_bg_box:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.74),rgba(5,6,8,.24) 50%,rgba(5,6,8,.72));z-index:1}
.hero_area>.header_section,.hero_area>.slider_section{position:relative;z-index:2}
.hero_area>.slider_section{flex:1;display:flex;align-items:center;min-height:360px;padding:clamp(36px,6vw,80px) 0}
.hero_area>.slider_section .detail-box{max-width:650px;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.hero_area>.slider_section .detail-box h1{font-size:clamp(34px,5vw,64px);line-height:1.08}
.hero_area>.slider_section .detail-box p{font-size:clamp(15px,1.4vw,18px);max-width:560px}
.hero_area>.slider_section .carousel-inner,.hero_area>.slider_section .carousel-item{min-height:260px}
.hero_area>.slider_section .carousel-indicators{z-index:3}
img,video{max-width:100%}
html{overflow-x:hidden}body{overflow-x:hidden}
@media(max-width:991px){body:not(.sub_page) .hero_area{min-height:620px}.hero_area>.slider_section{min-height:420px;padding:50px 0}.hero_bg_box img{object-position:58% center}.hero_area>.header_section{background:rgba(8,9,11,.94)}}
@media(max-width:575px){body:not(.sub_page) .hero_area{min-height:600px}.hero_area>.slider_section{min-height:390px;padding:34px 0}.hero_area>.slider_section .detail-box h1{font-size:clamp(32px,9vw,44px)}.hero_area>.slider_section .detail-box p{font-size:15px;line-height:1.7}.hero_bg_box img{object-position:58% center}.hero_bg_box:after{background:linear-gradient(90deg,rgba(5,6,8,.78),rgba(5,6,8,.44))}.header_section .container-fluid{padding-left:14px;padding-right:14px}.info_section{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Mobile and footer refinements requested for V3 */
.safe-contractor-badge{display:block;width:140px!important;height:auto!important;max-width:100%;object-fit:contain;flex:0 1 140px;margin:0 10px 8px 0;border:0!important}
.info_section .social_box{align-items:center;gap:10px}
.info_section .footer-social{margin-top:12px}
/* The radio image remains as a page-banner background, not behind navigation/content. */
.sub_page .hero_area>.hero_bg_box{display:none!important}
.sub_page .page-banner{background-image:linear-gradient(100deg,rgba(7,8,10,.94),rgba(7,8,10,.68)),url('../images/hero-bg.jpg');background-position:center center;background-size:cover;background-repeat:no-repeat}
/* Keep the intro animation centered on narrow screens; avoid the old right-float offset. */
@media(max-width:992px){.hero_bg_box .img-box-responsive{width:100%;height:100%;overflow:hidden}.hero_bg_box .img-box-responsive img{float:none!important;margin-right:0!important;display:block;width:100%!important;height:100%!important;min-width:100%;min-height:100%;object-fit:cover;object-position:center center!important}}
@media(max-width:575px){body:not(.sub_page) .hero_area{min-height:600px}.hero_bg_box img{object-position:center center!important}.safe-contractor-badge{width:120px!important;flex-basis:120px}}

/* V5 performance/layout correction: homepage height rules must never affect subpages. */
body.sub_page .hero_area{min-height:0!important;height:auto!important;overflow:visible}
body.sub_page .hero_area>.header_section{position:relative;z-index:2}
body.sub_page .page-banner{margin-top:0}
@media(max-width:991px){body.sub_page .hero_area{min-height:0!important;height:auto!important}}
