/* VOLT CONNECT ALSACE | Interface validée : ivoire / bleu pétrole / turquoise.
   Aucun framework graphique ni dépendance de police distante. */
:root{--petrol:#073f43;--petrol-deep:#063236;--turquoise:#0bb7af;--turquoise-dark:#078b88;--text:#102f34;--muted:#607277;--line:#d7e5e5;--pale:#f6faf9;--max:1150px;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:#fff}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img,video,svg{max-width:100%}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #f5a648;outline-offset:3px}.ui-icon{width:1em;height:1em;display:inline-block;flex-shrink:0;vertical-align:-.15em}.content-wrap{max-width:var(--max);width:calc(100% - 40px);margin-inline:auto}p{line-height:1.5}.main-header{position:sticky;z-index:50;top:0;background:#fff;box-shadow:0 1px 10px #0d3e4314}.header-inner{height:87px;display:flex;justify-content:space-between;align-items:center;gap:10px}.wordmark{display:flex;align-items:center;gap:8px;min-width:0}.brand-symbol{display:flex;align-items:center;justify-content:center;width:59px;height:59px;color:#00a69e;flex-shrink:0}.brand-symbol svg{width:59px;height:59px}.brand-type{display:flex;flex-direction:column;line-height:.98}.brand-type b{font-size:36px;letter-spacing:-.075em;font-weight:900}.brand-type small{font-size:13px;font-weight:900;letter-spacing:-.026em}.header-action{display:flex;align-items:center;gap:18px}.header-phone{display:flex;align-items:center;gap:10px;background:#edf9f8;color:var(--petrol);font-size:14px;font-weight:850;padding:12px 16px;border:1px solid #aee6e1;border-radius:9px;white-space:nowrap}.header-phone .ui-icon{font-size:17px;color:var(--turquoise-dark)}.header-phone:hover{background:#d8f3f0}.menu-toggle{width:43px;height:43px;display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;background:none;border:0;border-radius:7px;padding:8px}.menu-toggle i{display:block;height:2.8px;width:28px;border-radius:2px;background:var(--text)}.nav-panel[hidden]{display:none}.nav-panel{position:absolute;right:max(18px,calc((100vw - var(--max))/2));top:77px;min-width:min(320px,calc(100vw - 36px));background:white;box-shadow:0 16px 45px #12393d2c;border:1px solid var(--line);border-radius:14px;padding:10px;display:grid}.nav-panel a{padding:14px 16px;border-radius:9px;font-weight:750;font-size:14px}.nav-panel a:hover,.nav-panel [aria-current=page]{background:#e8f8f6;color:var(--petrol)}
/* PAGE 1 ------------------------------------------------------------ */
.hero{position:relative;min-height:480px;color:#fff;background:linear-gradient(90deg,#033d40 0%,#064044ec 43%,#083d426b 67%,#073c430e 100%),var(--hero-image) right center / auto 100% no-repeat,#06383c;overflow:hidden}.hero::after{content:"";position:absolute;bottom:-54px;left:-7%;width:115%;height:90px;border-radius:55% 48% 0 0;background:#fff;transform:rotate(-1deg);pointer-events:none}.hero-copy{position:relative;z-index:1;min-height:480px;display:flex;align-items:center;padding-top:38px;padding-bottom:80px}.hero-text{width:min(560px,60%)}.hero h1{font-size:clamp(36px,4.6vw,66px);line-height:1.09;letter-spacing:-.043em;font-weight:850;margin:0;max-width:600px;text-wrap:balance}.teal-stroke{height:5px;width:83px;background:var(--turquoise);border-radius:9px;margin:22px 0}.hero p{font-size:clamp(15px,1.5vw,22px);line-height:1.35;max-width:510px;margin:0 0 24px}.hero-cta{display:flex;align-items:center;gap:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:0;border-radius:38px;font-size:16px;font-weight:850;padding:14px 26px;line-height:1.2;min-height:52px}.btn-primary{color:#fff;background:var(--turquoise);box-shadow:0 8px 22px #002c3045}.btn-primary:hover{background:#08a6a0}.btn .ui-icon{font-size:21px}.circle-mail{border:2px solid #fff;color:#fff;border-radius:50%;width:51px;height:51px;display:grid;place-items:center;background:#013d4140}.circle-mail .ui-icon{font-size:25px}.circle-mail:hover{background:#ffffff25}.hero-number{display:inline-flex;align-items:center;gap:9px;margin-top:17px;font-size:17px;font-weight:800;color:white}.hero-number .ui-icon{color:var(--turquoise)}
.services-section{padding:35px 0 15px}.section-label{text-align:center;display:flex;align-items:center;justify-content:center;gap:16px;color:var(--text);font-weight:850;font-size:clamp(20px,2.6vw,31px);margin:0 0 22px;line-height:1.18}.section-label:before,.section-label:after{content:"";flex:1 1 28px;max-width:80px;height:2px;background:#08a99f}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{background:linear-gradient(#f7fafb,#eaf8f7);border-radius:13px;text-align:center;padding:23px 13px 22px;min-width:0;box-shadow:inset 0 0 0 1px #e7f2f2}.service-glyph{font-size:46px;color:var(--turquoise-dark);height:58px}.service-card h3{font-size:clamp(15px,1.8vw,22px);letter-spacing:-.028em;margin:7px 0 7px}.service-card p{font-size:clamp(12px,1.15vw,16px);line-height:1.37;margin:0;color:#334b4f}
.approach-section{padding:24px 0}.approach-pill{margin:0 0 21px;background:linear-gradient(95deg,#006d6b,#053f43);border-radius:30px;color:white;text-align:center;font-size:clamp(18px,2.2vw,27px);font-weight:900;padding:12px 18px;line-height:1.24}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.step{text-align:center;min-width:0;padding:2px 8px 9px;position:relative}.step+.step:before{content:"›";color:var(--turquoise);font-size:39px;position:absolute;top:24px;left:-15px}.step-symbol{height:62px;display:grid;place-items:center;color:var(--turquoise-dark);font-size:44px}.step b{font-size:clamp(13px,1.6vw,19px);letter-spacing:-.025em;display:block}.step p{font-size:clamp(11px,1.1vw,15px);color:var(--muted);margin:7px 0 0;line-height:1.4}
.photos-section{padding:13px 0 32px}.photo-intro{font-size:clamp(17px,2.2vw,28px);font-weight:800;margin:2px 0 15px;letter-spacing:-.03em}.gallery-carousel{position:relative}.carousel-track{display:flex;overflow:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:17px;gap:0}.carousel-track::-webkit-scrollbar{display:none}.photo-slide{scroll-snap-align:start;flex:0 0 100%;min-width:0}.photo-shell{height:290px;position:relative;background:#d8e3e2;overflow:hidden;border-radius:17px}.photo-shell img{width:100%;height:100%;object-fit:cover;display:block}.photo-label{position:absolute;bottom:13px;left:14px;right:auto;background:#073a3cd6;border-radius:7px;color:#fff;padding:11px 14px;font-weight:750;font-size:17px}.sample-label{position:absolute;right:10px;top:10px;background:#fffdf2de;color:#36595d;font-size:10px;padding:5px 9px;border-radius:7px}.carousel-arrow{position:absolute;top:calc(50% - 13px);transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:white;color:#183a3d;border:1px solid #e3eceb;font-size:33px;font-family:Arial,sans-serif;line-height:0;display:grid;place-items:center;box-shadow:0 2px 6px #0002}.carousel-arrow:hover{background:#e1f6f3}.carousel-prev{left:-12px}.carousel-next{right:-12px}.carousel-dots{display:flex;justify-content:center;gap:9px;margin-top:13px}.carousel-dot{padding:0;border:0;border-radius:50%;width:11px;height:11px;background:#c8cece;transition:transform .2s}.carousel-dot.active{background:var(--turquoise-dark);transform:scale(1.12)}.visual-notice{text-align:center;font-size:11px;color:#7a8c8e;line-height:1.5;margin:13px 0 0}.quick-contact{margin-top:14px;padding:24px 0;background:#ecf8f7}.quick-contact .content-wrap{display:flex;align-items:center;justify-content:space-between;gap:17px;flex-wrap:wrap}.quick-contact p{margin:0;font-weight:750}.quick-contact a{color:#056763;font-weight:800;display:flex;align-items:center;gap:5px;font-size:15px}
/* PAGE 2 ------------------------------------------------------------ */
.presentation-layout{max-width:950px;padding-top:30px;padding-bottom:22px}.video-section,.realizations-section,.social-section{margin-bottom:38px}.video-frame{position:relative;background:var(--petrol);aspect-ratio:1.98;overflow:hidden;border-radius:15px;box-shadow:0 3px 15px #193c4017}.video-frame img,.video-frame video{display:block;width:100%;height:100%;object-fit:cover}.video-unavailable{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(0deg,#062e3399,#093b4044);color:white;font-weight:800;text-align:center;gap:10px;padding:20px;font-size:14px}.video-play{border:3px solid #fff;border-radius:50%;width:76px;height:76px;display:grid;place-items:center;font-size:35px;padding-left:4px}.video-caption{margin:8px 0 0;color:#667b7b;font-size:12px;text-align:center}.realizations-section{margin-bottom:46px}.gallery-thumbs .carousel-track{gap:10px;overflow-x:auto;scrollbar-width:none;border-radius:0}.gallery-thumbs .photo-slide{flex:0 0 calc((100% - 30px) / 4)}.gallery-thumbs .photo-shell{height:165px;border-radius:11px}.gallery-thumbs .photo-label{position:static;background:transparent;color:var(--text);padding:10px 0 0;font-size:11px;text-align:center}.gallery-thumbs .sample-label{font-size:9px;right:3px;top:3px;padding:3px 5px}.gallery-thumbs .carousel-arrow{top:80px;width:33px;height:33px}.gallery-thumbs .carousel-prev{left:-15px}.gallery-thumbs .carousel-next{right:-15px}.social-section{margin-bottom:31px}.social-links{display:flex;justify-content:center;gap:31px;align-items:center;padding-top:12px}.social-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;color:white;filter:drop-shadow(0 3px 5px #0002)}.social-icon svg{width:27px;height:27px}.social-facebook{background:#1877f2}.social-instagram{background:linear-gradient(30deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5)}.social-youtube{background:#f50019}.social-disabled{opacity:.72;cursor:help}.social-icon:hover{transform:translateY(-2px)}.contact-band{background:linear-gradient(115deg,#083b3f,#006765);border-radius:18px;color:white;display:flex;align-items:center;gap:18px;padding:27px 30px;flex-wrap:wrap}.contact-band-mark{font-size:45px;color:#a0e3da}.contact-band>div:nth-child(2){flex:1;min-width:170px}.contact-band h2{font-size:21px;margin:0 0 5px}.contact-band p{font-size:13px;margin:0 0 5px}.contact-phone{font-size:16px;font-weight:800;color:#9af4e8}.contact-band-button{display:flex;align-items:center;gap:12px;border:1px solid #ddffff;border-radius:30px;padding:11px 17px;font-size:14px;font-weight:750}.contact-band-button:hover{background:#ffffff21}.contact-mail,.contact-local{text-align:center;color:#496569;margin:11px auto 0;font-size:14px}.contact-mail .ui-icon,.contact-local .ui-icon{font-size:17px;color:var(--turquoise-dark)}.contact-mail a{text-decoration:underline;text-underline-offset:3px}
.main-footer{background:#063d42;color:#fff;padding:19px 0 15px}.footer-top{display:flex;align-items:center;gap:24px;justify-content:space-between}.footer-logo{display:flex;align-items:baseline;gap:6px;font-size:23px;font-weight:900}.footer-logo span{color:var(--turquoise);font-size:30px}.footer-logo small{font-size:10px;max-width:75px;line-height:1}.footer-services{font-size:12px;font-weight:650}.footer-bottom{margin-top:15px;display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;border-top:1px solid #ffffff26;padding-top:11px;font-size:11px;color:#c9e4e3}.footer-bottom a:hover{text-decoration:underline}.footer-bottom>span{font-size:10px}
/* Controls desktop and tablet */
@media(max-width:750px){.header-inner{height:78px}.brand-type b{font-size:29px}.brand-type small{font-size:11px}.brand-symbol,.brand-symbol svg{width:50px;height:50px}.header-phone{padding:9px 10px;font-size:12px}.header-action{gap:8px}.hero{min-height:440px}.hero-copy{min-height:440px}.hero-text{width:min(540px,74%)}.hero h1{font-size:clamp(31px,6vw,46px)}.hero p{font-size:16px}.photo-shell{height:260px}.gallery-thumbs .photo-shell{height:135px}}
@media(max-width:520px){.content-wrap{width:calc(100% - 30px)}.header-inner{height:73px}.brand-symbol,.brand-symbol svg{width:40px;height:40px}.brand-type b{font-size:24px}.brand-type small{font-size:9.5px}.wordmark{gap:5px}.header-action{gap:2px}.header-phone{background:none;border:0;padding:7px 1px;font-size:11px}.header-phone .ui-icon{display:none}.menu-toggle{width:33px;height:40px;padding:4px}.menu-toggle i{width:24px}.nav-panel{top:70px}.hero{min-height:438px;background:linear-gradient(90deg,#033d40 0%,#043c40ed 35%,#063d40ad 64%,#03363d53 100%),var(--hero-image) 71% center/auto 100% no-repeat,#06383c}.hero::after{bottom:-57px}.hero-copy{min-height:438px;padding-top:30px;padding-bottom:72px}.hero-text{width:100%}.hero h1{max-width:310px;font-size:clamp(29px,8vw,37px);line-height:1.12;text-wrap:pretty}.teal-stroke{margin:15px 0;width:56px;height:4px}.hero p{font-size:15px;max-width:270px;line-height:1.35;margin-bottom:15px}.hero-cta{gap:10px}.btn{font-size:14px;min-height:44px;padding:11px 19px}.btn .ui-icon{font-size:19px}.circle-mail{width:43px;height:43px}.circle-mail .ui-icon{font-size:21px}.hero-number{font-size:15px;margin-top:12px}.services-section{padding:16px 0 12px}.section-label{font-size:18px;gap:9px;margin-bottom:17px}.section-label:before,.section-label:after{max-width:36px}.services-grid{gap:6px}.service-card{border-radius:11px;padding:15px 4px 12px}.service-glyph{font-size:39px;height:43px}.service-card h3{font-size:13.2px;margin:7px 0 6px}.service-card p{font-size:10.8px;line-height:1.27;letter-spacing:-.025em}.approach-section{padding:13px 0}.approach-pill{font-size:17px;padding:10px 10px;margin-bottom:15px}.steps-grid{gap:2px}.step{padding:0 3px 8px}.step+.step:before{font-size:26px;left:-10px;top:23px}.step-symbol{font-size:34px;height:48px}.step b{font-size:11.3px}.step p{font-size:10px;margin-top:3px}.photos-section{padding:7px 0 25px}.photo-intro{font-size:16px;margin-bottom:11px}.photo-shell{height:163px}.photo-label{font-size:13px;padding:8px 10px}.carousel-arrow{width:35px;height:35px;font-size:26px}.carousel-prev{left:-7px}.carousel-next{right:-7px}.visual-notice{font-size:10px;margin-top:8px}.quick-contact{padding:20px 0}.quick-contact p{font-size:13px}.quick-contact a{font-size:13px}.presentation-layout{padding-top:27px}.video-section{margin-bottom:31px}.video-frame{border-radius:11px;aspect-ratio:1.83}.video-unavailable{font-size:11px;padding:9px;gap:6px}.video-play{width:54px;height:54px;font-size:27px}.gallery-thumbs .carousel-track{gap:7px}.gallery-thumbs .photo-slide{flex-basis:calc((100% - 21px)/4)}.gallery-thumbs .photo-shell{height:119px;border-radius:9px}.gallery-thumbs .photo-label{font-size:9.5px;line-height:1.2;padding-top:6px}.gallery-thumbs .carousel-arrow{top:54px;width:29px;height:29px;font-size:25px}.gallery-thumbs .carousel-prev{left:-9px}.gallery-thumbs .carousel-next{right:-9px}.realizations-section{margin-bottom:31px}.social-section{margin-bottom:24px}.social-links{gap:25px;padding-top:8px}.social-icon{width:43px;height:43px}.social-icon svg{width:25px;height:25px}.contact-band{border-radius:16px;padding:18px 16px;gap:12px}.contact-band-mark{font-size:32px}.contact-band h2{font-size:15px}.contact-band p{font-size:11px}.contact-phone{font-size:13px}.contact-band-button{font-size:11px;padding:8px 11px;margin-left:auto}.contact-mail,.contact-local{font-size:11px}.footer-top{gap:6px}.footer-services{font-size:9px}.footer-logo{font-size:19px}.footer-logo small{font-size:8px}.footer-bottom{font-size:10px}}
@media(max-width:355px){.header-phone{font-size:10px}.brand-type b{font-size:21px}.brand-type small{font-size:8px}.hero h1{font-size:28px}.service-card h3{font-size:11.7px}.service-card p{font-size:10px}.contact-band-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.carousel-track{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Photo de fond en balise image, compatible avec CSP sans style inline. */
.hero-background{position:absolute;top:0;right:0;width:58%;height:100%;object-fit:cover;object-position:center;z-index:0}.hero{background:#06383c}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#033d40 0%,#064044ec 43%,#083d426b 67%,#073c430e 100%)}.hero-copy{z-index:2}.hero:after{z-index:3}@media(max-width:520px){.hero-background{width:70%}.hero:before{background:linear-gradient(90deg,#033d40 0%,#043c40ed 35%,#063d40ad 64%,#03363d53 100%)}}

/* Pages juridiques */
.skip-link{position:absolute;left:20px;top:-100px}.skip-link:focus{top:15px;background:white;color:#073f43;z-index:200;padding:10px}.legal-page{padding:75px 0;min-height:60vh}.legal-page .narrow-content{max-width:770px;margin:0 auto;width:calc(100% - 36px)}.legal-page h1{font-size:clamp(30px,4vw,48px)}.legal-page h2{font-size:22px;margin-top:28px}.legal-page p{line-height:1.65}.legal-warning{border-left:4px solid #dd9c2e;background:#fff6e5;padding:13px 15px}.legal-page a:not(.back-link){text-decoration:underline;color:#007f79}.back-link{display:inline-block;margin-top:24px;color:#007f79;text-decoration:underline}
