:root { --ink:#17241f; --lime:#d8fb54; --cream:#f6f5ef; --peach:#ffc39e; --muted:#657068; --line:rgba(23,36,31,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
.announcement { background:var(--lime); color:var(--ink); font:500 11px/1 'DM Mono',monospace; letter-spacing:.08em; padding:12px max(24px, calc((100vw - 1280px)/2)); text-align:center; text-transform:uppercase; }
.announcement span { font-size:14px; margin-left:5px; }
.site-header { align-items:center; display:flex; height:83px; justify-content:space-between; margin:auto; max-width:1280px; padding:0 28px; }
.logo { align-items:center; color:var(--ink); display:inline-flex; font:700 22px/1 'Space Grotesk',sans-serif; letter-spacing:-1.7px; text-decoration:none; }
.logo em { color:#74930a; font-style:normal; }
.logo-mark { display:inline-block; height:25px; margin-right:8px; position:relative; width:29px; }
.logo-mark:before,.logo-mark:after,.logo-mark i { border:3px solid currentColor; border-radius:50%; content:""; display:block; height:9px; position:absolute; width:9px; }
.logo-mark:before { bottom:0; left:1px; }.logo-mark:after { bottom:0; right:1px; }.logo-mark i:first-child { border:0; border-top:3px solid currentColor; border-radius:0; height:0; left:8px; top:11px; transform:rotate(-32deg); width:13px; }.logo-mark i:last-child { border:0; border-top:3px solid currentColor; border-radius:0; height:0; left:11px; top:8px; width:9px; }
nav { display:flex; gap:31px; margin-left:90px; } nav a,.footer-links a { color:var(--ink); font-size:13px; font-weight:700; text-decoration:none; } nav a:hover,.footer-links a:hover { color:#74930a; }
.button { align-items:center; border:0; border-radius:2px; display:inline-flex; font-size:13px; font-weight:800; gap:25px; justify-content:center; letter-spacing:-.2px; padding:17px 21px; text-decoration:none; transition:transform .2s, background .2s; }.button:hover { transform:translateY(-2px); }.button span { font-size:17px; line-height:12px; }.button-dark { background:var(--ink); color:#fff; }.button-lime { background:var(--lime); color:var(--ink); }.button-small { padding:13px 16px; }
.hero { display:grid; grid-template-columns:1fr 1fr; margin:0 auto; max-width:1280px; min-height:559px; padding:32px 28px 44px; }.hero-copy { padding:55px 0 0 4.5%; }.eyebrow { align-items:center; color:#7e8c83; display:flex; font:500 10px/1 'DM Mono',monospace; gap:8px; letter-spacing:.08em; margin:0 0 22px; text-transform:uppercase; }.eyebrow span { background:#849f1e; border-radius:50%; display:block; height:7px; width:7px; }.eyebrow-light { color:#aeb9b2; }.eyebrow-light span { background:var(--lime); }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:'Space Grotesk',sans-serif; letter-spacing:-.065em; } h1 { font-size:clamp(53px,6.1vw,82px); line-height:.94; margin-bottom:27px; } h1 em,h2 em { color:#78900c; font-style:normal; } .hero-text { color:#566159; font-size:15px; line-height:1.7; max-width:405px; }.hero-actions { align-items:center; display:flex; gap:25px; margin-top:31px; }.text-link { background:none; border:0; color:var(--ink); display:inline-block; font-size:13px; font-weight:800; padding:8px 0; text-decoration:none; }.text-link span { color:#7c9b12; font-size:18px; margin-left:5px; }.hero-proof { align-items:center; display:flex; gap:12px; margin-top:71px; }.hero-proof p { color:#6d776f; font-size:11px; line-height:1.35; margin:0; }.hero-proof strong { color:var(--ink); }.avatar-stack { display:flex; }.avatar-stack span { align-items:center; background:#efad7d; border:2px solid var(--cream); border-radius:50%; color:#fff; display:flex; font:700 10px/1 'Space Grotesk'; height:29px; justify-content:center; margin-left:-6px; width:29px; }.avatar-stack span:nth-child(2){background:#6e9990}.avatar-stack span:nth-child(3){background:#df7e65}.avatar-stack span:last-child{background:var(--ink);}
.hero-art { background:#f1b286; margin:0 0 0 20px; min-height:482px; overflow:hidden; position:relative; }.hero-art:after { background-image:radial-gradient(rgba(23,36,31,.28) 1px, transparent 1px); background-size:7px 7px; content:""; inset:0; opacity:.5; position:absolute; pointer-events:none; }.sun { background:var(--lime); border-radius:50%; height:290px; position:absolute; right:6%; top:-50px; width:290px; }.art-label { font:500 10px/1.28 'DM Mono',monospace; letter-spacing:.06em; position:absolute; z-index:1; }.art-label.top { left:25px; top:26px; }.art-label.bottom { bottom:23px; left:25px; }.art-label.bottom strong { font:500 19px/1 'Space Grotesk'; letter-spacing:-.08em; }.bike { height:340px; left:50%; position:absolute; top:108px; transform:translateX(-50%); width:430px; z-index:1; }.wheel { border:7px solid var(--ink); border-radius:50%; bottom:1px; height:157px; position:absolute; width:157px; }.wheel:after { border:1px solid rgba(23,36,31,.5); border-radius:50%; content:""; inset:8px; position:absolute; }.wheel-back { left:25px; }.wheel-front { right:23px; }.frame,.fork,.handlebar,.seat,.crank { background:var(--ink); border-radius:8px; display:block; position:absolute; transform-origin:left center; }.frame { height:8px; }.frame-a { left:105px; top:196px; transform:rotate(-51deg); width:119px; }.frame-b { left:105px; top:196px; transform:rotate(1deg); width:136px; }.frame-c { left:181px; top:103px; transform:rotate(54deg); width:115px; }.fork { height:7px; left:296px; top:184px; transform:rotate(67deg); width:159px; }.handlebar { height:7px; left:286px; top:95px; transform:rotate(-7deg); width:65px; }.handlebar:after { background:var(--ink); border-radius:8px; content:""; height:35px; position:absolute; right:0; top:0; width:7px; }.seat { height:8px; left:144px; top:93px; transform:rotate(-7deg); width:55px; }.seat:after { background:var(--ink); content:""; height:85px; position:absolute; left:23px; top:6px; width:7px; }.crank { border:5px solid var(--ink); background:transparent; border-radius:50%; height:30px; left:223px; top:180px; width:30px; }.art-tag { background:var(--cream); bottom:39px; font:500 10px/1.3 'DM Mono'; padding:11px 16px 11px 12px; position:absolute; right:25px; z-index:1; }.art-tag span { background:var(--lime); border-radius:50%; display:inline-block; font:bold 11px/17px Arial; height:17px; margin-right:6px; text-align:center; width:17px; }.hero-sticker { align-items:center; background:var(--ink); border-radius:50%; bottom:38px; color:#fff; display:flex; flex-direction:column; font:700 12px/.95 'Space Grotesk'; height:100px; justify-content:center; letter-spacing:-.06em; position:absolute; right:46%; text-align:center; transform:rotate(-14deg); width:100px; z-index:2; }.hero-sticker span { color:var(--lime); font-size:22px; margin-top:4px; }
.intro-band { align-items:center; background:var(--ink); color:#eef0ea; display:flex; font:500 15px/1.25 'Space Grotesk'; justify-content:center; letter-spacing:-.045em; min-height:92px; padding:20px 30px; text-align:center; }.intro-band p { margin:0; max-width:660px; }.spark { color:var(--lime); font-size:25px; margin-left:28px; }
.section { padding:115px max(28px, calc((100vw - 1224px)/2)); }.section-heading { display:grid; grid-template-columns:1.15fr 1fr; margin-bottom:50px; }.section-heading .eyebrow { grid-column:1/-1; }.section h2 { font-size:clamp(38px,4vw,57px); line-height:.96; margin-bottom:0; }.section-heading > p:last-child { align-self:end; color:#5e6a62; font-size:14px; line-height:1.7; margin:0 0 2px 64px; max-width:340px; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.service-card { background:#e5e9e2; display:flex; flex-direction:column; min-height:455px; padding:28px; position:relative; }.service-card.featured { background:var(--lime); }.service-card.dark-card { background:var(--ink); color:#f8f8f2; }.card-number { color:#7b867f; font:500 11px 'DM Mono'; }.dark-card .card-number { color:#a7b2aa; }.popular { background:var(--ink); color:var(--lime); font:500 9px 'DM Mono'; padding:7px 10px; position:absolute; right:0; top:0; }.service-icon { align-items:center; background:var(--cream); border-radius:50%; display:flex; font:500 38px/1 'Space Grotesk'; height:57px; justify-content:center; margin:39px 0 24px; width:57px; }.tune-icon { font-size:45px; transform:rotate(-42deg); }.restore-icon { background:var(--lime); color:var(--ink); }.service-kicker { color:#7f8b83; font:500 10px 'DM Mono'; letter-spacing:.06em; margin-bottom:9px; text-transform:uppercase; }.dark-card .service-kicker { color:#b2bcb5; }.service-card h3 { font-size:32px; line-height:.95; margin-bottom:17px; }.service-card > p:not(.service-kicker) { color:#59665e; font-size:12px; line-height:1.55; margin-bottom:18px; max-width:270px; }.dark-card > p:not(.service-kicker) { color:#d2d8d2; }.service-card ul { border-top:1px solid var(--line); font-size:11px; line-height:1.6; list-style:none; margin:0; padding:12px 0 0; }.service-card li { padding-left:15px; position:relative; }.service-card li:before { content:'✓'; left:0; position:absolute; }.dark-card ul { border-color:rgba(255,255,255,.18); }.card-footer { align-items:center; display:flex; justify-content:space-between; margin-top:auto; padding-top:18px; }.card-footer strong { font:700 12px 'Space Grotesk'; letter-spacing:-.04em; }.round-button { align-items:center; background:var(--ink); border:0; border-radius:50%; color:#fff; display:flex; font-size:21px; height:43px; justify-content:center; transition:transform .2s; width:43px; }.round-button:hover { transform:rotate(45deg); }.dark-card .round-button { background:var(--lime); color:var(--ink); }
.process { background:var(--ink); color:white; }.process-title { display:flex; justify-content:space-between; }.process h2 { color:#fff; }.process h2 em { color:var(--lime); }.process-steps { border-top:1px solid rgba(255,255,255,.25); display:grid; grid-template-columns:repeat(3,1fr); margin:65px 0 45px; }.process-steps article { border-right:1px solid rgba(255,255,255,.25); padding:24px 55px 10px 0; }.process-steps article:not(:first-child) { padding-left:28px; }.process-steps article:last-child { border-right:0; }.process-steps span { color:var(--lime); font:500 11px 'DM Mono'; }.process-steps h3 { font-size:25px; margin:32px 0 13px; }.process-steps p { color:#c1c9c2; font-size:13px; line-height:1.65; margin:0; max-width:240px; }
.about { display:grid; gap:10%; grid-template-columns:1fr 1fr; padding-bottom:125px; padding-top:125px; }.about-visual { background:#b9d893; min-height:430px; overflow:hidden; padding:31px; position:relative; }.about-visual p { font:700 27px/.92 'Space Grotesk'; letter-spacing:-.08em; position:relative; z-index:2; }.wheel-outline { border:7px solid var(--ink); border-radius:50%; bottom:-72px; height:340px; position:absolute; right:-70px; width:340px; }.wheel-outline:before,.wheel-outline:after { background:var(--ink); content:""; height:5px; left:32px; position:absolute; top:165px; transform-origin:center; width:270px; }.wheel-outline:before { transform:rotate(39deg); }.wheel-outline:after { transform:rotate(-39deg); }.checker { background:repeating-conic-gradient(var(--ink) 0 25%,transparent 0 50%) 50%/20px 20px; bottom:31px; height:57px; left:31px; position:absolute; width:57px; }.about-copy { align-self:center; }.about-copy h2 { margin-bottom:24px; }.about-copy > p:not(.eyebrow) { color:#5c675f; font-size:14px; line-height:1.75; max-width:400px; }.about-copy .text-link { margin-top:9px; }.cta { align-items:end; background:#e88160; color:var(--ink); display:flex; justify-content:space-between; min-height:313px; }.cta h2 { font-size:clamp(38px,4.2vw,61px); margin:0; }.cta .eyebrow { color:#65493c; }.cta .eyebrow span { background:var(--ink); }.cta .button { margin-bottom:11px; }
footer { align-items:center; background:#dfe4db; display:flex; justify-content:space-between; padding:37px max(28px, calc((100vw - 1224px)/2)); }.footer-links { display:flex; gap:26px; }.footer-links a { font-size:11px; }.footer-links a:last-child { text-decoration:underline; }.logo-footer { font-size:19px; }.logo-footer .logo-mark { transform:scale(.85); transform-origin:left center; }.logo-footer .logo-mark { margin-right:2px; }footer p { color:#657168; font:500 9px/1.6 'DM Mono'; margin:0; text-align:right; }
.booking-modal { border:0; box-shadow:0 24px 80px rgba(23,36,31,.3); max-width:840px; padding:0; width:calc(100% - 32px); }.booking-modal::backdrop { background:rgba(23,36,31,.7); backdrop-filter:blur(4px); }.booking-modal[open] { animation:pop .28s ease-out; }.modal-close { background:transparent; border:0; color:#fff; font-size:30px; line-height:1; position:absolute; right:15px; top:13px; z-index:2; }.booking-aside { background:var(--ink); color:#fff; display:flex; flex-direction:column; min-height:575px; padding:54px 41px; position:relative; width:39%; }.booking-aside h2 { font-size:42px; line-height:.94; margin:7px 0 22px; }.booking-aside > p:not(.eyebrow) { color:#bdc7be; font-size:12px; line-height:1.65; max-width:220px; }.aside-bubble { align-items:center; background:var(--lime); border-radius:50%; bottom:34px; color:var(--ink); display:flex; flex-direction:column; font:700 12px/.95 'Space Grotesk'; height:106px; justify-content:center; letter-spacing:-.06em; position:absolute; right:35px; text-align:center; transform:rotate(10deg); width:106px; }.aside-bubble b { font-size:21px; margin-top:5px; }.booking-form { background:var(--cream); min-height:575px; padding:53px 43px; position:absolute; right:0; top:0; width:61%; }.form-heading > p { color:#818c84; font:500 10px 'DM Mono'; letter-spacing:.05em; margin:0 0 11px; }.form-heading > p span { color:#7c9a10; }.form-heading h2 { font-size:35px; margin-bottom:29px; }.form-step { display:none; }.form-step.active { display:block; }.plan-options { border-top:1px solid var(--line); margin-bottom:25px; }.plan-options label { align-items:center; border-bottom:1px solid var(--line); cursor:pointer; display:flex; padding:15px 4px; }.plan-options input { accent-color:var(--ink); margin:0 14px 0 0; }.plan-options span { display:flex; flex-direction:column; gap:3px; }.plan-options b { font-size:13px; }.plan-options small { color:#78837b; font:11px 'DM Mono'; }.plan-options i { font-size:19px; font-style:normal; margin-left:auto; opacity:.2; }.plan-options label:has(input:checked) i { opacity:1; }.booking-form label { color:#59645c; display:flex; flex-direction:column; font-size:10px; font-weight:800; gap:6px; letter-spacing:.02em; margin-bottom:14px; text-transform:uppercase; }.booking-form input,.booking-form select,.booking-form textarea { background:white; border:1px solid #d7dcd4; border-radius:0; color:var(--ink); font-size:12px; font-weight:500; outline-color:#91ac21; padding:11px 10px; resize:vertical; text-transform:none; }.form-row { display:grid; gap:13px; grid-template-columns:1fr 1fr; }.booking-form .button { margin-top:7px; width:100%; }.form-success { align-items:center; display:none; flex-direction:column; justify-content:center; min-height:340px; text-align:center; }.form-success.show { display:flex; }.form-success > span { align-items:center; background:var(--lime); border-radius:50%; display:flex; font-size:25px; height:61px; justify-content:center; margin-bottom:20px; width:61px; }.form-success h2 { font-size:33px; margin-bottom:9px; }.form-success p { color:#657168; font-size:13px; line-height:1.6; max-width:280px; }.form-success .text-link { margin-top:14px; }
@keyframes pop { from { opacity:0; transform:translateY(15px) scale(.98) } to { opacity:1; transform:translateY(0) scale(1) } }
@media (max-width:760px) { .site-header { height:70px; padding:0 18px; } nav { display:none; }.button-small { font-size:11px; gap:8px; padding:11px 12px; }.hero { display:flex; flex-direction:column; padding:12px 18px 30px; }.hero-copy { padding:37px 5px 43px; }.hero-art { margin:0; min-height:388px; }.sun { height:220px; width:220px; }.bike { transform:translateX(-50%) scale(.77); transform-origin:top center; }.hero-sticker { bottom:19px; right:39%; }.intro-band { font-size:12px; min-height:82px; }.spark { margin-left:12px; }.section { padding:76px 18px; }.section-heading { display:block; }.section-heading > p:last-child { margin:22px 0 0; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:390px; }.process-title { display:block; }.process-steps { display:block; margin:42px 0 30px; }.process-steps article,.process-steps article:not(:first-child) { border-bottom:1px solid rgba(255,255,255,.25); border-right:0; padding:20px 0; }.process-steps article:last-child { border-bottom:0; }.process-steps h3 { margin:14px 0 8px; }.about { display:flex; flex-direction:column; gap:53px; }.about-visual { min-height:330px; }.cta { align-items:flex-start; flex-direction:column; gap:31px; min-height:0; }.cta .button { margin:0; }.footer-links { display:none; } footer { padding:28px 18px; }.booking-modal { max-width:480px; }.booking-aside { display:none; }.booking-form { min-height:0; padding:42px 24px 30px; position:relative; width:100%; }.modal-close { color:var(--ink); }.form-heading h2 { font-size:31px; }.hero-proof { margin-top:44px; } }
@media (max-width:390px) { .hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }.hero-art { min-height:350px; }.bike { transform:translateX(-50%) scale(.68); }.art-tag { bottom:19px; right:15px; }.form-row { display:block; }.logo { font-size:20px; } }

/* Washers3R — identité noir marbre et doré */
:root { --ink:#121210; --lime:#d4a653; --cream:#f4f0e8; --peach:#d4a653; --muted:#736a5d; --line:rgba(18,18,16,.18); }
.announcement { background:var(--ink); color:var(--lime); }
.logo em { color:#ae8132; }
nav a:hover,.footer-links a:hover { color:#ae8132; }
h1 em,h2 em { color:#a97927; }
.eyebrow span { background:#b5842e; }
.hero-text { color:#61594e; }
.hero-art { background:#090908 url('assets/w3r-logo-marble.jpg') center/cover; }
.hero-art:after { background:linear-gradient(125deg,rgba(0,0,0,.23),rgba(0,0,0,.04)); opacity:1; }
.sun { display:none; }
.art-label { color:#e5c06f; }
.art-label.bottom strong { color:#fff; }
.bike { background:url('assets/w3r-logo-marble.jpg') center/cover; box-shadow:0 12px 30px rgba(0,0,0,.55); height:210px; top:141px; width:210px; }
.bike span { display:none; }
.art-tag { background:#ede6da; color:var(--ink); }
.hero-sticker { background:var(--lime); color:var(--ink); }
.hero-sticker span { color:var(--ink); }
.intro-band { background:var(--lime); color:var(--ink); }
.spark { color:var(--ink); }
.section-heading > p:last-child,.about-copy > p:not(.eyebrow) { color:#5f574c; }
.service-card { background:#e7dfd2; }
.service-card.dark-card { background:#151512 url('assets/w3r-logo-marble.jpg') center/cover; }
.card-number { color:#837766; }
.dark-card .card-number,.dark-card .service-kicker { color:#e3ba68; }
.service-kicker { color:#837766; }
.service-card > p:not(.service-kicker) { color:#5c554b; }
.dark-card > p:not(.service-kicker) { color:#f0e5d4; }
.dark-card ul { border-color:rgba(222,186,116,.5); }
.service-grid { grid-template-columns:repeat(6,1fr); }
.service-card { grid-column:span 2; }
.service-card:nth-child(4) { grid-column:2 / span 2; }
.service-card:nth-child(5) { grid-column:4 / span 2; }
.tax-note { color:#766d60; font:500 10px 'DM Mono',monospace; letter-spacing:.04em; margin:21px 0 0; text-transform:uppercase; }
.process { background:#121210 url('assets/w3r-logo-marble.jpg') center/cover; background-blend-mode:soft-light; }
.process h2 em { color:var(--lime); }
.about-visual { background:#111 url('assets/washers3r-card.jpg') center/cover; box-shadow:inset 0 0 0 1px rgba(214,171,87,.6); }
.about-visual:after { background:linear-gradient(90deg,rgba(0,0,0,.68),transparent); content:""; inset:0; position:absolute; }
.about-visual p { color:#e5bc69; }
.wheel-outline,.checker { display:none; }
.cta { background:var(--lime); }
.cta .eyebrow { color:#5e4828; }
.cta .eyebrow span { background:var(--ink); }
footer { background:#e5ded1; }
.booking-aside { background:#11110f url('assets/w3r-logo-marble.jpg') center/cover; background-blend-mode:soft-light; }
.booking-aside h2 { color:#f6f0e6; }
.aside-bubble { background:var(--lime); }
.booking-form { background:var(--cream); }
.plan-options label:has(input:checked) { background:#e8dec9; }
@media (max-width:760px) { .bike { transform:translateX(-50%) scale(.77); transform-origin:top center; }.about-visual { min-height:330px; }.service-grid { grid-template-columns:1fr; }.service-card,.service-card:nth-child(4),.service-card:nth-child(5) { grid-column:auto; } }
@media (max-width:390px) { .bike { transform:translateX(-50%) scale(.68); } }

/* Interactions ajoutées : animations au défilement, statistiques, témoignages, créneaux */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view { opacity:1; transform:translateY(0); }
.service-grid .service-card.reveal:nth-child(1) { transition-delay:.05s; }
.service-grid .service-card.reveal:nth-child(2) { transition-delay:.12s; }
.service-grid .service-card.reveal:nth-child(3) { transition-delay:.19s; }
.service-grid .service-card.reveal:nth-child(4) { transition-delay:.26s; }
.service-grid .service-card.reveal:nth-child(5) { transition-delay:.33s; }
.process-steps article.reveal:nth-child(1) { transition-delay:.05s; }
.process-steps article.reveal:nth-child(2) { transition-delay:.15s; }
.process-steps article.reveal:nth-child(3) { transition-delay:.25s; }

.service-card { transition:transform .3s ease, box-shadow .3s ease; }
.service-card:hover { box-shadow:0 20px 44px rgba(18,18,16,.16); transform:translateY(-7px); }
.round-button { transition:transform .25s ease, background .25s ease; }

.stats { align-items:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; gap:20px; grid-template-columns:repeat(2,1fr); max-width:520px; margin:0 auto; padding:52px max(28px, calc((100vw - 1224px)/2)); text-align:center; }
.stat-number { display:block; font:700 clamp(38px,5vw,58px) 'Space Grotesk',sans-serif; letter-spacing:-.04em; color:var(--ink); }
.stat-number::after { content:attr(data-suffix); }
.stat p { color:var(--muted); font:500 11px 'DM Mono',monospace; letter-spacing:.06em; margin:6px 0 0; text-transform:uppercase; }

.testimonials { background:transparent; }
.highlights { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 44px; }
.highlight { align-items:center; background:var(--cream); border:1px solid var(--line); color:var(--ink); display:inline-flex; font:600 12px 'DM Mono',monospace; gap:9px; letter-spacing:.02em; padding:11px 17px; }
.highlight span { align-items:center; background:var(--lime); border-radius:50%; color:var(--ink); display:inline-flex; flex-shrink:0; font:bold 10px/1 Arial; height:17px; justify-content:center; width:17px; }
.testimonial-carousel { overflow:hidden; position:relative; }
.testimonial-track { display:flex; transition:transform .5s ease; }
.testimonial-card { background:var(--cream); border:1px solid var(--line); flex:0 0 100%; padding:44px max(10%,32px); text-align:center; }
.testimonial-card .stars { color:var(--lime); font-size:16px; letter-spacing:3px; margin-bottom:18px; }
.testimonial-card .quote { color:var(--ink); font:500 20px/1.5 'Space Grotesk',sans-serif; letter-spacing:-.02em; margin:0 auto 20px; max-width:620px; }
.testimonial-card .author { color:var(--muted); font:500 11px 'DM Mono',monospace; letter-spacing:.05em; text-transform:uppercase; }
.carousel-controls { align-items:center; display:flex; gap:18px; justify-content:center; margin-top:28px; }
.carousel-btn { align-items:center; background:transparent; border:1px solid var(--line); border-radius:50%; color:var(--ink); display:flex; font-size:16px; height:38px; justify-content:center; transition:background .2s, transform .2s; width:38px; }
.carousel-btn:hover { background:var(--ink); color:var(--lime); transform:scale(1.06); }
.carousel-dots { display:flex; gap:8px; }
.carousel-dots button { background:var(--line); border:0; border-radius:50%; cursor:pointer; height:7px; padding:0; transition:background .2s, width .2s; width:7px; }
.carousel-dots button.active { background:var(--ink); width:20px; border-radius:4px; }

.gallery-carousel { position:relative; }
.gallery-track { aspect-ratio:16/10; border-radius:2px; overflow:hidden; position:relative; width:100%; }
.gallery-slide { inset:0; opacity:0; position:absolute; transition:opacity .5s ease; }
.gallery-slide.active { opacity:1; z-index:1; }
.gallery-slide img { display:block; height:100%; object-fit:cover; width:100%; }
.gallery-carousel .carousel-btn { background:var(--cream); position:absolute; top:50%; transform:translateY(-50%); z-index:2; }
.gallery-carousel .carousel-btn:hover { transform:translateY(-50%) scale(1.06); }
.gallery-carousel #galleryPrev { left:14px; }
.gallery-carousel #galleryNext { right:14px; }
.gallery-carousel .carousel-dots { justify-content:center; margin-top:20px; }

.time-select { display:flex; flex-direction:column; gap:6px; }
.time-select-label { color:#59645c; font-size:10px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; }
.time-options { display:flex; flex-wrap:wrap; gap:8px; }
.time-pill { background:#fff; border:1px solid #d7dcd4; color:var(--ink); font-size:11px; font-weight:700; padding:10px 14px; transition:background .2s, color .2s, border-color .2s; }
.time-pill.active,.time-pill:hover { background:var(--ink); border-color:var(--ink); color:var(--lime); }

@media (max-width:760px) { .stats { grid-template-columns:1fr; gap:26px; padding:40px 18px; } .testimonial-card { padding:36px 20px; } .testimonial-card .quote { font-size:17px; } }
