@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{--ink:#23231f;--ink-soft:#3a3a32;--yellow:#f7c948;--yellow-strong:#896400;--paper:#fff;--white:#fff;--sun:#fff7d7;--yellow-pale:#fffbee;--muted:#5d5c54;--line:#ded9c7;--yellow-line:#e7be38;--max:1180px;--font-display:"Barlow Condensed", Impact, sans-serif;--font-body:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.1em}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;line-height:.98}h1{letter-spacing:-.035em;font-size:clamp(3.6rem,8vw,7.4rem)}h2{letter-spacing:-.025em;font-size:clamp(2.6rem,5vw,4.6rem)}h3{font-size:1.75rem}:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}.skip-link{background:var(--yellow);color:var(--ink);z-index:100;padding:.8rem 1rem;font-weight:800;position:fixed;top:-6rem;left:1rem}.skip-link:focus{top:1rem}.shell{max-width:var(--max);width:100%;margin-inline:auto;padding-inline:24px}.narrow{max-width:820px}.section{padding-block:clamp(5rem,9vw,8rem)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.7rem;margin-bottom:1.2rem;font-size:.76rem;font-weight:800;display:flex}.eyebrow:before{background:var(--yellow);content:"";width:42px;height:4px}.eyebrow-light{color:var(--yellow-strong)}.utility-bar{background:var(--yellow);color:var(--ink);font-size:.76rem;font-weight:700}.utility-inner{justify-content:space-between;align-items:center;min-height:34px;display:flex}.utility-inner div{gap:1.2rem;display:flex}.utility-inner a{text-decoration:none}.site-header{background:var(--white);border-bottom:1px solid var(--line);color:var(--ink);z-index:10;position:relative}.nav-row{grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:92px;display:grid}.brand{align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand-logo{width:248px;height:54px;overflow:hidden}.brand-logo img{object-fit:cover;object-position:center 42%;width:100%;height:100%}.brand-mark{background:var(--yellow);color:var(--ink);font-family:var(--font-display);justify-content:center;align-items:center;width:48px;height:52px;font-size:2.2rem;font-weight:800;display:inline-flex;transform:skew(-7deg)}.brand strong,.brand small{display:block}.brand strong{font-family:var(--font-display);letter-spacing:.04em;font-size:1.8rem;line-height:.9}.brand small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.3rem;font-size:.68rem}.nav-row nav{justify-content:center;gap:clamp(1rem,3vw,2.4rem);display:flex}.nav-row nav a{font-size:.83rem;font-weight:700;text-decoration:none}.nav-row nav a:hover{color:var(--yellow-strong)}.button{background:var(--yellow);border:2px solid var(--yellow);color:var(--ink);letter-spacing:.055em;text-transform:uppercase;justify-content:center;align-items:center;min-height:52px;padding:.8rem 1.4rem;font-size:.82rem;font-weight:800;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#ffd34f;transform:translateY(-2px)}.button-small{min-height:42px;padding:.55rem 1rem}.button-dark{background:var(--ink);border-color:var(--ink);color:var(--white)}.button-dark:hover{background:var(--ink-soft)}.button-row{flex-wrap:wrap;align-items:center;gap:1.4rem;display:flex}.text-link{letter-spacing:.03em;text-transform:uppercase;font-size:.82rem;font-weight:800;text-decoration:none}.text-link span{color:var(--yellow-strong);margin-left:.3rem;font-size:1.2rem}.text-link-dark span{color:var(--ink)}.hero{background:var(--white);color:var(--ink);padding-block:clamp(4rem,7vw,7rem);overflow:hidden}.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.hero h1{margin-bottom:1.7rem}.hero h1 span{color:var(--yellow-strong)}.hero-lede{color:var(--muted);max-width:600px;font-size:clamp(1rem,2vw,1.25rem)}.hero-copy>.button-row{margin-block:2rem 2.6rem}.hero .text-link span{color:var(--yellow-strong)}.trust-list{border-top:1px solid var(--yellow-line);grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;padding:1.8rem 0 0;list-style:none;display:grid}.trust-list strong,.trust-list span{display:block}.trust-list strong{color:var(--ink);font-size:.8rem}.trust-list span{color:var(--muted);margin-top:.25rem;font-size:.7rem}.hero-visual{min-height:610px;position:relative}.hero-visual img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-visual:after{border:1px solid var(--yellow);content:"";pointer-events:none;position:absolute;inset:24px}.yellow-block{background:var(--yellow);width:160px;height:160px;position:absolute;top:-54px;right:-80px;transform:rotate(12deg)}.hero-stamp{background:var(--yellow);color:var(--ink);z-index:2;flex-direction:column;justify-content:center;align-items:center;width:138px;height:128px;display:flex;position:absolute;bottom:0;left:-32px;transform:rotate(-3deg)}.hero-stamp strong{font-family:var(--font-display);font-size:2.1rem;line-height:.9}.hero-stamp span{letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:800}.section-heading{max-width:850px;margin-bottom:3rem}.section-heading h2{margin-bottom:0}.split-heading{grid-template-columns:1.3fr .7fr;align-items:end;gap:3rem;max-width:none;display:grid}.split-heading>p{color:var(--muted);margin:0}.service-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.service-card{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:270px;padding:2rem;transition:background .2s,color .2s}.service-card:hover{background:var(--sun);color:var(--ink)}.service-card:hover p{color:var(--muted)}.service-number{color:var(--yellow-strong);font-family:var(--font-display);margin-bottom:2.5rem;font-size:.9rem;font-weight:800;display:block}.service-card h3{margin-bottom:1rem}.service-card p{color:var(--muted);margin-bottom:0;font-size:.9rem}.service-card-link,.service-page-link{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin-top:1.3rem;font-size:.72rem;font-weight:800;text-decoration:none;display:inline-block}.service-card-link span,.service-page-link span{color:var(--yellow-strong);margin-left:.25rem;font-size:1rem}.service-card-link:hover,.service-page-link:hover{text-decoration:underline}.quick-job-section{background:var(--white)}.quick-job-grid{grid-template-columns:1fr .85fr;align-items:stretch;gap:clamp(2rem,7vw,7rem);display:grid}.customer-list{columns:2;margin:2rem 0 0;padding:0;font-size:.9rem;font-weight:700;list-style:none}.customer-list li{border-top:1px solid var(--line);padding:.8rem .2rem}.booking-card{background:var(--yellow);color:var(--ink);padding:clamp(2rem,4vw,3.5rem)}.booking-card h3{margin-bottom:1rem;font-size:clamp(2.1rem,4vw,3.4rem)}.booking-card>p:not(.eyebrow){color:var(--ink-soft)}.booking-card .button{background:var(--ink);border-color:var(--ink);color:var(--white);margin-top:.5rem}.booking-card .button:hover{background:var(--ink-soft)}.booking-details{border-top:1px solid #23231f47;margin:2.5rem 0 0;padding:0}.booking-details div{border-bottom:1px solid #23231f47;grid-template-columns:.7fr 1.3fr;gap:1rem;padding:1rem 0;display:grid}.booking-details dt{color:var(--yellow-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:800}.booking-details dd{margin:0;font-size:.85rem}.task-list-section{background:var(--yellow-pale)}.task-list{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.task-list li{border-bottom:1px solid var(--line);font-family:var(--font-display);padding:1.1rem 1.2rem 1.1rem 0;font-size:1.7rem}.task-list li:before{color:var(--yellow-strong);content:"↗";font-family:var(--font-body);vertical-align:.2em;margin-right:.7rem;font-size:.9rem}.process-section{background:var(--sun);color:var(--ink)}.process-grid{grid-template-columns:.8fr 1.2fr;gap:5rem;display:grid}.process-list{margin:0;padding:0;list-style:none}.process-list li{border-top:1px solid var(--yellow-line);grid-template-columns:48px 1fr;align-items:start;gap:1.5rem;padding-block:1.6rem;display:grid}.process-list li:last-child{border-bottom:1px solid var(--yellow-line)}.process-list>li>span{color:var(--yellow-strong);font-family:var(--font-display);font-size:1.4rem;font-weight:800}.process-list h3{margin-bottom:.45rem;font-size:1.5rem}.process-list p{color:var(--muted);margin-bottom:0}.project-gallery{gap:clamp(2.5rem,5vw,5rem);display:grid}.project-card{border-top:5px solid var(--yellow);padding-top:1.4rem}.project-heading{grid-template-columns:.7fr 1.3fr;align-items:end;gap:1rem;margin-bottom:1.5rem;display:grid}.project-heading p{color:var(--yellow-strong);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:800}.project-heading h3{margin:0;font-size:clamp(1.8rem,3vw,2.75rem)}.project-heading .service-page-link{margin-top:.25rem}.service-page-links{flex-wrap:wrap;gap:1rem;display:flex}.before-after-grid{grid-template-columns:repeat(2,1fr);gap:1.4rem;display:grid}.project-installations-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:1.4rem;display:grid}.project-photo{margin:0}.project-photo-frame{background:var(--yellow-pale)}.project-photo-frame img{width:100%;height:auto}.project-photo figcaption{color:var(--ink);font-family:var(--font-display);letter-spacing:.035em;text-transform:uppercase;margin-top:.65rem;font-size:1.45rem;font-weight:800}.project-photo:first-child figcaption{color:var(--yellow-strong)}.project-photo-combined{max-width:900px}.project-photo-combined figcaption{grid-template-columns:1fr 1fr;display:grid}.project-photo-combined figcaption span:first-child{color:var(--yellow-strong)}.project-photo-combined figcaption span:last-child{text-align:right}.reviews-section{background:var(--sun)}.reviews-header{grid-template-columns:1fr auto;align-items:end;gap:2rem;display:grid}.reviews-header .section-heading{margin-bottom:0}.reviews-header .section-heading>p:last-child{color:var(--muted);max-width:650px;margin-bottom:0}.review-summary{background:var(--white);border-radius:16px;min-width:220px;padding:1.35rem;box-shadow:0 12px 30px #23231f14}.review-summary-stars,.review-card-stars{color:var(--yellow-strong);gap:.16rem;display:flex}.review-star{fill:#0000;stroke:currentColor;stroke-width:1.6px;width:18px;height:18px}.review-star.is-filled{fill:var(--yellow)}.review-summary p{align-items:baseline;gap:.5rem;margin:.65rem 0 .45rem;display:flex}.review-summary strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:2rem}.review-summary p span{color:var(--muted);font-size:.8rem}.review-summary a{color:var(--ink);text-transform:uppercase;font-size:.75rem;font-weight:800;text-decoration:none}.review-summary a:hover{text-decoration:underline}.review-placeholder-note{border-left:4px solid var(--yellow);color:var(--muted);background:#ffffffb3;margin:1.8rem 0 0;padding:.8rem 1rem;font-size:.8rem}.review-list{gap:1.25rem;margin-top:1.8rem}.review-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.google-review-card{background:var(--white);border:1px solid var(--line);border-radius:16px;flex-direction:column;margin:0;padding:1.4rem;transition:box-shadow .2s,transform .2s;display:flex;box-shadow:0 10px 25px #23231f0f}.google-review-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px #23231f1c}.review-card-topline{justify-content:space-between;align-items:start;gap:1rem;display:flex}.reviewer{align-items:center;gap:.7rem;min-width:0;display:flex}.reviewer h3{font-family:var(--font-body);margin:0;font-size:.88rem;line-height:1.2}.reviewer time{color:var(--muted);margin-top:.22rem;font-size:.7rem;display:block}.reviewer-avatar{object-fit:cover;border-radius:50%;flex:none;width:38px;height:38px}.reviewer-avatar-placeholder{background:var(--yellow);color:var(--ink);justify-content:center;align-items:center;font-size:.7rem;font-weight:800;display:inline-flex}.review-card-stars{flex:none;gap:.08rem}.review-card-stars .review-star{width:13px;height:13px}.google-review-card blockquote{color:var(--ink-soft);margin:1.4rem 0 0;font-size:.88rem;font-style:italic;line-height:1.6}.review-actions{flex-wrap:wrap;align-items:center;gap:1.3rem;margin-top:2rem;display:flex}.review-list-carousel{scroll-snap-type:x mandatory;padding-bottom:.65rem;scroll-padding-inline:.25rem;display:flex;overflow-x:auto}.review-list-carousel .google-review-card{scroll-snap-align:start;flex:0 0 min(88%,390px)}.review-card-navigation{gap:1rem;margin-top:1.4rem;display:flex}.review-card-navigation a{color:var(--yellow-strong);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:800}.sr-only{white-space:nowrap;clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.about-section{background:var(--white)}.about-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);display:grid}.large-copy{font-size:clamp(1.2rem,2.5vw,1.75rem);font-weight:600;line-height:1.5}.expect-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-top:3rem;display:grid}.expect-grid div{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:1.5rem}.expect-grid strong,.expect-grid span{display:block}.expect-grid strong{font-size:.88rem}.expect-grid span{color:var(--muted);margin-top:.4rem;font-size:.8rem}.notes-section{background:var(--yellow-pale)}.post-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.post-card{background:var(--white);border-bottom:4px solid var(--yellow)}.post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.post-card>div{padding:1.5rem}.post-card h2,.post-card h3{margin-bottom:.8rem;font-size:1.6rem;line-height:1.1}.post-card h2 a,.post-card h3 a{text-decoration:none}.post-card h2 a:hover,.post-card h3 a:hover{text-decoration:underline}.post-card p:last-child{color:var(--muted);margin-bottom:0;font-size:.85rem}.post-meta{color:var(--yellow-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.69rem;font-weight:800}.contact-cta{background:var(--yellow);padding-block:clamp(4rem,8vw,7rem)}.contact-grid{grid-template-columns:1fr 1fr;align-items:end;gap:5rem;display:grid}.contact-grid h2{margin-bottom:0;font-size:clamp(4rem,9vw,8rem)}.contact-grid>div:last-child>p{max-width:520px;font-size:1.2rem}.site-footer{background:var(--white);border-top:6px solid var(--yellow);color:var(--ink);padding-block:4rem 1.5rem}.footer-grid{grid-template-columns:1.5fr 1fr .6fr;gap:4rem;display:grid}.brand-seal{width:106px;margin:-1.15rem 0 .25rem;display:block}.brand-seal img{width:100%;height:auto;display:block}.footer-grid h2{color:var(--yellow-strong);letter-spacing:.05em;text-transform:uppercase;font-size:1.25rem}.footer-grid a{margin-bottom:.6rem;display:block}.footer-grid p{color:var(--muted);max-width:430px;font-size:.85rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:3rem;padding-top:1.5rem;font-size:.7rem;display:flex}.page-hero{background:var(--sun);color:var(--ink);padding-block:clamp(5rem,10vw,9rem)}.page-hero h1,.article-header h1{font-size:clamp(3.4rem,7vw,6.3rem)}.page-hero>div>p:last-child,.article-header>p:last-child{color:var(--muted);font-size:1.2rem}.service-page-hero{background:var(--sun)}.service-page-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.service-copy>p:not(.eyebrow){font-size:1.1rem}.service-copy h2{font-size:clamp(2.6rem,4vw,4rem)}.service-copy h3{margin:2.6rem 0 1rem;font-size:1.7rem}.service-include-list{border-top:1px solid var(--line);margin:0 0 2.5rem;padding:0;list-style:none}.service-include-list li{border-bottom:1px solid var(--line);padding:.8rem 0;font-size:.92rem}.service-include-list li:before{color:var(--yellow-strong);content:"↗";margin-right:.65rem;font-weight:800}.project-kicker{color:var(--yellow-strong);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem;font-size:.72rem;font-weight:800}.service-project>p:not(.project-kicker){color:var(--muted);max-width:65ch;font-size:.95rem}.service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.6rem;display:grid}.service-photo-grid.is-single{grid-template-columns:minmax(0,1fr);max-width:620px}.service-photo{margin:0}.service-photo img{width:100%;height:auto;display:block}.service-photo figcaption{color:var(--yellow-strong);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin-top:.55rem;font-size:1.25rem;font-weight:800}.service-page-cta{background:var(--yellow);padding-block:clamp(4rem,8vw,7rem)}.service-page-cta h2{margin-bottom:1rem;font-size:clamp(3rem,6vw,5rem)}.service-page-cta>div>p:not(.eyebrow){max-width:60ch;font-size:1.12rem}.article-shell{padding-block:5rem 8rem}.article-header{margin-bottom:3rem}.article-header>p:last-child{color:var(--muted)}.article-hero img{object-fit:cover;width:100%;max-height:680px}.prose{padding-top:4rem;font-size:1.05rem}.prose h2{margin-top:3.2rem;font-size:2.4rem}.prose p,.prose ul{max-width:70ch}.prose li{margin-bottom:.6rem}.media-note{background:var(--sun);color:var(--ink);grid-template-columns:64px 1fr;align-items:center;gap:1.3rem;margin-block:2.5rem;padding:1.5rem;display:grid}.media-note-icon{background:var(--yellow);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;padding-left:3px;font-size:1.25rem;display:flex}.media-note strong{font-family:var(--font-display);font-size:1.35rem}.media-note p{color:var(--muted);margin:.35rem 0 0;font-size:.84rem}@media (width<=900px){.nav-row{grid-template-columns:auto auto;justify-content:space-between}.nav-row nav{grid-area:2/1/auto/-1;justify-content:flex-start;padding-bottom:1.2rem;overflow-x:auto}.hero-grid,.process-grid,.about-grid,.contact-grid,.quick-job-grid,.service-page-grid{grid-template-columns:1fr}.hero-visual{min-height:520px}.split-heading{grid-template-columns:1fr;align-items:start}.service-grid,.post-grid,.task-list{grid-template-columns:repeat(2,1fr)}.project-heading,.reviews-header{grid-template-columns:1fr;align-items:start}.review-summary{width:min(100%,300px)}.review-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.utility-inner>span{display:none}.utility-inner{justify-content:center}.utility-inner div{gap:.7rem}.utility-inner div a:first-child{display:none}.nav-row{gap:1rem}.brand-logo{width:205px;height:45px}.nav-row>.button{display:none}.nav-row nav{gap:1.2rem}.hero{padding-top:3.2rem}.hero-visual{min-height:430px}.trust-list{grid-template-columns:1fr}.trust-list li{border-bottom:1px solid var(--yellow-line);padding-bottom:.8rem}.service-grid,.post-grid,.review-list-grid,.expect-grid,.task-list{grid-template-columns:1fr}.customer-list{columns:1}.service-card{min-height:230px}.before-after-grid,.project-installations-grid{grid-template-columns:1fr;gap:1rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
