*,*::before,*::after{box-sizing:border-box}*:not(dialog){margin:0;padding:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords;scroll-behavior:smooth}}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-text);font-size:var(--text-body);color:var(--text-primary);background-color:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:inherit;overflow-wrap:break-word;text-wrap:balance}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}h4{font-size:var(--text-h4);font-family:var(--font-text)}h5{font-size:var(--text-h5);font-family:var(--font-text)}h6{font-size:var(--text-h6);font-family:var(--font-text)}p{font-size:var(--text-body);line-height:1.6;color:inherit;overflow-wrap:break-word;text-wrap:pretty}a{color:inherit;text-decoration:none}img,picture,video,canvas,svg{display:block;max-width:100%}ul,ol{list-style:none}input,button,textarea,select{font:inherit;color:inherit;background:none;border:none;outline:none;appearance:none}button{cursor:pointer}.section{background-color:var(--ctx-bg);color:var(--ctx-text)}.section--surface{--ctx-bg:var(--surface);--ctx-surface:var(--surface-alt);--ctx-border:var(--border)}.section--accent{--ctx-bg:var(--accent-subtle);--ctx-surface:#D4EDE0;--ctx-border:var(--accent-border)}.section--dark{--ctx-bg:var(--dark-bg);--ctx-surface:var(--dark-surface);--ctx-surface-alt:var(--dark-surface-alt);--ctx-text:var(--text-on-dark);--ctx-text-soft:var(--text-muted-on-dark);--ctx-text-muted:var(--text-muted-on-dark);--ctx-border:var(--dark-border);--ctx-border-strong:var(--dark-border);--ctx-accent:var(--accent-on-dark);--ctx-accent-hover:#5DC494;--ctx-accent-subtle:rgba(76,175,132,0.12);--ctx-accent-border:rgba(76,175,132,0.3)}.section--cta-dark{--ctx-bg:var(--dark-surface);--ctx-surface:var(--dark-surface);--ctx-surface-alt:var(--dark-surface-alt);--ctx-text:var(--text-on-dark);--ctx-text-soft:var(--text-muted-on-dark);--ctx-text-muted:var(--text-muted-on-dark);--ctx-border:var(--dark-border);--ctx-border-strong:var(--dark-border);--ctx-accent:var(--accent-on-dark);--ctx-accent-hover:#5DC494;--ctx-accent-subtle:rgba(76,175,132,0.12);--ctx-accent-border:rgba(76,175,132,0.3)}#site-presence,#site-vitrine,#projet-complexe,#interventions,#maintenance,#formulaire{scroll-margin-top:90px}.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.65s ease,transform 0.65s ease,box-shadow var(--transition-base),border-color var(--transition-base),background-color var(--transition-base)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:0.1s}.delay-2{transition-delay:0.2s}.delay-3{transition-delay:0.3s}.delay-4{transition-delay:0.4s}.cky-consent-bar{border-color:var(--dark-border)!important;background-color:var(--dark-bg)!important;box-shadow:0 -4px 24px rgba(0,0,0,0.2)!important}.cky-title{color:var(--text-on-dark)!important}.cky-notice-des p{color:var(--text-muted-on-dark)!important}.cky-btn-customize{color:var(--accent-on-dark)!important;border-color:var(--accent-on-dark)!important;background-color:transparent!important}.cky-btn-reject{color:var(--accent-on-dark)!important;border-color:var(--accent-on-dark)!important;background-color:transparent!important}.cky-btn-accept{color:#ffffff!important;border-color:var(--accent)!important;background-color:var(--accent)!important}