/* Sample Cleaning — portfolio, owner and review sections.
   Editorial UI consistent with the Fraunces + Manrope cleaning demo.
   Images are illustrative, never attributed to real customers. */
.clean-work,.clean-team,.clean-reviews{color:#203D4F;font-family:Manrope,"Avenir Next",Arial,sans-serif}
.clean-work{position:relative;padding:clamp(65px,7vw,96px) 0 43px;background:#F4F0E9;overflow:hidden}
.clean-work-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:28px}
.clean-work-heading h2,.clean-team h2,.clean-reviews h2{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.04em;line-height:1.07}
.clean-work-heading h2{font-size:clamp(40px,5.5vw,73px);margin:10px 0 0}
.clean-work-heading>p{max-width:410px;color:#587181;font-size:14px;line-height:1.75;margin-bottom:6px}
.clean-work-marquee{position:relative;overflow:hidden;width:100%;isolation:isolate;background:#CADDE4;padding:0;touch-action:pan-y}
.clean-work-marquee:before,.clean-work-marquee:after{content:"";position:absolute;top:0;bottom:0;width:min(6vw,65px);pointer-events:none;z-index:2}
.clean-work-marquee:before{left:0;background:linear-gradient(90deg,#F4F0E9B0,transparent)}
.clean-work-marquee:after{right:0;background:linear-gradient(270deg,#F4F0E9B0,transparent)}
.clean-work-runner{display:flex;align-items:stretch;width:max-content;animation:tle-clean-portfolio-scroll 45s linear infinite;will-change:transform}
.clean-work-group{display:flex;flex:none;align-items:stretch;gap:14px;padding-right:14px}
.clean-work-card{position:relative;flex:none;overflow:hidden;width:clamp(205px,23vw,330px);aspect-ratio:3/4;margin:0;background:#D5E5E7;border-radius:12px;box-shadow:0 6px 20px #192D3E13;isolation:isolate}
.clean-work-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9);transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .55s}
.clean-work-card:hover img,.clean-work-card:focus-within img{transform:scale(1.055);filter:saturate(1.04)}
.clean-work-card figcaption{position:absolute;bottom:0;left:0;right:0;padding:27px 18px 14px;background:linear-gradient(180deg,transparent,#172D39B5);font:750 12px/1.3 Manrope,Arial,sans-serif;color:#FFF;letter-spacing:.015em}
.clean-work-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:19px}
.clean-work-bottom p{font-size:11px;color:#627886;line-height:1.5;margin:0}
.clean-work-pause{flex:none;appearance:none;min-height:40px;padding:9px 15px;background:#E1ECF0;color:#365F74;border:1px solid #BDD4DF;border-radius:10px;font:750 11px Manrope,Arial,sans-serif;cursor:pointer}
.clean-work-pause:hover{background:#D3E5ED}
.clean-work-pause:focus-visible{outline:3px solid #3D7B9A;outline-offset:3px}
.clean-work-runner.is-paused{animation-play-state:paused}
.clean-work-marquee:hover .clean-work-runner,.clean-work-marquee:focus-within .clean-work-runner{animation-play-state:paused}
@keyframes tle-clean-portfolio-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.clean-team{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(30px,7.6vw,110px);align-items:center;padding-top:clamp(70px,9vw,125px);padding-bottom:clamp(70px,8vw,116px)}
.clean-team-photo{position:relative;min-width:0;isolation:isolate}
.clean-team-photo:before{content:"";position:absolute;inset:-12px 14px 12px -12px;border:1px solid #B5CDD8;border-radius:14px;z-index:-1}
.clean-team-photo img{display:block;width:100%;max-height:600px;aspect-ratio:4/5;object-fit:cover;object-position:center 27%;border-radius:14px;box-shadow:0 24px 50px #173A4B1A}
.clean-team-image-tag{position:absolute;bottom:18px;left:18px;padding:10px 13px;color:#315E73;background:#F9F6F1E8;border:1px solid #FFF9;border-radius:9px;font:800 10px Manrope,Arial,sans-serif;letter-spacing:.07em;backdrop-filter:blur(8px)}
.clean-team-content{padding:20px 0}
.clean-team-content .eyebrow{color:#3E718C;font-size:11px;letter-spacing:.14em}
.clean-team h2{font-size:clamp(48px,5.4vw,73px);margin:16px 0 23px;text-wrap:balance}
.clean-team-lead{max-width:530px;font-size:clamp(15px,1.5vw,18px);line-height:1.83;color:#4B6A7C}
.clean-team-values{display:flex;flex-wrap:wrap;gap:9px 10px;margin:28px 0}
.clean-team-values span{padding:11px 13px;border:1px solid #C6D8E0;background:#EAF3F6;border-radius:9px;color:#416B7F;font:750 11px Manrope,Arial,sans-serif}
.clean-team-disclaimer{font-size:11px;line-height:1.55;color:#728590;max-width:530px}
.clean-reviews{background:linear-gradient(130deg,#E8F0F2,#DCE9EE);padding:clamp(64px,8vw,108px) 0}
.clean-reviews-heading{max-width:760px;margin-bottom:37px}
.clean-reviews-heading h2{font-size:clamp(43px,5.4vw,72px);margin:13px 0 16px;text-wrap:balance}
.clean-reviews-heading p:last-child{font-size:15px;line-height:1.78;color:#526E7C;max-width:635px}
.clean-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.clean-review{display:flex;flex-direction:column;gap:18px;min-width:0;min-height:255px;padding:26px 23px 23px;background:#FAFCFB;border:1px solid #CEE0E7;border-radius:13px;box-shadow:0 10px 20px #244A5D0C}
.review-sample-label{font:800 9px/1.6 Manrope,Arial,sans-serif;letter-spacing:.085em;color:#6D92A6}
.clean-review blockquote{font:500 clamp(21px,2.35vw,30px)/1.35 Fraunces,Georgia,serif;letter-spacing:-.025em;color:#294B5C;margin:0}
.review-theme{margin-top:auto;border-top:1px solid #D8E7ED;padding-top:15px;color:#55768A;font:750 12px Manrope,Arial,sans-serif}
.clean-reviews-note{color:#64818F;line-height:1.6;font-size:11px;margin-top:21px}
.offer-photo img{object-position:center 40%;filter:saturate(.94)}
@media(max-width:780px){
 .clean-work-heading{display:block;margin-bottom:23px}
 .clean-work-heading>p{margin-top:14px;font-size:13px}
 .clean-team{grid-template-columns:1fr;gap:32px}
 .clean-team-photo{max-width:540px;width:100%;margin-inline:auto}
 .clean-team-photo img{max-height:480px;object-position:center 32%}
 .clean-team-content{padding:0}
 .clean-team h2{font-size:clamp(45px,10vw,65px)}
 .clean-reviews-grid{grid-template-columns:1fr;gap:12px}
 .clean-review{min-height:0;padding:20px;gap:16px}
 .clean-review blockquote{font-size:25px}
}
@media(max-width:500px){
 .clean-work{padding-top:57px;padding-bottom:33px}
 .clean-work-heading h2{font-size:49px}
 .clean-work-card{width:230px;height:305px}
 .clean-work-group{gap:10px;padding-right:10px}
 .clean-work-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:9px;margin-top:14px}
 .clean-team{padding-top:65px;padding-bottom:75px}
 .clean-team-photo img{max-height:435px}
 .clean-team-image-tag{font-size:9px}
 .clean-team h2{margin:14px 0 17px}
 .clean-team-lead{font-size:15px;line-height:1.75}
 .clean-reviews{padding:65px 0}
 .clean-reviews-heading h2{font-size:46px}
}
@media(prefers-reduced-motion:reduce){
 .clean-work-runner{animation:none!important}
 .clean-work-marquee{overflow-x:auto;scrollbar-width:thin;touch-action:pan-x}
 .clean-work-card img{transition:none!important;transform:none!important}
}

/* Polished final portfolio: let the varied photographs speak for themselves. */
.clean-work-heading h2{font-size:clamp(40px,5vw,64px)}
.clean-work-heading>p{max-width:465px}
.clean-work-marquee{background:#E5EDEB}
.clean-work-card{box-shadow:0 8px 24px #203D4A14}
.clean-work-card img{filter:saturate(.95) contrast(1.018)}
.clean-work-card figcaption{font-size:11px;padding:23px 15px 13px}
/* Compact, honest illustration of a future five-star customer review area. */
.clean-reviews{padding:clamp(54px,6.5vw,84px) 0}
.clean-reviews-heading{margin-bottom:24px}
.clean-reviews-heading h2{font-size:clamp(38px,4.8vw,60px)}
.clean-reviews-grid{gap:12px}
.clean-review{min-height:187px;padding:19px 18px;gap:10px;border-radius:11px;box-shadow:0 7px 20px #244A5D08}
.clean-review .review-stars{display:block;color:#4A7994;font:700 17px/1 Manrope,Arial,sans-serif;letter-spacing:2px;white-space:nowrap}
.clean-review .review-sample-label{font-size:9px;line-height:1.45;letter-spacing:.05em;color:#6B8391}
.clean-review blockquote{font:500 clamp(17px,1.65vw,20px)/1.42 Fraunces,Georgia,serif;letter-spacing:-.013em}
.clean-review .review-theme{padding-top:9px;font-size:10px}
.clean-reviews-note{margin-top:14px}
.offer-photo img{object-position:center 55%;filter:saturate(.96)}
@media(max-width:780px){
 .clean-reviews-grid{display:grid;grid-auto-flow:column;grid-auto-columns:min(79vw,310px);grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:13px}
 .clean-reviews-grid .clean-review{scroll-snap-align:start;min-height:175px}
 .clean-review blockquote{font-size:19px}
 .clean-reviews-heading{margin-bottom:19px}
}
@media(max-width:500px){
 .clean-work-heading h2{font-size:43px}
 .clean-work-card{width:220px;height:293px}
 .clean-reviews-heading h2{font-size:41px}
 .clean-reviews-grid{grid-auto-columns:min(82vw,290px)}
 .clean-review{padding:17px 16px;min-height:169px}
 .clean-review blockquote{font-size:18px}
}
