:root{--navy:#07111f;--navy-2:#0d2138;--blue:#0a4f8f;--blue-bright:#1474bd;--ice:#eaf2f8;--white:#fff;--ink:#111820;--muted:#5e6a77;--line:#d7e0e8;--yellow:#f0b429;--shadow:0 18px 45px rgba(4,17,31,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;color:#000;padding:10px;z-index:100}.skip-link:focus{left:8px}.utility-bar{background:var(--navy);color:#dfeaf4;font-size:.82rem}.utility-inner{height:36px;display:flex;justify-content:space-between;align-items:center}.utility-inner a{font-weight:700;color:#fff;text-decoration:none}.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(9,26,44,.1);z-index:30;backdrop-filter:blur(12px)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{width:150px;height:74px;overflow:hidden;display:flex;align-items:center}.brand img{width:100%;transform:scale(1.05)}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:.92rem;font-weight:700;color:#22303e}nav a:hover{color:var(--blue)}.nav-cta{background:var(--blue);color:#fff!important;padding:12px 18px}.menu-button{display:none;border:0;background:var(--navy);color:#fff;padding:10px 14px;font:700 .9rem Inter}.hero{min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}.hero-image,.hero-scrim{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover}.hero-scrim{background:linear-gradient(90deg,rgba(3,11,20,.94) 0%,rgba(3,11,20,.76) 42%,rgba(3,11,20,.18) 76%,rgba(3,11,20,.02) 100%)}.hero-content{position:relative;padding:92px 0 70px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.78rem;font-weight:800;color:#87c5f2;margin:0 0 14px}.eyebrow.dark{color:var(--blue)}h1,h2,h3{font-family:"Barlow Condensed",Impact,sans-serif;line-height:.98;margin:0;text-transform:uppercase}h1{font-size:clamp(4rem,8vw,7.8rem);max-width:780px;letter-spacing:-.035em}h1 em{font-style:italic;color:#82c6f5}h2{font-size:clamp(2.8rem,5.3vw,5rem);letter-spacing:-.025em}h3{font-size:2rem}.hero-copy{font-size:1.16rem;max-width:620px;color:#dbe6ef;margin:26px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;text-decoration:none;text-transform:uppercase;letter-spacing:.045em;font-family:"Barlow Condensed",Impact,sans-serif;font-size:1.1rem;font-weight:800;border:2px solid transparent;cursor:pointer}.button-primary{background:var(--blue-bright);color:#fff}.button-primary:hover{background:#0c5d9d}.button-ghost{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(3,10,18,.2)}.button-ghost:hover{background:#fff;color:var(--navy)}.trust-strip{list-style:none;padding:34px 0 0;margin:38px 0 0;display:flex;gap:0;border-top:1px solid rgba(255,255,255,.25);max-width:750px}.trust-strip li{display:flex;flex-direction:column;min-width:190px;padding:0 28px;border-left:1px solid rgba(255,255,255,.25)}.trust-strip li:first-child{padding-left:0;border-left:0}.trust-strip strong{font:800 1.35rem "Barlow Condensed",Impact,sans-serif;text-transform:uppercase}.trust-strip span{color:#b9c7d2;font-size:.8rem}.urgent-banner{background:var(--blue);color:#fff}.urgent-inner{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:24px}.urgent-inner a{font-weight:800;text-transform:uppercase;text-decoration:none;letter-spacing:.06em}.pulse{display:inline-block;width:9px;height:9px;background:var(--yellow);border-radius:50%;margin-right:12px;box-shadow:0 0 0 6px rgba(240,180,41,.18)}.section{padding:110px 0}.section-heading{margin-bottom:48px}.split-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:70px}.split-heading p:last-child{color:var(--muted);margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:380px;padding:36px;background:#f5f8fa;border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.service-card.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.service-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--blue)}.card-number{position:absolute;right:20px;top:5px;font:800 5.5rem "Barlow Condensed",Impact,sans-serif;color:rgba(9,30,49,.06)}.featured .card-number{color:rgba(255,255,255,.07)}.service-icon{font-size:2.5rem;color:var(--blue);height:82px}.service-card h3{max-width:260px}.service-card p{color:var(--muted);margin:22px 0}.featured p{color:#b9c8d4}.service-card a{margin-top:auto;color:var(--blue);text-transform:uppercase;text-decoration:none;font-weight:800;font-size:.86rem}.featured a{color:#7ac2f4}.storm{background:var(--navy);color:#fff;position:relative;overflow:hidden}.storm:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 64%,rgba(20,116,189,.13) 64% 76%,transparent 76%)}.storm-grid{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:center}.storm-copy>p:not(.eyebrow):not(.fine-print){color:#c1cfda;max-width:700px}.steps{list-style:none;margin:35px 0 24px;padding:0}.steps li{display:grid;grid-template-columns:54px 1fr;gap:18px;border-top:1px solid rgba(255,255,255,.16);padding:20px 0}.steps li>span{width:38px;height:38px;border:1px solid #4d7194;color:#88c6f2;display:grid;place-items:center;font-weight:800}.steps strong{font:700 1.35rem "Barlow Condensed",Impact,sans-serif;text-transform:uppercase}.steps p{margin:2px 0;color:#aebdca;font-size:.92rem}.fine-print{font-size:.76rem;color:#8293a2;max-width:710px}.storm-card{background:#fff;color:var(--ink);padding:45px;box-shadow:var(--shadow);border-top:7px solid var(--blue-bright)}.storm-card>span{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800;color:var(--blue)}.storm-card h3{font-size:3.1rem;margin:18px 0}.storm-card p{color:var(--muted);margin-bottom:28px}.coverage{background:#f4f7f9}.coverage-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.lede{color:var(--muted);font-size:1.08rem}.location-list{margin-top:30px;border-top:1px solid var(--line)}.location-list div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.location-list span{font-size:.84rem;color:var(--muted)}.map-panel{min-height:430px;position:relative;background:linear-gradient(145deg,#0a355d,#071521);clip-path:polygon(8% 1%,90% 8%,98% 50%,84% 97%,14% 93%,1% 54%);box-shadow:var(--shadow);overflow:hidden;color:#fff}.map-panel:before{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.13);transform:rotate(-4deg)}.state-label{position:absolute;right:12%;bottom:11%;font:800 5.8rem "Barlow Condensed",Impact,sans-serif;letter-spacing:.08em;color:rgba(255,255,255,.07)}.city{position:absolute;padding-left:18px;font-size:.82rem;font-weight:700}.city:before{content:"";position:absolute;left:0;top:6px;width:9px;height:9px;border-radius:50%;background:#7bbfe9;box-shadow:0 0 0 5px rgba(123,191,233,.12)}.city.kc{left:15%;top:28%}.city.columbia{left:52%;top:31%}.city.springfield{left:40%;top:70%}.city.primary:before{background:var(--yellow);box-shadow:0 0 0 8px rgba(240,180,41,.16)}.route{position:absolute;height:1px;background:rgba(123,191,233,.65);transform-origin:left}.route-one{width:180px;left:20%;top:33%;transform:rotate(4deg)}.route-two{width:170px;left:51%;top:35%;transform:rotate(88deg)}.warranty{background:var(--blue);color:#fff}.warranty-grid{display:grid;grid-template-columns:.45fr 1.05fr;gap:80px;align-items:center}.warranty-mark{aspect-ratio:1;max-width:380px;border:2px solid rgba(255,255,255,.5);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transform:rotate(-2deg)}.warranty-mark strong{font:800 9rem/.7 "Barlow Condensed",Impact,sans-serif}.warranty-mark span{max-width:190px;text-transform:uppercase;font:800 1.2rem/1.1 "Barlow Condensed",Impact,sans-serif;margin-top:28px;letter-spacing:.06em}.warranty p:not(.eyebrow){color:#d6e6f1}.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.checks span:before{content:"✓";margin-right:10px;color:var(--yellow);font-weight:900}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact p{color:var(--muted)}.contact-links{margin-top:35px;display:grid;gap:10px}.contact-links a{display:flex;flex-direction:column;text-decoration:none;border-left:4px solid var(--blue);padding:10px 16px;background:#f4f7f9}.contact-links span{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.contact-links strong{word-break:break-word}.estimate-form{background:#f4f7f9;padding:36px;border-top:6px solid var(--blue);box-shadow:var(--shadow)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.estimate-form label{display:grid;gap:7px;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;border:1px solid #bac7d1;background:#fff;padding:13px 14px;border-radius:0;font:1rem Inter,sans-serif;color:var(--ink)}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{outline:3px solid rgba(20,116,189,.2);border-color:var(--blue)}.button.full{width:100%;border:0}.form-note{font-size:.75rem!important;margin:12px 0 0!important}.form-message{padding:12px;background:#e3eff7;color:#0a3c64;font-weight:700}footer{background:#030a12;color:#b9c5cf;padding:72px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:70px}.footer-brand img{width:170px;background:#fff;padding:5px}.footer-brand p{max-width:350px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:9px}.footer-grid strong{color:#fff;text-transform:uppercase;font:800 1.1rem "Barlow Condensed",Impact,sans-serif;letter-spacing:.08em}.footer-grid a{text-decoration:none}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid #20303e;margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;font-size:.78rem}.mobile-call{display:none}
@media(max-width:900px){.header-inner{height:76px}.brand{width:125px;height:66px}.menu-button{display:block}nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:12px}.hero{min-height:680px}.hero-scrim{background:linear-gradient(90deg,rgba(3,11,20,.94),rgba(3,11,20,.7))}.split-heading,.storm-grid,.coverage-grid,.warranty-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.map-panel{min-height:360px}.warranty-mark{max-width:300px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){body{padding-bottom:56px}.utility-inner span{display:none}.utility-inner{justify-content:center}.wrap{width:min(100% - 28px,1180px)}.section{padding:80px 0}.hero{min-height:700px;align-items:flex-end}.hero-content{padding:110px 0 48px}h1{font-size:4.05rem}.hero-copy{font-size:1rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.trust-strip li{min-width:0;padding:0 10px;text-align:center}.trust-strip span{font-size:.66rem;line-height:1.25}.urgent-inner{padding:14px 0;align-items:flex-start}.urgent-inner a{white-space:nowrap}.split-heading{gap:22px}.service-card{padding:28px}.storm-card{padding:30px}.location-list div{flex-direction:column;gap:2px}.map-panel{min-height:310px}.state-label{font-size:3.8rem}.warranty-mark strong{font-size:7rem}.checks,.field-row{grid-template-columns:1fr}.estimate-form{padding:24px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.mobile-call{display:flex;position:fixed;z-index:50;left:0;right:0;bottom:0;height:56px;background:var(--blue-bright);color:#fff;align-items:center;justify-content:center;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:245px;gap:12px}.project-photo{position:relative;padding:0;border:0;background:var(--navy);overflow:hidden;cursor:zoom-in;text-align:left;color:#fff}.project-photo.wide{grid-column:span 2}.project-photo.tall{grid-row:span 2}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .35s ease}.project-photo.roofline img{object-position:center 35%}.project-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,9,16,.9),transparent 58%)}.project-photo span{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;display:flex;flex-direction:column}.project-photo strong{font:700 1.25rem "Barlow Condensed",Impact,sans-serif;text-transform:uppercase}.project-photo small{text-transform:uppercase;letter-spacing:.12em;color:#a9cce6;font-size:.66rem;font-weight:800}.project-photo:hover img,.project-photo:focus-visible img{transform:scale(1.045);opacity:.88}.project-photo:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.lightbox{width:min(1000px,calc(100% - 30px));max-height:92vh;padding:0;border:0;background:#02070c;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.55)}.lightbox::backdrop{background:rgba(0,7,14,.88)}.lightbox img{width:100%;max-height:80vh;object-fit:contain}.lightbox p{margin:0;padding:12px 55px 14px 16px;font-weight:700}.lightbox-close{position:absolute;right:10px;top:10px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.74);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px}}
@media(max-width:620px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:245px}.project-photo.wide{grid-column:span 1}.project-photo.tall{grid-row:span 1}}
.estimate-form button:disabled{cursor:wait;opacity:.72}
