:root{--ink:#292323;--muted:#5e514c;--paper:#fff;--sand:#f6f1ea;--line:#2923231f;--orange:#a2431d;--orange-deep:#7c3013;--soft:#f8ebe4;--max:1120px;--display:"Schibsted Grotesk", "Avenir Next", sans-serif;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--display);margin:0;font-size:1.05rem;line-height:1.55;overflow-x:clip}body.nav-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{letter-spacing:-.045em;margin:0;font-weight:600;line-height:1.08}h1{text-transform:uppercase;font-size:clamp(3.1rem,6.4vw,4.7rem)}h2{letter-spacing:-.04em;margin-bottom:.9rem;font-size:clamp(2rem,3.4vw,2.8rem)}h3{margin:1.6rem 0 .4rem;font-size:1.2rem}p{max-width:72ch;margin:0 0 1rem;line-height:1.65}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.skip{color:var(--ink);z-index:80;background:#fff;padding:.55rem .75rem;position:absolute;top:.4rem;left:.75rem;transform:translateY(-160%)}.skip:focus{transform:none}.draft-banner{background:var(--ink);color:#f6f1ea;text-align:center;margin:0;padding:.45rem .8rem;font-size:.86rem}.draft-banner a{color:#fff}.util{color:#f3ebe4;background:#1c1715;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.45rem 1.25rem;font-size:.84rem;display:flex}.header-bar{z-index:40;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fffffff0;position:sticky;top:0}.header-inner,.wrap{width:min(var(--max), calc(100% - 2rem));margin-inline:auto}.header-inner{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem;height:4.35rem;min-height:0;display:flex}.header-bar.is-compact .header-inner{height:3.5rem}.header-bar.is-compact .logo img{width:3.6rem}.logo{flex:none}.logo img{width:4.6rem;height:auto;display:block}.nav-toggle{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--ink);background:#fff;border:1px solid #2923238c;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle-icon{background:currentColor;border-radius:1px;width:1.05rem;height:2px;display:block;position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";background:currentColor;border-radius:1px;width:1.05rem;height:2px;position:absolute;left:0}.nav-toggle-icon:before{top:-6px}.nav-toggle-icon:after{top:6px}.nav-toggle[aria-expanded=true] .nav-toggle-icon{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle-icon:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-icon:after{top:0;transform:rotate(-45deg)}.nav{align-items:center;gap:1rem;min-width:0;display:flex}.nav a,.nav-sub summary{color:var(--ink);font-size:.98rem;font-weight:600;text-decoration:none}.nav-sub{position:relative}.nav-sub summary{cursor:pointer;align-items:center;gap:.35rem;min-height:2.75rem;list-style:none;display:flex}.nav-sub summary::-webkit-details-marker{display:none}.nav-sub summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.4rem;height:.4rem;transform:translateY(-.1rem)rotate(45deg)}.nav-sub ul{z-index:30;border:1px solid var(--line);background:#fff;border-radius:.9rem;min-width:15rem;margin:0;padding:.35rem;list-style:none;display:none;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 16px 40px #2923231f}.nav-sub[open] ul,.nav-sub:focus-within ul{display:grid}@media (hover:hover) and (width>=861px){.nav-sub:hover ul{display:grid}}.nav-sub a{border-radius:.55rem;padding:.55rem .7rem;display:block}.nav-sub a:hover,.nav-sub a:focus-visible{background:var(--soft)}.nav-cta{display:none}.header-actions{flex:none;align-items:center;gap:.45rem;display:flex}.btn{min-height:3rem;font:600 1rem var(--display);cursor:pointer;color:var(--ink);background:0 0;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1.15rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:var(--orange-deep);color:#fff}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{color:#fff;background:#111}.btn-line{color:var(--ink);background:#fff;border-color:#2923238c}.btn-line:hover{border-color:var(--ink)}.btn-call{color:#fff;background:#a2431d;border-color:#a2431d;animation:2.6s ease-in-out infinite call-pulse}.btn-call:hover{background:var(--orange-deep);color:#fff}@keyframes call-pulse{0%,68%,to{transform:scale(1);box-shadow:0 0 #a2431d66}82%{transform:scale(1.04);box-shadow:0 0 0 8px #a2431d00}}.btn-ghost{color:#fff;border-color:#ffffffb3}.btn-ghost:hover{color:var(--ink);background:#fff}.header-actions .btn,.hero-actions .btn{min-height:2.8rem}.header-actions .btn{padding-inline:.9rem}.hero-actions{margin:.2rem 0 .3rem}.hero-shell{padding:1rem 0 .5rem}.hero{isolation:isolate;color:#fff;background:#1a1412;border-radius:1.7rem;align-items:end;min-height:min(78vh,44rem);display:grid;position:relative;overflow:hidden}.hero img{object-fit:cover;object-position:center 42%;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero-shade{z-index:-1;background:linear-gradient(90deg,#100b09e0 0%,#100b098c 48%,#100b091f 100%);position:absolute;inset:0}.hero-copy{width:min(40rem,100% - 3rem);padding:2.2rem 0 2rem 2rem}.hero h1{text-transform:none;font-size:clamp(2rem,4.4vw,3.5rem)}.eyebrow,.pill{color:#fff;letter-spacing:.12em;text-transform:uppercase;background:#ffffff24;border-radius:999px;align-items:center;gap:.45rem;margin:0 0 .8rem;padding:.28rem .7rem;font-size:.75rem;font-weight:600;display:inline-flex}.pill-ink{background:var(--soft);color:var(--orange-deep);letter-spacing:.08em}.pill i,.eyebrow i{background:#efb79a;border-radius:50%;width:.45rem;height:.45rem;display:block}.pill-ink i{background:var(--orange)}.hero .lede{color:#f7efe8;max-width:34rem;font-size:1.08rem}.stats{flex-wrap:wrap;gap:.8rem 1.2rem;margin:1.3rem 0 0;padding:0;list-style:none;display:flex}.stats li{min-width:7rem}.stats strong{letter-spacing:-.04em;font-size:1.7rem;display:block}.stats span{color:#f0d7cb;font-size:.92rem}.section{padding:4.5rem 0}.statement{text-align:center;letter-spacing:-.04em;width:min(52rem,100% - 2rem);margin:0 auto;font-size:clamp(1.7rem,3vw,2.45rem);font-weight:600;line-height:1.15}.statement em{color:#5c514c;font-style:normal}.section-head{max-width:40rem;margin-bottom:1.5rem}.section-head p{color:var(--muted)}.svc-list{gap:1.15rem;display:grid}.svc-card{border:1px solid var(--line);background:#fff;border-radius:1.5rem;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:1.15rem;padding:.7rem;display:grid}.svc-card.is-flip{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.svc-card.is-flip .svc-photo{order:2}.svc-photo{aspect-ratio:5/4;object-fit:cover;border-radius:1.15rem;width:100%;height:auto;min-height:16rem}.svc-copy{padding:.55rem .85rem .7rem .35rem}.svc-card.is-flip .svc-copy{padding:.55rem .35rem .7rem .85rem}.svc-copy h3{letter-spacing:-.04em;margin-bottom:.45rem;font-size:clamp(1.7rem,2.4vw,2.35rem)}.svc-copy .cat{color:var(--orange-deep);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .4rem;font-size:.78rem;font-weight:700}.svc-copy .desc{color:var(--muted);max-width:34rem;margin:0 0 1rem}.split{grid-template-columns:1.05fr .95fr;align-items:center;gap:2.5rem;display:grid}.split img,.frame img{aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:1.5rem;width:100%;height:auto;max-height:32rem}.checks{margin:.4rem 0 1rem;padding:0;list-style:none}.checks li{margin:.45rem 0;padding-left:1.4rem;position:relative}.checks li:before{content:"";border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);width:.7rem;height:.4rem;position:absolute;top:.45rem;left:0;transform:rotate(-45deg)}.actions{flex-wrap:wrap;gap:.65rem;display:flex}.process{color:#f7f1ea;background:#241c19}.process .pill{color:#fff;background:#ffffff1f}.process-grid{grid-template-columns:.85fr 1.15fr;gap:2rem;display:grid}.process-intro{align-self:start;position:sticky;top:6rem}.process-intro p{color:var(--muted)}.process .process-intro p{color:#f3e7df}.process .process-intro .pill{color:#fff}.steps{margin:0;padding:0;list-style:none}.steps li{border-top:1px solid var(--line);grid-template-columns:2.2rem 11rem 1fr;gap:.8rem;padding:1rem 0;display:grid}.steps li:last-child{border-bottom:1px solid var(--line)}.process .steps li,.process .steps li:last-child{border-color:#ffffff52}.steps span{color:var(--orange-deep);font-weight:600}.process .steps span{color:#f0c2a8}.steps h3{font-size:1.25rem}.steps p{color:var(--ink);margin:0}.process .steps p{color:#f6efe8}.scroller{scroll-snap-type:x mandatory;grid-auto-columns:minmax(15rem,18rem);grid-auto-flow:column;gap:.8rem;padding-bottom:.4rem;display:grid;overflow-x:auto}.shot{scroll-snap-align:start;margin:0}.shot img{object-fit:cover;border-radius:1rem;width:100%;height:13rem}.shot figcaption{padding-top:.45rem;font-weight:600}.note{color:var(--muted);font-size:.95rem}.facts{grid-template-columns:.8fr 1.2fr;align-items:start;gap:1.5rem;display:grid}.fact-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.fact{background:var(--sand);border-radius:1rem;padding:1rem 1rem .9rem}.fact h3{margin-bottom:.35rem;font-size:1.15rem}.fact p{color:var(--muted);margin:0}.faq-grid{grid-template-columns:.75fr 1.25fr;gap:2rem;display:grid}.faq details{border-top:1px solid var(--line);padding:.85rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:1.05rem;font-weight:600}.faq details p{color:var(--muted);margin:.55rem 0 .15rem}.contact-grid{grid-template-columns:.85fr 1.15fr;gap:1rem;display:grid}.contact-card,.demo-form{border-radius:1.4rem;padding:1.3rem}.contact-card{color:#fff;background:#241c19;min-height:100%}.contact-card p{color:#eadfd6}.contact-card a{color:#fff}.hours{margin:0 0 1rem;padding:0;list-style:none}.hours li{border-bottom:1px solid #ffffff1f;justify-content:space-between;gap:1rem;padding:.35rem 0;display:flex}.demo-form{background:var(--sand);gap:.75rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.demo-form label{gap:.3rem;font-size:.95rem;font-weight:600;display:grid}.optional{color:var(--muted);font-weight:500}input,select,textarea{width:100%;min-height:2.9rem;font:inherit;color:var(--ink);background:#fff;border:1px solid #2923232e;border-radius:.8rem;padding:.55rem .7rem}textarea{resize:vertical;min-height:6.5rem}.check-label{align-items:flex-start;gap:.65rem;font-weight:500;display:flex}.check-label input{width:1.15rem;min-height:1.15rem;margin-top:.2rem}.home-estimate .demo-flag{display:none}.home-notice,.demo-flag,.form-status{color:var(--ink);background:#fff;border-radius:.8rem;margin:0;padding:.7rem .8rem;font-size:.92rem}.form-status:empty,.form-status[hidden]{display:none}.form-status[data-state=error]{background:#fde8e4}.field-error{color:#8c2416;font-size:.85rem}[aria-invalid=true]{border-color:#8c2416}.footer{color:#f4ece6;background:#1c1715;padding:3rem 0 1.4rem}.footer-grid{grid-template-columns:1.3fr .7fr 1fr .9fr;gap:1.4rem;display:grid}.footer h2{letter-spacing:.12em;text-transform:uppercase;margin-bottom:.6rem;font-size:.82rem}.footer a{color:#f4ece6;text-decoration:none}.footer ul{margin:0;padding:0;list-style:none}.footer li+li{margin-top:.35rem}.footer-brand{background:#fff;border-radius:.85rem;max-width:100%;margin-bottom:.8rem;padding:.45rem .65rem .4rem;line-height:0;display:inline-block}.footer-logo{aspect-ratio:635/348;object-fit:contain;object-position:center;background:0 0;border-radius:0;width:10.5rem;max-width:100%;height:auto}.fine{color:#cbbfb6;border-top:1px solid #ffffff1f;margin-top:1.5rem;padding-top:.8rem;font-size:.9rem}.cities{color:#eadfd6;margin:0}.page-hero{padding:1.4rem 0 .2rem}.page-hero h1{text-transform:none;font-size:clamp(2.1rem,4vw,3.4rem)}.page-hero .crumbs{color:var(--muted);margin-bottom:.8rem}.page-hero .crumbs a{color:var(--orange-deep);font-weight:600;text-decoration:none}.page-hero .crumbs ol{flex-wrap:wrap;gap:.35rem .45rem;margin:0;padding:0;list-style:none;display:flex}.page-hero .crumbs li:not(:last-child):after{content:"/";color:var(--muted);margin-left:.45rem}.answer{max-width:44rem;font-size:1.12rem}.evidence{background:var(--sand);border-radius:1rem;margin:.6rem 0 1rem;padding:1rem 1.1rem}.city-index{gap:.8rem;display:grid}.evidence h2{font-size:1.35rem}.prose{max-width:46rem}.prose h2{text-transform:none;margin-top:1.5rem;font-size:1.35rem}.copy-layout{grid-template-columns:minmax(0,1.45fr) minmax(16rem,.7fr);align-items:start;gap:1.5rem;display:grid}.copy-layout img{object-fit:cover;border-radius:1rem;width:100%;height:22rem;position:sticky;top:5.4rem}.copy-body{max-width:72ch}.copy-body h1{margin-bottom:.85rem}.copy-body h2{margin-top:4.5rem;margin-bottom:1.15rem}.copy-body h1+h2{margin-top:.75rem}.copy-body .actions{margin:1.1rem 0 0}.copy-body h3{border-top:1px solid var(--line);margin:0;padding-top:1.15rem;font-size:1.15rem}.copy-body h2+h3{border-top:0;padding-top:.35rem}.copy-body p,.copy-body li{max-width:72ch}.copy-body ul,.copy-body ol{margin:.5rem 0 1.75rem;padding-left:1.2rem}.copy-body li{margin:.55rem 0}.copy-body p a,.copy-body li a{color:var(--orange-deep);text-underline-offset:.18em;font-weight:700;text-decoration:underline}.copy-body p a:after,.copy-body li a:after{content:" →"}.copy-body .actions a:after{content:none}.legal-notice{background:#fff6e8;border:1px solid #e4c8a8;border-radius:.8rem;margin:.2rem 0 1.2rem;padding:.9rem 1rem}.legal-notice p{margin:0}.stack+.stack{margin-top:1.2rem}.mobile-bar{display:none}#services,#process,#work,#about,#trust,#faq,#contact,#areas,#service-repairs,#service-replacement,#service-insurance,#service-vinyl,#service-gutters{scroll-margin-top:6.5rem}@media (width<=860px){.nav-toggle{display:inline-flex}.nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:.15rem;padding:.45rem 1rem .9rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 16px 30px #29232314}.nav[data-open=true]{display:flex}.nav>a,.nav-sub summary{align-items:center;min-height:2.75rem;display:flex}.nav-sub ul{box-shadow:none;border:0;min-width:0;padding:0 0 .3rem .4rem;position:static}.header-actions{display:none}.nav-cta{flex-direction:column;align-items:stretch;gap:.45rem;margin-top:.4rem;display:flex}}@media (width<=980px){.header-actions{margin-left:auto}.process-grid,.split,.facts,.faq-grid,.contact-grid,.footer-grid,.steps li,.copy-layout{grid-template-columns:1fr}.copy-layout img{height:16rem;position:static}.process-intro{position:static}.steps li{gap:.25rem}.header-bar{position:sticky}}@media (width<=720px){.copy-body h2{margin-top:3rem}.copy-body h1+h2{margin-top:.5rem}}@media (width<=860px){.svc-card,.svc-card.is-flip{grid-template-columns:1fr}.svc-card.is-flip .svc-photo{order:0}.svc-photo{aspect-ratio:16/10;width:100%;min-height:14rem}.svc-copy,.svc-card.is-flip .svc-copy{padding:.35rem .55rem .85rem}}@media (width<=720px){.header-inner{flex-wrap:nowrap}.logo img{width:4.4rem}.footer-logo{width:min(12rem,100%)}.hero{border-radius:1.2rem;min-height:0}.hero-shade{background:linear-gradient(#100b0940,#100b09d1 48%,#100b09e0)}.hero-copy{width:auto;padding:1.2rem 1.1rem 5rem}.hero h1{font-size:clamp(1.65rem,7.4vw,2.15rem)}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.stats li{min-width:0}.stats strong{font-size:1.35rem}.stats span{font-size:.78rem;line-height:1.2}.form-row,.fact-grid,.footer-grid{grid-template-columns:1fr}.section{padding:3.2rem 0}.util{font-size:.78rem}.mobile-bar{z-index:45;padding:.5rem .65rem calc(.5rem + env(safe-area-inset-bottom));background:#1c1715;grid-template-columns:1fr 1fr;gap:.45rem;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bar .btn-ghost{color:#fff;background:#1c1715}body{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn-call{animation:none}}
