/* Clean glass remains after the dirt is removed. No hinged-window overlay. */
:root{--component-glass:linear-gradient(125deg,#ffffffa8,#ffffff5c);--component-edge:1px solid #ffffffed;--component-shadow:inset 0 1px 0 #fff,0 12px 35px #16374912,0 0 0 1px #a9bbc22b}
body{background-color:#f7faf9;background-image:radial-gradient(ellipse at 0 20%,#cbded84a,transparent 40%),radial-gradient(ellipse at 100% 45%,#d5e4f36b,transparent 45%)}
.header{margin-top:18px;padding:0 24px;height:90px;border:var(--component-edge);border-radius:8px;background:var(--component-glass);box-shadow:var(--component-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hero-copy{padding:28px 30px 32px;margin-bottom:24px;border:var(--component-edge);border-radius:8px;background:var(--component-glass);box-shadow:var(--component-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.scope-scene,.package-receipt,.form-preview,.glass-choice label{background:var(--component-glass);border:var(--component-edge);box-shadow:var(--component-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.scene-art,.scene-art>div,.scene-controls,.outdoor-controls{background:transparent}
.glass-choice label:has(:checked){background:linear-gradient(125deg,#edf5ffcf,#e2efffa6);border-color:#7299cd;box-shadow:inset 3px 0 #2154be,0 4px 15px #2154be10}
.package-receipt{border-top:2px solid #162f4080}.review-scene,.meet{background:linear-gradient(125deg,#17394feb,#244f65db);backdrop-filter:blur(16px)}
.care-section,.rhythm,.quote{background:linear-gradient(125deg,#dae7e354,#edf5f754);border-block:1px solid #c4d6d44d}
#services{position:relative;isolation:isolate;width:min(1400px,calc(100% - 80px));padding:60px 32px 40px;margin-top:36px;border:1px solid #ffffffb0;border-radius:8px;background:linear-gradient(125deg,#e5eff163,#e8efe44a);box-shadow:inset 0 1px 0 #fff}
#services:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:8px;background:linear-gradient(125deg,#e8f0ed85,#edf3f780);opacity:1}
#services .section-head{margin-bottom:20px}
#services .scene{overflow:visible;perspective:none;border:0;border-radius:0;background:transparent;box-shadow:none;isolation:auto}
#services .reveal{padding:0;background:transparent;opacity:1;transform:none;filter:none}
#services .grid{display:flex;flex-direction:column;gap:28px}
#services .wash-runway{position:relative}
#services.wash-enhanced .wash-runway.can-pin{height:calc(var(--row-height) + var(--wash-travel))}
#services.wash-enhanced .can-pin>.wash-row{position:sticky;top:var(--pin-top)}
#services .wash-row{--wash:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;position:relative;isolation:isolate;overflow:hidden;border-radius:8px}
#services article{margin:0;border:1px solid #ffffffed;border-radius:8px;background:linear-gradient(125deg,#ffffff80,#ffffff38);box-shadow:inset 0 1px 0 white,inset 0 -1px 0 #aec4ce55,0 8px 26px #1f435a20;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden}
#services article>img{width:100%;height:clamp(240px,22vw,310px);object-fit:cover;border-bottom:1px solid #ffffffb3}
#services .copy{min-height:110px;padding:22px 26px 24px}
#services .copy h3{font-size:27px;line-height:1.15;letter-spacing:-.035em;margin-bottom:9px}
#services .copy p{font-size:15px;line-height:1.55;color:#3e535f}
#services .wash-dirt,#services .wash-tool{display:none;pointer-events:none;position:absolute;z-index:4}
#services.wash-enhanced .wash-dirt{display:block;inset:0;border-radius:8px;background:linear-gradient(110deg,#b7b4a74a,#dfd8c23d 45%,#919e9c40),url('images/glass-residue.svg') center/650px 440px;backdrop-filter:blur(1px) saturate(.84);-webkit-backdrop-filter:blur(1px) saturate(.84);clip-path:inset(0 0 0 calc(var(--wash)*100%))}
/* Blade and clipped residue share exactly the same progress coordinate. */
#services.wash-enhanced .wash-tool{display:block;top:0;bottom:0;left:calc(var(--wash)*100%);width:16px;opacity:clamp(0,calc(min(var(--wash)/.06,(1 - var(--wash))/.05)),1);filter:drop-shadow(-3px 3px 3px #172c383d)}
.wash-rubber{position:absolute;inset:0 auto 0 -3px;width:7px;border-radius:2px;background:linear-gradient(90deg,#171e22,#455258 65%,#0e161b);box-shadow:1px 0 0 #edf8ff70}
.wash-channel{position:absolute;top:6px;bottom:6px;left:4px;width:11px;background:linear-gradient(90deg,#88949b,#f0f5f7 26%,#b7c4c9 45%,#536772 82%,#c5d0d4);border:1px solid #63747e;border-radius:3px}
.wash-neck{position:absolute;left:11px;top:calc(50% - 12px);width:35px;height:24px;background:linear-gradient(#7d919c,#e6edf1 35%,#627c89);border:1px solid #637c86;border-radius:2px;transform:rotate(12deg);transform-origin:left center}
.wash-handle{position:absolute;left:37px;top:calc(50% - 4px);width:100px;height:27px;border:1px solid #172d3e;border-radius:5px 13px 13px 5px;background:repeating-linear-gradient(90deg,transparent 0 8px,#101e2940 8px 10px),linear-gradient(#375767,#152f43 68%,#102434);box-shadow:inset 0 2px 1px #91a6ae80;transform:rotate(12deg);transform-origin:left center}
.wash-water{position:absolute;inset:2px auto 2px 16px;width:3px;background:linear-gradient(180deg,#ffffff10,#effaffbd 35%,#b0d8e659 50%,#ffffffc9 85%,transparent);border-radius:40%;box-shadow:1px 0 2px #afd2df80}
#services .is-clean .wash-tool,#services .is-clean .wash-dirt{display:none}
#services .window-skip{background:#ffffff80;border:1px solid #9db3bc;border-radius:4px;font-size:13px;min-height:46px;backdrop-filter:blur(12px)}
#services .window-scope{margin-top:28px;margin-bottom:0;background:transparent}
@media(max-width:1000px){#services{width:calc(100% - 40px);padding:40px 24px}#services article>img{height:250px}#services .copy{padding:20px}#services .copy h3{font-size:24px}}
@media(max-width:700px){
 .header{padding:0 12px;margin-top:12px;height:80px}.hero-copy{padding:24px 20px;margin-bottom:22px}.hero-copy h1{font-size:clamp(34px,9.4vw,48px)}
 #services{width:calc(100% - 24px);padding:32px 14px;margin-top:28px}#services .section-head h2{font-size:36px}#services .grid{gap:22px}#services .wash-row{grid-template-columns:1fr;gap:22px}
 #services article>img{height:auto;aspect-ratio:4/3}#services .copy{min-height:112px;padding:20px}#services .copy h3{font-size:25px}#services .copy p{font-size:14px;line-height:1.55}
 .wash-handle{width:72px;height:24px}.wash-neck{width:25px}.wash-handle{left:30px}
}
/* Restore the original's sweeping, asymmetric architectural frames. */
.header{border-radius:14px}.hero-copy{border-radius:18px}
.hero-art{border:8px solid #ffffffb8;border-radius:150px 16px 16px 16px;box-shadow:0 25px 60px #1c435124}
.scope-scene,.package-receipt,.form-preview{border-radius:14px}
.review-scene{border-radius:50px 14px 14px 14px}
.meet{border-radius:18px}.meet-art{border-radius:0 100px 0 0;overflow:hidden}
.detail-photograph{border:8px solid #ffffffb8;border-radius:80px 14px 14px 14px;overflow:hidden;box-shadow:var(--component-shadow)}
#services,#services:before{border-radius:50px 18px 18px 18px}
#services .wash-row{border-radius:96px 96px 16px 16px}
#services .wash-row article:first-child{border-radius:96px 16px 16px 16px}
#services .wash-row article:nth-child(2){border-radius:16px 96px 16px 16px}
#services.wash-enhanced .wash-dirt{border-radius:inherit}
@media(max-width:700px){
 .hero-copy{border-radius:14px}.hero-art{border-width:5px;border-radius:80px 16px 16px 16px}
 .meet-art{border-radius:0 80px 0 0}.detail-photograph{border-width:5px;border-radius:64px 14px 14px 14px}
 #services,#services:before{border-radius:32px 14px 14px 14px}
 #services .wash-runway:nth-child(odd) .wash-row{border-radius:72px 14px 14px 14px}
 #services .wash-runway:nth-child(even) .wash-row{border-radius:14px 72px 14px 14px}
 #services .wash-row:nth-child(n) article:first-child{border-radius:inherit}
}
/* Portrait stays beside the introduction and FAQ, bounded by their shared rail. */
.profile-faq{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:stretch;margin-bottom:64px}
.portrait-rail{position:relative;min-width:0}
.profile-faq .meet-art{position:sticky;top:32px;width:100%;height:min(560px,calc(100dvh - 64px));max-height:none;min-height:0;border-radius:18px 100px 18px 18px;background:#234859;box-shadow:0 18px 40px #16374916;overflow:hidden;transform:none!important;opacity:1!important;transition:none}
.profile-content{min-width:0}
.profile-content .meet{display:block;width:100%;margin:0;min-height:0}
.profile-content .meet-copy{padding:36px}
.profile-content #questions{width:100%;padding:48px 0 0;margin:0}
.profile-content .faq-layout{display:block}
.profile-content .faq-intro{margin-bottom:30px}
.profile-content .faq-intro h2{font-size:clamp(32px,3.5vw,48px)}
@media(max-width:900px){.profile-faq{grid-template-columns:1fr;gap:28px}.profile-faq .meet-art{position:relative;top:auto;height:auto;aspect-ratio:1/1;max-height:560px;border-top-right-radius:80px}.profile-content .meet-copy{padding:28px}.profile-content #questions{padding-top:36px}}
@media(prefers-reduced-motion:reduce){#services .wash-dirt,#services .wash-tool{display:none!important}}
@media(prefers-reduced-transparency:reduce){#services article,.hero-copy,.header,.scope-scene,.package-receipt,.form-preview{background:#f7faf9;backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not (backdrop-filter:blur(1px)){#services article,.hero-copy,.header,.scope-scene,.package-receipt,.form-preview{background:#f7faf9}}
