@font-face{font-family:"Sora";src:url("/fonts/sora-variable.woff2") format("woff2-variations");font-weight:100 800;font-style:normal;font-display:swap;}
:root{--encre:#111c26;--nuit:#0c141c;--brun:#3f4c57;--gris:#79868f;--creme:#eef3f6;--brume:#f6f9fa;--filet:#dbe3e8;--filet-sombre:#26313b;--accent:#12a594;--accent-fonce:#0b7d70;--blanc:#fdfefe;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font:400 16.5px/1.72 "Sora",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--brun);background:var(--blanc);}
img{max-width:100%;display:block;}
[id]{scroll-margin-top:92px;}
a{color:var(--accent-fonce);text-decoration:none;}
.hq-cadre{max-width:1200px;margin:0 auto;padding:0 30px;}
.hq-volee{padding:104px 0;}
.hq-volee--creme{background:var(--creme);}
.hq-volee--brume{background:var(--brume);}
.hq-volee--nuit{background:var(--nuit);color:#c3ccd3;}
main{display:flex;flex-direction:column;}
.hq-seo{order:99;}
/* petites capitales / titres */
.hq-cap{display:inline-flex;align-items:center;gap:15px;font-size:.71rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--accent-fonce);}
.hq-cap::before{content:"";width:40px;height:1px;background:var(--accent);}
.hq-volee--nuit .hq-cap,.hq-panorama .hq-cap,.hq-final .hq-cap{color:var(--accent);}
h1,h2,h3{color:var(--encre);line-height:1.12;letter-spacing:-.02em;}
.hq-h2{font-size:clamp(1.95rem,4.2vw,3.25rem);font-weight:200;margin:18px 0 0;}
.hq-h2 strong{font-weight:800;}
.hq-volee--nuit .hq-h2{color:#f4f8fa;}
.hq-tete-sec{max-width:660px;margin-bottom:56px;}
.hq-tete-sec p{margin-top:20px;color:var(--gris);}
/* boutons */
.hq-btn,.hq-btn-clair{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:18px 40px;font:700 .75rem/1 "Sora",sans-serif;letter-spacing:.24em;text-transform:uppercase;border:none;cursor:pointer;transition:background .2s,color .2s,letter-spacing .25s;}
.hq-btn{background:var(--encre);color:#fff;}
.hq-btn:hover{background:var(--accent);color:#fff;letter-spacing:.28em;}
.hq-btn-clair{background:var(--accent);color:#fff;}
.hq-btn-clair:hover{background:#fff;color:var(--encre);letter-spacing:.28em;}
.hq-appel{display:inline-flex;align-items:center;gap:10px;color:inherit;font-weight:700;font-size:1.02rem;}
.hq-appel svg{width:1em;height:1em;color:var(--accent);flex-shrink:0;}
.hq-appel small{display:block;font-weight:400;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);}
.hq-etoiles{color:var(--accent);letter-spacing:2px;}
/* header */
.hq-tete{position:fixed;top:0;left:0;right:0;z-index:400;transition:background .3s,box-shadow .3s;}
.hq-tete-rang{max-width:1340px;margin:0 auto;padding:21px 34px;display:flex;align-items:center;gap:36px;border-bottom:1px solid rgba(255,255,255,.16);transition:padding .3s,border-color .3s;}
.hq-logo{line-height:1.15;color:#fff;transition:color .3s;}
.hq-logo strong{display:block;font-size:1.12rem;font-weight:800;letter-spacing:-.01em;}
.hq-logo span{font-size:.6rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);}
.hq-menu{margin-left:auto;display:flex;align-items:center;gap:30px;}
.hq-menu>a,.hq-drop>button{color:rgba(255,255,255,.9);background:none;border:none;font:600 .71rem/1 "Sora",sans-serif;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;padding-bottom:5px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;display:inline-flex;align-items:center;gap:6px;}
.hq-menu>a:hover,.hq-drop:hover>button{color:#fff;border-bottom-color:var(--accent);}
.hq-drop{position:relative;}
.hq-drop-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:260px;background:var(--blanc);border:1px solid var(--filet);box-shadow:0 24px 50px -30px rgba(17,28,38,.5);padding:10px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;display:flex;flex-direction:column;}
.hq-drop:hover .hq-drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px);}
.hq-drop-menu a{color:var(--brun);padding:11px 16px;font-size:.9rem;font-weight:500;letter-spacing:0;text-transform:none;border-bottom:1px solid var(--filet);}
.hq-drop-menu a:last-child{border-bottom:none;}
.hq-drop-menu a:hover{color:var(--accent-fonce);background:var(--brume);}
.hq-tel-tete{color:#fff;font-weight:800;font-size:1rem;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;transition:color .3s;}
.hq-tel-tete svg{width:.9em;height:.9em;color:var(--accent);}
.hq-tel-tete:hover{color:var(--accent);}
.hq-cta-tete{border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent;padding:13px 24px;font:700 .67rem/1 "Sora",sans-serif;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s;}
.hq-cta-tete:hover{background:var(--accent);border-color:var(--accent);}
.hq-burger{display:none;margin-left:auto;flex-direction:column;justify-content:center;gap:6px;width:46px;height:44px;padding:0 11px;background:transparent;border:1px solid rgba(255,255,255,.5);cursor:pointer;}
.hq-burger i{display:block;height:1.5px;background:#fff;transition:transform .25s,opacity .25s,background .3s;}
.hq-tete.pleine{background:rgba(253,254,254,.97);backdrop-filter:blur(8px);box-shadow:0 14px 32px -26px rgba(17,28,38,.5);}
.hq-tete.pleine .hq-tete-rang{padding:14px 34px;border-bottom-color:var(--filet);}
.hq-tete.pleine .hq-logo{color:var(--encre);}
.hq-tete.pleine .hq-menu>a,.hq-tete.pleine .hq-drop>button{color:var(--brun);}
.hq-tete.pleine .hq-menu>a:hover,.hq-tete.pleine .hq-drop:hover>button{color:var(--encre);border-bottom-color:var(--accent);}
.hq-tete.pleine .hq-tel-tete{color:var(--encre);}
.hq-tete.pleine .hq-cta-tete{background:var(--encre);border-color:var(--encre);}
.hq-tete.pleine .hq-cta-tete:hover{background:var(--accent);border-color:var(--accent);}
.hq-tete.pleine .hq-burger{border-color:var(--encre);}
.hq-tete.pleine .hq-burger i{background:var(--encre);}
body.nav-ouverte{overflow:hidden;}
body.nav-ouverte .hq-menu{display:flex;position:fixed;inset:0;z-index:380;flex-direction:column;justify-content:center;align-items:center;gap:26px;background:rgba(12,20,28,.98);margin:0;}
body.nav-ouverte .hq-menu>a,body.nav-ouverte .hq-drop>button{color:#fff;font-size:.95rem;letter-spacing:.28em;}
body.nav-ouverte .hq-drop-menu{position:static;transform:none;opacity:1;visibility:visible;background:transparent;border:none;box-shadow:none;padding:6px 0 0;}
body.nav-ouverte .hq-drop-menu a{color:rgba(255,255,255,.72);background:none;border:none;text-align:center;padding:7px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;}
body.nav-ouverte .hq-tel-tete{color:#fff;font-size:1.25rem;}
body.nav-ouverte .hq-burger{position:relative;z-index:390;border-color:rgba(255,255,255,.6);}
body.nav-ouverte .hq-burger i{background:#fff;}
body.nav-ouverte .hq-burger i:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
body.nav-ouverte .hq-burger i:nth-child(2){opacity:0;}
body.nav-ouverte .hq-burger i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
/* hero plein écran */
.hq-panorama{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;padding:168px 0 0;background:linear-gradient(to bottom,rgba(10,16,22,.62) 0%,rgba(10,16,22,.2) 42%,rgba(10,16,22,.74) 100%),linear-gradient(100deg,rgba(10,16,22,.6) 0%,rgba(10,16,22,.12) 62%),url("/images/hero-traitement-humidite-quimper.webp") center/cover no-repeat;}
.hq-panorama-corps{width:100%;max-width:1200px;margin:0 auto;padding:0 30px 84px;}
.hq-panorama h1{font-size:clamp(2.5rem,7vw,5.1rem);font-weight:200;line-height:1.03;letter-spacing:-.03em;max-width:17ch;margin:24px 0 28px;color:#fff;}
.hq-panorama h1 strong{font-weight:800;}
.hq-sous-titre{font-size:1.08rem;font-weight:300;color:rgba(255,255,255,.86);max-width:56ch;margin-bottom:40px;}
.hq-hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.hq-hero-actions .hq-appel{color:#fff;font-size:1.12rem;}
.hq-panorama-pied{border-top:1px solid rgba(255,255,255,.2);}
.hq-panorama-pied-rang{max-width:1200px;margin:0 auto;padding:22px 30px;display:flex;align-items:center;gap:38px;flex-wrap:wrap;font-size:.69rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.64);}
.hq-panorama-pied-rang span{display:inline-flex;align-items:baseline;gap:9px;}
.hq-panorama-pied-rang b{color:#fff;font-weight:800;font-size:1.12rem;letter-spacing:0;}
.hq-panorama-pied-rang .hq-etoiles{color:var(--accent);letter-spacing:2px;font-size:.92rem;}
/* volet devis */
.hq-languette{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:350;writing-mode:vertical-rl;background:var(--accent);color:#fff;border:none;font:700 .7rem/1 "Sora",sans-serif;letter-spacing:.28em;text-transform:uppercase;padding:24px 12px;cursor:pointer;transition:background .2s,padding .2s;}
.hq-languette:hover{background:var(--encre);padding-right:19px;}
.hq-voile{position:fixed;inset:0;background:rgba(10,16,22,.55);backdrop-filter:blur(2px);z-index:440;opacity:0;pointer-events:none;transition:opacity .3s;}
.hq-volet{position:fixed;top:0;right:0;bottom:0;width:min(444px,100%);background:var(--blanc);z-index:450;transform:translateX(102%);transition:transform .35s cubic-bezier(.22,.9,.3,1);overflow-y:auto;padding:40px 36px 44px;border-left:1px solid var(--filet);}
body.volet-ouvert .hq-volet{transform:translateX(0);}
body.volet-ouvert .hq-voile{opacity:1;pointer-events:auto;}
body.volet-ouvert{overflow:hidden;}
.hq-volet-fermer{position:absolute;top:18px;right:18px;width:38px;height:38px;background:transparent;border:1px solid var(--filet);font-size:1.2rem;color:var(--gris);cursor:pointer;line-height:1;transition:border-color .2s,color .2s;}
.hq-volet-fermer:hover{border-color:var(--encre);color:var(--encre);}
.hq-volet h2{font-size:1.65rem;font-weight:200;letter-spacing:-.02em;line-height:1.15;margin:16px 0 6px;}
.hq-volet h2 strong{font-weight:800;}
.hq-volet-note{font-size:.84rem;color:var(--gris);margin-bottom:6px;}
.hq-appel-volet{margin-top:24px;padding-top:20px;border-top:1px solid var(--filet);color:var(--encre);}
/* formulaires */
.hq-form label{display:block;font-size:.67rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--encre);margin:20px 0 3px;}
.hq-form input,.hq-form select,.hq-form textarea{width:100%;padding:10px 2px;border:none;border-bottom:1px solid var(--filet);background:transparent;font:400 .98rem/1.5 "Sora",sans-serif;color:var(--encre);border-radius:0;transition:border-color .2s,box-shadow .2s;}
.hq-form select{cursor:pointer;}
.hq-form input:focus,.hq-form select:focus,.hq-form textarea:focus{outline:none;border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent);}
.hq-form button[type=submit]{width:100%;margin-top:28px;}
.hq-rgpd{font-size:.72rem;color:var(--gris);margin-top:13px;line-height:1.55;}
.hq-form-ok{display:none;margin-top:16px;padding:14px 16px;background:var(--creme);border-left:3px solid var(--accent);color:var(--encre);font-size:.9rem;}
.hq-hp{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden;}
/* intro éditoriale / chiffres */
.hq-intro-grille{display:grid;grid-template-columns:.85fr 1.6fr;gap:76px;align-items:start;}
.hq-marge-chiffres{border-right:1px solid var(--filet);padding-right:52px;}
.hq-chiffre{padding:28px 0;}
.hq-chiffre+.hq-chiffre{border-top:1px solid var(--filet);}
.hq-chiffre:first-child{padding-top:0;margin-left:-30px;}
.hq-chiffre b{display:block;font-size:clamp(3.2rem,5.6vw,4.9rem);font-weight:200;line-height:.95;letter-spacing:-.04em;color:var(--encre);}
.hq-chiffre b em{font-style:normal;font-weight:800;color:var(--accent);}
.hq-chiffre span{display:block;margin-top:9px;font-size:.69rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);}
.hq-edito{max-width:62ch;}
.hq-edito .hq-grand-p{font-size:clamp(1.22rem,2.1vw,1.62rem);font-weight:300;line-height:1.5;color:var(--encre);margin:24px 0 26px;}
.hq-edito .hq-grand-p strong{font-weight:700;color:var(--accent-fonce);}
.hq-edito p:not(.hq-grand-p){color:var(--gris);margin-bottom:1.1rem;font-size:.99rem;}
.hq-signature{margin-top:30px;display:flex;align-items:center;gap:16px;}
.hq-signature img{width:60px;height:60px;object-fit:cover;border-radius:50%;filter:grayscale(20%);}
.hq-signature strong{display:block;color:var(--encre);font-weight:700;font-size:.93rem;}
.hq-signature span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);}
/* prestations grille asymétrique */
.hq-gestes{display:grid;grid-template-columns:1.9fr 1.1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:40px;}
.hq-geste{display:flex;flex-direction:column;}
.hq-geste--majeur{grid-row:1/3;}
.hq-geste-visuel{position:relative;overflow:hidden;flex:1;}
.hq-geste-visuel img{width:100%;height:100%;min-height:236px;object-fit:cover;transition:transform .6s ease;}
.hq-geste:hover .hq-geste-visuel img{transform:scale(1.035);}
.hq-geste--majeur .hq-geste-visuel img{min-height:540px;}
.hq-geste-prix{position:absolute;top:0;right:0;background:var(--blanc);color:var(--encre);font-size:.71rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:11px 17px;}
.hq-geste-corps{padding:22px 0 24px;border-bottom:1px solid var(--filet);}
.hq-geste--majeur .hq-geste-corps{border-bottom:none;padding-bottom:0;}
.hq-geste-corps h3{font-size:1.3rem;font-weight:800;line-height:1.24;}
.hq-geste--majeur .hq-geste-corps h3{font-size:1.62rem;}
.hq-geste-corps h3 a{color:var(--encre);transition:color .2s;}
.hq-geste-corps h3 a:hover{color:var(--accent-fonce);}
.hq-geste-corps p{font-size:.93rem;color:var(--gris);margin-top:9px;max-width:56ch;}
.hq-inclus{list-style:none;margin-top:14px;}
.hq-inclus li{position:relative;padding-left:24px;font-size:.86rem;color:var(--brun);margin-top:6px;}
.hq-inclus li::before{content:"";position:absolute;left:0;top:.5em;width:11px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg);}
/* pourquoi nous */
.hq-why{display:grid;grid-template-columns:1.4fr .9fr;gap:56px;align-items:start;}
.hq-why-q{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--filet);}
.hq-why-q:first-child{border-top:none;padding-top:0;}
.hq-why-ic{font-size:1.5rem;color:var(--accent);line-height:1;}
.hq-why-q h3{font-size:1.1rem;font-weight:700;margin-bottom:5px;}
.hq-why-q p{font-size:.93rem;color:var(--gris);}
.hq-why-stat{background:var(--nuit);color:#c3ccd3;padding:40px 36px;}
.hq-why-stat .hq-why-note{font-size:1rem;margin-bottom:20px;}
.hq-why-stat .hq-why-note strong{color:#fff;font-size:1.5rem;font-weight:800;}
.hq-why-num{border-top:1px solid var(--filet-sombre);padding:16px 0;display:flex;flex-direction:column;}
.hq-why-num strong{color:#fff;font-size:1.9rem;font-weight:200;letter-spacing:-.03em;}
.hq-why-num strong em{font-style:normal;font-weight:800;color:var(--accent);}
.hq-why-num span{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-top:3px;}
.hq-why-cta{width:100%;margin-top:22px;background:var(--accent);}
.hq-why-cta:hover{background:#fff;color:var(--encre);}
/* avis carrousel */
.hq-avis-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;flex-wrap:wrap;margin-bottom:48px;}
.hq-avis-note{display:flex;align-items:baseline;gap:15px;margin-top:16px;}
.hq-avis-note b{font-size:clamp(2.8rem,4.6vw,4.1rem);font-weight:200;letter-spacing:-.04em;color:var(--encre);line-height:1;}
.hq-avis-note b em{font-style:normal;font-weight:800;}
.hq-avis-detail{font-size:.69rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);line-height:1.9;}
.hq-avis-detail .hq-etoiles{display:block;font-size:.92rem;letter-spacing:2px;}
.hq-fleches{display:flex;gap:10px;}
.hq-fleches button{width:52px;height:52px;background:transparent;border:1px solid var(--filet);color:var(--encre);font-size:1.1rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.hq-fleches button:hover{background:var(--encre);border-color:var(--encre);color:#fff;}
.hq-ruban{display:flex;gap:40px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:8px;}
.hq-ruban::-webkit-scrollbar{display:none;}
.hq-temoin{flex:0 0 min(408px,82vw);scroll-snap-align:start;border-top:1px solid var(--filet);padding-top:28px;display:flex;flex-direction:column;}
.hq-temoin .hq-etoiles{font-size:.88rem;margin-bottom:14px;}
.hq-temoin blockquote{font-size:1.02rem;font-weight:300;line-height:1.62;color:var(--encre);flex:1;}
.hq-temoin cite{margin-top:20px;font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);font-style:normal;}
.hq-temoin cite strong{color:var(--encre);font-weight:700;}
/* réalisations éditoriales */
.hq-oeuvre{display:grid;grid-template-columns:repeat(12,1fr);align-items:end;margin-bottom:100px;}
.hq-oeuvre:last-child{margin-bottom:0;}
.hq-oeuvre-visuel{grid-column:1/9;grid-row:1;}
.hq-oeuvre-visuel img{width:100%;height:clamp(320px,44vw,580px);object-fit:cover;}
.hq-oeuvre-fiche{grid-column:8/13;grid-row:1;position:relative;z-index:2;background:var(--blanc);padding:38px 0 0 46px;margin-bottom:-1px;}
.hq-volee--creme .hq-oeuvre-fiche{background:var(--creme);}
.hq-oeuvre--inverse .hq-oeuvre-visuel{grid-column:5/13;}
.hq-oeuvre--inverse .hq-oeuvre-fiche{grid-column:1/6;padding:38px 46px 0 0;}
.hq-oeuvre-index{position:absolute;top:-20px;left:46px;transform:translateY(-100%);font-size:clamp(3.6rem,7vw,6.4rem);font-weight:200;line-height:.8;letter-spacing:-.05em;color:#cdd7de;pointer-events:none;}
.hq-oeuvre--inverse .hq-oeuvre-index{left:0;}
.hq-oeuvre-fiche h3{font-size:1.45rem;font-weight:800;line-height:1.2;margin:12px 0 11px;}
.hq-oeuvre-fiche p{font-size:.94rem;color:var(--gris);margin-bottom:17px;}
.hq-donnees{list-style:none;border-top:1px solid var(--filet);}
.hq-donnees li{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--filet);font-size:.8rem;}
.hq-donnees li span{letter-spacing:.16em;text-transform:uppercase;font-size:.65rem;font-weight:600;color:var(--gris);padding-top:3px;}
.hq-donnees li b{color:var(--encre);font-weight:700;text-align:right;}
/* grille réalisations (page) */
.hq-galerie{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 40px;}
.hq-carte-real figure{overflow:hidden;}
.hq-carte-real img{width:100%;height:300px;object-fit:cover;transition:transform .5s;}
.hq-carte-real:hover img{transform:scale(1.04);}
.hq-carte-real h3{font-size:1.2rem;font-weight:800;margin:20px 0 8px;}
.hq-carte-real .hq-lieu{font-size:.67rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-fonce);}
.hq-carte-real p{font-size:.93rem;color:var(--gris);margin-top:8px;}
/* prix */
.hq-tarif-grille{display:grid;grid-template-columns:1fr 1.7fr;gap:76px;align-items:start;}
.hq-tarif-intro{position:sticky;top:118px;}
.hq-tarif-intro p{margin-top:20px;color:var(--gris);font-size:.96rem;}
.hq-tarif-intro .hq-btn{margin-top:28px;}
.hq-carte-tarifs{list-style:none;}
.hq-carte-tarifs>li{border-bottom:1px solid var(--filet);padding:24px 0;display:grid;grid-template-columns:1fr auto;gap:5px 38px;align-items:baseline;}
.hq-carte-tarifs>li:first-child{border-top:1px solid var(--filet);}
.hq-carte-tarifs h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;}
.hq-montant{font-size:1.08rem;font-weight:200;color:var(--encre);white-space:nowrap;text-align:right;}
.hq-montant b{font-weight:800;color:var(--accent-fonce);}
.hq-carte-tarifs p{grid-column:1/2;font-size:.87rem;color:var(--gris);}
.hq-mention{margin-top:18px;font-size:.78rem;color:var(--gris);}
/* simulateur (bloc sombre) */
.hq-sim-grille{display:grid;grid-template-columns:1fr 1.5fr;gap:84px;align-items:start;margin-top:52px;}
.hq-sim-champs label{display:block;font-size:.67rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#9fb0ba;margin:28px 0 4px;}
.hq-sim-champs label:first-child{margin-top:0;}
.hq-sim-champs select,.hq-sim-champs input{width:100%;padding:11px 2px;background:transparent;border:none;border-bottom:1px solid var(--filet-sombre);color:#f4f8fa;font:400 1.01rem/1.4 "Sora",sans-serif;border-radius:0;transition:border-color .2s;}
.hq-sim-champs select{cursor:pointer;}
.hq-sim-champs select option{color:var(--encre);background:#fff;}
.hq-sim-champs select:focus,.hq-sim-champs input:focus{outline:none;border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent);}
.hq-sim-verdict{border-left:1px solid var(--filet-sombre);padding-left:60px;}
.hq-sim-etiq{font-size:.69rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#9fb0ba;}
.hq-sim-somme{font-size:clamp(2.3rem,4.6vw,3.7rem);font-weight:200;letter-spacing:-.035em;line-height:1.08;color:#f4f8fa;margin:16px 0 12px;}
.hq-sim-somme b{font-weight:800;color:var(--accent);}
.hq-sim-precision{font-size:.82rem;color:#8b99a3;max-width:42ch;margin-bottom:28px;}
.hq-sim-verdict .hq-btn-clair{background:var(--accent);}
.hq-sim-disc{margin-top:34px;font-size:.78rem;color:#8b99a3;}
/* équipe */
.hq-visages{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:60px;}
.hq-visage:nth-child(2){margin-top:44px;}
.hq-visage:nth-child(4){margin-top:44px;}
.hq-visage img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(16%);transition:filter .4s;}
.hq-visage:hover img{filter:grayscale(0);}
.hq-visage figcaption{padding-top:18px;border-top:1px solid var(--filet);margin-top:20px;}
.hq-visage figcaption strong{display:block;font-size:1.08rem;font-weight:800;color:var(--encre);}
.hq-visage figcaption span{font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-fonce);}
.hq-visage p{font-size:.88rem;color:var(--gris);margin-top:9px;}
/* méthode */
.hq-temps-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:0 84px;margin-top:36px;}
.hq-temps{display:grid;grid-template-columns:auto 1fr;gap:30px;padding:40px 0;border-top:1px solid var(--filet);}
.hq-temps i{font-style:normal;font-size:clamp(2.4rem,3.6vw,3.4rem);font-weight:200;letter-spacing:-.04em;line-height:.9;color:var(--accent);}
.hq-temps h3{font-size:1.1rem;font-weight:800;margin-bottom:7px;}
.hq-temps p{font-size:.92rem;color:var(--gris);}
/* aides */
.hq-aides-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;margin-top:44px;}
.hq-aide{border:1px solid var(--filet);padding:28px 26px;background:var(--blanc);}
.hq-aide-tag{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-fonce);border:1px solid var(--accent);padding:5px 11px;margin-bottom:16px;}
.hq-aide h3{font-size:1.12rem;font-weight:700;margin-bottom:9px;}
.hq-aide p{font-size:.9rem;color:var(--gris);}
/* zone */
.hq-zone-grille{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;align-items:start;}
.hq-zone-texte p{margin-top:20px;color:var(--gris);font-size:.96rem;}
.hq-zone-texte p strong{color:var(--encre);}
.hq-zone-fiche{margin-top:22px;font-weight:700;color:var(--accent-fonce);display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:4px;}
.hq-communes{list-style:none;columns:2;column-gap:40px;margin-top:6px;}
.hq-communes li{break-inside:avoid;border-bottom:1px solid var(--filet);}
.hq-communes a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 2px;color:var(--encre);font-size:.92rem;font-weight:500;transition:color .2s,padding-left .2s;}
.hq-communes a small{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);}
.hq-communes a:hover{color:var(--accent-fonce);padding-left:7px;}
.hq-carte{margin-top:0;}
.hq-carte iframe{width:100%;height:420px;border:0;filter:grayscale(10%);}
/* FAQ */
.hq-faq{max-width:830px;margin-top:44px;}
.hq-faq details{border-top:1px solid var(--filet);}
.hq-faq details:last-child{border-bottom:1px solid var(--filet);}
.hq-faq summary{cursor:pointer;list-style:none;padding:23px 56px 23px 0;position:relative;font-weight:700;color:var(--encre);font-size:1.01rem;}
.hq-faq summary::-webkit-details-marker{display:none;}
.hq-faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:200;color:var(--accent);transition:transform .25s;}
.hq-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.hq-faq details p{padding:0 0 24px;color:var(--gris);font-size:.95rem;max-width:70ch;}
/* bande finale */
.hq-final{background:linear-gradient(to right,rgba(9,14,19,.85) 0%,rgba(9,14,19,.55) 100%),url("/images/realisation-cuvelage-cave-centre-quimper.webp") center/cover no-repeat;color:#fff;padding:120px 0;}
.hq-final h2{font-size:clamp(1.95rem,4.4vw,3.4rem);font-weight:200;line-height:1.08;max-width:20ch;margin-top:18px;color:#fff;}
.hq-final h2 strong{font-weight:800;}
.hq-final p{margin:22px 0 38px;color:rgba(255,255,255,.84);max-width:52ch;font-weight:300;}
.hq-final-actions{display:flex;align-items:center;gap:36px;flex-wrap:wrap;}
.hq-final .hq-appel{color:#fff;font-size:1.15rem;}
/* contact */
.hq-contact-grille{display:grid;grid-template-columns:1fr 1.6fr;gap:84px;align-items:start;}
.hq-coord{list-style:none;margin-top:30px;}
.hq-coord li{border-top:1px solid var(--filet);padding:17px 0;display:grid;gap:3px;}
.hq-coord li:last-child{border-bottom:1px solid var(--filet);}
.hq-coord span{font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);}
.hq-coord b,.hq-coord a{font-size:1rem;font-weight:700;color:var(--encre);}
.hq-coord a:hover{color:var(--accent-fonce);}
.hq-form--contact .hq-duo{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
.hq-form--contact button[type=submit]{width:auto;padding-left:52px;padding-right:52px;}
/* footer */
.hq-socle{background:var(--nuit);color:#8b99a3;padding:70px 0 28px;font-size:.88rem;}
.hq-socle-grille{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid var(--filet-sombre);}
.hq-socle .hq-logo{color:#f4f8fa;margin-bottom:16px;}
.hq-socle-brand p{max-width:44ch;line-height:1.65;margin-bottom:16px;}
.hq-socle-nap{display:flex;flex-direction:column;gap:5px;font-size:.85rem;}
.hq-socle-nap a{color:#c3ccd3;}
.hq-socle-nap a:hover{color:var(--accent);}
.hq-socle-col h3{color:#f4f8fa;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;}
.hq-socle-col ul{list-style:none;}
.hq-socle-col li{margin-bottom:10px;}
.hq-socle-col a{color:#8b99a3;font-size:.9rem;}
.hq-socle-col a:hover{color:var(--accent);}
.hq-socle-bas{padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.76rem;}
.hq-socle-bas a{color:#8b99a3;}
.hq-socle-bas a:hover{color:var(--accent);}
/* callbar mobile */
.hq-callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:360;background:rgba(253,254,254,.98);backdrop-filter:blur(8px);border-top:1px solid var(--filet);padding:10px 14px;gap:10px;}
.hq-callbar a,.hq-callbar button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 10px;font:700 .72rem/1 "Sora",sans-serif;letter-spacing:.16em;text-transform:uppercase;border:none;cursor:pointer;}
.hq-callbar-tel{background:var(--encre);color:#fff;}
.hq-callbar-tel svg{width:1em;height:1em;color:var(--accent);}
.hq-callbar-devis{background:var(--accent);color:#fff;}
/* popup exit */
.hq-voile-pop{position:fixed;inset:0;background:rgba(10,16,22,.68);backdrop-filter:blur(3px);z-index:500;display:flex;align-items:center;justify-content:center;padding:22px;}
.hq-voile-pop[hidden]{display:none;}
.hq-popup{background:var(--blanc);max-width:468px;width:100%;padding:48px 44px 40px;position:relative;border-top:3px solid var(--accent);box-shadow:0 40px 90px rgba(0,0,0,.45);}
.hq-popup-fermer{position:absolute;top:16px;right:16px;width:36px;height:36px;background:transparent;border:1px solid var(--filet);font-size:1.15rem;color:var(--gris);cursor:pointer;line-height:1;}
.hq-popup-fermer:hover{border-color:var(--encre);color:var(--encre);}
.hq-popup h3{font-size:1.7rem;font-weight:200;letter-spacing:-.02em;line-height:1.15;margin:12px 0 11px;}
.hq-popup h3 strong{font-weight:800;}
.hq-popup p{font-size:.92rem;color:var(--gris);margin-bottom:24px;}
.hq-popup .hq-btn{width:100%;}
.hq-popup-non{display:block;width:100%;margin-top:14px;background:none;border:none;color:var(--gris);font:500 .8rem "Sora",sans-serif;cursor:pointer;text-decoration:underline;}
/* pages villes : hero clair centré */
.hq-hero-ville{background:linear-gradient(180deg,var(--creme),var(--blanc));padding:150px 0 84px;text-align:center;}
.hq-hero-ville h1{font-size:clamp(2rem,4.6vw,3.3rem);font-weight:200;max-width:20ch;margin:20px auto 22px;}
.hq-hero-ville h1 strong{font-weight:800;}
.hq-hero-ville .hq-cap{justify-content:center;}
.hq-hero-ville .hq-intro-ville{max-width:60ch;margin:0 auto 32px;color:var(--brun);font-size:1.05rem;font-weight:300;}
.hq-hero-actions--centre{justify-content:center;}
.hq-badges-ville{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:34px;font-size:.69rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);}
.hq-badges-ville b{color:var(--encre);}
/* pages prestations : hero sombre */
.hq-hero-presta{background:linear-gradient(120deg,var(--nuit),var(--encre));color:#fff;padding:150px 0 80px;}
.hq-hero-presta-grille{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center;}
.hq-hero-presta h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:200;color:#fff;max-width:18ch;margin:20px 0 22px;}
.hq-hero-presta h1 strong{font-weight:800;}
.hq-hero-presta .hq-intro-presta{color:rgba(255,255,255,.85);font-size:1.05rem;font-weight:300;max-width:52ch;margin-bottom:32px;}
.hq-hero-presta-img{border:1px solid rgba(255,255,255,.15);}
.hq-hero-presta-img img{width:100%;height:340px;object-fit:cover;}
/* fil ariane */
.hq-ariane{padding:104px 0 0;font-size:.74rem;letter-spacing:.06em;color:var(--gris);}
.hq-ariane a{color:var(--gris);}
.hq-ariane a:hover{color:var(--accent-fonce);}
/* prix table (presta/blog) */
.hq-ptable{width:100%;border-collapse:collapse;margin-top:26px;}
.hq-ptable th,.hq-ptable td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--filet);font-size:.94rem;}
.hq-ptable th{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);}
.hq-ptable td:last-child,.hq-ptable th:last-child{text-align:right;font-weight:700;color:var(--encre);white-space:nowrap;}
.hq-ptable tr:first-child td{padding-top:18px;}
/* case study (project-featured) */
.hq-projet{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--filet);margin-top:44px;}
.hq-projet-img img{width:100%;height:100%;min-height:340px;object-fit:cover;}
.hq-projet-corps{padding:44px 42px;}
.hq-projet-lieu{font-size:.67rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-fonce);}
.hq-projet-corps h3{font-size:1.5rem;font-weight:800;margin:11px 0 16px;}
.hq-projet-metas{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:20px;}
.hq-projet-metas div{display:flex;flex-direction:column;}
.hq-projet-metas b{color:var(--encre);font-size:1.05rem;font-weight:800;}
.hq-projet-metas span{font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);}
.hq-projet-corps p{font-size:.93rem;color:var(--brun);margin-bottom:.9rem;}
/* nos conseils */
.hq-conseils-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px;}
.hq-conseil figure{overflow:hidden;}
.hq-conseil img{width:100%;height:220px;object-fit:cover;transition:transform .5s;}
.hq-conseil:hover img{transform:scale(1.04);}
.hq-conseil h2{font-size:1.2rem;font-weight:800;margin:20px 0 9px;line-height:1.25;}
.hq-conseil h2 a{color:var(--encre);}
.hq-conseil h2 a:hover{color:var(--accent-fonce);}
.hq-conseil p{font-size:.92rem;color:var(--gris);}
/* article */
.hq-article-hero{padding:138px 0 0;}
.hq-article-meta{font-size:.72rem;letter-spacing:.06em;color:var(--gris);margin-top:16px;}
.hq-article-hero h1{font-size:clamp(1.9rem,4vw,3rem);font-weight:200;max-width:24ch;margin:16px 0 24px;}
.hq-article-hero h1 strong{font-weight:800;}
.hq-article-img{width:100%;height:clamp(260px,40vw,480px);object-fit:cover;margin-bottom:56px;}
.hq-article-body{max-width:820px;margin:0 auto;padding:0 30px;}
.hq-article-body h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;margin:44px 0 16px;}
.hq-article-body h3{font-size:1.2rem;font-weight:700;margin:30px 0 10px;}
.hq-article-body p{margin-bottom:1.1rem;color:var(--brun);}
.hq-article-body p strong{color:var(--encre);}
.hq-article-body ul,.hq-article-body ol{margin:0 0 1.2rem 1.2rem;}
.hq-article-body li{margin-bottom:.5rem;color:var(--brun);}
.hq-inline-cta{background:var(--creme);border-left:3px solid var(--accent);padding:26px 28px;margin:32px 0;}
.hq-inline-cta p{margin-bottom:14px;color:var(--encre);font-weight:500;}
.hq-inline-cta .hq-btn{padding:14px 30px;}
.hq-full{max-width:1060px;margin:40px auto;padding:0 30px;}
.hq-auteur{max-width:820px;margin:48px auto 0;padding:30px;border:1px solid var(--filet);display:flex;gap:22px;align-items:center;}
.hq-auteur img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.hq-auteur strong{display:block;color:var(--encre);font-size:1.02rem;}
.hq-auteur .hq-auteur-role{color:var(--accent-fonce);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:3px 0 8px;}
.hq-auteur p{font-size:.9rem;color:var(--gris);}
/* comparatif */
.hq-compare{width:100%;border-collapse:collapse;margin-top:26px;font-size:.9rem;}
.hq-compare th,.hq-compare td{border:1px solid var(--filet);padding:13px 14px;text-align:left;vertical-align:top;}
.hq-compare th{background:var(--creme);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--encre);}
.hq-compare tr:first-child td{background:var(--brume);}
.hq-artisan{border:1px solid var(--filet);padding:26px 28px;margin-top:24px;}
.hq-artisan h3{font-size:1.25rem;font-weight:800;margin-bottom:6px;}
.hq-artisan-badge{display:inline-block;font-size:.7rem;font-weight:700;color:var(--accent-fonce);border:1px solid var(--accent);padding:4px 10px;margin-bottom:12px;}
.hq-artisan ul{list-style:none;margin:12px 0;}
.hq-artisan li{padding:6px 0;border-bottom:1px solid var(--filet);font-size:.9rem;}
.hq-artisan li span{display:inline-block;min-width:130px;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);}
.hq-artisan .hq-distingue{margin-top:12px;padding:12px 16px;background:var(--creme);border-left:3px solid var(--accent);font-size:.9rem;color:var(--encre);}
/* pages légales / plan */
.hq-texte{max-width:820px;margin:0 auto;padding:0 30px;}
.hq-texte h2{font-size:1.4rem;font-weight:700;margin:34px 0 12px;}
.hq-texte p,.hq-texte li{color:var(--brun);margin-bottom:.8rem;}
.hq-texte ul{margin-left:1.2rem;}
.hq-plan-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:36px;margin-top:20px;}
.hq-plan-col h2{font-size:.95rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-fonce);margin-bottom:14px;}
.hq-plan-col ul{list-style:none;}
.hq-plan-col li{margin-bottom:9px;}
.hq-plan-col a{color:var(--brun);font-size:.94rem;}
.hq-plan-col a:hover{color:var(--accent-fonce);}
/* merci */
.hq-merci{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:150px 30px 80px;}
.hq-merci h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:200;margin-bottom:18px;}
.hq-merci h1 strong{font-weight:800;}
.hq-merci p{color:var(--gris);max-width:52ch;margin:0 auto 28px;}
/* centrage home + villes (règle utilisateur) */
body.hq-centre .hq-tete-sec{margin-left:auto;margin-right:auto;text-align:center;}
body.hq-centre .hq-avis-tete{justify-content:center;text-align:center;}
body.hq-centre .hq-cta-centre{text-align:center;}
/* responsive */
@media(max-width:1120px){
 .hq-intro-grille{gap:48px;}.hq-marge-chiffres{padding-right:32px;}.hq-chiffre:first-child{margin-left:0;}
 .hq-tarif-grille,.hq-zone-grille,.hq-contact-grille,.hq-why,.hq-sim-grille,.hq-hero-presta-grille,.hq-projet{gap:48px;}
}
@media(max-width:960px){
 .hq-volee{padding:76px 0;}
 .hq-burger{display:flex;}.hq-menu{display:none;}.hq-cta-tete{margin-left:auto;}
 .hq-intro-grille{grid-template-columns:1fr;gap:48px;}
 .hq-marge-chiffres{border-right:none;padding-right:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;border-top:1px solid var(--filet);}
 .hq-chiffre+.hq-chiffre{border-top:none;}.hq-chiffre,.hq-chiffre:first-child{border-bottom:1px solid var(--filet);padding:22px 0;}
 .hq-gestes{grid-template-columns:1fr;grid-template-rows:none;}.hq-geste--majeur{grid-row:auto;}.hq-geste--majeur .hq-geste-visuel img{min-height:300px;}
 .hq-why,.hq-tarif-grille,.hq-zone-grille,.hq-contact-grille,.hq-sim-grille,.hq-hero-presta-grille,.hq-projet{grid-template-columns:1fr;}
 .hq-tarif-intro{position:static;}
 .hq-oeuvre{display:block;margin-bottom:66px;}.hq-oeuvre-visuel img{height:clamp(240px,52vw,420px);}
 .hq-oeuvre-fiche,.hq-oeuvre--inverse .hq-oeuvre-fiche{padding:28px 0 0;}
 .hq-oeuvre-index{position:static;transform:none;font-size:3rem;display:block;margin-bottom:4px;}
 .hq-visages{grid-template-columns:1fr 1fr;gap:30px;}.hq-visage:nth-child(2),.hq-visage:nth-child(4){margin-top:0;}
 .hq-sim-verdict{border-left:none;border-top:1px solid var(--filet-sombre);padding:38px 0 0;}
 .hq-temps-grille,.hq-galerie,.hq-conseils-grille{grid-template-columns:1fr;}
 .hq-communes{columns:2;}
 .hq-projet-img img{min-height:260px;}
 .hq-languette{display:none;}.hq-callbar{display:flex;}body{padding-bottom:74px;}
}
@media(max-width:620px){
 .hq-cadre{padding:0 20px;}.hq-tete-rang,.hq-tete.pleine .hq-tete-rang{padding-left:20px;padding-right:20px;}
 .hq-cta-tete{display:none;}
 .hq-panorama{padding-top:126px;}.hq-panorama-corps{padding:0 20px 56px;}.hq-panorama-pied-rang{padding:16px 20px;gap:16px 24px;}
 .hq-visages{grid-template-columns:1fr;}
 .hq-communes{columns:1;}
 .hq-form--contact .hq-duo{grid-template-columns:1fr;}.hq-form--contact button[type=submit]{width:100%;}
 .hq-volet{padding:34px 24px 40px;}.hq-popup{padding:40px 26px 32px;}
 .hq-final-actions{align-items:stretch;flex-direction:column;}
 .hq-hero-presta-img img{height:240px;}
}