:root{--color-charcoal: #1e1e1e;--color-charcoal-soft: #2a2a2a;--color-white: #ffffff;--color-light-gray: #f5f5f5;--color-gray-200: #e6e8eb;--color-gray-400: #9aa3ab;--color-gray-600: #5b636b;--color-roofing-blue: #1f5faa;--color-roofing-blue-dark: #184c89;--color-accent-orange: #f28c28;--color-accent-orange-dark: #d9761a;--color-text: #1e1e1e;--color-text-muted: #5b636b;--color-bg: #ffffff;--color-bg-alt: #f5f5f5;--color-border: #e6e8eb;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--container-max: 1200px;--container-narrow: 820px;--space-section: clamp(3.5rem, 8vw, 7rem);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-sm: 0 2px 6px rgba(30, 30, 30, .06);--shadow-md: 0 12px 30px rgba(30, 30, 30, .1);--shadow-lg: 0 24px 60px rgba(30, 30, 30, .16);--header-height: 76px}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem);-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;font-size:1.0625rem;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,picture,svg{max-width:100%;display:block}a{color:var(--color-roofing-blue);text-decoration:none}a:hover{color:var(--color-roofing-blue-dark)}ul,ol{padding-left:1.2rem}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;font-weight:800;letter-spacing:-.02em;color:var(--color-charcoal)}h1{font-size:clamp(2.25rem,5.5vw,3.75rem)}h2{font-size:clamp(1.75rem,3.8vw,2.6rem)}h3{font-size:clamp(1.25rem,2.2vw,1.55rem)}p{color:var(--color-text)}.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--color-text-muted);line-height:1.6}.eyebrow{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-roofing-blue)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}.container-narrow{max-width:var(--container-narrow)}.section{padding-block:var(--space-section)}.section--alt{background-color:var(--color-bg-alt)}.section--blueprint{background-color:var(--color-bg-alt);background-image:linear-gradient(#ffffffa8,#ffffffc7),url(/images/textures/blueprint-bg.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.section--dark{background-color:var(--color-charcoal);color:var(--color-white)}.section--dark h1,.section--dark h2,.section--dark h3{color:var(--color-white)}.section--dark .lead,.section--dark p{color:#ffffffd1}.btn{--btn-bg: var(--color-roofing-blue);--btn-fg: #ffffff;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.7rem;font-family:var(--font-sans);font-size:1rem;font-weight:700;line-height:1;color:var(--btn-fg);background-color:var(--btn-bg);border:2px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease;box-shadow:var(--shadow-sm);text-align:center}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--btn-fg)}.btn:active{transform:translateY(0)}.btn--primary{--btn-bg: var(--color-accent-orange);--btn-fg: #1e1e1e}.btn--primary:hover{--btn-bg: var(--color-accent-orange-dark)}.btn--blue{--btn-bg: var(--color-roofing-blue);--btn-fg: #ffffff}.btn--blue:hover{--btn-bg: var(--color-roofing-blue-dark)}.btn--ghost{--btn-bg: transparent;--btn-fg: #ffffff;border-color:#fff9;box-shadow:none}.btn--ghost:hover{--btn-bg: rgba(255, 255, 255, .12);border-color:#fff}.btn--outline{--btn-bg: transparent;--btn-fg: var(--color-roofing-blue);border-color:var(--color-roofing-blue);box-shadow:none}.btn--outline:hover{--btn-bg: var(--color-roofing-blue);--btn-fg: #ffffff}.btn--lg{padding:1.1rem 2.1rem;font-size:1.08rem}.btn-row{display:flex;flex-wrap:wrap;gap:.9rem}.chip-row{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:0}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem;background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:.92rem;font-weight:600;color:var(--color-charcoal);box-shadow:var(--shadow-sm)}[data-reveal]{opacity:0;transform:translateY(28px);will-change:transform,opacity}html:not(.js) [data-reveal]{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--color-charcoal);color:#fff;padding:.6rem 1rem;border-radius:var(--radius-sm);z-index:1000;transition:top .2s ease}.skip-link:focus{top:1rem;color:#fff}:focus-visible{outline:3px solid var(--color-accent-orange);outline-offset:2px}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background-color:#fffffff5;backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid transparent;transition:background-color .25s ease,box-shadow .25s ease,border-color .25s ease,padding .25s ease}.site-header[data-astro-cid-3ef6ksr2].is-scrolled{background-color:#fffffffa;box-shadow:var(--shadow-sm);border-bottom-color:var(--color-border)}.site-header__inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);gap:1rem;transition:min-height .25s ease}.site-header[data-astro-cid-3ef6ksr2].is-scrolled .site-header__inner[data-astro-cid-3ef6ksr2]{min-height:64px}.brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center}.brand__logo[data-astro-cid-3ef6ksr2]{width:auto;height:46px;transition:height .25s ease}.site-header[data-astro-cid-3ef6ksr2].is-scrolled .brand__logo[data-astro-cid-3ef6ksr2]{height:38px}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0}.nav-list[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--color-charcoal);font-weight:600;font-size:1rem;transition:color .18s ease}.nav-list[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--color-roofing-blue)}.nav-list__cta[data-astro-cid-3ef6ksr2] .btn[data-astro-cid-3ef6ksr2]{color:#1e1e1e}.header-call[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-roofing-blue);font-weight:700}.nav-toggle[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:transparent;border:0;cursor:pointer}.nav-toggle__bar[data-astro-cid-3ef6ksr2]{display:block;width:24px;height:2.5px;margin-inline:auto;background:var(--color-charcoal);border-radius:2px;transition:transform .25s ease,opacity .25s ease}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle__bar[data-astro-cid-3ef6ksr2]:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle__bar[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle__bar[data-astro-cid-3ef6ksr2]:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}@media (max-width: 900px){.nav-toggle[data-astro-cid-3ef6ksr2]{display:flex}.nav-list[data-astro-cid-3ef6ksr2]{position:fixed;inset:var(--header-height) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;padding:1rem clamp(1.1rem,4vw,2rem) 1.5rem;background:#fff;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}.nav-list[data-astro-cid-3ef6ksr2].is-open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-list[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--color-border)}.nav-list[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]:last-child{border-bottom:0}.nav-list[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:.95rem .25rem}.nav-list__cta[data-astro-cid-3ef6ksr2]{padding-top:.9rem}.nav-list__cta[data-astro-cid-3ef6ksr2] .btn[data-astro-cid-3ef6ksr2]{width:100%}.header-call[data-astro-cid-3ef6ksr2]{padding:.95rem .25rem}}.site-footer[data-astro-cid-sz7xmlte]{background-color:var(--color-charcoal);color:#ffffffc7;padding-top:clamp(3rem,6vw,4.5rem)}.site-footer__grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2.5rem;padding-bottom:3rem}.footer-brand[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;margin-bottom:1.1rem}.footer-brand__logo[data-astro-cid-sz7xmlte]{width:auto;height:52px}.footer-about[data-astro-cid-sz7xmlte]{color:#ffffffb8;margin-bottom:1.25rem;max-width:36ch}.footer-contact[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:.6rem}.footer-contact__item[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.55rem;color:#ffffffd9}.footer-contact__item[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent-orange)}.footer-heading[data-astro-cid-sz7xmlte]{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:1.1rem}.footer-links[data-astro-cid-sz7xmlte],.footer-area[data-astro-cid-sz7xmlte]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:#ffffffc7}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent-orange)}.footer-area-lead[data-astro-cid-sz7xmlte]{color:#ffffffb8;margin-bottom:.8rem}.footer-area[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{color:#ffffffb8;font-size:.95rem}.footer-cta[data-astro-cid-sz7xmlte]{margin-top:1.3rem}.site-footer__bar[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-block:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-size:.9rem;color:#fff9}@media (max-width: 900px){.site-footer__grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr 1fr;gap:2rem}.footer-col--brand[data-astro-cid-sz7xmlte]{grid-column:1 / -1}}@media (max-width: 560px){.site-footer__grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr}}
