/*
Theme Name: VEL’LAVE Nettoyage
Description: Site vitrine VEL’LAVE avec prestations modifiables et demandes de devis avec photos.
Version: 1.0.0
Text Domain: vellave
*/
:root{--ink:#102e48;--teal:#009ba2;--deep:#08627a;--mint:#e9f8f5;--lime:#a6da48;--muted:#576c7a;--line:#dae8e8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:2px}.preview{text-align:center;background:#f1f6f6;color:#587078;font-size:11px;padding:4px 15px;letter-spacing:.04em}.territory{text-align:center;background:var(--deep);color:#fff;font-size:12px;padding:7px}.territory span{margin:0 10px;color:var(--lime)}header{height:96px;background:#fffffff5;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1280px)/2));gap:25px;position:sticky;top:0;z-index:20;border-bottom:1px solid #edf3f2}.brand{width:110px;height:90px;overflow:hidden;position:relative;flex-shrink:0}.brand img{position:absolute;width:170px;height:97px;max-width:none;left:-30px;top:-2px;object-fit:fill}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-7px;height:2px;background:var(--lime);left:0;width:0;transition:width .25s}nav a:hover:after{width:100%}.button{border:0;background:var(--teal);color:white;display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:50px;padding:15px 25px;font-size:14px;font-weight:700;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);background:#007e87;box-shadow:0 8px 24px #008d9b25}.button span{font-size:20px}.menu{display:none}.hero{position:relative;min-height:650px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:linear-gradient(115deg,#f5fcfb,white)}.hero-copy{padding:80px 30px 70px max(10%,calc((100vw - 1280px)/2));position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:var(--deep);margin-bottom:22px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.3vw,78px);line-height:1.04;letter-spacing:-.055em;margin-bottom:28px}em{font-style:normal;color:var(--teal)}.hero p{font-size:18px;color:var(--muted);max-width:460px;line-height:1.65}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:32px 0}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #9fbdc3;padding-bottom:4px}.hero-notes{display:flex;gap:20px;font-size:11px;color:var(--muted);margin-top:50px}.hero-notes span:before{content:'✓';margin-right:7px;color:var(--teal)}.hero-photo{position:relative;overflow:hidden;border-radius:46% 0 0 0}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:65% center;animation:heroZoom 18s ease-in-out infinite alternate}.photo-tag{position:absolute;bottom:40px;left:35px;border:1px solid #ffffff70;border-radius:50px;padding:13px 22px;background:#ffffffdb;font-size:12px;backdrop-filter:blur(8px)}.photo-tag i{display:inline-block;width:8px;height:8px;background:var(--teal);border-radius:50%;margin-right:8px}.scroll{position:absolute;bottom:20px;left:48%;font-size:25px;animation:bob 2s ease-in-out infinite}.section{padding:95px max(5%,calc((100vw - 1180px)/2))}h2{font-size:clamp(34px,3.6vw,51px);line-height:1.12;letter-spacing:-.04em;font-weight:700;margin-bottom:25px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:35px}.section-top p{max-width:350px;color:var(--muted);font-size:15px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:transform .3s,box-shadow .3s;text-align:left;padding:0;color:inherit}.card:hover{transform:translateY(-7px);box-shadow:0 18px 35px #133e4b12}.service-photo{height:160px;background-image:url('assets/maquette.png');background-size:330% auto;transition:filter .3s}.card:hover .service-photo{filter:brightness(1.05)}.card-copy{padding:22px;position:relative;min-height:135px}.card h3{font-size:20px;letter-spacing:-.03em;margin:0 25px 8px 0}.card p{font-size:13px;color:var(--muted);line-height:1.55;margin:0;padding-right:15px}.card .arrow{position:absolute;right:18px;top:22px;background:#ddf5f0;border-radius:50%;height:30px;width:30px;display:grid;place-items:center;color:var(--deep)}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;background:#f4f9f8;align-items:center}.about p{color:var(--muted);font-size:15px}.about-art{background:var(--deep);aspect-ratio:1/1;border-radius:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;color:white}.big-number{font-size:105px;font-weight:700;letter-spacing:-.08em;position:relative;z-index:2}.big-number span{font-size:45px;color:var(--lime);margin:0 12px}.about-art p{color:white;font-size:25px;line-height:1.3;text-align:center;z-index:2}.ripple{position:absolute;border:1px solid #ffffff25;border-radius:50%;height:600px;width:600px;left:-130px;top:90px;animation:drift 14s ease-in-out infinite alternate}.r2{left:90px;top:-190px;animation-delay:-7s}.values{margin-top:30px}.values>div{border-top:1px solid #d4e3e2;padding:13px 0;font-size:14px}.values b{color:var(--teal);margin-right:18px;font-size:12px}.steps{text-align:center}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px;text-align:left}.steps article{border-top:2px solid var(--line);padding-top:22px}.steps article>span{color:var(--teal);font-size:13px}.steps h3{font-size:24px;margin:12px 0}.steps p{color:var(--muted);font-size:15px}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;background:var(--deep);color:white}.contact .eyebrow{color:#a6e0da}.contact h2{font-size:52px}.contact em{color:var(--lime)}.contact-copy>p{max-width:330px;color:#d3e7e9}.contact-copy>a{font-size:14px;border-bottom:1px solid #ffffff50;padding-bottom:7px;overflow-wrap:anywhere}.contact-note{margin-top:60px;border-left:2px solid var(--lime);padding-left:20px;font-size:13px;line-height:1.8;color:#d3e7e9;max-width:350px}form{padding:30px;background:white;border-radius:16px;color:var(--ink);box-shadow:0 20px 50px #003a4d20}label{font-size:12px;display:block;font-weight:600;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:1px solid #d3e1e5;border-radius:6px;padding:11px 12px;font-size:13px;color:var(--ink);background:#fcfefe;margin-top:6px;min-width:0}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.upload{border:1px dashed #a4c6cc;padding:17px;text-align:center;cursor:pointer;background:#f8fcfc;border-radius:8px;display:flex;flex-direction:column;gap:4px;transition:background .2s}.upload.drag{background:#dcf5ee}.upload-icon{font-size:22px;color:var(--teal)}.upload span,.upload small{font-weight:400;font-size:10px}.upload input{font-size:11px;border:0;padding:5px;background:none}.consent{display:flex;align-items:start;gap:9px;font-size:11px;font-weight:400}.consent input{width:15px;margin-top:3px}.demo-note{font-size:11px;line-height:1.5;color:#647b84}.submit{width:100%}#thumbnails{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}#thumbnails>div{position:relative}#thumbnails img{width:70px;height:60px;object-fit:cover;border-radius:5px}#thumbnails button{position:absolute;right:-5px;top:-5px;border:0;background:var(--ink);color:white;border-radius:50%;width:22px;height:22px}#file-error{font-size:12px;color:#a33}#form-status{font-size:13px;margin-top:15px;background:#ecfaf6;border-radius:8px;padding:0}#form-status:not(:empty){padding:15px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-weight:600;font-size:15px}.faq details p{color:var(--muted);font-size:14px;margin:15px 0 0}footer{background:#eff6f5;padding:40px 5%;display:flex;align-items:center;flex-wrap:wrap;gap:35px;font-size:13px}.footer-brand{font-weight:800;font-size:22px;letter-spacing:-.04em}.footer-brand span{display:block;font-size:10px;letter-spacing:.3em}footer p{margin:0}footer>a{margin-left:auto}footer small{width:100%;color:var(--muted);font-size:10px;border-top:1px solid var(--line);padding-top:20px}.mobile-cta{display:none}dialog{border:0;border-radius:18px;max-width:550px;width:calc(100% - 32px);padding:45px;color:var(--ink);box-shadow:0 25px 90px #001a3370}dialog::backdrop{background:#102e4870;backdrop-filter:blur(5px)}dialog h2{font-size:35px}dialog p,dialog li{font-size:15px;color:var(--muted)}dialog ul{padding-left:20px;margin:20px 0 30px}.close{position:absolute;right:15px;top:10px;font-size:30px;border:0;background:transparent;color:var(--ink)}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.js .reveal.visible{opacity:1;transform:translateY(0)}@keyframes heroZoom{to{transform:scale(1.07)}}@keyframes bob{50%{transform:translateY(7px)}}@keyframes drift{to{transform:translate(30px,-30px) scale(1.08)}}@media(max-width:1000px){nav{gap:18px}.hero-copy{padding-left:8%}.actions{gap:15px}.header-cta{font-size:12px;padding:12px 17px}.about,.contact{gap:35px}.contact h2{font-size:43px}.section{padding:70px 5%}.hero{min-height:600px}.service-photo{height:130px}.card-copy{padding:17px}.card h3{font-size:17px}.big-number{font-size:80px}.faq{gap:30px}}@media(max-width:700px){html{scroll-padding-top:85px}header{height:78px;padding:0 5%;gap:10px}.brand{height:73px;width:90px}.brand img{width:140px;height:80px;left:-25px}.header-cta{margin-left:auto;font-size:11px;padding:10px 14px;gap:6px}.menu{display:block;order:3;border:0;background:transparent;font-size:24px;color:var(--ink)}nav{display:none;position:absolute;left:0;right:0;top:78px;background:white;padding:25px;box-shadow:0 15px 25px #143c4b15}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6% 35px}h1{font-size:54px}.hero p{font-size:16px}.eyebrow{font-size:10px}.hero-notes{margin-top:25px;font-size:10px}.hero-photo{height:340px;border-radius:60px 0 0 0;margin-left:6%}.photo-tag{bottom:25px;left:20px;font-size:11px}.scroll{display:none}.section{padding:60px 6%}.section-top{display:block;margin-bottom:25px}.section-top p{max-width:none}.grid{grid-template-columns:1fr 1fr;gap:13px}.service-photo{height:110px;background-size:330% auto}.card-copy{padding:14px;min-height:155px}.card h3{font-size:17px;margin-right:0;padding-right:0}.card p{font-size:11px;padding-right:0}.card .arrow{display:none}.about{grid-template-columns:1fr;gap:35px}.about-art{aspect-ratio:1.4/1}.about-art p{font-size:23px}.steps-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps-grid article{padding-top:15px}.steps h3{font-size:22px}.contact{grid-template-columns:1fr}.contact h2{font-size:43px}.contact-note{margin-top:30px;max-width:none}form{padding:22px 17px}.faq{grid-template-columns:1fr;gap:5px}.faq h2{font-size:36px}footer{padding:35px 6% 100px;gap:18px}footer>a{margin-left:0;width:100%}.mobile-cta{display:flex;position:fixed;bottom:16px;left:6%;right:6%;z-index:15;box-shadow:0 5px 30px #06425140}.mobile-cta.hidden{display:none}dialog{padding:35px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
.hero-photo>img{object-position:95% center}
/* Direction créative v2 */
:root{--lime:#c4ee62}.reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--lime);z-index:100}.hero{min-height:710px;display:block;background:#092d36;color:white;isolation:isolate}.hero-photo{position:absolute;inset:0;border-radius:0;z-index:-2}.hero-photo>img{object-position:center 55%;animation:heroZoom 24s ease-in-out infinite alternate}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,39,.96),rgba(4,31,39,.76) 38%,rgba(4,31,39,.05) 80%);z-index:-1}.hero-copy{padding:90px max(5%,calc((100vw - 1180px)/2)) 85px;max-width:100%;width:100%}.hero .eyebrow{color:#c4ee62;letter-spacing:.22em}.hero h1{font-size:clamp(65px,7.4vw,110px);line-height:.98;max-width:800px;letter-spacing:-.06em;margin-bottom:20px}.hero h1 em{color:var(--lime)}.hero p{color:#e2eceb;font-size:17px;max-width:460px}.hero-changing{font-size:23px;margin-bottom:25px;display:flex;gap:8px;align-items:center;color:#b8d0d1}.hero-changing>span:first-child{color:white;min-width:220px;transition:opacity .3s,transform .3s}.hero-changing .word-leaving{opacity:0;transform:translateY(7px)}.hero .button{background:var(--lime);color:#173c3e;padding:18px 30px}.hero .button:hover{background:white}.hero .text-link{color:white;border-color:#ffffff60}.hero-notes{color:#c4dad9;margin-top:32px}.hero-notes span:before{color:var(--lime)}.photo-tag{left:auto;right:6%;bottom:50px;color:var(--ink);background:#ffffffed;transform:rotate(-3deg)}.hero-seal{position:absolute;right:8%;top:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;width:135px;height:135px;background:var(--lime);border-radius:50%;color:#133b41;transform:rotate(12deg);box-shadow:0 10px 40px #0002}.hero-seal span{font-size:10px;font-weight:700;letter-spacing:.15em}.hero-seal b{font-size:56px;line-height:1.1;animation:sealSpin 30s linear infinite}.scroll{left:auto;right:50%;color:white}.ticker{position:relative;overflow:hidden;background:var(--lime);padding:18px 0;transform:rotate(-1deg);margin:-10px -2px 0;z-index:3;border-top:5px solid white;border-bottom:5px solid white}.ticker-track{display:flex;width:max-content;animation:marquee 32s linear infinite}.ticker-track span{font-size:21px;white-space:nowrap;letter-spacing:.08em;font-weight:800;color:#184849}.ticker-track b{padding:0 30px;font-size:29px;vertical-align:middle}.motion-toggle{position:absolute;right:14px;top:20px;width:34px;height:34px;border:1px solid #16434840;border-radius:50%;background:#efffcf;color:#164348}.paused *,.paused *:before,.paused *:after{animation-play-state:paused!important}.services{background:#f5f8f5}.service-filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 35px}.service-filters button{border:1px solid #cfddda;border-radius:40px;background:transparent;color:var(--ink);padding:11px 20px;font-size:12px;transition:.25s}.service-filters button.active,.service-filters button:hover{background:var(--ink);color:white;border-color:var(--ink)}.service-filters span{font-size:10px;margin-left:6px;opacity:.65}.grid{gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.card{position:relative;border:0;border-radius:16px;min-height:380px;background:#123842;isolation:isolate;overflow:hidden}.service-photo{height:auto;position:absolute;inset:0;background-image:url('assets/services-v2.png');background-size:300% 200%;z-index:-2;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#062d3210 15%,#062d3220 35%,#062d32eb 100%);z-index:-1;transition:background .3s}.card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #103b3925}.card:hover .service-photo{transform:scale(1.07);filter:none}.card-copy{height:380px;display:flex;flex-direction:column;justify-content:end;padding:26px;color:white}.card-number{position:absolute;top:25px;left:25px;font-size:12px;font-weight:700;background:#ffffffd9;color:#133b41;border-radius:30px;padding:5px 12px}.card h3{font-size:25px;margin:0 30px 10px 0;line-height:1.1;order:1}.card p{font-size:13px;color:#e4efec;order:2;max-width:250px}.card .arrow{top:auto;bottom:26px;right:22px;color:#133b41;background:var(--lime);height:38px;width:38px;transition:transform .3s}.card:hover .arrow{transform:rotate(45deg)}.card-discover{order:3;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:18px;color:var(--lime)}.card[hidden]{display:none}.about{background:#fff}.about-art{border-radius:45% 45% 10px 10px;background:#0c5e66;transform:rotate(-3deg)}.about-art .big-number{font-size:110px}.about-art .big-number span{color:var(--lime)}.values>div{transition:padding .3s,background .3s}.values>div:hover{padding-left:15px;background:#f2f8ec}.steps{background:#edf4e9;position:relative}.steps-grid article{background:#fff;border:0;border-radius:14px;padding:28px;position:relative}.steps-grid article>span{font-size:40px;letter-spacing:-.06em;color:#b6d3c1;font-weight:700}.contact{background:#073c45;position:relative;overflow:hidden}.contact:before{content:'✳';position:absolute;left:-60px;bottom:-220px;font-size:700px;color:#ffffff03;line-height:1;pointer-events:none;animation:sealSpin 80s linear infinite}.contact-copy,form{position:relative}.contact h2{font-size:58px}.contact .button{background:var(--lime);color:#163e40}.faq details[open]{background:#f2f8ed;padding:22px 18px;border-radius:10px}.hero-copy>*{animation:intro .9s both}.hero-copy h1{animation-delay:.1s}.hero-copy .hero-changing{animation-delay:.2s}.hero-copy p{animation-delay:.3s}.hero-copy .actions{animation-delay:.4s}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes sealSpin{to{rotate:360deg}}@keyframes intro{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}@media(max-width:1000px){.hero-seal{right:5%;width:105px;height:105px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-copy,.card{min-height:350px;height:350px}.hero-copy{padding-top:80px;padding-bottom:80px}.contact h2{font-size:46px}}@media(max-width:700px){.hero{min-height:740px}.hero-copy{padding:60px 6% 140px}.hero h1{font-size:clamp(55px,13vw,78px)}.hero:after{background:linear-gradient(90deg,#062832ed,#06283265),linear-gradient(0deg,#06283299,transparent)}.hero-photo{height:auto;margin:0;border-radius:0}.hero-photo>img{object-position:76% center}.hero .eyebrow{font-size:9px;letter-spacing:.13em}.hero-changing{font-size:20px}.hero p{font-size:15px;max-width:310px}.hero-seal{top:auto;bottom:25px;right:7%;width:95px;height:95px}.hero-seal b{font-size:36px}.hero-seal span{font-size:8px}.photo-tag{right:auto;left:6%;bottom:45px;padding:12px;font-size:10px;max-width:200px}.hero .actions{align-items:start;flex-direction:column}.hero-notes{flex-wrap:wrap;gap:8px 20px;max-width:280px}.ticker{padding:12px 0}.ticker-track span{font-size:16px}.ticker-track b{padding:0 20px;font-size:23px}.motion-toggle{top:11px}.service-filters{gap:7px;margin-bottom:25px}.service-filters button{font-size:10px;padding:9px 13px}.grid{grid-template-columns:1fr;gap:20px}.card,.card-copy{height:360px;min-height:360px}.card-copy{padding:25px}.card h3{font-size:28px}.card p{font-size:14px;max-width:85%}.card .arrow{display:grid}.service-photo{height:auto;background-size:300% 200%}.card-discover{font-size:10px}.about-art{margin:10px 15px 10px}.about-art .big-number{font-size:100px}.contact h2{font-size:46px}.steps-grid article{padding:25px}.section-top{margin-bottom:25px}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.hero-changing>span:first-child{transition:none}.hero-copy>*{animation:none}.motion-toggle{display:none}}

body{overflow-x:clip}.ticker{margin-left:0;margin-right:0}

/* Logo intégral, détouré, sans recadrage */
header{height:132px;padding-top:8px;padding-bottom:8px;gap:26px}
.brand{width:158px;height:158px;overflow:visible;align-self:flex-start;margin-top:-3px;display:flex;align-items:center;justify-content:center;isolation:isolate}
.brand:before{content:'';position:absolute;inset:7px;border-radius:50%;background:white;z-index:-1;box-shadow:0 8px 22px #073c4514}
.brand img{position:static;width:100%;height:100%;object-fit:contain;left:auto;top:auto;max-width:100%;filter:drop-shadow(0 3px 3px #073c4510)}
.footer-logo{display:block;width:120px;height:120px;margin:0;flex-shrink:0}.footer-logo img{display:block;width:100%;height:100%;object-fit:contain}footer>.footer-logo{margin-left:0}
html{scroll-padding-top:150px}
@media(max-width:1000px){header{gap:18px}.brand{width:145px;height:145px}nav{gap:15px}}
@media(max-width:700px){header{height:108px;padding:6px 5%;gap:10px}.brand{width:118px;height:118px;margin-top:0;flex-shrink:0}.brand img{width:100%;height:100%;left:auto;top:auto}.header-cta{font-size:10px;padding:10px 12px;gap:5px}nav{top:108px}.hero-copy{padding-top:50px}html{scroll-padding-top:125px}.footer-logo{width:110px;height:110px}footer>.footer-logo{width:110px}}

.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.legal-page{max-width:850px;margin:50px auto;padding:25px}.legal-page a{color:var(--teal)}
