@font-face{font-family:Montserrat;src:url('/assets/montserrat-regular.ttf')}@font-face{font-family:Montserrat;src:url('/assets/montserrat-semibold.ttf');font-weight:600}*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:#041014;color:#ecf8f7;font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{background:#40eed6;color:#041014}:focus-visible{outline:2px solid #4ff4df;outline-offset:6px}em{font-style:normal;color:#64efdd}.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 20%,#123e423a,transparent 50%)}.header{height:110px;max-width:1440px;margin:auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #75dac41a}.brand{display:flex;align-items:center;font-size:25px;font-weight:600;letter-spacing:-1px;gap:5px}.brand img{width:66px;height:52px;object-fit:contain}.brand-dot{color:#4cecd5}.header nav{display:flex;align-items:center;gap:42px;font-size:13px}.header nav a{padding:14px 0;position:relative;color:#aabfbe}.header nav a:hover,.header nav a[aria-current]{color:#75f6e2}.header nav a[aria-current]:after{content:'';position:absolute;bottom:3px;left:0;width:16px;height:2px;background:#4fefd8}.header nav a:last-child{display:flex;gap:30px}.menu-toggle{display:none}.mono,.eyebrow{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;letter-spacing:1.8px}.eyebrow{color:#73bbb5;margin:0 0 30px;line-height:1.7}.status-dot{display:inline-block;width:6px;height:6px;background:#4fefd8;border-radius:50%;box-shadow:0 0 12px #4fefd8;margin-right:10px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,5.3vw,80px);font-weight:600;line-height:1.08;letter-spacing:-3px;margin-bottom:28px}p{color:#94aeae;line-height:1.8;font-size:14px}.intro{position:relative;max-width:1440px;margin:auto;min-height:calc(100svh - 110px);padding:80px 6% 32px;overflow:hidden;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:10px}.intro-copy{position:relative;z-index:2}.intro h1{font-size:clamp(42px,5vw,74px)}.intro h1 em{color:#e1fffa;text-shadow:0 0 22px #00e4db35}.intro-description{font-size:15px;line-height:1.8;margin-bottom:40px}.circuit{position:absolute;right:-150px;top:0;width:900px;height:100%;color:#4acfc2;opacity:.1;z-index:0}.intro-art{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.intro-art:before{content:'';position:absolute;inset:22%;border-radius:50%;background:#2ed4c6;filter:blur(95px);opacity:.14}.intro-art img{position:relative;width:100%;filter:drop-shadow(0 0 24px #17d9cd35);transform:rotate(-7deg)}.orbital{position:absolute;border:1px solid #57e4d521;border-radius:50%;inset:1%}.orbit-one{transform:rotate(-20deg) scaleY(.7);border-style:dashed}.orbit-two{inset:12%;border-color:#57e4d511}.art-label{position:absolute;bottom:10%;color:#5baea9;font-size:9px}.coordinate{position:absolute;right:-10px;top:12%;color:#5baea9;font-size:9px;writing-mode:vertical-rl}.intro-bottom{max-width:540px}.disciplines{list-style:none;padding:17px 0;margin:0 0 24px;display:flex;gap:24px;border-top:1px solid #42c7bc55;border-bottom:1px solid #42c7bc55;box-shadow:0 -5px 20px -20px #4ff4df;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.disciplines li{white-space:nowrap}.disciplines span{color:#49e8d3;font-weight:600;margin-right:7px}.button{min-height:56px;padding:16px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid transparent;font-size:13px;font-weight:600;line-height:1.5}.primary{background:#4ae7d2;color:#032326;border-color:#8affee;box-shadow:0 0 0 4px #32e5d110,0 0 30px #00cfdb13;transition:background .2s,box-shadow .2s,transform .2s}.primary:hover{background:#8dffec;box-shadow:0 0 0 4px #32e5d120,0 0 32px #00cfdb25;transform:translateY(-2px)}.launch{width:100%;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);min-height:62px;font-size:15px}.button span{font-size:21px;font-weight:400}.intro-caption{grid-column:1/-1;display:flex;justify-content:space-between;align-self:end;border-top:1px solid #75dac41a;padding-top:25px;margin-top:55px;color:#527b7c;font-size:9px}.page-section{max-width:1280px;padding:80px 5% 70px;margin:auto}.page-heading{margin-bottom:52px}.page-heading h1{max-width:900px}.page-heading p:last-child{margin-bottom:0}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.choice{background:linear-gradient(145deg,#0c2429aa,#06171c);border:1px solid #294349;padding:30px 26px;position:relative;transition:transform .2s,border-color .2s,background .2s}.choice:hover{border-color:#50ddcd;transform:translateY(-5px);background:#0c292e}.choice-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:50px;color:#58d6c6}.choice-icon{font-size:30px;line-height:1}.choice h2{font-size:23px;letter-spacing:-.8px;font-weight:600;line-height:1.3;max-width:210px;margin-bottom:17px}.choice p{font-size:13px;min-height:70px;margin-bottom:27px}.choice-bottom{border-top:1px solid #284146;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:10px}.choice-bottom>span:first-child{font-size:10px;line-height:1.7;color:#9db4b5}.choice strong{display:block;font-size:27px;letter-spacing:-1px;font-weight:600;color:#edfdfb}.round-arrow{border:1px solid #36565a;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:#5be5d1;font-size:22px}.quiet-cta{margin-top:36px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8ea9a9;padding:25px 0;border-bottom:1px solid #254044}.quiet-cta a{color:#6ce7d5}.method{margin-top:90px}.method>div{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.method article{border-top:1px solid #2f5256;padding-top:25px}.method .mono{color:#50bcae;font-size:10px}.method h3{font-size:17px;line-height:1.5;margin:20px 0 12px}.method p{font-size:13px}.back{display:inline-block;color:#9bb8b7;font-size:12px;margin-bottom:50px}.detail-head{display:grid;grid-template-columns:1.55fr 1fr;gap:65px;align-items:start}.detail h1{font-size:clamp(40px,4.4vw,63px)}.lede{max-width:550px;font-size:15px}.price-panel{background:#0b2228;border:1px solid #35545a;padding:32px}.price-panel>.mono{color:#65d4c6;font-size:9px}.price-label{margin:35px 0 2px;font-size:12px}.price{color:#effefb;font-size:47px;line-height:1.2;letter-spacing:-2px;margin-bottom:22px}.price span{font-size:12px;letter-spacing:0}.price-note,.small-note{font-size:11px;line-height:1.9}.price-panel .button{width:100%;margin:8px 0 18px;gap:10px}.small-note{margin:0;color:#779595}.included{margin-top:70px}.included>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.included article{border-top:1px solid #2e4b51;padding-top:25px}.feature-index{color:#4fc2b4;display:block;margin-bottom:22px}.included h2{font-size:18px;line-height:1.5;letter-spacing:-.4px}.included p{font-size:13px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h1{font-size:clamp(40px,4.5vw,64px)}.email-link{display:inline-block;color:#63e5d3;border-bottom:1px solid #3c6965;font-size:13px;margin-top:35px;padding-bottom:10px}form{background:#0a2025;border:1px solid #2d4b51;padding:32px}.form-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.form-heading .mono{color:#66c6bb;font-size:10px}.prototype-tag{font-size:9px;color:#9aafae;padding:5px 8px;border:1px solid #385459;border-radius:3px}label{display:block;font-size:11px;color:#bed2cf;margin-bottom:10px}input,select,textarea{display:block;width:100%;border:1px solid #365258;background:#06171c;color:#e5f5f1;border-radius:0;padding:14px 12px;font-size:12px;margin-bottom:24px;min-height:48px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#73908e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-disclaimer{font-size:10px;line-height:1.7}form .button{width:100%}#form-status{margin-top:22px;padding:15px;background:#103932;color:#95efdb;font-size:12px;line-height:1.8}footer{border-top:1px solid #213a3f;max-width:1280px;margin:0 auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#6b8c8c;font-size:10px}.footer-brand{font-size:18px;color:#c8dfdc;font-weight:600}.skip{position:fixed;top:-100px;left:20px;z-index:99;padding:15px;background:#45e9d2;color:#041014}.skip:focus{top:10px}
@media(min-width:1500px){.intro{min-height:810px}}@media(max-width:1000px){.intro{padding-top:60px;grid-template-columns:1.5fr 1fr}.intro h1{font-size:53px;letter-spacing:-2.5px}.disciplines{gap:15px;font-size:9px}.choices{gap:12px}.choice{padding:25px 20px}.choice h2{font-size:21px}.detail-head{gap:35px;grid-template-columns:1.2fr 1fr}.contact{gap:35px}.form-row{grid-template-columns:1fr;gap:0}.contact form{padding:24px}}
@media(max-width:700px){.header{height:86px;margin:0 24px;padding:0}.brand{font-size:21px;gap:2px}.brand img{width:52px;height:43px}.menu-toggle{display:flex;width:44px;height:44px;padding:10px;border:0;background:none;flex-direction:column;justify-content:center;gap:7px;z-index:12}.menu-toggle span{height:1px;width:23px;background:#69eddf;box-shadow:0 0 8px #4ff4df66;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;left:16px;right:16px;top:76px;padding:25px;background:#0a2029f5;backdrop-filter:blur(20px);border:1px solid #326268;z-index:10;box-shadow:0 20px 40px #0008}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header nav a{font-size:17px;padding:17px 8px}.header nav a:last-child{justify-content:space-between}.header nav a[aria-current]:after{left:8px;bottom:10px}.intro{display:block;min-height:calc(100svh - 86px);padding:45px 25px 25px}.intro-copy{display:flex;flex-direction:column;min-height:calc(100svh - 156px)}.intro .eyebrow{font-size:8px;letter-spacing:1.3px;text-align:center;margin-bottom:28px}.intro h1{text-align:center;font-size:clamp(37px,9vw,62px);line-height:1.12;letter-spacing:-1.7px;margin-bottom:20px}.intro h1 em{display:inline-block;color:#b9fff5;text-shadow:0 0 20px #28e9db55}.intro-description{text-align:center;font-size:12px;line-height:1.9;max-width:280px;margin:0 auto 45px}.intro-bottom{margin-top:auto;width:100%;padding-bottom:10px}.disciplines{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px;padding:16px 0;font-size:10px;letter-spacing:.5px;margin-bottom:25px;border-color:#24d7e277;box-shadow:0 0 15px -8px #0acfe8}.disciplines li:last-child{grid-column:1/-1;border-top:1px solid #24d7e245;padding-top:14px}.disciplines span{font-size:12px}.launch{background:linear-gradient(110deg,#24e6d8,#18c6ed);border:1px solid #97fff2;min-height:61px;padding:17px 23px}.intro-art,.intro-caption{display:none}.circuit{right:-130px;width:700px;opacity:.14}.page-section{padding:45px 24px 45px}.page-heading{margin-bottom:32px}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:23px}h1{font-size:43px;letter-spacing:-1.9px;margin-bottom:24px}.page-heading>p:last-child{font-size:12px}.choices{grid-template-columns:1fr;gap:16px}.choice{padding:24px;background:linear-gradient(120deg,#0d2b30,#071b21)}.choice-top{margin-bottom:20px}.choice-icon{font-size:26px}.choice h2{max-width:none;font-size:23px;margin-bottom:10px}.choice p{min-height:0;font-size:12px;max-width:270px;margin-bottom:23px}.choice-bottom{padding-top:18px}.choice strong{display:inline;font-size:24px;margin:0 4px}.choice-bottom>span:first-child{font-size:10px}.round-arrow{width:36px;height:36px}.quiet-cta{flex-direction:column;gap:14px;margin-top:18px;font-size:11px;line-height:1.7}.quiet-cta a{font-size:12px}.method{margin-top:55px}.method>div{grid-template-columns:1fr;gap:20px}.method h3{margin-top:12px}.back{margin-bottom:34px}.detail-head{grid-template-columns:1fr;gap:24px}.detail h1{font-size:42px}.lede{font-size:13px;margin-bottom:0}.price-panel{padding:26px}.price-label{margin-top:25px}.price{font-size:45px}.included{margin-top:45px}.included>div{grid-template-columns:1fr;gap:20px}.included article{padding-top:20px}.feature-index{margin-bottom:12px}.included h2{font-size:18px;margin-bottom:10px}.contact{grid-template-columns:1fr;gap:5px}.contact h1{font-size:43px}.contact .page-heading{margin-bottom:30px}.email-link{margin-top:25px}.contact form{padding:24px 20px}.form-row{grid-template-columns:1fr}.form-heading{margin-bottom:26px}footer{padding:25px 24px;flex-wrap:wrap;gap:15px}footer>span:nth-child(2){order:3;flex-basis:100%;line-height:1.8}footer>span:last-child{margin-left:auto;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.choice{display:flex;flex-direction:column}.choice h2{min-height:2.6em}.choice p{flex:1}.choice-bottom{margin-top:auto}@media(max-width:700px){.choice h2{min-height:0}}
.refonte-direct h1{font-size:clamp(40px,4.5vw,64px);margin-bottom:38px}.refonte-direct .back{margin-bottom:30px}.direct-layout{display:grid;grid-template-columns:.85fr 1.35fr;gap:28px;align-items:start}.direct-layout form{scroll-margin-top:24px}.direct-layout .price-panel{position:sticky;top:24px}.direct-layout .form-row{grid-template-columns:1fr 1fr}.direct-layout form label{font-size:12px}@media(max-width:700px){.refonte-direct{padding-top:32px}.refonte-direct h1{font-size:37px;margin-bottom:28px}.direct-layout{grid-template-columns:1fr;gap:24px}.direct-layout .price-panel{position:static}.direct-layout form{padding:24px 20px}.direct-layout .form-row{grid-template-columns:1fr}}
/* Refonte : tarif et formulaire dans un cadre commun. */
.direct-layout{background:#0a2025;border:1px solid #2d4b51;gap:0}.direct-layout .price-panel{background:transparent;border:0;position:static}.direct-layout form{background:transparent;border:0;border-left:1px solid #2d4b51}.direct-layout .price-panel,.direct-layout form{padding:32px}@media(max-width:700px){.direct-layout{gap:0}.direct-layout .price-panel{padding:26px}.direct-layout form{border-left:0;border-top:1px solid #2d4b51;padding:26px}}
.choices-only main{min-height:calc(100svh - 110px);display:grid;align-items:center}.project-options{width:min(100% - 96px,1000px);margin:60px auto;display:grid;gap:18px}.project-options a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:132px;padding:32px 40px;background:linear-gradient(115deg,#0c272d,#071a20);border:1px solid #31545b;transition:border-color .2s,background .2s;font-size:clamp(22px,2.8vw,34px);font-weight:600;letter-spacing:-.7px;line-height:1.3}.project-options a>span:last-child{color:#59e9d5;font-size:30px;font-weight:400;flex-shrink:0}.project-options a:hover{border-color:#58dcca;background:#103137}@media(max-width:700px){.choices-only main{min-height:calc(100svh - 86px)}.project-options{width:calc(100% - 48px);margin:36px auto;gap:16px}.project-options a{min-height:140px;padding:26px 24px;font-size:25px;letter-spacing:-.7px}.project-options a>span:last-child{font-size:25px}}
/* Accueil : panneaux éclairés et composition de la référence. */
.choices-only{background:#030e12}.choices-only .ambient{background:radial-gradient(ellipse at 82% 18%,#17434a80,transparent 48%),radial-gradient(ellipse at 12% 80%,#0c363b35,transparent 48%)}.choices-only main{display:flex;flex-direction:column;min-height:calc(100svh - 110px)}.choices-only .project-options{width:min(calc(100% - 96px),840px);margin:clamp(65px,12vh,150px) auto 0;gap:18px}.project-options a{min-height:128px;border:1px solid #5bc7c7;border-radius:3px;background:linear-gradient(115deg,#18363eaa,#10252bc9 65%,#0b2027);box-shadow:0 0 0 1px #5df7ed10,inset 0 0 17px #53d9db09,0 0 17px #29e2dc30,0 8px 24px #0004;font-size:clamp(22px,2.5vw,29px);letter-spacing:-.5px}.project-options a:hover{border-color:#98fff0;background:linear-gradient(115deg,#20464d,#102d33);box-shadow:0 0 23px #29e2dc50}.project-options a>span:last-child{font-size:24px;color:#74d6cb}.custom-quote{display:block;align-self:center;margin:75px 24px 50px;padding:12px 19px;border:1px solid #4e777b;border-radius:3px;color:#a5d0ce;font-family:Georgia,serif;font-size:14px;text-align:center;line-height:1.4;transition:color .2s,border-color .2s}.custom-quote:hover{color:#d7fff7;border-color:#81d9cc}@media(max-width:700px){.choices-only .header{height:76px}.choices-only .brand{font-size:18px}.choices-only .brand img{width:39px;height:34px}.choices-only main{min-height:calc(100svh - 76px)}.choices-only .project-options{width:calc(100% - 48px);margin:auto auto 0;gap:14px;padding-top:55px}.project-options a{min-height:clamp(102px,14svh,126px);padding:24px 20px;font-size:clamp(17px,4.8vw,23px);letter-spacing:-.45px;gap:12px}.project-options a>span:last-child{font-size:20px}.custom-quote{margin:clamp(55px,11svh,90px) 24px 50px;padding:9px 14px;font-size:12px;max-width:calc(100% - 64px)}}
/* Accueil : verre dépoli et volumes cyan. */
.glass-home{isolation:isolate}.glass-home main{position:relative;overflow:hidden;padding:54px 0 40px;min-height:calc(100svh - 110px)}.glass-home .ambient{background:radial-gradient(ellipse at 75% 20%,#0e414a55,transparent 60%)}.glass-welcome{position:relative;z-index:1;text-align:center;margin:0 24px 36px}.glass-welcome h1{font-size:clamp(32px,4.2vw,56px);line-height:1.2;letter-spacing:-1.4px;margin-bottom:12px}.glass-welcome em{color:#78e3dc}.glass-welcome p{font-family:Georgia,serif;font-size:16px;line-height:1.5;color:#8ab2b1;margin:0}.glass-home .project-options{position:relative;z-index:1;margin:0 auto;width:min(calc(100% - 64px),800px);gap:16px;padding:0}.glass-home .project-options a{min-height:116px;display:grid;grid-template-columns:46px 1fr 18px;gap:20px;padding:26px 30px;font-size:23px;letter-spacing:-.5px;border-radius:6px;border:1px solid #a1e4e56b;background:linear-gradient(125deg,#b9e8ef28,#abc8d41c 53%,#dcfaff17);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 1px #e5ffff40,inset 0 -1px 10px #8ce8ef0f,0 7px 22px #0004,0 0 15px #68e6ea13}.glass-home .project-options a:hover{border-color:#affff3bb;background:linear-gradient(125deg,#b9e8ef3b,#abc8d429 53%,#dcfaff22);box-shadow:inset 0 1px 1px #e5ffff55,0 0 25px #68e6ea30}.option-icon{width:40px;height:40px;color:#70d9da;filter:drop-shadow(0 0 7px #36d3e233)}.glass-home .project-options a>span:last-child{font-size:21px;color:#69c9cc}.glass-home .custom-quote{position:relative;z-index:1;margin:55px auto 0;padding:12px 21px;border-color:#7eeae9aa;box-shadow:0 0 14px #39dbe14d,inset 0 0 16px #73eeed15;background:linear-gradient(120deg,#5fe6e51a,#53d7d807);color:#a5ddda;display:flex;align-items:center;gap:4px}.glass-home .custom-quote>span{font-family:Montserrat,sans-serif;font-size:13px;align-self:flex-start}.glass-scene{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.glass-ring{position:absolute;width:440px;height:620px;right:-120px;top:-245px;transform:rotate(30deg);border-radius:50%;border:65px solid #1f727840;box-shadow:inset 1px 0 0 #8cffff33,-1px 0 0 #8cffff33,inset 12px 0 30px #1d869926,0 0 60px #0c485a33}.glass-sphere{position:absolute;width:470px;height:470px;left:-330px;top:280px;border-radius:50%;background:radial-gradient(circle at 78% 50%,#28a8af33,#0d444949 38%,#03181c 70%);box-shadow:inset -2px -1px 1px #86ffff6b,inset -15px -12px 45px #20bcc13a}.glass-grid{position:absolute;top:260px;left:-10%;width:120%;height:380px;background-image:linear-gradient(#5ebbc41a 1px,transparent 1px),linear-gradient(90deg,#5ebbc41a 1px,transparent 1px);background-size:17px 17px;transform:skewY(24deg);mask-image:linear-gradient(transparent,#0008 45%,transparent);-webkit-mask-image:linear-gradient(transparent,#0008 45%,transparent)}@media(min-width:1000px){.glass-ring{right:3%;top:-250px;width:550px;height:750px}.glass-sphere{left:-120px;top:170px;width:550px;height:550px}.glass-grid{top:320px;height:470px}}@media(max-width:700px){.glass-home .header{height:68px;margin:0 20px}.glass-home .brand{font-size:17px}.glass-home .brand img{width:36px}.glass-home main{min-height:calc(100svh - 68px);padding:28px 0 38px}.glass-welcome{margin:0 16px 25px}.glass-welcome h1{font-size:clamp(27px,7.5vw,37px);letter-spacing:-.7px;line-height:1.18;margin-bottom:10px}.glass-welcome p{font-size:13px}.glass-home .project-options{width:calc(100% - 36px);gap:13px}.glass-home .project-options a{min-height:clamp(98px,14svh,120px);grid-template-columns:36px 1fr 12px;gap:12px;padding:21px 16px;font-size:clamp(14px,4.1vw,19px);letter-spacing:-.35px}.option-icon{width:34px;height:38px}.glass-home .project-options a>span:last-child{font-size:18px}.glass-home .custom-quote{margin:clamp(48px,10svh,78px) auto 0;padding:10px 13px;font-size:12px;max-width:calc(100% - 64px)}.glass-ring{width:330px;height:440px;right:-160px;top:-195px;border-width:47px}.glass-sphere{width:300px;height:300px;left:-170px;top:200px}.glass-grid{top:160px;height:370px;background-size:10px 10px}}@media(max-width:350px){.glass-home .project-options a{gap:9px;padding:19px 13px;grid-template-columns:30px 1fr 10px;font-size:14px}.option-icon{width:29px}.glass-welcome p{font-size:12px}.glass-home .custom-quote{font-size:11px;max-width:calc(100% - 50px)}}
/* Détail création de site : cadre verre et tarif central. */
.glass-detail{isolation:isolate;background:#030e12}.glass-detail main{position:relative;overflow:hidden;min-height:calc(100svh - 110px)}.glass-detail .ambient{background:radial-gradient(ellipse at 90% 26%,#13434c66,transparent 65%)}.site-offer{position:relative;z-index:1;max-width:1050px;margin:auto;padding:35px 6% 65px}.glass-back{background:linear-gradient(140deg,#b8e5e523,#8db7bc10);border:1px solid #b4eff126;border-radius:5px;padding:8px 12px;margin-bottom:27px;box-shadow:inset 0 1px 9px #c9faff17;color:#9cbbbb;font-size:12px}.site-offer h1{font-size:clamp(38px,5vw,65px);line-height:1.1;letter-spacing:-1.8px;margin-bottom:22px}.site-offer h1 em{color:#5aead8}.offer-intro{font-size:17px;line-height:1.6;color:#a3b6b8;margin-bottom:32px}.glass-price{max-width:650px;border-radius:7px;border:1px solid #a1e4e58c;background:linear-gradient(120deg,#bddde42e,#abc8d41c 55%,#dcfaff1a);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 2px #e5ffff66,inset 0 0 25px #b4ffff12,0 9px 25px #0005,0 0 19px #68e6ea16;padding:30px}.offer-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:27px}.offer-tags span{font-size:13px;padding:7px 12px;line-height:1.2;border:1px solid #69dfd9b3;border-radius:30px;background:#91eeee10;box-shadow:0 0 10px #39e2dd35,inset 0 0 8px #8cfff326;color:#e4f7f4}.glass-price .price-label{font-size:15px;line-height:1.5;margin:0 0 3px;color:#9eb6b7}.glass-price .price{font-size:53px;font-weight:400;letter-spacing:-2px;margin-bottom:27px}.glass-price .price span{font-size:15px;color:#dae7e7}.glass-price .button{width:100%;background:#17eed9;border:1px solid #49ffed;box-shadow:0 0 0 4px #7ef5ee10,0 0 25px #15dfd236;min-height:66px;font-size:16px;padding:19px 22px}.glass-price .button:hover{background:#70ffec}.offer-maintenance{font-size:13px;color:#9bb5b5;line-height:1.7;margin:23px 0 0}.glass-detail .glass-ring{top:-275px;right:-100px}.glass-detail .glass-sphere{top:350px}.glass-detail .glass-grid{top:230px}@media(min-width:950px){.site-offer{display:grid;grid-template-columns:1.2fr 1fr;gap:0 60px;max-width:1280px;padding:65px 5% 80px}.site-offer .glass-back{grid-column:1/-1;justify-self:start}.site-offer h1{grid-column:1;align-self:end;margin-top:20px}.site-offer .offer-intro{grid-column:1}.glass-price{grid-column:2;grid-row:2/4;align-self:center}.desktop-break{display:none}}@media(max-width:700px){.glass-detail .header{height:76px;margin:0 20px}.glass-detail .brand{font-size:21px}.glass-detail .brand img{width:43px}.glass-detail main{min-height:calc(100svh - 76px)}.site-offer{padding:16px 20px 40px}.glass-back{font-size:11px;padding:7px 10px;margin-bottom:23px}.site-offer h1{font-size:clamp(31px,8.7vw,42px);letter-spacing:-1.1px;line-height:1.1;margin-bottom:18px}.offer-intro{font-size:15px;line-height:1.6;margin-bottom:29px}.desktop-break{display:none}.glass-price{padding:26px 25px 25px}.offer-tags{gap:9px;margin-bottom:26px}.offer-tags span{font-size:13px;padding:6px 10px}.glass-price .price-label{font-size:15px}.glass-price .price{font-size:49px;margin-bottom:26px}.glass-price .price span{font-size:14px}.glass-price .button{min-height:65px;font-size:14px;padding:19px}.offer-maintenance{font-size:12px;margin-top:23px}.glass-detail .glass-ring{width:370px;height:490px;right:-190px;top:-290px;border-width:47px}.glass-detail .glass-sphere{width:350px;height:350px;left:-235px;top:300px}.glass-detail .glass-grid{top:210px;height:390px}}@media(max-width:350px){.site-offer{padding-left:16px;padding-right:16px}.glass-price{padding:23px 20px}.offer-intro{font-size:13px}.glass-price .button{font-size:13px}}
.inline-contact[hidden]{display:none}.inline-contact{grid-column:1/-1;width:100%;max-width:650px;margin-top:65px;scroll-margin-top:24px}.inline-contact-heading{display:flex;align-items:baseline;gap:45px;margin-bottom:22px}.inline-contact-heading .glass-back{margin:0;color:#abc5c4;cursor:pointer}.inline-contact-heading .mono{color:#6e9696;font-size:10px}.inline-contact h2{font-size:clamp(34px,4.2vw,54px);font-weight:600;line-height:1.13;letter-spacing:-1.6px;margin:0 0 35px}.inline-contact form{border-radius:7px;border:1px solid #a1e4e58c;background:linear-gradient(120deg,#bddde42e,#abc8d41c 55%,#dcfaff1a);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 2px #e5ffff66,inset 0 0 25px #b4ffff12,0 9px 25px #0005;padding:28px}.inline-contact .offer-tags{margin-bottom:26px}.inline-contact input,.inline-contact textarea{font-size:14px;background:#04171b33;border-color:#709da373;border-radius:2px;padding:14px;min-height:48px;margin-bottom:16px}.inline-contact textarea{min-height:130px}.inline-contact .primary{background:#17eed9;width:100%;justify-content:center;font-size:16px;min-height:58px;gap:14px}.inline-reassurance{font-size:12px;color:#9cb6b6;margin:18px 0 0}.inline-contact .form-disclaimer{margin:8px 0 0;font-size:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:950px){.inline-contact{justify-self:center;margin-top:80px}}@media(max-width:700px){.inline-contact{margin-top:55px;scroll-margin-top:18px}.inline-contact h2{font-size:36px;letter-spacing:-1px;margin-bottom:30px}.inline-contact form{padding:25px 20px}.inline-contact .offer-tags span{font-size:12px}.inline-contact .primary{font-size:15px}}
.inline-contact{min-height:calc(100svh - 48px)}
.application-scope{font-size:12px;color:#a9c2c1;line-height:1.7;margin:22px 0 -10px}
/* Hologramme uniquement sur le bouton Lancer mon projet. */
.intro-bottom{perspective:950px}.launch{position:relative;transform-origin:center;transform-style:preserve-3d;backface-visibility:visible}.launch:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#b9fff8a6 3px 4px,transparent 4px 7px);mix-blend-mode:screen}.launch.hologram-launching{animation:launch-hologram .76s cubic-bezier(.2,.65,.2,1) forwards;pointer-events:none}.launch.hologram-launching:after{animation:hologram-scan .76s linear forwards}@keyframes launch-hologram{0%{transform:translateZ(0) scale(1) rotateY(0);opacity:1}25%{transform:translateZ(70px) scale(1.08) rotateY(-9deg);opacity:1;background:#6affed;box-shadow:0 0 40px #28efda77}47%{transform:translateZ(95px) scale(1.12) rotateY(24deg);opacity:.85;background:#38dbc94d;color:#cffff6;border-color:#9dffed}65%{transform:translateZ(80px) scale(1.14) rotateY(96deg);opacity:.65;background:#34e5d51a;color:#cffff6}80%{transform:translateZ(55px) scale(1.17) rotateY(151deg);opacity:.32;background:#34e5d50c;color:#dffffa;filter:drop-shadow(0 0 10px #71fff0)}100%{transform:translateZ(20px) scale(1.2) rotateY(180deg);opacity:0;background:transparent;color:#dffffa;filter:blur(3px)}}@keyframes hologram-scan{0%,22%{opacity:0}35%{opacity:.3;transform:translateY(0)}48%{opacity:.85}55%{opacity:.25;transform:translateY(-3px)}70%{opacity:.8;transform:translateY(2px)}100%{opacity:0;transform:translateY(-7px)}}@media(prefers-reduced-motion:reduce){.launch.hologram-launching,.launch.hologram-launching:after{animation:none}}
/* Entrée : indicateur vivant et étapes centrées. */
.status-dot{animation:studio-pulse 2.4s ease-in-out infinite}.disciplines{justify-content:center;text-align:center}.disciplines li{display:flex;align-items:center;justify-content:center}.disciplines span{flex-shrink:0}@keyframes studio-pulse{0%,100%{opacity:1;box-shadow:0 0 12px #4fefd8}50%{opacity:.25;box-shadow:0 0 3px #4fefd844}}@media(max-width:700px){.disciplines{grid-template-columns:1fr 1fr;justify-items:stretch}.disciplines li:last-child{justify-content:center}}@media(prefers-reduced-motion:reduce){.status-dot{animation:none}}
/* Accueil : boutons biseautés et allumage de télévision. */
.glass-home .project-options a{border-radius:0;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.glass-home main{animation:crt-image-on .88s cubic-bezier(.18,.65,.2,1) both;transform-origin:center 40%}.glass-home:before{content:'';position:fixed;left:5%;right:5%;top:44%;height:2px;background:#c7fff6;box-shadow:0 0 12px #78fff4,0 0 35px #23ddd7;z-index:90;pointer-events:none;opacity:0;animation:crt-beam-on .7s ease-out both}.glass-home:after{content:'';position:fixed;inset:0;z-index:89;pointer-events:none;background:repeating-linear-gradient(0deg,#74e8e414 0 1px,transparent 1px 4px);opacity:0;animation:crt-static-on 1.05s ease-out both}@keyframes crt-image-on{0%{opacity:0;transform:scaleY(.003) scaleX(.7);filter:brightness(2.5)}18%{opacity:.25;transform:scaleY(.006) scaleX(1);filter:brightness(2.3)}43%{opacity:.8;transform:scaleY(1.015) scaleX(1);filter:brightness(1.6)}55%{opacity:.65;filter:brightness(.85)}66%{opacity:1;transform:scaleY(.995);filter:brightness(1.15)}100%{opacity:1;transform:none;filter:none}}@keyframes crt-beam-on{0%{opacity:0;transform:scaleX(.06)}12%{opacity:1;transform:scaleX(.7)}30%{opacity:.9;transform:scaleX(1)}75%,100%{opacity:0;transform:scaleX(1)}}@keyframes crt-static-on{0%,18%{opacity:0}30%{opacity:.8}52%{opacity:.35}68%{opacity:.55}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.glass-home main,.glass-home:before,.glass-home:after{animation:none}.glass-home:before,.glass-home:after{display:none}}
/* Trois signatures holographiques, uniquement au clic. */
.glass-home .project-options{perspective:1000px}.glass-home .project-options a{position:relative;transform-origin:center;backface-visibility:visible}.glass-home .project-options a:after{content:'';position:absolute;inset:0;opacity:0;pointer-events:none;mix-blend-mode:screen}.glass-home .holo-in-progress a:not(.holo-chosen){opacity:.48;transition:opacity .24s ease}.glass-home .holo-chosen{pointer-events:none;z-index:3}.glass-home .holo-option-1.holo-chosen{animation:site-holo-deploy .62s ease-in-out forwards}.holo-option-1:after{background:repeating-linear-gradient(0deg,transparent 0 5px,#a6fff999 5px 6px)}.glass-home .holo-option-1.holo-chosen:after{animation:holo-texture .62s ease-out forwards}.glass-home .holo-option-2.holo-chosen{animation:refonte-holo-sweep .62s ease-in-out forwards}.holo-option-2:after{background:linear-gradient(100deg,transparent 30%,#3df5eb22 40%,#c5fff4bb 49%,#49e6ed44 53%,transparent 65%);transform:translateX(-100%)}.glass-home .holo-option-2.holo-chosen:after{animation:holo-scan-rebuild .62s ease-in-out forwards}.glass-home .holo-option-3.holo-chosen{animation:app-holo-fragment .69s cubic-bezier(.2,.6,.3,1) forwards}.holo-option-3:after{background:repeating-linear-gradient(0deg,transparent 0 12px,#84fff6bb 12px 14px,transparent 14px 21px),repeating-linear-gradient(90deg,transparent 0 21px,#29e2de66 21px 23px)}.glass-home .holo-option-3.holo-chosen:after{animation:holo-pixel-dissolve .69s steps(7,end) forwards}@keyframes site-holo-deploy{0%{transform:scale(1) rotateX(0);opacity:1}35%{transform:translateZ(45px) scale(1.04) rotateX(-14deg);border-color:#a3fff2;filter:brightness(1.3);opacity:1}72%{transform:translateZ(70px) scale(1.07) rotateX(62deg);opacity:.7;background:#56e5dc15}100%{transform:translateZ(100px) scale(1.1) rotateX(88deg);opacity:0;filter:blur(2px)}}@keyframes holo-texture{0%{opacity:0}35%{opacity:.55}68%{opacity:.9;transform:translateY(-3px)}100%{opacity:0;transform:translateY(6px)}}@keyframes refonte-holo-sweep{0%{opacity:1;transform:none}30%{opacity:1;filter:brightness(1.25);transform:translateX(-3px)}57%{opacity:.9;transform:translateX(3px);border-color:#b0ffef}100%{opacity:0;transform:translateX(24px) scaleX(1.04);filter:blur(3px)}}@keyframes holo-scan-rebuild{0%{opacity:0;transform:translateX(-100%)}25%{opacity:.9}80%{opacity:.85;transform:translateX(70%)}100%{opacity:0;transform:translateX(100%)}}@keyframes app-holo-fragment{0%{opacity:1;transform:none}30%{opacity:1;transform:translateY(-5px) scale(1.025);filter:brightness(1.25)}54%{opacity:.85;clip-path:polygon(0 0,100% 0,100% 29%,80% 29%,80% 33%,100% 33%,100% 71%,88% 71%,88% 76%,100% 76%,100% 100%,0 100%,0 63%,13% 63%,13% 58%,0 58%)}78%{opacity:.5;transform:translateY(-13px) scale(1.04);filter:blur(.6px)}100%{opacity:0;transform:translateY(-27px) scale(1.07);clip-path:polygon(0 10%,78% 10%,78% 23%,100% 23%,100% 32%,20% 32%,20% 43%,86% 43%,86% 57%,0 57%,0 66%,65% 66%,65% 77%,100% 77%,100% 85%,0 85%);filter:blur(3px)}}@keyframes holo-pixel-dissolve{0%{opacity:0}30%{opacity:.7}60%{opacity:.35;transform:translate(3px,-3px)}82%{opacity:.75;transform:translate(-2px,-8px)}100%{opacity:0;transform:translate(0,-18px)}}@media(prefers-reduced-motion:reduce){.glass-home .holo-chosen,.glass-home .holo-chosen:after{animation:none}.glass-home .holo-in-progress a:not(.holo-chosen){opacity:1}}
/* Le devis reprend le déploiement 3D ; les trois choix se fragmentent. */
.glass-home .custom-quote{transform-origin:center;transform-style:preserve-3d;backface-visibility:visible}.glass-home .custom-quote:after{content:'';position:absolute;inset:0;opacity:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#a6fff999 5px 6px);mix-blend-mode:screen}.glass-home .custom-quote.holo-chosen{animation:site-holo-deploy .62s ease-in-out forwards;pointer-events:none}.glass-home .custom-quote.holo-chosen:after{animation:holo-texture .62s ease-out forwards}@media(prefers-reduced-motion:reduce){.glass-home .custom-quote.holo-chosen,.glass-home .custom-quote.holo-chosen:after{animation:none}}
/* Site vitrine : matérialisation progressive du titre, puis de l’offre. */
body.glass-detail:has(.offer-tags span:first-child) .site-offer{perspective:1000px}
.glass-detail.site-materialize .site-offer h1{animation:title-materialize .78s ease-out both}.glass-detail.site-materialize .offer-intro{animation:copy-materialize .5s .3s ease-out both}.glass-detail.site-materialize .glass-price{animation:price-materialize .85s .48s cubic-bezier(.2,.7,.25,1) both;transform-origin:center}.glass-detail.site-materialize .glass-price:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#a2fff035 5px 6px);opacity:0;animation:price-signal .85s .48s ease-out both}.glass-detail.site-materialize .glass-price{position:relative}@keyframes title-materialize{0%{opacity:0;transform:translateY(7px);filter:blur(3px)}24%{opacity:.65;transform:translateX(-1px);filter:blur(.6px)}36%{opacity:.35;transform:translateX(1px)}55%{opacity:.9;transform:none;filter:blur(0)}68%{opacity:.7}100%{opacity:1;transform:none;filter:none}}@keyframes copy-materialize{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes price-materialize{0%{opacity:0;transform:translateY(14px) rotateX(-5deg);filter:blur(4px)}25%{opacity:.5;filter:blur(1px)}38%{opacity:.22;transform:translateY(5px) translateX(1px)}58%{opacity:.85;transform:translateY(2px);filter:blur(0)}70%{opacity:.65}100%{opacity:1;transform:none;filter:none}}@keyframes price-signal{0%,100%{opacity:0}30%{opacity:.65}55%{opacity:.2}75%{opacity:.4}}@media(prefers-reduced-motion:reduce){.glass-detail.site-materialize .site-offer h1,.glass-detail.site-materialize .offer-intro,.glass-detail.site-materialize .glass-price,.glass-detail.site-materialize .glass-price:after{animation:none}.glass-detail.site-materialize .glass-price:after{display:none}}
/* Formulaire : titre puis cadre, dans le même langage holographique. */
.inline-contact.holo-form-reveal h2{animation:title-materialize .78s ease-out both}.inline-contact.holo-form-reveal .inline-contact-heading{animation:copy-materialize .45s ease-out both}.inline-contact.holo-form-reveal form{position:relative;animation:price-materialize .85s .48s cubic-bezier(.2,.7,.25,1) both;transform-origin:center}.inline-contact.holo-form-reveal form:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#a2fff035 5px 6px);opacity:0;animation:price-signal .85s .48s ease-out both}@media(prefers-reduced-motion:reduce){.inline-contact.holo-form-reveal h2,.inline-contact.holo-form-reveal .inline-contact-heading,.inline-contact.holo-form-reveal form,.inline-contact.holo-form-reveal form:after{animation:none}.inline-contact.holo-form-reveal form:after{display:none}}
.glass-price .button.project-selected{background:#86fff0;border-color:#dbfff8;box-shadow:0 0 0 4px #7ef5ee30,0 0 28px #30fff1aa,0 0 60px #15dfd255;transition:background .18s,box-shadow .18s,border-color .18s}.service-more{margin:0 0 18px;border:1px solid #78c5c16b;border-radius:3px;color:#b8ded8;background:#17383a26}.service-more summary{min-height:46px;padding:12px 14px;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:13px}.service-more summary::-webkit-details-marker{display:none}.service-more summary span{font-size:19px;color:#6ee6d6;transition:transform .2s}.service-more[open] summary span{transform:rotate(45deg)}.service-more[open] summary{border-bottom:1px solid #78c5c135}.service-more>div{padding:17px 14px}.service-more h3{font-size:14px;margin:0 0 13px}.service-more ul{padding-left:18px;font-size:12px;line-height:1.9;margin:0 0 12px}.service-more p{font-size:11px;line-height:1.7;margin:0;color:#9dbab7}.contact-more-link{display:block;text-align:center;border:1px solid #78c5c16b;padding:13px;margin-bottom:16px;color:#b8ded8;font-size:12px}
.service-more-toggle{width:100%;min-height:49px;margin-top:14px;padding:12px 18px;border:1px solid #86d7cfb3;border-radius:0;background:#06282a55;color:#c1f5ea;display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;font-weight:600;box-shadow:inset 0 0 14px #75e8dd0a;transition:background .2s,border-color .2s}.service-more-toggle:hover{background:#1a504d66;border-color:#b3ffed}.service-more-toggle span{font-size:19px;transition:transform .2s}.service-more-toggle[aria-expanded=true] span{transform:rotate(45deg)}.service-information{margin-top:16px;padding:18px 0 0;border-top:1px solid #8dcacb40}.service-information[hidden]{display:none}.service-information h3{font-size:15px;line-height:1.5;margin-bottom:12px}.service-information ul{padding-left:18px;font-size:13px;line-height:1.9;color:#c0d9d5}.service-information p{font-size:11px;margin-bottom:0;color:#a9c2bf}
/* Sélection futuriste, puis retour à l’état normal après défilement. */
.glass-price .button.project-selected{position:relative;overflow:hidden;animation:project-lock .7s ease-out both}.glass-price .button.project-selected:before{content:'';position:absolute;inset:-50%;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#e4fffeb3 49%,transparent 60%);animation:project-lock-scan .65s ease-out both}@keyframes project-lock{0%{transform:scale(1)}35%{transform:scale(1.025);box-shadow:0 0 0 3px #8bfff955,0 0 35px #29fff0bb}65%{transform:scale(.995)}100%{transform:scale(1)}}@keyframes project-lock-scan{from{transform:translateX(-70%)}to{transform:translateX(70%)}}
.header{position:relative;z-index:20}.services-nav{position:relative}.services-parent{display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:5px;padding:0 9px;transition:background .3s,box-shadow .3s,border-color .3s}.services-expander{color:#85d7ca;border:0;background:transparent;font-size:18px;width:30px;min-height:36px;padding:0;transition:transform .3s}.services-expander[aria-expanded=true]{transform:rotate(180deg)}.services-submenu{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .38s ease,opacity .3s;position:absolute;top:100%;left:0;min-width:240px;pointer-events:none}.services-submenu>div{overflow:hidden;min-height:0;background:#0c252deb;backdrop-filter:blur(18px);border-radius:5px}.services-submenu.submenu-open{grid-template-rows:1fr;opacity:1;pointer-events:auto}.header .services-submenu a{display:block!important;font-size:12px!important;padding:16px!important;margin:5px;color:#b7cfcb;border:1px solid transparent;border-radius:4px;line-height:1.5}.header .services-submenu a:last-child{display:block}.header .services-submenu a:after{display:none}.header .services-submenu a:hover{background:#50d7c61c}.service-guide main,.service-guide footer{filter:blur(7px);opacity:.4;transition:filter .35s,opacity .35s}.service-guide .header{position:sticky;top:0;background:#041014d9;backdrop-filter:blur(16px)}.guide-highlight{background:#57dac427!important;border-color:#a7fff08c!important;box-shadow:0 0 0 4px #6fffe411,inset 0 0 18px #9dfff51c,0 0 22px #42efd53b!important;color:#d4fff1!important}.service-arrival{scroll-margin-top:40px;animation:service-location 1.6s ease-out both}@keyframes service-location{0%,35%{border-color:#adfff0;box-shadow:0 0 24px #3de6d855}100%{border-color:#31545b;box-shadow:none}}.service-guide .menu-toggle{position:relative;z-index:30}@media(max-width:700px){.services-parent{padding:0 8px}.services-parent .services-main{flex:1}.services-expander{width:44px;min-height:48px}.services-submenu{position:static;min-width:0}.services-submenu>div{background:#0a1e2466;margin-left:12px}.header .services-submenu a{font-size:13px!important;padding:13px!important}.service-guide .header nav{max-height:calc(100svh - 100px);overflow:auto}}@media(prefers-reduced-motion:reduce){.glass-price .button.project-selected,.glass-price .button.project-selected:before,.service-arrival{animation:none}.services-submenu{transition:none}}
/* Menu toujours visible et transmission spatiale sur l’accueil. */
.header{position:sticky;top:0;z-index:40;background:#041014e8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}body.signal-home .header,body.glass-detail .header{position:sticky;top:0}body.signal-home main{animation:signal-acquisition 1.7s ease-out both,space-signal-drift 3s 1.7s infinite;transform-origin:center}body.signal-home .header{animation:space-signal-drift 3s 1.7s infinite}body.signal-home:before{animation:none;display:none}body.signal-home:after{background:repeating-linear-gradient(0deg,transparent 0 5px,#74e8e426 5px 6px);animation:signal-interference 3s 1.7s infinite;opacity:0}body.signal-home .glass-scene{animation:scene-acquisition 1.7s ease-out both}@keyframes signal-acquisition{0%{opacity:.05;filter:blur(12px);transform:scale(1.012)}15%{opacity:.25;filter:blur(8px);transform:translateX(-2px)}28%{opacity:.5;filter:blur(4px);transform:translateX(1px)}37%{opacity:.3;filter:blur(6px);transform:translateX(-1px)}55%{opacity:.72;filter:blur(2px);transform:none}65%{opacity:.6;filter:blur(3px)}83%{opacity:.95;filter:blur(.5px)}100%{opacity:1;filter:none;transform:none}}@keyframes scene-acquisition{0%{opacity:.1;filter:blur(14px)}45%{opacity:.5;filter:blur(6px)}100%{opacity:1;filter:none}}@keyframes space-signal-drift{0%,85%,100%{filter:none;transform:none}88%{filter:blur(.7px);transform:translateX(.8px) skewX(.12deg)}91%{filter:blur(.35px);transform:translateX(-.8px) skewX(-.1deg)}94%{filter:blur(.5px);transform:translateX(.4px)}97%{filter:none;transform:none}}@keyframes signal-interference{0%,85%,100%{opacity:0;transform:none}89%{opacity:.45;transform:translateY(2px)}92%{opacity:.2;transform:translateY(-2px)}95%{opacity:.35;transform:translateY(1px)}98%{opacity:0;transform:none}}@media(prefers-reduced-motion:reduce){body.signal-home main,body.signal-home .header,body.signal-home .glass-scene,body.signal-home:after{animation:none}body.signal-home:after{display:none}}
/* Fond vivant uniquement sur « Donnez vie à vos projets ». */
.glass-home .glass-ring{animation:background-orbit 19s ease-in-out infinite;will-change:transform}.glass-home .glass-sphere{animation:background-float 15s ease-in-out infinite;will-change:transform}.glass-home .glass-grid{animation:background-grid-drift 24s ease-in-out infinite;will-change:transform}@keyframes background-orbit{0%,100%{transform:rotate(30deg) translate(0,0)}50%{transform:rotate(34deg) translate(-12px,10px)}}@keyframes background-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(13px,-16px) scale(1.025)}}@keyframes background-grid-drift{0%,100%{transform:skewY(24deg) translateY(0);opacity:.7}50%{transform:skewY(25deg) translateY(10px);opacity:1}}@media(prefers-reduced-motion:reduce){.glass-home .glass-ring,.glass-home .glass-sphere,.glass-home .glass-grid{animation:none;will-change:auto}}
/* Mouvement ambiant partagé par toutes les pages. */
main{position:relative;isolation:isolate}main>.glass-scene{z-index:-1}main>.glass-scene .glass-ring{animation:background-orbit 19s ease-in-out infinite;will-change:transform}main>.glass-scene .glass-sphere{animation:background-float 15s ease-in-out infinite;will-change:transform}main>.glass-scene .glass-grid{animation:background-grid-drift 24s ease-in-out infinite;will-change:transform}.signal-home .circuit{animation:circuit-float 22s ease-in-out infinite}@keyframes circuit-float{0%,100%{transform:translate(0,0)}50%{transform:translate(-8px,10px)}}@media(prefers-reduced-motion:reduce){main>.glass-scene .glass-ring,main>.glass-scene .glass-sphere,main>.glass-scene .glass-grid,.signal-home .circuit{animation:none;will-change:auto}}
/* Bandeau réellement fixe, indépendant de la longueur du contenu. */
body{padding-top:110px}.header,.glass-home .header,.glass-detail .header,body.signal-home .header,.service-guide .header{position:fixed;top:0;left:0;right:0;margin:0 auto;width:100%;height:110px;max-width:1440px;padding:0 6%;z-index:100;background:#041014ed;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}@media(max-width:700px){body{padding-top:86px}.header,body.signal-home .header,.service-guide .header{height:86px;padding:0 24px}.glass-home{padding-top:68px}.glass-home .header{height:68px;padding:0 20px}.glass-detail{padding-top:76px}.glass-detail .header{height:76px;padding:0 20px}.choices-only:not(.glass-home){padding-top:76px}.choices-only:not(.glass-home) .header{height:76px}}
html{scroll-padding-top:126px}.inline-contact{scroll-margin-top:0}.service-arrival{scroll-margin-top:0}@media(max-width:700px){html{scroll-padding-top:100px}.inline-contact{scroll-margin-top:0}}
/* Menu dans le flux : il défile avec la page. */
body,.glass-home,.glass-detail,.choices-only:not(.glass-home){padding-top:0}.header,.glass-home .header,.glass-detail .header,body.signal-home .header,.service-guide .header{position:relative;top:auto;left:auto;right:auto}html{scroll-padding-top:24px}@media(max-width:700px){body,.glass-home,.glass-detail,.choices-only:not(.glass-home){padding-top:0}html{scroll-padding-top:18px}}
/* Services : contenu de découverte, distinct des pages courtes de choix. */
.service-explainer{border:1px solid #67c8c54d;background:#11303766;padding:36px;margin:0 0 32px;border-radius:6px;scroll-margin-top:30px}.service-explainer h2{font-size:30px;letter-spacing:-.8px}.service-explainer-intro{max-width:720px}.explanation-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0}.explanation-features article{border-top:1px solid #679e9e55;padding-top:20px}.explanation-features h3{font-size:16px;line-height:1.5}.explanation-features p{font-size:12px}.service-explainer-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid #679e9e44;padding-top:25px;font-size:12px}.service-explainer-bottom strong{display:block;color:#b4f9e8;font-size:22px;margin:8px 0}.service-explainer-bottom small{display:block;font-size:10px;max-width:300px;color:#90aeaa;line-height:1.7}
@media(max-width:700px){.header{z-index:110}.header nav{display:flex;position:fixed;inset:0;top:0;left:0;right:0;bottom:0;z-index:100;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;max-height:none!important;overflow-y:auto;padding:110px 30px 40px;margin:0;border:0;background:linear-gradient(140deg,#071d27eb,#06171fe8);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:none;visibility:hidden;opacity:0;transform:translateY(-32px);transition:transform .52s cubic-bezier(.2,.75,.2,1),opacity .4s ease,visibility 0s .52s;pointer-events:none}.header nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto;transition:transform .52s cubic-bezier(.2,.75,.2,1),opacity .4s ease,visibility 0s}.header nav>a,.header .services-main{font-size:25px;line-height:1.4;padding:20px 10px}.header nav>a{border-bottom:1px solid #679e9e22}.header nav>a:last-child{justify-content:space-between}.header .services-parent{padding:0 10px}.header .services-expander{font-size:24px;width:48px}.header .services-submenu>div{margin:8px 0 4px 20px;background:#0a182344;border-left:1px solid #80c4bf55;border-radius:0}.header .services-submenu a{font-size:16px!important;padding:16px!important;margin:5px 9px}.menu-toggle{position:relative;z-index:120}.menu-visible .brand{position:relative;z-index:120}.menu-visible.signal-home .header{animation:none;transform:none;filter:none}.service-guide .header{background:transparent;backdrop-filter:none}.header nav.open .services-parent{transition:background .35s,box-shadow .35s,border-color .35s}.service-explainer{padding:25px 22px}.service-explainer h2{font-size:25px}.explanation-features{grid-template-columns:1fr;gap:10px}.service-explainer-bottom{flex-direction:column;align-items:stretch}.service-explainer-bottom .button{width:100%}.detailed-services .page-heading h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){.header nav,.header nav.open{transition:none;transform:none}}
@media(max-width:700px){.menu-visible .header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;filter:none}.menu-visible .header .menu-toggle{background:#08202b99;border-radius:4px}}
.header .services-submenu a[aria-current=location]{color:#b9fff0;background:#4bd9bb19;border-color:#77ddca77}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.portfolio-project{border:1px solid #6ab5b655;background:#13303977;border-radius:6px;overflow:hidden}.portfolio-image{display:block;aspect-ratio:1.5;overflow:hidden;background:#10252b}.portfolio-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .45s ease}.portfolio-image:hover img{transform:scale(1.025)}.portfolio-project-copy{padding:25px}.portfolio-project .eyebrow{font-size:9px;display:block;margin-bottom:14px}.portfolio-project h2{font-size:23px;letter-spacing:-.6px;line-height:1.4;margin-bottom:20px}.portfolio-demo{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #649c9e4a;padding-top:18px;font-size:12px;color:#90e7d8;min-height:44px}.portfolio-unavailable{display:block;border-top:1px solid #649c9e4a;padding-top:18px;font-size:11px;color:#92adad}.about-lede{font-size:17px;max-width:750px}.about-manifesto{border:1px solid #80d8d064;background:linear-gradient(125deg,#8de3e41b,#0b252966);padding:38px;max-width:850px;border-radius:6px;margin-bottom:45px}.about-manifesto h2{font-size:30px;letter-spacing:-.8px;margin:20px 0}.about-manifesto p{max-width:680px;margin-bottom:0}.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.about-principles article{border-top:1px solid #699e9f66;padding:25px 0}.about-principles .mono{color:#72cfc2;font-size:10px}.about-principles h2{font-size:20px;line-height:1.4;margin:20px 0 14px}.about-principles p{font-size:13px}.about-next{border-top:1px solid #699e9f44;margin-top:35px;padding-top:35px}.about-next h2{font-size:27px;line-height:1.4}.about-contact{display:inline-block;color:#94e8d6;font-size:12px;margin-left:25px}.header nav{gap:26px}@media(max-width:700px){.header nav{gap:6px;padding-top:90px}.header nav>a,.header .services-main{font-size:22px;padding:16px 10px}.header .services-expander{min-height:44px}.portfolio-grid{grid-template-columns:1fr;gap:24px}.portfolio-project-copy{padding:23px}.portfolio-project h2{font-size:22px}.about-lede{font-size:14px}.about-manifesto{padding:26px 23px}.about-manifesto h2{font-size:26px}.about-principles{grid-template-columns:1fr;gap:0}.about-principles h2{margin-top:15px}.about-next h2{font-size:24px}.about-next .button{width:100%}.about-contact{display:block;text-align:center;margin:23px 0 0}}@media(min-width:701px) and (max-width:1050px){.header{padding-left:4%;padding-right:4%}.header nav{gap:13px;font-size:11px}.brand{font-size:21px}.brand img{width:48px}.services-parent{padding:0 4px;gap:2px}.services-expander{width:24px}}
/* L’utilisateur valide lui-même sa destination dans le menu. */
.header .services-submenu a.guide-destination{position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:12px;border:1px solid #aaffed!important;background:linear-gradient(110deg,#36d9b932,#3aadaa20)!important;color:#e4fff6!important;box-shadow:0 0 0 3px #69ffe91a,0 0 24px #44eac744!important;font-weight:600;animation:guide-invite 2.2s ease-in-out infinite}.guide-destination:before{content:'➜';color:#8fffe5;font-size:20px;flex-shrink:0}.header .services-submenu a.guide-destination:after{content:'Cliquez ici';display:inline-block!important;position:static;background:#a5ffe8;color:#092920;padding:4px 7px;border-radius:3px;width:auto;height:auto;font-size:9px;line-height:1.5;font-weight:600;white-space:nowrap}.guide-instruction{font-size:11px;color:#b4e7dc;line-height:1.7;padding:12px 15px;margin:7px 0 0;max-width:290px}.services-nav:has(.guide-destination) .services-submenu{min-width:325px}.services-nav:has(.guide-destination) .services-submenu a:not(.guide-destination){opacity:.55}@keyframes guide-invite{0%,100%{box-shadow:0 0 0 3px #69ffe91a,0 0 18px #44eac733}50%{box-shadow:0 0 0 5px #69ffe925,0 0 30px #44eac766}}@media(max-width:700px){.services-nav:has(.guide-destination) .services-submenu{min-width:0}.header .services-submenu a.guide-destination{flex-wrap:wrap;gap:8px;font-size:15px!important;padding:16px 12px!important}.guide-instruction{margin-left:20px;padding-left:10px}.header .services-submenu a.guide-destination:after{margin-left:auto}}@media(prefers-reduced-motion:reduce){.header .services-submenu a.guide-destination{animation:none}}
/* Sélection 3D et réception lointaine du repère de navigation. */
.service-more-toggle{position:relative;transform-origin:center;backface-visibility:visible}.service-more-toggle.guide-launch{animation:site-holo-deploy .62s ease-in-out forwards;pointer-events:none}.service-more-toggle:after{content:'';position:absolute;inset:0;opacity:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#a6fff999 5px 6px);mix-blend-mode:screen}.service-more-toggle.guide-launch:after{animation:holo-texture .62s ease-out forwards}.services-parent.guide-highlight{animation:remote-message-lock .82s ease-out both}.header .services-submenu a.guide-destination{animation:remote-message-lock .92s ease-out both,guide-invite 2.2s .92s ease-in-out infinite}.guide-instruction{animation:remote-copy-lock .9s ease-out both}@keyframes remote-message-lock{0%{opacity:.06;filter:blur(6px);transform:translateX(-2px) scaleX(.98)}16%{opacity:.5;filter:blur(2px);transform:translateX(1px)}27%{opacity:.18;filter:blur(3px);transform:translateX(-1px)}43%{opacity:.75;filter:blur(.8px);transform:none}54%{opacity:.4;filter:blur(1.6px);transform:translateX(1px)}68%{opacity:.9;filter:blur(.3px);transform:none}77%{opacity:.68;filter:blur(.6px)}100%{opacity:1;filter:none;transform:none}}@keyframes remote-copy-lock{0%,30%{opacity:0;filter:blur(3px)}55%{opacity:.65;filter:blur(1px)}70%{opacity:.35}100%{opacity:1;filter:none}}@media(prefers-reduced-motion:reduce){.service-more-toggle.guide-launch,.service-more-toggle.guide-launch:after,.services-parent.guide-highlight,.header .services-submenu a.guide-destination,.guide-instruction{animation:none}}
/* Services : bénéfices lisibles, visuels utiles et tarifs sans détour. */
.benefits-services{max-width:1100px}.service-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 32px}.service-shortcuts a{padding:11px 15px;border:1px solid #62c7bd55;background:#0b302f55;border-radius:4px;font-size:12px;color:#b5e5db}.service-shortcuts a:hover{border-color:#80efda}.benefit-offer{max-width:850px;margin:0 auto 36px;padding:38px;border-color:#43a79d77;background:linear-gradient(120deg,#073c3573,#032a2766 65%,#062a2c66);box-shadow:inset 0 1px 1px #9af0df1a,0 7px 25px #0002}.benefit-offer>.eyebrow{color:#32e9d2;letter-spacing:1.7px;margin-bottom:22px}.benefit-offer h2{font-size:clamp(29px,3.5vw,41px);font-weight:600;line-height:1.22;letter-spacing:-1px;margin-bottom:15px}.benefit-intro{font-size:15px;line-height:1.6;color:#a7c8c7;max-width:700px;margin-bottom:29px}.benefit-list{display:grid;gap:24px}.benefit-row{display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:start}.benefit-icon{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;background:#007c6b33;color:#06eadb}.benefit-icon svg{width:32px;height:32px}.benefit-row h3{font-size:16px;line-height:1.4;margin:0 0 5px;font-weight:600;color:#e6f8f1}.benefit-row p{font-size:13px;color:#91b7bb;line-height:1.55;margin:0;max-width:560px}.benefit-price{border-top:1px solid #46797666;margin-top:28px;padding-top:20px}.benefit-price>span{font-size:12px;color:#96b4b7}.benefit-amount{color:#0aebd8;line-height:1.3;font-weight:600;font-size:33px;letter-spacing:-1px;margin:6px 0 4px}.benefit-amount small{display:block;font-size:11px;letter-spacing:0;color:#9bb9b8;font-weight:400;margin-bottom:3px}.benefit-quote{font-size:11px;line-height:1.7;margin:0 0 19px;color:#9abcbf}.benefit-price .button{width:100%;min-height:54px;border-radius:5px;font-size:14px}.benefit-price .primary{background:#08e9d4;border-color:#22f7dd;box-shadow:0 0 15px #12e4cd15}.secondary-portfolio{margin-top:12px;background:#12373555;border:1px solid #66d3c38c!important;color:#b7f5e5;box-shadow:none}.secondary-portfolio:hover{background:#20534b66;border-color:#a4f9e3!important}.benefit-fees{font-size:10px;line-height:1.6;color:#7faaa7;margin:16px 0 0}@media(max-width:700px){.benefits-services{padding:36px 18px}.benefits-services .page-heading{padding:0 5px;margin-bottom:27px}.benefits-services h1{font-size:37px}.service-shortcuts{gap:8px;margin-bottom:24px}.service-shortcuts a{padding:9px 10px;font-size:10px}.benefit-offer{padding:25px 23px;margin-bottom:25px}.benefit-offer>.eyebrow{font-size:10px;margin-bottom:18px}.benefit-offer h2{font-size:28px;letter-spacing:-.7px}.benefit-intro{font-size:13px;margin-bottom:25px}.benefit-list{gap:21px}.benefit-row{grid-template-columns:43px 1fr;gap:16px}.benefit-icon{width:43px;height:45px}.benefit-row h3{font-size:13px}.benefit-row p{font-size:12px;line-height:1.55}.benefit-amount{font-size:29px}.benefit-price{margin-top:24px;padding-top:16px}.benefit-price .button{font-size:13px}}@media(max-width:350px){.benefit-offer{padding:23px 19px}.benefit-row{gap:12px;grid-template-columns:38px 1fr}.benefit-icon{width:38px;height:42px}.benefit-offer h2{font-size:25px}}
/* Repère inverse : Services → parcours Accueil du projet choisi. */
.header nav a.guide-return{position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:15px;padding-left:18px!important;padding-right:18px!important;border:1px solid #aaffed!important;border-radius:5px;color:#e4fff6!important;background:#36d9b932!important;box-shadow:0 0 0 3px #69ffe91a,0 0 24px #44eac744!important;animation:remote-message-lock .92s ease-out both,guide-invite 2.2s .92s ease-in-out infinite}.header nav a.guide-return:after{content:'Reprendre mon projet ↗';display:inline-block!important;position:static;width:auto;height:auto;background:#a5ffe8;color:#092920;padding:5px 8px;border-radius:3px;font-size:10px;line-height:1.5;white-space:nowrap}.header nav>a.guide-return+.guide-instruction{margin:0 0 10px;padding:6px 15px;max-width:340px;font-size:11px}@media(min-width:701px){.header nav>a.guide-return+.guide-instruction{position:absolute;top:90%;right:0;max-width:350px;background:#0c252df5;border:1px solid #6fc7b866;border-radius:4px;padding:15px;margin-top:12px}.header nav a.guide-return{font-size:12px}}@media(max-width:350px){.header nav a.guide-return{flex-wrap:wrap;gap:8px}.header nav a.guide-return:after{font-size:9px}}@media(prefers-reduced-motion:reduce){.header nav a.guide-return{animation:none}}
/* Sélection lumineuse stable : pas de clignotement du bouton. */
.glass-price .button.project-selected{animation:none;transform:none;opacity:1;filter:none;transition:background .25s,border-color .25s,box-shadow .25s}.glass-price .button.project-selected:before{animation:project-lock-scan .65s ease-out both;opacity:.45}#inline-contact-title:focus{outline:none}
/* Bouton du parcours Accueil uniquement : contact électrique toutes les secondes. */
.glass-price .button.primary[data-reveal-contact]{animation:project-bulb-contact 1s linear infinite}@keyframes project-bulb-contact{0%,12%,21%,36%,47%,65%,100%{filter:brightness(1);box-shadow:0 0 15px #12e4cd25}15%,39%{filter:brightness(.65);box-shadow:0 0 2px #12e4cd10}18%,43%,69%{filter:brightness(1.25);box-shadow:0 0 25px #36ffe880}25%,51%{filter:brightness(.85);box-shadow:0 0 6px #12e4cd22}30%,58%,77%{filter:brightness(1.1);box-shadow:0 0 18px #28efd555}}@media(prefers-reduced-motion:reduce){.glass-price .button.primary[data-reveal-contact]{animation:none}}
/* Néon vieillissant : repos prolongé, rares baisses de lumière sans flash. */
.glass-price .button.primary[data-reveal-contact]{animation:project-neon-falter 8.6s ease-in-out infinite}@keyframes project-neon-falter{0%,58%,80%,100%{filter:brightness(1);box-shadow:0 0 15px #12e4cd28}62%{filter:brightness(.78);box-shadow:0 0 6px #12e4cd18}66%{filter:brightness(.92);box-shadow:0 0 11px #12e4cd22}70%{filter:brightness(.66);box-shadow:0 0 2px #12e4cd0c}75%{filter:brightness(.82);box-shadow:0 0 7px #12e4cd18}90%{filter:brightness(1);box-shadow:0 0 15px #12e4cd28}93%{filter:brightness(.84);box-shadow:0 0 7px #12e4cd18}97%{filter:brightness(1);box-shadow:0 0 15px #12e4cd28}}@media(prefers-reduced-motion:reduce){.glass-price .button.primary[data-reveal-contact]{animation:none}}
/* Même cycle lent : dérive, étirement et déchirure légère du néon. */
.glass-price .button.primary[data-reveal-contact]{animation:project-neon-falter 8.6s ease-in-out infinite,project-neon-warp 8.6s ease-in-out infinite;transform-origin:center;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}@keyframes project-neon-warp{0%,58%,80%,90%,100%{transform:none;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}62%{transform:translateX(1.5px) scaleX(1.008) skewX(.5deg);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}66%{transform:translateX(-2px) scaleX(1.014) skewX(-.8deg);clip-path:polygon(0 0,100% 0,100% 37%,98.5% 37%,98.5% 41%,100% 41%,100% 100%,0 100%,0 65%,1.5% 65%,1.5% 61%,0 61%)}70%{transform:translateX(1px) scaleX(.994) skewX(.5deg);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 47%,2% 47%,2% 43%,0 43%)}75%{transform:translateX(-.7px) scaleX(1.003) skewX(-.2deg);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}93%{transform:translateX(-1px) scaleX(1.006) skewX(-.35deg);clip-path:polygon(0 0,100% 0,100% 60%,99% 60%,99% 64%,100% 64%,100% 100%,0 100%)}97%{transform:translateX(.5px) scaleX(1.002);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@media(prefers-reduced-motion:reduce){.glass-price .button.primary[data-reveal-contact]{animation:none;transform:none;clip-path:none}}
/* Petits carrés holographiques : disparition partielle, puis retour normal. */
.glass-price .button.primary[data-reveal-contact]{animation:project-pixel-signal 2s ease-in-out infinite;transform:none;clip-path:none;mask-image:none;-webkit-mask-image:none}@keyframes project-pixel-signal{0%,65%,100%{opacity:1;filter:none;transform:none;mask-image:none;-webkit-mask-image:none}70%,86%{opacity:.92;filter:none;transform:none;mask-image:conic-gradient(from 90deg,transparent 25%,#000 0 75%,transparent 0);-webkit-mask-image:conic-gradient(from 90deg,transparent 25%,#000 0 75%,transparent 0);mask-size:24px 24px;-webkit-mask-size:24px 24px;mask-position:0 0;-webkit-mask-position:0 0}77%{opacity:.85;mask-image:conic-gradient(from 0deg,#000 25%,transparent 0 50%,#000 0);-webkit-mask-image:conic-gradient(from 0deg,#000 25%,transparent 0 50%,#000 0);mask-size:24px 24px;-webkit-mask-size:24px 24px;mask-position:12px 0;-webkit-mask-position:12px 0}92%{opacity:1;mask-image:conic-gradient(from 90deg,#000 75%,transparent 0);-webkit-mask-image:conic-gradient(from 90deg,#000 75%,transparent 0);mask-size:24px 24px;-webkit-mask-size:24px 24px;mask-position:0 12px;-webkit-mask-position:0 12px}}@media(prefers-reduced-motion:reduce){.glass-price .button.primary[data-reveal-contact]{animation:none;mask-image:none;-webkit-mask-image:none}}
/* CTA au repos : aucun effet. Au clic : même fragmentation que les choix d’accueil. */
.glass-price .button.primary[data-reveal-contact]{animation:none;transform:none;clip-path:none;mask-image:none;-webkit-mask-image:none;filter:none;opacity:1}.glass-price .button.primary[data-reveal-contact]:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 12px,#84fff6bb 12px 14px,transparent 14px 21px),repeating-linear-gradient(90deg,transparent 0 21px,#29e2de66 21px 23px);mix-blend-mode:screen}.glass-price .button.primary[data-reveal-contact]{position:relative}.glass-price .button.primary[data-reveal-contact].holo-chosen{animation:app-holo-fragment .69s cubic-bezier(.2,.6,.3,1) forwards;pointer-events:none}.glass-price .button.primary[data-reveal-contact].holo-chosen:after{animation:holo-pixel-dissolve .69s steps(7,end) forwards}@media(prefers-reduced-motion:reduce){.glass-price .button.primary[data-reveal-contact].holo-chosen,.glass-price .button.primary[data-reveal-contact].holo-chosen:after{animation:none}}
/* Aperçu holographique au repos, fragmentation complète au clic. */
.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:project-idle-hologram 2s ease-in-out infinite}.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen):after{animation:project-idle-grid 2s steps(5,end) infinite}@keyframes project-idle-hologram{0%,65%,100%{opacity:1;transform:none;filter:none;clip-path:none}74%{opacity:.92;transform:translateY(-1px) scale(1.005);filter:brightness(1.04);clip-path:polygon(0 0,100% 0,100% 35%,98% 35%,98% 39%,100% 39%,100% 100%,0 100%)}83%{opacity:.84;transform:translateY(-2px) scale(1.01);filter:none;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 65%,2% 65%,2% 60%,0 60%)}92%{opacity:.96;transform:none;clip-path:none}}@keyframes project-idle-grid{0%,65%,100%{opacity:0;transform:none}75%{opacity:.35;transform:translateY(-1px)}83%{opacity:.55;transform:translate(1px,-3px)}92%{opacity:.15;transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen),.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen):after{animation:none}}
/* Curseur de saisie holographique : repère cyan, forme de texte conservée. */
form input:not([type=hidden]),form textarea{caret-color:#54ffe4;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M11 5h10M16 5v22M11 27h10' fill='none' stroke='%23051e25' stroke-width='4'/%3E%3Cpath d='M11 5h10M16 5v22M11 27h10' fill='none' stroke='%237dffe9' stroke-width='1.5'/%3E%3Cpath d='M8 9V5h3m10 0h3v4M8 23v4h3m10 0h3v-4' fill='none' stroke='%2336b7c8' stroke-width='1'/%3E%3C/svg%3E") 16 16,text;transition:border-color .2s,box-shadow .2s,background .2s}form input:not([type=hidden]):focus,form textarea:focus{outline:1px solid #71f5df88;outline-offset:2px;border-color:#5be8d2;background-color:#082a2b55;box-shadow:0 0 15px #2ce8ce18,inset 3px 0 0 #5deed4}form input:not([type=hidden])::selection,form textarea::selection{background:#49e4ce55;color:#e6fff7}
form .maquette-option{display:flex;align-items:center;gap:12px;min-height:44px;margin:3px 0 17px;padding:8px 0;color:#d4eee8;font-size:13px;cursor:pointer}form .maquette-option input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;accent-color:#2be4ca;width:19px;height:19px;min-height:0;flex:0 0 19px;margin:0;padding:0;border:0;box-shadow:none;cursor:pointer}form .maquette-option input[type=checkbox]:focus-visible{outline:2px solid #71f5df;outline-offset:4px}form .maquette-option span{line-height:1.5}
/* Services : commande toujours accessible à droite et tiroir coulissant. */
.services-page.menu-gluant .header .menu-toggle{display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%);z-index:150;width:48px;height:58px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:10px;border:1px solid #78dfce99;border-radius:7px 0 0 7px;background:#0b2935db;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:0 0 19px #32d9bc26;transition:right .45s ease,background .25s}.services-page.menu-gluant .header .menu-toggle:after{content:'MENU';font-family:ui-monospace,monospace;font-size:7px;letter-spacing:1px;color:#88d7ca;line-height:1;margin-top:4px}.services-page.menu-gluant .header .menu-toggle span{width:22px;height:1px;background:#8aead8}.services-page.menu-gluant .header .menu-toggle[aria-expanded=true]{top:30px;right:23px;transform:none;height:44px;border-radius:5px}.services-page.menu-gluant .header .menu-toggle[aria-expanded=true]:after{display:none}.services-page.menu-gluant .header nav{display:flex;position:fixed;inset:0 0 0 auto;z-index:130;width:min(390px,100%);height:100svh;max-height:100svh!important;overflow:auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:7px;padding:95px 27px 35px;border:0;border-left:1px solid #78dfce44;background:linear-gradient(130deg,#0b2733ee,#06181ff0);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:-20px 0 60px #0005;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(105%);transition:transform .5s cubic-bezier(.2,.75,.2,1),opacity .35s,visibility 0s .5s}.services-page.menu-gluant .header nav:before{content:'EXPLORER WEBERIO';position:absolute;top:42px;left:29px;color:#83b8b2;font-family:ui-monospace,monospace;font-size:9px;letter-spacing:1.7px}.services-page.menu-gluant .header nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);transition:transform .5s cubic-bezier(.2,.75,.2,1),opacity .35s,visibility 0s}.services-page.menu-gluant .header nav>a,.services-page.menu-gluant .header .services-main{font-size:22px;padding:17px 10px;line-height:1.4}.services-page.menu-gluant .header nav>a{border-bottom:1px solid #699c9f26}.services-page.menu-gluant .header nav>a:last-child{display:flex;justify-content:space-between}.services-page.menu-gluant .services-parent{padding:0 10px}.services-page.menu-gluant .services-main{flex:1}.services-page.menu-gluant .services-submenu{position:static;min-width:0}.services-page.menu-gluant .services-submenu>div{margin-left:18px;background:#071e2466;border-left:1px solid #6fc7b855;border-radius:0}.services-page.menu-gluant .header .services-submenu a{font-size:14px!important;padding:14px!important}.services-page.menu-gluant .header .services-expander{width:44px;height:44px;font-size:22px}.services-page.menu-gluant.menu-visible .header{backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent}.services-page.menu-gluant .header nav>a.guide-return+.guide-instruction{position:static;margin:0 0 9px;background:none;border:0;padding:8px 10px;font-size:11px;max-width:none}.services-page.menu-gluant .benefits-services{padding-right:70px}@media(max-width:700px){.services-page.menu-gluant .header .menu-toggle{right:0;width:39px;height:54px;padding:7px}.services-page.menu-gluant .header .menu-toggle span{width:18px}.services-page.menu-gluant .benefits-services{padding-right:49px;padding-left:15px}.services-page.menu-gluant .benefit-offer{padding:23px 19px}.services-page.menu-gluant .benefit-row{gap:12px;grid-template-columns:35px 1fr}.services-page.menu-gluant .benefit-icon{width:35px;height:40px}.services-page.menu-gluant .benefit-icon svg{width:28px}.services-page.menu-gluant .benefit-offer h2{font-size:26px}.services-page.menu-gluant .header nav{width:min(390px,100%);padding-left:23px;padding-right:23px}}@media(prefers-reduced-motion:reduce){.services-page.menu-gluant .header nav,.services-page.menu-gluant .header nav.open,.services-page.menu-gluant .header .menu-toggle{transition:none}}
.services-page.menu-gluant .header{backdrop-filter:none;-webkit-backdrop-filter:none}
/* Repère lumineux mobile entre les destinations du menu. */
.header nav{position:relative}.nav-travel-marker{position:absolute;pointer-events:none;z-index:0;opacity:0;border:1px solid #a0ffe9;border-radius:5px;background:linear-gradient(110deg,#67f5ce2e,#45cecb13);box-shadow:0 0 0 3px #78ffe616,inset 0 0 18px #9dfff51a,0 0 22px #42efd540}.nav-travel-marker.marker-visible{opacity:1}.nav-travel-marker.marker-arrived{animation:nav-location-confirm .3s ease-in-out both}.nav-travelling .guide-highlight,.nav-travelling .guide-return,.nav-travelling .guide-destination{animation:none!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important}.header nav.nav-travelling a[aria-current]:after{opacity:0}.header nav.nav-travelling a{position:relative;z-index:1}@keyframes nav-location-confirm{0%,45%,100%{opacity:1;box-shadow:0 0 0 3px #78ffe623,0 0 26px #42efd566}25%,70%{opacity:.35;box-shadow:0 0 8px #42efd522}}@media(max-width:700px){.header nav{position:fixed}}.services-page.menu-gluant .header nav{position:fixed}@media(prefers-reduced-motion:reduce){.nav-travel-marker.marker-arrived{animation:none}}
/* Services : réception textuelle puis fondu descendant. */
.benefit-offer.transmission-pending>.eyebrow{min-height:17px;margin-bottom:22px;opacity:0}.benefit-offer.transmission-started>.eyebrow{opacity:1}.signal-typing:after{content:'▌';display:inline-block;margin-left:3px;color:#7bffe4;font-size:10px;animation:terminal-caret .65s step-end infinite}.benefit-offer.transmission-pending>h2,.benefit-offer.transmission-pending>.benefit-intro,.benefit-offer.transmission-pending .benefit-row,.benefit-offer.transmission-pending .benefit-price{opacity:0;transform:translateY(9px);filter:blur(3px)}.benefit-offer.transmission-received>h2{animation:descending-signal .85s ease-out both}.benefit-offer.transmission-received>.benefit-intro{animation:descending-signal .85s .14s ease-out both}.benefit-offer.transmission-received .benefit-row:nth-child(1){animation:descending-signal .85s .28s ease-out both}.benefit-offer.transmission-received .benefit-row:nth-child(2){animation:descending-signal .85s .42s ease-out both}.benefit-offer.transmission-received .benefit-row:nth-child(3){animation:descending-signal .85s .56s ease-out both}.benefit-offer.transmission-received .benefit-price{animation:descending-signal .95s .72s ease-out both}@keyframes descending-signal{0%{opacity:0;transform:translateY(9px);filter:blur(3px);mask-image:linear-gradient(to bottom,#000 0%,transparent 0%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 0%)}45%{opacity:.65;filter:blur(.7px);mask-image:linear-gradient(to bottom,#000 25%,#0008 65%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 25%,#0008 65%,transparent 100%)}100%{opacity:1;transform:none;filter:none;mask-image:linear-gradient(#000,#000);-webkit-mask-image:linear-gradient(#000,#000)}}@keyframes terminal-caret{0%,100%{opacity:1}50%{opacity:0}}@media(prefers-reduced-motion:reduce){.benefit-offer.transmission-pending>.eyebrow,.benefit-offer.transmission-pending>h2,.benefit-offer.transmission-pending>.benefit-intro,.benefit-offer.transmission-pending .benefit-row,.benefit-offer.transmission-pending .benefit-price{opacity:1;transform:none;filter:none;animation:none}.signal-typing:after{animation:none;display:none}}
.transmission-dots{display:inline-flex;gap:2px;margin-left:8px;color:#75f9e1;letter-spacing:0}.transmission-dots span{animation:transmission-wait .9s ease-in-out infinite}.transmission-dots span:nth-child(2){animation-delay:.15s}.transmission-dots span:nth-child(3){animation-delay:.3s}@keyframes transmission-wait{0%,100%{opacity:.2}45%{opacity:1}}@media(prefers-reduced-motion:reduce){.transmission-dots span{animation:none}}
/* Révélation continue : chevauchement des fondus et déplacement minimal. */
.benefit-offer.transmission-received>h2{animation:service-smooth-reveal 1.25s cubic-bezier(.2,.65,.3,1) both}.benefit-offer.transmission-received>.benefit-intro{animation:service-smooth-reveal 1.25s .09s cubic-bezier(.2,.65,.3,1) both}.benefit-offer.transmission-received .benefit-row:nth-child(1){animation:service-smooth-reveal 1.25s .18s cubic-bezier(.2,.65,.3,1) both}.benefit-offer.transmission-received .benefit-row:nth-child(2){animation:service-smooth-reveal 1.25s .27s cubic-bezier(.2,.65,.3,1) both}.benefit-offer.transmission-received .benefit-row:nth-child(3){animation:service-smooth-reveal 1.25s .36s cubic-bezier(.2,.65,.3,1) both}.benefit-offer.transmission-received .benefit-price{animation:service-smooth-reveal 1.3s .45s cubic-bezier(.2,.65,.3,1) both}@keyframes service-smooth-reveal{from{opacity:0;transform:translateY(4px);filter:blur(.8px);mask-image:none;-webkit-mask-image:none}to{opacity:1;transform:translateY(0);filter:blur(0);mask-image:none;-webkit-mask-image:none}}@media(prefers-reduced-motion:reduce){.benefit-offer.transmission-received>h2,.benefit-offer.transmission-received>.benefit-intro,.benefit-offer.transmission-received .benefit-row,.benefit-offer.transmission-received .benefit-price{animation:none;opacity:1;transform:none;filter:none}}
/* CTA projet : hologramme plus lent, sans changer les autres boutons. */
.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen),.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen):after{animation-duration:4s}.glass-price .button.primary[data-reveal-contact].holo-chosen,.glass-price .button.primary[data-reveal-contact].holo-chosen:after{animation-duration:1.1s}
/* Parler de mon projet : aucun effet visuel, au repos ou au clic. */
.glass-price .button.primary[data-reveal-contact],.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen),.glass-price .button.primary[data-reveal-contact].holo-chosen,.glass-price .button.primary[data-reveal-contact].project-selected,.benefit-price .button.primary{animation:none!important;transition:none!important;transform:none!important;filter:none;opacity:1!important;clip-path:none!important;mask-image:none!important;-webkit-mask-image:none!important}.glass-price .button.primary[data-reveal-contact]:before,.glass-price .button.primary[data-reveal-contact]:after{display:none!important;animation:none!important}.glass-price .button.primary[data-reveal-contact]:hover,.benefit-price .button.primary:hover{transform:none;box-shadow:0 0 0 4px #7ef5ee10,0 0 25px #15dfd236}.benefit-price .button.primary:hover{box-shadow:0 0 15px #12e4cd15}
/* Au repos : surface de verre subdivisée en petits carreaux. Texte et clic stables. */
.glass-price .button.primary[data-reveal-contact]{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#1af2d6c9,#27d6d8a6)!important;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-color:#b6fff09c;box-shadow:inset 0 1px 1px #eaffff66,inset 0 -1px 9px #c2ffff17,0 0 20px #13d8c826}.glass-price .button.primary[data-reveal-contact]:after{content:'';display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,transparent 0 calc(100% - 1px),#d8fffbc9 calc(100% - 1px)),linear-gradient(0deg,transparent 0 calc(100% - 1px),#d8fffbc9 calc(100% - 1px)),conic-gradient(from 90deg,#e8fffc33 25%,#062a3830 0 50%,#b4fff32e 0 75%,#ffffff0a 0);background-size:18px 18px,18px 18px,36px 36px;mix-blend-mode:normal;transform-origin:center;animation:glass-tile-subdivide 5.6s ease-in-out infinite!important;opacity:0}.glass-price .button.primary[data-reveal-contact]>span{position:relative;z-index:1}@keyframes glass-tile-subdivide{0%,22%,100%{opacity:0;transform:scale(1.035);filter:blur(1px)}40%{opacity:.45;transform:scale(1.01);filter:blur(.4px)}58%,74%{opacity:.8;transform:scale(1);filter:blur(0)}88%{opacity:.25;transform:scale(1.015);filter:blur(.5px)}}@media(prefers-reduced-motion:reduce){.glass-price .button.primary[data-reveal-contact]:after{animation:none!important;opacity:.25;transform:none;filter:none}}
/* Respiration douce du CTA au repos, sans carreaux ni effet au clic. */
.glass-price .button.primary[data-reveal-contact],.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:project-breathing 4.8s ease-in-out infinite!important;transform-origin:center;will-change:transform,box-shadow}.glass-price .button.primary[data-reveal-contact]:after{display:none!important;animation:none!important}.glass-price .button.primary[data-reveal-contact]:active{animation:none!important;transform:scale(1)!important}@keyframes project-breathing{0%,100%{transform:scale(1);box-shadow:inset 0 1px 1px #eaffff44,0 0 12px #13d8c81a}50%{transform:scale(1.012);box-shadow:inset 0 1px 1px #eaffff66,0 0 25px #13d8c84d}}@media(prefers-reduced-motion:reduce){.glass-price .button.primary[data-reveal-contact],.glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:none!important;will-change:auto}}
/* Site vitrine : néon irrégulier, sans déplacement ni flash rapide. */
.site-neon-page .glass-price .button.primary[data-reveal-contact],.site-neon-page .glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:site-neon-reception 7.4s ease-in-out infinite!important;will-change:filter,box-shadow;transform:none!important}.site-neon-page .glass-price .button.primary[data-reveal-contact]:after{display:none!important}@keyframes site-neon-reception{0%,36%,70%,100%{filter:brightness(1);box-shadow:inset 0 1px 1px #eaffff55,0 0 18px #13d8c83b}41%{filter:brightness(.78);box-shadow:0 0 5px #13d8c819}45%{filter:brightness(.94);box-shadow:0 0 13px #13d8c82d}50%{filter:brightness(.59);box-shadow:0 0 2px #13d8c80a}57%{filter:brightness(.8);box-shadow:0 0 7px #13d8c81a}64%{filter:brightness(.97);box-shadow:0 0 15px #13d8c832}83%{filter:brightness(1);box-shadow:0 0 18px #13d8c83b}88%{filter:brightness(.76);box-shadow:0 0 5px #13d8c819}94%{filter:brightness(1);box-shadow:0 0 18px #13d8c83b}}@media(prefers-reduced-motion:reduce){.site-neon-page .glass-price .button.primary[data-reveal-contact],.site-neon-page .glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:none!important;will-change:auto}}
/* Première hésitation lumineuse dès l’apparition du bouton. */
@keyframes site-neon-reception{0%{filter:brightness(.65);box-shadow:0 0 3px #13d8c80f}5%{filter:brightness(.96);box-shadow:0 0 15px #13d8c832}10%{filter:brightness(.73);box-shadow:0 0 5px #13d8c819}17%,36%,70%,100%{filter:brightness(1);box-shadow:inset 0 1px 1px #eaffff55,0 0 18px #13d8c83b}41%{filter:brightness(.78);box-shadow:0 0 5px #13d8c819}45%{filter:brightness(.94);box-shadow:0 0 13px #13d8c82d}50%{filter:brightness(.59);box-shadow:0 0 2px #13d8c80a}57%{filter:brightness(.8);box-shadow:0 0 7px #13d8c81a}64%{filter:brightness(.97);box-shadow:0 0 15px #13d8c832}83%{filter:brightness(1);box-shadow:0 0 18px #13d8c83b}88%{filter:brightness(.76);box-shadow:0 0 5px #13d8c819}94%{filter:brightness(1);box-shadow:0 0 18px #13d8c83b}}
/* Repère permanent de page : visible à chaque ouverture du menu. */
.header nav:not(.nav-travelling)>a[aria-current=page],.header nav:not(.nav-travelling) .services-parent:has(.services-main[aria-current=page]){border:1px solid #8cebd49c;border-radius:5px;background:linear-gradient(110deg,#3dc8b51c,#66dfd40b);box-shadow:inset 0 0 16px #80ffe80e,0 0 14px #42efd525;color:#c9ffed;padding-left:14px;padding-right:14px}.header nav:not(.nav-travelling)>a[aria-current=page]:after,.header nav .services-main[aria-current=page]:after{display:none}.header nav .services-parent:has(.services-main[aria-current=page]) .services-main{color:#c9ffed}.header .services-submenu a[aria-current=location]{border:1px solid #8cebd47d;background:#3dc8b51a;box-shadow:0 0 12px #42efd51c;color:#c9ffed}.header nav.nav-travelling>a[aria-current=page],.header nav.nav-travelling .services-parent:has(.services-main[aria-current=page]){border-color:transparent;background:transparent;box-shadow:none}@media(max-width:700px){.header nav:not(.nav-travelling)>a[aria-current=page]{padding:16px 14px}.header nav:not(.nav-travelling) .services-parent:has(.services-main[aria-current=page]){padding:0 10px}}
/* Entrée immersive : le bandeau ne doit pas limiter le menu plein écran. */
body.signal-home.menu-visible .header{backdrop-filter:none;-webkit-backdrop-filter:none;filter:none;transform:none;animation:none;background:transparent;overflow:visible}@media(max-width:700px){body.signal-home .header nav{inset:0;width:100%;height:100svh;max-height:100svh!important;box-sizing:border-box}body.signal-home.menu-visible .header nav{position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto;overscroll-behavior:contain}}
/* Néon élégant : liseré cyan en rotation autour du CTA. */
@property --project-neon-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.site-neon-page .glass-price .button.primary[data-reveal-contact],.site-neon-page .glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:project-neon-orbit 5s linear infinite!important;filter:none;transform:none!important;will-change:auto;border:1.5px solid transparent;background:linear-gradient(115deg,#16dfcf,#16c7cb) padding-box,conic-gradient(from var(--project-neon-angle),#237b83 0deg,#49e3d3 45deg,#e0fff7 65deg,#45ffe1 85deg,#237b83 130deg,#237b83 210deg,#55e6df 235deg,#d2fff6 255deg,#237b83 300deg) border-box!important;box-shadow:0 0 13px #20dacb30,inset 0 0 12px #a8fff01a}.site-neon-page .glass-price .button.primary[data-reveal-contact]:after{content:'';display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;background:conic-gradient(from var(--project-neon-angle),transparent 0deg,#78fff426 50deg,#b0fff56b 65deg,transparent 95deg,transparent 225deg,#88fff52b 255deg,transparent 285deg);filter:blur(8px);opacity:.7;animation:none!important;mix-blend-mode:screen}.site-neon-page .glass-price .button.primary[data-reveal-contact]:hover{box-shadow:0 0 20px #20dacb4d,inset 0 0 12px #a8fff026}@keyframes project-neon-orbit{to{--project-neon-angle:360deg}}@media(prefers-reduced-motion:reduce){.site-neon-page .glass-price .button.primary[data-reveal-contact],.site-neon-page .glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:none!important}}
/* Lévitation légère, indépendante du liseré néon. */
.site-neon-page .glass-price .button.primary[data-reveal-contact],.site-neon-page .glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:project-neon-orbit 5s linear infinite,project-levitation 4.6s ease-in-out infinite!important;transform:translateY(var(--project-float-y,0px))!important;will-change:transform}@property --project-float-y{syntax:'<length>';initial-value:0px;inherits:false}@keyframes project-levitation{0%,100%{--project-float-y:0px}50%{--project-float-y:-4px}}@media(prefers-reduced-motion:reduce){.site-neon-page .glass-price .button.primary[data-reveal-contact],.site-neon-page .glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:none!important;transform:none!important;will-change:auto}}
/* Contact général : même verre et même langage de saisie que les formulaires projet. */
.contact-modern #contact-form{border-radius:7px;border:1px solid #a1e4e58c;background:linear-gradient(120deg,#bddde42e,#abc8d41c 55%,#dcfaff1a);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 2px #e5ffff66,inset 0 0 25px #b4ffff12,0 9px 25px #0005;padding:28px}.contact-modern #contact-form input:not([type=checkbox]),.contact-modern #contact-form textarea{font-size:14px;background:#04171b33;border-color:#709da373;border-radius:2px;padding:14px;min-height:48px;margin-bottom:16px}.contact-modern #contact-form textarea{min-height:150px}.contact-modern #contact-form .contact-project-choice{width:100%;min-height:39px;margin-bottom:26px;padding:9px 35px 9px 12px;border:1px solid #69dfd9b3;border-radius:22px;background-color:#91eeee10;box-shadow:0 0 10px #39e2dd25,inset 0 0 8px #8cfff31a;color:#d7f4ed;font-size:11px;line-height:1.5;text-overflow:ellipsis}.contact-modern #contact-form .primary{width:100%;justify-content:center;gap:14px;min-height:62px;font-size:15px;background:#17eed9;border-color:#49ffed;box-shadow:0 0 0 4px #7ef5ee10,0 0 25px #15dfd21a}.contact-modern #contact-form .inline-reassurance{font-size:12px;color:#9cb6b6;margin:20px 0 0}.contact-modern #contact-form .form-disclaimer{font-size:10px;margin:8px 0 0;line-height:1.7}.contact-modern #contact-form .maquette-option{margin:4px 0 20px}@media(max-width:700px){.contact-modern #contact-form{padding:25px 20px}.contact-modern #contact-form .contact-project-choice{font-size:11px}.contact-modern .page-heading{margin-bottom:35px}}
/* Contact : sélection du projet immédiatement identifiable. */
.contact-modern #contact-form .contact-project-label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:#d8fff0;margin:0 0 13px;line-height:1.5}.contact-choice-hint{font-family:ui-monospace,monospace;font-weight:400;color:#68e2cf;font-size:10px;letter-spacing:.6px}.contact-modern #contact-form .contact-project-choice{appearance:none;-webkit-appearance:none;min-height:61px;padding:17px 42px 17px 15px;border:1.5px solid #66efda;border-radius:5px;background-color:#17524e66;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%2398ffe7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:22px;color:#dcfff4;box-shadow:0 0 0 4px #58e7cc0b,0 0 17px #34e5c91e;font-size:13px;font-weight:600;margin-bottom:27px;cursor:pointer}.contact-modern #contact-form .contact-project-choice:hover,.contact-modern #contact-form .contact-project-choice:focus{border-color:#b0ffe9;background-color:#1c655b77;outline:2px solid #59edcf44;outline-offset:3px}.contact-modern #contact-form .contact-project-choice option{background:#0c262d;color:#e6fff5;font-weight:400}.contact-modern #contact-form input::placeholder,.contact-modern #contact-form textarea::placeholder{color:#9bbab8;opacity:1}.contact-modern #contact-form textarea{min-height:190px;line-height:1.8}@media(max-width:350px){.contact-modern #contact-form .contact-project-choice{font-size:11px;padding-left:12px}}
.about-story{max-width:850px;margin:55px 0 0}.about-story h2{font-size:clamp(29px,3.5vw,43px);line-height:1.2;letter-spacing:-1px;margin-bottom:28px}.about-story>p:not(.eyebrow){font-size:16px;line-height:1.95;color:#b0c9c5;max-width:750px;margin-bottom:24px}.about-purpose{margin:34px 0;padding:28px 30px;border-left:2px solid #6de3cc;background:linear-gradient(90deg,#3dd1b812,transparent)}.about-purpose h3{font-size:24px;line-height:1.35;color:#b5f8e7;margin:0 0 18px;letter-spacing:-.5px}.about-purpose p{font-size:15px;line-height:1.9;color:#b0c9c5;max-width:680px}.about-purpose p:last-child{margin-bottom:0}.about-story .about-closing{color:#d6eee5!important}@media(max-width:700px){.about-story{margin-top:38px}.about-story h2{font-size:30px}.about-story>p:not(.eyebrow){font-size:14px;line-height:1.9}.about-purpose{padding:23px 20px;margin:28px 0}.about-purpose h3{font-size:22px}.about-purpose p{font-size:14px}}
/* Portfolio : aperçu de la démonstration Réservations. */
.booking-preview{width:100%;height:100%;background:#f1ede4;color:#26291f;padding:28px 30px;display:flex;flex-direction:column;justify-content:space-between}.booking-preview>span{font-size:13px;font-weight:600;letter-spacing:-.5px}.booking-preview>strong{font-size:clamp(25px,3vw,40px);letter-spacing:-1.4px;line-height:1.1;font-weight:600}.booking-preview>div{display:flex;flex-direction:column;gap:11px;font-size:10px;background:#fffdfa;border:1px solid #ddd5c6;padding:13px}.booking-preview b{background:#b95234;color:#fff6e9;padding:11px;font-weight:400}.booking-preview small{font:8px ui-monospace,monospace;letter-spacing:1px;color:#95836a}@media(max-width:700px){.booking-preview{padding:23px}.booking-preview>strong{font-size:30px}.booking-preview>div{gap:7px;padding:10px}.booking-preview b{padding:9px}.booking-preview small{font-size:7px}}
.cube-preview{height:100%;width:100%;background:radial-gradient(ellipse at 75% 35%,#54467e66,transparent 60%),#0b1425;color:#e7f7ff;padding:25px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.cube-preview>span{font:8px ui-monospace,monospace;letter-spacing:1px;color:#8eabc1}.cube-preview>strong{font-size:27px;letter-spacing:-1px;line-height:1.1;position:relative;z-index:1}.cube-preview>small{font:7px ui-monospace,monospace;letter-spacing:1px;color:#89cfce}.preview-cube{position:absolute;width:95px;height:95px;right:50px;top:40px;transform:rotateX(-25deg) rotateY(-30deg);transform-style:preserve-3d}.preview-cube i{position:absolute;inset:0;border:1px solid #a9fbe799;background:linear-gradient(130deg,#cafff42b,#3eb1b02b);border-radius:5px;transform:translateZ(47px)}.preview-cube i:nth-child(2){transform:rotateY(90deg) translateZ(47px);border-color:#c2a7ff;background:#a077f433}.preview-cube i:nth-child(3){transform:rotateX(90deg) translateZ(47px);border-color:#83c8ff;background:#5ca9e833}@media(max-width:700px){.cube-preview{padding:23px}.cube-preview>strong{font-size:25px}.preview-cube{right:45px;top:35px;width:85px;height:85px}.preview-cube i{transform:translateZ(42px)}.preview-cube i:nth-child(2){transform:rotateY(90deg) translateZ(42px)}.preview-cube i:nth-child(3){transform:rotateX(90deg) translateZ(42px)}}

.btp-preview{width:100%;height:100%;position:relative;min-height:280px;background:#252722;overflow:hidden}.btp-preview>img{width:100%;height:100%;object-fit:cover;filter:brightness(.65)}.btp-preview>div{position:absolute;inset:0;padding:8%;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.btp-preview span,.btp-preview small{font-size:9px;letter-spacing:1.3px}.btp-preview strong{font-size:clamp(26px,3vw,43px);line-height:1.1;letter-spacing:-1.5px}

.salades-preview{position:relative;width:100%;height:100%;min-height:280px;background:#edf0db;color:#3d5f36;padding:6%;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.salades-preview span,.salades-preview small{font-size:8px;letter-spacing:1.4px}.salades-preview strong{font:36px/1.04 Georgia,serif;letter-spacing:-1.3px;z-index:1}.salades-preview>img{position:absolute!important;right:-7%;bottom:-5%;width:64%!important;height:auto!important;object-fit:contain!important;rotate:-8deg}.salades-preview small{z-index:1}

.about-page>.about-story:first-child{margin-top:0}.about-story h1{font-size:clamp(29px,3.5vw,43px);line-height:1.2;letter-spacing:-1px;margin:0 0 28px}@media(max-width:700px){.about-story h1{font-size:30px}}

/* Services only materialize when their section reaches the viewport. */
.services-page .benefit-offer.transmission-pending:not(.transmission-started){opacity:0;visibility:hidden;animation:none;transform:translateY(12px)}
.services-page .benefit-offer.transmission-started{visibility:visible;opacity:1;transition:opacity .65s ease-out,transform .85s cubic-bezier(.2,.65,.3,1);transform:translateY(0)}
.services-page .benefit-offer.transmission-pending:not(.transmission-received)>h2,.services-page .benefit-offer.transmission-pending:not(.transmission-received)>.benefit-intro,.services-page .benefit-offer.transmission-pending:not(.transmission-received) .benefit-row,.services-page .benefit-offer.transmission-pending:not(.transmission-received) .benefit-price{opacity:0;transform:translateY(9px);animation:none;filter:none}
.services-page .benefit-offer.transmission-received>h2{animation:service-smooth-reveal 1.25s cubic-bezier(.2,.65,.3,1) both}
.services-page .benefit-offer.transmission-received>.benefit-intro{animation:service-smooth-reveal 1.25s .09s cubic-bezier(.2,.65,.3,1) both}
.services-page .benefit-offer.transmission-received .benefit-row:nth-child(1){animation:service-smooth-reveal 1.25s .18s cubic-bezier(.2,.65,.3,1) both}
.services-page .benefit-offer.transmission-received .benefit-row:nth-child(2){animation:service-smooth-reveal 1.25s .27s cubic-bezier(.2,.65,.3,1) both}
.services-page .benefit-offer.transmission-received .benefit-row:nth-child(3){animation:service-smooth-reveal 1.25s .36s cubic-bezier(.2,.65,.3,1) both}
.services-page .benefit-offer.transmission-received .benefit-price{animation:service-smooth-reveal 1.3s .45s cubic-bezier(.2,.65,.3,1) both}
@media(prefers-reduced-motion:reduce){.services-page .benefit-offer,.services-page .benefit-offer>*{animation:none!important;transition:none!important}}

.services-page.menu-gluant.services-menu-at-top .header .menu-toggle:not([aria-expanded=true]){top:30px;right:23px;transform:none;border-radius:8px}
/* Les trois offres : réception cathodique saccadée, puis halo de sélection. */
.site-neon-page .glass-price .button.primary[data-reveal-contact],.site-neon-page .glass-price .button.primary[data-reveal-contact]:not(.holo-chosen){animation:project-crt-interference 6.8s steps(1,end) infinite!important;transform:none!important;translate:0;rotate:0deg;will-change:translate,filter;background:linear-gradient(115deg,#16dfcf,#16c7cb)!important;border:1px solid #9effef99;box-shadow:0 0 14px #20dacb30}
.site-neon-page .glass-price .button.primary[data-reveal-contact]:after{display:none!important}
@keyframes project-crt-interference{0%,9%,31%,100%{translate:0;rotate:0deg;filter:brightness(1)}2%,23%{translate:-3px 0;rotate:-.2deg;filter:brightness(.66)}3%,25%{translate:3px 0;rotate:.2deg;filter:brightness(1.12)}5%,28%{translate:-1px 1px;rotate:0deg;filter:brightness(.82)}7%,30%{translate:1px 0;filter:brightness(.95)}}
.site-neon-page .glass-price .button.primary[data-reveal-contact].project-selected{animation:project-click-halo .36s ease-out both!important;translate:0;rotate:0deg;filter:brightness(1.08);overflow:visible;outline:1px solid #bafff4;outline-offset:4px;box-shadow:0 0 0 6px #74ffe82b,0 0 32px 10px #22e8d780,0 0 65px 14px #29e2d333}
@keyframes project-click-halo{from{box-shadow:0 0 0 0 #74ffe800,0 0 10px #22e8d740}to{box-shadow:0 0 0 6px #74ffe82b,0 0 32px 10px #22e8d780,0 0 65px 14px #29e2d333}}
@media(prefers-reduced-motion:reduce){.site-neon-page .glass-price .button.primary[data-reveal-contact],.site-neon-page .glass-price .button.primary[data-reveal-contact]:not(.holo-chosen),.site-neon-page .glass-price .button.primary[data-reveal-contact].project-selected{animation:none!important;translate:0;rotate:0deg;filter:none;will-change:auto}}
/* Quatrième choix secondaire : réalisations et repérage dans le menu. */
.glass-home .custom-quote.portfolio-guide{width:min(calc(100% - 64px),800px);min-height:104px;margin:20px auto 0;padding:25px 30px;justify-content:space-between;gap:20px;font-size:23px;line-height:1.3;text-align:left;box-sizing:border-box;background:linear-gradient(120deg,#5fe6e515,#53d7d805);border-color:#7eeae980;box-shadow:0 0 14px #39dbe129,inset 0 0 16px #73eeed0d}
.glass-home .custom-quote.portfolio-guide>span{align-self:center;font-size:21px}
.header nav>a.portfolio-destination{border:1px solid #aaffed!important;background:linear-gradient(110deg,#36d9b932,#3aadaa20)!important;color:#e4fff6!important;box-shadow:0 0 0 3px #69ffe91a,0 0 24px #44eac744!important;animation:remote-message-lock .92s ease-out both,guide-invite 2.2s .92s ease-in-out infinite}
.header nav>a.portfolio-destination:after{display:none!important}
@media(max-width:700px){.glass-home .custom-quote.portfolio-guide{width:calc(100% - 36px);min-height:clamp(90px,12svh,108px);padding:21px 20px;margin-top:16px;font-size:clamp(18px,4.5vw,21px)}.header nav>a.portfolio-destination{margin:5px 20px;padding-left:18px!important;padding-right:18px!important;border-radius:5px}}
@media(prefers-reduced-motion:reduce){.header nav>a.portfolio-destination{animation:none}}
/* Réalisations : action secondaire séparée, arrivée en signal après une seconde. */
.glass-home .custom-quote.portfolio-guide{min-height:58px;margin-top:44px;padding:15px 24px;font-size:20px}
.glass-home .custom-quote.portfolio-guide.portfolio-guide-arriving{animation:portfolio-secondary-signal .68s 1s steps(1,end) both}
@keyframes portfolio-secondary-signal{0%{visibility:hidden;opacity:0;translate:0;filter:blur(3px)}9%{visibility:visible;opacity:.32;translate:-2px 0;filter:blur(2px)}22%{visibility:visible;opacity:.08;translate:2px 0;filter:blur(1px)}38%{visibility:visible;opacity:.72;translate:-1px 0;filter:blur(.6px)}51%{visibility:visible;opacity:.2;translate:1px 0;filter:blur(1px)}68%{visibility:visible;opacity:.9;translate:0;filter:blur(.3px)}79%{visibility:visible;opacity:.58;translate:-1px 0;filter:none}100%{visibility:visible;opacity:1;translate:0;filter:none}}
@media(max-width:700px){.glass-home .custom-quote.portfolio-guide{min-height:56px;margin-top:36px;padding:14px 20px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.glass-home .custom-quote.portfolio-guide.portfolio-guide-arriving{animation:none;visibility:visible;opacity:1;translate:0;filter:none}}
/* Contact : ouverture d’une transmission holographique, du haut vers le bas. */
@property --contact-curtain-edge{syntax:'<percentage>';inherits:false;initial-value:-18%}
.contact-modern{position:relative;--contact-curtain-edge:-18%;mask-image:linear-gradient(to bottom,#000 0%,#000 var(--contact-curtain-edge),transparent calc(var(--contact-curtain-edge) + 16%));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 var(--contact-curtain-edge),transparent calc(var(--contact-curtain-edge) + 16%));animation:contact-command-reveal 1.85s .12s cubic-bezier(.2,.65,.25,1) both}
.contact-modern:before{content:'';position:absolute;pointer-events:none;z-index:3;left:4%;right:4%;top:0;height:1px;background:linear-gradient(90deg,transparent,#83fff0aa 25%,#e2fff9 50%,#83fff0aa 75%,transparent);box-shadow:0 0 12px #73ffdf44;opacity:0;animation:contact-command-scan 1.85s .12s cubic-bezier(.2,.65,.25,1) both}
@keyframes contact-command-reveal{0%{--contact-curtain-edge:-18%;opacity:.2;translate:0 -5px;filter:blur(1.8px)}38%{opacity:.9;filter:blur(.4px)}100%{--contact-curtain-edge:115%;opacity:1;translate:0 0;filter:blur(0)}}
@keyframes contact-command-scan{0%{top:0;opacity:0}12%{opacity:.6}75%{opacity:.2}100%{top:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){.contact-modern{animation:none;mask-image:none;-webkit-mask-image:none;opacity:1;translate:none;filter:none}.contact-modern:before{display:none;animation:none}}
/* Dernière invitation, au bas du parcours Accueil et Contact. */
.last-portfolio{position:relative;z-index:1;width:min(calc(100% - 64px),800px);margin:65px auto 20px;text-align:center}.last-portfolio>p{font-size:clamp(21px,3vw,29px);letter-spacing:-.6px;color:#d3ebe7;margin:0 0 21px;line-height:1.3}.glass-home .last-portfolio .custom-quote.portfolio-guide{width:100%;max-width:none;margin:0 auto}.last-portfolio .contact-portfolio-link{display:flex;align-items:center;justify-content:space-between;min-height:58px;width:100%;margin:0;padding:15px 24px;color:#a5ddda;border:1px solid #7eeae980;background:linear-gradient(120deg,#5fe6e515,#53d7d805);box-shadow:0 0 14px #39dbe129,inset 0 0 16px #73eeed0d;font-size:20px;text-align:left}.last-portfolio .contact-portfolio-link:hover{border-color:#a9fff1;color:#e1fff9}.last-portfolio .contact-portfolio-link>span{font-family:Montserrat,Arial,sans-serif}body:not(.glass-home) .last-portfolio{margin-top:30px;margin-bottom:65px}
@media(max-width:700px){.last-portfolio{width:calc(100% - 36px);margin-top:42px;margin-bottom:10px}.last-portfolio>p{font-size:23px;margin-bottom:18px}.last-portfolio .contact-portfolio-link{min-height:56px;padding:14px 20px;font-size:18px}body:not(.glass-home) .last-portfolio{margin-top:25px;margin-bottom:45px}}
.last-portfolio .contact-portfolio-link{max-width:none}
.inline-contact>.last-portfolio,body:not(.glass-home) .inline-contact>.last-portfolio{width:100%;max-width:none;margin:48px auto 12px}.inline-contact>.last-portfolio>p{font-size:clamp(21px,3vw,29px);color:#d3ebe7;margin-bottom:21px}.inline-contact>.last-portfolio .contact-portfolio-link{width:100%;max-width:none}
@media(max-width:700px){.inline-contact>.last-portfolio,body:not(.glass-home) .inline-contact>.last-portfolio{margin-top:36px}.inline-contact>.last-portfolio>p{font-size:23px;margin-bottom:18px}}
/* Sous le formulaire, le bouton attend que l’on descende jusqu’à lui. */
.inline-contact .last-portfolio a.portfolio-cta-pending{visibility:hidden;opacity:0}
.inline-contact .last-portfolio a.portfolio-cta-arriving{animation:portfolio-secondary-signal .68s 1s steps(1,end) both}
@media(prefers-reduced-motion:reduce){.inline-contact .last-portfolio a.portfolio-cta-arriving{animation:none;visibility:visible;opacity:1}}
/* Documents contractuels : contraste fort, articles numérotés, lecture sans effet. */
.contract-footer{display:block!important;position:relative;z-index:1;width:100%;padding:40px max(24px,calc((100% - 1100px)/2)) 55px!important;background:#07151b;color:#dcece8;border-top:1px solid #49656666;margin:0!important}.contract-footer>div{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.contract-footer strong{font-size:20px;letter-spacing:-.6px}.contract-footer>div>span{font-size:11px;line-height:1.5;color:#94b2b1}.contract-footer nav{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:none;transform:none;opacity:1;visibility:visible;width:auto;padding:0;inset:auto}.contract-footer nav a{display:flex;align-items:center;gap:12px;min-height:55px;padding:15px 13px;border:1px solid #6a8e8b88;color:#e7f4ee;font-size:12px;line-height:1.4;background:#10272d;transition:background .2s}.contract-footer nav a>span:first-child{font:9px ui-monospace,monospace;color:#84b4ac}.contract-footer nav a>span:last-child{margin-left:auto;color:#a2e4d4}.contract-footer nav a:hover{background:#1b383e;border-color:#a9d9cd}.contract-page{background:#f3f2ec;color:#242823}.contract-page .header{background:#061319;color:#e8f5f0}.contract-main{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:48px 0 65px;isolation:auto}.contract-heading{padding-bottom:30px}.contract-heading>a{font-size:12px;color:#526457;display:inline-block;margin-bottom:40px;min-height:28px}.contract-heading>p{font:10px/1.6 ui-monospace,monospace;letter-spacing:1.5px;color:#5b6e60;margin:0 0 15px}.contract-heading h1{font:400 clamp(34px,4.6vw,52px)/1.1 Georgia,serif;letter-spacing:-1.5px;margin:0 0 17px;color:#1c2c24}.contract-heading>span{font-size:11px;color:#74796e;line-height:1.6}.contract-documents{display:flex;gap:0;flex-wrap:wrap;border:1px solid #bdc6b9;margin-bottom:35px;background:#fff}.contract-documents a{display:flex;align-items:center;justify-content:center;flex:1;min-height:50px;padding:13px;font-size:11px;color:#4c594c;border-right:1px solid #d1d7cc}.contract-documents a:last-child{border:0}.contract-documents a[aria-current=page]{background:#213b32;color:#fff;font-weight:600}.contract-prototype-note{font-size:13px;line-height:1.8;color:#4b5a4a;padding:20px;background:#e7eee4;border-left:3px solid #617e64;margin:0 0 30px}.contract-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:40px;align-items:start}.contract-layout>aside{position:sticky;top:25px;border-top:2px solid #35493b;padding-top:20px}.contract-layout>aside>p{font-size:12px;font-weight:600;margin:0 0 18px}.contract-layout ol{margin:0;padding-left:18px;font-size:11px;color:#5c6e5b}.contract-layout ol li{padding:0 0 15px;line-height:1.7}.contract-layout ol a:hover{text-decoration:underline;text-underline-offset:4px}.contract-paper{padding:35px 40px;background:#fff;border:1px solid #d6d9cf;box-shadow:0 8px 25px #283b2510}.contract-paper>section{padding:0 0 30px;margin:0 0 32px;border-bottom:1px solid #dce0d6;scroll-margin-top:30px}.contract-article-number{font:9px ui-monospace,monospace;letter-spacing:1.4px;color:#74826e;display:block;margin-bottom:12px}.contract-paper h2{font-size:22px;letter-spacing:-.5px;font-weight:600;line-height:1.35;color:#243a2b;margin:0 0 20px}.contract-paper p,.contract-paper li,.contract-paper dd,.contract-paper blockquote{font-size:14px;line-height:1.9;color:#4d5549}.contract-paper p{margin:0 0 18px}.contract-paper strong{color:#283c2e;font-weight:600}.contract-paper a,.contract-signoff a{color:#245b47;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contract-paper dl{margin:25px 0;padding:20px;border:1px solid #d6decf;background:#f8f9f5}.contract-paper dt{font-size:10px;color:#6a7863;margin:14px 0 5px;text-transform:uppercase;letter-spacing:.6px}.contract-paper dt:first-child{margin-top:0}.contract-paper dd{margin:0;overflow-wrap:anywhere}.contract-paper blockquote{margin:20px 0;padding:20px;border-left:3px solid #80997c;background:#f4f7f0}.contract-signoff{font-size:12px;line-height:1.9;color:#4d634c}.contract-page .contract-footer{margin-top:0}
@media(max-width:700px){.contract-footer{padding:30px 20px 45px!important}.contract-footer>div{display:block}.contract-footer>div>span{display:block;margin-top:10px;font-size:10px}.contract-footer nav{grid-template-columns:1fr 1fr;gap:9px}.contract-footer nav a{font-size:11px;padding:13px 10px;gap:8px;min-height:60px}.contract-main{width:calc(100% - 36px);padding:30px 0 40px}.contract-heading>a{margin-bottom:25px;font-size:11px}.contract-heading h1{font-size:35px}.contract-heading>p{font-size:9px}.contract-heading>span{font-size:10px}.contract-documents{display:grid;grid-template-columns:1fr 1fr;margin-bottom:28px}.contract-documents a{font-size:10px;border:1px solid #e1e4da!important;padding:12px 8px}.contract-layout{display:block}.contract-layout>aside{position:static;margin:0 0 25px;padding-top:15px}.contract-layout ol{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;font-size:10px}.contract-layout ol li{padding-bottom:10px}.contract-paper{padding:27px 20px}.contract-paper h2{font-size:21px}.contract-paper p,.contract-paper li,.contract-paper dd,.contract-paper blockquote{font-size:14px;line-height:1.85}.contract-paper dl{padding:16px}.contract-prototype-note{font-size:12px}.contract-signoff{font-size:11px}}
.contact-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;opacity:0}#form-status{font-size:13px;line-height:1.8;margin-top:18px}#form-status[data-state=success]{color:#a8f1ce}#form-status[data-state=error]{color:#ffc6ae}.form-disclaimer a{text-decoration:underline;text-underline-offset:3px}
.inline-contact .last-portfolio a.portfolio-cta-arriving{animation-delay:.5s}
/* Contact : noir, assemblage simultané du formulaire et réception du texte. */
.contact-modern{animation:none!important;mask-image:none!important;-webkit-mask-image:none!important;opacity:1;translate:none;filter:none}.contact-modern:before{display:none!important;animation:none!important}.contact-blackout{position:fixed;inset:0;z-index:2147482600;background:#000;pointer-events:all;opacity:0}.contact-modern .contact-typed-character{white-space:pre-wrap}.contact-channels{display:flex;align-items:center;justify-content:flex-start;gap:22px;flex-wrap:nowrap;margin-top:26px}.contact-channels .email-link,.contact-channels .contact-phone{display:inline-block;white-space:nowrap;font:13px/1.7 Montserrat,Arial,sans-serif;color:#93e7d6;border-bottom:1px solid #72c7b655;padding:0 0 8px;margin:0;min-height:34px;text-decoration:none}.contact-channels a:hover{color:#d1fff0;border-color:#b2f5df}.contact-modern #contact-form{transform-origin:center}
@media(max-width:700px){.contact-channels{gap:16px;margin-top:24px}.contact-channels .email-link,.contact-channels .contact-phone{font-size:clamp(10px,2.7vw,12px)}}
@media(prefers-reduced-motion:reduce){.contact-blackout{display:none}}
/* Passer d’une pièce du vaisseau à l’espace équipage. */
.weberio-audio-toggle{position:fixed;left:16px;bottom:88px;z-index:156;border:1px solid #8fbbb766;border-radius:30px;background:#0a222be6;color:#b4e7d9;backdrop-filter:blur(12px);padding:8px 11px;font:10px/1.3 Montserrat,Arial,sans-serif;min-height:34px;cursor:pointer;box-shadow:0 3px 15px #0002}.weberio-audio-toggle[aria-pressed=false]{color:#8eaaaa;background:#10252be0}.weberio-audio-toggle:focus-visible{outline:2px solid #98ffe7;outline-offset:3px}
@media(max-width:700px){.header-audio-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-left:auto;position:relative;z-index:151}.header-audio-controls .weberio-audio-toggle{position:static;inset:auto;margin:0;width:38px;height:38px;min-height:38px;padding:0;flex:0 0 38px;border-radius:50%;font-size:0;background:#0b283399;box-shadow:none;color:#b4e7d9}.header-audio-controls .weberio-audio-toggle:before{content:'♫';font:17px/1 Montserrat,Arial,sans-serif}.header-audio-controls .weberio-audio-toggle[aria-pressed=false]:after{content:'';position:absolute;width:21px;height:1px;background:#aec5c0;transform:translate(-19px,8px) rotate(-45deg)}.services-page.menu-gluant .header-audio-controls .weberio-audio-toggle{position:fixed;top:calc(50% - 19px);right:59px;z-index:151;transition:top .85s cubic-bezier(.2,.75,.25,1),right .65s ease}.services-page.menu-gluant.services-menu-at-top .header-audio-controls .weberio-audio-toggle,.services-page.menu-gluant .header-audio-controls:has(.menu-toggle[aria-expanded=true]) .weberio-audio-toggle{top:33px;right:76px}}
@media(prefers-reduced-motion:reduce){.services-page.menu-gluant .header-audio-controls .weberio-audio-toggle{transition:none}}

/* Un reflet de néon fin parcourt les deux bords, sans brûler le texte. */
[data-portfolio-guide],.contact-portfolio-link,.secondary-portfolio{position:relative}
[data-neon-state="active"]:before{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,transparent,#b6eee6,transparent),linear-gradient(90deg,transparent,#8bd9cd,transparent);background-repeat:no-repeat;background-size:34% 1px;opacity:.75;animation:realizations-neon-edge 3s ease-in-out both}
@keyframes realizations-neon-edge{0%{background-position:-60% 0,160% 100%;opacity:0}14%{opacity:.65}48%{background-position:100% 0,0 100%;opacity:.8}72%{opacity:.45}100%{background-position:160% 0,-60% 100%;opacity:0}}
@media(prefers-reduced-motion:reduce){[data-neon-state="active"]:before{animation:none;opacity:0}}

/* Pied contractuel : de vrais liens de texte, sans cartes ni gros boutons. */
.contract-footer{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 28px;padding:23px max(24px,calc((100% - 1100px)/2)) 35px!important;background:transparent;color:#a5bab5;border-top:1px solid #49656644}
.contract-footer .legal-copyright{font-size:10px;line-height:1.7;color:#8ca49f;white-space:nowrap}
.contract-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:5px 24px;position:static;overflow:visible;max-height:none;box-shadow:none;border:0}
.contract-footer nav a{display:inline-flex;min-height:34px;padding:5px 0;border:0;border-radius:0;background:none;box-shadow:none;color:#a9bfba;font-size:11px;font-weight:400;line-height:1.7;text-decoration:none;text-underline-offset:4px;gap:0;transform:none}
.contract-footer nav a:hover{background:none;border:0;color:#d0e9e1;text-decoration:underline}
.contract-footer nav a:focus-visible{outline:2px solid #8fdac9;outline-offset:5px;border-radius:2px}
.portfolio-page .contract-footer{padding-bottom:110px!important}
@media(max-width:700px){.contract-footer{padding:22px 20px 35px!important;gap:5px 18px;align-items:flex-start}.contract-footer nav{gap:0 19px}.contract-footer .legal-copyright{flex-basis:100%;font-size:10px}.contract-footer nav a{font-size:10px;min-height:35px;padding:6px 0}}

/* Qui sommes-nous : passer au revers d'un décor, en un geste continu. */


/* Deux points remontent le cadre ; le contenu se condense dans une brume. */
.form-light-shell{position:relative;min-width:0;isolation:isolate;align-self:start}
.form-light-shell form{margin:0;position:relative}
.form-light-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:3;pointer-events:none;opacity:0}
.form-light-trace{fill:none;stroke:#8df8e6;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:drop-shadow(0 0 4px #50f9da99)}
.form-light-point .aura{fill:#67ffe1;opacity:.65;filter:blur(5px)}
.form-light-point .core{fill:#ecfff9;filter:drop-shadow(0 0 5px #6fffe5)}
.form-light-mist{position:absolute;inset:8px;z-index:2;pointer-events:none;border-radius:9px;background:radial-gradient(ellipse at 20% 65%,#a2f9e850,transparent 62%),radial-gradient(ellipse at 80% 30%,#adf3ff42,transparent 62%),linear-gradient(120deg,transparent,#d4fff518,transparent);filter:blur(17px);opacity:0}
.contact-modern #contact-form.form-light-drawing,.inline-contact #contact-form.form-light-drawing{border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.inline-contact.holo-form-reveal .form-light-shell form{animation:none}
.inline-contact.holo-form-reveal .form-light-shell form:after{display:none;animation:none}
@media(prefers-reduced-motion:reduce){.form-light-outline,.form-light-mist{display:none}}

/* Qui sommes-nous : l’autre côté d’un cube de verre aux parois vides. */
.about-cube-transition{position:fixed;inset:0;z-index:2147482500;overflow:hidden;pointer-events:all;perspective-origin:50% 50%;background:radial-gradient(ellipse at 50% 50%,#12343a,#041014 75%);isolation:isolate}
.about-transition-cube{position:absolute;width:var(--about-cube-edge);height:var(--about-cube-edge);left:calc(50% - var(--about-cube-edge)/2);top:calc(50% - var(--about-cube-edge)/2);transform-style:preserve-3d;will-change:transform}
.about-cube-face{position:absolute;inset:0;border:1px solid #79ead2a6;background:linear-gradient(140deg,#83ffe708,#3dcfb904 50%,#74dded09);box-shadow:inset 0 0 26px #5be7d30b,0 0 13px #69e7d21c;backface-visibility:visible;transform-style:preserve-3d}
.about-cube-front{transform:translateZ(calc(var(--about-cube-edge)/2))}.about-cube-back{transform:rotateY(180deg) translateZ(calc(var(--about-cube-edge)/2))}.about-cube-left{transform:rotateY(-90deg) translateZ(calc(var(--about-cube-edge)/2))}.about-cube-right{transform:rotateY(90deg) translateZ(calc(var(--about-cube-edge)/2))}.about-cube-top{transform:rotateX(90deg) translateZ(calc(var(--about-cube-edge)/2))}.about-cube-bottom{transform:rotateX(-90deg) translateZ(calc(var(--about-cube-edge)/2))}
.about-cube-page{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden;backface-visibility:hidden;background:#041014;outline:1px solid #6bd5c72b}
.about-cube-content{position:absolute;left:0;top:0;transform-origin:top left;backface-visibility:hidden}
.about-cube-moving{overflow-x:clip}.about-cube-moving .header nav:not(.open){transition:none!important}
@media(prefers-reduced-motion:reduce){.about-cube-transition{display:none!important}}

.about-story p.about-introduction{font-family:Montserrat,Arial,sans-serif;font-size:clamp(29px,3.5vw,43px);font-weight:600;line-height:1.2;letter-spacing:-1px;text-transform:none;margin:0 0 28px}@media(max-width:700px){.about-story p.about-introduction{font-size:30px}}

/* Le récit humain commence après les deux phrases écrites, sans décalage de mise en page. */
.about-copy-pending .about-story>.about-introduction,.about-copy-pending .about-story>#about-people{visibility:hidden}
.about-copy-pending.about-copy-prepared .about-story>.about-introduction,.about-copy-pending.about-copy-prepared .about-story>#about-people{visibility:visible}
.about-copy-pending .about-story>:not(.about-introduction):not(#about-people),.about-copy-pending .about-next{opacity:0;visibility:hidden}
.about-typed-character{opacity:0;white-space:pre-wrap}.about-typed-character.is-typed{opacity:1}
.about-type-caret{display:none;width:0;height:.86em;border-right:2px solid #9dffe7;vertical-align:-.04em;box-shadow:2px 0 9px #79e8d766;pointer-events:none;margin-left:2px;margin-right:-2px}
.about-typing-active .about-type-caret{display:inline-block;animation:about-caret-blink .85s steps(1,end) infinite}
@keyframes about-caret-blink{0%,55%{opacity:1}56%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.about-copy-pending .about-story>*,.about-copy-pending .about-next{opacity:1!important;visibility:visible!important}.about-typed-character{opacity:1}.about-type-caret{display:none!important}}

.about-story p.about-introduction{font-size:clamp(22px,2.5vw,31px);line-height:1.3;letter-spacing:-.6px}@media(max-width:700px){.about-story p.about-introduction{font-size:23px}}

/* Le déplacement du repère ne doit jamais modifier la largeur des liens. */
.header nav>a[aria-current=page]{border-width:1px;border-style:solid;border-radius:5px;padding-left:14px;padding-right:14px}
.header nav .services-parent:has(.services-main[aria-current=page]){border-width:1px;border-style:solid;padding-left:14px;padding-right:14px}
@media(max-width:700px){.header nav>a[aria-current=page]{padding:16px 14px}.header nav .services-parent:has(.services-main[aria-current=page]){padding:0 10px}}
.services-page.menu-gluant .header nav>a[aria-current=page]{padding:17px 14px}

/* Un signal holographique vivant, sans masquer le libellé. */
:is([data-portfolio-guide],.contact-portfolio-link,.secondary-portfolio):not(.portfolio-dimensional-loading):not(.portfolio-cta-pending):not(.holo-chosen){isolation:isolate;animation:portfolio-soft-flicker 8.6s steps(1,end) infinite}
:is([data-portfolio-guide],.contact-portfolio-link,.secondary-portfolio):not(.portfolio-dimensional-loading):not(.portfolio-cta-pending)::after{content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(2deg,transparent 0 3px,#a5f9e3 3px 3.5px,transparent 3.5px 5px),repeating-linear-gradient(-3deg,transparent 0 4px,#9edfee 4px 4.5px,transparent 4.5px 6px);opacity:.065;mix-blend-mode:screen;animation:portfolio-moire-drift 7s ease-in-out infinite;z-index:1}
@keyframes portfolio-moire-drift{0%,100%{opacity:.035;background-position:0 0,0 0}50%{opacity:.09;background-position:3px 2px,-3px -2px}}
@keyframes portfolio-soft-flicker{0%,72%,77%,83%,100%{filter:brightness(1);opacity:1}73%{filter:brightness(.92);opacity:.94}75%{filter:brightness(1.08);opacity:1}79%{filter:brightness(.96);opacity:.97}81%{filter:brightness(1.04);opacity:1}}
@media(prefers-reduced-motion:reduce){:is([data-portfolio-guide],.contact-portfolio-link,.secondary-portfolio){animation:none!important;filter:none!important;opacity:1}:is([data-portfolio-guide],.contact-portfolio-link,.secondary-portfolio)::after{animation:none!important;opacity:.035}}

/* Réalisations : réception par fragments, sans néon autour du cadre. */
:is([data-portfolio-guide],.contact-portfolio-link,.secondary-portfolio){box-shadow:none!important}
:is([data-portfolio-guide],.contact-portfolio-link,.secondary-portfolio).portfolio-dimensional-loading{opacity:0;animation:none!important;pointer-events:none;will-change:clip-path,opacity,transform}
.portfolio-dimensional-loading:before,.portfolio-dimensional-loading:after{display:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){:is([data-portfolio-guide],.contact-portfolio-link,.secondary-portfolio).portfolio-dimensional-loading{opacity:1!important;clip-path:none!important;transform:none!important}}

.glass-price .offer-portfolio-link{display:flex;width:100%;min-height:48px;justify-content:space-between;gap:15px;margin:13px 0 20px;padding:12px 18px;font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:600;background:#2b6b6424;border:1px solid #76b9aa77!important;color:#bce5d8;border-radius:4px}.glass-price .offer-portfolio-link>span{font-size:18px}.glass-price .offer-portfolio-link:hover{background:#397e7033;color:#e4fff5}

/* Le lien Réalisations reprend En savoir plus, à l’extérieur du cadre. */
.offer-price-stack{width:100%;max-width:650px;min-width:0}
.offer-portfolio-link{width:100%;min-height:49px;margin-top:14px;padding:12px 18px;border:1px solid #86d7cfb3;border-radius:0;background:#06282a55;color:#c1f5ea;display:flex;align-items:center;justify-content:center;gap:14px;font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:600;line-height:normal;box-shadow:inset 0 0 14px #75e8dd0a;transition:background .2s,border-color .2s;animation:none!important;filter:none!important;transform:none!important;clip-path:none!important}
.offer-portfolio-link:hover{background:#1a504d66;border-color:#b3ffed}
.offer-portfolio-link span{font-size:19px}.offer-portfolio-link:before,.offer-portfolio-link:after{display:none!important}
@media(min-width:950px){.offer-price-stack{grid-column:2;grid-row:2/4;align-self:center}.offer-price-stack .glass-price{width:100%}}

/* Apparition des réalisations : lignes de signal hors du cadre. */
.portfolio-dimensional-loading{overflow:visible!important;clip-path:none!important;isolation:isolate}
.portfolio-interference{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:visible}
.portfolio-interference i{position:absolute;left:-8%;width:116%;height:2px;background:linear-gradient(90deg,transparent,#8be9e0 20%,#d9fff9 50%,#6fd9d3 80%,transparent);box-shadow:0 0 5px #6ae1d650;transform-origin:center;pointer-events:none}

.service-menu-number{font:11px ui-monospace,monospace;letter-spacing:.06em;color:#7fddd1;margin-right:7px}
.services-submenu a[aria-current="location"],.service-shortcuts a[aria-current="location"]{border-color:#85ebdc;background:#8bf5df15;color:#dcfff6;box-shadow:inset 0 0 12px #79e4d612}

/* Le passage Qui sommes-nous devient un panneau rectangulaire plein. */
.about-transition-cube{width:var(--about-box-width);height:var(--about-box-height);left:0;top:0}
.about-cube-face{inset:auto;left:0;top:0;width:var(--about-box-width);height:var(--about-box-height);background:radial-gradient(ellipse at 75% 30%,#17474c,#06191f 70%);backface-visibility:hidden}
.about-cube-front{transform:translateZ(calc(var(--about-cube-edge)/2))}.about-cube-back{transform:rotateY(180deg) translateZ(calc(var(--about-cube-edge)/2))}
.about-cube-left,.about-cube-right{width:var(--about-cube-edge);left:calc((var(--about-box-width) - var(--about-cube-edge))/2)}
.about-cube-left{transform:rotateY(-90deg) translateZ(calc(var(--about-box-width)/2))}.about-cube-right{transform:rotateY(90deg) translateZ(calc(var(--about-box-width)/2))}
.about-cube-top,.about-cube-bottom{height:var(--about-cube-edge);top:calc((var(--about-box-height) - var(--about-cube-edge))/2)}
.about-cube-top{transform:rotateX(90deg) translateZ(calc(var(--about-box-height)/2))}.about-cube-bottom{transform:rotateX(-90deg) translateZ(calc(var(--about-box-height)/2))}
.about-cube-page{left:0;top:0;transform:none;width:100%;height:100%;outline:0}.about-cube-content{display:flex;flex-direction:column;min-height:100svh}

/* Accueil PC : tout le parcours initial, liens légaux compris, dans le premier écran. */
@media(min-width:950px){
 body:is(.signal-home,.glass-home,.glass-detail){display:flex;flex-direction:column;min-height:100svh}
 :is(.signal-home,.glass-home,.glass-detail) .header{width:100%;height:clamp(66px,11svh,88px);flex-shrink:0}
 :is(.signal-home,.glass-home,.glass-detail) main{flex:1;min-height:0}
 :is(.signal-home,.glass-home,.glass-detail) .contract-footer{flex-shrink:0;padding:12px 5% 14px!important;gap:8px 24px}
 :is(.signal-home,.glass-home,.glass-detail) .contract-footer nav a{min-height:26px;font-size:10px;padding:5px 0}
 .signal-home main{display:flex}.signal-home .intro{width:100%;min-height:0;flex:1;padding:20px 6% 18px;grid-template-rows:1fr auto;gap:12px}
 .signal-home .intro h1{font-size:clamp(36px,6.7svh,64px);line-height:1.08;margin:16px 0}
 .signal-home .intro .eyebrow{margin-bottom:12px}.signal-home .intro-description{font-size:14px;line-height:1.6;margin-bottom:20px}
 .signal-home .disciplines{padding:12px 0;margin-bottom:18px}.signal-home .intro-art{width:min(100%,44svh);justify-self:center}
 .signal-home .intro-caption{margin-top:12px;padding-top:12px}.signal-home .launch{min-height:52px;padding:14px 22px}
 .glass-home main{padding:18px 0 22px;justify-content:center;overflow:visible}
 .glass-home .glass-welcome{margin:0 24px 20px}.glass-home .glass-welcome h1{font-size:clamp(29px,5.2svh,48px);margin:0 0 10px;line-height:1.12}
 .glass-home .glass-welcome p{font-size:14px}.glass-home .project-options{gap:clamp(9px,1.7svh,16px);width:min(calc(100% - 80px),800px)}
 .glass-home .project-options a{min-height:clamp(61px,10.4svh,104px);padding:14px 26px;font-size:clamp(18px,2.7svh,24px)}
 .glass-home .option-icon{width:33px;height:33px}.glass-home .last-portfolio{margin:24px auto 0;width:min(calc(100% - 80px),800px)}
 .glass-home .last-portfolio .custom-quote.portfolio-guide{min-height:46px;padding:11px 22px;font-size:18px}
 .glass-detail main{display:flex;flex-direction:column;justify-content:center;overflow:visible}
 .glass-detail .site-offer{width:100%;padding:20px 5% 24px;gap:0 36px}
 .glass-detail .site-offer .glass-back{margin-bottom:16px}.glass-detail .site-offer h1{font-size:clamp(33px,6.5svh,56px);margin:8px 0 18px}
 .glass-detail .offer-intro{font-size:15px;line-height:1.6;margin-bottom:0}.glass-detail .glass-price{padding:22px 25px}
 .glass-detail .offer-tags{margin-bottom:16px}.glass-detail .glass-price .price{font-size:clamp(38px,6.4svh,50px);margin-bottom:18px}
 .glass-detail .glass-price .button{min-height:54px;padding:15px 20px}.glass-detail .offer-maintenance{margin-top:16px;font-size:12px}
}
/* Les choix de projet ouvrent maintenant la page Services. */
.services-projects{position:relative;z-index:1;width:min(1100px,100%);margin:0 auto;padding:35px 70px 55px 40px;min-height:calc(100svh - 110px);display:flex;flex-direction:column;justify-content:center}.services-projects .glass-welcome{margin:0 15px 28px}.services-projects .glass-welcome h1{font-size:clamp(32px,4.5vw,52px);line-height:1.15;margin:0 0 12px}.services-projects .glass-welcome p{font-size:15px}.services-projects .project-options{position:relative;z-index:1;width:min(100%,800px);margin:0 auto;padding:0;gap:14px;perspective:1000px}.services-projects .project-options a{position:relative;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:20px;min-height:95px;padding:23px 28px;font-size:22px;letter-spacing:-.4px;border:1px solid #a1e4e56b;border-radius:0;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background:linear-gradient(125deg,#b9e8ef28,#abc8d41c 53%,#dcfaff17);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 1px #e5ffff40,0 7px 22px #0004;transform-origin:center;backface-visibility:visible}.services-projects .project-options a:hover{border-color:#affff3bb;background:linear-gradient(125deg,#b9e8ef3b,#abc8d429 53%,#dcfaff22)}.services-projects .option-icon{width:36px;height:36px;color:#78e3dc}.services-projects .project-options a>span:last-child{font-size:21px;color:#69c9cc}.services-projects .project-options a:after{content:'';position:absolute;inset:0;opacity:0;pointer-events:none;mix-blend-mode:screen}.services-projects .holo-option-3.holo-chosen{animation:app-holo-fragment .69s cubic-bezier(.2,.6,.3,1) forwards}.services-projects .holo-option-3.holo-chosen:after{animation:holo-pixel-dissolve .69s steps(7,end) forwards}.services-projects .holo-in-progress a:not(.holo-chosen){opacity:.48;transition:opacity .24s ease}.services-projects .last-portfolio{width:min(100%,800px);margin:30px auto 0}.services-projects .custom-quote{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;margin:0;min-height:54px;padding:14px 22px;font-size:19px;border:1px solid #7eeae980;background:linear-gradient(120deg,#5fe6e515,#53d7d805);color:#a5ddda;box-shadow:0 0 14px #39dbe129,inset 0 0 16px #73eeed0d;transform-origin:center;transform-style:preserve-3d}.services-projects .custom-quote>span{font-family:Montserrat,Arial,sans-serif;font-size:19px}.services-projects .custom-quote.holo-chosen{animation:site-holo-deploy .62s ease-in-out forwards}.services-overview-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.15;margin-bottom:20px}.services-page .benefits-services{border-top:1px solid #5b888944;padding-top:60px}
@media(min-width:950px){.services-projects{min-height:calc(100svh - 110px);padding-top:24px;padding-bottom:32px}.services-projects .glass-welcome{margin-bottom:24px}.services-projects .glass-welcome h1{font-size:clamp(32px,5.4svh,48px)}.services-projects .project-options{gap:clamp(9px,1.7svh,14px)}.services-projects .project-options a{min-height:clamp(65px,11.5svh,100px);padding:16px 26px;font-size:clamp(18px,2.9svh,23px)}.services-projects .last-portfolio{margin-top:24px}.services-projects .custom-quote{min-height:48px;font-size:18px}}
@media(max-width:700px){.services-projects{padding:30px 49px 42px 15px;min-height:calc(100svh - 76px)}.services-projects .glass-welcome{margin:0 0 26px}.services-projects .glass-welcome h1{font-size:clamp(26px,7.7vw,36px);letter-spacing:-.7px}.services-projects .glass-welcome p{font-size:12px}.services-projects .project-options{gap:13px}.services-projects .project-options a{min-height:100px;grid-template-columns:30px 1fr 12px;padding:20px 14px;gap:12px;font-size:clamp(14px,4vw,18px);letter-spacing:-.3px}.services-projects .option-icon{width:30px;height:30px}.services-projects .project-options a>span:last-child{font-size:18px}.services-projects .last-portfolio{margin:32px auto 0}.services-projects .custom-quote{min-height:52px;font-size:16px;padding:13px 16px}.services-page .benefits-services{padding-top:38px}.services-overview-heading h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.services-projects .holo-chosen,.services-projects .holo-chosen:after{animation:none!important}}

/* Effet scratched — conservé sur les appels au formulaire dans Services. */
/* Les trois offres : réception cathodique saccadée, puis halo de sélection. */
.benefit-price .button.primary.effect-scratched,.benefit-price .button.primary.effect-scratched:not(.holo-chosen){animation:project-crt-interference 6.8s steps(1,end) infinite!important;transform:none!important;translate:0;rotate:0deg;will-change:translate,filter;background:linear-gradient(115deg,#16dfcf,#16c7cb)!important;border:1px solid #9effef99;box-shadow:0 0 14px #20dacb30}
.benefit-price .button.primary.effect-scratched:after{display:none!important}
@keyframes project-crt-interference{0%,9%,31%,100%{translate:0;rotate:0deg;filter:brightness(1)}2%,23%{translate:-3px 0;rotate:-.2deg;filter:brightness(.66)}3%,25%{translate:3px 0;rotate:.2deg;filter:brightness(1.12)}5%,28%{translate:-1px 1px;rotate:0deg;filter:brightness(.82)}7%,30%{translate:1px 0;filter:brightness(.95)}}
.benefit-price .button.primary.effect-scratched.project-selected{animation:project-click-halo .36s ease-out both!important;translate:0;rotate:0deg;filter:brightness(1.08);overflow:visible;outline:1px solid #bafff4;outline-offset:4px;box-shadow:0 0 0 6px #74ffe82b,0 0 32px 10px #22e8d780,0 0 65px 14px #29e2d333}
@keyframes project-click-halo{from{box-shadow:0 0 0 0 #74ffe800,0 0 10px #22e8d740}to{box-shadow:0 0 0 6px #74ffe82b,0 0 32px 10px #22e8d780,0 0 65px 14px #29e2d333}}
@media(prefers-reduced-motion:reduce){.benefit-price .button.primary.effect-scratched,.benefit-price .button.primary.effect-scratched:not(.holo-chosen),.benefit-price .button.primary.effect-scratched.project-selected{animation:none!important;translate:0;rotate:0deg;filter:none;will-change:auto}}

.services-projects .last-portfolio{align-self:center;display:flex;justify-content:center}
.services-projects .custom-quote{width:min(100%,800px)!important;max-width:none!important;justify-content:center;text-align:center}
.services-projects .custom-quote>span{position:absolute;right:22px}
.services-inline-contact{margin:48px auto 80px;scroll-margin-top:20px}
.services-inline-contact .return-offer{cursor:pointer}

.services-inline-contact [role=status]{margin-top:18px;padding:15px;background:#103932;color:#95efdb;font-size:13px;line-height:1.8}.services-inline-contact [role=status][data-state=error]{color:#ffc6ae}

/* Effet scratched pour tous les accès « Voir nos réalisations ». */
a.effect-scratched{animation:project-crt-interference 6.8s steps(1,end) infinite!important;transform:none!important;will-change:translate,filter;transform-origin:center}
a.effect-scratched:after{display:none!important;animation:none!important}
a.effect-scratched.project-selected{animation:project-click-halo .36s ease-out both!important;outline:1px solid #bafff4;outline-offset:4px;box-shadow:0 0 0 6px #74ffe82b,0 0 32px 10px #22e8d780}
/* Même repère de largeur et même modèle de mise en page avant/après le rectangle 3D. */
.about-cube-content{display:block}
.about-cube-face{border:0;box-shadow:none}
.about-cube-page,.about-cube-content{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.about-cube-moving .about-cube-content .header{flex-shrink:0}
@media(prefers-reduced-motion:reduce){a.effect-scratched{animation:none!important;translate:0;rotate:0deg;filter:none;will-change:auto}}

/* Réalisations : délai de 0,3 s, puis double néon léger, sans scratched ni moiré. */
a.effect-double-neon{position:relative;animation:none!important;translate:0!important;rotate:0deg!important;filter:none!important;will-change:auto}
a.effect-double-neon:after{display:none!important;animation:none!important}
a.effect-double-neon.portfolio-neon-wait{opacity:0!important;pointer-events:none}
.portfolio-double-neon{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}
.portfolio-double-neon path{fill:none;stroke:#95efdf;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:drop-shadow(0 0 2px #6be9d666)}
.portfolio-double-neon circle{fill:#d6fff5;filter:drop-shadow(0 0 3px #71edda77)}
@media(prefers-reduced-motion:reduce){a.effect-double-neon.portfolio-neon-wait{opacity:1!important}.portfolio-double-neon{display:none}}

/* En haut, retrouver le bouton hamburger commun aux autres pages. */
.services-page.menu-gluant.services-menu-at-top .header .menu-toggle:not([aria-expanded=true]){width:44px;height:44px;padding:10px;gap:7px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.services-page.menu-gluant.services-menu-at-top .header .menu-toggle:not([aria-expanded=true]) span{width:23px;height:1px;background:#69eddf;box-shadow:0 0 8px #4ff4df66}
.services-page.menu-gluant.services-menu-at-top .header .menu-toggle:not([aria-expanded=true]):after{display:none}
.portfolio-page-signal{position:fixed;inset:0;pointer-events:none;z-index:210;background:repeating-linear-gradient(0deg,transparent 0 5px,#74e8e426 5px 6px)}

/* Choix Services : un reflet de néon lointain traverse le verre, sans déformer la page. */
.services-projects .project-options a{isolation:isolate}
.services-projects .project-options a:before{content:'';position:absolute;inset:-15% 0;pointer-events:none;z-index:0;mix-blend-mode:screen;background:linear-gradient(106deg,transparent 36%,#61e8e009 42%,#8bfff02b 47%,#c4fffba3 49.6%,#a4fff65c 50%,#65e5e226 53%,#57cfd00b 58%,transparent 65%);filter:blur(.45px);opacity:0;transform:translateX(-115%);animation:service-distant-neon 2.8s 1.8s linear both}
.services-projects .project-options a:nth-child(2):before{animation-delay:1.98s}
.services-projects .project-options a:nth-child(3):before{animation-delay:2.16s}
.services-projects .project-options a>svg,.services-projects .project-options a>span{position:relative;z-index:1}
@keyframes service-distant-neon{0%{opacity:0;transform:translateX(-115%)}9%{opacity:.12}14%{opacity:.32;transform:translateX(-80%)}17%{opacity:.06}23%{opacity:.38;transform:translateX(-52%)}27%{opacity:.12}36%{opacity:.48;transform:translateX(-18%)}40%{opacity:.18}49%{opacity:.55;transform:translateX(18%)}53%{opacity:.16}64%{opacity:.42;transform:translateX(55%)}70%{opacity:.12}80%{opacity:.24;transform:translateX(96%)}92%,100%{opacity:0;transform:translateX(115%)}}
@media(prefers-reduced-motion:reduce){.services-projects .project-options a:before{display:none;animation:none}}

/* Les trois choix reçoivent un glitch de signal, sans halo ni rayon. */
.services-projects .project-options a:before{display:none;animation:none;background:none;filter:none}
.services-projects .project-options a{animation:service-card-glitch 1.15s 1.8s steps(1,end) both;will-change:auto}
.services-projects .project-options a:nth-child(2){animation-delay:1.86s}
.services-projects .project-options a:nth-child(3){animation-delay:1.92s}
.services-projects .project-options a:after{content:'';display:block;position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,transparent 0 17px,#b5fff826 17px 19px,transparent 19px 35px);opacity:0;animation:service-card-glitch-lines 1.15s 1.8s steps(1,end) both}
.services-projects .project-options a:nth-child(2):after{animation-delay:1.86s}
.services-projects .project-options a:nth-child(3):after{animation-delay:1.92s}
@keyframes service-card-glitch{0%,10%,31%,58%,82%,100%{translate:0;filter:none}14%{translate:-3px 0;filter:contrast(1.06)}18%{translate:3px 0}22%{translate:-1px 0}41%{translate:2px 0;filter:brightness(.86)}46%{translate:-3px 0;filter:brightness(1.06)}50%{translate:1px 0}68%{translate:-2px 0;filter:contrast(1.08)}73%{translate:2px 0}77%{translate:-1px 0}}
@keyframes service-card-glitch-lines{0%,10%,31%,58%,82%,100%{opacity:0;transform:none;clip-path:inset(0)}14%,41%,68%{opacity:.65;transform:translateX(-7px);clip-path:polygon(0 16%,100% 16%,100% 23%,0 23%,0 56%,100% 56%,100% 62%,0 62%)}18%,46%,73%{opacity:.42;transform:translateX(6px);clip-path:polygon(0 30%,100% 30%,100% 36%,0 36%,0 77%,100% 77%,100% 83%,0 83%)}22%,50%,77%{opacity:.2;transform:translateX(-2px)}}
@media(prefers-reduced-motion:reduce){.services-projects .project-options a,.services-projects .project-options a:after{animation:none;translate:0;filter:none}.services-projects .project-options a:after{display:none}}

/* Le menu ouvert indique la fiche Services actuellement consultée. */
.services-page .services-submenu a[aria-current="location"]{border:1px solid #85ebdc99;border-radius:5px;background:#8bf5df1f;color:#e1fff7;box-shadow:inset 0 0 12px #79e4d61c,0 0 15px #62e9cd20;font-weight:600}

/* Choix de projet Contact : sélecteur lisible, détail des offres et navigation clavier. */
.project-select{position:relative;margin-bottom:26px;z-index:5}
.project-select select[hidden]{display:none!important}
.project-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:64px;padding:17px 18px;text-align:left;color:#e0faf4;background:linear-gradient(120deg,#21545299,#0a272d);border:1px solid #75ddcd99;border-radius:7px;box-shadow:inset 0 1px #d3fff422,0 0 0 3px #62dfc908;font-size:14px;line-height:1.5;cursor:pointer}
.project-select-trigger:hover,.project-select-trigger[aria-expanded=true]{border-color:#a6ffee;background:linear-gradient(120deg,#28665d99,#10393d);box-shadow:0 0 0 3px #62dfc914}
.project-select-chevron{color:#9ff4e4;font-size:23px;transition:transform .25s ease}
.project-select-trigger[aria-expanded=true] .project-select-chevron{transform:rotate(180deg)}
.project-select-options{position:absolute;top:calc(100% + 9px);left:0;right:0;max-height:min(440px,65svh);overflow:auto;padding:7px;border:1px solid #6bbfb699;border-radius:10px;background:#0b272cf5;backdrop-filter:blur(24px);box-shadow:0 18px 45px #0009;z-index:10;animation:project-list-open .22s ease-out both}
.project-select-options[hidden]{display:none}
.project-select-option{display:grid;grid-template-columns:28px 1fr auto 13px;align-items:center;gap:12px;width:100%;padding:15px 11px;color:#cce7e1;background:transparent;border:1px solid transparent;border-radius:6px;text-align:left;cursor:pointer}
.project-select-option+.project-select-option{margin-top:3px}
.project-select-option:hover,.project-select-option:focus-visible{background:#74eadb12;border-color:#73cdbf66;outline:none}
.project-select-option[aria-selected=true]{background:#72e6d320;border-color:#82dfc98c;color:#ecfff9}
.project-option-icon{font-size:22px;color:#8de7d5}
.project-option-copy{display:flex;flex-direction:column;gap:5px}
.project-option-copy strong{font-size:12px;font-weight:600;line-height:1.4}
.project-option-copy small{font-size:10px;line-height:1.6;color:#96b8b3}
.project-option-price{font-size:10px;color:#a9e4d6;white-space:nowrap}
.project-option-check{color:#a7ffe9;opacity:0}
.project-select-option[aria-selected=true] .project-option-check{opacity:1}
@keyframes project-list-open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:700px){.project-select-trigger{font-size:12px;padding:15px 13px}.project-select-option{grid-template-columns:22px 1fr 12px;gap:9px;padding:12px 8px}.project-option-price{grid-column:2;grid-row:2;margin-top:-5px}.project-option-check{grid-column:3;grid-row:1/3}.project-option-icon{grid-row:1/3}.project-option-copy strong{font-size:11px}.project-option-copy small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.project-select-options{animation:none}.project-select-chevron{transition:none}}

/* Réalisations : salves du cube, indépendantes du lien et sans son. */
@property --cta-signal-x{syntax:'<length>';inherits:true;initial-value:0px}
@property --cta-signal-stretch{syntax:'<number>';inherits:true;initial-value:1}
a.portfolio-cube-glitch{position:relative;overflow:visible!important;animation:none!important;filter:none!important;isolation:isolate}
a.portfolio-cube-glitch::after,a.portfolio-cube-glitch::before{display:none!important}
a.portfolio-cube-glitch.portfolio-signal-wait{opacity:0!important;pointer-events:none}
.portfolio-signal-core{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;font:inherit!important;line-height:inherit!important;color:inherit;pointer-events:none}
.portfolio-signal-copy{position:absolute;inset:-1px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:inherit;border:1px solid #91eadba0;border-radius:inherit;background:linear-gradient(110deg,#145451eb,#09272de8);color:#b9f8eb;font:inherit!important;pointer-events:none!important;z-index:3;translate:var(--cta-signal-x,0px) 0;scale:var(--cta-signal-stretch,1) 1;animation:cta-signal-tear-a .65s linear both;mix-blend-mode:screen}
.portfolio-signal-copy *{pointer-events:none!important}
.portfolio-signal-copy-1{animation-name:cta-signal-tear-b}
.portfolio-signal-loss>.portfolio-signal-core{animation:cta-signal-gaps .65s steps(1,end) both}
.portfolio-cube-glitch[data-signal-variant="1"]>.portfolio-signal-copy-0{animation-name:cta-signal-fragments-a}
.portfolio-cube-glitch[data-signal-variant="1"]>.portfolio-signal-copy-1{animation-name:cta-signal-fragments-b}
.portfolio-cube-glitch[data-signal-variant="2"]>.portfolio-signal-copy-0{animation-name:cta-signal-echo-a}
.portfolio-cube-glitch[data-signal-variant="2"]>.portfolio-signal-copy-1{animation-name:cta-signal-echo-b}
.portfolio-signal-loss[data-signal-variant="1"]>.portfolio-signal-core{animation-name:cta-signal-fragment-gaps}
.portfolio-signal-loss[data-signal-variant="2"]>.portfolio-signal-core{animation-name:cta-signal-echo-gaps}
@media(prefers-reduced-motion:reduce){.portfolio-signal-copy{display:none}.portfolio-signal-loss>.portfolio-signal-core{animation:none}}
@keyframes cta-signal-tear-a{
 0%,100%{opacity:0;clip-path:inset(100% 0 0)}
 8%{animation-timing-function:steps(1,end);opacity:.65;--cta-signal-x:18px;clip-path:inset(26% 0 63%)}
 19%{animation-timing-function:steps(1,end);opacity:.85;--cta-signal-x:-24px;clip-path:inset(44% 0 48%)}
 31%{animation-timing-function:steps(1,end);opacity:.45;--cta-signal-x:13px;clip-path:inset(62% 0 31%)}
 42%{opacity:.75;--cta-signal-x:-18px;--cta-signal-stretch:1.14;clip-path:inset(31% 0 55%)}
 55%{opacity:.55;--cta-signal-x:-12px;--cta-signal-stretch:1.1;clip-path:inset(54% 0 41%)}
 67%{opacity:.5;--cta-signal-x:-6px;--cta-signal-stretch:1.055;clip-path:inset(38% 0 58%)}
 80%{opacity:.3;--cta-signal-x:-2px;--cta-signal-stretch:1.018;clip-path:inset(57% 0 40%)}
 92%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1}
}
@keyframes cta-signal-tear-b{
 0%,100%{opacity:0;clip-path:inset(100% 0 0)}
 13%{animation-timing-function:steps(1,end);opacity:.4;--cta-signal-x:-14px;clip-path:inset(64% 0 30%)}
 25%{animation-timing-function:steps(1,end);opacity:.65;--cta-signal-x:28px;clip-path:inset(30% 0 65%)}
 39%{animation-timing-function:steps(1,end);opacity:.55;--cta-signal-x:20px;clip-path:inset(56% 0 32%)}
 51%{opacity:.5;--cta-signal-x:16px;--cta-signal-stretch:1.12;clip-path:inset(23% 0 73%)}
 66%{opacity:.4;--cta-signal-x:8px;--cta-signal-stretch:1.06;clip-path:inset(46% 0 49%)}
 79%{opacity:.25;--cta-signal-x:3px;--cta-signal-stretch:1.02;clip-path:inset(33% 0 64%)}
 90%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1}
}
@keyframes cta-signal-gaps{
 0%,100%{opacity:1;mask-image:none}
 8%{animation-timing-function:steps(1,end);opacity:.92;mask-image:linear-gradient(#000 0 24%,transparent 24% 35%,#000 35%)}
 19%{animation-timing-function:steps(1,end);opacity:.8;mask-image:linear-gradient(#000 0 43%,transparent 43% 52%,#000 52%)}
 31%{animation-timing-function:steps(1,end);opacity:.95;mask-image:linear-gradient(#000 0 63%,transparent 63% 70%,#000 70%)}
 42%{opacity:.85;mask-image:linear-gradient(#000 0 29%,transparent 29% 43%,#000 43%)}
 55%{opacity:.96;mask-image:linear-gradient(#000 0 54%,transparent 54% 59%,#000 59%)}
 67%{opacity:.97;mask-image:linear-gradient(#000 0 38%,transparent 38% 42%,#000 42%)}
 80%{opacity:1;mask-image:linear-gradient(#000 0 57%,transparent 57% 59%,#000 59%)}
 92%{opacity:1;mask-image:none}
}
@keyframes cta-signal-fragments-a{0%,100%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1;clip-path:inset(100% 0 0)}9%{animation-timing-function:steps(1,end);opacity:0.55;--cta-signal-x:20px;--cta-signal-stretch:1.100;clip-path:inset(29% 0 68%)}20%{animation-timing-function:steps(1,end);opacity:0.65;--cta-signal-x:-26px;--cta-signal-stretch:1.130;clip-path:inset(59% 0 37%)}33%{animation-timing-function:steps(1,end);opacity:0.5;--cta-signal-x:15px;--cta-signal-stretch:1.075;clip-path:inset(41% 0 56%)}46%{opacity:0.6;--cta-signal-x:-17px;--cta-signal-stretch:1.085;clip-path:inset(67% 0 28%)}60%{opacity:0.4;--cta-signal-x:-10px;--cta-signal-stretch:1.050;clip-path:inset(67% 0 28%)}76%{opacity:0.25;--cta-signal-x:-3px;--cta-signal-stretch:1.015;clip-path:inset(67% 0 28%)}94%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1}}
@keyframes cta-signal-fragments-b{0%,100%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1;clip-path:inset(100% 0 0)}14%{animation-timing-function:steps(1,end);opacity:0.5;--cta-signal-x:-16px;--cta-signal-stretch:1.080;clip-path:inset(69% 0 27%)}24%{animation-timing-function:steps(1,end);opacity:0.6;--cta-signal-x:23px;--cta-signal-stretch:1.115;clip-path:inset(36% 0 61%)}37%{animation-timing-function:steps(1,end);opacity:0.45;--cta-signal-x:-19px;--cta-signal-stretch:1.095;clip-path:inset(25% 0 70%)}49%{opacity:0.55;--cta-signal-x:14px;--cta-signal-stretch:1.070;clip-path:inset(47% 0 49%)}64%{opacity:0.35;--cta-signal-x:7px;--cta-signal-stretch:1.035;clip-path:inset(47% 0 49%)}80%{opacity:0.2;--cta-signal-x:2px;--cta-signal-stretch:1.010;clip-path:inset(47% 0 49%)}94%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1}}
@keyframes cta-signal-echo-a{0%,100%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1;clip-path:inset(100% 0 0)}10%{animation-timing-function:steps(1,end);opacity:0.4;--cta-signal-x:-12px;--cta-signal-stretch:1.060;clip-path:inset(35% 0 52%)}25%{animation-timing-function:steps(1,end);opacity:0.65;--cta-signal-x:24px;--cta-signal-stretch:1.120;clip-path:inset(51% 0 37%)}40%{opacity:0.6;--cta-signal-x:20px;--cta-signal-stretch:1.100;clip-path:inset(32% 0 53%)}53%{opacity:0.5;--cta-signal-x:14px;--cta-signal-stretch:1.070;clip-path:inset(32% 0 53%)}68%{opacity:0.35;--cta-signal-x:7px;--cta-signal-stretch:1.035;clip-path:inset(32% 0 53%)}82%{opacity:0.15;--cta-signal-x:2px;--cta-signal-stretch:1.010;clip-path:inset(32% 0 53%)}94%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1}}
@keyframes cta-signal-echo-b{0%,100%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1;clip-path:inset(100% 0 0)}16%{animation-timing-function:steps(1,end);opacity:0.35;--cta-signal-x:15px;--cta-signal-stretch:1.075;clip-path:inset(58% 0 32%)}29%{animation-timing-function:steps(1,end);opacity:0.6;--cta-signal-x:-22px;--cta-signal-stretch:1.110;clip-path:inset(28% 0 63%)}43%{opacity:0.55;--cta-signal-x:-18px;--cta-signal-stretch:1.090;clip-path:inset(61% 0 28%)}56%{opacity:0.45;--cta-signal-x:-12px;--cta-signal-stretch:1.060;clip-path:inset(61% 0 28%)}70%{opacity:0.3;--cta-signal-x:-6px;--cta-signal-stretch:1.030;clip-path:inset(61% 0 28%)}84%{opacity:0.12;--cta-signal-x:-1px;--cta-signal-stretch:1.005;clip-path:inset(61% 0 28%)}94%{opacity:0;--cta-signal-x:0px;--cta-signal-stretch:1}}
@keyframes cta-signal-fragment-gaps{0%,94%,100%{opacity:1;mask-image:none}10%{opacity:.94;mask-image:linear-gradient(#000 0 29%,transparent 29% 32%,#000 32%)}23%{opacity:.94;mask-image:linear-gradient(#000 0 59%,transparent 59% 63%,#000 63%)}37%{opacity:.94;mask-image:linear-gradient(#000 0 41%,transparent 41% 44%,#000 44%)}49%{opacity:.94;mask-image:linear-gradient(#000 0 67%,transparent 67% 72%,#000 72%)}70%{opacity:.94;mask-image:linear-gradient(#000 0 67%,transparent 67% 69%,#000 69%)}}
@keyframes cta-signal-echo-gaps{0%,94%,100%{opacity:1;mask-image:none}12%{opacity:.94;mask-image:linear-gradient(#000 0 35%,transparent 35% 48%,#000 48%)}28%{opacity:.94;mask-image:linear-gradient(#000 0 51%,transparent 51% 63%,#000 63%)}43%{opacity:.94;mask-image:linear-gradient(#000 0 32%,transparent 32% 47%,#000 47%)}60%{opacity:.94;mask-image:linear-gradient(#000 0 32%,transparent 32% 40%,#000 40%)}78%{opacity:.94;mask-image:linear-gradient(#000 0 32%,transparent 32% 34%,#000 34%)}}

body:has(.portfolio-cube-glitch){overflow-x:clip}

/* Le contenu du bouton n’est pas la flèche positionnée de l’ancien composant. */
a.portfolio-cube-glitch>.portfolio-signal-core{position:relative;inset:auto;flex:1 1 auto;min-width:0;width:100%;margin:0;align-self:center}
a.portfolio-cube-glitch>.portfolio-signal-copy{position:absolute;inset:-1px;width:auto;margin:0;align-self:auto}
a.portfolio-cube-glitch>.portfolio-signal-core>span:last-child{flex:none}
/* Les anciennes variantes mobiles de flèche ne doivent pas déplacer le contenu. */
a.portfolio-cube-glitch>.portfolio-signal-core{inset:auto!important;position:relative!important}
a.portfolio-cube-glitch>.portfolio-signal-copy{inset:-1px!important}

/* Flèche vectorielle nette et salves initiales calées sur la durée du son. */
a.portfolio-cube-glitch .portfolio-signal-arrow{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;flex:0 0 19px;position:static!important;inset:auto!important;font:inherit}
.portfolio-signal-arrow svg{display:block;width:19px;height:19px;overflow:visible}
.portfolio-signal-copy,.portfolio-signal-loss>.portfolio-signal-core{animation-duration:var(--portfolio-signal-duration,650ms)}

/* Curseurs PC natifs : pointe exacte, verre cyan et ombre sans suivi JavaScript. */
@media (hover:hover) and (pointer:fine){
 html,body{cursor:url('/assets/cursor-cyber.svg') 7 5,default}
 body :is(a,button,summary,select,[role=button],[role=option],label[for],.menu-toggle,.hub-face,.maquette-option),body form .maquette-option input[type=checkbox]{cursor:url('/assets/cursor-cyber.svg') 7 5,pointer}
 body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=color]):not([type=file]):not([type=hidden]),body textarea,body [contenteditable=true]{cursor:url('/assets/cursor-text.svg') 12 16,text;caret-color:#8fefff}
 body :is(button,input,select,textarea):disabled{cursor:not-allowed}
 body .hub-drag:active{cursor:grabbing}
}

/* Accusé d’envoi : confirmation serveur uniquement, fermeture au clavier et au clic. */
.contact-success-dialog{position:fixed;inset:0;width:min(480px,calc(100% - 40px));max-height:calc(100svh - 40px);overflow:auto;margin:auto;padding:38px 32px;text-align:center;color:#e9fff8;border:1px solid #83e7de99;border-radius:18px;background:linear-gradient(140deg,#153e46f5,#08212afc);box-shadow:inset 0 1px #c4fff32b,0 24px 90px #0009,0 0 45px #3bd9df14;animation:contact-success-in .3s cubic-bezier(.2,.8,.2,1)}
.contact-success-dialog::backdrop{background:#020c13c9;backdrop-filter:blur(8px);animation:contact-success-veil .25s ease-out}.contact-success-mark{display:grid;place-items:center;width:55px;height:55px;margin:0 auto 23px;border-radius:50%;border:1px solid #7ae9d5aa;background:#55e5d312;color:#93fff0;font-size:26px;box-shadow:0 0 24px #55e5d315}.contact-success-dialog h2{font-size:clamp(24px,5vw,30px);text-wrap:balance;line-height:1.2;letter-spacing:-.7px;margin:0 0 17px}.contact-success-dialog p{font-size:14px;line-height:1.8;color:#b8d7d5;margin:0 0 27px}.contact-success-dialog .button{min-width:160px;justify-content:center;font-size:13px;border-radius:6px;min-height:48px}.contact-success-dialog .button:focus-visible{outline:2px solid #b1fff2;outline-offset:5px}
@keyframes contact-success-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes contact-success-veil{from{background:#020c1300}to{background:#020c13c9}}
@media(prefers-reduced-motion:reduce){.contact-success-dialog,.contact-success-dialog::backdrop{animation:none}}

/* A compact human signature directly below the main action. */
.signal-home .intro-bottom .home-identity{display:flex;flex-direction:column;align-items:center;gap:2px;margin:15px 0 0;padding:0;border:0;background:none;box-shadow:none;text-align:center}
.signal-home .home-identity p{margin:0;color:#9dbbb8;font:400 12px/1.6 Montserrat,Arial,sans-serif;letter-spacing:0}
.signal-home .home-identity p strong{font-weight:500;color:#bdd8d3}
.signal-home .home-identity p span{color:#718e89}
.signal-home .home-identity .home-phone{display:inline-flex;align-items:center;justify-content:center;min-height:40px;color:#d9fff9;font:600 15px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.3px;white-space:nowrap}
.signal-home .home-identity .home-phone:hover{color:#63efdc}
@media(max-width:600px){.signal-home .intro-bottom .home-identity{margin-top:12px;gap:0}.signal-home .home-identity p{font-size:11px}.signal-home .home-identity .home-phone{font-size:14px}}
/* Restore the former cyan framing around the signature below the action. */
.signal-home .intro-bottom .home-identity{width:100%;padding:12px 10px 8px;border-top:1px solid #42c7bc55;border-bottom:1px solid #42c7bc55;box-shadow:0 -5px 20px -20px #4ff4df}
@media(max-width:600px){.signal-home .intro-bottom .home-identity{padding:10px 8px 7px}}

/* Direct phone access within the shared Weberio navigation. */
.header #navigation>.menu-contact{display:flex;flex-direction:column;gap:2px;flex-shrink:0;align-items:flex-start}
.header #navigation>.menu-contact>span{font:400 10px/1.5 Montserrat,Arial,sans-serif;color:#a9ccc5;white-space:nowrap}
.header #navigation .menu-phone{display:inline-flex;align-items:center;justify-content:flex-start;gap:0;min-height:40px;padding:0;color:#d9fff9;font:600 15px/1.4 Montserrat,Arial,sans-serif;white-space:nowrap;text-decoration:none}
.header #navigation .menu-phone:hover{color:#63efdc}
@media(max-width:900px){
 .header #navigation>.menu-contact{margin-top:16px;padding-top:18px;border-top:1px solid #72c5b83d;gap:5px}
 .header #navigation>.menu-contact>span{font-size:11px}
 .header #navigation .menu-phone{min-height:44px;font-size:21px}
}
@media(min-width:901px){.header #navigation{gap:clamp(14px,2vw,28px)}}
/* Keep the copyright and all legal links in a single desktop row. */
@media(min-width:901px){
 .contract-footer{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:20px}
 .contract-footer .legal-copyright{flex:0 0 auto}
 .contract-footer nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:clamp(12px,1.8vw,24px)}
 .contract-footer nav a{white-space:nowrap}
}

/* The creators banner uses the same signal reveal without changing its layout. */
.signal-home .home-identity.portfolio-cube-glitch{position:relative;isolation:isolate;overflow:visible}
.signal-home .home-identity.portfolio-signal-wait{opacity:0;pointer-events:none}
.signal-home .home-identity>.portfolio-signal-core,.signal-home .home-identity>.portfolio-signal-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-align:center}
.signal-home .home-identity>.portfolio-signal-core{pointer-events:auto}
.signal-home .home-identity>.portfolio-signal-copy{width:auto;margin:0}

/* Alternative contact action below the form's Send button. */
form .form-call-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:50px;margin-top:14px;padding:12px 16px;border:1px solid #7ad7c677;border-radius:5px;background:#123b3a55;color:#e5fff7;font:400 14px/1.5 Montserrat,Arial,sans-serif;text-align:center;text-decoration:none;transition:background .2s,border-color .2s}
form .form-call-button svg{flex-shrink:0;color:#83e9d5}
form .form-call-button strong{font-weight:600;white-space:nowrap;margin-left:5px}
form .form-call-button:hover{background:#1b4b4666;border-color:#a3f4e0}
form .form-call-button:focus-visible{outline:2px solid #8fdac9;outline-offset:4px}
@media(max-width:400px){form .form-call-button{padding:12px 10px;font-size:13px;gap:8px}}

/* Phone becomes the final, distinct action in the navigation. */
.header #navigation>.menu-contact{align-items:stretch}
.header #navigation .menu-phone{justify-content:center;gap:9px;min-height:44px;padding:11px 16px;border:1px solid #7cdbc699;border-radius:6px;background:#24534b66;color:#e4fff7;font-size:13px;line-height:1.5}
.header #navigation .menu-phone strong{font-size:14px;font-weight:600}
.header #navigation .menu-phone:hover{background:#306b5c80;border-color:#a5f7df;color:#ffffff}
@media(max-width:900px){
 .header #navigation>.menu-contact{margin-top:auto;padding-top:22px;border-top:0;flex-shrink:0;width:100%}
 .header #navigation .menu-phone{width:100%;min-height:54px;font-size:15px;flex-wrap:wrap;gap:5px 12px}
 .header #navigation .menu-phone strong{font-size:18px}
}

/* Open navigation stays fixed; its contents fit instead of scrolling. */
@media(max-width:900px){
 body.menu-visible .header #navigation.open{position:fixed;inset:0;width:100%;height:100dvh;max-height:100dvh!important;overflow:hidden;overscroll-behavior:none;touch-action:none;box-sizing:border-box;gap:clamp(3px,1.1dvh,10px);padding:clamp(76px,11dvh,100px) 24px max(18px,env(safe-area-inset-bottom))}
 .header #navigation.open>a,.header #navigation.open .services-main{padding-top:clamp(9px,1.65dvh,16px);padding-bottom:clamp(9px,1.65dvh,16px);font-size:clamp(18px,2.8dvh,22px);line-height:1.3}
 .header #navigation.open>.menu-contact{margin-top:auto;padding-top:12px}
 .header #navigation.open .menu-phone{min-height:48px;padding:10px 14px}
}
@media(max-width:900px) and (max-height:680px){
 body.menu-visible .header #navigation.open{padding-top:70px;padding-bottom:max(12px,env(safe-area-inset-bottom));gap:3px}
 .header #navigation.open>a,.header #navigation.open .services-main{font-size:18px;padding-top:8px;padding-bottom:8px}
 .header #navigation.open .services-submenu a{min-height:32px;padding-top:5px;padding-bottom:5px;font-size:13px}
 .header #navigation.open>.menu-contact{padding-top:8px}
}
