:root{--color-bg:#f6f5f2;--color-bg-alt:#efebe2;--color-surface:#fff;--color-ardoise:#161d27;--color-ardoise-soft:#212b38;--color-ardoise-line:#2e3a4a;--color-cuivre:#c1652f;--color-cuivre-dark:#9c4f24;--color-cuivre-light:#e8c4a6;--color-bleu-gaz:#2e7da6;--color-vert:#4c8b63;--color-text:#24272e;--color-text-soft:#5b6270;--color-text-inverse:#f3f1ea;--color-border:#e2ded2;--font-display:"Roboto Slab", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--container:1180px;--radius-sm:6px;--radius:12px;--radius-lg:20px;--shadow-sm:0 2px 10px #161d270f;--shadow-md:0 14px 34px #161d2724;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ardoise);margin:0;line-height:1.15}p{margin:0}ul{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button{font:inherit;cursor:pointer}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-bleu-gaz);outline-offset:2px;border-radius:4px}.skip-link{background:var(--color-ardoise);color:#fff;z-index:200;border-radius:0 0 8px;padding:12px 20px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.icon--lg{width:28px;height:28px}.icon--check{width:18px;height:18px;color:var(--color-vert);flex:none}.btn{border-radius:var(--radius-sm);transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), color .18s var(--ease);white-space:nowrap;border:2px solid #0000;align-items:center;gap:10px;padding:13px 22px;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--lg{padding:15px 26px;font-size:1rem}.btn--sm{padding:9px 16px;font-size:.85rem}.btn--primary{background:var(--color-cuivre);color:#fff}.btn--primary:hover{background:var(--color-cuivre-dark);box-shadow:var(--shadow-md)}.btn--primary .icon{color:#fff}.btn--ghost{color:var(--color-text-inverse);background:0 0;border-color:#f3f1ea66}.btn--ghost:hover{border-color:var(--color-text-inverse);background:#f3f1ea14}.btn--light{background:var(--color-text-inverse);color:var(--color-ardoise)}.btn--light:hover{box-shadow:var(--shadow-md);background:#fff}.btn--outline-light{color:var(--color-text-inverse);background:0 0;border-color:#f3f1ea80}.btn--outline-light:hover{background:#f3f1ea1f}.topbar{background:var(--color-ardoise);color:var(--color-text-inverse);font-size:.82rem}.topbar__inner{justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;display:flex}.topbar__msg{opacity:.85}.topbar__phone{font-family:var(--font-mono);color:var(--color-cuivre-light);flex:none;align-items:center;gap:8px;font-weight:600;display:inline-flex}.topbar__phone .icon{width:16px;height:16px}.site-header{background:var(--color-ardoise);border-bottom:1px solid var(--color-ardoise-line);z-index:100;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand__mark svg{width:38px;height:38px}.brand__text{flex-direction:column;line-height:1.2;display:flex}.brand__name{font-family:var(--font-display);color:var(--color-text-inverse);font-size:1.25rem;font-weight:700}.brand__sub{letter-spacing:.08em;text-transform:uppercase;color:var(--color-cuivre-light);font-size:.68rem}.nav-toggle{color:var(--color-text-inverse);background:0 0;border:none;padding:6px;display:none}.icon-menu{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:26px;height:26px}.primary-nav{align-items:center;gap:28px;display:flex}.primary-nav a:not(.btn){color:var(--color-text-inverse);opacity:.85;padding:6px 0;font-size:.92rem;font-weight:500;transition:opacity .15s}.primary-nav a:not(.btn):hover{opacity:1}.eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-cuivre-dark);align-items:center;gap:8px;margin-bottom:14px;font-size:.78rem;display:inline-flex}.eyebrow--light{color:var(--color-cuivre-light)}.eyebrow__tick{background:var(--color-cuivre);width:18px;height:2px;display:inline-block}.hero{background:var(--color-ardoise);background-image:linear-gradient(180deg, #161d2700 60%, var(--color-ardoise) 100%), repeating-linear-gradient(135deg, #f3f1ea08 0 1px, transparent 1px 64px);color:var(--color-text-inverse);padding:72px 0 96px}.hero__inner{grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;display:grid}.hero__title{color:var(--color-text-inverse);max-width:20ch;margin-bottom:20px;font-size:clamp(2.1rem,3.6vw,3.1rem)}.hero__subtitle{color:#f3f1eacc;max-width:46ch;margin-bottom:30px;font-size:1.08rem}.hero__cta{flex-wrap:wrap;gap:14px;margin-bottom:32px;display:flex}.hero__trust{flex-wrap:wrap;gap:22px;display:flex}.hero__trust li{color:#f3f1ead9;align-items:center;gap:8px;font-size:.9rem;display:flex}.hero__gauge{flex-direction:column;align-items:center;gap:18px;display:flex}.gauge{width:min(320px,100%)}.gauge__ring{fill:none;stroke:#f3f1ea26;stroke-width:10px}.gauge__zone{fill:none;stroke-width:10px;stroke-linecap:round;opacity:.9}.gauge__zone--red{stroke:#b4453b}.gauge__zone--amber{stroke:#d3922f}.gauge__zone--green{stroke:var(--color-vert)}.gauge__ticks line{stroke:#f3f1ea59;stroke-width:2px}.gauge__hub{fill:var(--color-cuivre)}.gauge__needle{transform-origin:100px 100px;transition:transform 1.6s var(--ease);transform:rotate(58deg)}.gauge__needle line{stroke:var(--color-text-inverse);stroke-width:4px;stroke-linecap:round}.gauge__needle.is-live{transform:rotate(-58deg)}.gauge__label{font-family:var(--font-mono);letter-spacing:.12em;fill:#f3f1ea80;text-anchor:middle;font-size:9px}.gauge__status{font-family:var(--font-mono);letter-spacing:.08em;fill:var(--color-vert);text-anchor:middle;font-size:11px;font-weight:600;transition:fill .4s}.hero__gauge-caption{font-family:var(--font-mono);color:#f3f1ea99;text-align:center;font-size:.82rem}.trustbar{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.trustbar__inner{grid-template-columns:repeat(4,1fr);gap:24px;padding:30px 24px;display:grid}.trustbar__item{color:var(--color-text-soft);text-align:left;justify-content:center;align-items:center;gap:12px;font-size:.88rem;display:flex}.trustbar__item .icon--lg{color:var(--color-cuivre);flex:none}.trustbar__num{font-family:var(--font-mono);color:var(--color-ardoise);font-size:1.4rem;font-weight:600}.trustbar__num-sub{color:var(--color-text-soft);font-size:.9rem}.section{padding:96px 0}.section--alt{background:var(--color-bg-alt)}.section__title{max-width:22ch;margin-bottom:16px;font-size:clamp(1.6rem,2.6vw,2.3rem)}.section__lede{color:var(--color-text-soft);max-width:56ch;margin-bottom:48px;font-size:1.02rem}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.grid{gap:24px;display:grid}.grid--services{grid-template-columns:repeat(3,1fr)}.grid--pourquoi{grid-template-columns:repeat(4,1fr);gap:32px}.grid--gallery{grid-template-columns:repeat(4,1fr)}.grid--avis{grid-template-columns:repeat(3,1fr)}.card--service{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);padding:28px 26px}.card--service:hover{box-shadow:var(--shadow-md);border-color:var(--color-cuivre-light);transform:translateY(-4px)}.service-icon{fill:none;width:40px;height:40px;stroke:var(--color-cuivre);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}.card--service h3{margin-bottom:8px;font-size:1.1rem}.card--service p{color:var(--color-text-soft);font-size:.92rem}.feature{text-align:left}.feature-icon{fill:none;width:34px;height:34px;stroke:var(--color-bleu-gaz);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}.feature h3{margin-bottom:8px;font-size:1.02rem}.feature p{color:var(--color-text-soft);font-size:.92rem}.zone__inner{grid-template-columns:1fr .7fr;align-items:center;gap:48px;display:grid}.zone__list{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.zone__list li{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-soft);border-radius:999px;padding:7px 16px;font-size:.86rem}.zone__map{background:var(--color-ardoise);border-radius:var(--radius-lg);color:#f3f1ea80;font-family:var(--font-mono);flex-direction:column;align-items:center;gap:12px;padding:30px;font-size:.78rem;display:flex}.zone__map svg{width:160px;height:160px}.zone__ring{fill:none;stroke:#2e7da680;stroke-width:1.5px;stroke-dasharray:4 4}.zone__pin{fill:var(--color-cuivre)}.gallery-tile{border-radius:var(--radius);color:#fff;flex-direction:column;justify-content:flex-end;gap:14px;min-height:180px;margin:0;padding:36px 20px;display:flex}.gallery-tile svg{fill:none;stroke:currentColor;stroke-width:1.5px;opacity:.85;width:34px;height:34px}.gallery-tile figcaption{font-size:.86rem;font-weight:500}.gallery-tile--1{background:linear-gradient(145deg,#2e7da6,#1d5573)}.gallery-tile--2{background:linear-gradient(145deg,#c1652f,#8f4a20)}.gallery-tile--3{background:linear-gradient(145deg,#4c8b63,#33654a)}.gallery-tile--4{background:linear-gradient(145deg,#3a4658,#212b38)}.gallery-note{color:var(--color-text-soft);margin-top:20px;font-size:.8rem;font-style:italic}.testimonial{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:14px;margin:0;padding:26px;display:flex}.testimonial__stars{color:var(--color-cuivre);letter-spacing:2px}.testimonial p{color:var(--color-text);font-size:.96rem}.testimonial footer{color:var(--color-text-soft);font-size:.84rem;font-weight:600}.cta-band{background:linear-gradient(120deg, var(--color-cuivre-dark), var(--color-ardoise) 70%);color:var(--color-text-inverse);padding:64px 0}.cta-band__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.cta-band h2{color:#fff;margin-bottom:8px;font-size:clamp(1.4rem,2.4vw,1.9rem)}.cta-band p{color:#f3f1eacc}.cta-band__actions{flex-wrap:wrap;gap:14px;display:flex}.cta-band__phone{font-family:var(--font-mono);font-weight:700}.contact__inner{grid-template-columns:1.3fr .9fr;gap:56px;display:grid}.form{margin-top:8px}.form__grid-2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.form__row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form__row label{color:var(--color-ardoise);font-size:.86rem;font-weight:600}.form__row input,.form__row select,.form__row textarea{font-family:var(--font-body);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);resize:none;padding:10px 14px;font-size:.96rem}.form__submit{margin-top:4px}.form__note{color:var(--color-vert);min-height:1.2em;margin-top:14px;font-size:.9rem}.contact__info{background:var(--color-ardoise);color:var(--color-text-inverse);border-radius:var(--radius-lg);padding:34px}.contact__info h3{color:var(--color-text-inverse);margin-bottom:16px;font-size:1rem}.contact__info h3:not(:first-child){margin-top:28px}.contact__list{flex-direction:column;gap:14px;display:flex}.contact__list li{color:#f3f1ead9;align-items:flex-start;gap:10px;font-size:.92rem;display:flex}.contact__list a:hover{color:var(--color-cuivre-light)}.contact__list .icon{color:var(--color-cuivre-light);flex:none;margin-top:1px}.hours{border-collapse:collapse;width:100%;font-size:.88rem}.hours th,.hours td{text-align:left;padding:6px 0;font-weight:400}.hours th{color:#f3f1ea99;width:40%;font-weight:500}.hours td{color:#f3f1eae6}.contact__badges{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.contact__badges span{color:#f3f1eabf;border:1px solid #f3f1ea40;border-radius:999px;padding:6px 12px;font-size:.76rem}.site-footer{background:var(--color-ardoise);color:#f3f1eab3;padding:64px 0 0}.footer__grid{border-bottom:1px solid var(--color-ardoise-line);grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;display:grid}.brand__name--footer{font-family:var(--font-display);color:var(--color-text-inverse);margin-bottom:10px;font-size:1.15rem;display:block}.footer__brand p{max-width:32ch;font-size:.88rem}.site-footer h4{color:var(--color-text-inverse);font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;font-size:.82rem}.site-footer ul{flex-direction:column;gap:10px;font-size:.88rem;display:flex}.site-footer a:hover{color:var(--color-cuivre-light)}.footer__bottom{text-align:center;padding:22px 24px;font-size:.8rem}@media (width<=960px){.hero__inner{grid-template-columns:1fr}.hero__gauge{order:-1}.grid--services,.grid--pourquoi,.grid--gallery{grid-template-columns:repeat(2,1fr)}.grid--avis,.zone__inner{grid-template-columns:1fr}.zone__map{order:-1}.contact__inner{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr 1fr}.trustbar__inner{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.topbar__msg{display:none}.nav-toggle{justify-content:center;align-items:center;display:inline-flex}.primary-nav{background:var(--color-ardoise-soft);border-bottom:1px solid var(--color-ardoise-line);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;display:none;position:absolute;top:100%;left:0;right:0}.primary-nav.is-open{display:flex}.primary-nav a:not(.btn){opacity:1;padding:12px 0}.primary-nav .btn{justify-content:center;margin-top:10px}.grid--services,.grid--pourquoi{grid-template-columns:1fr}.grid--gallery{grid-template-columns:1fr 1fr}.form__grid-2,.footer__grid{grid-template-columns:1fr}.cta-band__inner{flex-direction:column;align-items:flex-start}.section{padding:64px 0}}
