/* OCD Clean Kelowna frontend review build v0.1.1 */
:root{--ink:#0d1f1b;--ink-2:#183029;--paper:#f5f7f2;--white:#fff;--accent:#c7f36a;--accent-2:#e9ffd0;--muted:#66736d;--line:#dce4dd;--soft:#eaf0ea;--shadow:0 22px 60px rgba(13,31,27,.14);--radius:28px;--radius-sm:18px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.narrow{max-width:820px}.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:fixed;left:18px;top:-60px;background:var(--accent);color:var(--ink);padding:10px 14px;border-radius:10px;z-index:999}.skip-link:focus{top:18px}.topbar{background:#081612;color:#cdd9d2;font-size:.84rem}.topbar__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar__meta{display:flex;gap:22px}.topbar a{color:var(--white);font-weight:700}.site-header{position:sticky;top:0;z-index:100;background:rgba(245,247,242,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,31,27,.08)}.nav-shell{height:78px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}.brand__mark{width:38px;height:38px;border-radius:12px;background:var(--ink);position:relative;display:grid;place-items:center;transform:rotate(-7deg)}.brand__mark:before{content:"";width:12px;height:18px;background:var(--accent);border-radius:60% 60% 70% 70%/60% 60% 90% 90%;transform:rotate(12deg)}.brand__mark span{position:absolute;width:6px;height:6px;border:2px solid var(--accent);border-radius:50%;right:7px;top:6px}.brand__text{display:flex;align-items:baseline;gap:4px;letter-spacing:-.03em}.brand__text strong{font-size:1.28rem}.brand__text small{font-size:.82rem;letter-spacing:.16em;font-weight:800}.site-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:.93rem;font-weight:720}.site-nav>a,.nav-group__toggle{padding:10px 0}.site-nav>a:hover,.nav-group__toggle:hover{color:#375c4e}.nav-link--muted{color:#63716b}.nav-group{position:relative}.nav-group__toggle{border:0;background:transparent;color:var(--ink);cursor:pointer;font-weight:720}.nav-group__toggle:after{content:"⌄";margin-left:7px}.nav-dropdown{position:absolute;top:46px;left:-24px;width:340px;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);display:none}.nav-group:hover .nav-dropdown,.nav-group.is-open .nav-dropdown{display:grid}.nav-dropdown a{padding:10px 12px;border-radius:10px;font-weight:650}.nav-dropdown a:hover{background:var(--soft)}.nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:9px;cursor:pointer}.nav-toggle span:not(.sr-only){display:block;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;background:var(--accent);color:var(--ink);font-weight:850;border:1px solid transparent;transition:.2s transform,.2s background}.button:hover{transform:translateY(-1px);background:#d5ff7e}.button--small{min-height:44px;padding:0 18px;font-size:.9rem}.button--ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.28)}.button--ghost:hover{background:rgba(255,255,255,.08)}.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:820;border-bottom:1px solid currentColor;padding-bottom:2px}.text-link:after{content:"↗"}.text-link--light{color:var(--white)}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:900;color:#486157}.eyebrow--light{color:#cce6d8}.hero{background:var(--ink);color:var(--white);overflow:hidden}.hero--home{padding:92px 0 86px;background:radial-gradient(circle at 76% 34%,rgba(199,243,106,.18),transparent 22%),linear-gradient(135deg,#0a1814 0%,#10261f 60%,#173329 100%)}.hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.hero h1,.page-hero h1{font-size:clamp(3.1rem,6vw,6.2rem);line-height:.92;letter-spacing:-.065em;margin:0;max-width:850px}.hero h1 span{color:var(--accent)}.hero__lead{font-size:1.15rem;color:#d6e0da;max-width:650px;margin:26px 0 0}.hero__actions{display:flex;align-items:center;gap:22px;margin-top:30px;flex-wrap:wrap}.hero__proof{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:54px}.hero__proof div{padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}.hero__proof strong,.hero__proof span{display:block}.hero__proof strong{font-size:.9rem}.hero__proof span{font-size:.78rem;color:#9fb2aa;margin-top:4px}.hero__visual{position:relative;min-height:520px}.visual-card{position:absolute;inset:18px 0 18px 44px;border-radius:36px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.1);background:#d9e3dc}.visual-surface{position:absolute;inset:0;width:50%}.visual-surface--dirty{left:0;background:linear-gradient(115deg,rgba(64,90,72,.6),rgba(113,120,83,.15)),repeating-linear-gradient(90deg,#d8d5c7 0 28px,#c9c7bb 28px 30px)}.visual-surface--dirty:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(46,96,60,.55),transparent 20%),radial-gradient(circle at 70% 64%,rgba(48,98,63,.42),transparent 22%),linear-gradient(180deg,transparent,rgba(43,75,51,.18))}.visual-surface--clean{right:0;background:linear-gradient(115deg,rgba(255,255,255,.18),transparent),repeating-linear-gradient(90deg,#edf0ea 0 28px,#dfe5de 28px 30px)}.visual-divider{position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--accent);box-shadow:0 0 30px rgba(199,243,106,.8)}.visual-divider span{position:absolute;width:38px;height:38px;border-radius:50%;background:var(--accent);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 8px 26px rgba(13,31,27,.4)}.visual-label{position:absolute;top:22px;padding:9px 12px;border-radius:999px;background:rgba(13,31,27,.85);font-size:.75rem;font-weight:850}.visual-label--before{left:22px}.visual-label--after{right:22px;background:var(--accent);color:var(--ink)}.hero-badge{position:absolute;padding:16px 18px;border-radius:18px;background:var(--white);color:var(--ink);box-shadow:var(--shadow);min-width:180px}.hero-badge strong,.hero-badge span{display:block}.hero-badge strong{font-size:.95rem}.hero-badge span{font-size:.78rem;color:var(--muted);margin-top:2px}.hero-badge--one{left:0;bottom:42px}.hero-badge--two{right:-22px;top:72px}.section{padding:92px 0}.section--intro{padding-bottom:56px}.section--services{padding-top:36px}.split-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.split-heading h2,.section-heading h2,.feature-copy h2,.story-grid h2,.faq-layout h2,.estimate-grid h2,.contact-aside h2,.commitment-card h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1;letter-spacing:-.045em;margin:0}.split-heading>p{font-size:1.08rem;color:var(--muted);max-width:580px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:26px;display:grid;grid-template-columns:48px 1fr 28px;gap:18px;align-items:start;transition:.2s transform,.2s box-shadow,.2s border}.service-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(13,31,27,.09);border-color:#becbbf}.service-card__icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--ink);color:var(--accent);font-weight:900}.service-card h3{font-size:1.24rem;margin:1px 0 6px}.service-card p{margin:0;color:var(--muted);font-size:.94rem}.service-card__arrow{font-size:1.35rem;color:#6d7c75}.section--dark{background:var(--ink);color:var(--white)}.feature-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.feature-copy{position:sticky;top:120px;align-self:start}.feature-copy p:not(.eyebrow){color:#b8c8c0;font-size:1.05rem;max-width:460px}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feature-list article{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.035)}.feature-list span{font-size:.72rem;color:var(--accent);font-weight:900}.feature-list h3{font-size:1.3rem;margin:24px 0 8px}.feature-list p{color:#afbeb6;margin:0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-grid article,.values-grid article{padding:26px;border-top:1px solid var(--line)}.process-grid span,.values-grid span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--accent);font-size:.78rem;font-weight:900}.process-grid h3,.values-grid h2,.values-grid h3{font-size:1.25rem;margin:24px 0 8px}.process-grid p,.values-grid p{color:var(--muted);margin:0}.local-card{background:var(--accent-2);border:1px solid #d4eab9;border-radius:30px;padding:52px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.local-card h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.045em;margin:0}.local-card p{color:#42544b;font-size:1.02rem}.page-hero{padding:90px 0;background:radial-gradient(circle at 82% 28%,rgba(199,243,106,.15),transparent 26%),linear-gradient(135deg,#0a1814,#173329);color:var(--white)}.page-hero--small{padding:72px 0}.page-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.page-hero p{color:#c8d8d0;max-width:720px;font-size:1.08rem}.service-hero__panel,.contact-card{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);border-radius:26px;padding:28px}.service-hero__letter{display:block;color:var(--accent);font-size:clamp(3rem,7vw,6rem);line-height:1;font-weight:950;letter-spacing:-.07em}.service-hero__panel p{margin:26px 0 0}.two-column-list{display:grid;grid-template-columns:1fr 1fr;gap:26px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:36px}.panel--soft{background:var(--soft)}.two-column-list h2{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1;letter-spacing:-.04em;margin:0 0 28px}.check-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}.check-list li{position:relative;padding-left:34px}.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-weight:900;font-size:.75rem}.section--muted{background:#edf2ec}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.editorial-grid h2{font-size:clamp(2.4rem,4.5vw,4.6rem);line-height:.98;letter-spacing:-.05em;margin:0 0 20px}.editorial-grid p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.editorial-art{height:430px;border-radius:30px;background:linear-gradient(145deg,#10241e,#31594a);position:relative;overflow:hidden}.editorial-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 42px,rgba(255,255,255,.045) 42px 44px),linear-gradient(125deg,transparent 0 46%,rgba(199,243,106,.85) 46% 47%,transparent 47%)}.editorial-art span{position:absolute;border-radius:50%;background:rgba(199,243,106,.18);border:1px solid rgba(199,243,106,.42)}.editorial-art span:nth-child(1){width:240px;height:240px;left:44px;top:68px}.editorial-art span:nth-child(2){width:120px;height:120px;right:52px;bottom:42px}.editorial-art span:nth-child(3){width:54px;height:54px;right:70px;top:58px;background:var(--accent)}.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-weight:800;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.25rem}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{color:var(--muted);max-width:780px;margin:12px 40px 0 0}.commitment-card{border:1px solid var(--line);border-radius:28px;padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--white)}.commitment-card p{color:var(--muted)}.final-cta{padding:70px 0;background:var(--accent);color:var(--ink)}.final-cta__grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}.final-cta h2{font-size:clamp(2.3rem,4.5vw,4.6rem);line-height:.96;letter-spacing:-.05em;margin:0;max-width:800px}.final-cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.final-cta .button{background:var(--ink);color:var(--white)}.final-cta .text-link--light{color:var(--ink)}.site-footer{background:#081612;color:#b8c6c0;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:52px}.footer-grid h3{color:var(--white);font-size:.9rem;margin:0 0 16px}.footer-grid a,.footer-grid span{display:block;margin:8px 0;color:#b8c6c0}.footer-grid a:hover{color:var(--white)}.footer-brand p{max-width:360px}.brand--footer{color:var(--white);margin-bottom:20px}.brand--footer .brand__mark{background:#163328}.footer-bottom{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;font-size:.82rem}.footer-bottom div{display:flex;gap:18px}.faq-page-grid{display:grid;gap:64px}.faq-group{display:grid;grid-template-columns:.6fr 1.4fr;gap:70px}.faq-group h2{font-size:2.1rem;margin:0}.story-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.story-grid p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.estimate-grid,.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}.estimate-panel h2{margin-bottom:28px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice-button{padding:17px 18px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--paper);font-weight:760;cursor:pointer}.choice-button.is-selected{background:var(--accent-2);border-color:#a7ca62}.estimate-note{margin-top:28px;padding:18px;border-radius:14px;background:#fff8d9;color:#5b5118;font-size:.9rem}.measure-help{padding:28px}.measure-help h2{margin-bottom:28px}.measure-help h3{margin:24px 0 5px}.measure-help p{color:var(--muted);margin:0}.small-note{font-size:.9rem;margin-top:28px!important}.contact-card{display:grid;gap:7px}.contact-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#9cb2a8;margin-top:10px}.contact-card a,.contact-card strong{font-size:1.1rem;color:var(--white)}.contact-form{background:var(--white);border:1px solid var(--line);border-radius:28px;padding:34px}.contact-form label{display:grid;gap:8px;margin-bottom:18px;font-weight:760}.contact-form label span{font-size:.85rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;border:1px solid #cfd8d1;background:#fafcf9;border-radius:13px;padding:13px 14px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#87a848;box-shadow:0 0 0 3px rgba(199,243,106,.24)}textarea{resize:vertical}.form-status{font-size:.85rem;color:var(--muted)}.contact-aside{padding:26px}.contact-aside details{border-top:1px solid var(--line);padding:18px 0}.contact-aside summary{font-weight:800;cursor:pointer}.contact-aside p{color:var(--muted)}.booking-shell{max-width:760px}.legal-copy{max-width:820px}.legal-copy h2{margin-top:34px}.legal-copy p{color:var(--muted)}
@media (max-width:980px){.header-cta{display:none}.nav-toggle{display:block;margin-left:auto}.site-nav{position:absolute;left:20px;right:20px;top:82px;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);display:none;align-items:stretch;gap:2px;flex-direction:column}.site-nav.is-open{display:flex}.nav-group__toggle{width:100%;text-align:left}.nav-dropdown{position:static;width:auto;box-shadow:none;border:0;padding:6px 0 8px 14px}.hero__grid,.page-hero__grid,.split-heading,.feature-grid,.editorial-grid,.faq-layout,.story-grid,.estimate-grid,.contact-layout{grid-template-columns:1fr}.hero__visual{min-height:430px}.feature-copy{position:static}.process-grid{grid-template-columns:repeat(2,1fr)}.local-card,.commitment-card{grid-template-columns:1fr;gap:30px}.faq-group{grid-template-columns:1fr;gap:22px}.footer-grid{grid-template-columns:repeat(2,1fr)}.final-cta__grid{grid-template-columns:1fr}.final-cta__actions{flex-direction:row;align-items:center}.values-grid{grid-template-columns:1fr}.hero h1,.page-hero h1{font-size:clamp(3rem,9vw,5rem)}}
@media (max-width:680px){.container{width:min(calc(100% - 28px),var(--max))}.topbar__meta span:last-child{display:none}.nav-shell{height:70px}.hero--home,.page-hero{padding:68px 0}.hero__proof{grid-template-columns:1fr}.hero__visual{min-height:340px}.visual-card{inset:12px 0}.hero-badge--one{left:8px;bottom:18px}.hero-badge--two{right:8px;top:34px}.section{padding:68px 0}.service-grid,.feature-list,.process-grid,.choice-grid,.form-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.local-card{padding:30px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:12px}.final-cta__actions{flex-direction:column;align-items:flex-start}.panel,.contact-form{padding:24px}.editorial-art{height:320px}}

/* Homepage photography */
.visual-card--photo{background:#0b1713}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}.hero-photo__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,22,18,.02) 35%,rgba(8,22,18,.68) 100%)}.hero-photo__caption{position:absolute;left:24px;bottom:24px;z-index:2;padding:12px 14px;border-radius:14px;background:rgba(8,22,18,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12)}.hero-photo__caption strong,.hero-photo__caption span{display:block}.hero-photo__caption strong{font-size:.92rem}.hero-photo__caption span{margin-top:2px;color:#c9d8d1;font-size:.76rem}.results-section{padding-top:50px;background:#edf2ec}.results-section .section-heading{align-items:end}.results-intro{max-width:520px;margin:0;color:var(--muted);font-size:1rem}.before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.result-photo{position:relative;margin:0;min-height:390px;border-radius:26px;overflow:hidden;background:#dfe6df;border:1px solid var(--line)}.result-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.result-photo figcaption{position:absolute;left:18px;top:18px;padding:9px 12px;border-radius:999px;background:rgba(13,31,27,.88);color:var(--white);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.result-photo--after figcaption{background:var(--accent);color:var(--ink)}.service-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.service-photo{position:relative;min-height:250px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--white)}.service-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.service-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(8,22,18,.72) 100%)}.service-photo span{position:absolute;left:18px;bottom:16px;z-index:2;color:var(--white);font-size:1.02rem;font-weight:850}.service-photo:hover img{transform:scale(1.025)}
@media (max-width:980px){.before-after-grid{grid-template-columns:1fr 1fr}.result-photo{min-height:330px}.service-photo{min-height:220px}}
@media (max-width:680px){.results-section{padding-top:34px}.before-after-grid,.service-photo-grid{grid-template-columns:1fr}.result-photo{min-height:280px}.service-photo{min-height:240px}.hero-photo__caption{left:18px;bottom:18px}.visual-card--photo{inset:12px 0}}

/* Homepage image correction v0.1.5 */
.hero__visual{min-height:0;aspect-ratio:4/3;max-width:560px;width:100%;justify-self:end}.visual-card--photo{inset:0 0 0 24px}.hero-photo{object-fit:cover;object-position:48% center}.service-photo-grid,.results-section{display:none}.service-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.comparison-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--white)}.comparison{--position:50%;position:relative;aspect-ratio:3/2;overflow:hidden;background:#dfe6df}.comparison__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison__after{clip-path:inset(0 0 0 var(--position))}.comparison__divider{position:absolute;top:0;bottom:0;left:var(--position);width:3px;transform:translateX(-50%);background:var(--accent);box-shadow:0 0 0 1px rgba(13,31,27,.18)}.comparison__divider:after{content:'↔';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--ink);font-weight:900;box-shadow:0 8px 24px rgba(13,31,27,.24)}.comparison__label{position:absolute;top:12px;z-index:2;padding:7px 9px;border-radius:999px;background:rgba(13,31,27,.82);color:var(--white);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.comparison__label--before{left:12px}.comparison__label--after{right:12px;background:var(--accent);color:var(--ink)}.comparison__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3}.comparison-card__link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;font-weight:850}.comparison-card__link span{font-size:1.05rem}.comparison-card__link:hover{background:var(--soft)}
@media (max-width:980px){.hero__visual{aspect-ratio:16/10;max-width:680px;justify-self:start}.visual-card--photo{inset:0}.service-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.hero__visual{aspect-ratio:4/3}.service-comparison-grid{grid-template-columns:1fr}.comparison-card__link{padding:13px 14px}}


/* Service before/after sliders v0.1.6 */
.service-before-after-section{padding:20px 0 76px}.service-before-after__heading{max-width:820px;margin:0 auto 20px}.service-before-after__heading h2{font-size:clamp(2rem,3.4vw,3.4rem);line-height:1;letter-spacing:-.045em;margin:0}.service-comparison-card{max-width:820px;margin:0 auto}.service-comparison-card .comparison{aspect-ratio:3/2}
@media (max-width:680px){.service-before-after-section{padding:0 0 58px}.service-before-after__heading{margin-bottom:16px}}

/* Service hero photography */
.service-hero__panel--image{padding:0;overflow:hidden;min-height:330px;position:relative;background:#10241e}
.service-hero__panel--image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
@media (max-width:980px){.service-hero__panel--image{min-height:380px}}
@media (max-width:680px){.service-hero__panel--image{min-height:280px}}

/* Quote estimator integration */
.quote-form{display:grid;gap:28px;margin-top:26px}.quote-fieldset{border:0;padding:0;margin:0;display:grid;gap:16px}.quote-fieldset legend{font-size:1.05rem;font-weight:850;margin-bottom:12px}.quote-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quote-type-option{position:relative;cursor:pointer}.quote-type-option input{position:absolute;opacity:0;pointer-events:none}.quote-type-option span{display:block;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--paper);font-weight:800;text-align:center}.quote-type-option input:checked+span{background:var(--accent-2);border-color:#9fbe62;box-shadow:0 0 0 2px rgba(199,243,106,.18)}.quote-service-list{display:grid;gap:12px}.quote-service{border:1px solid var(--line);border-radius:16px;background:#fafcf9;overflow:hidden}.quote-service[hidden]{display:none!important}.quote-service__select{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;cursor:pointer}.quote-service__select input{width:20px;height:20px;margin:3px 0 0;flex:0 0 auto}.quote-service__title{display:grid;gap:2px}.quote-service__title strong{font-size:1rem}.quote-service__title small{color:var(--muted);font-weight:600}.quote-service__details{display:none;border-top:1px solid var(--line);padding:16px 18px 18px;background:#fff}.quote-service.is-selected .quote-service__details{display:grid;gap:16px}.quote-service__details label{display:grid;gap:7px;font-weight:720}.quote-options{display:grid;gap:9px}.quote-options>span{font-weight:800}.quote-option{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;font-weight:650!important}.quote-option input{width:18px;height:18px;margin:3px 0 0;flex:0 0 auto}.quote-option small{color:var(--muted);font-weight:600}.quote-fieldset>label{display:grid;gap:8px;font-weight:760}.quote-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;font-weight:650!important}.quote-consent input{width:18px;height:18px;margin:3px 0 0;flex:0 0 auto}.quote-submit{justify-self:start;border:0}.quote-alert{margin:20px 0;padding:14px 16px;border-radius:13px;background:#fff8d9;color:#5b5118;border:1px solid #e8dc9f}.quote-alert--error{background:#fff0ed;color:#7a2b1e;border-color:#f0c2ba}.quote-alert--success{background:#edf9e5;color:#305822;border-color:#c8e3b7}.quote-result-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:0 0 24px}.quote-result-heading h2{margin:0}.quote-reference{margin:5px 0 0;color:var(--muted);font-weight:750}.quote-status{padding:7px 10px;border-radius:999px;background:var(--accent-2);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.quote-summary-lines{display:grid;border-top:1px solid var(--line)}.quote-summary-line{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.quote-summary-line>div{display:grid;gap:2px}.quote-summary-line span{display:block;color:var(--muted);font-size:.9rem}.quote-totals{margin:20px 0 0;padding:18px;border-radius:15px;background:var(--soft);display:grid;gap:9px}.quote-totals>div{display:flex;justify-content:space-between;gap:20px}.quote-total{padding-top:12px;margin-top:4px;border-top:1px solid #cfdbd0;font-size:1.08rem}.quote-next-step{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.quote-next-step p{margin:0;color:var(--muted);font-size:.9rem}.quote-next-step .button[disabled]{opacity:.55;cursor:not-allowed;border:0}.quote-photo-form{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:end;gap:12px;flex-wrap:wrap}.quote-photo-form label{display:grid;gap:7px;font-weight:760;flex:1 1 260px}.quote-photo-form .button{border:0}.quote-start-over{display:inline-block;margin-top:24px}.measure-help{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
@media (max-width:680px){.quote-type-grid{grid-template-columns:1fr}.quote-summary-line{gap:14px}.quote-result-heading{flex-direction:column}.quote-next-step{align-items:flex-start;flex-direction:column}.quote-photo-form{align-items:stretch;flex-direction:column}}

/* Booking integration */
.booking-shell--wide{max-width:1180px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:start}.booking-panel h2,.booking-quote-card h2{margin:0 0 16px}.booking-panel>p:not(.eyebrow),.booking-quote-card>p:not(.eyebrow){color:var(--muted)}.booking-search-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:28px}.booking-search-form label{display:grid;gap:7px;font-weight:760}.booking-search-form label span{font-size:.86rem}.booking-search-form .button{border:0}.booking-slot-form{margin-top:24px}.booking-slot-fieldset{border:0;padding:0;margin:0;display:grid;gap:18px}.booking-slot-fieldset legend{font-weight:850;margin-bottom:12px}.booking-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-slot{position:relative;cursor:pointer}.booking-slot input{position:absolute;opacity:0;pointer-events:none}.booking-slot span{display:block;padding:12px 10px;border:1px solid var(--line);border-radius:13px;background:#fafcf9;text-align:center;font-weight:800}.booking-slot input:checked+span{background:var(--accent-2);border-color:#9fbe62;box-shadow:0 0 0 2px rgba(199,243,106,.18)}.booking-slot-form>.button,.booking-slot-fieldset>.button{justify-self:start;border:0}.booking-quote-card{position:sticky;top:120px}.booking-quote-items{display:grid;border-top:1px solid var(--line);margin-top:20px}.booking-quote-items>div,.booking-quote-total{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.booking-quote-items span,.booking-quote-total span{color:var(--muted)}.booking-quote-total{border-bottom:0;font-size:1.08rem;padding-top:18px}.booking-hold{margin-top:24px;padding:24px;border-radius:18px;background:var(--soft)}.booking-hold h3{font-size:1.5rem;margin:0 0 8px}.booking-hold>p:not(.eyebrow){color:var(--muted)}.booking-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.booking-detail-list>div{padding:14px;border-radius:13px;background:var(--white);border:1px solid var(--line)}.booking-detail-list span,.booking-detail-list strong{display:block}.booking-detail-list span{font-size:.78rem;color:var(--muted);margin-bottom:4px}.booking-payment-next{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}.booking-payment-next .button[disabled]{opacity:.55;cursor:not-allowed}.booking-payment-next p{margin:0;color:var(--muted);font-size:.9rem}.booking-detail-list--manage{margin:28px 0}.booking-manage-block{border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.booking-manage-block h3{font-size:1.4rem;margin:0 0 10px}.booking-search-form--compact{grid-template-columns:minmax(220px,360px) auto;justify-content:start}.booking-cancel-block p{color:var(--muted);max-width:720px}.button.is-disabled{opacity:.55;pointer-events:none}
@media (max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-quote-card{position:static}.booking-search-form{grid-template-columns:1fr 1fr}.booking-search-form .button{grid-column:1/-1;justify-self:start}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.booking-search-form,.booking-search-form--compact{grid-template-columns:1fr}.booking-search-form .button{grid-column:auto}.booking-slot-grid,.booking-detail-list{grid-template-columns:1fr}.booking-payment-next{align-items:flex-start;flex-direction:column}}

/* Site-owned Content edit-point visibility */
.content-edit-link{display:none!important}
.content-edit-points .content-edit-link{display:inline-block!important}
.quote-type-grid--single{grid-template-columns:1fr}

/* Private quote email handoff */
.quote-alert--email{display:flex;flex-direction:column;gap:6px;background:#f8f3d7;border-color:#e2cd69;color:#665714}
.quote-alert--email strong{color:#4e420e}

/* Quote-driven booking date and address flow */
.booking-selected-service{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:26px 0 20px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#f8faf6}
.booking-selected-service span,.booking-field-label{display:block;width:100%;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#65756e}
.booking-selected-service strong{font-size:1.08rem}
.booking-selected-service small{color:#6c7a74}
.booking-day-picker{margin:24px 0}
.booking-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:10px}
.booking-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);transition:.15s ease}
.booking-day:hover,.booking-day.is-selected{border-color:#9acb43;background:#e9fac9;box-shadow:0 0 0 2px rgba(190,245,90,.18)}
.booking-day strong{font-size:.95rem}.booking-day span{font-size:.78rem;color:#697871}
.booking-address-fieldset{border:0;padding:0;margin:26px 0}
.booking-address-fieldset legend,.booking-slot-fieldset legend{font-size:1rem;font-weight:800;margin-bottom:12px}
.booking-address-grid{display:grid;grid-template-columns:2fr .8fr .9fr;gap:12px}
.booking-address-grid__wide{grid-column:1/-1}
.booking-address-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.booking-address-grid input{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;color:var(--ink)}
@media(max-width:900px){.booking-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-address-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.booking-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-address-grid{grid-template-columns:1fr}.booking-address-grid__wide{grid-column:auto}}

/* Stripe booking checkout */
.stripe-checkout{width:100%;margin-top:8px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.stripe-checkout h4{margin:0 0 6px;font-size:1.15rem}
.stripe-checkout>p{margin:0 0 18px;color:var(--muted)}
.stripe-payment-element{margin-bottom:16px}
.stripe-payment-message{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#fff1ed;color:#8b2b1c;font-weight:700;font-size:.9rem}
.stripe-checkout--balance{max-width:720px;margin-top:18px}
.booking-balance-block .booking-detail-list{margin-top:16px}

/* Booking deposit explanation */
.stripe-payment-element{margin-bottom:24px}
.stripe-checkout [data-stripe-submit]{margin-top:6px}
.booking-deposit-note{display:flex;flex-direction:column;gap:5px;margin:18px 0 2px;padding:16px 18px;border:1px solid #cfe0ca;border-radius:14px;background:#f5f9f2}
.booking-deposit-note strong{color:var(--ink);font-size:.98rem}
.booking-deposit-note span{color:var(--muted);line-height:1.55}
.booking-quote-deposit-note{display:flex;flex-direction:column;gap:5px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.booking-quote-deposit-note strong{font-size:.94rem;color:var(--ink)}
.booking-quote-deposit-note span{font-size:.86rem;line-height:1.5;color:var(--muted)}

/* Grouped Quote Estimator service variables */
.quote-option-groups{display:grid;gap:22px;margin-top:20px}
.quote-option-group{min-width:0;margin:0;padding:0;border:0}
.quote-option-group>legend{width:100%;margin:0 0 12px;padding:0;font-size:1rem;font-weight:800;color:var(--ink)}
.quote-required{color:#d44838}
.quote-select-field{display:block}
.quote-select-field select{width:100%;min-height:54px;padding:0 44px 0 16px;border:1px solid var(--line);border-radius:13px;background:var(--white);font:inherit;font-weight:700;color:var(--ink)}
.quote-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
.quote-choice{min-width:0}
.quote-choice__label{display:flex;align-items:flex-start;gap:10px;min-height:34px;font-weight:700;cursor:pointer}
.quote-choice__label input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:#1d7cf2}
.quote-choice__label span{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;line-height:1.35}
.quote-choice__label small{font-size:.76rem;font-weight:600;color:var(--muted)}
.quote-group-help{display:block;margin-top:9px;color:var(--muted)}
.quote-option-answer{display:none;margin:8px 0 4px 32px}
.quote-option-answer.is-visible{display:flex;flex-direction:column;gap:6px}
.quote-option-answer span{font-size:.82rem;font-weight:700;color:var(--muted)}
.quote-option-answer input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);font:inherit;color:var(--ink)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.quote-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.quote-choice-grid{grid-template-columns:1fr}}

/* Estimator option alignment refinement */
.quote-option-group{
    min-inline-size:0;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
}
.quote-option-group>legend{
    float:none;
    width:auto;
    max-width:100%;
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}
.quote-option-group>legend+*{clear:both}
.quote-choice-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px 24px;
    align-items:start;
}
.quote-choice{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    min-width:0;
}
.quote-choice__label{
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:28px;
    margin:0!important;
    padding:0!important;
}
.quote-choice__label input[type="checkbox"]{
    width:22px;
    height:22px;
    margin:0!important;
    justify-self:start;
    align-self:center;
}
.quote-choice__label>span{
    display:block;
    min-width:0;
    line-height:1.35;
}
.quote-choice--with-answer{
    grid-template-columns:max-content minmax(130px,1fr);
    align-items:center;
    column-gap:12px;
}
.quote-choice--with-answer .quote-choice__label{
    grid-column:1;
}
.quote-choice--with-answer .quote-option-answer{
    grid-column:2;
    margin:0!important;
}
.quote-option-answer{
    display:none;
}
.quote-option-answer.is-visible{
    display:block!important;
}
.quote-option-answer input{
    width:100%;
    min-width:0;
    height:42px;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--white);
}
@media(max-width:900px){
    .quote-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .quote-choice-grid{grid-template-columns:1fr}
    .quote-choice--with-answer{grid-template-columns:max-content minmax(120px,1fr)}
}

/* Estimator "Other" field visibility fix */
.quote-option-answer:not(.is-visible){
    display:none!important;
}
.quote-option-answer.is-visible{
    display:block!important;
}
.quote-choice--with-answer{
    grid-template-columns:max-content minmax(180px,1fr);
}
.quote-option-answer input{
    min-width:180px;
}

/* Quote Estimator option-level measurements */
.quote-option-measurement{display:none;margin:0!important}
.quote-option-measurement.is-visible{display:flex!important;align-items:center;gap:8px}
.quote-option-measurement>span{flex:0 0 auto;font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap}
.quote-option-measurement input{width:100%;min-width:160px;height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);font:inherit;color:var(--ink)}
.quote-choice--with-answer:has(.quote-option-measurement){grid-template-columns:max-content minmax(190px,1fr)}
@media(max-width:620px){.quote-option-measurement.is-visible{align-items:flex-start;flex-direction:column;gap:5px}}

/* Quote Estimator option-measurement layout cleanup */
.quote-choice:has(.quote-option-measurement){
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(240px,.85fr);
    align-items:center;
    gap:14px 24px;
}
.quote-choice:has(.quote-option-measurement) .quote-choice__label{
    grid-column:1;
    min-width:0;
}
.quote-choice:has(.quote-option-measurement) .quote-choice__label>span{
    white-space:normal;
    overflow-wrap:anywhere;
}
.quote-choice:has(.quote-option-measurement) .quote-option-measurement{
    grid-column:2;
    min-width:0;
}
.quote-choice:has(.quote-option-measurement) .quote-option-measurement input{
    min-width:0;
}
.quote-choice:has(.quote-option-measurement) .quote-option-measurement:not(.is-visible){
    display:none!important;
}
@media(max-width:760px){
    .quote-choice:has(.quote-option-measurement){
        grid-template-columns:1fr;
        gap:8px;
    }
    .quote-choice:has(.quote-option-measurement) .quote-choice__label,
    .quote-choice:has(.quote-option-measurement) .quote-option-measurement{
        grid-column:1;
    }
}

/* Contact reason guidance */
.contact-route-help{
    margin:-4px 0 22px;
    padding:18px 20px;
    border:1px solid #d4e4d7;
    border-radius:18px;
    background:#f1f7ef;
}
.contact-route-help[hidden]{display:none!important}
.contact-route-help p{
    margin:0;
    color:var(--muted);
    line-height:1.55;
}
.contact-route-help .button{
    margin-top:12px;
}
.button--small{
    padding:10px 16px;
    font-size:.9rem;
}

/* Contact hero Why OCD Clean card */
.contact-card--why{
    display:block;
    padding:30px 34px;
}
.contact-card--why .eyebrow{
    margin:0 0 22px;
}
.contact-card__why-list{
    display:grid;
    gap:0;
}
.contact-card__why-list>div{
    padding:18px 0;
    border-top:1px solid rgba(255,255,255,.11);
}
.contact-card__why-list>div:first-child{
    border-top:0;
    padding-top:0;
}
.contact-card__why-list>div:last-child{
    padding-bottom:0;
}
.contact-card__why-list strong{
    display:block;
    color:var(--white);
    font-size:1.05rem;
    line-height:1.35;
}
.contact-card__why-list p{
    margin:6px 0 0;
    max-width:420px;
    color:#c8d8d0;
    font-size:.92rem;
    line-height:1.5;
}
.contact-route-help [hidden]{display:none!important}

/* Production OCD Clean logos */
.brand--image{
    display:flex;
    align-items:center;
    flex:0 0 auto;
}
.brand--image img{
    display:block;
    width:auto;
    height:86px;
    max-width:min(500px,48vw);
    object-fit:contain;
}
.brand--footer.brand--image{
    margin-bottom:20px;
}
.brand--footer.brand--image img{
    height:56px;
    max-width:280px;
}
@media(max-width:760px){
    .brand--image img{
        height:62px;
        width:auto;
        max-width:340px;
    }
    .brand--footer.brand--image img{
        height:48px;
        max-width:220px;
    }
}
.about-location-panel p{margin:0}
