/* Mathieu Schulzen Construction · « Pierre bleue et Fagnes ». Ordre : reset, jetons, base, mise en page, composants, media, mouvement. */
/* Reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul,fieldset,legend{margin:0}
ol,ul{list-style:none;padding:0}
fieldset,legend{padding:0;border:0;min-width:0}
img,picture,svg{display:block;max-width:100%}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
a{color:inherit}
/* Jetons */
@font-face{font-family:"Zilla repli";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:600;size-adjust:84%}
:root{
--c-ciel:#EEF0EC;--c-surface:#F7F8F5;--c-schiste:#E1E5E1;
--c-ink:#1B2328;--c-muted:#4F5C63;
--c-pierre:#013F4C;--c-pierre-deep:#012F39;--c-pierre-2:#1E5968;
--c-on-dark:#EEF0EC;--c-on-dark-muted:#B3C7CC;--c-brique:#61A3BD;
--c-lande:#C28A50;--c-lande-clair:#D6A06A;--c-lande-texte:#8A5526;
--c-mousse:#5E6B3A;--c-line:#C3CCC8;--c-line-strong:#7E8B89;--c-error:#A3242B;
--f-titre:"Zilla Slab","Zilla repli",Georgia,serif;
--f-texte:Karla,"Helvetica Neue",Arial,sans-serif;
--step--1:clamp(.875rem,.84rem + .18vw,.9375rem);
--step-0:clamp(1.0625rem,1.02rem + .21vw,1.1875rem);
--step-1:clamp(1.1875rem,1.12rem + .36vw,1.375rem);
--step-2:clamp(1.375rem,1.25rem + .6vw,1.75rem);
--step-3:clamp(1.625rem,1.43rem + .98vw,2.25rem);
--step-4:clamp(1.875rem,1.55rem + 1.6vw,3rem);
--step-5:clamp(2.125rem,1.6rem + 2.6vw,3.75rem);
--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;
--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;--sp-9:6rem;
--section-y:clamp(3.5rem,2.5rem + 3.8vw,6.25rem);
--gutter:clamp(1.25rem,.8rem + 2vw,2.5rem);
--container:80rem;
--hors:calc(var(--gutter) + max(0px,(100vw - var(--container)) / 2));
--measure:36rem;
--tap:2.75rem;
--radius:2px;
--shadow:0 14px 32px -18px rgb(27 35 40 / .45);
--ease:cubic-bezier(.22,.61,.36,1);
--ease-sortie:cubic-bezier(.2,.7,.2,1);
--dur-1:150ms;--dur-2:250ms;--dur-3:600ms;--dur-4:800ms;
--assise:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='17'><path fill='%23B4BEBA' d='M0 0h46v7H0zm49 0h34v7h-34zm37 0h64v7h-64zm67 0h36v7h-36zm39 0h45v7h-45zM0 10h22v7H0zm25 0h45v7h-45zm48 0h45v7h-45zm48 0h47v7h-47zm50 0h43v7h-43zm46 0h23v7h-23z'/></svg>");
}
/* Base */
body{background:var(--c-ciel);color:var(--c-ink);font:400 var(--step-0)/1.6 var(--f-texte);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main{overflow-x:clip}
h1,h2,h3{font-family:var(--f-titre);font-weight:600;text-wrap:balance}
h1{font-size:var(--step-5);line-height:1.04;letter-spacing:-.015em}
h2{font-size:var(--step-4);line-height:1.08;letter-spacing:-.01em;max-width:22ch}
h3{font-size:var(--step-2);line-height:1.2}
p,li,dd{text-wrap:pretty}
strong{font-weight:600}
::selection{background:var(--c-lande-clair);color:var(--c-ink)}
:focus-visible{outline:2px solid var(--c-ink);outline-offset:3px}
a:not([class]){text-decoration-thickness:1px;text-underline-offset:3px}
a:not([class]):hover{text-decoration-thickness:2px}
/* Mise en page */
.coupe-bloc__grille,.entreprise__grille,.faq-bloc__grille,.appel__grille,.pied__grille,.prix__grille,.parcours__grille,.appareils__grille,.parcours-mur__grille,.region-apropos__grille,.realisations__grille,.region__grille,.page-tete__grille,.contact__aside{display:grid;gap:var(--sp-7)}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.section--schiste{background:var(--c-schiste)}
.section--haut-serre{padding-top:var(--sp-7)}
.tete,.tete__corps,.index__tete{display:grid;gap:var(--sp-4)}
.tete,.index__tete{margin-bottom:var(--sp-7)}
.etiquette,.hero__sur,.fiche__titre,.pied__col h2,.voie h2,.appel__sur{font:600 var(--step--1)/1.3 var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--c-lande-texte)}
.etiquette,.hero__sur{display:flex;align-items:center;gap:var(--sp-3)}
.etiquette::before,.hero__sur::before{content:"";width:10px;height:10px;background:var(--c-lande);flex:none}
.etiquette + h1,.etiquette + h2{margin-top:var(--sp-4)}
.chapeau{font-size:var(--step-1);line-height:1.5}
.chapeau,.index__texte,.situations p,.cordeau p,.region__texte > p,.construire-ici dd,.facteurs dd,.facteurs p,.entreprise__texte > p,.faq__reponse,.prestation p,.solo__texte p,.assises__rang p,.region-apropos__texte p:not(.etiquette),.voie p,.contact__bloc > p,.aussi p,.pierre__texte p{color:var(--c-muted);max-width:var(--measure)}
.legende{font:400 13px/1.35 var(--f-texte);margin-top:var(--sp-2)}
.legende,.marque__metier,.hero__chapeau,.reperes dd,.index__puces,.cartouche,.legende-coupe p,.coupe-bloc__note,.fiche dt,.legal dt,.ariane ol,.prix__note,.appareil p,.form__facultatif,.form__aide,.form__ok p + p,.contact__suite li,.legal :is(p,ul,dl),.introuvable__aide{color:var(--c-muted)}
.legende--sur{position:absolute;right:var(--sp-3);bottom:var(--sp-3);z-index:1;margin:0;padding:3px 8px;background:rgb(27 35 40 / .74);color:var(--c-surface);border-radius:var(--radius)}
.legende--reel{display:inline-flex;align-items:center;gap:6px;background:var(--c-pierre);color:var(--c-on-dark)}
.legende--reel::before{content:"";width:7px;height:7px;background:var(--c-lande);flex:none}
.cadre{position:relative;overflow:hidden;background:var(--c-schiste)}
.cadre picture{width:100%;height:100%}
.cadre img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.cadre--gauche img{object-position:0 100%}
.assise{height:17px;background:var(--assise) left center/auto 17px round no-repeat}
/* Composants */
.evitement,.lien,.gsm,.marque,.menu__mail,.menu__tel,.ariane a,.pied__tel,.pied__mail,.voie__mail,.form__resume a,.citation__source a,.bouton-menu{display:inline-flex;align-items:center;min-height:var(--tap)}
.nav__lien,.sous-menu__lien,.ariane li,.pied__col a:not(.btn){display:flex;align-items:center;min-height:var(--tap)}
.evitement{position:absolute;left:var(--sp-4);top:-6rem;z-index:40;padding:0 var(--sp-5);background:var(--c-pierre);color:var(--c-on-dark);font-weight:600;text-decoration:none;border-radius:var(--radius)}
.evitement:focus{top:var(--sp-3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:3rem;padding:0 var(--sp-5);border:1.5px solid transparent;border-radius:var(--radius);font:600 1rem/1.2 var(--f-texte);text-align:center;text-decoration:none;transition:var(--dur-1) var(--ease);transition-property:background-color,border-color,color}
.btn--petit{min-height:var(--tap);padding:0 var(--sp-4);font-size:.9375rem}
.btn--primaire{background:var(--c-pierre);color:var(--c-on-dark)}
.btn--primaire:hover{background:var(--c-pierre-deep)}
.btn--contour{border-color:var(--c-ink);color:var(--c-ink)}
.btn--contour:hover{background:rgb(27 35 40 / .07)}
.btn--roux{background:var(--c-lande);color:var(--c-ink)}
.btn--roux:hover{background:var(--c-lande-clair)}
.lien{gap:var(--sp-2);font-weight:600;color:var(--c-ink);text-decoration:underline 1px var(--c-lande);text-underline-offset:6px}
.lien:hover{text-decoration-thickness:2px}
.fleche{width:18px;height:18px;flex:none}
.fleche,.faq__signe::after,.galerie__btn svg,.nav__deplier svg,.nav__lien::after{transition:transform var(--dur-1) var(--ease)}
.icone-tel{width:1.125rem;height:1.125rem;flex:none}
.lien:hover .fleche{transform:translateX(3px)}
/* GSM en affiche */
.gsm{position:relative;font:600 clamp(2.25rem,1rem + 4vw,4.5rem)/1.15 var(--f-titre);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em;white-space:nowrap;color:var(--c-on-dark);text-decoration:none}
.gsm::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--c-lande);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-2) var(--ease-sortie)}
.gsm:hover::after,.gsm:focus-visible::after{transform:scaleX(1)}
.gsm--clair{font-size:var(--step-5);color:var(--c-pierre)}
/* En-tête et navigation */
.entete{position:relative;z-index:20;background:var(--c-ciel);border-bottom:1px solid var(--c-line)}
.entete__inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);max-width:var(--container);min-height:4.5rem;margin-inline:auto;padding-inline:var(--gutter)}
.marque{gap:var(--sp-3);min-width:0;margin-right:auto;color:var(--c-ink);text-decoration:none}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.marque__signe{width:auto;height:2.625rem;aspect-ratio:62.1/100;flex:none}
.marque__nom{display:flex;flex-direction:column;gap:5px;line-height:1}
.marque__mot{font:600 1.25rem/1 var(--f-titre);letter-spacing:-.01em;white-space:nowrap;color:var(--c-pierre)}
.marque__metier{font:600 .6875rem/1 var(--f-texte);letter-spacing:.16em;text-transform:uppercase}
.entete__actions{display:flex;align-items:center;gap:var(--sp-2)}
.entete__devis--long,.entete__devis--court,.entete__tel{display:none}
.entete__tel{align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-2);font-weight:600;color:var(--c-pierre);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.entete__tel:hover{text-decoration:underline 2px var(--c-lande);text-underline-offset:6px}
.bouton-menu{justify-content:center;gap:var(--sp-2);min-width:var(--tap);padding:0 var(--sp-3);border:1px solid var(--c-line-strong);border-radius:var(--radius);font-size:.9375rem;font-weight:600}
.bouton-menu__icone{position:relative;width:18px;height:12px;flex:none}
.bouton-menu__icone::before,.bouton-menu__icone::after,.bouton-menu__icone span{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--c-ink);transition:var(--dur-1) var(--ease);transition-property:transform,opacity}
.bouton-menu__icone span{top:5px}
.bouton-menu__icone::after{top:10px}
[aria-expanded=true] .bouton-menu__icone::before{transform:translateY(5px) rotate(45deg)}
[aria-expanded=true] .bouton-menu__icone span{opacity:0}
[aria-expanded=true] .bouton-menu__icone::after{transform:translateY(-5px) rotate(-45deg)}
.nav__lien{font-weight:600;text-decoration:none}
.nav__deplier,.sous-menu,.nav__item--mobile{display:none}
.js .entete__inner{flex-wrap:nowrap}
.sous-menu__lien{gap:var(--sp-3);color:var(--c-muted);text-decoration:none}
.sous-menu__lien::before{content:"";width:8px;height:8px;background:var(--c-lande);flex:none}
.sous-menu__lien[aria-current]{color:var(--c-ink);font-weight:600}
.menu__mail{font-weight:600;color:var(--c-lande-texte)}
.menu__tel{gap:var(--sp-2);font:600 var(--step-1)/1.2 var(--f-titre);color:var(--c-pierre);text-decoration:none}
html:not(.js) .bouton-menu{display:none}
/* Hero */
.hero{padding-block:var(--sp-5) var(--sp-7)}
.hero__grille{display:grid;grid-template-columns:minmax(0,1fr)}
.hero__photo{position:relative;grid-area:1/1;margin-inline:calc(-1 * var(--hors))}
.hero__photo .cadre{aspect-ratio:4/3}
.hero__photo .legende--sur,.page-tete__visuel--plein .legende--sur,.bandeau__photo .legende--sur{right:var(--hors)}
.hero__grille::before{content:"";grid-area:2/1;z-index:1;margin-top:-3rem;background:var(--c-ciel);border:1px solid var(--c-ink);border-radius:var(--radius)}
.hero h1{position:relative;grid-area:2/1;z-index:2;max-width:19ch;margin-top:calc(var(--sp-4) - 3rem);padding:0 var(--sp-4) var(--sp-5)}
.hero__sur{margin-bottom:var(--sp-3)}
.hero__chapeau{grid-area:3/1;margin-top:var(--sp-5);font-size:var(--step-1);line-height:1.5;max-width:34rem}
.hero__actions,.page-tete__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}
.hero__actions{position:relative;grid-area:4/1;z-index:2}
.hero__actions .btn,.page-tete__actions .btn{flex:1 1 auto}
.reperes{grid-area:5/1;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);margin-top:var(--sp-7)}
.reperes > div{padding-top:var(--sp-3);border-top:1px solid var(--c-line-strong)}
.reperes dt{font:600 var(--step-1)/1.15 var(--f-titre);font-variant-numeric:lining-nums}
.reperes dd{margin-top:var(--sp-1);font-size:var(--step--1);line-height:1.4;max-width:26ch}
/* Index des métiers */
.hero + .metiers{padding-top:var(--sp-6)}
.index__cadre{display:none}
.index__liste{border-top:1px solid var(--c-line-strong)}
.index__rang{position:relative;display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:var(--sp-4);align-items:baseline;padding-block:var(--sp-5);border-bottom:1px solid var(--c-line-strong)}
.index__rang::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--c-lande);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-2) var(--ease-sortie)}
.index__num{font:600 var(--step--1)/1 var(--f-texte);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--c-lande-texte)}
.index__titre{font-size:var(--step-2);line-height:1.15}
.index__lien{text-decoration:none}
.index__lien::after{content:"";position:absolute;inset:0;z-index:1}
.index__lien:focus-visible{outline:none}
.index__lien:focus-visible::after{outline:2px solid var(--c-ink);outline-offset:3px}
.index__texte{margin-top:var(--sp-2)}
.index__puces{margin-top:var(--sp-2);font-size:var(--step--1)}
.index__rang .fleche{align-self:center;width:24px;height:24px;transition-duration:var(--dur-2)}
.index__rang:focus-within::after{transform:scaleX(1)}
.index__visuel{--o:0;position:absolute;inset:0;z-index:0;opacity:var(--o);transition:opacity var(--dur-2) var(--ease)}
.index__visuel .cadre{height:100%}
.index__visuel--reel-chantier img{object-position:25% 50%}
.index__visuel img{transform:scale(calc(1.04 - var(--o) * .04));transition:transform var(--dur-2) var(--ease-sortie)}
.index__visuel--dessin .cadre{display:grid;place-items:center;padding:var(--sp-7)}
.index__visuel--dessin svg{width:100%;height:100%}
.index__visuel:first-child,.index:has(.index__rang:nth-child(2):is(:hover,:focus-within)) .index__visuel:nth-child(2),.index:has(.index__rang:nth-child(3):is(:hover,:focus-within)) .index__visuel:nth-child(3),.index:has(.index__rang:nth-child(4):is(:hover,:focus-within)) .index__visuel:nth-child(4){--o:1}
/* Dessins */
.coupe,.carte,.dessin-cadre,.fiche,.form__ok,.index__visuel--dessin .cadre{background:var(--c-surface);border:1px solid var(--c-ink)}
.coupe,.carte{padding:var(--sp-4) var(--sp-4) 0;align-self:start}
.carte{max-width:36rem}
.dessin-cadre{padding:var(--sp-5)}
.coupe__svg,.carte__svg,.murcreux{width:100%;height:auto}
.cartouche{display:flex;flex-wrap:wrap;margin:var(--sp-4) calc(-1 * var(--sp-4)) 0;border-top:1px solid var(--c-ink);font:600 .75rem/1.3 var(--f-texte);letter-spacing:.06em;text-transform:uppercase}
.cartouche span{flex:1 1 100%;padding:var(--sp-2) var(--sp-3)}
.cartouche span + span{border-top:1px solid var(--c-line)}
.legende-coupe{border-bottom:1px solid var(--c-line-strong)}
.legende-coupe li{display:grid;grid-template-columns:2.25rem 1fr;gap:var(--sp-4);padding-block:var(--sp-3);border-top:1px solid var(--c-line-strong)}
.num,.contact__suite li::before{display:grid;place-items:center;border-radius:50%;background:var(--c-lande);color:var(--c-ink)}
.num{width:2.25rem;height:2.25rem;font:600 1.125rem/1 var(--f-titre);font-variant-numeric:lining-nums tabular-nums}
.legende-coupe h3,.prestation h3,.situations h3,.cordeau h3,.appareil h3,.parcours__col h3{font-size:var(--step-1);line-height:1.25}
.legende-coupe p{margin-top:var(--sp-1)}
.coupe-bloc__note{margin-block:var(--sp-5);font-size:var(--step--1)}
.k-repere text{font:600 20px var(--f-titre);fill:var(--c-ink);font-variant-numeric:lining-nums}
.k-note{font:600 16px var(--f-texte);letter-spacing:.12em;text-transform:uppercase;fill:var(--c-muted)}
.k-etiq{font:600 17px var(--f-texte);fill:var(--c-ink)}
.k-km{font:600 16px var(--f-texte);fill:var(--c-muted)}
.k-nord text{font:600 18px var(--f-titre);fill:var(--c-ink)}
.k-lieu{font:600 21px var(--f-texte);fill:var(--c-ink)}
.k-lieu--base{font:600 25px var(--f-titre)}
.k-lieu--village{font-weight:400;fill:var(--c-muted)}
/* Pour qui, méthode */
.demande__grille{display:grid;gap:var(--sp-9) var(--sp-8)}
.coupe-bloc__tete .chapeau,.pour-qui .chapeau,.methode .chapeau,.prix__tete .chapeau,.parcours-mur__texte .chapeau,.realisations__tete .chapeau{margin-top:var(--sp-4)}
.situations{display:grid;gap:var(--sp-5);margin-top:var(--sp-7)}
.situations li{padding-top:var(--sp-4);border-top:1px solid var(--c-line-strong)}
.situations p,.cordeau p{margin-top:var(--sp-2)}
.cordeau{position:relative;display:grid;gap:var(--sp-6);margin-top:var(--sp-7);padding-left:4.5rem}
.cordeau::before{content:"";position:absolute;left:1.625rem;top:var(--sp-2);bottom:var(--sp-2);width:1.5px;background:var(--c-ink);transform-origin:top}
.cordeau li{position:relative}
.cordeau__num{position:absolute;left:-4.5rem;top:-.3rem;width:3.25rem;padding-block:.3rem;background:var(--c-ciel);text-align:center;font:600 var(--step-3)/1 var(--f-titre);font-variant-numeric:lining-nums tabular-nums;color:var(--c-lande-texte)}
.methode__grille{display:grid}
/* Région */
.bandeau{position:relative}
.bandeau__photo .cadre{aspect-ratio:4/3}
.bandeau__photo .cadre::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(1 63 76 / .86),rgb(1 63 76 / .74) 50%,rgb(1 63 76 / .3) 80%,rgb(1 63 76 / 0))}
.bandeau__photo .legende--sur{top:var(--sp-3);bottom:auto}
.bandeau__titre{position:absolute;left:0;right:0;bottom:0;padding-bottom:var(--sp-6);color:var(--c-on-dark)}
.bandeau__titre .etiquette{color:var(--c-on-dark)}
.bandeau__titre h2{margin-top:var(--sp-3);max-width:20ch}
.region__grille{padding-block:var(--sp-7) var(--section-y)}
.region__texte > p + p{margin-top:var(--sp-4)}
.region__sous-titre{margin-top:var(--sp-6)}
.construire-ici{margin-top:var(--sp-4);border-bottom:1px solid var(--c-line-strong)}
.construire-ici > div{display:grid;gap:var(--sp-2);padding-block:var(--sp-4);border-top:1px solid var(--c-line-strong)}
.construire-ici dt,.facteurs dt,.facteurs h3{font:600 var(--step-1)/1.25 var(--f-titre)}
/* Entreprise */
.entreprise__texte > p{margin-top:var(--sp-4)}
.entreprise__texte .lien{margin-top:var(--sp-4)}
.intro-deux-tons{font-size:var(--step-1);line-height:1.5}
.intro-deux-tons strong{color:var(--c-ink)}
.fiche{align-self:start;padding:var(--sp-5) var(--sp-5) var(--sp-3)}
.fiche__titre{padding-bottom:var(--sp-3);border-bottom:2px solid var(--c-ink)}
.fiche dl > div,.legal dl > div{display:grid;gap:2px;padding-block:var(--sp-3);border-bottom:1px solid var(--c-line)}
.fiche dt,.legal dt{font-size:var(--step--1)}
.fiche dd,.legal dd{font-weight:600;color:var(--c-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fiche .lien{margin-top:var(--sp-2)}
/* FAQ */
.faq{border-top:2px solid var(--c-ink)}
.faq__item{border-bottom:1px solid var(--c-line-strong)}
.faq__question{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:3.5rem;padding-block:var(--sp-4);font:600 var(--step-1)/1.3 var(--f-titre);cursor:pointer;list-style:none}
.faq__question::-webkit-details-marker{display:none}
.faq__question:hover{color:var(--c-lande-texte)}
.faq__signe{position:relative;flex:none;width:1.75rem;height:1.75rem;border:1.5px solid;color:var(--c-ink);transition:background-color var(--dur-1) var(--ease)}
.faq__signe::before,.faq__signe::after{content:"";position:absolute;inset:0;margin:auto;width:.75rem;height:2px;background:currentColor}
.faq__signe::after{transform:rotate(90deg)}
[open] .faq__signe{background:var(--c-pierre);border-color:var(--c-pierre);color:var(--c-on-dark)}
[open] .faq__signe::after{transform:none}
.faq__reponse{padding-bottom:var(--sp-5)}
/* Bandeau d'appel */
.appel{position:relative;padding:calc(var(--section-y) + 3rem) 0 var(--section-y);background:var(--c-pierre);color:var(--c-on-dark)}
.appel__horizon{position:absolute;top:var(--sp-5);left:0;width:100%;height:5rem}
.appel__repere{position:absolute;top:calc(var(--sp-5) + 18px);left:64.2%;display:flex;flex-direction:column-reverse;align-items:center;gap:6px;margin:0;transform:translate(-50%,-100%);font:600 .8125rem/1 var(--f-texte);letter-spacing:.02em;color:var(--c-lande-clair);white-space:nowrap}
.appel__sommet{width:0;height:0;border-inline:5px solid transparent;border-bottom:9px solid var(--c-lande)}
.appel h2{max-width:20ch}
.appel__texte p{margin-top:var(--sp-4);max-width:40rem;color:var(--c-on-dark-muted)}
.appel__actions{display:grid;justify-items:start;align-content:start;gap:var(--sp-3)}
.appel__sur{color:var(--c-on-dark-muted)}
.appel__actions .btn{margin-top:var(--sp-3)}
.appel__mail,.galerie__credit,.citation__source{font-size:var(--step--1);color:var(--c-on-dark-muted)}
.appel__mail a{color:var(--c-on-dark);overflow-wrap:anywhere}
.appel :focus-visible,.pied :focus-visible,.section--sombre :focus-visible{outline-color:var(--c-lande-clair)}
/* Pied */
.pied{--mono-m:var(--c-on-dark);--mono-s:var(--c-brique);padding-top:var(--sp-8);background:var(--c-pierre-deep);color:var(--c-on-dark-muted)}
.pied .marque,.pied .marque__mot{color:var(--c-on-dark)}
.pied .marque__metier{color:var(--c-on-dark-muted)}
.pied__contact{display:grid}
.pied__tel{gap:var(--sp-2);font:600 var(--step-1)/1.2 var(--f-titre);color:var(--c-on-dark);text-decoration:none}
.pied__tel:hover{text-decoration:underline 1px var(--c-lande);text-underline-offset:4px}
.pied__marque{display:grid;gap:var(--sp-4);justify-items:start}
.pied__marque p{max-width:34ch}
.pied__mail{font-weight:600;color:var(--c-lande-clair)}
.pied__col h2{max-width:none;color:var(--c-on-dark)}
.pied__col ul{margin-top:var(--sp-3)}
.pied__col a:not(.btn){color:var(--c-on-dark);text-decoration:none}
.pied__col a:not(.btn):hover{text-decoration:underline 1px var(--c-lande);text-underline-offset:4px}
.pied__col a[aria-current]{color:var(--c-lande-clair)}
.pied__base p{margin-top:var(--sp-3);max-width:28ch}
.pied__base .btn{margin-top:var(--sp-5)}
.pied__legal{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2) var(--sp-6);margin-top:var(--sp-7);padding-block:var(--sp-5) var(--sp-6);font-size:.875rem}
.pied__legal::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--c-pierre-2)}
/* Pages intérieures */
.page-tete{padding-top:var(--sp-3)}
.page-tete__grille{padding-bottom:var(--sp-7)}
.page-tete h1{margin-top:var(--sp-3);max-width:20ch}
.page-tete .chapeau,.introuvable .chapeau{margin-top:var(--sp-5)}
.page-tete__visuel{position:relative}
.page-tete__visuel .cadre{aspect-ratio:3/2}
.page-tete__visuel--plein{margin-inline:calc(-1 * var(--gutter))}
.page-tete__legende{padding-inline:var(--gutter)}
.page-tete--compacte .container:first-child{padding-bottom:var(--sp-7)}
.ariane ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--sp-3);font-size:var(--step--1)}
.ariane li{gap:var(--sp-3)}
.ariane li + li::before{content:"";width:6px;height:6px;background:var(--c-line-strong)}
.ariane a{color:var(--c-ink);text-decoration:underline 1px var(--c-line-strong);text-underline-offset:4px}
.ariane a:hover{text-decoration-color:var(--c-lande)}
.prestations__grille{display:grid;gap:var(--sp-6)}
.prestation{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:var(--sp-2);padding-top:var(--sp-4);border-top:2px solid var(--c-pierre)}
.duo,.solo{display:grid;gap:var(--sp-5);margin-top:var(--sp-8)}
.duo__a .cadre{aspect-ratio:4/5}
.duo__b .cadre{aspect-ratio:3/2}
.solo .cadre{aspect-ratio:4/3}
.solo__texte{max-width:var(--measure)}
.solo__texte p{margin-top:var(--sp-3)}
.facteurs{border-top:2px solid var(--c-ink)}
.facteurs > div{padding-block:var(--sp-4);border-bottom:1px solid var(--c-line-strong)}
.facteurs dd,.facteurs p{margin-top:var(--sp-2)}
.prix__note{margin-top:var(--sp-5)}
.parcours__liste{margin-top:var(--sp-4);counter-reset:pc;border-top:2px solid var(--c-pierre)}
.parcours__liste li{counter-increment:pc;display:grid;grid-template-columns:2rem 1fr;gap:var(--sp-3);padding-block:var(--sp-3);border-bottom:1px solid var(--c-line-strong)}
.parcours__liste li::before{content:counter(pc);font:600 var(--step-1)/1.3 var(--f-titre);color:var(--c-lande-texte);font-variant-numeric:lining-nums tabular-nums}
.parcours__liste a{display:block;margin-block:calc(var(--sp-3) * -1);padding-block:var(--sp-3)}
.appareil{display:grid;gap:var(--sp-4);align-content:start}
.appareil__svg{width:100%;height:auto;border:1px solid var(--c-ink)}
.appareil p{margin-top:var(--sp-1)}
.pierre__grille{display:grid;gap:var(--sp-5)}
.pierre__a .cadre{aspect-ratio:3/2}
.pierre__b .cadre{aspect-ratio:4/5}
.pierre__b{max-width:22rem}
.pierre__legende{margin-top:0}
.pierre__texte p{margin-top:var(--sp-4)}
.assises{display:flex;flex-direction:column-reverse;gap:6px;padding:2px}
.assises__rang{display:grid;gap:var(--sp-2);padding:var(--sp-5);background:var(--c-surface);outline:2px solid var(--c-line)}
.assises__an{font:600 var(--step-3)/1.1 var(--f-titre);font-variant-numeric:lining-nums tabular-nums;color:var(--c-ink)}
.assises__rang--projet{background:var(--c-lande)}
.assises__rang--projet p,.assises__rang--projet a{color:var(--c-ink)}
.assises__rang--projet a{font-weight:600}
.region-apropos__texte p:not(.etiquette){margin-top:var(--sp-4)}
.region-apropos__photos{display:grid;gap:var(--sp-4)}
.ra__a .cadre{aspect-ratio:3/2}
/* Contact */
.voies{display:grid;gap:var(--sp-6);margin-top:var(--sp-7)}
.voie,.contact__bloc{padding-top:var(--sp-4);border-top:2px solid var(--c-ink)}
.voie{display:grid;justify-items:start;gap:var(--sp-2)}
.voie h2{max-width:none}
.voie__mail{font:600 var(--step-2)/1.2 var(--f-titre);color:var(--c-pierre);overflow-wrap:anywhere;text-decoration-thickness:1px;text-underline-offset:5px}
.voie__mail:hover{text-decoration-color:var(--c-lande);text-decoration-thickness:2px}
.contact__grille{display:grid;gap:var(--sp-8)}
.form__resume{margin-bottom:var(--sp-6);padding:var(--sp-5);background:var(--c-surface);border:2px solid var(--c-error)}
.form__resume :is(p,a),.form__erreur{font-weight:600;color:var(--c-error)}
.form__resume ul{margin-top:var(--sp-2)}
.form__groupe + .form__groupe{margin-top:var(--sp-7)}
.form__groupe legend{margin-bottom:var(--sp-5);font:600 var(--step-2)/1.2 var(--f-titre)}
.form__champ + .form__champ{margin-top:var(--sp-5)}
.form__champ label{display:block;font-weight:600}
.form__facultatif{font-weight:400}
.form__aide{margin-top:var(--sp-1);font-size:.9375rem}
.form__champ :is(input,select,textarea){display:block;width:100%;min-height:3rem;margin-top:var(--sp-2);padding:.75rem .875rem;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--radius);font-size:1.0625rem;color:var(--c-ink)}
.form__champ textarea{min-height:10rem;resize:vertical}
.form__champ select{appearance:none;padding-right:2.75rem;background:var(--c-surface) url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' fill='none' stroke='%231B2328' stroke-width='1.75'/></svg>") no-repeat right .875rem center/16px}
.form__champ :is(input,select,textarea):hover{border-color:var(--c-ink)}
.form__champ :is(input,select,textarea):focus-visible{border-color:var(--c-ink);outline-offset:2px}
.form [aria-invalid="true"]{border:2px solid var(--c-error)}
.form__erreur{margin-top:var(--sp-2);font-size:.9375rem}
.form__accord{display:grid;grid-template-columns:1.5rem 1fr;gap:0 var(--sp-3);margin-top:var(--sp-7)}
.form__accord input{width:1.5rem;height:1.5rem;margin:.6rem 0 0;accent-color:var(--c-pierre)}
.form__accord label{display:block;padding-top:.55rem;line-height:1.45}
.form__accord .form__erreur{grid-column:2}
.form__envoi{display:grid;gap:var(--sp-3);justify-items:start;margin-top:var(--sp-7)}
.form__envoi p{max-width:32rem}
html:not(.js) .form__bouton,.js .form__repli{display:none}
.form__ok{margin-top:var(--sp-6);padding:var(--sp-5);border-left:4px solid var(--c-mousse)}
.form__ok p + p{margin-top:var(--sp-2)}
.contact__aside{align-content:start}
.contact__bloc h2{font-size:var(--step-2)}
.contact__bloc > p{margin-top:var(--sp-3)}
.contact__suite{display:grid;gap:var(--sp-3);margin-top:var(--sp-4);counter-reset:suite}
.contact__suite li{counter-increment:suite;display:grid;grid-template-columns:1.75rem 1fr;gap:var(--sp-3)}
.contact__suite li::before{content:counter(suite);width:1.75rem;height:1.75rem;font:600 .9375rem/1 var(--f-titre);font-variant-numeric:lining-nums}
.contact__suite strong{color:var(--c-ink)}
/* Légal, 404 */
.legal{max-width:52rem}
.legal h2{margin-top:var(--sp-8);font-size:var(--step-3);max-width:none}
.legal h2:first-child{margin-top:0}
.legal :is(p,ul,dl){margin-top:var(--sp-4)}
.legal ul{display:grid;gap:var(--sp-2)}
.legal :is(p,ul){max-width:var(--measure)}
.legal ul li{position:relative;padding-left:1.375rem}
.legal ul li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--c-lande)}
.introuvable__grille{display:grid;gap:var(--sp-8);align-items:center}
.introuvable__aide{margin-top:var(--sp-6)}
.mur404{width:100%;max-width:26rem}
/* Réalisations */
.section--sombre{background:var(--c-pierre);color:var(--c-on-dark)}
.section--sombre .chapeau{color:var(--c-on-dark-muted)}
.section--sombre .etiquette{color:var(--c-lande-clair)}
.section--sombre .lien{color:var(--c-on-dark)}
.citation{--g:clamp(4.5rem,3.8rem + 3vw,6.5rem);position:relative;padding-top:calc(var(--g) * .62)}
.citation::before{content:"«";content:"«" / "";position:absolute;top:calc(var(--g) * -.2);left:-.04em;font:600 var(--g)/1 var(--f-titre);color:var(--c-brique)}
.citation blockquote p{font:600 var(--step-3)/1.3 var(--f-titre);max-width:32ch;text-wrap:balance}
.citation__source{margin-top:var(--sp-5)}
.citation__source a,.galerie__credit a{color:var(--c-on-dark);text-underline-offset:4px}
.citation--clair{margin-top:var(--sp-8)}
.citation--clair::before{color:var(--c-lande)}
.citation--clair blockquote p{color:var(--c-pierre)}
.citation--clair .citation__source{color:var(--c-muted)}
.citation--clair .citation__source a{color:var(--c-ink)}
.citation--patron{margin-top:var(--sp-5)}
.citation--patron .citation__source{margin-top:var(--sp-3)}
.galerie{margin-top:var(--sp-7)}
.galerie__piste{position:relative;display:flex;gap:var(--sp-4);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;--pad:max(var(--gutter),calc((100% - var(--container)) / 2 + var(--gutter)));padding:0 var(--pad) var(--sp-5);scroll-padding-inline:var(--pad);scrollbar-width:thin;scrollbar-color:var(--c-pierre-2) transparent}
.galerie__piste:focus-visible{outline:2px solid var(--c-lande-clair);outline-offset:-2px}
.galerie__item{flex:none;width:min-content;scroll-snap-align:start}
.galerie__item .cadre{height:clamp(16rem,8rem + 28vw,34rem);aspect-ratio:var(--r);background:var(--c-pierre-2)}
.galerie__item figcaption{display:flex;gap:var(--sp-3);margin-top:var(--sp-3);font-size:var(--step--1);line-height:1.4;color:var(--c-on-dark-muted)}
.galerie__num{font:600 var(--step--1)/1.4 var(--f-titre);color:var(--c-lande-clair);font-variant-numeric:lining-nums tabular-nums}
.galerie__pied{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-4) var(--sp-6);margin-top:var(--sp-3)}
.galerie__credit{max-width:40rem}
.galerie__boutons{display:flex;gap:var(--sp-2)}
.galerie__btn{display:grid;place-items:center;width:3rem;height:3rem;border:1.5px solid var(--c-on-dark-muted);border-radius:var(--radius);transition:var(--dur-1) var(--ease);transition-property:background-color,border-color}
.galerie__btn svg{width:20px;height:20px}
.galerie__btn--prec svg{transform:scaleX(-1)}
.galerie__btn:not([aria-disabled="true"]):hover{border-color:var(--c-on-dark);background:rgb(238 240 236 / .08)}
.galerie__btn[aria-disabled="true"]{opacity:.35;cursor:default}
html:not(.js) .galerie__boutons{display:none}
.realisations__suite{margin-top:var(--sp-5)}
.realisations__suite p{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--sp-2)}
.aussi{display:grid;gap:var(--sp-3);justify-items:start;margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:2px solid var(--c-pierre)}
/* Utilitaires */
.nowrap{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Media */
@media (max-width:39.99em){
.entete__inner{column-gap:var(--sp-2)}
.entete__appeler{gap:6px;padding:0 .625rem}
.bouton-menu{padding:0}
.bouton-menu__texte{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.k-lieu{font-size:29px}
.k-lieu--base{font-size:33px}
.k-km{font-size:26px}
.k-repere text{font-size:27px}
.k-note{font-size:21px}
.coupe .k-note{font-size:26px}
.k-nord text{font-size:28px}
.ariane li + li + li[aria-current]{display:none}
}
@media (min-width:40em){
.coupe .cartouche span{flex-basis:auto}
.coupe .cartouche span + span{border-top:0;border-left:1px solid var(--c-line)}
.entete__appeler{display:none}
.entete__tel,.entete__devis--court{display:inline-flex}
.reperes{grid-template-columns:repeat(4,minmax(0,1fr))}
.fiche dl > div{grid-template-columns:9.5rem 1fr;gap:var(--sp-4)}
.legal dl > div{grid-template-columns:13rem 1fr;gap:var(--sp-4)}
.hero__actions .btn,.page-tete__actions .btn{flex:0 0 auto}
}
@media (max-width:29.99em){
.index__rang{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--sp-2)}
.index__num{grid-column:1 / -1}
}
@media (max-width:24.99em){
.marque__signe{height:2.25rem}
.marque{gap:var(--sp-2)}
.marque__mot{font-size:1.0625rem}
.marque__metier{font-size:.625rem;letter-spacing:.12em}
}
@media (max-width:22.99em){
.bandeau__photo .cadre{aspect-ratio:1}
.marque__signe{height:2rem}
.marque__mot{font-size:.9375rem}
.entete__appeler{width:var(--tap);padding:0}
.entete__appeler span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero h1{padding-inline:var(--sp-3)}
}
@media (min-width:22.5em) and (max-width:63.99em){
.pied__grille{grid-template-columns:repeat(2,minmax(0,1fr))}
.pied__marque,.pied__base{grid-column:1 / -1}
}
@media (max-width:47.99em){
.pied__grille{align-items:start}
.pied__col a:not(.btn){min-height:0;padding-block:.625rem;align-items:flex-start}
}
@media (min-width:48em){
.hero__photo .cadre{aspect-ratio:12/5}
.hero h1{padding-inline:var(--sp-6)}
.index__titre{font-size:var(--step-3)}
.index__rang{grid-template-columns:3rem minmax(0,1fr) auto}
.prestations__grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-7) var(--sp-6)}
.appareils__grille,.parcours__grille{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6)}
.bandeau__photo .cadre{aspect-ratio:21/9}
.bandeau__photo .cadre::after{background:linear-gradient(to top,rgb(1 63 76 / .82),rgb(1 63 76 / 0) 60%)}
.construire-ici > div{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--sp-5)}
.facteurs--4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-6)}
.duo{grid-template-columns:5fr 7fr;align-items:end}
.solo{grid-template-columns:5fr 7fr;align-items:center;gap:var(--sp-7)}
.aussi{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--sp-7)}
.aussi h3{grid-row:1 / span 2}
}
@media (max-width:63.99em){
.nav{order:3;flex-basis:100%}
.nav__liste{display:flex;flex-wrap:wrap;gap:0 var(--sp-5);padding-bottom:var(--sp-2)}
.nav__lien[aria-current]{text-decoration:underline 2px var(--c-lande);text-underline-offset:6px}
.js .nav{order:0;flex-basis:auto}
.js .nav__liste{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;flex-wrap:nowrap;gap:0;padding:var(--sp-2) var(--gutter) var(--sp-6);background:var(--c-ciel);border-bottom:1px solid var(--c-line);box-shadow:var(--shadow)}
.js .nav__liste.est-ouvert{display:flex}
.js .nav__item{border-bottom:1px solid var(--c-line)}
.js .nav__lien{min-height:3.25rem;font-size:1.125rem}
.js .sous-menu{display:block;padding:0 0 var(--sp-3) var(--sp-2)}
.js .nav__item--mobile{display:grid;gap:var(--sp-3);padding-top:var(--sp-5);border-bottom:0}
.hero__photo .legende--sur{top:var(--sp-3);bottom:auto}
.page-tete--photo .page-tete__grille{padding-bottom:var(--sp-5)}
.page-tete__visuel .dessin-cadre{max-width:26rem}
.pierre__grille{grid-template-columns:repeat(2,minmax(0,1fr))}
.pierre__texte,.pierre__legende{grid-column:1 / -1}
.pierre__texte{order:-1}
.pierre__a .cadre,.pierre__b .cadre{aspect-ratio:4/5}
.pierre__b{max-width:none}
}
@media (min-width:48em) and (max-width:63.99em){
.page-tete__visuel .cadre{aspect-ratio:16/9}
.prestations__grille--savoir{grid-template-columns:minmax(0,1fr)}
.parcours__col h3{min-height:2.5em}
}
@media (min-width:64em){
.faq-bloc__grille,.prix__grille,.parcours-mur__grille,.region-apropos__grille,.region__grille,.entreprise__grille,.page-tete__grille,.realisations__grille{gap:var(--sp-8)}
.index--visuels,.index--visuels .index__tete,.coupe-bloc__grille,.demande__grille,.methode__grille,.faq-bloc__grille,.prix__grille,.parcours-mur__grille,.region-apropos__grille{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.entete__inner{min-height:5.25rem;gap:var(--sp-5)}
.nav__liste{display:flex;align-items:center;gap:var(--sp-1)}
.nav__item{position:relative;display:flex;align-items:center}
.nav__item--mobile{display:none}
.nav__lien{position:relative;padding:0 var(--sp-3);font-size:1rem}
.nav__lien::after{content:"";position:absolute;left:var(--sp-3);right:var(--sp-3);bottom:6px;height:2px;background:var(--c-lande);transform:scaleX(0);transform-origin:left}
.nav__lien:hover::after,.nav__lien[aria-current]::after{transform:scaleX(1)}
.nav__item--services .nav__lien{padding-right:2px}
.nav__item--services .nav__lien::after{right:2px}
.js .nav__deplier{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap)}
.nav__deplier svg{width:14px;height:14px}
.nav__deplier[aria-expanded="true"] svg{transform:rotate(180deg)}
.js .sous-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:18rem;padding:var(--sp-2);background:var(--c-surface);border:1px solid var(--c-ink);box-shadow:var(--shadow)}
.js .sous-menu.est-ouvert{display:block}
.sous-menu__lien{padding:0 var(--sp-3);color:var(--c-ink);font-weight:600;font-size:.9375rem}
.sous-menu__lien:hover{background:var(--c-schiste)}
.entete__devis--long{display:inline-flex}
.entete__devis--court,.bouton-menu{display:none}
.hero__grille{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto 1fr auto;column-gap:var(--sp-6)}
.hero__photo{grid-area:1/1/2/-1}
.hero__photo .cadre{aspect-ratio:auto;height:clamp(20rem,10rem + 20vw,34rem)}
.hero__photo img{object-position:50% 0}
.hero__grille::before{grid-area:2/1/4/8;margin-top:-6rem}
.hero h1{grid-area:2/1/3/8;max-width:none;margin-top:calc(var(--sp-6) - 6rem);padding:0 var(--sp-7)}
.hero__actions{grid-area:3/1/4/8;padding:0 var(--sp-7) var(--sp-6)}
.hero__chapeau{grid-area:2/8/5/-1;margin-top:var(--sp-6)}
.reperes{grid-area:5/1/6/-1;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--sp-6);margin-top:var(--sp-6)}
.tete{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6);align-items:baseline}
.tete__corps{grid-column:2/-1}
.tete--simple{grid-template-columns:none}
.index--visuels{display:grid;column-gap:var(--sp-8);align-items:start}
.index--visuels .index__tete{grid-column:1 / -1;column-gap:var(--sp-8);align-items:end}
.index--visuels .index__liste{grid-column:2}
.index--visuels .index__cadre{display:block;position:relative;grid-column:1;aspect-ratio:4/5}
.index__rang{padding-block:var(--sp-4)}
.index--large .index__corps{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--sp-6);align-items:baseline}
.index--large .index__texte{margin-top:0}
.coupe-bloc__grille{grid-template-rows:auto 1fr;gap:var(--sp-6) var(--sp-8);align-items:start}
.coupe-bloc__tete{grid-column:1;grid-row:1}
.coupe-bloc__legende{grid-column:1;grid-row:2}
.coupe{grid-column:2;grid-row:1 / span 2;align-self:center}
.methode__grille{grid-template-rows:auto auto 1fr;column-gap:var(--sp-8)}
.methode__grille > h2,.methode__grille > .chapeau{grid-column:1}
.methode__grille .cordeau{grid-column:2;grid-row:1 / span 3;margin-top:0}
.realisations__grille{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.realisations .citation{padding-top:0}
.realisations .citation::before{top:-.12em;left:auto;right:calc(100% + .1em)}
.realisations .citation blockquote p{font-size:var(--step-4);line-height:1.22;max-width:26ch}
.prestations__grille.prestations__grille--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.solo{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--sp-6)}
.solo__texte{grid-column:2 / -1}
.region__grille{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
.region .carte{position:relative;z-index:1;margin-top:calc(-1 * (var(--sp-7) + clamp(3rem,8vw,7rem)))}
.entreprise__grille{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start}
.appel__grille{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}
.pied__grille{grid-template-columns:1.4fr 1.2fr .9fr 1.1fr}
.page-tete__grille{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:start}
.page-tete--photo .assise{width:calc((100% - var(--sp-8)) / 2)}
.page-tete__visuel{align-self:start;margin:var(--sp-3) 0 calc(-1 * (var(--sp-7) + 17px))}
.page-tete__visuel--plein{align-self:stretch;display:flex;flex-direction:column;margin:var(--sp-3) calc(-1 * var(--hors)) calc(-1 * (var(--sp-7) + 17px)) 0}
.page-tete__visuel--plein .cadre{flex:1;aspect-ratio:auto;min-height:24rem}
.page-tete__legende{padding:0 var(--hors) 0 0}
.prestations__grille{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.facteurs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-6)}
.facteurs--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pierre__grille{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-6)}
.pierre__a{grid-column:1 / 8;grid-row:1 / 3;display:flex;flex-direction:column}
.pierre__a .cadre{flex:1;aspect-ratio:auto;min-height:24rem}
.pierre__texte{grid-column:8 / 13;grid-row:1;align-self:end}
.pierre__b{grid-column:8 / 11;grid-row:2;max-width:none}
.pierre__legende{grid-column:1 / 8;grid-row:3;margin-top:calc(var(--sp-2) - var(--sp-6))}
.valeurs .citation--clair{margin-left:calc((100% - 2 * var(--sp-6)) / 3 + var(--sp-6))}
.parcours-mur__grille{align-items:start}
.assises__rang:nth-child(even){margin-left:var(--sp-8)}
.assises__rang:nth-child(odd){margin-right:var(--sp-8)}
.region-apropos__grille{align-items:center}
.voies,.contact__grille{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--sp-6) var(--sp-9)}
.introuvable__grille{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
}
@media (min-width:64em) and (max-width:79.99em){
.hero h1,.hero__actions{padding-inline:var(--sp-6)}
}
@media (min-width:80em){
.pied__grille{grid-template-columns:1.4fr 1.15fr .85fr 1fr;gap:var(--sp-8)}
}
@media (hover:hover){
.index__rang:hover::after{transform:scaleX(1)}
.index__rang:hover .fleche{transform:translateX(4px)}
.galerie__btn:not([aria-disabled="true"]):hover svg{transform:translateX(3px)}
.galerie__btn--prec:not([aria-disabled="true"]):hover svg{transform:scaleX(-1) translateX(3px)}
}
/* Mouvement : états cachés seulement sous .js/.anim, sans mouvement réduit */
@media (prefers-reduced-motion:no-preference){
.js .hero__grille::before,.js .hero h1,.js .hero__chapeau,.js .hero__actions,.js .reperes,.js .page-tete--photo .page-tete__texte > *{animation:monte var(--dur-3) var(--ease-sortie) both}
.js .hero__chapeau,.js .page-tete--photo .page-tete__texte > :nth-child(3){animation-delay:80ms}
.js .hero__actions,.js .page-tete--photo .page-tete__texte > :nth-child(4){animation-delay:160ms}
.js .reperes{animation-delay:240ms}
.js .hero__photo img,.js .page-tete__visuel--plein img{animation:assise var(--dur-4) var(--ease-sortie) 100ms both}
.js .hero__photo .legende--sur,.js .page-tete__visuel--plein .legende--sur{animation:monte var(--dur-3) var(--ease-sortie) 500ms both}
.anim .index__rang.reveal:not(.est-visible),.anim .assises.reveal:not(.est-visible) .assises__rang{opacity:0;transform:translateY(20px)}
.anim .coupe.reveal:not(.est-visible) :is(.k-1,.k-2,.k-3,.k-4){opacity:0;transform:translateY(6px)}
.anim .cordeau.reveal:not(.est-visible) .cordeau__num{opacity:0;transform:translateY(-10px)}
.anim .cordeau.reveal:not(.est-visible)::before{transform:scaleY(0)}
.anim .reveal :is(.k-sol,.horizon__trait){stroke-dasharray:1}
.anim .reveal:not(.est-visible) :is(.k-sol,.horizon__trait){stroke-dashoffset:1}
.anim .index__rang.est-visible,.anim .est-visible :is(.assises__rang,.cordeau__num),.anim .cordeau.est-visible::before{transition:opacity var(--dur-3) var(--ease-sortie),transform var(--dur-3) var(--ease-sortie)}
.anim .coupe.est-visible :is(.k-1,.k-2,.k-3,.k-4){transition:opacity 450ms var(--ease-sortie),transform 450ms var(--ease-sortie)}
.anim .est-visible :is(.k-sol,.horizon__trait){transition:stroke-dashoffset var(--dur-4) var(--ease-sortie)}
.anim .coupe.est-visible .k-2{transition-delay:250ms}
.anim .coupe.est-visible .k-3{transition-delay:500ms}
.anim .coupe.est-visible .k-4{transition-delay:750ms}
.anim .coupe.est-visible .k-pastilles{transition-delay:830ms}
.anim .est-visible > :nth-child(2) > .cordeau__num,.anim .est-visible > .assises__rang:nth-child(2){transition-delay:90ms}
.anim .est-visible > :nth-child(3) > .cordeau__num,.anim .est-visible > .assises__rang:nth-child(3){transition-delay:180ms}
.anim .est-visible > :nth-child(4) > .cordeau__num,.anim .est-visible > .assises__rang:nth-child(4){transition-delay:270ms}
.anim .appel.est-visible .horizon__trait{transition-delay:100ms}
.faq__item[open] .faq__reponse{animation:monte 450ms var(--ease-sortie)}
@keyframes monte{from{opacity:0;transform:translateY(18px)}}
@keyframes assise{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{transition-duration:.01ms;animation-duration:.01ms;scroll-behavior:auto}
}
