/* CAP 3.1.3 - Layout rebuild based on approved mockup */
:root{--cap313-navy:#062b50;--cap313-deep:#031d35;--cap313-text:#41566c;--cap313-red:#e21c24;--cap313-yellow:#f5c400;--cap313-green:#20ad5a;--cap313-line:#dbe5ec}

/* header / global */
.site-header{background:#fff!important;backdrop-filter:none!important;box-shadow:none!important;border-bottom:1px solid #e8eef2!important}
.header-inner{height:78px!important;min-height:78px!important;padding:0!important}
.brand{width:146px!important;height:auto!important;overflow:visible!important}
.brand img{width:146px!important;height:auto!important;max-height:60px!important;object-fit:contain!important}
.site-nav{gap:22px!important}
.cap-menu{gap:22px!important}
.cap-menu a{font-size:13px!important;font-weight:800!important}
.site-nav .btn{min-height:44px!important;padding:0 21px!important;font-size:13px!important}
.container,.cap-shell{width:min(1280px,calc(100% - 48px))!important}
.cap-accent-line{background:var(--cap313-navy)!important}

/* Hero */
.cap313-hero{background:linear-gradient(135deg,#fff 0%,#f7fafc 100%);padding:34px 0 22px;overflow:hidden}
.cap313-hero-shell{position:relative}
.cap313-hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:stretch;gap:0;background:#fff0}
.cap313-copy{padding:54px 44px 42px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.cap313-copy .cap-eyebrow{margin-bottom:12px}
.cap313-copy h1{font-size:clamp(50px,4.7vw,72px)!important;line-height:.98!important;letter-spacing:-.055em!important;margin:0!important;color:var(--cap313-deep)!important;max-width:680px!important}
.cap313-copy .cap-accent-line{width:215px!important;max-width:none!important;height:6px!important;margin-top:14px!important}
.cap313-copy>p{font-size:18px!important;line-height:1.45!important;color:#41566c!important;margin:20px 0 25px!important;max-width:640px!important}
.cap313-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cap313-actions .cap-btn{min-height:50px!important;padding:0 24px!important;font-size:14px!important}
.cap313-trust{display:grid;grid-template-columns:repeat(3,max-content);gap:24px;margin-top:27px;align-items:center}
.cap313-trust>div{display:flex;align-items:center;gap:8px;color:#1a3652;font-size:12px;white-space:nowrap}
.cap313-trust-icon{width:31px;height:31px;border:2px solid #0b3157;border-radius:50%;display:grid;place-items:center;font-weight:950;font-size:15px;color:#0b3157;background:#fff}
.cap313-visual{position:relative;min-height:535px;overflow:hidden;border-radius:0 0 0 0}
.cap313-hero-img{width:100%!important;height:535px!important;object-fit:cover!important;object-position:center 17%!important;border-radius:0!important;box-shadow:none!important}
.cap313-script{position:absolute;left:6%;top:9%;z-index:2;font-family:"Segoe Script","Brush Script MT",cursive;font-size:30px;line-height:1.05;font-weight:650;color:#0b3157;transform:rotate(-6deg);text-shadow:0 1px 0 rgba(255,255,255,.65)}
.cap313-offer{position:absolute;left:7%;right:7%;bottom:16px;display:grid;grid-template-columns:1fr 108px;align-items:center;gap:14px;padding:12px 13px 12px 17px;background:rgba(255,255,255,.97);border:1px solid #dae4eb;border-radius:13px;text-decoration:none!important;box-shadow:0 9px 24px rgba(6,43,80,.14);color:var(--cap313-navy)!important}
.cap313-offer small{font-size:9px;font-weight:900;letter-spacing:.03em;color:#182f47;display:block;line-height:1.25}
.cap313-offer strong{font-size:24px;line-height:1;display:block;margin:1px 0 2px;color:var(--cap313-navy)}
.cap313-offer span{font-size:12px;color:#425b72}
.cap313-offer img{width:108px!important;height:63px!important;object-fit:cover!important;border-radius:7px!important;margin:0!important;box-shadow:none!important}

/* compact services under hero */
.cap313-service-row{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:12px}
.cap313-service{position:relative;display:grid;grid-template-rows:100px auto;min-width:0;background:#fff;border:1px solid #dbe5ec;border-radius:11px;overflow:hidden;text-decoration:none!important;color:var(--cap313-navy)!important;box-shadow:0 6px 18px rgba(6,43,80,.045)}
.cap313-service>img{width:100%!important;height:100px!important;object-fit:cover!important;margin:0!important}
.cap313-service>div{padding:16px 16px 15px}
.cap313-service h3{font-size:18px!important;line-height:1.12!important;margin:0 0 4px!important;color:var(--cap313-navy)!important}
.cap313-service p{font-size:13px!important;line-height:1.3!important;margin:0!important;color:#344f68!important}
.cap313-service-icon{position:absolute;left:14px;top:80px;width:42px;height:42px;border:4px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:19px;font-weight:900;z-index:2}
.cap313-electric .cap313-service-icon{background:#f5b800}.cap313-water .cap313-service-icon{background:#2584c7}.cap313-blind .cap313-service-icon{background:#596166}.cap313-tools .cap313-service-icon{background:#279b51}

/* lifestyle block like mockup */
.cap313-lifestyle{padding:44px 0 0;background:#fff}
.cap313-lifestyle-grid{display:grid;grid-template-columns:.78fr 1.22fr;min-height:360px;border-radius:0;overflow:hidden;background:var(--cap313-deep)}
.cap313-lifestyle-copy{padding:44px 48px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.cap313-lifestyle-copy h2{font-size:37px!important;line-height:1.03!important;color:#fff!important;margin:0 0 14px!important;letter-spacing:-.03em!important}
.cap313-lifestyle-copy p{color:#d7e3eb!important;font-size:15px!important;line-height:1.5!important;margin:0 0 18px!important}
.cap313-lifestyle-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.cap313-lifestyle-copy li{font-size:14px;font-weight:750;padding-left:28px;position:relative}.cap313-lifestyle-copy li:before{content:'✓';position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;background:#ffc400;color:#052a4e;display:grid;place-items:center;font-size:11px;font-weight:950}
.cap313-lifestyle-grid>img{width:100%!important;height:360px!important;object-fit:cover!important;object-position:center!important}

/* split sections */
.cap313-split-section{padding:74px 0!important}
.cap313-split{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
.cap313-split-copy h2{font-size:clamp(38px,4vw,55px)!important;line-height:1.04!important;letter-spacing:-.045em!important;margin:0 0 17px!important;color:var(--cap313-deep)!important}
.cap313-split-copy>p{font-size:16px!important;line-height:1.5!important;color:#647688!important;margin:0 0 18px!important}
.cap313-split-media{position:relative}
.cap313-split-media>img{width:100%!important;height:500px!important;object-fit:cover!important;border-radius:24px!important;box-shadow:0 18px 48px rgba(6,43,80,.10)!important}
.cap313-video-split .cap313-split-copy{order:1}.cap313-video-split .cap313-split-media{order:2}
.cap313-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 24px}
.cap313-steps>div{border:1px solid #dbe5ec;border-radius:15px;padding:15px;background:#fff;min-width:0}
.cap313-steps b{display:block;font-size:10px;color:#e21c24;letter-spacing:.12em;margin-bottom:6px}.cap313-steps strong{display:block;font-size:15px;color:#062b50;line-height:1.2}.cap313-steps span{display:block;font-size:11px;color:#6b7c8e;margin-top:5px;line-height:1.3}

/* why / faq / final */
.cap313-why{padding:62px 0!important}.cap313-why .cap-section-head{margin-bottom:28px!important}.cap313-values{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.cap313-values>div{text-align:center;background:#fff;border:1px solid #dbe5ec;border-radius:13px;padding:18px 12px}.cap313-values b{display:block;font-size:15px;color:#062b50}.cap313-values span{display:block;font-size:11px;color:#7b8a98;margin-top:4px;line-height:1.3}
.cap313-faq{padding:68px 0!important}.cap313-faq .cap-faq{max-width:880px}.cap313-faq .cap-section-head{margin-bottom:25px!important}.cap313-final{padding:0 0 65px}.cap313-final .cap-cta{border-radius:18px!important;padding:33px 38px!important}

/* footer cleanup */
.site-footer{padding-top:46px!important}.footer-logo{width:190px!important;height:auto!important;object-fit:contain!important}.footer-grid-simple{grid-template-columns:1.2fr .8fr 1fr!important;gap:48px!important}.footer-bottom{margin-top:34px!important}

/* tablet */
@media(max-width:1020px){
 .container,.cap-shell{width:min(100% - 32px,1280px)!important}
 .cap313-hero-grid{grid-template-columns:1fr!important}
 .cap313-copy{padding:38px 10px 30px!important}
 .cap313-copy h1{font-size:58px!important;max-width:780px!important}
 .cap313-visual{min-height:490px}.cap313-hero-img{height:490px!important;border-radius:20px!important}
 .cap313-service-row{grid-template-columns:repeat(2,1fr)}
 .cap313-lifestyle-grid{grid-template-columns:1fr!important}.cap313-lifestyle-grid>img{height:330px!important}
 .cap313-split{gap:36px!important}.cap313-split-media>img{height:410px!important}
 .footer-grid-simple{grid-template-columns:1fr 1fr!important}.footer-brand-col{grid-column:1/-1!important}
}

/* mobile */
@media(max-width:780px){
 .header-inner{height:68px!important;min-height:68px!important;padding:0!important}.brand{width:126px!important}.brand img{width:126px!important;max-height:50px!important}.menu-toggle{display:block!important}.site-nav{top:64px!important;left:10px!important;right:10px!important;border-radius:15px!important;padding:17px!important}.site-nav .btn{width:100%!important}
 .container,.cap-shell{width:calc(100% - 24px)!important}
 .cap313-hero{padding:18px 0 18px!important}
 .cap313-copy{padding:16px 0 22px!important}
 .cap313-copy .cap-eyebrow{font-size:10px!important;margin-bottom:9px!important}
 .cap313-copy h1{font-size:39px!important;line-height:1!important;letter-spacing:-.045em!important;max-width:none!important}
 .cap313-copy .cap-accent-line{width:145px!important;height:5px!important;margin-top:10px!important}
 .cap313-copy>p{font-size:14px!important;line-height:1.45!important;margin:15px 0 18px!important}.cap313-desktop-br{display:none}
 .cap313-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.cap313-actions .cap-btn{width:100%!important;min-height:46px!important;font-size:13px!important}
 .cap313-trust{grid-template-columns:repeat(3,1fr)!important;gap:7px!important;margin-top:18px!important}.cap313-trust>div{display:flex!important;flex-direction:column!important;text-align:center!important;white-space:normal!important;font-size:10px!important;line-height:1.18!important}.cap313-trust-icon{width:27px;height:27px;font-size:12px;margin-bottom:4px}
 .cap313-visual{min-height:335px!important}.cap313-hero-img{height:335px!important;border-radius:18px!important;object-position:center 16%!important}.cap313-script{display:none!important}
 .cap313-offer{left:10px!important;right:10px!important;bottom:10px!important;grid-template-columns:1fr 74px!important;padding:10px 11px!important;gap:8px!important;border-radius:11px!important}.cap313-offer small{font-size:7px!important}.cap313-offer strong{font-size:17px!important}.cap313-offer span{font-size:9px!important}.cap313-offer img{width:74px!important;height:44px!important}
 .cap313-service-row{grid-template-columns:repeat(2,1fr)!important;gap:9px!important;margin-top:10px!important}.cap313-service{grid-template-rows:78px auto!important;border-radius:10px!important}.cap313-service>img{height:78px!important}.cap313-service>div{padding:12px 10px 11px!important}.cap313-service h3{font-size:14px!important;margin-bottom:3px!important}.cap313-service p{font-size:10.5px!important;line-height:1.24!important}.cap313-service-icon{top:60px!important;left:9px!important;width:34px!important;height:34px!important;border-width:3px!important;font-size:15px!important}
 .cap313-lifestyle{padding:24px 0 0!important}.cap313-lifestyle-grid{grid-template-columns:1fr!important;border-radius:15px!important;overflow:hidden!important}.cap313-lifestyle-copy{padding:25px 22px!important}.cap313-lifestyle-copy h2{font-size:30px!important}.cap313-lifestyle-copy p{font-size:13px!important}.cap313-lifestyle-copy li{font-size:12px!important}.cap313-lifestyle-grid>img{height:220px!important;order:2!important}
 .cap313-split-section{padding:48px 0!important}.cap313-split{grid-template-columns:1fr!important;gap:24px!important}.cap313-split-copy h2{font-size:35px!important}.cap313-split-copy>p{font-size:14px!important}.cap313-split-media>img{height:285px!important;border-radius:18px!important}.cap313-video-split .cap313-split-copy{order:1!important}.cap313-video-split .cap313-split-media{order:2!important}
 .cap313-steps{grid-template-columns:repeat(3,1fr)!important;gap:7px!important;margin:16px 0 18px!important}.cap313-steps>div{padding:10px 8px!important;border-radius:11px!important}.cap313-steps b{font-size:8px!important}.cap313-steps strong{font-size:11px!important}.cap313-steps span{font-size:9px!important}
 .cap313-why{padding:46px 0!important}.cap313-values{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.cap313-values>div{padding:14px 8px!important}.cap313-values b{font-size:13px!important}.cap313-values span{font-size:9.5px!important}
 .cap313-faq{padding:48px 0!important}.cap313-faq .cap-section-head h2{font-size:32px!important}.cap313-faq summary{font-size:12px!important;padding:13px 14px!important}.cap313-faq details p{font-size:12px!important;padding:0 14px 13px!important}
 .cap313-final{padding:0 0 38px!important}.cap313-final .cap-cta{padding:24px 20px!important;border-radius:15px!important}.cap313-final .cap-cta h2{font-size:29px!important}
 .site-footer{padding:38px 0 82px!important}.footer-grid-simple{grid-template-columns:1fr!important;gap:22px!important}.footer-brand-col{grid-column:auto!important}.footer-logo{width:160px!important}.footer-bottom{margin-top:22px!important;padding-top:16px!important;gap:10px!important;flex-direction:column!important}.cap-contact-dock{left:9px!important;right:9px!important;bottom:8px!important}.cap-contact-dock a{height:48px!important;font-size:12px!important}
}

@media(max-width:390px){
 .cap313-copy h1{font-size:37px!important}.cap313-hero-img{height:315px!important}.cap313-service-row{gap:8px!important}.cap313-service>img{height:72px!important}.cap313-service{grid-template-rows:72px auto!important}.cap313-service-icon{top:55px!important}.cap313-steps{grid-template-columns:1fr!important}.cap313-values{grid-template-columns:1fr 1fr!important}
}
