@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/site/barlow-condensed-400-v2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/site/barlow-condensed-600-v2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/site/barlow-condensed-700-v2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/site/dm-sans-400-800-v2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--red: #cc1124;--red-deep: #a30d1c;--red-bright: #e23146;--red-on-dark: #ff8595;--ink: #15161a;--ink-2: #20222a;--graphite: #5a5d66;--graphite-2: #8a8d94;--line: #e2e1dc;--line-strong: #cfcec8;--paper: #f3f3f1;--paper-2: #e2e0d9;--surface: #ffffff;--on-dark: #f4f4f2;--on-dark-mute: #a7a8a5;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Barlow Condensed", "Oswald", "Impact", sans-serif;--shadow-sm: 0 1px 2px rgba(21,22,26,.06);--shadow-md: 0 10px 30px -12px rgba(21,22,26,.22);--shadow-lg: 0 28px 60px -22px rgba(21,22,26,.3);--shadow-red: 0 16px 40px -16px rgba(204,17,36,.45);--radius: 3px;--radius-lg: 5px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-quart: cubic-bezier(.25, 1, .5, 1);--t: .32s var(--ease-quart);--t-slow: .6s var(--ease);--header-height: 84px;--container: 1280px;--gutter: clamp(20px, 4vw, 48px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--paper);overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:color var(--t)}ul{list-style:none}button{font-family:inherit;cursor:pointer}:is(.site-header,.site-footer) .link-label{text-decoration:none}.skip-link{position:absolute;top:-200%;left:16px;z-index:10000;padding:12px 22px;background:var(--ink);color:var(--on-dark);font-weight:600;font-size:.9rem;border-radius:var(--radius)}.skip-link:focus{top:14px}:focus-visible{outline:2px solid var(--red);outline-offset:3px}.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:2}.section{padding:clamp(4rem,7vw,6.5rem) 0;position:relative}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.01em;color:var(--ink);text-transform:uppercase;text-wrap:balance}h1{font-size:clamp(3rem,8.5vw,6.5rem)}h2{font-size:clamp(2.1rem,5.2vw,4rem)}h3{font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.05}h4{font-size:1.1rem;letter-spacing:.01em}p{text-wrap:pretty}.section-tag{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-body);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--red);margin-bottom:20px}.section-tag:before{content:"";width:26px;height:2px;background:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:15px 24px;font-family:var(--font-body);font-weight:600;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:transform var(--t),background var(--t),color var(--t),box-shadow var(--t),border-color var(--t);will-change:transform}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:var(--red);color:#fff;box-shadow:none}.btn-primary:hover{background:var(--red-deep);transform:translateY(-2px)}.btn-ghost{background:#15161a6b;color:var(--on-dark);border-color:#f4f4f273;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-ghost:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--ink);transform:translateY(-2px)}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-height);display:flex;align-items:center;transition:height var(--t),background var(--t),box-shadow var(--t),border-color var(--t);background:linear-gradient(to bottom,#0a0b0e8c,#0a0b0e00);border-bottom:1px solid transparent}.site-header.scrolled{height:68px;background:#f3f3f1db;backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.header-inner{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:28px}.logo{display:flex;align-items:center}.logo img{height:42px;width:auto;transition:filter var(--t);filter:brightness(0) invert(1)}.site-header.scrolled .logo img{filter:none}.main-nav{margin-left:auto}.nav-list{display:flex;align-items:center;gap:4px}.nav-link{position:relative;display:inline-block;padding:10px 14px;font-size:.86rem;font-weight:600;letter-spacing:.03em;color:var(--on-dark);text-transform:uppercase}.site-header.scrolled .nav-link{color:var(--ink)}.nav-link:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--t)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-link.active,.site-header.scrolled .nav-link.active{color:var(--red)}.cta-nav{margin-left:10px;padding:10px 20px!important;background:var(--red);color:#fff!important;border-radius:var(--radius)}.cta-nav:after{display:none}.cta-nav:hover{background:var(--red-deep)}.has-dropdown{position:relative}.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--t),transform var(--t),visibility var(--t)}.has-dropdown:not(.dropdown-enhanced):hover .dropdown,.has-dropdown:not(.dropdown-enhanced):focus-within .dropdown,.has-dropdown.dropdown-enhanced>[aria-expanded=true]+.dropdown{opacity:1;visibility:visible;transform:translateY(0)}.has-dropdown.dropdown-keyboard .dropdown{transition:none!important}.dropdown li a{display:block;padding:11px 14px;font-size:.9rem;font-weight:500;color:var(--ink);border-radius:var(--radius)}.dropdown li a:hover{background:var(--paper-2);color:var(--red);padding-left:18px}.header-cta{display:flex;align-items:center}.phone-link{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.92rem;color:var(--on-dark);letter-spacing:.01em}.site-header.scrolled .phone-link{color:var(--ink)}.phone-link svg{color:var(--red)}.phone-link:hover{color:var(--red)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:transparent;border:0;margin-left:auto}.hamburger span{display:block;width:26px;height:2px;background:var(--on-dark);border-radius:2px;transition:transform var(--t),opacity var(--t),background var(--t)}.site-header.scrolled .hamburger span,.hamburger.active span{background:var(--ink)}.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-overlay{position:fixed;inset:0;background:#0a0b0e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity var(--t),visibility var(--t);z-index:998}.nav-overlay.active{opacity:1;visibility:visible}.hero{position:relative;min-height:100dvh;display:flex;align-items:flex-end;padding-bottom:clamp(3.5rem,8vh,7rem);overflow:hidden;background:var(--ink)}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-badge{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;padding:9px 16px;border:1px solid rgba(255,255,255,.28);border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;margin-bottom:26px}.hero-badge:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--red-bright);box-shadow:0 0 0 4px #e2314640}.hero h1{color:#fff;font-size:clamp(3.4rem,11vw,8rem);letter-spacing:-.02em;margin-bottom:22px;text-shadow:0 2px 30px rgba(0,0,0,.35)}.scroll-indicator{position:absolute;left:50%;bottom:26px;transform:translate(-50%);z-index:3;color:#ffffffb3;animation:bob 2.4s var(--ease) infinite}.scroll-indicator:hover{color:#fff}@keyframes bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(7px)}}.about-content h2{margin-bottom:24px;max-width:16ch}.about-content p{color:var(--graphite);margin-bottom:18px;max-width:60ch}.value-item{display:flex;flex-direction:column;gap:7px;position:relative;padding-left:20px}.value-item:before{content:"";position:absolute;left:0;top:4px;width:4px;height:20px;background:var(--red)}.value-item strong{font-family:var(--font-display);font-size:1.35rem;text-transform:uppercase;letter-spacing:.01em;line-height:1}.value-item span{color:var(--graphite);font-size:.97rem;line-height:1.5}.about-visual{position:relative}.about-stats{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:clamp(1rem,4vw,3.5rem);padding:clamp(2rem,4vw,3rem) clamp(1.5rem,4vw,3.5rem);background:var(--ink);border-radius:var(--radius-lg);color:var(--on-dark)}.stat-num,.stat-plus,.stat-prefix{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4rem);font-weight:700;line-height:1;color:#fff;font-variant-numeric:tabular-nums}.stat-plus,.stat-prefix{color:var(--red-bright)}.trock-item{display:flex;flex-direction:column;gap:14px;padding:clamp(1.75rem,3vw,2.75rem) clamp(1.25rem,2vw,2rem);transition:background var(--t)}.trock-item:hover{background:#ffffff08}.trock-item:not(:last-of-type){border-right:1px solid rgba(255,255,255,.1)}.service-row{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:clamp(1.5rem,3vw,2.4rem) 8px;border-bottom:1px solid var(--line);position:relative;transition:color var(--t)}.service-row>*,.service-row:before{transition:transform var(--t),color var(--t)}.service-row:hover>*,.service-row:hover:before{transform:translate(20px)}.service-row:before{counter-increment:svc;content:"0" counter(svc);font-family:var(--font-display);font-size:1.05rem;color:var(--graphite-2);letter-spacing:.05em}.service-row:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform var(--t-slow)}.service-row:hover:before{color:var(--red)}.service-row:hover:after{transform:scaleX(1)}.detail-content h2{margin-bottom:20px;max-width:18ch}.detail-content p{color:var(--graphite);margin-bottom:26px;max-width:56ch}.detail-visual img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.roofing-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:clamp(2.5rem,5vw,3.5rem);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}.roofing-list li{padding:24px 26px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:.98rem;color:var(--graphite);transition:background var(--t)}.roofing-list li:hover{background:var(--paper-2)}.roofing-list li strong{display:block;font-family:var(--font-display);font-size:1.3rem;text-transform:uppercase;color:var(--ink);letter-spacing:.01em;margin-bottom:4px}.roofing-list li:nth-child(2n){border-right:0}.comm-tag{font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.6rem);text-transform:uppercase;padding:12px 26px;border:1.5px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);transition:border-color var(--t),color var(--t),background var(--t),transform var(--t)}.comm-tag:hover{border-color:var(--red);color:var(--red);transform:translateY(-3px)}.emergency-message{display:flex;flex-direction:column;align-items:center;gap:28px;margin-top:clamp(2rem,4vw,3rem);text-align:center}.timeline-step{position:relative;z-index:1}.community-text h2{margin-bottom:22px;max-width:16ch}.community-text p{color:var(--graphite);margin-bottom:18px;max-width:56ch}.community-text .btn{margin-top:12px}.community-image img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.industry-featured{background:var(--ink);color:var(--on-dark);padding:clamp(2rem,4vw,3.5rem);border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:flex-end;gap:18px;position:relative;overflow:hidden;min-height:320px}.industry-featured:before{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 90% 0%,rgba(204,17,36,.3),transparent 65%)}.industry-featured>*{position:relative;z-index:1}.industry-featured h3{color:#fff;font-size:clamp(2rem,4vw,3rem)}.industry-featured p{color:#f4f4f2d1}.industry-supporting-card{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--ink);padding:clamp(1.5rem,3vw,2.2rem);border-radius:var(--radius-lg);transition:transform var(--t),box-shadow var(--t),border-color var(--t)}.industry-supporting-card:hover{border-top-color:var(--red)}.industry-supporting-card:hover{transform:translate(6px);box-shadow:var(--shadow-md)}.industry-supporting-card h3{margin-bottom:10px}.industry-supporting-card p{color:var(--graphite);font-size:.95rem;line-height:1.55}.filter-btn{font-family:var(--font-body);font-weight:600;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;padding:11px 22px;background:transparent;border:1.5px solid var(--line-strong);border-radius:999px;color:var(--graphite);transition:all var(--t)}.filter-btn:hover{border-color:var(--ink);color:var(--ink)}.filter-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-lg);cursor:pointer;aspect-ratio:3 / 2;background:var(--paper-2)}.gallery-item.is-hidden{display:none!important}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow),filter var(--t-slow)}.gallery-item:hover img{transform:scale(1.06)}.gallery-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:22px;background:linear-gradient(180deg,transparent 35%,rgba(15,16,20,.86) 100%);opacity:0;transform:translateY(10px);transition:opacity var(--t),transform var(--t)}.gallery-item:hover .gallery-overlay,.gallery-item:focus-visible .gallery-overlay{opacity:1;transform:translateY(0)}.gallery-overlay h3{color:#fff;font-size:1.3rem}.gallery-overlay p{color:#f4f4f2d1;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}@media(hover:none){.gallery-overlay{opacity:1;transform:none;justify-content:flex-end;background:linear-gradient(180deg,#0f101400 40%,#0f1014e0 62%,#0c0d10f5);padding:16px}.gallery-overlay h3{font-size:1.25rem}.gallery-overlay p{font-size:.78rem;color:#f4f4f2f2}}.gallery-lightbox{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);background:#0a0b0eeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gallery-lightbox.open{display:flex;animation:fadeIn .25s ease}.gallery-lightbox-figure{max-width:1100px;max-height:86vh;display:flex;flex-direction:column;gap:14px}.gallery-lightbox-figure img{max-height:76vh;width:auto;object-fit:contain;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.gallery-lightbox-caption{color:var(--on-dark);text-align:center}.gallery-lightbox-caption h3{color:#fff}.gallery-lightbox-caption p{color:var(--on-dark-mute);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.gallery-lightbox-close{position:absolute;top:22px;right:26px;width:48px;height:48px;font-size:2rem;line-height:1;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:50%;transition:background var(--t),transform var(--t)}.gallery-lightbox-close:hover{background:var(--red);transform:rotate(90deg)}.gallery-lightbox-count{display:block;margin-top:8px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-mute);font-variant-numeric:tabular-nums}.gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:2rem;line-height:1;color:var(--on-dark);background:#15161a99;border:1px solid rgba(244,244,242,.28);border-radius:50%;transition:background var(--t),border-color var(--t)}.gallery-lightbox-nav:hover{background:var(--red);border-color:var(--red)}.gallery-lightbox-prev{left:clamp(10px,3vw,34px)}.gallery-lightbox-next{right:clamp(10px,3vw,34px)}@media(max-width:600px){.gallery-lightbox-nav{width:46px;height:46px;top:auto;bottom:14px;transform:none}}.process-during{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(20px,4vw,48px);align-items:center;margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(1.75rem,3.5vw,2.75rem);background:var(--ink);border-radius:var(--radius-lg);color:var(--on-dark)}.cred-item{background:var(--surface);padding:clamp(20px,2.6vw,30px);display:flex;flex-direction:column;gap:6px}.cred-item p{font-size:.88rem;line-height:1.5;color:var(--graphite);margin-top:2px}@media(max-width:900px){.process-during{grid-template-columns:1fr}}.client-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:2px;margin-top:clamp(2.5rem,5vw,3.5rem);background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.client-grid li{display:flex;align-items:center;justify-content:center;background:var(--surface);padding:clamp(18px,2.4vw,28px) 20px;min-height:104px}.client-grid img{height:44px;width:auto;max-width:100%;object-fit:contain}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 4px;background:transparent;border:0;text-align:left;font-family:var(--font-body);font-weight:600;font-size:1.02rem;color:var(--ink);transition:color var(--t)}.faq-question:hover{color:var(--red)}.faq-chevron{flex-shrink:0;color:var(--graphite);transition:transform var(--t),color var(--t)}.faq-item.open .faq-question{color:var(--red)}.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--red)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}.faq-answer-inner{overflow:hidden;min-height:0}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-answer p{color:var(--graphite);font-size:.97rem;line-height:1.6;padding:0 4px 24px;max-width:56ch}@media(min-width:1201px){.header-inner{gap:18px}.nav-link{padding-inline:9px;font-size:.8rem;white-space:nowrap}.nav-link:after{left:9px;right:9px}.phone-link{white-space:nowrap;font-size:.86rem}}@media(max-width:480px){.hero-badge{letter-spacing:.12em}}.area-card{display:block;padding:clamp(1.5rem,3vw,2.2rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:transform var(--t),box-shadow var(--t),border-color var(--t);position:relative;overflow:hidden}.area-card:after{content:"\2192";position:absolute;top:22px;right:22px;color:var(--graphite-2);font-size:1.2rem;transition:transform var(--t),color var(--t)}.area-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-strong)}.area-card:hover:after{transform:translate(4px,-4px);color:var(--red)}.area-card h3{margin-bottom:6px}.area-card p{color:var(--graphite);font-size:.92rem}.contact-info .section-tag{color:var(--red-on-dark)}.contact-info .section-tag:before{background:var(--red-bright)}.contact-info h2{color:#fff;margin-bottom:20px}.contact-info>p{color:var(--on-dark-mute);max-width:48ch;margin-bottom:36px}.contact-item{display:flex;gap:16px;align-items:flex-start}.contact-item svg{color:var(--red-bright);flex-shrink:0;margin-top:3px}.contact-item strong{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--on-dark-mute);margin-bottom:5px;font-weight:600}.contact-item a,.contact-item span{color:var(--on-dark);font-size:1.02rem}.contact-item a:hover{color:var(--red-bright)}.contact-form-wrap{background:var(--surface);padding:clamp(1.75rem,3vw,2.75rem);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}[hidden]{display:none!important}.site-footer{background:#0e0f12;color:var(--on-dark);padding:clamp(3.5rem,6vw,5.5rem) 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(2rem,5vw,4rem);padding-bottom:clamp(2.5rem,5vw,4rem)}.footer-brand img{height:48px;width:auto;margin-bottom:22px}.footer-brand p{color:var(--on-dark-mute);max-width:38ch;font-size:.95rem;margin-bottom:24px}.footer-social{display:flex;gap:12px}.footer-social a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:var(--on-dark);transition:background var(--t),color var(--t),border-color var(--t),transform var(--t)}.footer-social a:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-3px)}.footer-links .footer-col-title{font-size:.82rem;letter-spacing:.14em;color:var(--on-dark-mute);margin-bottom:18px}.footer-links ul{display:flex;flex-direction:column;gap:0}.footer-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-block:8px;color:var(--on-dark);font-size:.94rem;line-height:1.5}.footer-links a:hover{color:var(--red-bright)}.footer-contact{display:flex;flex-direction:column;align-items:flex-start;margin:-8px 0 16px}.footer-contact a{display:inline-flex;align-items:center;min-height:44px;color:var(--on-dark);font-size:.9375rem}.footer-offices{padding-block:32px 40px;border-top:1px solid rgba(255,255,255,.15);scroll-margin-top:calc(var(--header-height) + 24px)}.footer-offices-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.footer-offices-heading h3{color:var(--on-dark);font:600 1.625rem/1.15 var(--font-display);margin:0}.footer-offices-heading>a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.875rem;color:var(--on-dark)}.footer-office-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.footer-office h4{margin:0 0 4px;color:var(--on-dark);font:600 1.0625rem/1.4 var(--font-body);text-transform:none;letter-spacing:0}.footer-office-status{color:var(--on-dark-mute);font-size:.8125rem;margin-bottom:12px}.footer-office address{font-style:normal}.footer-office address a{display:block;min-height:44px;color:var(--on-dark-mute);font-size:.875rem;line-height:1.7}.footer-office address span{display:block}.footer-office address a:hover,.footer-contact a:hover,.footer-offices-heading a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px 0;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{color:var(--on-dark-mute);font-size:.88rem}.footer-legal{display:flex;gap:22px;flex-wrap:wrap}.footer-legal a{color:var(--on-dark-mute);font-size:.88rem}.footer-legal a:hover{color:var(--on-dark)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--reveal-delay, 0) * 65ms)}.reveal.visible{opacity:1;transform:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:1024px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1 / -1}.footer-office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,1fr)}.trock-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.1)}.trock-item{border-bottom:1px solid rgba(255,255,255,.1)}}@media(max-width:1200px){.site-header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}.hamburger{display:flex;position:relative;z-index:1001}.header-cta{display:none}.main-nav{position:fixed;top:0;right:0;bottom:0;width:min(86vw,360px);background:var(--paper);padding:calc(var(--header-height) + 20px) 28px 28px;transform:translate(100%);transition:transform var(--t-slow);z-index:999;overflow-y:auto;height:100vh;height:100dvh;overscroll-behavior:contain;visibility:hidden;box-shadow:var(--shadow-lg);margin-left:0}.main-nav.open{transform:translate(0);visibility:visible}.nav-list{flex-direction:column;align-items:stretch;gap:2px}.nav-link{display:block;color:var(--ink);padding:14px 8px;font-size:1.05rem;border-bottom:1px solid var(--line)}.nav-link:after{display:none}.cta-nav{margin-left:0;margin-top:16px;text-align:center}.dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:4px 0 8px 14px}.dropdown li a{color:var(--graphite);padding:8px 0}.main-nav .nav-phone{display:block}.nav-phone .nav-link{margin-top:10px;border-bottom:0;font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase;color:var(--red)}}@media(min-width:1201px){.site-header.header-compact.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}.site-header.header-compact .hamburger{display:flex;position:relative;z-index:1001}.site-header.header-compact .header-cta{display:none}.site-header.header-compact .main-nav{position:fixed;top:0;right:0;bottom:0;width:min(86vw,360px);background:var(--paper);padding:calc(var(--header-height) + 20px) 28px 28px;transform:translate(100%);transition:transform var(--t-slow);z-index:999;overflow-y:auto;height:100vh;height:100dvh;overscroll-behavior:contain;visibility:hidden;box-shadow:var(--shadow-lg);margin-left:0}.site-header.header-compact .main-nav.open{transform:translate(0);visibility:visible}.site-header.header-compact .nav-list{flex-direction:column;align-items:stretch;gap:2px}.site-header.header-compact .nav-link{display:block;color:var(--ink);padding:14px 8px;font-size:1.05rem;border-bottom:1px solid var(--line)}.site-header.header-compact .nav-link:after{display:none}.site-header.header-compact .cta-nav{margin-left:0;margin-top:16px;text-align:center}.site-header.header-compact .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:4px 0 8px 14px}.site-header.header-compact .dropdown li a{color:var(--graphite);padding:8px 0}.site-header.header-compact .main-nav .nav-phone{display:block}.site-header.header-compact .nav-phone .nav-link{margin-top:10px;border-bottom:0;font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase;color:var(--red)}.site-header.header-compact .hamburger{margin-left:auto;flex-shrink:0}.site-header.header-compact .nav-link{white-space:normal}}.nav-phone,.mobile-bar{display:none}@media(max-width:768px){.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--ink);border-top:1px solid rgba(244,244,242,.16);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:10px 12px;font-family:var(--font-display);font-size:clamp(1rem,4.4vw,1.12rem);line-height:1.2;text-transform:uppercase;letter-spacing:.02em;color:var(--on-dark)}.mobile-bar a+a{background:var(--red)}.mobile-bar svg{flex:none}html{background:#0e0f12;overscroll-behavior-y:none}body{padding-bottom:0;overscroll-behavior-y:none}.site-footer{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.footer-legal{padding-right:48px;gap:12px 20px}.gallery-lightbox,.team-modal{padding-bottom:56px}}@media(max-width:768px){body{font-size:1rem}.section,.section-lead{padding-block:48px}.section-tag{margin-bottom:16px;letter-spacing:.14em}.btn{font-size:.875rem;letter-spacing:.025em;padding:14px 20px;white-space:normal}.about-stats{grid-template-columns:1fr;gap:28px;text-align:center}.value-list,.service-list,.roofing-list,.faq-grid{grid-template-columns:1fr}.roofing-list li{border-right:0}.timeline-step{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.service-row{grid-template-columns:auto 1fr;gap:6px 18px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.footer-brand{grid-column:1 / -1}.footer-links a{font-size:.875rem}.footer-offices-heading{display:block}.footer-office-grid{grid-template-columns:1fr;gap:24px}.footer-office{padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}.trock-item{border-right:0!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.client-grid img,.membership-row img{transition:none}}.team-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--surface, #f7f7f8);border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:1.4rem 1rem 1.5rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;font:inherit;color:inherit}.team-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px #0000001f;border-color:#c8102e40}.team-card:focus-visible{outline:2px solid var(--red, #C8102E);outline-offset:3px}.team-card .team-bio{display:none}@keyframes teamPop{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}.team-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#9a9aa0;transition:color .15s}.team-modal-close:hover{color:var(--red, #C8102E)}.team-card{flex:0 1 200px;max-width:220px}@media(min-width:601px)and (max-width:900px){.team-card{flex-basis:168px}}@media(max-width:600px){.team-card{flex:0 1 calc(50% - .5rem);max-width:none}}.team-card{border-radius:var(--radius-lg)}section[id]{scroll-margin-top:calc(var(--header-height) + 12px)}a:focus-visible,button:focus-visible,.btn:focus-visible,.nav-link:focus-visible,.team-card:focus-visible,.report-preview:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:var(--radius)}@media(pointer:coarse),(max-width:1024px){.dropdown li a{min-height:44px;display:flex;align-items:center}.filter-btn{min-height:44px}.logo{min-height:44px;display:inline-flex;align-items:center}.scroll-indicator{padding:10px 16px}.footer-links li a,.footer-legal a,.social-links a{display:inline-flex;align-items:center;min-height:44px}.footer-links li{margin:0}.contact-item a{display:inline-flex;align-items:center;min-height:44px}.footer-social a{width:44px;height:44px}.logo{padding-inline:4px}}.to-top{position:fixed;right:clamp(14px,2.5vw,28px);bottom:clamp(14px,2.5vw,28px);z-index:880;width:46px;height:46px;display:flex;align-items:center;justify-content:center;color:var(--on-dark);background:#15161ae0;border:1px solid rgba(244,244,242,.22);border-radius:50%;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-md);transition:background var(--t),transform var(--t),border-color var(--t)}.to-top:hover{background:var(--red);border-color:var(--red);transform:translateY(-2px)}@media(max-width:768px){.to-top{bottom:calc(68px + env(safe-area-inset-bottom,0px));width:44px;height:44px}}.gallery-item.is-clamped{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.coverage-preview{display:grid;grid-template-columns:1.25fr 1fr;margin-top:clamp(3rem,6vw,5rem);overflow:hidden;color:var(--on-dark);background:var(--ink);border:1px solid #383d49;border-radius:8px;box-shadow:var(--shadow-lg);text-decoration:none;transition:border-color var(--t),box-shadow var(--t)}.coverage-preview:hover{color:var(--on-dark);border-color:#bd6576;box-shadow:0 24px 56px -28px #15161a80}.coverage-preview:focus-visible{outline:3px solid var(--red);outline-offset:6px}.coverage-preview-visual{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(22px,3vw,36px) clamp(16px,2.5vw,30px);background:radial-gradient(ellipse at 50% 45%,#2a303c,#1b1f27 75%);border-right:1px solid #343944}.coverage-preview-eyebrow{display:block;color:#f17c8e;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.coverage-preview-content{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(28px,4vw,52px)}.coverage-preview-content h3{color:var(--on-dark);font-size:clamp(2.4rem,4.2vw,3.6rem);line-height:.98;letter-spacing:-.015em;margin:17px 0 20px}.coverage-preview-content>p{color:#b9bec8;font-size:.93rem;line-height:1.75;max-width:38ch}.coverage-preview-locations{display:grid;gap:16px;margin:27px 0 30px;padding-left:18px;border-left:2px solid #b33049}.coverage-preview-locations dt{color:#a8aeba;font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.coverage-preview-locations dd{color:var(--on-dark);font-size:.95rem;font-weight:500;line-height:1.4}.coverage-preview-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;min-height:56px;background:var(--red);border-radius:3px;color:#fff;font-family:var(--font-display);font-size:1.25rem;line-height:1.2;text-transform:uppercase;letter-spacing:.025em;transition:background var(--t)}.coverage-preview-cta svg{flex:none;transition:transform var(--t)}.coverage-preview:hover .coverage-preview-cta,.coverage-preview:focus-visible .coverage-preview-cta{background:#e1223c}.coverage-preview:hover .coverage-preview-cta svg{transform:translate(2px,-2px)}.coverage-preview-hint{display:block;color:#a8aeba;font-size:.68rem;line-height:1.6;margin-top:13px}@media(max-width:1000px)and (min-width:761px){.coverage-preview{grid-template-columns:1.1fr 1fr}.coverage-preview-visual{padding-inline:18px}.coverage-preview-content{padding:30px}.coverage-preview-content h3{font-size:2.65rem}}@media(max-width:760px){.coverage-preview{grid-template-columns:1fr;margin-top:32px}.coverage-preview-visual{border-right:0;border-bottom:1px solid #343944;padding:24px 20px}.coverage-preview-content{padding:28px 24px}.coverage-preview-content h3{font-size:clamp(2.8rem,8vw,3.6rem)}.coverage-preview-hint{max-width:36ch}}@media(prefers-reduced-motion:reduce){.coverage-preview,.coverage-preview-cta,.coverage-preview-cta svg{transition:none}}.hero{min-height:min(900px,92dvh);padding-top:calc(var(--header-height) + 70px)}.hero h1{font-size:clamp(3.3rem,9vw,7.7rem)}.site-disclosure{margin-top:32px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.site-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:20px 4px;cursor:pointer;list-style:none;font-size:.98rem;font-weight:600;color:var(--ink)}.site-disclosure>summary::-webkit-details-marker{display:none}.site-disclosure>summary>span{flex:none;font-size:1.65rem;color:var(--red);font-weight:400;transition:transform var(--t)}.site-disclosure[open]>summary>span{transform:rotate(45deg)}.site-disclosure[open]{padding-bottom:28px}.site-disclosure>summary:hover{color:var(--red)}.services{padding-bottom:32px}@media(max-width:760px){.hero{min-height:88svh;padding-top:calc(var(--header-height) + 60px);padding-bottom:68px}.hero-badge{font-size:.61rem;letter-spacing:.08em}.hero h1{font-size:clamp(3.15rem,12vw,5rem)}.site-disclosure>summary{font-size:.9rem}}.hero h1{max-width:1050px;font-size:clamp(3.2rem,6.5vw,6.4rem);line-height:1.02}.hero h1{margin-bottom:0}.coverage-globe-card{position:relative;isolation:isolate}.coverage-globe-card .coverage-preview-content:after{content:"";position:absolute;inset:0;z-index:3}.coverage-globe-card .coverage-preview-content:focus-visible:after{outline:3px solid var(--red,#cc1124);outline-offset:5px;border-radius:6px}.coverage-globe-card .globe-preview-visual{padding:0;overflow:hidden;min-height:530px;background:#080a0e}.globe-poster,.globe-preview-frame{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}.globe-preview-heading{position:absolute;z-index:1;top:28px;left:28px;right:25px;pointer-events:none}.globe-preview-heading>span{font-size:9px;letter-spacing:.14em;color:#c1c5ce}.globe-preview-heading strong{display:block;font-family:Barlow Condensed,sans-serif;text-transform:uppercase;font-size:33px;font-weight:500;line-height:1.05;color:#fff;margin-top:10px;text-shadow:0 2px 12px #000}.globe-preview-label{position:absolute;left:26px;bottom:47px;right:120px;color:#cbd0d9;font-size:10px;line-height:1.5;z-index:1;pointer-events:none}.globe-preview-pause{position:absolute;right:17px;bottom:40px;z-index:4;background:#101318df;color:#d7dbe4;border:1px solid #ffffff35;border-radius:3px;font-size:12px;min-height:44px;min-width:44px;padding:10px 12px;cursor:pointer}.globe-preview-pause:focus-visible{outline:3px solid #e4ad4b;outline-offset:3px}.coverage-globe-card .coverage-preview-content{display:flex;color:inherit;text-decoration:none}.coverage-globe-card .coverage-preview-content:hover .coverage-preview-cta{text-decoration:underline;text-underline-offset:5px}@media(max-width:767px){.coverage-globe-card .globe-preview-visual{min-height:370px}.globe-preview-heading{left:20px;top:20px}.globe-preview-heading strong{font-size:29px}.globe-preview-label{left:20px;font-size:11px;bottom:48px;right:132px}.globe-preview-pause{right:12px;font-size:12px}.coverage-globe-card .coverage-preview-content:after{inset:0}}.coverage-globe-card .globe-preview-visual{position:relative}.globe-preview-frame{opacity:0;transition:opacity .7s ease}.map-preview-ready .globe-preview-frame{opacity:1}@media(prefers-reduced-motion:reduce){.globe-preview-frame{transition:none}}.hero-film-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #ffffff70;border-radius:3px;background:#111318b8;color:#fff;font:600 .75rem var(--font-body);cursor:pointer}.hero-film-toggle[hidden]{display:inline-flex;visibility:hidden}.hero-film-toggle:hover{background:#fff;color:#111318}.hero-film-toggle:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:760px){.hero-film-toggle{font-size:.8125rem;min-height:44px;padding:10px 16px}}@media(max-width:760px){.main-nav{padding-bottom:max(28px,env(safe-area-inset-bottom))}.dropdown li a{min-height:44px;display:flex;align-items:center}}@media(min-width:380px)and (max-width:1024px){.footer-office-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.footer-office h4{font-size:1rem}}main a.context-link{display:inline;min-height:0;color:inherit;font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}main a.context-link:hover{text-decoration-thickness:2px}main a.context-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}.gallery-tools[hidden],.gallery-empty[hidden],.gallery-grid[hidden]{display:none}.text-link,.service-text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--red);text-decoration:underline;text-underline-offset:4px;font-size:.9rem;font-weight:600}:is(.text-link,.service-text-link,.capabilities-view,.service-reach a):has(>.link-label){text-decoration:none}.link-label{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}:is(.text-link,.service-text-link,.capabilities-view,.service-reach a)>[aria-hidden=true]{flex:none}.service-page .site-header{background:#f3f3f1f5;border-bottom:1px solid var(--line)}.service-page .site-header .logo img{filter:none}.service-page .site-header .nav-link,.service-page .site-header .phone-link{color:var(--ink)}.service-page .site-header .cta-nav{color:#fff}.service-page .site-header .hamburger span{background:var(--ink)}.service-page .site-header .nav-link.active{color:var(--red)}.service-hero{padding:calc(var(--header-height) + 32px) 0 64px}.service-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--graphite);font-size:.73rem;margin-bottom:42px}.service-breadcrumb a{display:inline-flex;min-height:32px;align-items:center;text-decoration:underline;text-underline-offset:4px}.service-hero h1{font-size:clamp(2.9rem,5.7vw,5.2rem);line-height:.99;max-width:13ch;margin:0 0 28px}.service-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px}.service-planning{background:#e9e8e3}.service-planning-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}.service-planning h2{margin-bottom:22px}.service-planning p{color:var(--graphite);max-width:48ch}.service-portal-band{background:#1c2028;color:var(--on-dark);padding:52px 0}.service-portal-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.service-portal-band h2{color:var(--on-dark);font-size:clamp(2rem,3.7vw,3rem);margin-bottom:14px}.service-portal-band p{color:#bbc3cf;max-width:62ch;font-size:.94rem}.service-portal-band .section-tag{color:#ff8a9b}.service-portal-band .btn{flex:none}.service-contact{background:var(--ink);color:#fff;text-align:center}.service-contact h2{color:#fff;margin-bottom:24px}.service-contact .section-tag{color:#ff8a9b}.service-contact p{color:#bcc3cd}.service-contact-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin-top:30px}.service-contact .service-email-note{font-size:.76rem;margin-top:18px}.service-hub-hero{background:#e9e8e3;padding-bottom:70px}.service-hub-hero h1{max-width:17ch}.service-hub-hero>.container>p{max-width:65ch;color:var(--graphite)}@media(max-width:1000px){.service-hero h1{font-size:clamp(2.8rem,5.5vw,4rem)}.service-portal-inner{flex-direction:column;align-items:flex-start}}@media(max-width:760px){.capabilities-layout,.service-hero-grid,.service-planning-grid,.related-grid,.service-hub-grid{grid-template-columns:1fr}.services-overview-actions,.service-hero-actions{align-items:flex-start;gap:16px}.service-hero-actions{flex-direction:column}.service-hero-actions>.btn{width:100%;white-space:normal}.service-breadcrumb a{min-height:44px}.service-portal-band{padding-block:40px}.service-hero{padding-bottom:40px}.service-breadcrumb{margin-bottom:26px;font-size:.67rem}.service-hero h1{font-size:clamp(2.8rem,10vw,4.5rem);max-width:16ch}.service-contact-actions .btn{width:100%;max-width:390px}.service-contact h2 br{display:none}}@media(max-width:480px){.service-hero .section-tag{font-size:.64rem;letter-spacing:.12em}}.service-map-reach{background:var(--paper,#f3f3f1)}.service-map-reach .coverage-globe-card{margin-top:0}.service-map-reach .coverage-preview-content{text-align:left}.service-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px;margin-top:44px}.service-photo-link{display:flex;flex-direction:column;min-width:0;color:var(--ink)}.service-photo-media{position:relative;overflow:hidden;background:var(--ink);aspect-ratio:3 / 2}.service-photo-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease-out}.service-photo-copy{display:flex;flex-direction:column;flex:1;padding:22px 0 18px;border-bottom:1px solid var(--line-strong)}.service-photo-copy :is(h2,h3){font-size:clamp(1.7rem,2.5vw,2.2rem);margin:0 0 12px;line-height:1.1}.service-photo-copy p{color:var(--graphite);font-size:.94rem;line-height:1.65;margin-bottom:20px;max-width:60ch}.service-photo-action{display:flex;align-items:center;gap:14px;color:var(--red);font-size:.86rem;font-weight:600;margin-top:auto}.service-photo-link:hover .service-photo-action,.service-photo-link:focus-visible .service-photo-action{text-decoration:underline;text-underline-offset:4px}.service-photo-link:hover img{transform:scale(1.025)}.service-photo-grid-hub{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;gap:52px 36px}.service-hub-hero{background:var(--ink);color:#fff}.service-hub-hero .service-breadcrumb{color:#d4d5d8}.service-hub-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,68px);align-items:center}.service-hub-intro h1{color:#fff;font-size:clamp(2.7rem,4.7vw,4.6rem);max-width:17ch}.service-hub-intro p{max-width:58ch;color:#d4d5d8;margin-top:18px;font-size:.95rem;line-height:1.75}.service-hub-intro :is(.context-link,.service-text-link){color:#fff;text-decoration:underline;text-underline-offset:4px}.service-hub-photo{align-self:stretch;position:relative;min-height:440px;margin:0}.service-hub-photo img{position:absolute;width:100%;height:100%;object-fit:cover}.service-hub-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 18px;color:#fff;background:#15161ae8;font-size:.78rem}@media(max-width:1100px){.service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.service-hub-intro{grid-template-columns:1fr;gap:32px}.service-hub-photo{min-height:0;aspect-ratio:4 / 3}.service-photo-grid{grid-template-columns:1fr;gap:32px}.service-photo-copy :is(h2,h3){font-size:2rem}.service-hub-hero{padding-bottom:40px}}@media(prefers-reduced-motion:reduce){.service-photo-media img{transition:none}.service-photo-link:hover img{transform:none}}.service-hub-resources{margin-top:52px}.service-hub-resources h2{font-size:2rem;margin-bottom:14px}.service-hub-resources p{max-width:70ch;color:var(--graphite)}@media(max-width:760px){.service-hub-hero .service-breadcrumb{margin-bottom:24px}.service-hub-intro{display:flex;flex-direction:column;gap:24px;align-items:stretch}.service-hub-intro>div{display:contents}.service-hub-intro h1{order:0;margin:0}.service-hub-intro p{order:1;margin:0}.service-hub-photo{order:2}.service-hub-intro .service-hero-actions{order:3;margin-top:0}}.service-visual-note{color:var(--graphite);font-size:.8125rem;line-height:1.6;margin-top:24px}.service-visual-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}.analytics-notice{position:fixed;z-index:1200;bottom:20px;left:20px;right:20px;max-width:760px;background:#fff;color:#191a1d;box-shadow:0 8px 32px #0003;padding:16px 18px;border-radius:4px;font:400 14px/1.5 DM Sans,sans-serif;display:flex;gap:20px;align-items:center}.analytics-notice h2{font:600 15px/1.3 DM Sans,sans-serif;letter-spacing:0;margin:0 0 4px;text-transform:none;color:#191a1d}.analytics-notice p{font:400 14px/1.5 DM Sans,sans-serif;margin:0;color:#44464d;max-width:48ch}.analytics-notice a{color:#ad0027;text-decoration:underline;text-underline-offset:3px}.analytics-notice-actions{display:flex;gap:8px;flex-shrink:0}.analytics-notice button{min-height:44px;border:1px solid #5d6068;border-radius:3px;padding:9px 12px;background:#fff;color:#191a1d;font:600 13px/1.4 DM Sans,sans-serif;cursor:pointer;white-space:nowrap}.analytics-notice button:hover{background:#f0f0ed}.analytics-notice button:focus-visible,.analytics-choices:focus-visible{outline:3px solid #d10032;outline-offset:3px}.analytics-choices{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.analytics-choices[hidden]{display:none!important}@media(max-width:800px){.analytics-notice{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:none;padding:12px 14px;display:block;max-height:calc(100dvh - 170px);overflow-y:auto}.analytics-notice-actions{display:flex;margin-top:12px;gap:10px}.analytics-notice button{flex:1;white-space:normal}.analytics-notice-above-actions{bottom:calc(68px + env(safe-area-inset-bottom,0px))}}@media print{.analytics-notice,.analytics-choices{display:none!important}}@media(min-width:801px){.analytics-notice-home{left:auto;right:20px;max-width:400px;display:block}.analytics-notice-home .analytics-notice-actions{margin-top:12px}.analytics-notice-home button{flex:1}}@media(max-width:800px){.analytics-notice-home{position:relative;inset:auto;margin:0;max-width:none;max-height:none;overflow:visible;width:100%;box-sizing:border-box;padding:16px 20px;border-radius:0;box-shadow:none;border-bottom:1px solid #d7d7d4}}
