@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
:root{--ink:#171719;--muted:#5d5b60;--purple:#5f5bcd;--purple-dark:#4b47ae;--ivory:#fbfaf8;--soft:#f2f0f9;--line:#e5e1e9;--white:#fff;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}.homepage main{display:flex;flex-direction:column}.homepage main>section:nth-child(1){order:1}.homepage main>section:nth-child(2){order:2}.homepage main>section.homepage-reviews{order:3}.homepage main>section.homepage-work{order:4}.homepage main>section.homepage-awards{order:5}.homepage main>section:nth-child(6){order:6}body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--ivory);font:16px/1.65 Arial,Helvetica,sans-serif}.wrap{max-width:var(--max);margin:auto;padding:0 28px}.nav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:26px;padding:18px 0 16px;background:rgba(251,250,248,.96);border-bottom:1px solid rgba(229,225,233,.85);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{display:block;width:126px;height:54px;object-fit:contain;object-position:center}.site-nav{display:flex;justify-content:flex-end;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px}.site-nav a,.nav>a{color:var(--ink);text-decoration:none}.site-nav a:hover,.nav>a:hover{color:var(--purple)}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(36px,7vw,92px);align-items:center;padding:88px 0 76px}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}.hero h1{font:600 clamp(42px,6vw,78px)/1.02 Poppins,Arial,sans-serif;letter-spacing:-.06em;margin:13px 0 22px;max-width:700px}.hero p{font-size:19px;line-height:1.65;color:#3f3d42;max-width:650px}.hero-photo{min-height:500px;background-position:center;background-size:cover;border-radius:3px;box-shadow:20px 20px 0 var(--soft)}.hero-home{grid-template-columns:1fr 1fr}.hero-home .hero-photo{background-image:url('/assets/legacy/promo-05.jpg')}.eyebrow{color:var(--purple);text-transform:uppercase;letter-spacing:.14em;font:600 11px Poppins,Arial,sans-serif}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--purple);color:#fff;padding:12px 20px;border-radius:2px;text-decoration:none;font-weight:700;margin:14px 10px 0 0;transition:background .2s,transform .2s}.btn:hover{background:var(--purple-dark);transform:translateY(-1px)}.section{padding:76px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section h2,.card h2,.cta h2{font:600 clamp(26px,3vw,42px)/1.14 Poppins,Arial,sans-serif;letter-spacing:-.04em;margin:8px 0 12px}.section-heading p{max-width:470px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--white);border:1px solid var(--line);border-radius:2px;padding:28px;box-shadow:0 12px 32px rgba(30,26,52,.05)}.card h2{font-size:24px}.muted{color:var(--muted)}.callout{background:var(--soft);border:1px solid var(--line);padding:28px;border-radius:2px}.callout strong{display:block;color:var(--purple);font:600 25px Poppins,Arial,sans-serif;margin-bottom:5px}.callout span{display:block;color:var(--muted)}.cta{background:var(--ink);color:white;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{color:#fff}.cta p{color:#ddd}.proof{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}.review{display:grid;grid-template-columns:180px 1fr;gap:25px;padding:24px 0;border-top:1px solid var(--line)}.review strong{font:600 17px Poppins,Arial,sans-serif}.media-rail{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}.media-rail img,.media-rail video{display:block;width:100%;height:210px;object-fit:cover;border-radius:2px;background:#111}.media-rail .brand-media{object-fit:contain;background:#fff;padding:18px}.media-caption{display:none}.ad-landing{padding:76px 0;border-top:1px solid var(--line)}.ad-landing h2{font:600 clamp(28px,4vw,48px)/1.08 Poppins,Arial,sans-serif;letter-spacing:-.04em;margin:8px 0 16px}.ad-landing-intro{max-width:650px;color:var(--muted);font-size:18px}.ad-landing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.ad-landing-grid article{padding:24px;background:#fff;border-top:3px solid var(--purple);box-shadow:0 10px 28px rgba(30,26,52,.05)}.ad-landing-grid h3{font:600 19px/1.2 Poppins,Arial,sans-serif;margin:0 0 8px}.ad-landing-grid p{margin:0;color:var(--muted)}.ad-landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.ad-landing-steps article{display:flex;gap:15px;align-items:flex-start}.ad-step{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--purple);color:#fff;font:600 15px Poppins,Arial,sans-serif}.ad-landing-steps h3{margin:0 0 5px;font:600 18px/1.2 Poppins,Arial,sans-serif}.ad-landing-steps p{margin:0;color:var(--muted)}.ad-faq{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.ad-faq details{background:#fff;border-top:1px solid var(--line);padding:18px 0}.ad-faq summary{cursor:pointer;font:600 17px Poppins,Arial,sans-serif}.ad-faq p{color:var(--muted);margin:12px 0 0}.ad-cta{margin-top:38px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--soft);padding:28px}.ad-cta h2{margin:0;font-size:30px}.ad-cta p{margin:5px 0 0;color:var(--muted)}@media(max-width:700px){.ad-landing{padding:52px 0}.ad-landing-grid,.ad-landing-steps,.ad-faq{grid-template-columns:1fr}.ad-cta{display:block;padding:24px 20px}.ad-cta .btn{margin-top:18px}}.badge-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:26px}.badge-row img{max-height:72px;max-width:180px;object-fit:contain}.address{color:var(--muted)}footer{padding:36px 0;color:#777;font-size:13px;border-top:1px solid var(--line)}footer a{color:var(--purple)}.review-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px;border:1px solid var(--line)}.review-card small{display:flex;align-items:center;gap:4px}.pella-note{font-size:12px;color:var(--muted);margin-top:10px}.ranked-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 28px;padding:22px 26px;background:var(--ink);color:#fff}.ranked-strip strong{font:600 clamp(24px,3vw,38px)/1.1 Poppins,Arial,sans-serif;letter-spacing:-.04em}.ranked-strip span{color:#ddd;max-width:430px}.review-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.review-card{background:#fff;border:1px solid var(--line);padding:24px;min-height:220px}.review-card .review-stars{color:#c99b2e;letter-spacing:.12em;font-size:18px}.review-card blockquote{margin:14px 0;font:500 18px/1.45 Poppins,Arial,sans-serif}.review-card small{color:var(--muted)}@media(max-width:700px){.nav{display:block;padding:12px 0 10px}.nav .brand{justify-content:flex-start}.site-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:16px;padding:10px 2px 4px;white-space:nowrap;-webkit-overflow-scrolling:touch}.site-nav a{flex:0 0 auto}.hero--visual{min-height:520px}.media-rail video{display:block;width:100%;height:auto;min-height:200px;object-fit:cover}.section-heading{gap:12px}.section-heading h2{max-width:100%}}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:20}.hero--visual{max-width:1400px;margin:0 auto;padding:0;min-height:680px;display:flex;align-items:flex-end;background-position:center;background-size:cover;position:relative}.hero--visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,15,18,.78) 0%,rgba(16,15,18,.38) 48%,rgba(16,15,18,.08) 100%)}.hero--visual .hero-copy{position:relative;z-index:1;color:#fff;padding:clamp(44px,8vw,104px);max-width:760px}.hero--visual h1{font:600 clamp(42px,6vw,78px)/1.02 Poppins,Arial,sans-serif;letter-spacing:-.06em;margin:13px 0 22px;max-width:700px}.hero--visual .hero-copy p{color:#f4f2f4}.hero--visual .eyebrow{color:#c7c4ff}.service-feature{display:grid;grid-template-columns:1fr 1fr;min-height:470px;background:#fff}.service-feature.reverse{direction:rtl}.service-feature.reverse>*{direction:ltr}.service-feature img{width:100%;height:100%;min-height:470px;object-fit:cover}.homepage-before-after{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.homepage-before-after figure{margin:0;min-width:0}.homepage-before-after img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover}.homepage-before-after figcaption{padding:8px 0 0;font:600 13px Poppins,Arial,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.service-feature .feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,6vw,82px)}.service-feature .feature-copy h2{font-size:clamp(32px,4vw,58px)}.mosaic{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:260px 260px;gap:12px}.mosaic img{width:100%;height:100%;object-fit:cover}.mosaic .mosaic-tall{grid-row:span 2}.trust-bar{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-bar img{max-height:70px;max-width:170px;object-fit:contain}.quote{font:500 clamp(21px,3vw,36px)/1.35 Poppins,Arial,sans-serif;letter-spacing:-.03em;max-width:900px}.service-callout img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;display:block;margin:-28px -28px 24px;width:calc(100% + 56px)}.service-callout.brand-callout img{aspect-ratio:auto;height:150px;object-fit:contain;background:#fff;padding:18px}.service-callout span{display:none}.service-callout{background:transparent;border:0;padding:0}.service-callout img{margin:0;width:100%;}.pressure-proof .before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.pressure-proof figure{margin:0}.pressure-proof figure img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px}.pressure-proof figcaption{font:600 14px Poppins,Arial,sans-serif;margin-top:8px}.pressure-gallery{margin-top:18px}.pressure-gallery img{aspect-ratio:4/3;object-fit:cover}.service-video video,.windows-video video{display:block!important;width:100%!important;height:auto!important;max-height:720px;border-radius:8px;background:#111;margin-top:24px}@media(max-width:650px){.service-video video,.windows-video video{max-height:none;height:auto!important}}@media(max-width:650px){.hero--visual{min-height:570px;margin:0 -17px}.hero--visual .hero-copy{padding:32px 24px}.service-feature,.service-feature.reverse{display:block;direction:ltr}.service-feature img{min-height:290px;height:290px}.homepage-before-after{margin:0 0 18px}.homepage-before-after img{min-height:220px;height:220px}.service-feature .feature-copy{padding:34px 22px}.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px}.mosaic .mosaic-tall{grid-row:span 2}.trust-bar{flex-wrap:wrap}.trust-bar img{max-width:135px}.service-callout img{margin:0;width:100%}}@media(max-width:900px){.site-nav{gap:11px}.hero{gap:36px}.grid{grid-template-columns:repeat(2,1fr)}.media-rail{grid-template-columns:1fr 1fr}.media-rail .feature{height:300px;grid-row:auto;grid-column:span 2}}.service-card-image{display:block;width:100%;height:190px;object-fit:cover;border-radius:12px;margin:-4px 0 18px}@media(max-width:650px){.service-card-image{height:180px}}@media(max-width:650px){.wrap{padding:0 17px}.nav{align-items:center;gap:10px;padding:12px 0}.brand img{width:105px;height:48px}.site-nav{justify-content:flex-end;gap:7px 11px;line-height:1.2;max-width:245px}.site-nav a{font-size:12px}.site-nav a:nth-child(4),.site-nav a:nth-child(7),.site-nav a:nth-child(8){display:none}.site-nav a:last-child{flex-basis:100%;text-align:right}.hero,.hero-home{display:block;padding:58px 0 50px}.hero .service-callout{margin-top:34px}.hero-photo{min-height:310px;margin-top:34px;box-shadow:12px 12px 0 var(--soft)}.hero p{font-size:17px}.section{padding:55px 0}.section-heading{display:block}.grid{grid-template-columns:1fr}.card{padding:23px}.cta{display:block;padding:30px 22px}.review{display:block}.review strong{display:block;margin-bottom:8px}.media-rail{display:block}.media-rail img,.media-rail video,.media-rail .feature{height:240px;margin-bottom:15px}.badge-row img{max-width:155px}.btn{width:100%;margin-right:0}.nav>a{font-size:12px}}.commercial-page-faq .ad-faq details{background:transparent;border-top:1px solid var(--line);padding:20px 0}.commercial-page-faq .ad-faq summary{font-size:18px}.commercial-page-faq .ad-faq p{max-width:760px}@media(max-width:700px){.nav{display:block;padding:12px 0 10px}.nav .brand{justify-content:flex-start}.site-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:16px;padding:10px 2px 4px;white-space:nowrap;-webkit-overflow-scrolling:touch;max-width:none}.site-nav a{flex:0 0 auto;font-size:12px}.site-nav a:nth-child(4),.site-nav a:nth-child(7),.site-nav a:nth-child(8){display:block}.site-nav a:last-child{flex-basis:auto;text-align:left}.media-rail video{display:block;width:100%;height:auto;min-height:200px;object-fit:cover}.hero--visual{min-height:520px}.section-heading{gap:12px}.section-heading h2{max-width:100%}}.review-rail{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:16px;padding:2px 2px 14px;max-width:100%;-webkit-overflow-scrolling:touch}.review-card{flex:0 0 84vw;scroll-snap-align:start}.about-hero-media{overflow:hidden}.about-hero-media img{display:block;max-width:100%;width:100%;height:auto;object-fit:cover}.owners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.owner-card{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);padding:20px}.owner-card img{width:150px;height:150px;object-fit:cover}.owner-card h3{font:600 25px/1.15 Poppins,Arial,sans-serif;margin:8px 0}.owner-card p{color:var(--muted);margin:0}.about-owners .section-heading p{max-width:520px}.about-hero-top{padding:0 0 78px}.about-team-hero{position:relative;max-width:1400px;margin:0 auto;overflow:hidden;background:#171719}.about-team-hero img{display:block;width:100%;height:clamp(360px,48vw,650px);object-fit:cover;object-position:center 58%}.about-team-hero:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(18,16,22,.76))}.about-team-hero-caption{position:absolute;z-index:1;left:clamp(24px,6vw,84px);bottom:clamp(24px,5vw,62px);color:#fff}.about-team-hero-caption .eyebrow{color:#d0ccff}.about-team-hero-caption strong{display:block;font:600 clamp(25px,4vw,54px)/1.08 Poppins,Arial,sans-serif;letter-spacing:-.04em;margin-top:8px}.about-hero-copy{max-width:900px;margin:0 auto;padding:70px 28px 0}.about-hero-copy h1{font:600 clamp(42px,6vw,78px)/1.02 Poppins,Arial,sans-serif;letter-spacing:-.06em;margin:13px 0 22px}.about-hero-copy p{font-size:18px;line-height:1.65;color:#3f3d42;max-width:760px}/* Award proof should be readable at a glance, not reduced to thumbnails. */
.homepage-awards .trust-bar{padding:34px 10px;gap:34px;justify-content:space-around}
.homepage-awards .trust-bar img{height:112px;max-height:112px;max-width:280px;width:auto;object-fit:contain}
/* Full-bleed header inside the padded page wrapper. The inner padding keeps the brand and links aligned with page content. */
.wrap > .nav{width:calc(100% + 56px);margin-left:-28px;margin-right:-28px;padding-left:28px;padding-right:28px}
/* Final mobile containment for owner cards and horizontal navigation. */
/* About service cards: linked cards must retain the same visual language as the service features above. */
.about-service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.about-service-links>a.card{display:block;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.about-service-links>a.card:hover{color:var(--ink);border-color:var(--purple);box-shadow:0 16px 34px rgba(30,26,52,.1);transform:translateY(-2px)}
.about-service-links>a.card:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.about-service-links .card span{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:10px;padding:12px 20px;background:var(--purple);color:#fff;border-radius:2px;font-weight:700}
@media(max-width:700px){.about-service-links{grid-template-columns:1fr}.about-service-links>a.card{padding:23px}.about-service-links .card span{width:100%;margin-top:10px}}
@media(max-width:700px){
  .owners-grid{grid-template-columns:minmax(0,1fr);min-width:0}
  .owner-card{grid-template-columns:110px minmax(0,1fr);min-width:0;width:100%;padding:16px;gap:16px}
  .owner-card img{width:110px;height:110px;min-width:0}
  .owner-card>div{min-width:0}
  .nav{align-items:flex-start;flex-wrap:wrap;gap:10px 18px}.wrap > .nav{width:auto;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .site-nav{max-width:100%;min-width:0;flex:1 1 100%;justify-content:flex-start;flex-wrap:wrap;overflow:visible;white-space:normal;gap:8px 14px;line-height:1.4}
  .site-nav::-webkit-scrollbar{display:none}
  .homepage-awards .trust-bar{gap:18px;padding:24px 0}
  .homepage-awards .trust-bar img{height:78px;max-height:78px;max-width:155px}
}
.hero--visual{width:100%;max-width:none;min-height:clamp(520px,42vw,680px);aspect-ratio:16 / 7;border-radius:8px;overflow:hidden}
.hero--visual .hero-copy{max-width:720px}
@media(max-width:700px){.hero--visual{width:calc(100% + 34px);min-height:570px;height:auto;aspect-ratio:auto;border-radius:0;margin:0 -17px}.hero--visual .hero-copy{max-width:100%}}

/* Review carousel: tighter desktop cards with obvious, accessible controls. */
.review-carousel{position:relative;margin-top:26px;padding:0 48px}
.review-rail{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:3px 2px 16px;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch}.review-rail::-webkit-scrollbar{display:none}
.review-card{flex:0 0 calc((100% - 36px)/3);min-width:0;scroll-snap-align:start;background:#fff;border:1px solid var(--line);padding:22px;min-height:270px;display:flex;flex-direction:column}
.review-card blockquote{flex:1}
.review-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 6px 18px rgba(30,26,52,.12);font:600 22px/1 Arial,sans-serif;cursor:pointer}
.review-arrow:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.cta .eyebrow{color:#d0ccff}
footer{color:#5d5b60}
.review-prev{left:0}.review-next{right:0}.review-more{display:block;margin-top:2px;text-align:center;color:var(--muted);font:600 11px Poppins,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:700px){.review-carousel{padding:0 36px}.review-rail{gap:14px;overflow-x:auto;padding-bottom:14px}.review-card{flex:0 0 100%;min-height:260px;padding:20px}.review-arrow{width:34px;height:34px;font-size:20px}.review-prev{left:-2px}.review-next{right:-2px}.review-more{font-size:10px}}
