/*
Theme Name: AOU Clean
Theme URI: https://aouclean.fr
Author: AOU Clean
Description: Thème sur mesure pour le site AOU Clean.
Version: 1.0.0
Text Domain: aou-clean
*/

:root { --ink:#142844; --blue:#2067f5; --aqua:#dff7f3; --cream:#f8f7f2; --accent:#ff7d66; --line:rgba(20,40,68,.14); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; font-size:16px; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:"Manrope",sans-serif; letter-spacing:-.055em; } h1 { font-size:clamp(3.3rem,6.2vw,6.4rem); line-height:.98; font-weight:800; } h2 { font-size:clamp(2.55rem,4.4vw,4.75rem); line-height:1.01; margin-bottom:22px; font-weight:800; } h1 i,h2 i { font-weight:500; color:var(--blue); } a { color:inherit; text-decoration:none; } .site-header { height:86px; width:min(1400px,100%); margin:auto; padding:0 clamp(22px,4vw,64px); display:flex; align-items:center; justify-content:space-between; position:relative; z-index:5; } .brand { display:flex; align-items:center; gap:9px; font-family:"Manrope",sans-serif; font-size:24px; letter-spacing:-.08em; font-weight:800; white-space:nowrap; } .brand img { width:52px; height:52px; object-fit:cover; object-position:center; border-radius:50%; box-shadow:0 3px 10px rgba(20,40,68,.12); } .brand em { font-style:normal; color:var(--blue); font-weight:500; } .main-nav { display:flex; align-items:center; gap:34px; font-size:14px; font-weight:600; } .main-nav a:not(.nav-cta) { opacity:.78; transition:opacity .2s; } .main-nav a:hover { opacity:1; } .nav-cta { padding:13px 19px; background:var(--ink); color:white; border-radius:99px; } .nav-toggle { display:none; }
.hero { position:relative; min-height:660px; overflow:hidden; padding:85px clamp(22px,10vw,160px) 95px; background:linear-gradient(121deg,#dff6ef 0%,#e4f6f4 45%,#d4edfc 100%); display:flex; align-items:center; isolation:isolate; } .hero-copy { position:relative; z-index:3; max-width:590px; } .eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:700; margin-bottom:20px; display:flex; align-items:center; gap:9px; } .eyebrow span { width:22px; height:1px; background:currentColor; display:inline-block; } .hero-text { max-width:465px; margin:29px 0 31px; font-size:18px; line-height:1.65; opacity:.8; } .hero-actions { display:flex; align-items:center; gap:30px; } .button { font:700 14px "DM Sans",sans-serif; cursor:pointer; border:0; border-radius:99px; padding:16px 22px; display:inline-flex; align-items:center; gap:18px; transition:transform .2s,box-shadow .2s; } .button:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(25,75,160,.18); } .button-primary { background:var(--blue); color:white; } .button span { font-size:19px; line-height:10px; } .text-link { font-weight:700; font-size:14px; border-bottom:1px solid var(--ink); padding-bottom:4px; } .text-link span { padding-left:5px; font-size:17px; } .trust-row { display:flex; align-items:center; gap:13px; margin-top:70px; } .trust-row p { margin:0; font-size:12px; line-height:1.5; } .trust-row strong { font-size:13px; } .trust-avatars { display:flex; } .trust-avatars span { width:29px; height:29px; display:grid; place-items:center; border:2px solid #dff6ef; margin-right:-8px; color:#fff; font-size:12px; border-radius:50%; background:var(--blue); } .trust-avatars span:nth-child(2){background:#ef8e75}.trust-avatars span:nth-child(3){background:#173b79}
.hero-visual { position:absolute; z-index:1; width:52%; height:100%; right:0; top:0; overflow:hidden; background:linear-gradient(130deg,rgba(255,255,255,.1),rgba(255,255,255,.37)); clip-path:polygon(20% 0,100% 0,100% 100%,0 100%); } .sun-disc { position:absolute; width:350px; height:350px; right:15%; top:13%; border-radius:50%; background:rgba(255,255,232,.7); box-shadow:0 0 0 40px rgba(250,255,235,.15); } .building { position:absolute; bottom:0; transform:skewY(-6deg); display:grid; gap:8px; padding:11px; background:rgba(41,126,193,.33); } .building span { display:block; background:rgba(234,252,255,.72); } .building-back { width:46%; height:58%; right:14%; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(4,1fr); } .building-front { width:47%; height:74%; right:-3%; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(5,1fr); background:rgba(19,107,168,.5); } .cleaner { position:absolute; left:32%; bottom:15%; width:80px; height:215px; transform:rotate(-3deg); filter:drop-shadow(5px 8px 6px rgba(0,0,0,.1)); } .cleaner-head { width:25px;height:25px;border-radius:50%;background:#142844;left:27px;top:0;position:absolute; } .cleaner-body { width:37px;height:85px;background:#ff866d;position:absolute;left:22px;top:21px;border-radius:13px 13px 5px 5px; } .cleaner-body:after { content:"";position:absolute;width:13px;height:85px;background:#1d3d6d;top:75px;left:2px;border-radius:8px;transform:rotate(7deg);box-shadow:21px -5px 0 #1d3d6d; } .cleaner-arm { width:52px;height:11px;background:#142844;position:absolute;top:38px;left:53px;transform:rotate(-24deg);border-radius:8px; } .squeegee { width:6px;height:110px;background:#142844;position:absolute;top:-45px;left:102px;transform:rotate(17deg);border-radius:5px; } .squeegee:after { content:"";position:absolute;width:35px;height:7px;background:#142844;top:-1px;left:-15px;border-radius:4px; } .visual-label { position:absolute; bottom:42px; right:14%; margin:0; font-family:Manrope,sans-serif; font-size:17px; line-height:1.25; letter-spacing:-.04em; } .visual-label b { color:var(--blue); }
.intro-strip { padding:23px clamp(22px,8vw,120px); background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; font-family:Manrope,sans-serif; font-size:14px; } .intro-strip p { margin:0; opacity:.85; } .strip-icon { color:#83e7de; font-size:21px; }
.section { padding:clamp(82px,10vw,150px) clamp(22px,10vw,160px); } .section-heading { max-width:650px; } .section-heading>p:not(.eyebrow) { max-width:530px; line-height:1.65; opacity:.73; } .service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:55px; } .service-card { min-height:360px; border-radius:5px; padding:25px 27px; position:relative; display:flex; flex-direction:column; overflow:hidden; } .service-number { font-size:11px; font-weight:700; opacity:.53; } .service-card h3 { font-size:26px; line-height:1.1; margin:25px 0 12px; } .service-card p { max-width:290px; font-size:14px; line-height:1.55; margin:0; opacity:.76; } .service-card a { margin-top:auto; font-size:13px; font-weight:700; position:relative; z-index:1; } .service-card a span { padding-left:8px; font-size:17px; } .card-vitre { background:#d5f3ee; } .card-facade { background:#fff0d2; } .card-solar { background:#dce9fc; } .service-icon { position:absolute; opacity:.82; } .icon-window { width:170px; height:170px; right:-12px; bottom:-18px; border:7px solid var(--blue); transform:rotate(8deg); display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); gap:7px; padding:7px; } .icon-window i { background:#efffff; } .icon-facade { right:-10px;bottom:-20px;width:220px;height:180px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#f5aa45;padding:10px;transform:skewY(-9deg); } .icon-facade i { background:#ffe9be; } .icon-solar { right:-12px;bottom:-32px;width:215px;height:160px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:6px;padding:8px;background:#3279d6;transform:rotate(-13deg); } .icon-solar i { background:#bfe8fa; }
.promise { background:#fff; display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,10vw,150px);align-items:center; } .promise-art { height:420px;position:relative;overflow:hidden;border-radius:4px;background:#e3f7f3; } .promise-sun { width:260px;height:260px;border-radius:50%;background:#fffcc5;position:absolute;top:28px;right:26px; } .promise-pane { position:absolute;background:rgba(34,126,181,.28);border:5px solid rgba(255,255,255,.65);transform:skewY(-10deg); } .promise-pane.one { left:0;bottom:-22px;height:310px;width:50%;}.promise-pane.two { left:30%;bottom:-15px;height:385px;width:46%;background:rgba(15,99,171,.37)}.promise-pane.three { right:-7%;bottom:-10px;height:280px;width:33%;background:rgba(19,130,187,.45)}.promise-art span { position:absolute;left:20%;top:17%;font-size:40px;color:#fff; }.promise-copy>p:not(.eyebrow) { line-height:1.65;opacity:.75;max-width:440px; } .promise ul { list-style:none;padding:0;margin:30px 0 0; } .promise li { padding:14px 0;border-top:1px solid var(--line);font-size:14px;font-weight:600; }.promise li b { font-size:10px;color:var(--blue);display:inline-block;width:34px; }
.zone { display:grid;grid-template-columns:40% 60%; min-height:600px;background:#dff7f3; } .zone-copy { padding:clamp(80px,10vw,135px) clamp(22px,6vw,92px);}.zone-copy>p:not(.eyebrow) { line-height:1.65; opacity:.76;max-width:390px;}.place-list {display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 30px}.place-list span{border:1px solid rgba(20,40,68,.25);border-radius:99px;padding:8px 10px;font-size:12px;font-weight:600}.dark-link{width:max-content}.map-wrap{position:relative;min-height:400px;overflow:hidden}.map-wrap iframe{width:100%;height:100%;border:0;filter:saturate(.68) contrast(.96);}.map-pin{position:absolute;top:43%;left:51%;width:74px;height:74px;border-radius:50% 50% 50% 3px;background:var(--blue);color:white;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(18,79,189,.28)}.map-pin>*{transform:rotate(45deg)}.map-pin span{position:absolute;top:9px;right:13px;font-size:13px}.map-pin b{font-family:Manrope,sans-serif;font-size:13px;line-height:.9;text-align:center;letter-spacing:-.08em}
.faq { display:grid;grid-template-columns:38% 1fr;gap:9%; }.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;font:700 18px Manrope,sans-serif;letter-spacing:-.04em;display:flex;justify-content:space-between;gap:12px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{font:400 25px DM Sans,sans-serif;color:var(--blue);line-height:.65}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{margin:15px 40px 0 0;line-height:1.6;opacity:.72;font-size:14px;max-width:550px}
.quote { background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,9vw,150px);position:relative;overflow:hidden }.quote:after {content:"";width:450px;height:450px;border-radius:50%;border:100px solid rgba(255,255,255,.025);right:-230px;bottom:-250px;position:absolute}.light{color:#b9ede8}.quote-copy{position:relative;z-index:1}.quote-copy h2 i{color:#8ee6dc}.quote-copy>p:not(.eyebrow){line-height:1.65;max-width:410px;opacity:.72}.quote-sparkle{font-size:45px;color:#ff8069;margin-top:45px}.quote-form{position:relative;z-index:1;background:white;color:var(--ink);padding:32px;border-radius:5px;display:grid;gap:15px;box-shadow:0 20px 50px rgba(0,0,0,.13)}.quote-form label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.quote-form input,.quote-form textarea,.quote-form select{font:400 14px DM Sans,sans-serif;letter-spacing:0;color:var(--ink);width:100%;border:1px solid #dae0e6;background:#fbfcfd;border-radius:3px;padding:12px;outline:none}.quote-form textarea{resize:vertical}.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:var(--blue)}.quote-form .button{justify-content:center;margin-top:4px}.form-note{margin:0;text-align:center;font-size:11px;opacity:.56}.form-message{margin:0;text-align:center;font-size:12px;color:#14795f;min-height:15px}
footer { padding:46px clamp(22px,10vw,160px);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:30px;background:#fff}.footer-brand{font-size:22px}.footer-brand img{width:58px;height:58px}footer>p{font-size:12px;line-height:1.55;opacity:.66;margin:0}.socials{display:flex;gap:9px}.socials a{height:32px;width:32px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;font-size:13px;font-weight:700}.copyright{text-align:right}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,10vw,150px);background:#fff}.contact-copy>p:not(.eyebrow){max-width:390px;line-height:1.65;opacity:.72}.contact-links{display:grid;gap:10px;align-content:center}.contact-links>a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:4px;transition:transform .2s,border-color .2s}.contact-links>a:hover{transform:translateX(4px);border-color:var(--blue)}.contact-icon{height:48px;width:48px;background:var(--aqua);border-radius:50%;display:grid;place-items:center;font:700 20px Manrope,sans-serif;color:var(--blue)}.contact-links small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.11em;opacity:.58;margin-bottom:4px}.contact-links b{font:700 15px Manrope,sans-serif;letter-spacing:-.04em}.contact-links strong{font-size:19px;color:var(--blue)}.contact-socials{padding-top:16px;display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700}.contact-socials>span{opacity:.55;margin-right:3px}.contact-socials a{border-bottom:1px solid var(--ink);padding-bottom:2px}.file-upload>input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.file-upload>span{display:flex;justify-content:space-between;align-items:center;border:1px dashed #b7c3ce;background:#fbfcfd;border-radius:3px;padding:12px;text-transform:none;letter-spacing:0;font:600 13px "DM Sans",sans-serif;cursor:pointer}.file-upload>span b{font-size:20px;font-weight:400;color:var(--blue)}.file-status{margin:-8px 0 0;font-size:11px;opacity:.57}.hidden-field{display:none}.thanks-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(125deg,#dff6ef,#d7ebfb)}.thanks-card{width:min(560px,100%);padding:52px 40px;background:#fff;border-radius:8px;text-align:center;box-shadow:0 25px 70px rgba(20,40,68,.14)}.thanks-card img{width:92px;height:92px;object-fit:cover;border-radius:50%;margin-bottom:28px}.thanks-card .eyebrow{justify-content:center}.thanks-card>p:not(.eyebrow){max-width:380px;margin:0 auto 27px;line-height:1.65;opacity:.75}
.footer-legal{display:grid;gap:7px;font-size:11px;font-weight:700}.footer-legal a{opacity:.7;transition:opacity .2s}.footer-legal a:hover{opacity:1}.legal-page{background:#fff}.legal-top{width:min(1180px,100%);margin:auto;padding:22px clamp(22px,6vw,74px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.legal-content{width:min(880px,100%);margin:auto;padding:clamp(65px,9vw,120px) clamp(22px,6vw,70px)}.legal-content h1{margin-bottom:20px}.legal-intro{max-width:620px;font-size:18px;line-height:1.65;opacity:.72;margin-bottom:56px}.legal-content section{padding:26px 0;border-top:1px solid var(--line)}.legal-content section:last-child{border-bottom:1px solid var(--line)}.legal-content h2{font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.045em;margin-bottom:13px}.legal-content p,.legal-content li{font-size:15px;line-height:1.7}.legal-content p:last-child{margin-bottom:0}.legal-content a:not(.brand):not(.text-link){color:var(--blue);font-weight:700}.legal-content ul{margin:0;padding-left:21px}.legal-content strong{font-weight:700}@media (max-width:620px){.legal-top{padding-top:14px;padding-bottom:14px}.legal-top .brand img{width:43px;height:43px}.legal-top .text-link{font-size:12px}.legal-content{padding-top:62px}.legal-intro{font-size:16px;margin-bottom:40px}.legal-content section{padding:22px 0}.footer-legal{grid-column:1 / -1;grid-template-columns:repeat(2,max-content);gap:13px}}
.service-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.service-card:hover,.service-card:focus-visible{transform:translateY(-2px);box-shadow:0 9px 20px rgba(25,75,160,.18)}.service-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.service-card .service-link{margin-top:auto;font-size:13px;font-weight:700;position:relative;z-index:1}.service-card .service-link span{padding-left:8px;font-size:17px}
@media (max-width:850px){.main-nav{gap:16px}.hero{min-height:610px;padding-top:70px;padding-bottom:65px}.hero-visual{width:58%;opacity:.72}.promise{grid-template-columns:1fr;gap:45px}.promise-art{height:330px}.zone{grid-template-columns:1fr}.zone-copy{padding-bottom:55px}.map-wrap{height:420px}.faq{grid-template-columns:1fr;gap:35px}.quote{grid-template-columns:1fr;gap:42px}.quote-copy h2 br{display:none}}
@media (max-width:620px){.site-header{height:72px}.main-nav{position:absolute;right:16px;top:62px;background:#fff;box-shadow:0 12px 25px rgba(20,40,68,.12);border-radius:8px;padding:15px;display:none;flex-direction:column;align-items:flex-start;min-width:200px;gap:18px}.main-nav.open{display:flex}.nav-toggle{display:flex;border:0;background:transparent;flex-direction:column;gap:5px;padding:8px}.nav-toggle span{display:block;width:23px;height:2px;background:var(--ink)}.hero{min-height:650px;align-items:flex-start;padding-top:58px}.hero-visual{height:310px;width:100%;top:auto;bottom:0;clip-path:none;opacity:.75}.hero-copy{max-width:100%}.hero-text{font-size:16px;max-width:370px}.trust-row{margin-top:47px}.hero-actions{gap:18px;flex-wrap:wrap}.visual-label{bottom:17px;right:8%;font-size:13px}.cleaner{transform:scale(.7);bottom:3%;left:22%}.building-back{height:72%}.building-front{height:88%}.sun-disc{width:180px;height:180px;top:10%;right:19%}.intro-strip{justify-content:center;text-align:center}.intro-strip p:last-child{display:none}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.section{padding-top:76px;padding-bottom:76px}.faq-list summary{font-size:16px}footer{grid-template-columns:1fr 1fr}.copyright{text-align:left}.quote-form{padding:23px}.brand{font-size:21px}}
.window-shine{position:absolute;left:22%;top:20%;width:145px;height:145px;border:5px solid rgba(255,255,255,.86);background:rgba(86,190,230,.22);box-shadow:20px 22px 0 rgba(20,105,181,.14),inset 0 0 35px rgba(255,255,255,.3);transform:skewY(-6deg) rotate(-7deg)}.window-shine:before,.window-shine:after{content:"";position:absolute;background:rgba(255,255,255,.78)}.window-shine:before{width:5px;height:100%;left:48%}.window-shine:after{height:5px;width:100%;top:48%}.window-shine i{position:absolute;display:block;background:#fff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 8px rgba(255,255,255,.9))}.window-shine i:nth-child(1){width:27px;height:27px;top:-34px;right:-35px}.window-shine i:nth-child(2){width:17px;height:17px;bottom:-20px;left:-27px}.window-shine i:nth-child(3){width:10px;height:10px;top:22px;left:-29px}.socials svg{width:17px;height:17px;stroke:#fff;stroke-width:2;fill:none}.socials .dot{fill:#fff;stroke:none}.socials a:nth-child(2) svg{fill:#fff;stroke:none}
