*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#000000}
[hidden]{display:none!important}

.dom-info{--dom:#4285F4}.dom-domo{--dom:#EA4335}.dom-vgp{--dom:#FBBC05}.dom-outil{--dom:#34A853}.dom-neutre{--dom:#9AA0A6}
.stripe{display:flex;height:6px}.stripe span{flex:1}
.dom-dot::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--dom);margin-right:8px;vertical-align:1px}
.act-btn{border-top-width:8px!important;border-top-color:var(--dom)!important}
.act-btn .act-ico{color:var(--dom)}
.act-btn.is-on .act-ico{color:#15171A}
.act-panel{border-top:8px solid var(--dom)}
.act-panel .dom-label{color:var(--dom)}
.act-panel .dom-cta{background:var(--dom)}
.carte-dom{background:var(--dom)}
.act-btn{background:#FFFFFF;transition:transform .25s cubic-bezier(.3,1.4,.6,1),background-color .25s,box-shadow .25s}
.act-btn:hover{transform:translateY(-3px);box-shadow:0 4px 0 #15171A}
.act-btn:active{transform:scale(.96)}
.act-btn.is-on{background:var(--dom);transform:translateY(-6px);box-shadow:0 8px 0 #15171A}
.act-btn.is-on .act-ico{animation:actpop .5s ease-out}
.act-btn:focus-visible{outline:3px solid #15171A;outline-offset:3px}
.act-panel{animation:actin .35s ease-out}
@keyframes actpop{0%{transform:rotate(0) scale(1)}45%{transform:rotate(-14deg) scale(1.3)}100%{transform:rotate(0) scale(1)}}
@keyframes actin{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.act-btn,.act-btn.is-on .act-ico,.act-panel{animation:none;transition:none}}
.modal iframe{min-height:320px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;background:#15171A;color:#fff;padding:14px 20px;font-family:'Archivo',system-ui,sans-serif;font-weight:600;box-shadow:0 6px 0 #4285F4;animation:actin .25s ease-out}
.dom-info{--dom-a:#E8F0FE;--dom-b:#AECBFA;--dom-ink:#1967D2}
.dom-domo{--dom-a:#FCE8E6;--dom-b:#F6AEA9;--dom-ink:#C5221F}
.dom-vgp{--dom-a:#FEF7E0;--dom-b:#FDE293;--dom-ink:#B06000}
.dom-outil{--dom-a:#E6F4EA;--dom-b:#A8DAB5;--dom-ink:#188038}
.dom-neutre{--dom-a:#F1F3F4;--dom-b:#DADCE0;--dom-ink:#5F6368}
.act-btn{border:0!important;border-radius:22px;background:linear-gradient(160deg,#FFFFFF 35%,var(--dom-a))!important;box-shadow:inset 0 0 0 2px var(--dom-b)}
.act-btn:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--dom-b),0 10px 22px -12px var(--dom)}
.act-btn.is-on{background:linear-gradient(140deg,var(--dom-a),var(--dom-b))!important;transform:translateY(-6px);box-shadow:inset 0 0 0 2px var(--dom-b),0 16px 30px -14px var(--dom)}
.act-btn .act-ico{color:var(--dom-ink)}
.act-btn.is-on .act-ico{color:var(--dom-ink)}
.act-panel{border:0;border-radius:26px;background:linear-gradient(135deg,var(--dom-a),#FFFFFF 75%)!important;color:#202124!important;box-shadow:inset 0 0 0 2px var(--dom-b)}
.act-panel p{color:#3C4043!important}
.act-panel .dom-label{color:var(--dom-ink)}
.act-panel .dom-cta{background:linear-gradient(135deg,var(--dom-a),var(--dom-b));color:#202124!important}
.carte-dom{background:linear-gradient(140deg,var(--dom-a),var(--dom-b))!important;color:#202124!important;border:0!important;border-radius:22px;transition:transform .2s,box-shadow .2s}
.carte-dom:hover{transform:translateY(-3px);box-shadow:0 12px 24px -14px var(--dom)}
a[style*="inline-flex"],button[type="submit"]{border-radius:999px}
input,select,textarea{border-radius:12px}
#form-contact,.panneau-arrondi{border-radius:26px}
.tuiles{background:transparent!important;gap:10px!important}
.tuiles a{border-radius:18px;background:linear-gradient(140deg,#262A30,#1E2125)!important}
.toast{border-radius:999px}
.stripe span{border-radius:0}
body{background:#000000}
a{color:#F1F3F4}a:hover{color:#FFFFFF}
.act-btn{background:linear-gradient(160deg,#16181C 30%,#262A30)!important;color:#F1F3F4!important;box-shadow:inset 0 0 0 2px var(--dom-b)}
.act-btn:hover{box-shadow:inset 0 0 0 2px var(--dom-b),0 12px 26px -12px var(--dom)}
.act-btn .act-ico{color:var(--dom-b)}
.act-btn.is-on{background:linear-gradient(140deg,var(--dom-a),var(--dom-b))!important;color:#202124!important;box-shadow:0 16px 34px -12px var(--dom)}
.act-btn.is-on .act-ico{color:var(--dom-ink)}
.act-btn:focus-visible{outline-color:#F1F3F4}
.act-panel{background:linear-gradient(135deg,var(--dom-a),var(--dom-b))!important;box-shadow:none}
.act-panel p{color:#202124!important}
.act-panel .dom-cta{background:#202124!important;color:#FFFFFF!important}
.panneau-arrondi{box-shadow:inset 0 0 0 1px #2A2D33}
#form-contact{box-shadow:inset 0 0 0 1px #2A2D33}
input,select,textarea{background:#0B0C0E!important;color:#F1F3F4}
.toast{box-shadow:0 0 0 1px #2A2D33,0 6px 0 #4285F4}
.carte-dom,.act-btn,a[style*="inline-flex"],button[type="submit"]{position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.3,1.4,.6,1),box-shadow .25s,filter .25s}
.carte-dom::after,a[style*="inline-flex"]::after,button[type="submit"]::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);pointer-events:none;opacity:0}
.carte-dom:hover::after,a[style*="inline-flex"]:hover::after,button[type="submit"]:hover::after{animation:brillance .7s ease-out;opacity:1}
a[style*="inline-flex"]:hover,button[type="submit"]:hover{transform:translateY(-2px);filter:brightness(1.06)}
.carte-dom:active,.act-btn:active,a[style*="inline-flex"]:active,button[type="submit"]:active{transform:scale(.96)}
.carte-dom svg,.act-btn .act-ico{transition:transform .3s cubic-bezier(.3,1.4,.6,1)}
.carte-dom:hover svg{transform:translateY(-2px) scale(1.12)}
.act-btn:hover .act-ico{transform:rotate(-8deg) scale(1.1)}
a.dom-dot::before{transition:transform .25s}
a.dom-dot:hover::before{transform:scale(1.5)}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:ripple .6s ease-out;pointer-events:none}
.js .apparition{opacity:0;transform:translateY(24px);transition:opacity .7s ease-out,transform .7s ease-out}
.js .apparition.visible{opacity:1;transform:none}
.stripe span{transform-origin:left;animation:trait 1s cubic-bezier(.2,.8,.2,1) both}
.stripe span:nth-child(2){animation-delay:.1s}.stripe span:nth-child(3){animation-delay:.2s}.stripe span:nth-child(4){animation-delay:.3s}
@keyframes brillance{from{left:-60%}to{left:130%}}
@keyframes ripple{to{transform:scale(3);opacity:0}}
@keyframes trait{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .apparition{opacity:1;transform:none}}
