/* BES 2026 v2 — composition issue de la direction « Tech énergie ».
   Couche strictement visuelle, chargée après theme-2026.css. */
:root{
  --v2-ink:#06182e;--v2-ink-soft:#0c2544;--v2-lime:#75e446;
  --v2-lime-dark:#45a932;--v2-paper:#f5f7f8;--v2-line:#dbe3e9;
  --v2-muted:#657487;--v2-max:1180px;
}
html,body{height:auto!important;min-height:100%;overflow-x:clip!important}
body{font-feature-settings:"kern" 1,"liga" 1;background:var(--v2-paper)}
#vitrine{background:var(--v2-paper)}
.v-nav{
  height:82px;padding-inline:max(24px,calc((100vw - var(--v2-max))/2));
  background:rgba(6,24,46,.97);border-bottom:1px solid rgba(255,255,255,.1);
}
.v-nav-logo{gap:13px}.v-nav-logo img{width:78px;height:55px;padding:0;background:#fff;object-fit:contain;object-position:center}
.v-nav-brand{font-size:14px;line-height:1.05;letter-spacing:.015em}.v-nav-brand span{margin-top:5px;font-size:9px}
.v-nav>.v-nav-links{gap:2px}.v-nav-link{padding:12px 11px;font-size:11.5px}
.v-nav-actions .v-nav-cta{min-height:44px;padding:12px 19px}
.v-nav-dropdown-panel{top:calc(100% + 17px);width:360px;padding:12px;background:#fff}
.v-nav-dropdown-panel a{padding:14px 16px}

/* Accueil : bandeau compact, aligné sur le traitement visuel de la page IRVE */
.v-hero{
  min-height:470px;padding:82px max(24px,calc((100vw - var(--v2-max))/2)) 115px;
  display:flex;align-items:center;text-align:left;background:var(--v2-ink)
}
.v-hero-bg{object-position:center center;filter:saturate(.88) contrast(1.05)}
.v-hero::after{background:linear-gradient(90deg,rgba(6,24,46,.78) 0%,rgba(6,24,46,.64) 42%,rgba(6,24,46,.38) 62%,rgba(6,24,46,.16) 82%,rgba(6,24,46,.06) 100%)}
.v-hero-inner{width:100%;max-width:700px;margin:0}
.v-hero-eyebrow{margin-bottom:14px;color:var(--v2-lime)}
.v-hero h1{max-width:700px;margin-bottom:16px;font-size:clamp(2.25rem,3.1vw,3.05rem);line-height:1.02}.v-hero h1 .hl-warm{white-space:nowrap}
.v-hero h1 .hl-green,.v-hero h1 .hl-warm{color:var(--v2-lime)}
.v-hero-sub{max-width:625px;margin:0 0 20px;font-size:.94rem;line-height:1.58;color:#d9e1e9}
.v-hero-btns{margin-bottom:18px}.btn-hero-primary{min-height:48px;padding:13px 23px}.btn-hero-outline{min-height:48px}
.v-hero-divider{display:none}.v-hero-trust{max-width:700px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}
.v-hero-trust-row{gap:12px 24px}.v-hero-trust-item{font-size:11.5px}
.v-hero-trust-item .t-icon{width:20px;height:20px}.v-hero-location{gap:10px 20px;margin-top:16px}
.v-hero-loc-item{font-size:10px;letter-spacing:.06em;text-transform:uppercase}

/* Respiration et hiérarchie communes */
.v-section,.s-section{padding-block:94px}.s-section-alt{padding-block:94px}
.v-section-header,.s-section-header{margin-bottom:52px;text-align:left}
.v-section-sub,.s-section-sub{max-width:680px;margin-left:0;margin-right:0}
.v-section-title,.s-section-title{max-width:850px}
.s-section-divider{max-width:1100px;margin-inline:auto}
.reveal{transition:opacity .45s ease,transform .45s ease}

/* Les 10 engagements de l'accueil deviennent une grille éditoriale nette */
.v-hero + section.reveal{padding:88px 32px!important;background:#edf2f4!important}
.v-hero + section.reveal>div{max-width:var(--v2-max)!important}
.v-hero + section.reveal .v-section-header{text-align:left}
.v-hero + section.reveal div[style*="grid-template-columns"]{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:1px!important;background:#dce4e9}
.v-hero + section.reveal div[style*="grid-template-columns"]>div{
  min-height:220px;padding:26px 22px!important;border:0!important;border-top:3px solid var(--v2-lime-dark)!important;
  border-radius:0!important;box-shadow:none!important;text-align:left!important;background:#fff!important
}
.v-hero + section.reveal div[style*="grid-template-columns"]>div>div:first-child{font-size:25px!important;margin-bottom:24px!important}
.v-hero + section.reveal div[style*="grid-template-columns"] h3{font-size:.92rem!important;line-height:1.35!important}
.v-hero + section.reveal div[style*="grid-template-columns"] p{font-size:12px!important}

/* Métiers : blocs massifs inspirés de la maquette 3 */
#services{padding:92px 32px 100px;background:#fff}
#services>.v-section-header{max-width:var(--v2-max);padding:0;margin:0 auto 50px}
.services-rows{max-width:var(--v2-max);margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--v2-line)}
.service-row,.service-row.service-row-reverse{
  min-height:460px;margin:0;display:grid;grid-template-columns:43% 57%;border:0;border-top:3px solid var(--v2-lime-dark);
  border-radius:0;background:#fff;box-shadow:none
}
.service-row-reverse .service-row-media{order:0}.service-row-reverse .service-row-text{order:1}
.service-row-media{min-height:100%;overflow:hidden;aspect-ratio:auto}.service-row-media img{height:100%;object-fit:cover;transition:transform .45s ease}
.service-row:hover .service-row-media img{transform:scale(1.035)}
.service-row-text{padding:40px 34px;display:flex;flex-direction:column;align-items:flex-start}
.service-row-num{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.service-row-text h3{margin:15px 0 22px;font-size:clamp(1.55rem,2.4vw,2.15rem);line-height:1.05}
.service-row-mobile-links{display:none}
.service-row-list{margin-bottom:28px}.service-row-list li{padding-block:7px;font-size:12px}
.service-row-btns{margin-top:auto;gap:8px}.service-row-btns .btn-devis,.service-row-btns .btn-savoir-plus{padding:11px 14px;font-size:11px}

/* Bandeau aides situé juste après les métiers */
#services + section.reveal{padding:0 32px 78px!important;background:#fff}
#services + section.reveal>a{max-width:var(--v2-max)!important;padding:38px 42px!important;border:0!important;border-left:4px solid var(--v2-lime)!important;border-radius:0!important;background:var(--v2-ink)!important}
#services + section.reveal>a>div:last-child{border-radius:0!important;background:var(--v2-lime)!important;color:var(--v2-ink)!important}

/* Certifications : vraie bande technique */
#services + section.reveal + section.reveal{padding:78px 32px!important;background:var(--v2-ink)!important}
#services + section.reveal + section.reveal>div{max-width:var(--v2-max)!important}
#services + section.reveal + section.reveal div[style*="grid-template-columns"]{gap:1px!important;background:rgba(255,255,255,.12)}
#services + section.reveal + section.reveal div[style*="grid-template-columns"]>div{
  padding:18px!important;border:0!important;border-radius:0!important;background:var(--v2-ink-soft)!important
}
#services + section.reveal + section.reveal div[style*="border-radius:10px"]{border-radius:0!important}

/* Bretagne et équipe */
.v-bretagne{padding:100px 32px}.v-bretagne-inner,.v-equipe-inner,.v-process-inner,.v-testimonials-inner{max-width:var(--v2-max)}
.v-bretagne-split{gap:75px}.v-bretagne-photo{border-radius:0;box-shadow:none}.v-bretagne-photo img{min-height:560px;object-fit:cover}
.v-bretagne-photo-badge{right:-20px;bottom:32px;padding:22px;border:0;background:var(--v2-lime);color:var(--v2-ink);box-shadow:none}
.v-bretagne-photo-badge2{border-radius:0!important}.v-bretagne-content h2{font-size:clamp(2.2rem,4vw,3.7rem)}
.depts-grid{gap:1px;background:var(--v2-line)}.dept-card{min-height:105px;padding:20px;border:0;border-left:3px solid var(--v2-lime-dark);box-shadow:none}
.bretagne-perk{padding:10px 13px;background:#fff;border:1px solid var(--v2-line)}
.v-equipe{padding:95px 32px;background:#fff}.v-equipe .v-section-header{text-align:left}
.v-equipe .v-section-label{background:none;color:var(--v2-lime-dark)}
.v-equipe-photo-strip{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px}.v-equipe-photo-card{min-height:420px;aspect-ratio:auto;box-shadow:none}.v-equipe-photo-card img{height:100%;object-fit:cover}
.v-equipe-photo-overlay{background:linear-gradient(0deg,rgba(6,24,46,.9),transparent 55%)}

/* Processus sombre et plus graphique */
/* Bas de l'accueil (04/11/2026) : fonctionnement en clair, contact en vert, pied de page bleu nuit. */
.v-process{padding:95px 32px;background:var(--v2-paper);color:var(--v2-ink)}.v-process .v-section-header{text-align:left}
.v-process .v-section-title{color:var(--v2-ink)}.v-process .v-section-sub{color:#475569}.v-process .v-section-label{color:var(--v2-lime-dark)}
.process-steps{gap:1px;background:var(--v2-line)}
.process-step{min-height:290px;padding:30px;border:0;border-top:3px solid var(--v2-lime);background:#fff;color:var(--v2-ink)}
.process-step h4{color:var(--v2-ink)}.process-step p{color:#475569}
.process-step:hover{background:#f3f9ef}.process-steps .process-step:hover .process-num{color:var(--v2-ink)}
.process-num{display:inline-block;padding:7px 10px;margin-bottom:38px;background:var(--v2-lime);color:var(--v2-ink);font-size:12px;letter-spacing:.04em}
.process-icon{display:none}.process-step h4{font-size:17px}.process-step p{font-size:12px;line-height:1.7}

/* Avis */
.v-testimonials{padding:95px 32px}.v-testimonials .v-section-header{text-align:left}
.testimonial-card{border-radius:0!important;border:0!important;border-top:3px solid var(--v2-lime-dark)!important;box-shadow:0 8px 28px rgba(6,24,46,.08)!important}

/* Pages intérieures */
.s-hero{min-height:470px;padding:82px 32px 115px;text-align:left;display:flex;align-items:center}
.s-hero-inner{width:100%;max-width:var(--v2-max);margin:auto}
.s-hero .s-hero-back{margin-bottom:24px}.s-hero-badge{margin-bottom:25px}
.s-hero h1{max-width:850px;margin-bottom:22px}.s-hero-sub{max-width:650px;margin:0 0 32px}.s-hero-btns{justify-content:flex-start!important}.s-hero-btns>a{border-radius:0!important}
.s-hero-wave{height:45px;clip-path:polygon(0 55%,100% 0,100% 100%,0 100%)}
.s-tabs-wrap{top:82px}.s-tabs{max-width:var(--v2-max)}
.s-tab{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.s-cards-grid{gap:1px;background:var(--v2-line)}.s-card{min-height:235px;margin:0;padding:27px;box-shadow:none}
.s-aids-grid{gap:1px;background:var(--v2-line)}.s-aid{margin:0;box-shadow:none}
.s-certs{box-shadow:none}.s-responsive-two-col{gap:60px}
.s-compare-table{background:#fff}.s-compare-table thead tr{background:var(--v2-ink)}
.s-steps{max-width:850px}.s-step{padding-bottom:38px}.s-step-num{width:46px;height:46px}
.s-faq{max-width:900px}.faq-q{padding:23px 0}.s-cta{padding:76px 32px}
.s-cta-inner{max-width:var(--v2-max)}

/* Hub services */
.hub-hero{background:var(--v2-ink)!important}.hub-grid{gap:1px;background:var(--v2-line)}
.hub-card{margin:0;min-height:360px;box-shadow:none}.hub-card:hover{transform:none;box-shadow:none;background:#f9fbfb}
.hub-card-icon{width:54px;height:54px}.hub-card h2{font-size:1.8rem}.hub-cert{box-shadow:none}

/* Formulaires et catalogue */
.v-form-section{padding:85px 24px}.v-form-wrap{max-width:var(--v2-max)}
.v-form-card{padding:42px;border-top:3px solid var(--v2-lime-dark);box-shadow:0 16px 48px rgba(6,24,46,.1)}
.form-field input,.form-field select,.form-field textarea{min-height:48px}
.form-chip{min-height:45px}.form-upload-area{background:#f8fafb}
.cat-hero{background:var(--v2-ink)!important}.cat-grid{gap:14px}.cat-card{border-radius:0;box-shadow:0 8px 28px rgba(6,24,46,.08)}
.product-card{border-radius:0;box-shadow:none;border:1px solid var(--v2-line)}
.avis-card{box-shadow:none}

/* Pages juridiques */
.legal-page,.legal-container,.legal-wrap{max-width:920px!important}
.legal-card{border-radius:0!important;border:1px solid var(--v2-line)!important;border-left:4px solid var(--v2-lime-dark)!important;box-shadow:none!important}
.legal-table{background:#fff;max-width:100%}.legal-table th{background:var(--v2-ink)!important;color:#fff}

/* Footer */
.v-footer{padding-top:70px}.v-footer-inner{max-width:var(--v2-max)}
.v-footer-grid{gap:70px}.v-footer-logo img{width:78px;height:55px;object-fit:contain}
.v-footer-logo::after{content:"";width:40px;height:27px;flex:0 0 auto;background:url("/static/img/drapeau-breton.png") center/contain no-repeat}
.v-bretagne-flag{width:36px;height:24px;flex:0 0 auto;border:1px solid rgba(0,0,0,.12);border-radius:3px}
.v-footer-col h4{font-size:10px}.v-footer-col li,.v-footer-col a,.v-footer-desc{font-size:11px;line-height:1.7}
.v-footer-bottom{margin-top:45px}

/* Widget pro : utile mais non envahissant */
.partner-side-widget{top:auto;right:20px;bottom:20px;transform:none;animation-name:partnerSideInV2;width:310px;padding:24px;border-top:3px solid var(--v2-lime);box-shadow:0 18px 55px rgba(6,24,46,.22)}
.partner-side-title{font-size:16px}.partner-side-text{font-size:11.5px;line-height:1.6}
.partner-side-btn,.partner-side-login{min-height:42px}
@keyframes partnerSideInV2{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Encart pro : caché à l'arrivée (il couvrait le logo du bandeau), affiché dès qu'on fait défiler (29/09/2026) */
.partner-side-widget{animation:none;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s}
.partner-side-widget.est-visible{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .3s ease}

/* Icônes au trait (Lucide, /static/img/icones.svg) à la place des emojis */
svg.i{width:1em;height:1em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.s-card-icon,.s-aid-icon,.sibling-icon,.s-why-icon,.s-kpi-icon,.hub-card-icon,.partner-benefit-icon,.partner-advantage-stat-icon,.partner-side-emoji,
.v-hero + section.reveal div[style*="grid-template-columns"]>div>div:first-child{
  display:inline-flex!important;align-items:center;justify-content:center;width:48px!important;height:48px!important;
  font-size:24px!important;line-height:1;border-radius:0!important;background:#eaf4e6!important;color:#2f8226!important;box-shadow:none!important
}
.s-cert-badge>svg.i,.hub-cert-badge>svg.i{font-size:26px;color:#2f8226}
.dept-icon{color:#2f8226;display:inline-flex;align-items:center;justify-content:center}
.v-bretagne-photo-badge .badge-icon{display:inline-flex;font-size:22px}
.avis-state .icon{font-size:36px;color:#8a97a6}
.form-success-icon{font-size:56px;color:#2f8226}
svg.i-inline{font-size:1.05em;margin-right:.4em;vertical-align:-.15em;color:#2f8226}
.v-footer svg.i-inline{color:var(--v2-lime)}
.partner-side-fab{font-size:24px;color:var(--v2-ink)}

/* États interactifs */
.v-nav a,.btn-hero-primary,.btn-devis,.btn-savoir-plus,.hub-card,.product-card{transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Tablette */
@media(max-width:1050px){
  .v-nav{padding-inline:22px}.v-nav-brand{display:none}.v-nav-link{padding-inline:8px;font-size:10.5px}
  .v-nav-logo img,.v-footer-logo img{width:78px;height:55px;max-width:none}
  /* Menu complet trop large sous 1050 px : on passe au menu mobile (mêmes liens) */
  .v-nav{display:flex;justify-content:space-between}.v-nav>.v-nav-links{display:none}.v-nav-mobile{display:flex;align-items:center;gap:8px;margin-left:auto}
  .public-mobile-menu:not([hidden]),.v-mobile-menu:not([hidden]){display:block}
  .v-hero + section.reveal div[style*="grid-template-columns"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .services-rows{grid-template-columns:minmax(0,1fr)}.service-row,.service-row.service-row-reverse{min-height:410px}
  .v-bretagne-split{gap:40px}.process-steps{grid-template-columns:repeat(2,1fr)}
}
/* Mobile */
@media(max-width:768px){
  .v-nav{height:68px;padding-inline:14px}.v-nav-logo img,.v-footer-logo img{width:64px;height:45px}.v-nav-mobile{gap:7px}
  .v-nav-mobile .v-nav-cta{padding:9px 11px;font-size:10.5px}
  .public-mobile-menu,.v-mobile-menu{top:68px;padding:8px 18px 18px}
  .v-hero{min-height:0;padding:38px 20px 40px;align-items:center}
  .v-hero::after{background:linear-gradient(90deg,rgba(6,24,46,.72) 0%,rgba(6,24,46,.56) 68%,rgba(6,24,46,.34) 100%)}
  .v-hero-bg{object-position:20% center}.v-hero h1{font-size:clamp(2.25rem,10.5vw,3rem)}
  .v-hero-sub{font-size:.9rem;line-height:1.55}.v-hero-trust{padding-top:16px}.v-hero-location{gap:8px 14px;margin-top:12px}
  .v-hero + section.reveal{padding:65px 18px!important}
  .v-hero + section.reveal div[style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .v-hero + section.reveal div[style*="grid-template-columns"]>div{min-height:0!important;padding:23px!important}
  #services{padding:68px 18px}#services>.v-section-header{margin-bottom:35px}
  .service-row,.service-row.service-row-reverse{display:block;min-height:0}.service-row-media{width:100%;height:250px;min-height:0;aspect-ratio:auto}
  .service-row-text{padding:30px 24px}.service-row-text h3{font-size:1.65rem}
  #services + section.reveal{padding:0 18px 60px!important}
  #services + section.reveal>a{padding:28px 24px!important}
  #services + section.reveal + section.reveal{padding:60px 18px!important}
  .v-bretagne,.v-equipe,.v-process,.v-testimonials{padding:68px 18px}
  .v-bretagne-split{display:block}.v-bretagne-photo{margin-bottom:48px}.v-bretagne-photo img{min-height:390px}
  .v-bretagne-photo-badge{right:12px}.depts-grid{grid-template-columns:1fr}
  .v-equipe-photo-strip{grid-template-columns:1fr}.v-equipe-photo-card{min-height:320px}
  .v-equipe-photo-strip .v-equipe-photo-card:not(.hidden-pv-2027){display:block}
  .legal-table{display:block;overflow-x:auto}
  .process-steps{grid-template-columns:1fr}.process-step{min-height:230px}
  .s-hero{min-height:430px;padding:60px 20px 95px}.s-hero h1{font-size:clamp(2.3rem,11vw,3.4rem)}
  .s-tabs-wrap{top:68px}.s-tab{padding:14px 11px;font-size:10px}
  .v-section,.s-section,.s-section-alt{padding-block:68px}.s-cards-grid{grid-template-columns:1fr}
  .v-form-section{padding:60px 16px}.v-form-card{padding:26px 20px}
  .partner-side-widget{display:none}.partner-side-fab{display:flex}
}
@media(max-width:430px){
  .v-hero-btns>*{width:100%}.v-hero-trust-row{display:grid;grid-template-columns:1fr 1fr}
  .service-row-btns{width:100%;display:grid}.service-row-btns>*{width:100%;text-align:center}
  .s-responsive-two-col{grid-template-columns:1fr}.v-footer-grid{grid-template-columns:1fr}
}

/* Bouton « Nous contacter » de l'en-tête et icône mobile (01/10/2026) */
.v-nav-actions,.v-nav-links:has(.v-nav-contact-btn){gap:10px}
.v-nav-contact-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 17px;text-decoration:none;border:1px solid rgba(255,255,255,.55);font-size:13px}
.v-nav-contact{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:19px;text-decoration:none}
.v-nav-contact:hover{background:#fff;color:var(--ink,#071a33)}
.devis-question{margin-top:6px;font-size:.95rem}.devis-question a{color:var(--green-dark,#2f8226);font-weight:800}
/* Bloc « Une question ? » en bas de l'accueil (01/10/2026) */
.home-contact{background:var(--v2-lime);color:var(--v2-ink);padding:72px 32px}
.home-contact-inner{max-width:var(--v2-max,1180px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center}
.home-contact-label{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--v2-ink);margin-bottom:12px}
.home-contact h2{font-family:'Manrope',sans-serif;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;margin:0 0 14px;color:var(--v2-ink)}
.home-contact p{margin:0 0 26px;color:rgba(6,24,46,.82);line-height:1.7;max-width:560px}
.home-contact-btns{display:flex;gap:12px;flex-wrap:wrap}
.home-contact-primaire,.home-contact-secondaire{display:inline-flex;align-items:center;min-height:48px;padding:13px 22px;font-family:'Manrope',sans-serif;font-weight:800;text-decoration:none}
.home-contact-primaire{background:var(--v2-ink);color:#fff}
.home-contact-primaire:hover{background:var(--v2-ink-soft);color:#fff}
.home-contact-secondaire{border:1px solid var(--v2-ink);color:var(--v2-ink)}
.home-contact-secondaire:hover{background:var(--v2-ink);color:#fff}
.home-contact-infos{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.home-contact-infos li{display:flex;gap:12px;align-items:flex-start;color:var(--v2-ink);line-height:1.5}
.home-contact-infos svg.i{font-size:20px;color:var(--v2-ink);margin-top:2px}
.home-contact-infos a{color:var(--v2-ink);font-weight:800;text-decoration:none}
@media(max-width:768px){.home-contact{padding:52px 20px}.home-contact-inner{grid-template-columns:1fr;gap:30px}}

/* Bannières uniformes (07/10/2026) : même hauteur sur toutes les pages publiques, contenu centré
   verticalement. Avant : de 470 à 642 px selon la longueur du texte de chaque page. */
.v-hero,.s-hero{min-height:600px;padding-top:56px;padding-bottom:56px;display:flex;align-items:center}
/* Catalogue : l'ancien encadré arrondi prend la forme des autres bannières (pleine largeur, collé au menu) */
#catalogue-irve{padding-top:0!important}
.cat-hero{width:100vw;margin:0 0 48px calc(50% - 50vw);min-height:600px;border-radius:0;border-bottom:0;box-shadow:none;
  grid-template-columns:minmax(0,1fr);overflow:hidden}
.cat-hero-copy{padding:64px max(32px,calc((100vw - var(--v2-max))/2));max-width:none}
.cat-hero-copy>*{max-width:760px}
.cat-hero-title{font-size:clamp(2.3rem,5vw,4.2rem);font-weight:800;line-height:1;letter-spacing:-.05em}
.cat-hero-mark{position:absolute;inset:0 0 0 45%;margin:0;z-index:-1}
.cat-hero .cat-home-back{color:#aebdcb;margin-bottom:24px}.cat-hero .cat-home-back:hover{color:#fff}
.s-hero .s-hero-back{display:flex;width:fit-content}
@media(max-width:768px){
  .v-hero,.s-hero{min-height:480px;padding-top:48px;padding-bottom:48px}
  .cat-hero{min-height:480px}.cat-hero-copy{padding:48px 20px}
  .cat-hero-title{font-size:clamp(2.3rem,11vw,3.4rem)}
}

/* Diaporama « Notre territoire » (07/10/2026) : fondu entre les photos, hauteur du cadre à la proportion de chacune */
.v-bretagne-photo.v-territoire{aspect-ratio:auto;transition:height .6s ease}
.v-bretagne-photo .v-territoire-slide{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;opacity:0;transition:opacity .9s ease,transform .6s ease}
.v-bretagne-photo .v-territoire-slide.actif{opacity:1}
.v-territoire-commandes{display:flex;align-items:center;gap:14px;margin-top:12px;font-size:13px;font-weight:700;color:var(--v2-muted);font-variant-numeric:tabular-nums}
.v-territoire-commandes button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--v2-line);background:#fff;color:var(--v2-ink);font-size:20px;line-height:1;cursor:pointer}
.v-territoire-commandes button:hover{border-color:var(--v2-lime-dark)}
.v-territoire-commandes button:focus-visible{outline:2px solid var(--v2-lime-dark);outline-offset:2px}
/* « Équipe locale » : légende sous la photo, sans fond (plus de bandeau vert posé sur l'image) ;
   les flèches du diaporama se placent à droite sur la même ligne. */
.v-bretagne-photo-badge{position:static!important;display:flex!important;align-items:center;gap:8px!important;min-height:34px;margin-top:12px;
  padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;color:var(--v2-ink)}
.v-bretagne-photo-badge .badge-icon{font-size:16px!important;color:var(--v2-lime-dark)}
.v-bretagne-photo-badge-text{display:flex;align-items:baseline;gap:6px}
.v-bretagne-photo-badge-text strong{font-size:13px;color:var(--v2-ink)}
.v-bretagne-photo-badge-text span{font-size:13px;color:var(--v2-muted)}
.v-bretagne-photo-badge-text span::before{content:"· "}
.avec-commandes .v-territoire-commandes{position:absolute;right:0;bottom:0;margin:0}
@media(max-width:768px){
  .v-bretagne-photo,.avec-commandes .v-bretagne-photo{margin-bottom:0}.v-bretagne-photo-wrap{margin-bottom:40px}
  .v-bretagne-photo-badge-text span{display:none}
  .v-bretagne-photo-badge2{top:10px!important;right:10px!important;padding:6px 10px!important;font-size:11px!important}
  .v-bretagne-photo-badge2 .v-bretagne-flag{width:24px;height:16px}
}
@media(prefers-reduced-motion:reduce){.v-bretagne-photo.v-territoire,.v-bretagne-photo .v-territoire-slide{transition:none}}

/* ═══ Accueil et pages publiques sur téléphone (07/10/2026) : page 2 fois plus courte ═══
   Bandeaux à faire glisser (métiers, équipes, étapes), état d'esprit en grille 2 colonnes,
   départements 2 × 2, pied de page repliable, barre fixe « Appeler · Devis gratuit ». */
.barre-mobile,.v-defile-compteur{display:none}
@media(max-width:768px){
  .services-rows,.v-equipe-photo-strip,.process-steps{
    display:flex!important;justify-content:flex-start!important;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:-20px;padding:0 20px 4px;scroll-padding-inline:20px;scrollbar-width:none;background:none!important}
  .services-rows::-webkit-scrollbar,.v-equipe-photo-strip::-webkit-scrollbar,.process-steps::-webkit-scrollbar{display:none}
  .services-rows>*,.v-equipe-photo-strip>*,.process-steps>*{flex:0 0 82%;scroll-snap-align:start;min-width:0}
  .v-defile-compteur:not([hidden]){display:block;margin:12px 0 0;text-align:center;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--v2-muted)}
  /* Nos métiers : photo, titre et lien vers la page détaillée */
  .service-row:not(.hidden-pv-2027),.service-row.service-row-reverse:not(.hidden-pv-2027){display:flex!important;flex-direction:column;border-top:3px solid var(--v2-lime-dark)}
  .service-row .service-row-media,.service-row.service-row-reverse .service-row-media{order:0;height:170px}
  .service-row .service-row-text{order:1;padding:18px 18px 20px;flex:1}
  .service-row-text h3{margin:8px 0 14px;font-size:1.3rem}
  .service-row-mobile-links{display:block;margin:0 0 16px;font-size:13px;line-height:1.55;color:var(--v2-muted)}
  .service-row-list,.service-row-btns .btn-devis{display:none!important}
  .service-row-btns{margin-top:auto}
  /* Équipes et étapes */
  .v-equipe-photo-card{min-height:0;height:260px}
  .process-step{min-height:0;padding:22px}
  /* État d'esprit : 6 points sur 10, titres seuls, 2 colonnes */
  .v-hero + section.reveal div.v-esprit-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .v-hero + section.reveal div.v-esprit-grid>div{padding:16px 10px!important}
  .v-esprit-grid>div>div{font-size:24px!important;margin-bottom:8px!important}
  .v-esprit-grid h3{font-size:.86rem!important;margin:0!important;line-height:1.3}
  .v-esprit-grid p,.v-esprit-grid .v-esprit-plus{display:none!important}
  /* Départements en 2 × 2 */
  .depts-grid{grid-template-columns:1fr 1fr!important}
  .dept-card{min-height:0;padding:14px 12px}
  /* Pied de page repliable */
  .v-footer-col h4{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin:0;padding:14px 0;border-top:1px solid rgba(255,255,255,.12)}
  .v-footer-col h4::after{content:"−";font-size:16px}
  .v-footer-col.replie h4::after{content:"+"}
  .v-footer-col.replie ul{display:none}
  /* Barre fixe d'appel et de devis (remplace la bulle partenaire sur téléphone) */
  .partner-side-fab{display:none!important}
  .barre-mobile{position:fixed;left:0;right:0;bottom:0;z-index:150;display:grid;grid-template-columns:1fr 1.3fr;gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--v2-ink);box-shadow:0 -6px 20px rgba(6,24,46,.25)}
  .barre-mobile a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;font-weight:800;font-size:14px;text-decoration:none}
  .barre-mobile-appel{border:1px solid rgba(255,255,255,.55);color:#fff}
  .barre-mobile-devis{background:var(--v2-lime);color:var(--v2-ink)}
  body.avec-barre-mobile{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
}
