/* Bold turquoise frames, with no decorative dashes beside headings. */
:root{--pleco-frame:#4ce6fb;--pleco-frame-soft:rgba(76,230,251,.55)}
header{border-bottom:1px solid var(--pleco-frame-soft)}
.stage-copy{border-color:var(--pleco-frame);border-top-color:#4ce6fb;box-shadow:0 18px 50px #0004,inset 0 0 28px #4ce6fb06}
.price-card{border-color:var(--pleco-frame);box-shadow:0 16px 42px #0003,inset 0 1px #4ce6fb22}
.price-caption{border-top:1px solid var(--pleco-frame-soft);background:linear-gradient(125deg,#4ce6fb0b,transparent 70%)}
.result-video,.work-image{border-color:var(--pleco-frame);box-shadow:0 10px 28px #0003}
.service-grid article{border:1px solid var(--pleco-frame-soft);border-top:2px solid #4ce6fb9c;border-radius:16px;padding:28px;background:linear-gradient(145deg,#11262e,#0b171c);box-shadow:0 12px 32px #0002}
.service-grid article>span:first-child{color:var(--cyan)}
.booking-frame{border-color:var(--pleco-frame);border-top-color:var(--cyan);box-shadow:0 0 0 5px #4ce6fb06,0 20px 50px #0003}
.google-review{border-color:#47b8c9;box-shadow:0 2px 0 #4ce6fb55,0 10px 25px #0002}
.google-rating-circle{box-shadow:0 0 0 3px #4ce6fb3d}
.work-controls button{border-color:var(--pleco-frame);background:#4ce6fb08}
.social-link{box-shadow:0 0 0 1px #4ce6fb80,0 0 0 5px #4ce6fb0b}
.pricing,.result,.work-gallery,.services,.booking,.contact,.reviews-section,.social-section,footer{border-top:1px solid var(--pleco-frame-soft)}
.contact{background:radial-gradient(ellipse at 0 50%,#4ce6fb0d,transparent 65%),#0e1a1f;box-shadow:inset 0 1px #4ce6fb10,inset 0 -1px #4ce6fb10}
@media(hover:hover){.price-card:hover,.work-card:hover .work-image,.service-grid article:hover{border-color:#9df4ff}.social-link:hover{box-shadow:0 0 0 2px #4ce6fbb3,0 0 0 6px #4ce6fb14}}
@media(max-width:650px){.service-grid{gap:18px}.service-grid article{padding:23px;border-radius:13px}.google-review{box-shadow:0 2px 0 #4ce6fb44}.booking-frame{box-shadow:0 0 0 3px #4ce6fb06}}
.stage-copy,.price-card,.result-video,.work-image,.service-grid article,.booking-frame,.google-review{border:3px solid #4ce6fb;box-shadow:0 0 16px #4ce6fb1f,0 14px 32px #0003}
.work-controls button{border:2px solid #4ce6fb}
.social-link{box-shadow:0 0 0 3px #4ce6fb,0 0 18px #4ce6fb33}
.google-rating-circle{box-shadow:0 0 0 3px #4ce6fb}

@media(max-width:800px){footer{flex-direction:column;align-items:center;justify-content:center;text-align:center}footer .brand{margin-inline:auto;max-width:100%;align-self:center}}

.service-card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.service-card-heading .number{margin:0;color:var(--cyan)}
.service-photo{display:block;width:120px;height:120px;flex:0 0 120px;border-radius:50%;border:3px solid #4ce6fb;object-fit:cover;object-position:50% 75%;box-shadow:0 0 0 5px #4ce6fb12}
.service-photo-softwash{object-position:20% 100%}
.service-photo-fenetres{object-position:45% 65%}
@media(max-width:650px){.service-card-heading{margin-bottom:20px}.service-photo{width:108px;height:108px;flex-basis:108px}}

.service-photo{overflow:hidden}.service-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 75%}.service-photo-softwash img{object-position:20% 100%;transform:scale(2);transform-origin:left bottom}.service-photo-fenetres img{object-position:45% 65%}

/* Continuous foam texture from the packages onward. */
.after-animation-background,footer{background-color:#080f12;background-image:linear-gradient(rgba(8,15,18,.77),rgba(8,15,18,.77)),url('bulles-background.webp');background-size:auto,1000px auto;background-repeat:repeat;background-position:top center}
.after-animation-background>.pricing,.after-animation-background>.result,.after-animation-background>.work-gallery,.after-animation-background>.services,.after-animation-background>.booking,.after-animation-background>.contact,.after-animation-background>.reviews-section,.after-animation-background>.social-section{background:transparent}
@media(max-width:650px){.after-animation-background,footer{background-size:auto,700px auto}}

.service-card-heading{position:relative;justify-content:center;min-height:120px}
.service-card-heading .number{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.service-photo-softwash img{transform:none;object-position:50% 45%}
.service-photo-gouttieres img{object-position:50% 65%}
@media(max-width:650px){.service-card-heading{min-height:108px}}

@media(min-width:1000px){
.after-animation-background,footer{background-color:#080f12;background-image:linear-gradient(#080f12ad,#080f12ad),url('mousse-desktop-v60.webp');background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}
}

/* Center the editorial copy and section introductions on all screen sizes. */
.intro,.stage-copy,.pricing-heading,.price-caption,.result,.services,.booking-heading,.contact,.reviews-heading,.google-review,.work-heading,.work-card figcaption,.work-footer,.reviews-note{text-align:center}
.intro p,.stage-copy p,.result>p,.service-grid p,.contact-side p{margin-inline:auto}
.section-top{justify-content:center}
.section-top h2{width:100%;margin-inline:auto}
.work-heading,.reviews-heading,.booking-heading{flex-direction:column;align-items:center;justify-content:center}
.work-heading>div:first-child,.reviews-heading>div:first-child{width:100%}
.reviews-rating{margin-inline:auto}
.booking-heading>div:last-child{max-width:660px;margin-inline:auto}
.price-caption{flex-direction:column;justify-content:center;gap:12px}
.work-card figcaption{justify-content:center}
.contact{flex-direction:column;gap:28px}
.contact-side{width:100%;max-width:680px;margin-inline:auto}
.google-review .review-person{justify-content:center}
.google-review .review-person>div{text-align:center}
.google-review .google-mark{margin-left:0}
.reviews-note{max-width:960px;margin-inline:auto}
@media(max-width:999px){.booking-heading>div:last-child{margin-inline:auto}.contact-side{margin-top:24px}}

@media(max-width:999px) and (pointer:coarse) and (prefers-reduced-motion:no-preference){.journey{height:auto}.journey .stage{position:relative;touch-action:pan-x pinch-zoom}.intro-scroll{font-size:0}.intro-scroll::after{content:"Glissez pour lancer chaque étape";font-size:12px}}

@media(max-width:999px) and (pointer:coarse) and (prefers-reduced-motion:no-preference){.journey .stage-heading{top:110px}.journey .intro{top:max(110px,17%)}header{background:#080f12}}

/* Compact only the mobile welcome copy above the house. */
@media (max-width:800px){
 .journey .intro h1{margin:10px 0 8px;line-height:1.08}
 .journey .intro p{line-height:1.4}
 .journey .intro .intro-scroll{margin-top:8px;line-height:1.3}
}

/* Automatic three-step playback on desktop as well as touch devices. */
@media(prefers-reduced-motion:no-preference){
 .journey{height:auto}
 .journey .stage{position:relative;touch-action:pan-x pinch-zoom}
}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){
 .intro-scroll{font-size:0}
 .intro-scroll::after{content:"Défilez pour lancer chaque étape";font-size:13px}
}
