/* HD COOL R29 — ONLY HOMEPAGE. Load after premium-r27.css. */
:root{--r29-cyan:#1ce4f0;--r29-blue:#081c2b;}
/* Navigation: five service paths, no dead-end informational cells. */
.r27-front-page .r29-quick-nav{border-top:1px solid rgba(28,228,240,.45);border-bottom:1px solid rgba(28,228,240,.25);background:#041f30;position:relative;z-index:4}
.r27-front-page .r29-quick-nav .r27-trust-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;width:min(100% - 38px,1640px);margin:0 auto;}
.r27-front-page .r29-quick-link{display:flex;align-items:center;justify-content:center;min-height:67px;padding:9px 14px;gap:12px;color:#fff;text-decoration:none;border-right:1px solid rgba(65,184,207,.32);transition:background .2s ease;color-scheme:dark}
.r27-front-page .r29-quick-link:last-child{border-right:0}
.r27-front-page .r29-quick-link:is(:hover,:focus-visible){background:#0b3448;outline:2px solid var(--r29-cyan);outline-offset:-2px}
.r27-front-page .r29-quick-icon{font-size:25px;line-height:1;color:var(--r29-cyan);flex:0 0 auto;text-shadow:0 0 20px rgba(28,228,240,.28)}
.r27-front-page .r29-quick-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.r27-front-page .r29-quick-copy strong{font-size:13px;line-height:1.2;font-weight:850;white-space:normal}
.r27-front-page .r29-quick-copy small{color:#b3d7e6;font-size:11px;line-height:1.25}
/* Five distinctive service cards in the requested order */
.r27-front-page .r27-services .r27-cards{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;align-items:stretch;}
.r27-front-page .r27-services .r29-photo-card{position:relative;display:block;overflow:hidden;min-width:0;min-height:270px;height:auto!important;aspect-ratio:0.88!important;background:#092339;border-radius:12px;isolation:isolate;border:1px solid rgba(42,204,226,.47);text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.r27-front-page .r27-services .r29-photo-card:hover{transform:translateY(-3px);border-color:#31e4f2}
.r27-front-page .r27-services .r29-photo-card:focus-visible{outline:3px solid #28dcec;outline-offset:3px}
.r27-front-page .r27-services .r29-photo-card img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 40%!important;display:block;transition:transform .3s ease}
.r27-front-page .r27-services .r29-photo-card:hover img{transform:scale(1.045)}
.r27-front-page .r27-services .r29-photo-card::after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(180deg,transparent 14%,rgba(0,12,23,.7) 60%,rgba(0,13,22,.98) 100%);z-index:1;pointer-events:none}
.r27-front-page .r27-services .r29-photo-card .r27-card-icon{position:absolute!important;left:12px;top:12px;z-index:2}
.r27-front-page .r27-services .r29-photo-card .r27-card-copy{position:absolute!important;z-index:2;bottom:14px;left:14px;right:33px;display:flex!important;flex-direction:column;gap:5px}
.r27-front-page .r27-services .r29-photo-card .r27-card-copy strong{font-weight:850;font-size:clamp(15px,1.1vw,21px);line-height:1.15;color:#fff}
.r27-front-page .r27-services .r29-photo-card .r27-card-copy small{color:#e7f6ff;font-size:clamp(11px,.79vw,13px);line-height:1.3}
.r27-front-page .r27-services .r29-photo-card .r27-card-arrow{z-index:2;position:absolute!important;right:13px;bottom:14px;color:var(--r29-cyan)}
.r27-front-page .r27-services .r29-photo-card.r29-cameras img{object-position:center 32%!important}
.r27-front-page .r27-services .r29-photo-card.r29-tesla img{object-position:center 32%!important}
.r27-front-page .r29-other-services{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:15px;padding:13px 0;border-top:1px solid rgba(51,184,206,.23);align-items:center;font-size:13px}
.r27-front-page .r29-other-services span{color:#a9c7d3}
.r27-front-page .r29-other-services a{color:#5cebf3;text-underline-offset:4px;font-weight:700}
.r27-front-page .r29-other-services a:focus-visible{outline:2px solid #20e4f1;outline-offset:3px}
.r27-front-page .r27-links .r27-links-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
/* Hero: deliberate compact first-fold height so quick links are not hidden by the dock. */
.r27-front-page .r27-hero{position:relative;isolation:isolate}
.r27-front-page .r29-mobile-electrical{display:none}
.r27-front-page .r27-hero-content{position:relative;z-index:3}
.r27-front-page .r27-hero .r27-photo-note{z-index:3}
/* Keep desktop header readable when the 5th nav link is added. */
@media (min-width:1081px) and (max-width:1520px){.r27-front-page .header .nav.desktop{gap:clamp(5px,.7vw,12px)!important}.r27-front-page .header .nav.desktop a{font-size:clamp(10px,.8vw,12px)!important;white-space:nowrap}.r27-front-page .header .head-tel{font-size:12px!important}}
@media (max-width:1280px){.r27-front-page .r27-services .r27-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}.r27-front-page .r27-links .r27-links-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){
 .r27-front-page .r29-quick-nav .r27-trust-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .r27-front-page .r29-quick-link{min-height:55px;padding:7px 4px;gap:5px;border-right:1px solid rgba(65,184,207,.2);border-bottom:1px solid rgba(65,184,207,.2);flex-direction:column;text-align:center}
 .r27-front-page .r29-quick-icon{font-size:18px}
 .r27-front-page .r29-quick-copy strong{font-size:10.5px}
 .r27-front-page .r29-quick-copy small{display:none}
 .r27-front-page .r27-services .r27-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .r27-front-page .r27-links .r27-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .r27-front-page .r27-services .r29-photo-card{min-height:194px;aspect-ratio:.83!important}
 .r27-front-page .r27-services .r29-photo-card .r27-card-copy strong{font-size:16px}
 .r27-front-page .r27-services .r29-photo-card .r27-card-copy small{font-size:11px}
 .r27-front-page .r29-mobile-electrical{display:block;position:absolute;right:0;top:0;width:59%;height:100%;overflow:hidden;z-index:1;pointer-events:none;opacity:.48;mask-image:linear-gradient(to right,transparent 0%,black 75%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 75%)}
 .r27-front-page .r29-mobile-electrical img{width:100%;height:100%;object-fit:cover;object-position:center center}
 .r27-front-page .r27-hero-overlay{z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(0,22,36,.98) 0%,rgba(0,22,36,.87) 64%,rgba(0,20,35,.76) 100%)!important}
 .r27-front-page .r27-hero-photo{opacity:.34!important}
}
@media (max-width:540px){
 .r27-front-page .r27-hero{min-height:0!important;height:auto!important;padding-top:0!important;padding-bottom:0!important;}
 .r27-front-page .r27-hero-content{padding:20px 16px 22px!important;min-height:0!important;max-width:none!important}
 .r27-front-page .r27-breadcrumb{font-size:11px!important;margin:0 0 12px!important}
 .r27-front-page .r27-pretitle{font-size:10px!important;letter-spacing:.09em!important;margin:0 0 12px!important}
 .r27-front-page .r27-hero h1{font-size:clamp(29px,7.5vw,36px)!important;line-height:1.07!important;letter-spacing:-.035em!important;margin:0 0 12px!important;max-width:100%!important}
 .r27-front-page .r27-hero-content > p{font-size:13px!important;line-height:1.45!important;margin:0 0 13px!important;max-width:100%!important}
 .r27-front-page .r27-actions{display:flex!important;flex-direction:column!important;gap:7px!important;margin:0!important}
 .r27-front-page .r27-actions .r27-btn{width:100%!important;min-height:39px!important;padding:9px 12px!important;justify-content:center!important;font-size:12px!important;text-align:center!important;}
 .r27-front-page .r27-photo-note{display:none!important}
 .r27-front-page .r27-services .r27-cards{gap:8px!important}
 .r27-front-page .r27-services .r29-photo-card{min-height:198px;aspect-ratio:.84!important}
 .r27-front-page .r27-services .r29-photo-card:last-child:nth-child(odd){grid-column:1/-1;max-height:214px;aspect-ratio:1.9!important}
 .r27-front-page .r27-services .r29-photo-card:last-child:nth-child(odd) img{object-position:center 48%!important}
 .r27-front-page .r27-services .r29-photo-card .r27-card-copy{left:10px;bottom:11px;right:24px}
 .r27-front-page .r27-services .r29-photo-card .r27-card-copy strong{font-size:14px;line-height:1.15}
 .r27-front-page .r27-services .r29-photo-card .r27-card-copy small{font-size:10px;line-height:1.3}
 .r27-front-page .r27-services .r29-photo-card .r27-card-arrow{right:9px;bottom:11px}
 .r27-front-page .r27-links .r27-links-grid{grid-template-columns:1fr}
 .r27-front-page .r29-other-services{gap:7px 14px;font-size:12px}
 /* Fixed CTA never traps page links below it; respects device safe-area. */
 .r27-front-page{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
 .r27-front-page .mobile-dock{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:1000!important;min-height:60px!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;background:#041c2e!important;box-shadow:0 -8px 30px rgba(0,8,18,.75)!important}
}
@media (max-width:360px){.r27-front-page .r27-hero h1{font-size:27px!important}.r27-front-page .r27-services .r29-photo-card .r27-card-copy strong{font-size:13px}}
@media (prefers-reduced-motion:reduce){.r27-front-page .r29-photo-card,.r27-front-page .r29-photo-card img,.r27-front-page .r29-quick-link{transition:none!important}}
