:root{--black:#1a1a1a;--black-soft:#242424;--black-transparent:rgba(0,0,0,0.2);--black-line:rgba(242,242,242,.14);--yellow:#faaf3b;--yellow-dark:#d9911f;--white:#f2f2f2;--white-line:rgba(26,26,26,.12);--paper:#ffffff;--font-head:'Barlow Condensed','Arial Narrow',sans-serif;--font-body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--wrap:1440px;--gap:clamp(1.25rem, 3vw, 2.5rem);--radius-sm:3px;--ease:cubic-bezier(.25,.8,.35,1);--dur:.7s}::selection{background:var(--yellow);color:var(--black)}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::after,::before{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important;scroll-behavior:auto!important}}body{margin:0;background:var(--black);color:var(--black);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}body::before{content:"";position:fixed;inset:0;z-index:-1;background:url(../images/backgrounds/house-eavestrough.webp) no-repeat center center var(--black-soft);background-size:cover;background-blend-mode:multiply}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}button{font:inherit;background:0 0;border:0;cursor:pointer;color:inherit}input,textarea{font:inherit}h1,h2,h3{font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:1.02;margin:0}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem);position:relative}.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}.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--yellow);color:var(--black);padding:.6rem 1rem;z-index:200;font-weight:700;transition:top .2s var(--ease)}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.trough-rail{position:fixed;top:0;left:0;width:5px;height:100vh;background:var(--black-line);z-index:150}.trough-fill{width:100%;height:0%;background:linear-gradient(180deg,var(--yellow),var(--yellow-dark));transition:height .08s linear}@media (max-width:720px){.trough-rail{top:0;left:0;width:100vw;height:4px}.trough-fill{height:100%;width:0%;transition:width .08s linear}}.site-header{position:fixed;inset:0 0 auto 0;z-index:100;padding-block:.85rem;background:0 0;transition:background .3s var(--ease),padding .3s var(--ease),box-shadow .3s var(--ease)}.site-header.is-scrolled{background:rgba(26,26,26,.92);backdrop-filter:saturate(140%) blur(6px);padding-block:.55rem;box-shadow:0 6px 24px rgba(0,0,0,.25)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.logo img{width:90%;max-width:175px}.main-nav ul{display:flex;gap:clamp(1rem,2vw,2rem)}.main-nav a{color:var(--white);font-size:.95rem;font-weight:500;position:relative;padding-block:.25rem}.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--yellow);transition:right .25s var(--ease)}.main-nav a:focus-visible::after,.main-nav a:hover::after{right:0}.header-actions{display:flex;align-items:center;gap:1rem}.header-phone{display:flex;align-items:center;gap:.4rem;color:var(--white);font-weight:700;font-size:.92rem;white-space:nowrap}.header-phone svg{color:var(--yellow)}.nav-toggle{display:none;width:38px;height:32px;flex-direction:column;justify-content:center;gap:6px}.nav-toggle span{display:block;width:100%;height:2px;background:var(--white);transition:transform .25s var(--ease),opacity .25s var(--ease)}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-call-btn{display:none;position:fixed;right:2.5%;bottom:2.5%;z-index:140;width:56px;height:56px;align-items:center;justify-content:center;border-radius:50%;background:var(--yellow);color:var(--black);box-shadow:0 8px 20px rgba(0,0,0,.35);transition:transform .18s var(--ease),background .18s var(--ease)}.mobile-call-btn:focus-visible,.mobile-call-btn:hover{background:var(--yellow-dark);transform:translateY(-2px)}.mobile-call-btn svg{color:var(--black)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;font-weight:700;font-size:.92rem;border:2px solid transparent;border-radius:var(--radius-sm);transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-yellow{background:var(--yellow);color:var(--black)}.btn-yellow:hover{background:var(--yellow-dark)}.btn-outline{border-color:var(--white);color:var(--white)}.btn-outline:hover{background:var(--white);color:var(--black)}.btn-outline-black{border-color:var(--black);color:var(--black)}.btn-outline-black:hover{background:var(--black);color:var(--white)}.btn-on-dark{border-color:var(--white);color:var(--white)}.btn-on-dark:hover{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.btn-black{background:var(--black);color:var(--white)}.btn-black:hover{background:#000}.btn-small{padding:.55rem 1.1rem;font-size:.82rem}.btn-full{width:100%}.eyebrow{font-family:var(--font-body);font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin:0 0 .6rem}.eyebrow-dark{color:var(--yellow-dark)}.section-title{font-size:clamp(2.1rem, 4.2vw, 3.2rem);margin-bottom:1rem}.section-lead{max-width:54ch;font-size:1.05rem;color:#3a3a3a}.section-lead-light{color:rgba(242,242,242,.8)}.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.reveal.is-visible{opacity:1;transform:none}.hero{background:0 0;position:relative;color:var(--white);padding-top:clamp(7.5rem,14vw,10rem);padding-bottom:clamp(3rem,7vw,5rem);clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 3.5vw))}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap);align-items:center}.text-yellow{color:var(--yellow)}.hero-copy h1{font-size:clamp(2.6rem, 6vw, 4.6rem);margin:.2rem 0 1.1rem}.hero-lead{max-width:46ch;color:rgba(242,242,242,.82);font-size:1.08rem;margin-bottom:1.8rem}.hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.6rem}.hero-stats-panel{justify-self:stretch;align-self:center;background:var(--black-transparent);backdrop-filter:blur(10px);border:1px solid var(--black-line);border-radius:var(--radius-sm);padding:clamp(1.5rem,3vw,2.4rem);position:relative;overflow:hidden}.hero-stats-panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--yellow),var(--yellow-dark))}.hero-stats{display:flex;flex-direction:column}.hero-stats li{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem;padding-block:1.15rem;border-bottom:1px solid var(--black-line)}.hero-stats li:first-child{padding-top:.1rem}.hero-stats li:last-child{border-bottom:0;padding-bottom:.1rem}.hero-stats li:first-child{transition-delay:.05s}.hero-stats li:nth-child(2){transition-delay:.18s}.hero-stats li:nth-child(3){transition-delay:.31s}.stat-num,.stat-plus{font-family:var(--font-head);font-weight:700;font-size:clamp(2.6rem, 4.5vw, 3.4rem);color:var(--yellow);line-height:1}.stat-label{flex-basis:100%;font-size:.88rem;font-weight:500;color:rgba(242,242,242,.7);margin-top:.15rem}.services{background:var(--paper);padding-block:clamp(4rem,8vw,7rem)}.service-list{margin-top:2.5rem;display:flex;flex-direction:column}.service-row{display:grid;grid-template-columns:225px 1fr;gap:1.5rem;align-items:flex-start;padding-block:1.6rem;border-top:1px solid var(--white-line)}.service-row:last-child{border-bottom:1px solid var(--white-line)}.service-icon{width:64px;height:64px;border-radius:50%;background:var(--white);display:none;align-items:center;justify-content:center;border:2px solid var(--black)}.service-icon svg{width:32px;height:32px}.service-image{width:200px}.service-image img{border-radius:var(--radius-sm);height:auto}.service-text h3{font-size:1.5rem;margin-bottom:.4rem;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.service-text .tag{transform:translateY(-5px);font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.08em;background:var(--yellow);color:var(--black);padding:.15rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase}.service-text p{max-width:62ch;color:#3a3a3a;margin:0}.services-more{margin-top:2.2rem;font-weight:500}.services-more a{color:var(--yellow-dark);font-weight:700;border-bottom:2px solid currentColor}.services .btn-right{width:100%;text-align:right;position:sticky;top:100px;z-index:1000}.service-image .video-trigger{position:relative;display:block;width:100%;padding:0;border:0;background:0 0;cursor:pointer}.service-image .video-trigger img{display:block;width:100%;height:auto}.service-image .video-trigger .play-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.service-image .video-trigger:hover .play-badge{transform:translate(-50%,-50%) scale(1.08)}.video-modal{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center}.video-modal.is-open{display:flex}.video-modal-backdrop{position:absolute;inset:0;background:rgba(26,26,26,.85)}.video-modal-dialog{position:relative;z-index:1000;width:min(90vw,900px)}.video-modal-player{display:block;width:100%;height:auto;max-height:85vh;background:#000}.video-modal-close{position:absolute;top:-40px;right:0;background:0 0;border:0;color:#f2f2f2;font-size:32px;line-height:1;cursor:pointer}.process{background:0 0;color:var(--white);padding-block:clamp(4rem,8vw,7rem);clip-path:polygon(0 3.5vw,100% 0,100% 100%,0 100%);margin-top:-3.5vw}.steps{margin-top:3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;counter-reset:step}.step{position:relative;padding:1.6rem 1.4rem 1.4rem;background:var(--black-transparent);backdrop-filter:blur(10px);border:1px solid var(--black-line);border-radius:var(--radius-sm)}.step:nth-child(2){transform:translateY(1.2rem)}.step:nth-child(4){transform:translateY(1.2rem)}.step-num{display:block;font-family:var(--font-head);font-size:2.4rem;color:var(--yellow);line-height:1;margin-bottom:.6rem}.step h3{font-size:1.25rem;margin-bottom:.4rem}.step p{margin:0;color:rgba(242,242,242,.72);font-size:.95rem}.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--gap);align-items:center}.about-portrait svg{width:100%;height:auto}.portrait{height:auto}.about-copy{padding-block:clamp(4rem,8vw,7rem)}.badge-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.badge-row li{border:2px solid var(--black);padding:.5rem 1rem;font-weight:700;font-size:.85rem;border-radius:var(--radius-sm)}.estimate{background:0 0;color:var(--white);padding-block:clamp(4rem,8vw,7rem);clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 3.5vw))}.estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}.price-table{width:100%;border-collapse:collapse;margin-top:1.8rem;font-size:.95rem}.price-table td,.price-table th{text-align:left;padding:.75rem .5rem;border-bottom:1px solid var(--black-line)}.price-table thead th{color:var(--yellow);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.price-note{margin-top:1rem;font-size:.85rem;color:rgba(242,242,242,.6)}.estimate-form{background:var(--black-transparent);backdrop-filter:blur(10px);border:1px solid var(--black-line);padding:clamp(1.5rem,3vw,2.2rem);border-radius:var(--radius-sm)}.field{margin-bottom:1.1rem}.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.4rem;color:rgba(242,242,242,.85)}.field input,.field textarea{width:100%;padding:.8rem .9rem;background:var(--black);color:var(--white);border:1px solid var(--black-line);border-radius:var(--radius-sm);resize:vertical;transition:border-color .2s var(--ease)}.field input:focus,.field textarea:focus{border-color:var(--yellow);outline:0}.form-status{margin-top:.9rem;font-size:.88rem;min-height:1.2em;color:var(--yellow)}.gallery{background:var(--paper);padding-block:clamp(4rem,8vw,7rem)}.gallery-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.gallery-item{display:flex;flex-direction:column;gap:.7rem}.gallery-caption{font-weight:700;font-size:.92rem;color:var(--black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carousel{position:relative;aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;background:var(--black)}.carousel-viewport{width:100%;height:100%;overflow:hidden}.carousel-track{display:flex;height:100%;width:100%;transition:transform .45s var(--ease);will-change:transform}.carousel-slide{position:relative;flex:0 0 100%;height:100%;width:100%;display:flex;align-items:flex-end;padding:1rem}.carousel-slide img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center}.carousel-slide span{position:relative;z-index:1;color:var(--white);font-weight:700;font-size:.85rem;background:var(--black-transparent);padding:3px 10px;border-radius:var(--radius-sm);backdrop-filter:blur(20px)}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:rgba(26,26,26,.55);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.carousel-arrow:hover{background:var(--yellow);color:var(--black)}.carousel:focus-within .carousel-arrow,.carousel:hover .carousel-arrow{opacity:1}.carousel-prev{left:.5rem}.carousel-next{right:.5rem}.carousel-dots{position:absolute;bottom:1.2rem;right:5%;display:flex;gap:.35rem;z-index:2}.carousel-dot{width:7px;height:7px;border-radius:50%;padding:0;background:rgba(255,255,255,.55);transition:width .25s var(--ease),background .25s var(--ease)}.carousel-dot.is-active{width:18px;border-radius:4px;background:var(--yellow)}.social-row{margin-top:2.2rem;display:flex;gap:1.5rem;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:.5rem;font-weight:700;padding:.6rem 1rem;border:2px solid var(--black);border-radius:var(--radius-sm);transition:background .2s,color .2s}.social-link:hover{background:var(--black);color:var(--white)}.reviews{background:0 0;color:var(--white);padding-block:clamp(4rem,8vw,7rem);text-align:center}.sk-ww-google-reviews{text-align:left}.review-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.review-card{margin:0;background:var(--black-transparent);backdrop-filter:blur(10px);border:1px solid var(--black-line);padding:1.6rem;border-radius:var(--radius-sm)}.stars{color:var(--yellow);letter-spacing:.1em;margin-bottom:.8rem}.review-card p{margin:0 0 1rem;color:rgba(242,242,242,.88)}.review-card cite{font-style:normal;font-size:.85rem;color:rgba(242,242,242,.55)}.reviews .btn{margin-top:2.2rem}.area{background:var(--paper);padding-block:clamp(4rem,8vw,7rem)}.area-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap);align-items:center}.town-list{margin-top:1.6rem;display:grid;grid-template-columns:repeat(3,auto);gap:.6rem 2rem}.town-list li{font-weight:700;font-family:var(--font-head);font-size:1.2rem;letter-spacing:.02em;text-transform:uppercase}.town-list li::before{content:"\2022";color:var(--yellow-dark);margin-right:.5rem}.area-map{width:100%;justify-self:center}.area-map iframe{border:none;width:100%;height:400px;border-radius:var(--radius-sm)}.cta-band{background:var(--yellow);color:var(--black);padding-block:clamp(3.5rem,7vw,5.5rem)}.cta-band .eyebrow{display:none}.cta-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gap);align-items:center}.cta-band .section-lead{color:rgba(26,26,26,.75)}.cta-links{display:flex;flex-direction:column;gap:.9rem}.site-footer{background:0 0;color:var(--white);padding-top:3rem}.footer-row{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:flex-start;padding-bottom:2rem;border-bottom:1px solid var(--black-line)}.logo-footer{font-size:1.3rem}.footer-contact{display:flex;flex-direction:column;gap:.4rem;font-style:normal;font-size:.92rem;color:rgba(242,242,242,.75)}.footer-contact a:hover{color:var(--yellow)}.footer-nav{display:flex;gap:1.3rem;flex-wrap:wrap}.footer-nav a{font-size:.9rem;color:rgba(242,242,242,.75)}.footer-nav a:hover{color:var(--yellow)}.footer-bottom{padding-block:1.4rem;font-size:.8rem;color:rgba(242,242,242,.5);display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;}.redding{width:auto;height:30px}.about,.area,.estimate,.gallery,.process,.reviews,.services{content-visibility:auto;contain-intrinsic-size:900px}@media (max-width:960px){body{background:#333}body::before{content:"";position:fixed;inset:0;z-index:-1;background:url(../images/backgrounds/house-eavestrough.webp) no-repeat center center #333;background-size:cover;background-blend-mode:multiply}.about-grid,.area-grid,.cta-grid,.estimate-grid,.hero-grid{grid-template-columns:1fr}.about-portrait{margin-inline:auto}.about-copy{order:-1;text-align:center}.about-copy .section-lead{margin:auto}.badge-row{justify-content:center}.steps{grid-template-columns:repeat(2,1fr)}.step:nth-child(2),.step:nth-child(4){transform:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.carousel-arrow{opacity:1}.review-grid{grid-template-columns:1fr}.area-map{margin-top:1rem}.main-nav{position:fixed;inset:0 0 0 auto;width:min(78vw,320px);height:100vh;background:var(--black);padding:6rem 2rem 2rem;transform:translateX(100%);transition:transform .32s var(--ease)}.main-nav.is-open{transform:translateX(0)}.main-nav ul{flex-direction:column;gap:1.4rem}.main-nav a{font-family:var(--font-head);font-size:1.4rem;text-transform:uppercase}.nav-toggle{display:flex}.header-phone{display:none}.mobile-call-btn{display:flex}}@media (max-width:720px){.steps{grid-template-columns:1fr}.gallery-grid{grid-template-columns:minmax(0,1fr)}.town-list{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:1fr}.service-icon{width:48px;height:48px}.service-icon svg{width:24px;height:24px}.service-image{width:100%}.service-image img{width:100%;max-width:400px}}@media (max-width:720px){.footer-bottom{flex-direction:column}}