:root{--primary:#003388;--secondary:#03a9f4;--accent:#ff9800;--surface:#f5f7fa;--text:#111111;--muted:#5f6b7a;--white:#ffffff;--dark:#08162f;--border:#d8e0ea;--shadow:0 14px 40px rgba(8,22,47,.12);--radius:18px;--radius-sm:12px;--container:1180px;}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,'Segoe UI',sans-serif;color:var(--text);background:var(--white);line-height:1.6}img{max-width:100%;display:block}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(var(--container),calc(100% - 2rem));margin:0 auto}.narrow{width:min(820px,100%)}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;background:var(--white);padding:.75rem 1rem;border-radius:8px;z-index:1000}.top-alert{background:linear-gradient(90deg,var(--accent),#ffb547);color:var(--dark);font-weight:800}.top-alert-wrap{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;align-items:center}.top-alert a{color:var(--dark);font-weight:800}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.brand{display:flex;align-items:center;gap:.85rem;color:var(--text);font-weight:800}.brand:hover{text-decoration:none}.brand strong{display:block;font-family:Poppins,Montserrat,'Segoe UI',sans-serif;font-size:1rem;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:.78rem}.brand-mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--white);display:grid;place-items:center;font-family:Poppins,Montserrat,'Segoe UI',sans-serif;font-weight:800}.site-nav{display:flex;gap:1.25rem;flex-wrap:wrap}.site-nav a{color:var(--text);font-weight:600}.site-nav a[aria-current='page']{color:var(--primary)}.nav-cta{display:flex;align-items:center;gap:.75rem}.phone-link{font-weight:700;color:var(--dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.25rem;border-radius:999px;font-weight:800;border:2px solid transparent;transition:.2s ease;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--primary);color:var(--white);box-shadow:var(--shadow)}.btn-primary:hover{background:#00296d}.btn-secondary{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-accent{background:var(--accent);color:var(--dark);box-shadow:var(--shadow)}.btn-accent:hover{background:#e68a00}.hero,.page-hero{background:linear-gradient(135deg,var(--dark),var(--primary));color:var(--white);position:relative;overflow:hidden}.hero-photo:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(3,169,244,.22),transparent 35%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));pointer-events:none}.hero-photo:after{content:'';position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(to top,rgba(0,0,0,.18),transparent),repeating-linear-gradient(-45deg,transparent 0 12px,rgba(255,255,255,.04) 12px 24px)}.hero{padding:5.5rem 0 4.5rem}.page-hero{padding:4.5rem 0 3.5rem}.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:2rem;align-items:center;position:relative;z-index:1}.eyebrow{margin:0 0 .75rem;color:var(--secondary);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}h1,h2,h3{margin:0 0 .75rem;font-family:Poppins,Montserrat,'Segoe UI',sans-serif;line-height:1.15}h1{font-size:clamp(2.2rem,5vw,4.4rem);max-width:14ch}h2{font-size:clamp(1.7rem,3vw,2.7rem)}h3{font-size:1.2rem}.subhead{font-size:1.1rem;max-width:62ch;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;margin:1.5rem 0 1.25rem}.hero-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1rem}.hero-badges span,.logo-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;border-radius:999px;background:rgba(255,255,255,.12);color:var(--white);border:1px solid rgba(255,255,255,.16);font-weight:700;font-size:.92rem}.trust-list,.check-list,.footer-links,.process-list{padding-left:1.1rem}.trust-list li,.check-list li,.process-list li{margin:.45rem 0}.lead-card,.card,.feature,.testimonial,.stat-card,.info-panel,.project-card,.map-panel{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem}.lead-card{color:var(--text)}.card-kicker{margin:0 0 .35rem;color:var(--accent);font-weight:800;text-transform:uppercase;font-size:.8rem}.qual-form,.contact-form{display:grid;gap:.8rem}label{font-weight:700;font-size:.95rem}input,select,textarea{width:100%;padding:.95rem 1rem;border:1px solid var(--border);border-radius:12px;font:inherit;color:var(--text);background:var(--white)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(3,169,244,.18);border-color:var(--secondary)}.microcopy{margin:0;color:var(--muted);font-size:.92rem}.section{padding:4.5rem 0}.section-alt{background:var(--surface)}.section-heading{max-width:760px;margin-bottom:1.75rem}.section-heading p:last-child{color:var(--muted)}.card-grid,.feature-grid,.proof-grid,.project-grid{display:grid;gap:1.25rem}.card-grid.three,.feature-grid{grid-template-columns:repeat(4,1fr)}.card-grid.two{grid-template-columns:repeat(2,1fr)}.single-col{grid-template-columns:1fr}.card{border:1px solid var(--border)}.feature{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--border)}.proof-grid{grid-template-columns:repeat(3,1fr)}.testimonial{background:var(--dark);color:var(--white)}.testimonial p{font-size:1.05rem}.stat-card{display:grid;align-content:center;justify-items:start}.stat{font-family:Poppins,Montserrat,'Segoe UI',sans-serif;font-size:2rem;color:var(--primary);font-weight:800}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start}.center-cta{margin-top:1.5rem}.stack{display:grid;gap:1rem}.logo-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.logo-row .logo-pill{background:#eef5ff;color:var(--primary);border:1px solid #cfe0ff}.icon-card .icon-badge{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:var(--white);font-size:1.4rem;margin-bottom:1rem}.roofline-bg{position:relative;overflow:hidden}.roofline-bg:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(0,51,136,.03) 18px 36px);pointer-events:none}.project-grid{grid-template-columns:repeat(3,1fr)}.project-card{border:1px solid var(--border)}.project-photo{height:220px;border-radius:14px;margin-bottom:1rem;background-size:cover;background-position:center}.mountain-photo{background:linear-gradient(180deg,rgba(3,169,244,.18),rgba(0,51,136,.28)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 500'%3E%3Crect width='800' height='500' fill='%23dfeaf6'/%3E%3Cpath d='M0 360L130 250L220 320L340 180L470 320L590 210L800 360V500H0Z' fill='%236b7f99'/%3E%3Cpath d='M0 390L150 300L250 360L360 230L500 360L620 260L800 390V500H0Z' fill='%23003388'/%3E%3Cpath d='M320 210L340 180L360 230Z' fill='white'/%3E%3Cpath d='M575 235L590 210L610 245Z' fill='white'/%3E%3C/svg%3E")}.crew-photo{background:linear-gradient(180deg,rgba(255,152,0,.12),rgba(0,0,0,.18)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 500'%3E%3Crect width='800' height='500' fill='%23e8edf3'/%3E%3Crect x='120' y='220' width='560' height='180' rx='12' fill='%23003388'/%3E%3Crect x='170' y='170' width='120' height='70' rx='10' fill='%23ff9800'/%3E%3Crect x='330' y='150' width='140' height='90' rx='10' fill='%23ffffff'/%3E%3Crect x='510' y='180' width='120' height='60' rx='10' fill='%2303a9f4'/%3E%3Ccircle cx='260' cy='330' r='34' fill='%23ffffff'/%3E%3Ccircle cx='400' cy='330' r='34' fill='%23ffffff'/%3E%3Ccircle cx='540' cy='330' r='34' fill='%23ffffff'/%3E%3C/svg%3E")}.roof-photo{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 500'%3E%3Crect width='800' height='500' fill='%23edf2f7'/%3E%3Cpath d='M120 280L400 120L680 280' fill='none' stroke='%23003388' stroke-width='28' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M180 280H620V410H180Z' fill='%23ffffff' stroke='%23d8e0ea' stroke-width='8'/%3E%3Cpath d='M220 280L400 180L580 280' fill='none' stroke='%235f6b7a' stroke-width='18' stroke-linecap='round'/%3E%3C/svg%3E")}.map-visual{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:.75rem}.map-visual span{background:#eef5ff;border:1px solid #cfe0ff;color:var(--primary);padding:.8rem;border-radius:12px;font-weight:700;text-align:center}.mobile-sticky-cta{display:none}.site-footer{background:var(--dark);color:rgba(255,255,255,.86);padding-top:3rem}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem;padding-bottom:2rem}.footer-brand{color:var(--white);margin-bottom:1rem;display:inline-flex}.site-footer h3{color:var(--white);font-size:1rem}.site-footer a{color:rgba(255,255,255,.9)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:.5rem 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1rem 0 2rem;color:rgba(255,255,255,.65)}@media (max-width:980px){.hero-grid,.two-col,.proof-grid,.footer-grid,.card-grid.two,.card-grid.three,.feature-grid,.project-grid{grid-template-columns:1fr 1fr}.nav-wrap{flex-wrap:wrap}.nav-cta{width:100%;justify-content:space-between}.top-alert-wrap{flex-direction:column;align-items:flex-start}}@media (max-width:680px){.hero,.page-hero,.section{padding:3.5rem 0}.hero-grid,.two-col,.proof-grid,.footer-grid,.card-grid.two,.card-grid.three,.feature-grid,.project-grid,.map-visual{grid-template-columns:1fr}.site-nav{width:100%;justify-content:space-between;gap:.75rem}.nav-cta{flex-direction:column;align-items:stretch}.btn{width:100%}h1{max-width:none}.mobile-sticky-cta{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:.75rem;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--border);z-index:60}.mobile-sticky-cta .btn{padding:.85rem 1rem;border-radius:14px}.site-footer{padding-bottom:5.5rem}}