:root{--bg:#020b12;--panel:#03141c;--mint:#4bf1cf;--mint2:#12c7bb;--text:#f5f8fa;--muted:#b9cbd0;--line:#12606a;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,'Segoe UI',Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:absolute;left:-9999px;top:0;background:var(--mint);color:#001;z-index:99}.skip:focus{left:8px}.container{width:min(calc(100% - 80px),var(--max));margin:auto}.header{position:sticky;top:0;z-index:50;background:rgba(1,11,17,.93);backdrop-filter:blur(18px);border-bottom:1px solid #0c3943}.header-inner{height:80px;max-width:1340px;padding:0 42px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-symbol{width:61px;height:53px;filter:drop-shadow(0 0 7px #00e6d455)}.brand-word{font-weight:750;font-size:21px;line-height:1.15;letter-spacing:.2em}.brand-word small{display:block;font-size:9px;letter-spacing:.48em;font-weight:650;margin-top:6px}.nav{display:flex;align-items:center;gap:clamp(15px,2.1vw,32px);font-size:13px}.nav>a:not(.nav-contact){transition:color .2s;white-space:nowrap}.nav>a:hover,.nav>a.active{color:var(--mint)}.nav>a.active{border-bottom:2px solid var(--mint);padding-bottom:6px}.nav-contact{display:flex;align-items:center;gap:9px;border:1px solid var(--mint);padding:10px 15px;border-radius:30px;white-space:nowrap;margin-left:12px}.nav-contact svg{width:18px;height:18px;fill:none;stroke:var(--mint);stroke-width:1.8}.nav-contact span{color:var(--mint)}.menu-button{display:none}.hero{position:relative;min-height:510px;overflow:hidden;background:radial-gradient(ellipse at 75% 40%,#07536366,transparent 43%),linear-gradient(115deg,#020b12,#031522 68%,#020b12)}.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#a9fff0 1px,transparent 1.5px);background-size:49px 49px;opacity:.18;mask-image:linear-gradient(90deg,transparent 20%,black 100%)}.hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#12c6c4,transparent)}.hero-inner{max-width:1340px;margin:auto;min-height:510px;padding:55px 6%;display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:5px}.hero-content{position:relative;z-index:3}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--mint);margin:0 0 13px}.eyebrow span{padding:0 5px}.hero h1{font-size:clamp(38px,4.65vw,66px);line-height:1.08;letter-spacing:-.046em;margin:0 0 23px;white-space:nowrap}.hero h1 em,.about h2 em,.contact h2 em{font-style:normal;color:var(--mint)}.hero-lead{max-width:480px;font-size:15px;line-height:1.75;margin:0;color:#dce6ea}.button-row{display:flex;gap:15px;flex-wrap:wrap;margin-top:29px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px;border-radius:30px;padding:11px 22px;font-size:13px;font-weight:750;transition:transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px)}.btn.primary{color:#001f1e;background:linear-gradient(105deg,#67f5d7,#36e7c8);box-shadow:0 0 24px #0bffcb16}.btn.primary:hover{box-shadow:0 6px 28px #00ffcb42}.btn.secondary{border:1px solid var(--mint);background:#03121ba8}.btn.secondary:hover{box-shadow:0 0 18px #1af2d32c}.hero-visual{position:relative;z-index:1;width:100%;height:410px;display:flex;justify-content:center;align-items:center;animation:float 8s ease-in-out infinite}.hero-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 28px #10f1d136);mask-image:radial-gradient(ellipse 65% 62% at 51% 50%,black 56%,transparent 100%)}.hero-halo{position:absolute;inset:10%;border-radius:50%;background:#12ffe5;opacity:.1;filter:blur(65px);z-index:-1}.hero-tagline{position:absolute;right:5%;bottom:31px;font-style:italic;font-size:16px;transform:rotate(-8deg);text-align:center;text-shadow:0 0 8px #001}.hero-tagline span{color:var(--mint)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}.section{padding:72px 0 82px}.section-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:36px;margin-bottom:29px}.section-intro h2,.about h2,.contact h2{font-size:clamp(29px,3vw,40px);letter-spacing:-.035em;line-height:1.17;margin:0}.section-intro>p{font-size:14px;color:#d0dce1;max-width:430px;margin:0 0 4px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{position:relative;min-height:172px;padding:20px 22px 24px;border:1px solid #075d70;border-radius:12px;background:linear-gradient(145deg,#041822,#020f16);transition:transform .3s,border-color .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);border-color:var(--mint);box-shadow:0 12px 35px #0007,0 0 18px #06cbbb1d}.service-icon{height:46px;width:46px;display:grid;place-items:center;border:1.5px solid var(--mint);border-radius:50%;margin-bottom:13px;color:var(--mint)}.service-icon svg{height:27px;width:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:16px;line-height:1.25;margin:0 24px 7px 0}.service-card p{font-size:12px;color:#bfd0d8;margin:0 12px 0 0;line-height:1.5}.service-card>a{position:absolute;right:17px;bottom:16px;color:var(--mint);font-size:20px}.about{display:grid;grid-template-columns:32% 68%;min-height:320px;background:radial-gradient(ellipse at 100% 50%,#073c4c,#03121a 55%);border-top:1px solid #07505c;border-bottom:1px solid #07505c}.about-photo{background:url('assets/atelier.webp') center/cover;min-height:320px}.about-main{padding:45px max(40px,calc((100vw - 1160px)/2)) 45px 45px}.about h2{font-size:clamp(28px,2.9vw,37px)}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px;margin-top:25px}.benefits>div{display:flex;gap:13px;align-items:flex-start}.benefit-icon{width:40px;height:40px;border:1px solid var(--mint);border-radius:50%;color:var(--mint);display:grid;place-items:center;flex:none;font-size:23px}.benefits h3{font-size:14px;margin:0 0 4px}.benefits p{font-size:12px;line-height:1.45;color:#c3d2d8;margin:0}.contact{padding:72px 0 78px;background:linear-gradient(120deg,#030e15,#061720 55%,#030e15);border-bottom:1px solid #0c515b}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact h2{font-size:clamp(36px,4vw,52px)}.contact-copy>p:not(.eyebrow){font-size:14px;max-width:465px;color:#d2dfe3;line-height:1.75}.contact-copy .btn{margin-top:13px}.contact-details{border-left:1px solid #17616a;padding-left:45px;display:grid;gap:25px}.contact-details>a,.contact-details>div{display:flex;align-items:center;gap:18px;font-size:16px;font-weight:550;overflow-wrap:anywhere}.contact-details a:hover{color:var(--mint)}.contact-icon{height:43px;width:43px;flex:none;border:1px solid var(--mint);color:var(--mint);border-radius:50%;display:grid;place-items:center;font-size:23px}.contact-details small{display:block;color:#8caab2;font-size:12px;margin-top:3px}.footer{position:relative;overflow:hidden;padding:24px 0 68px;background:#020a10}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .brand-symbol{width:46px}.footer .brand-word{font-size:16px}.footer .brand-word small{font-size:7px}.footer nav{display:flex;gap:25px;font-size:12px}.footer nav a:hover{color:var(--mint)}.footer-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #104b55;padding-top:18px;margin-top:23px;color:#9fb4bc;font-size:11px}.footer-horizon{position:absolute;bottom:-145px;left:-10%;width:120%;height:195px;border-radius:50% 50% 0 0;border-top:2px solid #4ff8ed;box-shadow:0 -12px 40px #04bcd449,0 -2px 13px #74fff2;background:radial-gradient(ellipse at 50% 0%,#0a4254,#020c16 55%);pointer-events:none}.reveal{opacity:0;transform:translateY(19px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1080px){.header-inner{padding:0 22px}.nav{gap:15px}.nav-contact{margin-left:0}.brand-word{font-size:17px}.hero-inner{padding-left:4%;padding-right:4%}.hero h1{font-size:clamp(35px,4.6vw,54px)}.hero-tagline{right:3%;font-size:13px}.about-main{padding:40px}}
@media(max-width:820px){.menu-button{display:flex;flex-direction:column;gap:5px;background:transparent;border:1px solid #20626a;border-radius:8px;padding:10px;cursor:pointer}.menu-button span{height:2px;width:23px;background:var(--mint)}.nav{display:none;position:absolute;top:79px;left:0;right:0;padding:25px 28px;background:#03131b;border-bottom:1px solid #16626c;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav-contact{justify-content:center}.hero-inner{grid-template-columns:1fr;min-height:680px;align-content:start;padding:55px 6% 25px}.hero h1{font-size:clamp(38px,6vw,54px)}.hero-visual{position:absolute;right:0;bottom:0;width:52%;height:330px;opacity:.7}.hero-tagline{display:none}.section-intro{grid-template-columns:1fr;gap:12px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about{grid-template-columns:1fr}.about-photo{min-height:250px}.contact-inner{gap:30px}.contact-details{padding-left:24px}.contact-details>a,.contact-details>div{font-size:13px}}
@media(max-width:580px){.container{width:min(calc(100% - 36px),var(--max))}.header-inner{height:70px}.nav{top:69px}.brand-symbol{width:46px}.brand-word{font-size:14px}.brand-word small{font-size:7px}.hero-inner{min-height:700px;padding:46px 20px 30px}.hero h1{white-space:normal;font-size:clamp(35px,9vw,47px)}.hero-lead{font-size:14px}.button-row{gap:10px}.btn{font-size:12px;padding:11px 16px}.hero-visual{width:100%;height:280px;bottom:0;right:-15%;opacity:.58}.hero-content{z-index:2}.section{padding:52px 0}.section-intro h2,.about h2{font-size:29px}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:145px}.about-photo{min-height:210px}.about-main{padding:36px 20px}.benefits{grid-template-columns:1fr;gap:18px}.contact{padding:52px 0}.contact-inner{grid-template-columns:1fr;gap:34px}.contact-details{border-left:0;border-top:1px solid #17616a;padding:25px 0 0}.contact-details>a,.contact-details>div{font-size:14px}.footer-top{align-items:flex-start;flex-direction:column}.footer nav{flex-wrap:wrap;gap:12px 18px}.footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-visual{animation:none}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{transition:none!important}}

/* V7 : assets rebuilt from the actual approved reference, no entire screenshot as a webpage. */
.hero{background:radial-gradient(ellipse at 76% 30%,#0b4155 0%,transparent 47%),linear-gradient(110deg,#020a11 15%,#031622 70%,#020c12)}
.hero-visual{height:445px;transform-origin:55% 60%}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:45%;mask-image:radial-gradient(ellipse 67% 68% at 52% 50%,#000 53%,transparent 97%);filter:drop-shadow(0 0 26px #25e9d559)}
.hero-tagline{bottom:32px;right:2%;z-index:4}
.about-photo{background-image:url('assets/atelier-reference.webp');background-position:center}
.footer-horizon{background:linear-gradient(180deg,transparent,#020a10aa),url('assets/horizon-reference.webp') center top/cover;border-top-color:#2ed9e8}
.contact{background:#020c13}
.service-card{scroll-margin-top:110px}
@media(min-width:1100px){.hero-inner{grid-template-columns:1.12fr .88fr}.hero-visual{margin-left:-15px}.hero h1{font-size:clamp(43px,4.35vw,61px)}}
@media(max-width:820px){.hero-visual{height:330px;opacity:.68}.hero-visual img{border-radius:45%}}
@media(max-width:580px){.hero-visual{width:90%;right:-12%;height:300px;bottom:5px}.hero h1{font-size:clamp(35px,9vw,46px)}}

/* V8 : nouvelle direction cosmique — fonds planétaires immersifs, sans captures de texte. */
body{background:#010911;background-image:radial-gradient(ellipse at 88% 22%,#073e5a33,transparent 45%)}
.hero{background:radial-gradient(ellipse at 74% 46%,#0b7a8a44,transparent 50%),radial-gradient(ellipse at 15% 0%,#12577733,transparent 55%),#010914!important}
.hero:before{background-image:radial-gradient(#bbfff5 1px,transparent 1.5px),radial-gradient(#45e9d9 1px,transparent 2px);background-size:61px 61px,113px 113px;opacity:.33;mask-image:none;animation:starDrift 65s linear infinite}
.hero:after{height:3px}
.hero-visual{height:440px!important;overflow:visible;animation:planetFloat 9s ease-in-out infinite!important}
.hero-visual img{width:min(100%,480px);height:100%;object-fit:contain;object-position:center;border-radius:0!important;mask-image:radial-gradient(ellipse 61% 62% at 50% 50%,#000 55%,transparent 99%)!important;filter:drop-shadow(0 0 45px #22cfe477)!important}
.hero-halo{background:#06d5d1;opacity:.17;filter:blur(85px)}
.services{position:relative;isolation:isolate;background:radial-gradient(ellipse at 100% 15%,#0c647b66,transparent 45%),radial-gradient(ellipse at 0% 100%,#06425244,transparent 55%),#020c15}
.services:before{content:'';position:absolute;z-index:-1;right:-100px;top:30px;width:min(45vw,490px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 30%,#16556a,#061c2d 55%,#010913 75%);box-shadow:inset 12px 8px 25px #5ef6eb33,0 0 35px #29d6ed55;opacity:.43;pointer-events:none}
.service-card{background:linear-gradient(135deg,#031723ed,#02101bea);backdrop-filter:blur(8px)}
.about{background:radial-gradient(ellipse at 92% 30%,#0c536e77,transparent 52%),#020b15}
.about-main{position:relative;isolation:isolate}
.about-main:after{content:'';position:absolute;z-index:-1;right:3%;top:6%;width:180px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#18596d,#051728 65%,#010913 80%);box-shadow:0 0 20px #1bd5d966;opacity:.43}
.contact{background:radial-gradient(ellipse at 92% 30%,#0a4e6244,transparent 45%),#020a11!important}
.footer{background:linear-gradient(#020a11,#031420)}
@keyframes planetFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
@keyframes starDrift{from{background-position:0 0,0 0}to{background-position:61px 61px,-113px 113px}}
@media(max-width:820px){.hero-visual{height:330px!important}}
@media(max-width:580px){.hero-visual{height:280px!important}.services:before{width:300px;right:-150px;opacity:.24}}
@media(prefers-reduced-motion:reduce){.hero-visual,.hero:before{animation:none!important}}

/* V9: panoramic space background covers the ENTIRE hero, no floating rectangle. */
.hero{background:#020b12 url("assets/fond-spatial-panoramique.webp") center center / cover no-repeat !important;min-height:600px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,9,15,.46) 0%,rgba(1,9,15,.22) 42%,transparent 80%) !important;opacity:1!important;animation:none!important;mask-image:none!important;pointer-events:none}
.hero-inner{min-height:600px;display:flex;align-items:center;padding-top:75px;padding-bottom:75px}
.hero-content{width:min(60%,700px);position:relative;z-index:2}
.hero h1{white-space:normal;font-size:clamp(42px,4.3vw,68px);text-wrap:balance;text-shadow:0 3px 20px #00121b}
.hero-lead{max-width:485px;text-shadow:0 2px 12px #001018}
.hero-visual,.hero-halo,.hero-tagline{display:none!important}
@media(max-width:820px){.hero,.hero-inner{min-height:650px}.hero{background-position:62% center!important}.hero-content{width:min(100%,610px)}.hero:before{background:linear-gradient(90deg,rgba(1,9,15,.88),rgba(1,9,15,.50))!important}}
@media(max-width:580px){.hero,.hero-inner{min-height:690px}.hero{background-position:61% center!important}.hero:before{background:linear-gradient(180deg,rgba(1,9,15,.86) 0%,rgba(1,9,15,.70) 65%,rgba(1,9,15,.2))!important}.hero-inner{padding:65px 22px 200px;align-items:flex-start}.hero h1{font-size:clamp(35px,9vw,48px)}}

/* V10 — hero panoramic, true responsive scale, subtle animation */
.hero{position:relative;min-height:clamp(500px,34vw,660px)!important;background:#020b12!important;isolation:isolate}
.hero-scene{position:absolute;inset:-10px;z-index:-2;background-image:url('assets/hero-panoramique-v10.webp');background-size:cover;background-position:50% 50%;will-change:transform;transform:scale(1.025);animation:sceneBreath 20s ease-in-out infinite alternate;pointer-events:none}
.hero:before{z-index:-1;background:linear-gradient(90deg,rgba(1,8,15,.68) 0%,rgba(1,8,15,.32) 41%,rgba(1,8,15,.04) 75%)!important;pointer-events:none}
.hero-inner{min-height:clamp(500px,34vw,660px)!important;width:min(100%,1340px);padding:clamp(55px,5vw,95px) 5%!important;display:flex!important;align-items:center!important}
.hero-content{width:min(58%,690px)!important;max-width:690px}
.hero h1{font-size:clamp(36px,3.55vw,63px)!important;line-height:1.1;letter-spacing:-.04em;max-width:700px;text-wrap:initial}
.hero-lead{max-width:480px}
.hero:after{z-index:2}
.hero .hero-scene:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 74% 47%,transparent 10%,#01151d22 76%);animation:lightPulse 9s ease-in-out infinite alternate}
@keyframes sceneBreath{from{transform:scale(1.025) translate3d(0,0,0)}to{transform:scale(1.065) translate3d(-.7%,.4%,0)}}
@keyframes lightPulse{from{opacity:.35}to{opacity:.8}}
@media(min-width:1600px){.hero-scene{background-size:100% auto}}
@media(max-width:950px){.hero-content{width:min(78%,650px)!important}.hero-scene{background-position:60% 50%}.hero:before{background:linear-gradient(90deg,#010a13eb,#010a13a8 57%,#010a1344)!important}}
@media(max-width:580px){.hero,.hero-inner{min-height:680px!important}.hero-inner{align-items:flex-start!important;padding:65px 22px 170px!important}.hero-content{width:100%!important}.hero h1{font-size:clamp(35px,9vw,47px)!important}.hero-scene{background-position:69% center}.hero:before{background:linear-gradient(180deg,#010a13ed 0%,#010a13d9 46%,#010a1366 100%)!important}}
@media(prefers-reduced-motion:reduce){.hero-scene,.hero .hero-scene:after{animation:none!important}}

/* V11 : footer sans horizon planétaire ; icône localisation ; nouvel univers animé. */
.footer{padding-bottom:35px!important;background:linear-gradient(180deg,#03121b,#020b12)!important}
.footer-horizon{display:none!important}
.contact-icon svg{display:block}
.hero{background:#020b12!important}
.hero-scene{background-image:url('assets/hero-v11.webp')!important;background-size:cover!important;background-position:center center!important;animation:sceneBreath 24s ease-in-out infinite alternate!important;inset:-8px!important}
.hero:before{background:linear-gradient(90deg,rgba(1,10,18,.76) 0%,rgba(1,10,18,.35) 42%,transparent 76%)!important}
.hero:after{height:1px!important}
.hero-stars{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,#8dfff5 1px,transparent 2px),radial-gradient(circle,#c3f8ff 1px,transparent 2px);background-size:157px 143px,239px 211px;background-position:10px 12px,88px 52px;opacity:.24;animation:starDrift 45s linear infinite}
@keyframes starDrift{from{background-position:10px 12px,88px 52px}to{background-position:80px 52px,25px 110px}}
@media(max-width:820px){.hero-scene{background-position:65% center!important}}
@media(max-width:580px){.hero-scene{background-position:70% center!important}.hero:before{background:linear-gradient(180deg,#010a13ef 0%,#010a13d6 54%,#010a1370)!important}}
@media(prefers-reduced-motion:reduce){.hero-stars,.hero-scene{animation:none!important}}

/* V12 — artwork extrait du visuel validé, sans faux boutons ni texte incorporé. */
.hero{background:#020d14!important;overflow:hidden!important}
.hero-scene{inset:0!important;background-image:linear-gradient(90deg,#020d14 0%,#020d14 25%,rgba(2,13,20,.86) 37%,rgba(2,13,20,.12) 68%),url('assets/accueil-v12.webp')!important;background-repeat:no-repeat!important;background-position:center,right center!important;background-size:100% 100%,auto 100%!important;animation:heroV12 17s ease-in-out infinite alternate!important;transform-origin:80% 50%}
.hero:before{background:linear-gradient(90deg,#020d14 0%,rgba(2,13,20,.55) 35%,transparent 75%)!important}
.hero-content{position:relative;z-index:2!important}
.hero-stars{opacity:.12!important}
@keyframes heroV12{from{transform:scale(1.005) translateX(0)}to{transform:scale(1.045) translateX(-.5%)}}
@media(max-width:950px){.hero-scene{background-position:center,67% center!important;background-size:100% 100%,auto 100%!important}.hero:before{background:linear-gradient(90deg,#020d14f5 0%,#020d14bd 54%,#020d1433)!important}}
@media(max-width:580px){.hero-scene{background-position:center,63% bottom!important;background-size:100% 100%,auto 73%!important}.hero:before{background:linear-gradient(180deg,#020d14f7 0%,#020d14e8 45%,#020d1477 100%)!important}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none!important}}


/* V13 — hero full-bleed, aligned to viewport rather than a narrow centered container. */
@media (min-width: 951px) {
 .header-inner{max-width:none;width:100%;padding-inline:clamp(28px,5vw,100px)}
 .hero,.hero-inner{min-height:clamp(540px,37vw,700px)!important}
 .hero-inner{max-width:none!important;width:100%!important;padding:70px clamp(28px,5vw,100px)!important;justify-content:flex-start!important}
 .hero-content{width:min(53vw,720px)!important;max-width:none!important}
 .hero h1{font-size:clamp(42px,3.5vw,72px)!important;max-width:730px!important}
 .hero-lead{max-width:570px!important}
 .hero-scene{background-image:url('assets/accueil-v12.webp')!important;background-position:right center!important;background-size:auto 100%!important;background-repeat:no-repeat!important;inset:0!important;animation:heroV13 19s ease-in-out infinite alternate!important}
 .hero:before{background:linear-gradient(90deg,#020d14 0%,rgba(2,13,20,.97) 21%,rgba(2,13,20,.70) 39%,rgba(2,13,20,.07) 68%,transparent 100%)!important;opacity:1!important}
}
@keyframes heroV13{from{transform:scale(1.002)}to{transform:scale(1.025)}}
@media (min-width:951px) and (max-width:1300px){.hero-content{width:56vw!important}.hero h1{font-size:clamp(39px,3.8vw,55px)!important}}
@media (max-width:950px){.hero-inner{max-width:none!important;width:100%!important;padding-left:6%!important;padding-right:6%!important}.hero-scene{background-image:url('assets/accueil-v12.webp')!important;background-size:auto 100%!important;background-position:63% center!important}.hero:before{background:linear-gradient(90deg,#020d14f7 0%,#020d14d8 47%,#020d1433 100%)!important}}
@media (max-width:580px){.hero-inner{padding:60px 22px 170px!important}.hero-scene{background-size:auto 70%!important;background-position:58% bottom!important}.hero:before{background:linear-gradient(180deg,#020d14 0%,#020d14f2 43%,#020d1490 100%)!important}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none!important}}

/* V14: panoramic, uncropped artwork with the entire laptop visible. */
.hero{background:#020d14!important;isolation:isolate!important}
.hero-scene{position:absolute!important;inset:0!important;background-image:linear-gradient(90deg,#020d14 0%,rgba(2,13,20,.80) 8%,transparent 35%),url('assets/atelier-spatial-v14.webp')!important;background-position:right center!important;background-size:66% 100%,auto 100%!important;background-repeat:no-repeat!important;animation:heroV14 20s ease-in-out infinite alternate!important;transform-origin:90% 55%;z-index:0!important}
.hero:before{background:linear-gradient(90deg,#020d14 0%,rgba(2,13,20,.97) 18%,rgba(2,13,20,.82) 33%,rgba(2,13,20,.30) 53%,transparent 78%)!important;z-index:1!important}
.hero-stars{z-index:1!important;opacity:.11!important}
.hero-inner{position:relative!important;z-index:2!important}
.hero-content{width:min(48vw,740px)!important}
@keyframes heroV14{from{transform:scale(1) translateX(0)}to{transform:scale(1.015) translateX(-.25%)}}
@media(min-width:1500px){.hero-scene{background-size:66% 100%,auto 100%!important}}
@media(max-width:950px){.hero-content{width:min(95%,650px)!important}.hero-scene{background-position:right center!important;background-size:80% 100%,auto 90%!important;opacity:.65}.hero:before{background:linear-gradient(90deg,#020d14 0%,#020d14e8 38%,#020d1488 70%,transparent)!important}}
@media(max-width:580px){.hero-scene{background-size:100% 100%,auto 65%!important;background-position:right bottom!important;opacity:.65}.hero:before{background:linear-gradient(180deg,#020d14 0%,#020d14f5 43%,#020d1499 76%,#020d1455)!important}.hero-content{width:100%!important}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none!important}}

/* V15 : visuel d'accueil réellement étendu d'un bord à l'autre. */
.hero{overflow:hidden!important}
.hero-scene{inset:0!important;width:100%!important;height:100%!important;background-image:url('assets/atelier-spatial-v14.webp')!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;opacity:1!important;transform-origin:center center!important;animation:heroFullWidth 22s ease-in-out infinite alternate!important}
.hero:before{background:linear-gradient(90deg,rgba(2,13,20,.95) 0%,rgba(2,13,20,.84) 24%,rgba(2,13,20,.55) 43%,rgba(2,13,20,.12) 70%,rgba(2,13,20,.05) 100%)!important}
@keyframes heroFullWidth{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(max-width:950px){.hero-scene{background-size:cover!important;background-position:58% center!important;opacity:1!important}}
@media(max-width:580px){.hero-scene{background-size:cover!important;background-position:64% center!important;opacity:.8!important}.hero:before{background:linear-gradient(180deg,rgba(2,13,20,.93),rgba(2,13,20,.82) 52%,rgba(2,13,20,.45))!important}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none!important}}

/* V16 — Cadrage adaptatif : illustration entière visible, sans zoom destructeur. */
.hero{min-height:clamp(510px,35vw,680px)!important;background:#020d14!important;overflow:hidden!important}
.hero-scene{inset:0!important;width:100%!important;height:100%!important;background-image:linear-gradient(90deg,rgba(2,13,20,.72),rgba(2,13,20,.30)),url('assets/atelier-spatial-v14.webp'),url('assets/atelier-spatial-v14.webp')!important;background-repeat:no-repeat!important;background-size:100% 100%,auto 100%,cover!important;background-position:center center,right center,center center!important;transform:none!important;animation:scenePanV16 18s ease-in-out infinite alternate!important;opacity:1!important}
.hero:before{background:linear-gradient(90deg,rgba(2,13,20,.96) 0%,rgba(2,13,20,.82) 24%,rgba(2,13,20,.48) 46%,rgba(2,13,20,.04) 80%)!important}
.hero-inner{min-height:clamp(510px,35vw,680px)!important}
@keyframes scenePanV16{from{filter:brightness(.94)}to{filter:brightness(1.07)}}
@media(max-width:950px){.hero-scene{background-size:100% 100%,auto 86%,cover!important;background-position:center,right bottom,center!important}.hero:before{background:linear-gradient(90deg,rgba(2,13,20,.96),rgba(2,13,20,.78) 55%,rgba(2,13,20,.24))!important}}
@media(max-width:580px){.hero-scene{background-size:100% 100%,auto 53%,cover!important;background-position:center,right bottom,center!important}.hero:before{background:linear-gradient(180deg,rgba(2,13,20,.98) 0%,rgba(2,13,20,.91) 45%,rgba(2,13,20,.40) 100%)!important}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none!important}}

/* V17 — une seule image panoramique, sans doublon ni raccord visible */
.hero{background:#020d14!important;overflow:hidden!important}
.hero-scene{inset:0!important;width:100%!important;height:100%!important;background:url('assets/hero-v17.webp') center center / cover no-repeat!important;opacity:1!important;animation:heroV17 22s ease-in-out infinite alternate!important;transform-origin:70% 50%!important}
.hero:before{background:linear-gradient(90deg,rgba(1,10,16,.91) 0%,rgba(1,10,16,.79) 25%,rgba(1,10,16,.48) 44%,rgba(1,10,16,.05) 75%)!important}
.hero-content{position:relative!important;z-index:3!important}
@keyframes heroV17{from{transform:scale(1)}to{transform:scale(1.025)}}
@media(max-width:950px){.hero-scene{background-position:62% center!important}.hero:before{background:linear-gradient(90deg,#010a10e8,#010a1090 65%,#010a102e)!important}}
@media(max-width:580px){.hero-scene{background-position:65% center!important}.hero:before{background:linear-gradient(180deg,#010a10ed,#010a10d9 52%,#010a1080)!important}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none!important}}


/* V18 — clean visual system, override legacy V7–V17 hero styles */
html,body{overflow-x:clip}
.header{position:absolute!important;top:0;left:0;right:0;z-index:30;background:linear-gradient(180deg,rgba(1,9,15,.87),rgba(1,9,15,.55))!important;border-bottom:1px solid rgba(86,244,222,.24)!important;backdrop-filter:blur(12px)}
.header-inner{max-width:1540px!important;width:100%;padding-inline:clamp(22px,5vw,88px)!important}
.hero{position:relative!important;isolation:isolate;overflow:hidden!important;min-height:clamp(600px,43vw,790px)!important;background:#020b12!important}
.hero-scene{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:-2!important;background-image:linear-gradient(90deg,#020b12 0%,#020b12 25%,rgba(2,11,18,.88) 38%,rgba(2,11,18,.15) 66%,rgba(2,11,18,.02) 100%),url('assets/atelier-haute-qualite.webp')!important;background-position:center,right center!important;background-size:100% 100%,auto 100%!important;background-repeat:no-repeat!important;transform:none!important;animation:sceneDriftV18 19s ease-in-out infinite alternate!important;filter:none!important;opacity:1!important}
.hero:before{content:''!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(0,10,16,.55) 0%,rgba(0,10,16,.16) 47%,transparent 80%)!important;opacity:1!important;animation:none!important}
.hero:after{height:1px!important;background:#12a9b6!important}
.hero-stars{opacity:.09!important;pointer-events:none!important}
.hero-inner{width:100%!important;max-width:1540px!important;margin:auto!important;min-height:clamp(600px,43vw,790px)!important;padding:130px clamp(22px,5vw,88px) 90px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
.hero-content{width:min(54%,710px)!important;max-width:710px!important;position:relative!important;z-index:3!important}
.hero h1{font-size:clamp(42px,3.8vw,70px)!important;line-height:1.1!important;letter-spacing:-.04em!important;white-space:normal!important;text-wrap:balance!important}
.hero-lead{font-size:clamp(14px,1.05vw,17px)!important;max-width:540px!important}
@keyframes sceneDriftV18{from{background-position:center,100% 50%}to{background-position:center,98% 50%}}
.services{background:radial-gradient(circle at 100% 0%,rgba(23,116,146,.23),transparent 34%),#020d15!important}
.services:before{opacity:.08!important}
.services-grid{align-items:stretch}
.service-card.flip-card{padding:0!important;min-height:205px!important;background:transparent!important;border:1px solid #146777!important;border-radius:12px!important;perspective:1200px;cursor:pointer;overflow:visible!important;transition:border-color .3s,box-shadow .3s!important}
.flip-card:hover,.flip-card:focus-visible,.flip-card.is-flipped{border-color:#4bf1cf!important;box-shadow:0 0 28px #16d5ca24!important}
.flip-inner{position:relative;width:100%;height:100%;min-height:205px;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.75,.2,1)}
.flip-card:hover .flip-inner,.flip-card:focus-visible .flip-inner,.flip-card.is-flipped .flip-inner{transform:rotateY(180deg)}
.flip-front,.flip-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:11px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(135deg,#031721,#020d15)}
.flip-front h3{margin:10px 0 4px!important}.flip-front p{margin:0!important}.flip-front .card-arrow{position:absolute;right:20px;bottom:18px;color:#4bf1cf;font-size:22px}
.flip-hint{margin-top:auto;padding-top:14px;font-size:10px;color:#6db9b8;letter-spacing:.02em}
.flip-back{transform:rotateY(180deg);background:linear-gradient(145deg,#06424a,#041a27 72%)}
.flip-back .flip-kicker{font-size:10px;letter-spacing:.16em;font-weight:800;color:#4bf1cf}.flip-back h3{font-size:19px;margin:10px 0 8px}.flip-back p{font-size:13px;line-height:1.5;margin:0}.flip-cta{margin-top:13px;color:#6dffe6;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.flip-back .flip-hint{padding-top:8px}
.flip-card:focus-visible{outline:2px solid #4bf1cf;outline-offset:4px}
@media(max-width:900px){.hero-content{width:min(80%,620px)!important}.hero-scene{background-position:center,70% center!important;background-size:100% 100%,auto 100%!important}.hero:before{background:linear-gradient(90deg,#020b12e8 0%,#020b12ba 55%,#020b1250 100%)!important}.header{background:#020b12df!important}}
@media(max-width:580px){.hero,.hero-inner{min-height:720px!important}.hero-inner{padding:115px 20px 85px!important;align-items:flex-start!important}.hero-content{width:100%!important}.hero h1{font-size:clamp(36px,9vw,48px)!important}.hero-scene{background-position:center,66% bottom!important;background-size:100% 100%,auto 70%!important}.hero:before{background:linear-gradient(180deg,#020b12f2 0%,#020b12e8 48%,#020b1285 100%)!important}.flip-card:hover:not(.is-flipped) .flip-inner{transform:none}.flip-card.is-flipped .flip-inner{transform:rotateY(180deg)}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none!important}.flip-inner{transition:none!important}}

/* V19 - full-bleed unified workshop photograph behind navigation and hero. */
body{background:#020d15}
.header{background:rgba(1,10,16,.25)!important;backdrop-filter:blur(14px) saturate(115%)!important;-webkit-backdrop-filter:blur(14px) saturate(115%)!important}
.hero{background:#03131c!important}
.hero-scene{background-image:url('assets/hero-v19.webp')!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;animation:heroV19 22s ease-in-out infinite alternate!important;transform-origin:75% 50%!important}
.hero:before{background:linear-gradient(90deg,rgba(1,9,16,.84) 0%,rgba(1,9,16,.72) 25%,rgba(1,9,16,.32) 55%,rgba(1,9,16,.04) 100%)!important}
.hero-stars{opacity:.04!important}
@keyframes heroV19{from{transform:scale(1)}to{transform:scale(1.018)}}
@media(max-width:950px){.hero-scene{background-position:61% center!important}.hero:before{background:linear-gradient(90deg,#010a10e8,#010a10a8 70%,#010a1040)!important}}
@media(max-width:580px){.hero-scene{background-position:65% center!important}.hero:before{background:linear-gradient(180deg,#010a10e8,#010a10cc 65%,#010a1070)!important}}
@media(prefers-reduced-motion:reduce){.hero-scene{animation:none!important}}


/* V20 — devis automatique par email via FormSubmit */
.quote-section{position:relative;padding:clamp(65px,7vw,115px) 0;background:radial-gradient(ellipse at 90% 0%,#073a45 0%,transparent 48%),#03121c;border-top:1px solid #14515c;border-bottom:1px solid #14515c;scroll-margin-top:90px}
.quote-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(25px,6vw,85px);align-items:start}
.quote-intro h2{font-size:clamp(32px,3.8vw,53px);line-height:1.08;margin:16px 0 20px}.quote-intro h2 em{color:#56eed6;font-style:normal}.quote-intro>p:not(.eyebrow){color:#c3d6dc;line-height:1.7;max-width:460px}.quote-points{display:grid;gap:16px;margin-top:34px;color:#9cefe1}
.quote-form{background:rgba(1,18,27,.83);border:1px solid #246675;border-radius:20px;padding:clamp(22px,3vw,35px);box-shadow:0 20px 80px #0005}
.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px}
.quote-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:650;color:#e7fcff}.quote-form label>span:not(.quote-consent span){color:#5aefdb}
.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{width:100%;min-width:0;background:#061d29;border:1px solid #2c6570;color:#fff;border-radius:9px;padding:13px 14px;font:inherit;font-weight:400;outline-offset:3px}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#56eed6;outline:2px solid #56eed655}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#a1b4bf}
.quote-message{margin-top:20px}.quote-form textarea{resize:vertical}.quote-consent{flex-direction:row!important;align-items:flex-start;gap:12px!important;margin:19px 0 22px;color:#c3d6dc!important;font-weight:400!important;line-height:1.55}.quote-consent input{width:18px;height:18px;accent-color:#55efd5;flex-shrink:0;margin-top:2px}.quote-consent strong{color:#55efd5}.quote-submit{cursor:pointer;border:0}.quote-help{font-size:12px;line-height:1.6;color:#abc5cc;margin:15px 0 0}.quote-honey{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:850px){.quote-layout{grid-template-columns:1fr}.quote-intro>p:not(.eyebrow){max-width:none}}
@media(max-width:520px){.quote-fields{grid-template-columns:1fr}.quote-section{scroll-margin-top:65px}}

/* V21 — dedicated quote page */
.devis-body{min-height:100vh;background:#03111a}
.devis-body .header{background:rgba(2,14,22,.84);backdrop-filter:blur(18px)}
.devis-body .quote-page{min-height:calc(100vh - 95px);padding-top:clamp(110px,12vw,170px);background:linear-gradient(90deg,rgba(1,11,19,.88),rgba(1,11,19,.52)),url('assets/hero-v19.webp') center / cover fixed}
.devis-body .quote-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(25px,4vw,65px)}
.devis-body .quote-form{backdrop-filter:blur(18px)}
.devis-body .quote-form label{gap:10px}
.devis-body .quote-form input:not([type=checkbox]),.devis-body .quote-form select{min-height:52px}
.devis-body .quote-form select{appearance:auto}
.devis-body .quote-submit{width:100%;justify-content:center}
.devis-body .quote-form label>span:not(.quote-consent span){display:none}
.back-home{display:inline-block;margin:0 0 22px;color:#72efdf;text-decoration:none}
.back-home:hover{text-decoration:underline}
.quote-alert{margin:12px 0 0;padding:12px;border:1px solid #367f8b;border-radius:10px;color:#d5f9f3;background:#082b35}
@media(max-width:800px){.devis-body .quote-layout{grid-template-columns:1fr}.devis-body .quote-page{background-attachment:scroll;padding-top:105px}}
@media(max-width:560px){.devis-body .quote-fields{grid-template-columns:1fr}}

/* V22 — contenu enrichi sans modifier la structure visuelle existante */
.about-description{max-width:650px;line-height:1.75;color:#c5d7df;margin:0 0 16px;font-size:1rem}
.about-description strong{color:#ecffff}
.about-link{display:inline-flex;align-items:center;gap:14px;margin-top:24px;color:#7cf5e4;text-decoration:none;font-weight:700;border-bottom:1px solid rgba(124,245,228,.4);padding-bottom:7px}
.about-link:hover{color:white;border-color:white}
.process{background:linear-gradient(180deg,#04131e,#061b27);padding-top:85px;padding-bottom:90px}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.process-step{border:1px solid rgba(108,245,228,.19);background:rgba(12,37,50,.66);border-radius:18px;padding:30px 26px;min-width:0}
.process-number{display:block;font-size:1.05rem;font-weight:800;letter-spacing:.13em;color:#70f5e4;margin-bottom:22px}
.process-step h3{font-size:1.2rem;color:#f0ffff;margin:0 0 13px}
.process-step p{color:#bcd0d9;line-height:1.7;margin:0}
@media(max-width:850px){.process-grid{grid-template-columns:1fr}.process{padding-top:60px;padding-bottom:65px}.about-description{font-size:.97rem}}

/* V23 — icônes animées de la section Nos services */
.services .service-icon{position:relative;isolation:isolate;flex:none;transition:transform .45s cubic-bezier(.2,.9,.2,1),background .35s,border-color .35s,box-shadow .35s;box-shadow:0 0 0 0 rgba(75,241,207,0)}
.services .service-icon::after{content:"";position:absolute;inset:-6px;border:1px solid rgba(75,241,207,.32);border-radius:50%;opacity:0;transform:scale(.72);pointer-events:none}
.services .service-icon svg{transition:transform .5s cubic-bezier(.2,.9,.2,1),filter .4s;transform-origin:center}
.services .flip-card:hover .service-icon,.services .flip-card:focus-visible .service-icon{background:rgba(75,241,207,.12);box-shadow:0 0 24px rgba(75,241,207,.28);transform:translateY(-3px)}
.services .flip-card:hover .service-icon::after,.services .flip-card:focus-visible .service-icon::after{animation:di-icon-ring 1.35s ease-out infinite}
.services .flip-card:hover .service-icon svg,.services .flip-card:focus-visible .service-icon svg{filter:drop-shadow(0 0 5px rgba(75,241,207,.75))}
.services .flip-card:nth-child(1):hover .service-icon svg{transform:rotate(-24deg)}
.services .flip-card:nth-child(2):hover .service-icon svg{transform:rotate(10deg) scale(1.13)}
.services .flip-card:nth-child(3):hover .service-icon svg{transform:rotate(90deg) scale(.9)}
.services .flip-card:nth-child(4):hover .service-icon svg{transform:translateY(-3px)}
.services .flip-card:nth-child(5):hover .service-icon svg{transform:rotate(40deg)}
.services .flip-card:nth-child(6):hover .service-icon svg{transform:scale(1.16)}
.services .flip-card:focus-visible{outline:2px solid #6fffe3;outline-offset:4px}
@keyframes di-icon-ring{0%{opacity:.85;transform:scale(.8)}80%,100%{opacity:0;transform:scale(1.35)}}
@media (hover:none){.services .flip-card:active .service-icon{background:rgba(75,241,207,.12);transform:scale(1.06)}}
@media(prefers-reduced-motion:reduce){.services .service-icon,.services .service-icon svg{transition:none!important;animation:none!important}.services .service-icon::after{animation:none!important}}

/* V24 — retour tactile lumineux sur les actions */
.btn,.nav-contact,.flip-cta,.about-link,.back-home,.nav a,.footer a,.menu-button{position:relative;isolation:isolate;-webkit-tap-highlight-color:transparent}
.btn,.nav-contact,.flip-cta,.about-link,.back-home,.menu-button{overflow:hidden}
.btn,.nav-contact,.flip-cta,.about-link,.back-home,.menu-button{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .25s,filter .25s,border-color .25s}
.btn:active,.nav-contact:active,.flip-cta:active,.about-link:active,.back-home:active,.menu-button:active{transform:translateY(1px) scale(.965);filter:brightness(1.14)}
.btn:focus-visible,.nav-contact:focus-visible,.flip-cta:focus-visible,.about-link:focus-visible,.back-home:focus-visible,.menu-button:focus-visible{outline:2px solid #b4fff3;outline-offset:4px}
.click-ripple{position:absolute;z-index:0;pointer-events:none;border-radius:50%;background:rgba(255,255,255,.42);width:18px;height:18px;left:var(--ripple-x);top:var(--ripple-y);transform:translate(-50%,-50%) scale(0);animation:di-ripple .62s ease-out forwards}
.btn.secondary .click-ripple,.nav-contact .click-ripple,.flip-cta .click-ripple{background:rgba(75,241,207,.32)}
@keyframes di-ripple{to{transform:translate(-50%,-50%) scale(var(--ripple-scale,18));opacity:0}}
@keyframes di-tap-glow{0%{filter:brightness(1)}40%{filter:brightness(1.3)}100%{filter:brightness(1)}}
.di-clicked{animation:di-tap-glow .45s ease-out}
@media(prefers-reduced-motion:reduce){.click-ripple{display:none}.di-clicked{animation:none}.btn,.nav-contact,.flip-cta,.about-link,.back-home,.menu-button{transition:none}}

/* V25 — cartes du déroulement : survol subtil, sans perturber l'apparition */
.process-step{transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease,background .3s ease;transform-origin:center center}
.process-step.visible:hover{transform:translateY(-7px) scale(1.035);border-color:rgba(107,249,223,.7);box-shadow:0 16px 38px rgba(0,0,0,.27),0 0 22px rgba(61,237,207,.12);background:rgba(15,49,61,.92);z-index:2}
.process-step.visible:active{transform:translateY(-2px) scale(1.01)}
.location-link{border-radius:12px;transition:color .22s ease,transform .22s ease}
.location-link:hover{color:var(--mint);transform:translateX(4px)}
.location-link:focus-visible{outline:2px solid var(--mint);outline-offset:6px}
.location-link:hover .contact-icon{background:rgba(75,241,207,.13);box-shadow:0 0 18px rgba(75,241,207,.2)}
@media (prefers-reduced-motion:reduce){.process-step,.location-link{transition:none!important}.process-step.visible:hover,.process-step.visible:active,.location-link:hover{transform:none}}

/* V25.1 — logo officiel fourni, sans modification graphique */
.brand-logo-officiel{display:block;width:clamp(170px,18vw,255px);height:auto;max-height:72px;object-fit:contain;filter:none}
.footer .brand-logo-officiel{width:205px;max-height:68px}
@media(max-width:1080px){.brand-logo-officiel{width:180px}}
@media(max-width:580px){.brand-logo-officiel{width:155px;max-height:60px}.footer .brand-logo-officiel{width:190px}}

/* V25.2 pages indépendantes */
.zone-section{background:linear-gradient(160deg,#071b26,#06121c);padding:78px 0}.zone-section .btn{margin-top:24px}.faq-page{min-height:65vh;padding:110px 0 80px;background:linear-gradient(160deg,#05141f,#071f29)}.faq-page h1{font-size:clamp(2rem,4vw,3.5rem);color:#f1ffff}.faq-page h1 em{color:#76e9d9}.faq-intro{color:#bcd0d9;max-width:730px;line-height:1.7}.faq-list{margin-top:38px;display:grid;gap:12px}.faq-list details,.review-empty{background:#0b2733;border:1px solid rgba(124,245,228,.2);border-radius:16px;padding:20px 24px;color:#c5dce4}.faq-list summary{cursor:pointer;font-weight:700;color:#f2ffff;list-style-position:inside}.faq-list details p{line-height:1.75;margin-bottom:0}.faq-list a{color:#79f0df}.reviews{margin-top:76px}.reviews h2{color:#f2ffff}.review-empty p{line-height:1.75}.floating-contact{position:fixed;left:22px;bottom:22px;z-index:200;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.floating-trigger{border:1px solid rgba(255,255,255,.3);border-radius:40px;padding:15px 22px;background:#0aab9d;color:#031820;font-weight:800;cursor:pointer;box-shadow:0 8px 28px #0009}.floating-trigger:hover,.floating-trigger:focus-visible{background:#89f6e6}.floating-links{display:flex;flex-direction:column;background:#092430;border:1px solid #328c88;border-radius:16px;padding:9px;box-shadow:0 8px 28px #0009}.floating-links[hidden]{display:none}.floating-links a{padding:12px 15px;text-decoration:none;color:#e7ffff;border-radius:9px}.floating-links a:hover,.floating-links a:focus-visible{background:#18515a}.devis-body .about{margin-top:0}@media(max-width:600px){.floating-contact{left:12px;bottom:12px}.floating-trigger{padding:12px 15px}.faq-page{padding-top:95px}}
.contact-page-intro{padding:145px 0 70px;background:linear-gradient(160deg,#05141f,#092330);color:#effcff}.contact-page-intro .container{max-width:1100px}.contact-page-intro h1{font-size:clamp(2.2rem,5vw,4rem);max-width:850px;line-height:1.12;margin:15px 0 20px}.contact-page-intro p:not(.eyebrow){max-width:690px;line-height:1.7;color:#c5dce2}.contact-page-intro .btn{margin-top:24px}.faq-page{min-height:65vh;padding:140px 0 90px;background:linear-gradient(160deg,#05141f,#071f29)}

/* V25.4 — navigation en capsules animées */
.header .nav{gap:clamp(5px,.65vw,10px)}
.header .nav>a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:9px clamp(10px,1.1vw,16px);border:1px solid rgba(75,241,207,.32);border-radius:999px;background:rgba(6,33,43,.45);color:#edfafa;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease,color .24s ease}
.header .nav>a::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 12%,rgba(108,255,230,.16) 49%,transparent 85%);transform:translateX(-125%);transition:transform .5s ease;pointer-events:none;z-index:-1}
.header .nav>a:hover,.header .nav>a:focus-visible{transform:translateY(-3px) scale(1.035);border-color:#60f7d9;background:rgba(16,75,78,.6);box-shadow:0 6px 20px rgba(0,242,205,.19),inset 0 0 13px rgba(75,241,207,.09);color:#fff}
.header .nav>a:hover::before,.header .nav>a:focus-visible::before{transform:translateX(125%)}
.header .nav>a:active{transform:translateY(0) scale(.96)}
.header .nav>a.active,.header .nav>a[aria-current="page"]{border:1px solid rgba(75,241,207,.8);padding-bottom:9px;background:rgba(17,99,94,.36);color:#9ffff0;box-shadow:inset 0 0 12px rgba(75,241,207,.07)}
.header .nav>a.nav-cta{background:linear-gradient(110deg,#62f4d7,#35dec3);border-color:transparent;color:#042a2a;font-weight:800;box-shadow:0 0 18px rgba(42,241,206,.17)}
.header .nav>a.nav-cta:hover,.header .nav>a.nav-cta:focus-visible{background:linear-gradient(110deg,#96ffe9,#52f1d1);color:#042a2a;box-shadow:0 8px 25px rgba(42,241,206,.3)}
@media(max-width:1100px){.header-inner{gap:12px;padding:0 18px}.header .nav{font-size:11.5px;gap:5px}.header .nav>a{padding:8px 9px;min-height:38px}}
@media(max-width:820px){.header .nav{gap:11px;align-items:stretch}.header .nav>a{font-size:14px;padding:12px 16px;min-height:46px}.header .nav>a:hover{transform:none}.header .nav>a.active{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.header .nav>a,.header .nav>a::before{transition:none!important}.header .nav>a:hover{transform:none}}

/* V25.5 — cartes de services : hauteur adaptée au contenu, plus aucun texte coupé */
.services-grid{align-items:stretch}
.services .service-card.flip-card{height:auto!important;min-height:310px!important;display:block!important}
.services .flip-inner{display:grid!important;grid-template-columns:minmax(0,1fr);height:100%!important;min-height:310px!important}
.services .flip-front,.services .flip-back{position:relative!important;inset:auto!important;grid-area:1/1!important;width:100%;height:100%;min-height:310px;overflow-wrap:break-word;padding:23px 22px 20px!important}
.services .flip-front{z-index:1}
.services .flip-back{z-index:0}
.services .flip-back h3{font-size:18px;line-height:1.3;margin:9px 0 10px}
.services .flip-back p{font-size:13px;line-height:1.65;flex:1;margin-bottom:12px}
.services .flip-back .flip-cta{position:relative;display:inline-flex;align-items:center;min-height:34px;margin-top:auto;margin-bottom:4px;font-size:12px;flex-shrink:0}
.services .flip-back .flip-hint{margin-top:0;padding-top:7px;flex-shrink:0}
.services .flip-front .flip-hint{padding-right:22px}
@media(max-width:700px){.services .service-card.flip-card,.services .flip-inner,.services .flip-front,.services .flip-back{min-height:340px!important}}
@media(prefers-reduced-motion:reduce){.services .flip-inner{transition:none!important}}

/* V25.6 — zoom léger au retournement des services */
@media (hover:hover) and (pointer:fine){
.services .service-card.flip-card:hover{transform:translateY(-7px) scale(1.045)!important;z-index:4;box-shadow:0 22px 48px #000a,0 0 25px #37eac440!important}
}
.services .service-card.flip-card.is-flipped{transform:translateY(-5px) scale(1.035)!important;z-index:4;box-shadow:0 18px 38px #0009,0 0 25px #37eac43d!important}
.services .service-card.flip-card{transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s,border-color .3s!important;transform-origin:center}
@media(max-width:700px){.services .service-card.flip-card.is-flipped{transform:scale(1.012)!important}}
@media(prefers-reduced-motion:reduce){.services .service-card.flip-card,.services .service-card.flip-card.is-flipped{transition:none!important;transform:none!important}}
/* V25.6 — bouton de connexion discret en bas de chaque page */
.footer-admin-link{display:inline-flex;align-items:center;gap:8px;border:1px solid #26737b;border-radius:99px;padding:8px 14px;color:#b9d9df;font-size:12px;transition:background .2s,color .2s,border-color .2s}
.footer-admin-link:hover,.footer-admin-link:focus-visible{color:#a0fff0;border-color:#4bf1cf;background:#0b3037}
.admin-main{min-height:65vh;padding:115px 20px 80px;background:radial-gradient(ellipse at top,#0a3440,#020b12 68%)}
.admin-panel{width:min(100%,680px);margin:auto;padding:32px;border:1px solid #287580;border-radius:20px;background:#071e29;box-shadow:0 20px 65px #0008}
.admin-panel h1{font-size:clamp(26px,4vw,38px);margin:4px 0 12px}.admin-panel p{color:#bbd3d9}
.admin-panel label{display:block;margin:20px 0 8px;font-weight:650;font-size:13px}.admin-panel input,.admin-panel textarea{width:100%;padding:13px 15px;border-radius:10px;background:#04141d;border:1px solid #347783;color:#fff;font:inherit}
.admin-panel input:focus-visible,.admin-panel textarea:focus-visible{outline:2px solid #4bf1cf}
.admin-panel button{margin-top:18px;border:0;border-radius:99px;padding:13px 23px;background:#4bf1cf;color:#06231f;font-weight:800;cursor:pointer}
.admin-panel button:disabled{opacity:.6;cursor:wait}.admin-panel .admin-logout{background:transparent;color:#b9e7e4;border:1px solid #287580;margin:0}
.admin-status{min-height:25px;color:#f3cda2}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-tool{border-top:1px solid #245560;margin-top:25px;padding-top:20px}.admin-note{font-size:12px;color:#b9d3d8}

/* V25.7 : éviter le débordement des cartes au survol */
.services-grid{overflow:visible!important;gap:22px!important;padding:12px 7px 22px!important}
.services .service-card.flip-card:hover{transform:translateY(-3px) scale(1.015)!important}
.services .service-card.flip-card.is-flipped{transform:translateY(-3px) scale(1.012)!important}
.services .flip-front,.services .flip-back{backface-visibility:hidden;-webkit-backface-visibility:hidden}
@media(max-width:760px){.services .service-card.flip-card:hover,.services .service-card.flip-card.is-flipped{transform:none!important}}
/* V25.7 administration */
.admin-panel.admin-wide{width:min(100%,1200px)}
.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}
.admin-stat{padding:18px;border:1px solid #246572;border-radius:14px;background:#061722}
.admin-stat strong{font-size:29px;color:#60eed8;display:block}.admin-stat span{font-size:12px;color:#b9d3d8}
.admin-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px}
.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px;min-width:540px}
.admin-table th,.admin-table td{padding:12px 9px;text-align:left;border-bottom:1px solid #21515b}.admin-table th{color:#81f5df;font-size:11px;text-transform:uppercase}
.admin-table button{margin:0;padding:6px 9px;font-size:11px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-panel select{width:100%;padding:12px;background:#04141d;color:white;border:1px solid #347783;border-radius:10px}
.admin-panel .admin-form-grid label{margin:8px 0 5px}.admin-panel .admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-panel .admin-actions button{margin:0}.admin-small{font-size:12px;color:#b8d1d8}
.admin-status-pill{padding:5px 8px;border-radius:20px;border:1px solid #287580;white-space:nowrap}
@media(max-width:850px){.admin-layout{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.admin-stats,.admin-form-grid{grid-template-columns:1fr}}

/* V25.8 - Statistiques et tickets */
.admin-stats{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important}.di-bars{display:grid;gap:12px;margin:14px 0 24px}.di-bar-row{display:grid;grid-template-columns:minmax(80px,130px) 1fr 28px;gap:10px;align-items:center;font-size:.85rem}.di-bar-track{height:10px;border-radius:10px;background:rgba(120,180,200,.15);overflow:hidden}.di-bar-track>div{height:100%;background:linear-gradient(90deg,#12aeb3,#59d6c9);border-radius:10px}.admin-tool #ticket-detail{overflow-wrap:anywhere}.admin-tool #ticket-detail label{display:block;margin:12px 0}.admin-tool #ticket-detail textarea,.admin-tool #ticket-detail select{width:100%}
