/* Adapted from local Ascend .card and Wanderlust travel sources; see content/design-sources.json. */
:root{--glass:rgba(23,19,17,.72);--glass-raised:rgba(35,28,22,.84);--card-line:rgba(255,217,180,.18)}
.site-page{background:#0b0908;isolation:isolate}.site-page:before{display:none}.ambient-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#0b0908}.ambient-backdrop video{width:100%;height:100%;object-fit:cover;filter:hue-rotate(228deg) saturate(1.2) brightness(.6)}.ambient-backdrop>div{position:absolute;inset:0;background:linear-gradient(90deg,#090807a8,#100b0760),linear-gradient(#08070655,transparent 50%,#08070666)}.ambient-toggle{position:fixed;right:20px;bottom:16px;z-index:15;background:#16100dc9;border:1px solid #ffffff26;border-radius:50px;color:#dfd2c6;padding:9px 14px;font-size:10px;backdrop-filter:blur(12px)}
.site-page main,.site-page .section,.site-page .section:nth-of-type(even),.site-page .area-section{background:transparent!important}.site-page .site-footer{background:#09070699;backdrop-filter:blur(18px)}
.site-header{position:fixed;inset:0 0 auto;z-index:80;padding:18px 4vw;background:linear-gradient(#080706a8,#08070608);transition:transform .38s cubic-bezier(.22,.7,.2,1),background .35s;border-bottom:1px solid transparent}.site-header.is-scrolled{background:#100d0be8;border-color:#ffffff14;backdrop-filter:blur(22px)}.site-header.is-hidden{transform:translateY(-110%);pointer-events:none}.site-header:focus-within{transform:none;pointer-events:auto}.entry-locked:not(.doors-open)>.site-header{visibility:hidden}
/* the header comes in with the doors (it used to pop in at once when they finished: a visible flash) */
.doors-open>.site-header{animation:header-in .9s cubic-bezier(.16,1,.3,1) .5s backwards}
@keyframes header-in{from{opacity:0;transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.doors-open>.site-header{animation:none}}.primary-nav{display:flex;gap:30px;align-items:center;margin-left:clamp(25px,6vw,110px);font-size:14px}.primary-nav a:hover,.services-toggle:hover{color:var(--orange)}.services-toggle{border:0;background:none;color:inherit;padding:16px 0}.services-toggle span{margin-left:10px}.nav-services{position:relative}.services-dropdown{position:absolute;top:100%;left:-24px;min-width:290px;border:1px solid var(--card-line);background:#17120ff5;backdrop-filter:blur(20px);border-radius:14px;padding:14px;box-shadow:0 20px 70px #0008}.services-dropdown a{display:block;padding:14px 12px;border-radius:6px}.services-dropdown a:hover{background:#ffffff07}.site-quote{white-space:nowrap}.site-header .menu-toggle{border-color:#ffffff24;border-radius:5px;background:#ffffff06}.site-menu{z-index:110}.site-header+.stage{z-index:0}.stage #chapter-label{display:none}.stage>footer{justify-content:flex-end}
.site-page .page-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;min-height:750px;height:100svh;max-height:1080px;padding:150px 7vw 90px;overflow:visible;background:transparent}.site-page .page-hero>img,.site-page .page-hero>video{position:relative;grid-column:2;grid-row:1;width:100%;height:min(64svh,680px);object-fit:cover;border-radius:18px;border:1px solid var(--card-line);box-shadow:0 25px 90px #0006;animation:none}.site-page .hero-shade{display:none}.site-page .page-hero-copy{position:relative;inset:auto;grid-column:1;grid-row:1;max-width:620px;padding:28px 0;text-shadow:0 2px 35px #0008}.site-page .page-hero-copy h1{font-size:clamp(60px,6.6vw,106px)}.site-page .page-hero-copy>p:not(.kicker){color:#e4dcd4;font-size:17px;line-height:1.7}.site-page .video-toggle{right:9vw;bottom:120px;border-radius:30px;backdrop-filter:blur(14px)}.site-page .hero-scroll{left:7vw;bottom:25px}.site-page .section{padding-top:105px;padding-bottom:105px}.section-heading{position:relative}.section-heading h2,.section-heading h1{text-shadow:0 2px 40px #0006}.site-page .split-copy,.site-page .contact-grid{padding:38px;background:var(--glass);border:1px solid var(--card-line);border-radius:18px;backdrop-filter:blur(14px)}.site-page .section>.lead{padding:25px 28px;border-left:2px solid #e78349;background:#15110f88;border-radius:0 16px 16px 0}.site-page .fine-print{color:#ccc0b5}.site-page .section-heading .kicker{color:#e5ad88}.site-page .table-scroll{background:var(--glass);padding:24px;border:1px solid var(--card-line);border-radius:14px;backdrop-filter:blur(14px)}.site-page .metrics{border:1px solid var(--card-line);border-radius:14px;background:var(--glass);backdrop-filter:blur(14px)}.metric{padding-left:25px}.site-page .law-notes{padding:28px;background:var(--glass);border-radius:14px;border:1px solid var(--card-line)}
.process-list{border:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;perspective:1200px}.process-card{position:relative;min-height:350px;padding:32px;border-radius:18px;border:1px solid var(--card-line);background:var(--glass);backdrop-filter:blur(14px);overflow:hidden;transition:transform .4s,border-color .3s,background .3s}.process-card:before{content:'';position:absolute;inset:0;background:radial-gradient(120% 120% at 0 0,#ff894015,transparent 50%);pointer-events:none}.process-card:hover{background:var(--glass-raised);border-color:#f3a37066;transform:translateY(-6px)}.process-number{font-size:11px;letter-spacing:.14em;color:#c1ad9c}.process-symbol{font-size:40px;color:#f2a773;width:64px;height:64px;display:grid;place-items:center;background:#f38b3512;border:1px solid #f3a57333;border-radius:14px;margin:28px 0}.process-card h3{font-size:30px;position:relative}.process-card p{font-size:16px;line-height:1.75;color:#d3c8be;margin-bottom:0}.motion-ready .process-card[data-reveal]{transition-delay:var(--reveal-delay,0ms)}
.faq-list{display:grid;gap:12px;border:0}.faq-list details{padding:0 28px;background:var(--glass);border:1px solid var(--card-line);border-radius:13px;backdrop-filter:blur(14px)}.faq-list summary{padding:25px 0;font-size:23px;line-height:1.35}.faq-list details>div{color:#d3c8be;line-height:1.75}.faq-list details[open]{background:var(--glass-raised);border-color:#ec99534a}.faq-list summary span{color:#e4a778}.footer-signature{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-signature>span{font-size:12px;letter-spacing:.2em;color:#e2c5b0}.site-footer{padding-top:55px;padding-bottom:35px}.footer-columns{padding-top:40px}.site-page .gallery-item{border-radius:12px;background:#18120cbb;padding-bottom:6px}.gallery-item span{padding:15px}.gallery-item img{border-radius:12px 12px 0 0}.site-page .project-card img{border-radius:14px}
.swatch-fan{scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x pan-y;gap:6px;height:480px;padding-top:40px;padding-bottom:40px}.swatch-fan::-webkit-scrollbar{display:none}.swatch-strip{box-shadow:inset 0 0 30px #0002}.swatch-strip[aria-pressed=true]{transform:skew(-13deg);flex-basis:78px;box-shadow:inset 0 0 30px #0002;border-color:#ffe0bd99}.swatch-strip:focus-visible{transform:skew(-13deg) translateY(-22px);flex-basis:110px}.swatch-strip span{font-size:12px;letter-spacing:.09em}.swatch-detail{padding:25px;background:var(--glass);border:1px solid var(--card-line);border-radius:14px;backdrop-filter:blur(14px)}.swatch-detail h3{font-size:30px}.swatch-detail p{font-size:14px}.swatch-section .section-heading{margin-bottom:20px}
.compare-image{height:auto;aspect-ratio:16/9;border-radius:18px;border:1px solid var(--card-line);isolation:isolate}.compare-image>img,.compare-treated img{object-fit:cover}.compare-line{z-index:3;font-size:24px;transform:translateX(-50%);background:#fff9}.compare-line>span{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:1px solid #ffffff55;background:#222222cb;backdrop-filter:blur(10px);box-shadow:0 5px 25px #0005}.compare-handle{position:absolute;inset:0;width:100%;height:100%;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:ew-resize;z-index:4;touch-action:pan-y;border:0;opacity:0}.compare-handle::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:62px;height:62px;border-radius:50%;background:transparent}.compare-handle:focus-visible{opacity:1;outline:2px solid #f5ae70;outline-offset:-3px}.compare-label{z-index:2;border:1px solid #fff3;border-radius:4px;backdrop-filter:blur(10px)}.compare-treated{filter:brightness(var(--tint-brightness,.69)) saturate(.92)}
.review-section{overflow:hidden;padding-top:110px;padding-bottom:70px;background:#14100d!important}.review-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;height:650px;overflow:hidden;mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent)}.review-column{overflow:hidden}.review-loop{animation:review-drift 60s linear infinite;animation-play-state:paused;will-change:transform}.review-section.is-running .review-loop{animation-play-state:running}.review-column:nth-child(2) .review-loop{animation-direction:reverse;animation-duration:67s}.review-column:nth-child(3) .review-loop{animation-duration:72s}.review-wall:hover .review-loop,.review-section.is-paused .review-loop{animation-play-state:paused}.review-set{display:grid;gap:22px;padding-bottom:22px}.review-card{padding:35px;background:#efe8dc;color:#30241c;border-radius:13px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.review-stars{font-size:13px;color:#b45c24;letter-spacing:.13em}.review-card blockquote{font-family:Georgia,serif;font-size:clamp(25px,2.5vw,39px);line-height:1.25;letter-spacing:-.035em;margin:34px 0}.review-card b{font-size:13px;font-weight:500;display:block}.review-card small{display:block;margin-top:8px;font-size:10px;color:#78695d}.review-photo{height:270px;overflow:hidden;border-radius:13px}.review-photo img{width:100%;height:100%;object-fit:cover}.review-caption{display:flex;align-items:center;justify-content:space-between;gap:30px}.review-caption .fine-print{max-width:690px}.review-pause{flex-shrink:0;font-size:12px}@keyframes review-drift{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.travel-projects{position:relative;isolation:isolate;min-height:740px;height:100svh;max-height:1100px;overflow:hidden;background:#181411}.travel-title{position:absolute;left:7vw;top:70px;z-index:5;pointer-events:none;text-shadow:0 2px 30px #000b}.travel-title h2{font-size:clamp(46px,5.4vw,84px)}.travel-title .kicker{margin-bottom:20px}.travel-strip{display:flex;position:absolute;inset:0;gap:2px}.travel-panel{position:relative;overflow:hidden;flex:1 1 0;min-width:0;transition:flex-grow .85s cubic-bezier(.22,.7,.2,1)}.travel-panel.is-open{flex-grow:2.5}.travel-rest,.travel-moving{position:absolute;inset:0}.travel-rest img,.travel-moving img{width:100%;height:100%;object-fit:cover}.travel-rest{filter:brightness(.48)}.travel-moving{transform:translateY(101%);transition:transform .85s cubic-bezier(.22,.7,.2,1);z-index:1}.travel-panel.is-open .travel-moving{transform:translateY(0)}.travel-panel.is-leaving .travel-moving{transform:translateY(-101%)}.travel-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(#08070590,transparent 45%,#080705dc)}.travel-foot{position:absolute;left:26px;right:26px;bottom:48px;z-index:3}.travel-select{display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:0;width:100%;padding:12px 0;color:#f0e9dd;text-align:left;font-size:clamp(22px,2.4vw,36px);letter-spacing:-.045em;line-height:1.1}.travel-select span{font-size:20px;color:#f0b182}.travel-copy{display:grid;grid-template-rows:0fr;opacity:0;max-height:0;overflow:hidden;transition:max-height .8s cubic-bezier(.22,.7,.2,1),opacity .45s,transform .8s;transform:translateY(26px);visibility:hidden}.travel-panel.is-open .travel-copy{max-height:190px;opacity:1;transform:none;visibility:visible}.travel-copy p{color:#e0d5c9;font-size:15px;line-height:1.6;margin:14px 0}.travel-copy a{display:block;width:max-content;font-size:12px;border-bottom:1px solid #ffffff80;padding-bottom:6px;margin-top:8px}.travel-panel:hover .travel-select{color:white}
.map-card{border:1px solid var(--card-line);background:var(--glass);border-radius:18px;overflow:hidden;margin:40px 0;backdrop-filter:blur(14px)}.service-map{height:480px;width:100%;background:#d8d1c5;position:relative;color:#302820;z-index:0}.map-status{position:absolute;inset:45% 20px auto;text-align:center;margin:0;z-index:1;background:#eee9de;padding:15px;font-size:14px;border-radius:10px}.map-communities{display:flex;flex-wrap:wrap;gap:9px;padding:25px}.map-communities button{color:#d0c1b6;padding:10px 15px;border:1px solid #ffffff26;border-radius:25px;background:#ffffff05;transition:color .3s,border-color .4s,background .4s}.map-communities button.is-lit{color:#ffcfac;border-color:#e8924b70;background:#e8924b15}.map-card>.fine-print{margin:0;padding:0 25px 25px}.service-map .leaflet-tooltip{color:#29221c;background:#fff8eeeb;border:1px solid #b59e87;box-shadow:0 4px 14px #0002;font-family:Arial,sans-serif}.service-map .leaflet-control-attribution{font-size:10px;color:#333;background:#fffddd}.service-map .leaflet-control-attribution a{color:#334e65}.service-map .leaflet-control-zoom a{color:#29221c}.service-map .leaflet-tile-pane{filter:saturate(.35)}
@media(hover:hover){.swatch-strip:hover{transform:skew(-13deg) translateY(-22px) scaleY(1.025);flex-basis:110px;box-shadow:0 22px 30px #0006}}
@media(min-width:1100px){.swatch-strip[aria-pressed=true]{flex-basis:38px}.swatch-strip:hover,.swatch-strip:focus-visible{flex-basis:100px}}
@media(max-width:1050px){.primary-nav{margin-left:15px;gap:20px}.site-page .page-hero{gap:30px}.process-list{gap:14px}.process-card{padding:24px}.review-wall{gap:15px}.review-card{padding:26px}.travel-foot{left:18px;right:18px}.travel-select{font-size:24px}}
@media(max-width:800px){.primary-nav{display:none}.site-header{padding:14px 6vw;gap:14px}.site-page .page-hero{height:auto;min-height:0;display:flex;flex-direction:column;padding:125px 6vw 70px;gap:36px}.site-page .page-hero-copy{order:0;width:100%;padding:0}.site-page .page-hero>img,.site-page .page-hero>video{order:1;height:380px;max-height:52svh;width:100%;border-radius:14px}.site-page .page-hero-copy h1{font-size:clamp(53px,12vw,83px)}.site-page .video-toggle{bottom:86px;right:10vw}.site-page .hero-scroll{display:none}.site-page .section{padding:70px 6vw}.site-page .split-copy,.site-page .contact-grid{padding:25px}.process-list{grid-template-columns:1fr}.process-card{min-height:0;padding:28px}.process-symbol{margin:20px 0}.process-card h3{font-size:30px}.process-card p{font-size:16px}.faq-list details{padding:0 21px}.faq-list summary{font-size:20px;padding:22px 0}.section-heading h2{font-size:46px}.site-page .table-scroll{padding:18px}.compare-image{aspect-ratio:4/3}.compare-image>img,.compare-treated img{object-position:center}.compare-line>span{width:48px;height:48px}.compare-label{bottom:16px;font-size:8px;letter-spacing:.06em}.swatch-fan{height:410px}.review-wall{height:580px;grid-template-columns:1fr 1fr;gap:14px}.review-column:nth-child(3){display:none}.review-card{padding:22px;min-height:280px}.review-card blockquote{font-size:26px}.review-photo{height:210px}.review-caption{align-items:flex-start;flex-direction:column;gap:0}.travel-projects{height:auto;max-height:none;min-height:0;padding-top:80px}.travel-title{position:relative;inset:auto;margin:0 6vw 45px}.travel-title h2{font-size:48px}.travel-strip{position:relative;display:grid;grid-template-columns:1fr;gap:3px}.travel-panel,.travel-panel.is-open{height:58svh;min-height:410px}.travel-moving,.travel-panel.is-leaving .travel-moving{transform:none;transition:none}.travel-copy{opacity:1;max-height:190px;transform:none;visibility:visible}.travel-foot{left:7vw;right:7vw;bottom:40px}.travel-select{font-size:32px}.travel-copy p{font-size:16px}.footer-signature{flex-direction:column;align-items:flex-start;gap:24px}.map-communities{padding:18px;gap:8px}.map-communities button{font-size:11px;padding:9px 12px}.service-map{height:410px}.ambient-toggle{right:12px;bottom:10px;font-size:9px}.swatch-detail{padding:23px}.swatch-detail h3{font-size:25px}}
@media(max-width:480px){.review-wall{grid-template-columns:1fr;height:650px}.review-column:nth-child(2){display:none}.review-card{padding:32px}.review-card blockquote{font-size:32px}.review-photo{height:290px}.review-column:first-child .review-loop{animation-duration:75s}.site-page .page-hero-copy h1{font-size:58px}}
@media(prefers-reduced-motion:reduce){.review-wall{height:auto;mask-image:none}.review-loop{animation:none!important;transform:none!important}.review-set[aria-hidden]{display:none}.review-column{display:block!important}.review-wall{grid-template-columns:1fr}.ambient-backdrop video{object-fit:cover}.motion-ready [data-reveal]{opacity:1;transform:none}.travel-moving,.travel-panel.is-leaving .travel-moving{transition:none}.site-header{transition:none}.process-card:hover{transform:none}}

/* Reset the original cinematic header's generic nav rules. */
.site-header .primary-nav{position:static;inset:auto;transform:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none;gap:30px}
.site-header .primary-nav a{font-size:14px;letter-spacing:normal;padding:0;border-radius:0}
.site-header .primary-nav a:hover{background:none}
.site-header .services-dropdown a{padding:14px 12px}
.site-header .services-dropdown a:hover{background:#ffffff08}
.compare-line>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
@media(max-width:800px){.site-header .primary-nav{display:none}}
@media(max-width:800px){.review-wall{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;mask-image:linear-gradient(transparent,#000 7%,#000 93%,transparent);scrollbar-width:none}.review-column,.review-column:nth-child(2),.review-column:nth-child(3){display:block;flex:0 0 80%;scroll-snap-align:center}.review-wall::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){.review-wall{display:grid;overflow:visible;height:auto;mask-image:none;grid-template-columns:1fr}.review-column{width:100%}}
@media(min-width:1100px){.swatch-strip,.swatch-strip[aria-pressed=true]{flex:1 0 0;min-width:24px}.swatch-strip span{left:9px}.swatch-strip:hover,.swatch-strip:focus-visible{flex-basis:75px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.motion-ready .process-card.is-visible:hover{transform:translateY(-6px)}}

/* Smooth pre-rendered motion and lighter compositing on all landing pages. */
.ambient-backdrop video{filter:none;opacity:.6;transform:translateZ(0)}
.site-page .process-card,.site-page .faq-list details,.site-page .split-copy,.site-page .table-scroll,.site-page .metrics,.site-page .swatch-detail,.map-card{backdrop-filter:none}
.site-page .page-hero>img,.site-page .page-hero>video{animation:landing-media 1.25s cubic-bezier(.2,.7,.2,1) .12s both}
.site-page .page-hero-copy{animation:landing-copy 1s cubic-bezier(.2,.7,.2,1) .08s both}
.site-page main>.section:first-child .section-heading{animation:landing-copy 1s cubic-bezier(.2,.7,.2,1) both}
@keyframes landing-copy{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes landing-media{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.comparison{max-width:1000px;margin:0 auto}.compare-image{aspect-ratio:16/8.4;max-height:530px}
.pill+.source-link{margin-left:24px;vertical-align:middle}.pill{vertical-align:middle;flex-shrink:0}
.site-quote{position:relative;overflow:hidden;isolation:isolate;border:1px solid #ffffff55;border-radius:5px;padding:14px 20px;background:#ffffff07;display:inline-flex;align-items:center}
.site-quote:before,.pill:before{content:'';position:absolute;inset:-100%;z-index:-1;background:linear-gradient(110deg,transparent 40%,#ffb07155 49%,#ffe4c969 50%,transparent 59%);animation:cta-light 4.8s ease-in-out infinite;pointer-events:none}
@keyframes cta-light{0%,25%{transform:translateX(-60%)}70%,100%{transform:translateX(60%)}}
.mobile-nav-links{display:none}
.review-loop{animation-duration:46s}.review-column:nth-child(2) .review-loop{animation-duration:51s}.review-column:nth-child(3) .review-loop{animation-duration:55s}
.review-section.is-running .review-wall:hover .review-loop{animation-play-state:running}.review-section.is-paused .review-loop,.review-section.is-paused .review-wall:hover .review-loop{animation-play-state:paused}
.project-reel{position:relative;height:185svh;margin:0 -7vw}.project-reel-sticky{position:sticky;top:0;height:85svh;display:flex;align-items:center;overflow:hidden;padding:0 7vw}
.project-viewport{width:100%;overflow:visible}.project-reel .project-track{position:relative;overflow:visible;padding:0;gap:26px;will-change:transform;scrollbar-width:none}
.project-reel .project-card{flex:0 0 min(42vw,660px);overflow:hidden;border-radius:16px;background:#19120fbb;border:1px solid #ffffff18;backdrop-filter:none}
.project-reel .project-card img{height:clamp(230px,32vw,450px);border-radius:0;object-fit:cover}
.project-reel .project-card>span{padding:20px 24px;margin:0;font-size:14px}.project-track::-webkit-scrollbar{display:none}
.home-projects{background:#16110d}.home-projects .section-heading{margin-bottom:0}
.gallery-filters{display:block;padding:25px;border:1px solid var(--card-line);border-radius:18px;background:#16120fde}
.filter-row{display:flex;gap:20px;align-items:flex-start;margin:12px 0 20px}.filter-row>span{min-width:70px;padding-top:13px;font-size:10px;letter-spacing:.15em;color:#c6ae9e}
.filter-chips{display:flex;flex-wrap:wrap;gap:9px}.filter-chips button{border:1px solid #ffffff35;border-radius:30px;padding:11px 17px;color:#e5ddd5;background:#ffffff04;font-size:14px;transition:color .25s,background .25s,border-color .25s}
.filter-chips button:hover{border-color:#eab58c}.filter-chips button[aria-pressed=true]{background:#f1e7da;color:#292019;border-color:#f1e7da}.gallery-filters p{margin:20px 0 0;font-size:12px}
.region-map-card{background:#181410df}.region-map{height:auto;min-height:620px;background:transparent;color:var(--paper);display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:5vw;padding:35px 4vw}
.minnesota-counties{display:block;width:100%;max-height:650px;overflow:visible}.county{fill:#514940;stroke:#b8a58d;stroke-width:.7;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .75s,stroke .5s}
.served-county{fill:#706051;stroke:#efcbaa;stroke-width:1.1}.served-county.is-lit{fill:#ed8949;stroke:#ffe3c9}.served-county.is-selected{fill:#ffc590;stroke:#fff;stroke-width:2}
.state-map-label{fill:#ac9783;font-size:11px;letter-spacing:5px;text-anchor:middle}.region-legend h3{font-size:32px;margin-bottom:28px}.region-card{display:block;width:100%;padding:19px 22px;margin:10px 0;text-align:left;border:1px solid #ffffff22;border-radius:12px;background:#ffffff03;color:#c1b4a8;transition:background .6s,border-color .6s,color .6s}
.region-card b{display:block;font-weight:400;font-size:19px}.region-card span{display:block;line-height:1.7;font-size:13px;margin-top:6px}.region-card.is-lit{color:#f6decb;background:#d7752820;border-color:#e68d4755}.region-card[aria-pressed=true]{border-color:#ffd8b7;background:#e7863833}
@media(max-width:1050px){.site-header .primary-nav{gap:20px;margin-left:0}.site-header{gap:20px}.site-quote{padding:12px 15px}}
@media(max-width:800px){.site-header{gap:12px;padding:13px 5vw}.site-header .primary-nav{display:flex;margin:0;gap:0}.site-header .primary-nav>a{display:none}.site-header .site-brand{width:95px;flex-shrink:0}.site-header .site-brand img{width:105px}.services-toggle{font-size:12px}.services-toggle span{margin-left:3px}.site-header .site-quote{display:inline-flex;font-size:11px;padding:12px 11px;margin-left:auto}.services-dropdown{position:fixed;left:5vw;right:5vw;top:76px;max-height:calc(100svh - 100px);overflow-y:auto;min-width:0}.mobile-nav-links{display:block;border-top:1px solid #ffffff22;margin-top:10px;padding-top:8px}.site-header .services-dropdown a{font-size:14px;padding:12px}.comparison{max-width:650px}.compare-image{aspect-ratio:16/10;max-height:390px}.compare-label{max-width:43%;font-size:7px;padding:8px}.pill+.source-link{display:block;margin:18px 0 0;width:max-content}.project-reel{margin:0 -6vw;height:210svh}.project-reel-sticky{padding:0 6vw;height:75svh}.project-reel .project-card{flex-basis:78vw}.project-reel .project-card img{height:37svh;max-height:380px;min-height:230px}.project-reel .project-track{gap:16px}.project-reel .project-card>span{font-size:12px;padding:18px}.filter-row{display:block}.filter-row>span{display:block;margin-bottom:12px;padding:0}.filter-chips button{font-size:12px;padding:9px 12px}.gallery-filters{padding:22px}.region-map{grid-template-columns:1fr;padding:22px;gap:5px}.minnesota-counties{max-height:460px}.region-legend h3{font-size:28px}.region-card{padding:15px}.review-column:first-child .review-loop{animation-duration:52s}}
@media(max-width:360px){.site-header .site-brand{width:79px}.site-header .site-brand img{width:90px}.site-header{gap:8px}.site-header .site-quote{padding:11px 8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.site-page .page-hero-copy,.site-page .page-hero>img,.site-page .page-hero>video,.site-page main>.section:first-child .section-heading{animation:none}.project-reel{height:auto}.project-reel-sticky{position:relative;height:auto;padding:25px 6vw;overflow:visible}.project-reel .project-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));transform:none!important;will-change:auto}.project-reel .project-card{width:100%}.site-quote:before,.pill:before{animation:none;display:none}}

/* Compositing budget: nothing frosts a moving layer (the WebGL stage or the background film).
   Each of these re-blurred its backdrop on every video or canvas frame; the tints stay. */
html .site-header.is-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:#100d0bf2}
html .stage .explore-button,html .stage .service-tests,html .ambient-toggle,html #enter-studio{backdrop-filter:none;-webkit-backdrop-filter:none}
html .stage .service-tests{background:#0e1512ee}
html .ambient-toggle{background:#16100def}

/* Background-film pause: a small round icon so it never sits on top of content. */
html .ambient-toggle{width:38px;height:38px;padding:0;font-size:0;line-height:0;border-radius:50%;right:16px;bottom:16px;color:#f1e6dc}
html .ambient-toggle::before{content:'';position:absolute;inset:0;margin:auto;width:10px;height:12px;box-sizing:border-box;border-left:3px solid currentColor;border-right:3px solid currentColor}
html .ambient-toggle[data-state=paused]::before{width:0;height:0;border-right:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;transform:translateX(2px)}

/* Key words in body copy carry the brand gradient (Jason, 2026-10-05). No shadow on gradient text. */
.hl{background:linear-gradient(100deg,#ff3fa4 0%,#f59154 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:700;text-shadow:none;-webkit-box-decoration-break:clone;box-decoration-break:clone}
@media (forced-colors:active){.hl{color:CanvasText;-webkit-text-fill-color:CanvasText;background:none}}

/* ULTRAFIT certification lockup on the homepage tint and PPF chapters. */
.uf-cert{display:flex;width:fit-content;align-items:center;gap:12px;margin:4px 0 18px;padding:8px 14px 8px 10px;border:1px solid #ffffff2e;border-radius:4px;background:#0b0908b3;text-shadow:none}
.uf-cert img{display:block;width:26px;height:auto}
.uf-cert span{font-family:var(--brand-body);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;line-height:1}
.uf-cert span b{font-weight:800;letter-spacing:.06em}

/* Film grade picker (replaces the native select): a segmented track in the same language as
   the film-series buttons beside it; the paper-white block slides to the chosen grade. */
.grade-pick{display:flex;align-items:center;gap:16px}
.grade-label{font-family:var(--brand-body);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#cfc6bd}
.grade-track{--i:0;position:relative;display:grid;grid-template-columns:repeat(3,64px);padding:4px;border:1px solid #ffffff26;border-radius:6px;background:#0b0908cc}
.grade-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:64px;border-radius:4px;background:var(--paper,#eeeae3);transform:translateX(calc(var(--i) * 100%));transition:transform .45s cubic-bezier(.16,1,.3,1);box-shadow:0 6px 18px -8px #000}
.grade-track button{position:relative;z-index:1;height:42px;border:0;border-radius:4px;background:none;color:#f1ebe4;font-family:var(--brand-body);font-size:16px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:color .3s}
.grade-track button:hover{color:#fff}
.grade-track button[aria-checked=true]{color:#17140f}
.grade-track button:focus-visible{outline:2px solid #ea138f;outline-offset:2px}
.grade-track[data-disabled]{opacity:.45}
.grade-track[data-disabled] button{cursor:not-allowed}
@media (prefers-reduced-motion:reduce){.grade-thumb{transition:none}}
@media (max-width:800px){.grade-pick{margin-top:18px;justify-content:space-between}.grade-track{grid-template-columns:repeat(3,minmax(58px,1fr))}.grade-thumb{width:calc((100% - 8px) / 3)}}

/* The note under the windshield comparison lines up with the comparison frame. */
.comparison+.fine-print{box-sizing:border-box;width:100%;max-width:var(--compare-w,1000px);margin-left:auto;margin-right:auto}
@media(max-width:800px){.comparison .compare-image{margin-inline:auto}.comparison+.fine-print{max-width:624px}}
@media(max-width:650px){
  /* phone: the certification sits on the right of Explore details, one row, same height */
  .copy .uf-cert{float:right;height:44px;margin:0 0 0 10px;padding:0 12px 0 10px;gap:9px}
  .copy .uf-cert img{width:22px}
  .copy .uf-cert span{font-size:11px;letter-spacing:.1em}
  .copy:has(.uf-cert){width:calc(100vw - 12vw);max-width:none}
}
@media(max-width:380px){.copy .uf-cert{padding:0 9px 0 8px;gap:7px;margin-left:8px}.copy .uf-cert span{font-size:10.5px;letter-spacing:.06em}.copy .uf-cert img{width:20px}}

/* Phones and tablets: the header bar is solid, scrolled or not, so nothing on the page shows through it (Jason, 2026-10-05). */
@media(max-width:900px){html .site-header,html .site-header.is-scrolled{background:#0b0908;border-bottom-color:#ffffff14;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* iOS Safari draws a start-playback glyph over any video it will not autoplay (Low Power Mode, Low Data Mode).
   These are background films without controls: the glyph never shows; their first frame stands instead. */
video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
video::-webkit-media-controls{display:none!important}
