/* Traitement Humidité Lorient — feuille de style (archétype Corporate, préfixe hlo-) */
@font-face{
  font-family:'Archivo';
  src:url('/fonts/archivo-variable.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
:root{
  --marine:#122a47;
  --marine-2:#1b3a5e;
  --bleu:#245c9c;
  --ciel:#e8eef5;
  --ciel-2:#f3f6fa;
  --fond:#f6f8fb;
  --blanc:#ffffff;
  --texte:#1e2833;
  --texte-2:#586576;
  --bord:#d2dae4;
  --bord-2:#b7c3d1;
  --accent:#c65a1e;
  --accent-2:#a4471310;
  --accent-fonce:#a44713;
  --ok:#1f7a4d;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Archivo',-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:16px;line-height:1.65;color:var(--texte);background:var(--blanc);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--bleu);text-decoration:none}
h1,h2,h3,h4{color:var(--marine);font-weight:700;line-height:1.2;letter-spacing:-.01em}

/* Conteneur */
.hlo-wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* Sections + fonds alternés */
.hlo-sec{padding:68px 0}
.hlo-sec--ciel{background:var(--ciel-2)}
.hlo-sec--fond{background:var(--fond)}
.hlo-sec--marine{background:var(--marine);color:#dbe4ef}
.hlo-sec--marine h2,.hlo-sec--marine h3{color:#fff}
.hlo-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--bleu);margin-bottom:10px}
.hlo-sec--marine .hlo-kicker{color:#7fb0e6}
.hlo-h2{font-size:28px;margin-bottom:14px}
.hlo-num{color:var(--accent);font-weight:700;margin-right:8px}
.hlo-intro{color:var(--texte-2);max-width:720px;margin-bottom:34px;font-size:16.5px}
.hlo-sec--marine .hlo-intro{color:#b9c7d9}

/* Corps centré (homepage + villes) */
.centered .hlo-h2,.centered .hlo-kicker,.centered .hlo-intro,
.centered .hlo-seccta,.centered .hlo-notecentre{text-align:center}
.centered .hlo-intro{margin-left:auto;margin-right:auto}

/* Boutons */
.hlo-btn{display:inline-block;padding:14px 30px;font-size:14.5px;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;border-radius:2px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;transition:background .15s}
.hlo-btn:hover{background:var(--accent-fonce);border-color:var(--accent-fonce)}
.hlo-btn--marine{background:var(--marine);border-color:var(--marine);color:#fff}
.hlo-btn--marine:hover{background:var(--marine-2)}
.hlo-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.hlo-btn--ghost:hover{background:rgba(255,255,255,.12)}
.hlo-btn--line{background:transparent;color:var(--bleu);border-color:var(--bleu)}
.hlo-btn--line:hover{background:var(--bleu);color:#fff}
.hlo-seccta{margin-top:34px}

/* Topbar */
.hlo-top{background:var(--marine);color:#c6d3e2;font-size:13px}
.hlo-top__in{max-width:1180px;margin:0 auto;padding:8px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.hlo-top__certs{display:flex;gap:18px;flex-wrap:wrap}
.hlo-top__certs span{display:inline-flex;align-items:center;gap:6px}
.hlo-top__certs svg{width:15px;height:15px;stroke:#7fb0e6;fill:none;stroke-width:1.6}
.hlo-top__co{display:flex;gap:18px;align-items:center}
.hlo-top__co a{color:#e5ecf4;font-weight:600}

/* Header */
.hlo-head{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--bord)}
.hlo-head__in{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:24px}
.hlo-brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.hlo-brand__mark{width:38px;height:38px;flex-shrink:0}
.hlo-brand__txt{display:flex;flex-direction:column;line-height:1.05}
.hlo-brand__name{font-size:16px;font-weight:800;color:var(--marine);letter-spacing:-.01em}
.hlo-brand__sub{font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--texte-2)}
.hlo-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.hlo-nav a{color:var(--texte);font-size:14.5px;font-weight:600;padding:9px 13px;border-radius:2px}
.hlo-nav a:hover{color:var(--bleu)}
.hlo-drop{position:relative}
.hlo-drop__btn{display:flex;align-items:center;gap:6px;cursor:pointer}
.hlo-drop__btn svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.2}
.hlo-drop__menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--bord);
  min-width:270px;padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.16s;box-shadow:0 12px 34px rgba(18,42,71,.12)}
.hlo-drop:hover .hlo-drop__menu{opacity:1;visibility:visible;transform:translateY(0)}
.hlo-drop__menu a{display:block;padding:10px 13px;font-size:14px}
.hlo-drop__menu a:hover{background:var(--ciel-2)}
.hlo-head__phone{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--marine);font-size:15.5px;white-space:nowrap}
.hlo-head__phone svg{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:1.7}
.hlo-head__cta{white-space:nowrap;padding:11px 20px}
.hlo-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hlo-burger span{width:24px;height:2px;background:var(--marine);display:block}

/* Hero corporate */
.hlo-hero{background:linear-gradient(180deg,var(--ciel) 0%,#fff 100%);border-bottom:1px solid var(--bord)}
.hlo-hero__in{max-width:1180px;margin:0 auto;padding:56px 28px 60px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}
.hlo-hero__over{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bleu);margin-bottom:14px}
.hlo-hero h1{font-size:39px;line-height:1.12;margin-bottom:18px}
.hlo-hero__lead{font-size:17.5px;color:var(--texte-2);margin-bottom:24px;max-width:560px}
.hlo-hero__icons{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:26px 0 30px;max-width:520px}
.hlo-hero__ico{display:flex;gap:11px;align-items:flex-start}
.hlo-hero__ico svg{width:26px;height:26px;stroke:var(--bleu);fill:none;stroke-width:1.5;flex-shrink:0;margin-top:2px}
.hlo-hero__ico b{display:block;font-size:14.5px;color:var(--marine)}
.hlo-hero__ico span{font-size:13px;color:var(--texte-2)}
.hlo-hero__actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hlo-hero__tel{font-weight:800;color:var(--marine);font-size:16px;display:inline-flex;align-items:center;gap:8px}
.hlo-hero__tel svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:1.7}
.hlo-hero__media{margin-top:26px;border:1px solid var(--bord)}
.hlo-hero__media img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* Formulaire (carte bordée, sans ombre) */
.hlo-form{background:#fff;border:1px solid var(--bord-2);padding:26px 24px}
.hlo-form--hero{border-top:3px solid var(--accent)}
.hlo-form__t{font-size:19px;color:var(--marine);margin-bottom:4px}
.hlo-form__st{font-size:13.5px;color:var(--texte-2);margin-bottom:18px}
.hlo-field{margin-bottom:13px}
.hlo-field label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--texte-2);margin-bottom:5px}
.hlo-field input,.hlo-field select,.hlo-field textarea{width:100%;padding:11px 12px;font:inherit;font-size:14.5px;
  border:1px solid var(--bord-2);border-radius:2px;background:#fff;color:var(--texte)}
.hlo-field input:focus,.hlo-field select:focus,.hlo-field textarea:focus{outline:none;border-color:var(--bleu);box-shadow:0 0 0 2px rgba(36,92,156,.13)}
.hlo-field textarea{resize:vertical;min-height:74px}
.hlo-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hlo-form .hlo-btn{width:100%;margin-top:6px}
.hlo-form__note{font-size:11.5px;color:var(--texte-2);margin-top:11px;line-height:1.5}
.hlo-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Bande réassurance */
.hlo-trust{background:var(--marine-2);color:#dce5f0}
.hlo-trust__in{max-width:1180px;margin:0 auto;padding:26px 28px;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;text-align:center}
.hlo-trust__n{font-size:27px;font-weight:800;color:#fff;letter-spacing:-.01em}
.hlo-trust__l{font-size:12.5px;color:#a9bacf;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}

/* Prestations */
.hlo-presta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}
.hlo-presta__card{border:1px solid var(--bord);background:#fff;display:flex;flex-direction:column}
.hlo-presta__media{position:relative}
.hlo-presta__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hlo-presta__price{position:absolute;bottom:0;right:0;background:var(--marine);color:#fff;font-size:13px;font-weight:700;padding:6px 12px}
.hlo-presta__body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.hlo-presta__body>*{min-width:0}
.hlo-presta__t{font-size:18.5px;margin-bottom:9px}
.hlo-presta__t a{color:var(--marine)}
.hlo-presta__t a:hover{color:var(--bleu)}
.hlo-presta__p{font-size:14.5px;color:var(--texte-2);margin-bottom:14px}
.hlo-presta__incl{list-style:none;margin-top:auto}
.hlo-presta__incl li{position:relative;padding-left:24px;font-size:13.5px;color:var(--texte);margin-bottom:7px}
.hlo-presta__incl li::before{content:'';position:absolute;left:0;top:6px;width:14px;height:9px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}

/* Pourquoi nous choisir */
.hlo-why{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;text-align:left}
.hlo-why__list{display:flex;flex-direction:column;gap:22px}
.hlo-why__item{display:flex;gap:15px;align-items:flex-start}
.hlo-why__item svg{width:30px;height:30px;stroke:var(--bleu);fill:none;stroke-width:1.5;flex-shrink:0}
.hlo-why__item b{display:block;font-size:16.5px;color:var(--marine);margin-bottom:3px}
.hlo-why__item span{font-size:14.5px;color:var(--texte-2)}
.hlo-why__stats{background:var(--marine);color:#fff;padding:34px 30px;text-align:center}
.hlo-why__stats .hlo-why__note{font-size:14px;color:#b9c7d9;text-transform:uppercase;letter-spacing:.1em}
.hlo-why__big{font-size:44px;font-weight:800;margin:6px 0}
.hlo-why__stars{color:#f0a93a;font-size:18px;letter-spacing:2px}
.hlo-why__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 26px;border-top:1px solid rgba(255,255,255,.16);padding-top:22px}
.hlo-why__grid b{font-size:26px;color:#fff;display:block}
.hlo-why__grid span{font-size:12.5px;color:#a9bacf}
.hlo-why__stats .hlo-btn{width:100%}

/* Avis */
.hlo-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}
.hlo-review{border:1px solid var(--bord);background:#fff;padding:22px 22px}
.hlo-review.hlo-review--more{display:none}
.hlo-reviews.hlo-exp .hlo-review--more{display:block}
.hlo-review__stars{color:#f0a93a;font-size:15px;letter-spacing:1px;margin-bottom:10px}
.hlo-review__txt{font-size:14.5px;color:var(--texte);margin-bottom:14px}
.hlo-review__meta{font-size:13px;color:var(--texte-2);border-top:1px solid var(--bord);padding-top:11px}
.hlo-review__meta b{color:var(--marine)}
.hlo-review__src{color:#586576}
.hlo-reviews__agg{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--bord);padding:12px 20px;margin-bottom:30px}
.hlo-reviews__agg b{font-size:24px;color:var(--marine)}
.hlo-morebtn{margin-top:28px}

/* Bloc SEO / à propos */
.hlo-about{display:grid;grid-template-columns:1fr;gap:0}
.hlo-about__body{max-width:860px}
.centered .hlo-about__body{margin:0 auto;text-align:left}
.hlo-about__body h2{margin-bottom:16px}
.hlo-about__body h3{font-size:18px;margin:24px 0 8px}
.hlo-about__body p{margin-bottom:14px;color:var(--texte)}

/* Prix */
.hlo-price{border:1px solid var(--bord);background:#fff;overflow:hidden;text-align:left}
.hlo-price table{width:100%;border-collapse:collapse;font-size:14.5px}
.hlo-price th,.hlo-price td{padding:14px 18px;border-bottom:1px solid var(--bord);text-align:left}
.hlo-price thead th{background:var(--marine);color:#fff;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;font-weight:700}
.hlo-price tbody tr:last-child td{border-bottom:none}
.hlo-price td:last-child{font-weight:700;color:var(--marine);white-space:nowrap}
.hlo-price__note{font-size:13px;color:var(--texte-2);margin-top:14px}
.centered .hlo-price__note{text-align:center}

/* Simulateur */
.hlo-sim{display:grid;grid-template-columns:1fr .8fr;gap:0;border:1px solid var(--bord);background:#fff;text-align:left}
.hlo-sim__form{padding:30px 30px}
.hlo-sim__form .hlo-field{margin-bottom:16px}
.hlo-sim__out{background:var(--marine);color:#fff;padding:30px 30px;display:flex;flex-direction:column;justify-content:center}
.hlo-sim__out .hlo-sim__lab{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:#a9bacf}
.hlo-sim__val{font-size:34px;font-weight:800;margin:8px 0 4px}
.hlo-sim__dis{font-size:12.5px;color:#b9c7d9;margin-top:12px}
.hlo-sim__out .hlo-btn{margin-top:20px}

/* Process / steps */
.hlo-steps{counter-reset:st;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:left}
.hlo-step{border-top:2px solid var(--marine);padding-top:18px;position:relative}
.hlo-step__n{font-size:13px;font-weight:800;color:var(--accent);letter-spacing:.05em}
.hlo-step h3{font-size:17px;margin:6px 0 8px}
.hlo-step p{font-size:14px;color:var(--texte-2)}

/* Réalisations */
.hlo-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}
.hlo-project{border:1px solid var(--bord);background:#fff}
.hlo-project img{width:100%;aspect-ratio:16/9;object-fit:cover}
.hlo-project__body{padding:18px 20px}
.hlo-project__lieu{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bleu);margin-bottom:6px}
.hlo-project__t{font-size:16.5px;margin-bottom:8px}
.hlo-project__d{font-size:14px;color:var(--texte-2)}

/* Réalisation détaillée (étude de cas) */
.hlo-case{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--bord);background:#fff;text-align:left}
.hlo-case__media img{width:100%;height:100%;object-fit:cover;min-height:280px}
.hlo-case__body{padding:32px 34px}
.hlo-case__lieu{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bleu);margin-bottom:8px}
.hlo-case__t{font-size:22px;margin-bottom:16px}
.hlo-case__tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.hlo-case__tags span{background:var(--ciel);color:var(--marine-2);font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:2px}
.hlo-case__body p{font-size:14.5px;color:var(--texte);margin-bottom:12px}

/* Zone d'intervention */
.hlo-zone{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;text-align:left}
.hlo-zone__txt p{color:var(--texte-2);margin-bottom:18px}
.hlo-zone__cities{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}
.hlo-zone__cities a{background:#fff;border:1px solid var(--bord);color:var(--marine);font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:2px}
.hlo-zone__cities a:hover{border-color:var(--bleu);color:var(--bleu)}
.hlo-zone__map{border:1px solid var(--bord)}
.hlo-zone__map iframe{display:block;width:100%;height:390px;border:0}
.hlo-zone__link{display:inline-block;margin-top:14px;font-weight:600;color:var(--bleu);border-bottom:1px solid var(--bleu);padding-bottom:2px}

/* Équipe */
.hlo-team{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.hlo-team__card{border:1px solid var(--bord);background:#fff;padding:26px 20px}
.hlo-team__ph{width:118px;height:118px;border-radius:50%;object-fit:cover;margin:0 auto 15px;border:3px solid var(--ciel)}
.hlo-team__n{font-size:17px;color:var(--marine);margin-bottom:2px}
.hlo-team__r{font-size:13px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.hlo-team__b{font-size:13.5px;color:var(--texte-2)}

/* FAQ */
.hlo-faq{max-width:840px;text-align:left}
.centered .hlo-faq{margin:0 auto}
.hlo-faq__item{border:1px solid var(--bord);background:#fff;margin-bottom:12px}
.hlo-faq__q{width:100%;text-align:left;background:none;border:none;padding:18px 22px;font:inherit;font-size:16px;font-weight:700;
  color:var(--marine);cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center}
.hlo-faq__q::after{content:'+';font-size:22px;color:var(--accent);flex-shrink:0}
.hlo-faq__item.open .hlo-faq__q::after{content:'–'}
.hlo-faq__a{max-height:0;overflow:hidden;transition:max-height .25s ease}
.hlo-faq__a p{padding:0 22px 20px;font-size:14.5px;color:var(--texte-2)}
.hlo-faq__item.open .hlo-faq__a{max-height:400px}

/* Bande CTA */
.hlo-ctaband{background:var(--marine);color:#fff;text-align:center}
.hlo-ctaband h2{color:#fff;font-size:26px;margin-bottom:12px}
.hlo-ctaband p{color:#b9c7d9;max-width:620px;margin:0 auto 26px}
.hlo-ctaband__act{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
.hlo-ctaband__tel{color:#fff;font-weight:800;font-size:17px;display:inline-flex;gap:8px;align-items:center}

/* Contact */
.hlo-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start;text-align:left}
.hlo-contact__info h3{font-size:18px;margin-bottom:16px}
.hlo-contact__line{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}
.hlo-contact__line svg{width:22px;height:22px;stroke:var(--bleu);fill:none;stroke-width:1.6;flex-shrink:0;margin-top:2px}
.hlo-contact__line b{display:block;color:var(--marine);font-size:14px}
.hlo-contact__line a,.hlo-contact__line span{color:var(--texte-2);font-size:14.5px}

/* Footer */
.hlo-foot{background:var(--marine);color:#aebccd;font-size:14px}
.hlo-foot__in{max-width:1180px;margin:0 auto;padding:52px 28px 28px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.hlo-foot__brand{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.hlo-foot__brand .hlo-brand__name{color:#fff}
.hlo-foot__brand .hlo-brand__sub{color:#7f92aa}
.hlo-foot p{margin-bottom:12px;max-width:320px}
.hlo-foot__co a{color:#dbe4ef;display:inline-flex;gap:8px;align-items:center;margin-bottom:8px}
.hlo-foot__co svg{width:15px;height:15px;stroke:#7fb0e6;fill:none;stroke-width:1.6}
.hlo-foot h4{color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.hlo-foot ul{list-style:none}
.hlo-foot li{margin-bottom:9px}
.hlo-foot a:hover{color:#fff}
.hlo-foot__bar{border-top:1px solid rgba(255,255,255,.13);margin-top:12px}
.hlo-foot__bar-in{max-width:1180px;margin:0 auto;padding:18px 28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#8497ac}
.hlo-foot__bar a{color:#aebccd}

/* Breadcrumb (prestations/blog) */
.hlo-crumb{background:var(--ciel-2);border-bottom:1px solid var(--bord);font-size:13px}
.hlo-crumb ol{max-width:1180px;margin:0 auto;padding:12px 28px;list-style:none;display:flex;gap:8px;flex-wrap:wrap}
.hlo-crumb li{color:var(--texte-2)}
.hlo-crumb li+li::before{content:'/';margin-right:8px;color:var(--bord-2)}

/* Aides (cartes) */
.hlo-aides{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}
.hlo-aide{border:1px solid var(--bord);background:#fff;padding:22px 22px;border-top:3px solid var(--bleu)}
.hlo-aide__tag{display:inline-block;background:var(--ciel);color:var(--bleu);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;margin-bottom:12px}
.hlo-aide h3{font-size:16.5px;margin-bottom:8px}
.hlo-aide p{font-size:14px;color:var(--texte-2)}

/* Hero secondaire (villes) */
.hlo-hero2{background:linear-gradient(180deg,var(--ciel) 0%,#fff 100%);border-bottom:1px solid var(--bord);text-align:center}
.hlo-hero2__in{max-width:900px;margin:0 auto;padding:60px 28px 56px}
.hlo-hero2__over{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bleu);margin-bottom:14px}
.hlo-hero2 h1{font-size:37px;line-height:1.14;margin-bottom:18px}
.hlo-hero2__lead{font-size:17.5px;color:var(--texte-2);max-width:640px;margin:0 auto 26px}
.hlo-hero2__act{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}
.hlo-hero2__badges{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:30px;font-size:13.5px;color:var(--texte-2)}
.hlo-hero2__badges span{display:inline-flex;gap:7px;align-items:center}
.hlo-hero2__badges svg{width:17px;height:17px;stroke:var(--ok);fill:none;stroke-width:1.8}

/* Hero prestation (sombre) */
.hlo-hero3{background:var(--marine);color:#dbe4ef;border-bottom:3px solid var(--accent)}
.hlo-hero3__in{max-width:1180px;margin:0 auto;padding:54px 28px;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.hlo-hero3__over{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7fb0e6;margin-bottom:13px}
.hlo-hero3 h1{color:#fff;font-size:36px;line-height:1.14;margin-bottom:16px}
.hlo-hero3__lead{font-size:17px;color:#b9c7d9;margin-bottom:24px}
.hlo-hero3__act{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hlo-hero3__tel{color:#fff;font-weight:800;display:inline-flex;gap:8px;align-items:center}
.hlo-hero3__media{border:1px solid rgba(255,255,255,.18);padding:8px;background:rgba(255,255,255,.05)}
.hlo-hero3__media img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Article / blog */
.hlo-arthead{background:var(--ciel-2);border-bottom:1px solid var(--bord)}
.hlo-arthead__in{max-width:840px;margin:0 auto;padding:48px 28px 40px}
.hlo-arthead h1{font-size:32px;line-height:1.16;margin-bottom:16px}
.hlo-artmeta{font-size:13.5px;color:var(--texte-2);display:flex;gap:16px;flex-wrap:wrap}
.hlo-artimg{max-width:1180px;margin:34px auto 0;padding:0 28px}
.hlo-artimg img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--bord)}
.hlo-article{max-width:820px;margin:0 auto;padding:44px 28px}
.hlo-article h2{font-size:24px;margin:36px 0 14px}
.hlo-article h3{font-size:19px;margin:26px 0 10px}
.hlo-article p{margin-bottom:16px;font-size:16.5px}
.hlo-article strong{color:var(--marine);font-weight:700}
.hlo-article ul,.hlo-article ol{margin:0 0 18px 22px}
.hlo-article li{margin-bottom:9px;font-size:16.5px}
.hlo-inline-cta{background:var(--ciel);border:1px solid var(--bord);border-left:3px solid var(--accent);padding:22px 26px;margin:30px 0;text-align:center}
.hlo-inline-cta p{margin-bottom:14px;font-weight:600;color:var(--marine)}
.hlo-toc{background:#fff;border:1px solid var(--bord);padding:20px 24px;margin-bottom:30px}
.hlo-toc b{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--texte-2);margin-bottom:10px}
.hlo-toc ol{margin:0 0 0 18px}
.hlo-toc a{color:var(--bleu)}
.hlo-author{display:flex;gap:18px;align-items:flex-start;border:1px solid var(--bord);background:#fff;padding:22px 24px;margin:36px 0}
.hlo-author img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0}
.hlo-author b{color:var(--marine);font-size:16px}
.hlo-author .hlo-author__r{color:var(--accent);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:2px 0 8px}
.hlo-author p{font-size:14px;color:var(--texte-2);margin:0}
.hlo-artcompare{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--bord);margin:22px 0}
.hlo-artcompare th,.hlo-artcompare td{padding:12px 14px;border:1px solid var(--bord);text-align:left;vertical-align:top}
.hlo-artcompare thead th{background:var(--marine);color:#fff;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
.hlo-artcompare tbody tr:first-child td{background:var(--ciel-2)}
.hlo-artisan{border:1px solid var(--bord);background:#fff;padding:22px 24px;margin:18px 0;border-top:3px solid var(--bleu)}
.hlo-artisan__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-size:14px;margin:14px 0}
.hlo-artisan__grid div{color:var(--texte-2)}
.hlo-artisan__grid b{color:var(--marine)}
.hlo-artisan__note{background:var(--ciel);border-left:3px solid var(--accent);padding:12px 16px;font-size:14px;margin-top:12px}
.hlo-artisan__note b{color:var(--marine)}

/* Blog index (Nos conseils) */
.hlo-blog{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.hlo-blog__card{border:1px solid var(--bord);background:#fff}
.hlo-blog__card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.hlo-blog__body{padding:20px 22px}
.hlo-blog__body h2{font-size:18px;margin-bottom:10px}
.hlo-blog__body p{font-size:14px;color:var(--texte-2)}

/* Diag / outil */
.hlo-diag{border:1px solid var(--bord);background:#fff}
.hlo-diag__q{padding:22px 26px;border-bottom:1px solid var(--bord)}
.hlo-diag__q b{display:block;color:var(--marine);margin-bottom:10px}
.hlo-diag__opts{display:flex;gap:10px;flex-wrap:wrap}
.hlo-diag__opts label{border:1px solid var(--bord-2);border-radius:2px;padding:8px 14px;font-size:14px;cursor:pointer}
.hlo-diag__opts input{margin-right:7px}
.hlo-diag__out{padding:24px 26px;background:var(--marine);color:#fff}
.hlo-diag__out .hlo-sim__val{font-size:22px}

/* Plan de site */
.hlo-plan{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;text-align:left}
.hlo-plan h2{font-size:18px;margin-bottom:14px;border-bottom:2px solid var(--marine);padding-bottom:8px}
.hlo-plan ul{list-style:none}
.hlo-plan li{margin-bottom:9px}

/* Légal / merci / 404 */
.hlo-legal{max-width:820px;margin:0 auto;padding:50px 28px}
.hlo-legal h1{font-size:30px;margin-bottom:24px}
.hlo-legal h2{font-size:20px;margin:28px 0 10px}
.hlo-legal p{margin-bottom:14px;color:var(--texte)}
.hlo-legal ul{margin:0 0 16px 22px}
.hlo-simple{text-align:center;max-width:640px;margin:0 auto;padding:80px 28px}
.hlo-simple h1{font-size:34px;margin-bottom:16px}
.hlo-simple p{color:var(--texte-2);margin-bottom:26px;font-size:17px}

/* Callbar mobile */
.hlo-callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:95;background:var(--marine);
  padding:9px 12px;gap:10px;border-top:1px solid rgba(255,255,255,.15)}
.hlo-callbar a{flex:1;text-align:center;padding:12px;border-radius:2px;font-weight:700;font-size:14.5px}
.hlo-callbar__tel{background:var(--accent);color:#fff}
.hlo-callbar__dev{background:#fff;color:var(--marine)}

/* Exit popup */
.hlo-pop-ov{position:fixed;inset:0;background:rgba(18,42,71,.72);z-index:9999;display:none;align-items:center;justify-content:center;padding:16px}
.hlo-pop-ov.on{display:flex}
.hlo-pop{background:#fff;max-width:470px;width:100%;border-top:4px solid var(--accent);padding:34px 30px 30px;position:relative}
.hlo-pop h3{font-size:22px;margin-bottom:10px}
.hlo-pop p{color:var(--texte-2);margin-bottom:18px;font-size:15px}
.hlo-pop__x{position:absolute;top:12px;right:15px;background:none;border:none;font-size:24px;color:var(--texte-2);cursor:pointer;line-height:1}
.hlo-pop .hlo-field{margin-bottom:12px}
.hlo-pop .hlo-btn{width:100%}
.hlo-pop__no{display:block;text-align:center;margin-top:12px;font-size:13px;color:var(--texte-2);background:none;border:none;width:100%;cursor:pointer}

/* Responsive */
html,body{overflow-x:hidden}
@media(max-width:960px){
  .hlo-hero__in,.hlo-hero3__in,.hlo-zone,.hlo-contact,.hlo-why,.hlo-sim,.hlo-case{grid-template-columns:1fr}
  .hlo-presta,.hlo-reviews,.hlo-projects,.hlo-aides,.hlo-blog{grid-template-columns:1fr 1fr}
  .hlo-team,.hlo-steps{grid-template-columns:1fr 1fr}
  .hlo-trust__in{grid-template-columns:repeat(3,1fr);gap:22px}
  .hlo-case__media img{min-height:220px}
  .hlo-plan{grid-template-columns:1fr}
  .hlo-foot__in{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:720px){
  .hlo-nav,.hlo-head__phone,.hlo-top{display:none}
  .hlo-burger{display:flex}
  .hlo-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:#fff;border-bottom:1px solid var(--bord);padding:12px;align-items:stretch;gap:2px}
  .hlo-nav.open .hlo-drop__menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding-left:14px}
  .hlo-nav.open a{padding:12px}
  .hlo-callbar{display:flex}
  body{padding-bottom:64px}
  .hlo-hero h1{font-size:30px}
  .hlo-hero2 h1,.hlo-hero3 h1,.hlo-arthead h1{font-size:27px}
  .hlo-presta,.hlo-reviews,.hlo-projects,.hlo-aides,.hlo-blog,.hlo-team,.hlo-steps,.hlo-form__row{grid-template-columns:1fr}
  .hlo-trust__in{grid-template-columns:1fr 1fr}
  .hlo-sec{padding:48px 0}
  .hlo-foot__in{grid-template-columns:1fr;gap:30px}
  .hlo-foot p{max-width:none}
  .hlo-foot__bar-in{flex-direction:column;gap:8px;text-align:center}
  .hlo-artcompare{display:block;overflow-x:auto;white-space:nowrap;font-size:12.5px}
  .hlo-artcompare th,.hlo-artcompare td{padding:8px}
  .hlo-price{overflow-x:auto}
}
