/* ============================================================
   BHM Construction — styles des pages Elementor (fond noir)
   Source : maquette site/assets/css/styles.css, adaptée au balisage
   Elementor (conteneurs + widgets). Préfixé par body.bhm-site au build
   (prefix.mjs) : aucune autre page du site n'est concernée.
   ============================================================ */
:root{
  --f-display: "Cormorant Garamond", "Cormorant", Georgia, serif;
  --f-text: "Jost", "Futura", system-ui, sans-serif;
  --gutter: clamp(20px, 4.2vw, 72px);
  --col-gap: clamp(16px, 2vw, 32px);
  --header-h: 84px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --bg: #0b0a08;
  --bg-2: #13110e;
  --ink: #ece6da;
  --ink-2: #a9a091;
  --ink-3: #857d70;
  --line: rgba(236, 230, 218, 0.14);
  --line-strong: rgba(236, 230, 218, 0.32);
  --gold: #c9a65e;
  --gold-ink: #c9a65e;
  --gold-soft: rgba(201, 166, 94, 0.16);
  --on-gold: #0b0a08;
  --img-bg: #1a1814;
  --light: #f2ecdf;
}

/* ---------- base ---------- */
body.bhm-site{
  margin:0; background: var(--bg); color: var(--ink);
  font-family: var(--f-text); font-weight:300; font-size: clamp(16px, 1.05vw, 17.5px); line-height:1.65;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip;
  --kit-widget-spacing: 0px; --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
}
/* Elementor impose html{scroll-behavior:smooth} : incompatible avec Lenis */
html.lenis, html.lenis body{ height:auto; scroll-behavior:auto !important; }
html.lenis-stopped{ overflow:hidden; }
body.bhm-site *, body.bhm-site *::before, body.bhm-site *::after{ box-sizing:border-box; }
body.bhm-site img, body.bhm-site video{ display:block; max-width:100%; }
body.bhm-site a{ color:inherit; text-decoration:none; }
body.bhm-site a:hover, body.bhm-site a:focus{ color:inherit; }
body.bhm-site ::selection{ background: var(--gold); color: var(--on-gold); }
body.bhm-site :focus-visible{ outline:1px solid var(--gold); outline-offset:4px; }

/* ---------- neutralisation Elementor ---------- */
body.bhm-site .e-con{
  --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px;
  --padding-block-start:0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px;
  --gap:0px; --row-gap:0px; --column-gap:0px;
  --container-default-padding-top:0px; --container-default-padding-right:0px; --container-default-padding-bottom:0px; --container-default-padding-left:0px;
  --margin-top:0px; --margin-bottom:0px; --margin-left:0px; --margin-right:0px;
  --flex-direction: column; --flex-wrap: nowrap; --justify-content: flex-start; --align-items: stretch;
  --width:100%; --min-height:0;
  padding:0; gap:0; min-width:0;
}
body.bhm-site .elementor-element.elementor-widget{ margin:0; }
body.bhm-site .elementor-widget:not(:last-child){ margin-block-end:0; margin-bottom:0; }
body.bhm-site .elementor-widget-image{ text-align:left; }
body.bhm-site .elementor-widget-image img{ width:100%; height:auto; border:none; border-radius:0; box-shadow:none; }
body.bhm-site .elementor-widget-image a{ display:block; }
body.bhm-site .elementor-widget-video .elementor-wrapper{ aspect-ratio:auto; height:auto; }
body.bhm-site .elementor-widget-video video{ width:100%; height:auto; display:block; object-fit:contain; }

body.bhm-site .elementor-widget-heading{ font-family: var(--f-display); font-weight:400; line-height:1.02; letter-spacing:-0.015em; color: var(--ink); }
body.bhm-site .elementor-widget-heading .elementor-heading-title{ font:inherit; color:inherit; letter-spacing:inherit; text-transform:inherit; line-height:inherit; margin:0; padding:0; text-wrap: balance; }
body.bhm-site .elementor-widget-heading .elementor-heading-title a{ color:inherit; }
body.bhm-site .elementor-widget-heading em{ font-style:italic; color: var(--gold-ink); }
body.bhm-site .elementor-widget-text-editor{ font-family: var(--f-text); color:inherit; font-size:inherit; line-height:1.65; }
body.bhm-site .elementor-widget-text-editor p{ margin:0; }
body.bhm-site .elementor-widget-text-editor p + p{ margin-top:1em; }
body.bhm-site .elementor-widget-text-editor a{ color: var(--gold-ink); }

body.bhm-site .wrap{ padding-inline: var(--gutter); }
body.bhm-site .section{ padding-block: clamp(110px, 16vh, 200px); }
body.bhm-site .section--tight{ padding-block: clamp(80px, 11vh, 140px); }
body.bhm-site h2.elementor-heading-title, body.bhm-site .elementor-widget-heading:has(h2){ font-size: clamp(2.4rem, 5.2vw, 4.6rem); }
body.bhm-site .muted{ color: var(--ink-2); }
body.bhm-site .measure{ max-width:62ch; }
body.bhm-site .lead{ font-size: clamp(1rem, 1.15vw, 1.12rem); color: var(--ink); }

body.bhm-site .label, body.bhm-site .fact-dt{
  font-family: var(--f-text); font-weight:400; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color: var(--ink-2); line-height:1.4;
}

/* Lignes de titre (animation) */
body.bhm-site .line-mask{ display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em; }
body.bhm-site .line-mask > span{ display:block; will-change:transform; }

/* ---------- boutons Elementor ---------- */
body.bhm-site .bhm-btn{ width:auto !important; align-self:flex-start; flex-shrink:0 !important; }
body.bhm-site .bhm-btn .elementor-button{
  position:relative; display:inline-flex; align-items:center; gap:14px; height:54px; padding:0 28px;
  font-family: var(--f-text); font-weight:400; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; line-height:1;
  color: var(--gold-ink); background: transparent; border:1px solid var(--gold); border-radius:0; box-shadow:none; fill: currentColor;
  overflow:hidden; isolation:isolate; white-space:nowrap; transition: color .55s var(--ease-out), border-color .55s var(--ease-out);
}
body.bhm-site .bhm-btn .elementor-button::before{ content:""; position:absolute; inset:0; background: var(--gold); transform: scaleY(0); transform-origin:50% 100%; transition: transform .55s var(--ease-out); z-index:-1; }
body.bhm-site .bhm-btn .elementor-button:hover, body.bhm-site .bhm-btn .elementor-button:focus-visible{ color: var(--on-gold); background: transparent; }
body.bhm-site .bhm-btn .elementor-button:hover::before{ transform: scaleY(1); }
body.bhm-site .bhm-btn .elementor-button-content-wrapper{ gap:14px; align-items:center; }
body.bhm-site .bhm-btn .elementor-button-icon{ font-size:.8em; transition: transform .55s var(--ease-out); }
body.bhm-site .bhm-btn .elementor-button:hover .elementor-button-icon{ transform: translateX(4px); }
body.bhm-site .bhm-btn--solid .elementor-button{ background: var(--gold); color: var(--on-gold); }
body.bhm-site .bhm-btn--solid .elementor-button::before{ background: var(--ink); }
body.bhm-site .bhm-btn--solid .elementor-button:hover{ background: var(--gold); color: var(--bg); border-color: var(--ink); }
body.bhm-site .bhm-btn--light .elementor-button{ color: var(--light); border-color: rgba(242,236,223,.55); }
body.bhm-site .bhm-btn--light .elementor-button::before{ background: var(--light); }
body.bhm-site .bhm-btn--light .elementor-button:hover{ color: #0b0a08; }

/* ---------- boutons HTML (en-tête, pied de page) ---------- */
body.bhm-site .btn{
  position:relative; display:inline-flex; align-items:center; gap:14px; height:54px; padding:0 28px;
  font-family: var(--f-text); font-weight:400; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase;
  color: var(--gold-ink); border:1px solid var(--gold); overflow:hidden; isolation:isolate; transition: color .55s var(--ease-out);
}
body.bhm-site .btn::before{ content:""; position:absolute; inset:0; background: var(--gold); transform: scaleY(0); transform-origin:50% 100%; transition: transform .55s var(--ease-out); z-index:-1; }
body.bhm-site .btn:hover{ color: var(--on-gold); }
body.bhm-site .btn:hover::before{ transform: scaleY(1); }

body.bhm-site .link{ position:relative; display:inline-flex; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; font-weight:400; padding-bottom:6px; font-family: var(--f-text); }
body.bhm-site .link .elementor-heading-title{ border-bottom:1px solid currentColor; padding-bottom:6px; }
body.bhm-site .link--gold{ color: var(--gold-ink); }

/* ---------- en-tête (imprimé par le module) ---------- */
body.bhm-site .site-header{
  position:fixed; inset:0 0 auto 0; z-index:50; height: var(--header-h);
  display:flex; align-items:center; justify-content:space-between; gap:24px; padding-inline: var(--gutter);
  color: var(--ink); transition: background-color .5s, color .5s;
  /* Hello Elementor impose .site-header { max-width:1140px; flex-wrap:wrap; padding-block:1rem } */
  width:auto; max-width:none; margin:0; flex-wrap:nowrap; padding-block:0;
}
body.bhm-site.admin-bar .site-header{ top:32px; }
@media (max-width:782px){ body.bhm-site.admin-bar .site-header{ top:46px; } }
body.bhm-site .site-header::after{ content:""; position:absolute; left: var(--gutter); right: var(--gutter); bottom:0; height:1px; background: var(--line); opacity:0; transition: opacity .5s; }
body.bhm-site .site-header.is-scrolled{ background: rgba(11,10,8,.88); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.bhm-site .site-header.is-scrolled::after{ opacity:1; }
body.bhm-site .site-header.on-photo{ color: var(--light); }
body.bhm-site .brand{ display:flex; align-items:center; gap:14px; }
body.bhm-site .brand img{ height:46px; width:auto; }
body.bhm-site .brand span{ font-size:.72rem; letter-spacing:.32em; text-transform:uppercase; font-weight:400; line-height:1.3; color: var(--gold); }
body.bhm-site .brand span b{ display:block; font-weight:500; letter-spacing:.36em; color: var(--gold); }
body.bhm-site .nav{ display:flex; align-items:center; gap: clamp(18px, 2vw, 40px); }
body.bhm-site .nav a{ position:relative; font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; font-weight:400; padding:8px 0; white-space:nowrap; }
body.bhm-site .nav a::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:1px; background: var(--gold); transform: scaleX(0); transform-origin:0 50%; transition: transform .6s var(--ease-out); }
body.bhm-site .nav a:hover::after, body.bhm-site .nav a[aria-current="page"]::after{ transform: scaleX(1); }
body.bhm-site .header-cta{ display:flex; align-items:center; gap:28px; }
body.bhm-site .header-cta .tel{ font-size:.86rem; letter-spacing:.12em; font-weight:400; color: var(--gold); white-space:nowrap; }
body.bhm-site .header-cta .btn{ height:44px; padding:0 20px; font-size:.7rem; }
body.bhm-site .site-header.on-photo .btn{ color: var(--light); border-color: rgba(242,236,223,.5); }
body.bhm-site .site-header.on-photo .btn::before{ background: var(--light); }
body.bhm-site .site-header.on-photo .btn:hover{ color:#0b0a08; }
body.bhm-site .menu-toggle{ display:none; width:44px; height:44px; position:relative; background:none; border:0; padding:0; color:inherit; cursor:pointer; }
body.bhm-site .menu-toggle i{ position:absolute; left:10px; right:10px; height:1px; background: currentColor; transition: transform .6s var(--ease-out); }
body.bhm-site .menu-toggle i:nth-child(1){ top:18px; }
body.bhm-site .menu-toggle i:nth-child(2){ top:26px; }
body.bhm-site .menu-open .menu-toggle i:nth-child(1){ transform: translateY(4px) rotate(45deg); }
body.bhm-site .menu-open .menu-toggle i:nth-child(2){ transform: translateY(-4px) rotate(-45deg); }
body.bhm-site .mobile-menu{
  position:fixed; inset:0; z-index:45; background: var(--bg); display:flex; flex-direction:column; justify-content:flex-end;
  padding: calc(var(--header-h) + 20px) var(--gutter) 40px; clip-path: inset(0 0 100% 0); visibility:hidden; transition: clip-path .9s var(--ease-out);
}
body.bhm-site .menu-open .mobile-menu{ clip-path: inset(0 0 0 0); visibility:visible; }
body.bhm-site .mobile-menu nav{ display:flex; flex-direction:column; gap:6px; margin-bottom:auto; padding-top:6vh; }
body.bhm-site .mobile-menu nav a{ font-family: var(--f-display); font-size: clamp(2.6rem, 11vw, 4rem); line-height:1.1; }
body.bhm-site .mobile-menu nav a[aria-current="page"]{ color: var(--gold-ink); font-style:italic; }
body.bhm-site .mobile-menu .tel{ font-family: var(--f-display); color: var(--gold-ink); font-size:1.8rem; display:block; margin:28px 0 22px; }
body.bhm-site .menu-open .site-header{ color: var(--ink); background: transparent; backdrop-filter:none; }
@media (max-width:1380px){ body.bhm-site .header-cta .tel{ display:none; } }
@media (max-width:1280px){ body.bhm-site .nav, body.bhm-site .header-cta .btn{ display:none; } body.bhm-site .menu-toggle{ display:block; } }
@media (max-width:820px){ :root{ --header-h:72px; } body.bhm-site .brand img{ height:40px; } body.bhm-site .brand span{ display:none; } }

/* barre d'appel mobile */
body.bhm-site .call-bar{ display:none; }
@media (max-width:820px){
  body.bhm-site .call-bar{ position:fixed; left:0; right:0; bottom:0; z-index:55; display:grid; grid-template-columns:1fr 1fr; background: var(--bg); border-top:1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); }
  body.bhm-site .call-bar a{ display:grid; place-items:center; height:56px; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; font-weight:400; }
  body.bhm-site .call-bar a.is-gold{ background: var(--gold); color: var(--on-gold); }
  body.bhm-site .site-footer{ padding-bottom: calc(36px + 56px) !important; }
}

/* ---------- média ---------- */
body.bhm-site .media{ position:relative; overflow:hidden; background: var(--img-bg); }
body.bhm-site .media img, body.bhm-site .media video{ width:100%; height:auto; object-fit:contain; }
/* Elementor met le lien de l'image en inline-block : il doit remplir le cadre */
body.bhm-site .media > a{ display:block; }

/* ---------- section-head ---------- */
body.bhm-site .section-head{ display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); align-items:end; margin-bottom: clamp(56px, 8vh, 96px); }
body.bhm-site .section-head > .elementor-widget-heading{ grid-column: 1 / span 7; }
body.bhm-site .section-head > .side{ grid-column: 9 / span 4; color: var(--ink-2); }

/* ---------- HERO accueil ---------- */
body.bhm-site .hero{ position:relative; height:100svh; min-height:560px; color: var(--light); overflow:hidden; background:#0b0a08; }
body.bhm-site .hero-frame{ position:absolute !important; inset:0; }
body.bhm-site .hero-fallback{ position:absolute !important; inset:0; }
body.bhm-site .hero-fallback .hero-slide{ position:absolute !important; inset:0; opacity:0; transition: opacity 1.8s ease; }
body.bhm-site .hero-fallback .hero-slide.is-active{ opacity:1; }
body.bhm-site .hero-fallback .hero-slide img, body.bhm-site .hero-fallback .hero-slide .elementor-widget-container{ width:100%; height:100%; }
body.bhm-site .hero-fallback .hero-slide img{ object-fit:cover; }
body.bhm-site .hero.gl-on .hero-fallback{ visibility:hidden; }
body.bhm-site .hero-gl{ position:absolute !important; inset:0; pointer-events:none; }
body.bhm-site .hero-gl .elementor-widget-container{ position:absolute; inset:0; }
body.bhm-site .hero-canvas{ position:absolute; inset:0; width:100%; height:100%; }
body.bhm-site .hero-shade{ position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(to top, rgba(8,7,5,.72) 0%, rgba(8,7,5,.18) 42%, rgba(8,7,5,0) 62%), linear-gradient(to bottom, rgba(8,7,5,.42) 0%, rgba(8,7,5,0) 22%); }
body.bhm-site .hero-content{ position:absolute !important; left:0; right:0; bottom:0; padding:0 var(--gutter) clamp(32px, 6vh, 64px) !important; display:grid !important; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); row-gap: clamp(28px,5vh,48px); column-gap:32px; align-items:end; z-index:2; }
body.bhm-site .hero-title{ font-size: clamp(2.9rem, 6.6vw, 6rem); color: var(--light); }
body.bhm-site .hero-title em{ color: var(--gold); }
body.bhm-site .hero-side{ display:grid !important; gap:26px; justify-items:start; align-self:end; max-width:30em; justify-self:end; }
body.bhm-site .hero-h1{ font-family: var(--f-text); font-weight:300; font-size: clamp(1rem, 1.15vw, 1.15rem); line-height:1.55; letter-spacing:0; color: rgba(242,236,223,.86); }
body.bhm-site .hero-tabs{ grid-column: 1 / -1; }
body.bhm-site .hero-tabs .elementor-widget-container, body.bhm-site .hero-tabs > div{ display:flex; justify-content:space-between; align-items:end; gap:24px; border-top:1px solid rgba(242,236,223,.2); padding-top:18px; }
body.bhm-site .hero-slides{ display:flex; gap: clamp(16px, 2.4vw, 40px); border:0 !important; padding:0 !important; }
body.bhm-site .hero-slides button{ display:grid; gap:10px; font-family: var(--f-text); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color: rgba(242,236,223,.55); padding:4px 0; background:none; border:0; cursor:pointer; transition: color .4s; }
body.bhm-site .hero-slides button:hover, body.bhm-site .hero-slides button[aria-pressed="true"]{ color: var(--light); background:none; }
body.bhm-site .hero-slides i{ display:block; height:1px; width: clamp(54px, 7vw, 110px); background: rgba(242,236,223,.22); position:relative; overflow:hidden; }
body.bhm-site .hero-slides b{ position:absolute; inset:0; background: var(--gold); transform-origin:0 50%; transform: scaleX(0); }
body.bhm-site .hero-scroll{ font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color: rgba(242,236,223,.6); }

/* ---------- HERO pages prestations ---------- */
body.bhm-site .p-hero{ position:relative; height:100svh; min-height:560px; overflow:hidden; color: var(--light); background:#0b0a08; }
body.bhm-site .p-hero-media{ position:absolute !important; inset:0; }
body.bhm-site .p-hero-media img, body.bhm-site .p-hero-media .elementor-widget-container{ width:100%; height:100% !important; }
body.bhm-site .p-hero-media img{ object-fit:cover; }
body.bhm-site .p-hero-shade{ position:absolute !important; inset:0; pointer-events:none; }
body.bhm-site .p-hero .hero-content{ grid-template-columns: minmax(0,1fr) auto; }
body.bhm-site .p-hero-h1{ font-size: clamp(2.9rem, 7.2vw, 6rem); max-width:12em; color: var(--light); }
body.bhm-site .p-hero-h1 em{ color: var(--gold); }
body.bhm-site .hero-sub{ margin-top:26px; font-size:.74rem; letter-spacing:.24em; text-transform:uppercase; font-weight:400; color: rgba(242,236,223,.82); }
body.bhm-site .hero-sub p{ display:flex; flex-wrap:wrap; gap:6px 22px; }
body.bhm-site .hero-sub span + span::before{ content:""; display:inline-block; width:18px; height:1px; background: var(--gold); vertical-align:middle; margin-right:22px; }
body.bhm-site .hero-caption{ font-family: var(--f-text); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color: rgba(242,236,223,.85); }

/* ---------- bandeau points forts ---------- */
body.bhm-site .band{ display:flex !important; flex-direction:row !important; align-items:stretch; border-bottom:1px solid var(--line); background: var(--bg-2); }
body.bhm-site .band-title{ flex:none; display:flex; align-items:center; width: clamp(150px, 14vw, 220px) !important; padding:0 24px 0 var(--gutter); font-family: var(--f-text) !important; font-size:.7rem !important; font-weight:400; letter-spacing:.22em !important; text-transform:uppercase; color: var(--ink-2); line-height:1.3; }
body.bhm-site .band-list{ flex:1; display:grid !important; grid-template-columns: repeat(4, minmax(0,1fr)); margin:0; padding:0; list-style:none; }
body.bhm-site .band-item{ display:flex !important; flex-direction:row !important; align-items:center; gap: clamp(14px,1.4vw,22px) !important; padding: clamp(26px,4.4vh,46px) clamp(18px,2.2vw,36px) !important; border-left:1px solid var(--line); }
body.bhm-site .band-icon{ width: clamp(36px, 3vw, 48px) !important; flex:none; color: var(--gold); }
body.bhm-site .band-icon svg{ width:100%; height:auto; display:block; }
body.bhm-site .band-text p{ display:grid; gap:2px; font-size:.9rem; color: var(--ink-2); line-height:1.35; }
body.bhm-site .band-text b{ font-family: var(--f-display); font-size: clamp(1.35rem, 1.9vw, 1.8rem); font-weight:400; color: var(--ink); line-height:1.1; }

/* ---------- Qui sommes-nous ---------- */
body.bhm-site .about-section{ padding-block: clamp(72px, 10vh, 120px); }
body.bhm-site .about-section .section-head{ margin-bottom: clamp(24px, 4vh, 40px); }
body.bhm-site .about-section .section-head h2{ font-size: clamp(2rem, 3.4vw, 3rem); }
body.bhm-site .statement{ font-family: var(--f-display); font-size: clamp(1.2rem, 1.6vw, 1.5rem); line-height:1.3; max-width:38em; margin-bottom: clamp(36px, 6vh, 64px) !important; color: var(--ink-2); }
body.bhm-site .about2{ display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); align-items:center; }
body.bhm-site .about2-video{ grid-column: 1 / span 4; }
body.bhm-site .about2-text{ grid-column: 6 / span 7; display:grid !important; gap:18px; }
body.bhm-site .facts{ margin-top:8px; display:grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; border-top:1px solid var(--line); padding-top:18px !important; }
body.bhm-site .fact{ display:grid !important; gap:6px; }
body.bhm-site .fact-dd{ font-size:1.05rem; color: var(--gold-ink); }

/* ---------- Services (rangées) ---------- */
body.bhm-site .svc-row{ position:relative; display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); row-gap:40px; align-items:center; padding-block: clamp(64px, 11vh, 130px) !important; border-top:1px solid var(--line-strong); }
body.bhm-site .row-media{ grid-column: 1 / span 7; position:relative; }
body.bhm-site .row-media .main{ display:block; }
body.bhm-site .row-media .inset{ position:absolute !important; width:30% !important; right:-5%; bottom: calc(clamp(64px, 11vh, 130px) * -.5); z-index:2; box-shadow: 0 30px 60px -20px rgba(0,0,0,.55); }
body.bhm-site .row-text{ grid-column: 9 / span 4; display:grid !important; gap:22px; align-content:center; }
body.bhm-site .svc-row.rev .row-media{ grid-column: 6 / span 7; grid-row:1; }
body.bhm-site .svc-row.rev .row-media .inset{ right:auto; left:-5%; }
body.bhm-site .svc-row.rev .row-text{ grid-column: 1 / span 4; grid-row:1; }
body.bhm-site .row-h{ font-size: clamp(2.2rem, 3.6vw, 3.4rem) !important; }
body.bhm-site .row-p{ color: var(--ink-2); max-width:44ch; }
body.bhm-site .row-list ul, body.bhm-site .p-list-ul ul{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
body.bhm-site .row-list li{ display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); font-size:.95rem; }
body.bhm-site .row-list li span{ color: var(--ink-2); text-align:right; }

/* ---------- Méthode ---------- */
body.bhm-site .method-grid{ display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); align-items:start; }
body.bhm-site .method-visual{ grid-column: 1 / span 6; position:sticky !important; top: calc(var(--header-h) + 12px); height: calc(100svh - var(--header-h) - 40px); min-height:460px; overflow:hidden; background:#0b0a08; color: var(--light); }
body.bhm-site .method-media{ position:absolute !important; inset:0; }
body.bhm-site .method-img{ position:absolute !important; inset:0; opacity:0; transition: opacity 1.2s var(--ease-out); }
body.bhm-site .method-img.is-active{ opacity:1; }
body.bhm-site .method-img img, body.bhm-site .method-img .elementor-widget-container{ width:100%; height:100% !important; }
body.bhm-site .method-img img{ object-fit:cover; }
body.bhm-site .method-deco{ position:absolute !important; inset:0; pointer-events:none; }
body.bhm-site .method-deco .elementor-widget-container{ position:absolute; inset:0; }
body.bhm-site .method-shade{ position:absolute; inset:0; background: linear-gradient(to top, rgba(8,7,5,.88) 0%, rgba(8,7,5,.5) 42%, rgba(8,7,5,.12) 75%); }
body.bhm-site .method-count{ position:absolute; top: clamp(20px,2.6vw,32px); left: clamp(24px,3.4vw,48px); right: clamp(24px,3.4vw,48px); display:flex; align-items:center; gap:16px; font-family: var(--f-display); font-size:1.3rem; color: var(--gold); }
body.bhm-site .method-count .bar{ flex:1; height:1px; background: rgba(242,236,223,.25); position:relative; }
body.bhm-site .method-count .bar i{ position:absolute; inset:0; background: var(--gold); transform-origin:0 50%; transform: scaleX(.2); transition: transform .8s var(--ease-out); }
body.bhm-site .method-copy{ position:absolute !important; inset:auto 0 0 0; padding: clamp(24px,3.4vw,48px) !important; display:grid !important; gap:16px; z-index:2; }
body.bhm-site .method-title{ font-size: clamp(2.2rem, 4vw, 3.6rem) !important; color: var(--light); }
body.bhm-site .method-title em{ color: var(--gold); }
body.bhm-site .method-text{ color: rgba(242,236,223,.86); max-width:44ch; }
body.bhm-site .steps{ grid-column: 8 / span 5; list-style:none; margin:0; padding: 6vh 0 10vh 40px !important; border-left:1px solid var(--line); }
body.bhm-site .step{ position:relative; padding-block: clamp(36px, 8vh, 88px) !important; display:grid !important; gap:12px; }
body.bhm-site .step::before{ content:""; position:absolute; left:-45px; top: calc(clamp(36px, 8vh, 88px) + .9em); width:9px; height:9px; border-radius:50%; background: var(--bg); border:1px solid var(--line-strong); transition: background-color .5s, border-color .5s; }
body.bhm-site .step.is-active::before, body.bhm-site .step.is-past::before{ background: var(--gold); border-color: var(--gold); }
body.bhm-site .step-n{ font-size: clamp(2.4rem, 3.6vw, 3.6rem); line-height:.9; color: var(--ink-3); transition: color .6s; }
body.bhm-site .step-h{ font-size: clamp(1.6rem, 2.2vw, 2.1rem) !important; color: var(--ink-2); transition: color .6s; }
body.bhm-site .step-p{ color: var(--ink-3); max-width:42ch; transition: color .6s; }
body.bhm-site .step.is-active .step-n{ color: var(--gold-ink); }
body.bhm-site .step.is-active .step-h{ color: var(--ink); }
body.bhm-site .step.is-active .step-p{ color: var(--ink-2); }

/* ---------- Réalisations défilantes ---------- */
body.bhm-site .works{ padding-block: clamp(90px,14vh,170px) clamp(80px,12vh,140px) !important; overflow:hidden; }
body.bhm-site .works-head{ display:flex !important; flex-direction:row !important; justify-content:space-between; align-items:end; gap:24px; margin-bottom: clamp(36px,6vh,64px); }
body.bhm-site .works-intro{ display:grid !important; gap:14px; }
body.bhm-site .works-viewport{ overflow:hidden; }
body.bhm-site .works-track{ display:flex !important; flex-direction:row !important; width:max-content !important; will-change:transform; }
body.bhm-site .work{ flex:none; display:grid !important; gap:14px; align-content:start; padding-right: var(--col-gap) !important; width:auto !important; }
body.bhm-site .work .media{ height: clamp(240px, 46vh, 480px); width:auto; }
body.bhm-site .work .media > a{ height:100%; }
body.bhm-site .work .media img{ height:100% !important; width:auto !important; max-width:none; }
body.bhm-site .work-cap, body.bhm-site .g-cap, body.bhm-site .reel-cap, body.bhm-site .caption{ font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color: var(--ink-2); }
body.bhm-site .work-cap p, body.bhm-site .g-cap p, body.bhm-site .caption p{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; }
body.bhm-site .work-cap b, body.bhm-site .g-cap b, body.bhm-site .caption b{ font-weight:400; color: var(--ink); }
body.bhm-site .work-cap{ width:0; min-width:100%; }

/* ---------- vidéos chantier ---------- */
body.bhm-site .reel{ display:grid !important; grid-template-columns: repeat(5, minmax(0,1fr)); gap: var(--col-gap); align-items:start; }
body.bhm-site .reel-item{ display:grid !important; gap:14px; }

/* ---------- FAQ (accordéon Elementor) ---------- */
body.bhm-site .faq{ padding-top:0 !important; }
body.bhm-site .faq-grid{ display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); row-gap:40px; align-items:start; }
body.bhm-site .faq-head{ grid-column: 1 / span 4; display:grid !important; gap:22px; position:sticky !important; top: calc(var(--header-h) + 40px); }
body.bhm-site .faq-list{ grid-column: 6 / span 7; }
body.bhm-site .faq-list .elementor-accordion{ border-top:1px solid var(--line-strong); }
body.bhm-site .faq-list .elementor-accordion-item{ border:0 !important; border-bottom:1px solid var(--line-strong) !important; }
body.bhm-site .faq-list .elementor-tab-title{ display:flex; flex-direction:row-reverse; justify-content:space-between; align-items:center; gap:24px; padding:24px 0 !important; border:0 !important; cursor:pointer; }
body.bhm-site .faq-list .elementor-accordion-title{ font-family: var(--f-display); font-weight:400; font-size: clamp(1.3rem, 1.8vw, 1.65rem); line-height:1.25; color: var(--ink) !important; }
body.bhm-site .faq-list .elementor-tab-title:hover .elementor-accordion-title{ color: var(--gold-ink) !important; }
body.bhm-site .faq-list .elementor-accordion-icon{ color: var(--gold) !important; font-size:.8rem; width:auto !important; }
body.bhm-site .faq-list .elementor-accordion-icon svg{ fill: var(--gold); width:14px; }
body.bhm-site .faq-list .elementor-tab-content{ padding:0 0 26px !important; border:0 !important; color: var(--ink-2); max-width:60ch; }

/* ---------- CTA ---------- */
body.bhm-site .cta{ position:relative; min-height:90svh; display:grid !important; place-items:center; color: var(--light); overflow:hidden; }
body.bhm-site .cta-media{ position:absolute !important; inset:0; }
body.bhm-site .cta-media img, body.bhm-site .cta-media .elementor-widget-container{ width:100%; height:100% !important; }
body.bhm-site .cta-media img{ object-fit:cover; }
body.bhm-site .cta-media::after{ content:""; position:absolute; inset:0; background: rgba(8,7,5,.55); }
body.bhm-site .cta-inner{ position:relative; z-index:2; text-align:center; padding:0 var(--gutter) !important; display:grid !important; justify-items:center; gap:30px; width:100%; max-width:1100px; }
body.bhm-site .cta-title{ font-size: clamp(2.8rem, 7vw, 6rem) !important; color: var(--light); }
body.bhm-site .cta-title em{ color: var(--gold); }
body.bhm-site .cta-text{ color: rgba(242,236,223,.82); max-width:32em; }
body.bhm-site .tel-big{ font-size: clamp(1.8rem, 3.4vw, 2.8rem); color: var(--gold); letter-spacing:.04em; }
body.bhm-site .actions{ display:flex !important; flex-direction:row !important; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:8px; }

/* ---------- pages prestations ---------- */
body.bhm-site .p-intro{ display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); row-gap:56px; align-items:start; }
body.bhm-site .p-intro-text{ grid-column: 1 / span 6; display:grid !important; gap:34px; }
body.bhm-site .reading{ font-family: var(--f-display); font-size: clamp(1.45rem, 2vw, 1.9rem); line-height:1.32; color: var(--ink); }
body.bhm-site .p-intro-media{ grid-column: 8 / span 5; position:sticky !important; top: calc(var(--header-h) + 32px); display:grid !important; gap:14px; }
body.bhm-site .p-lists{ display:grid !important; grid-template-columns: 1fr 1fr; gap:40px var(--col-gap); }
body.bhm-site .p-list-h{ font-size:1.45rem !important; margin-bottom:10px !important; }
body.bhm-site .p-list-ul li{ padding:12px 0; border-bottom:1px solid var(--line); font-size:.95rem; display:flex; gap:14px; align-items:baseline; }
body.bhm-site .p-list-ul li::before{ content:""; flex:none; width:10px; height:1px; background: var(--gold); transform: translateY(-4px); }

body.bhm-site .gallery{ display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); row-gap: clamp(56px, 9vh, 120px); }
body.bhm-site .g-item{ margin:0; display:grid !important; gap:14px; align-content:start; }
body.bhm-site .g-a{ grid-column: 1 / span 5; }
body.bhm-site .g-b{ grid-column: 7 / span 6; margin-top:22vh !important; }
body.bhm-site .g-c{ grid-column: 2 / span 4; }
body.bhm-site .g-d{ grid-column: 7 / span 4; margin-top:-8vh !important; }
body.bhm-site .g-e{ grid-column: 1 / span 7; }
body.bhm-site .g-f{ grid-column: 9 / span 4; margin-top:16vh !important; }
body.bhm-site .note-photos{ margin-top:28px; font-size:.86rem; color: var(--ink-3); }

body.bhm-site .others{ display:grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--col-gap); }
body.bhm-site .card{ display:grid !important; gap:22px; align-content:start; }
body.bhm-site .card-h{ font-size: clamp(1.7rem, 2.2vw, 2.15rem) !important; transition: color .4s; }
body.bhm-site .card:hover .card-h{ color: var(--gold-ink); }

/* avant / après */
body.bhm-site .ba-wrap{ display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); align-items:center; row-gap:40px; }
body.bhm-site .ba{ grid-column: 1 / span 6; position:relative; aspect-ratio: 3 / 4; max-height:88svh; overflow:hidden; user-select:none; touch-action: pan-y; cursor: ew-resize; background: var(--img-bg); }
body.bhm-site .ba > .elementor-widget-image{ position:absolute !important; inset:0; }
body.bhm-site .ba > .elementor-widget-image img, body.bhm-site .ba > .elementor-widget-image .elementor-widget-container{ width:100%; height:100% !important; }
body.bhm-site .ba > .elementor-widget-image img{ object-fit:cover; pointer-events:none; }
body.bhm-site .ba .ba-after{ clip-path: inset(0 0 0 var(--split, 50%)); }
body.bhm-site .ba-deco{ position:absolute !important; inset:0; pointer-events:none; }
body.bhm-site .ba-handle{ position:absolute; top:0; bottom:0; left: var(--split, 50%); width:1px; background: var(--light); transform: translateX(-.5px); }
body.bhm-site .ba-handle::after{ content:""; position:absolute; top:50%; left:50%; width:54px; height:54px; border:1px solid var(--light); border-radius:50%; transform: translate(-50%,-50%); backdrop-filter: blur(6px); background: rgba(8,7,5,.18); }
body.bhm-site .ba-label{ position:absolute; top:18px; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color: var(--light); padding:6px 10px; background: rgba(8,7,5,.35); }
body.bhm-site .ba-label.l{ left:18px; } body.bhm-site .ba-label.r{ right:18px; }
body.bhm-site .ba-text{ grid-column: 8 / span 4; display:grid !important; gap:24px; }

/* réalisations */
body.bhm-site .page-hero{ padding: calc(var(--header-h) + clamp(80px, 16vh, 180px)) var(--gutter) clamp(56px, 8vh, 96px) !important; }
body.bhm-site .page-h1{ font-size: clamp(3rem, 7.4vw, 6rem); max-width:12em; }
body.bhm-site .intro{ margin-top:36px; display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); }
body.bhm-site .intro-p{ grid-column: 7 / span 5; color: var(--ink-2); }
body.bhm-site .filters{ display:flex; flex-wrap:wrap; gap:8px 28px; margin-bottom:56px; }
body.bhm-site .filters button{ font-family: var(--f-text); font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color: var(--ink-2); padding:8px 0; position:relative; background:none; border:0; cursor:pointer; }
body.bhm-site .filters button:hover{ background:none; color: var(--ink); }
body.bhm-site .filters button[aria-pressed="true"]{ color: var(--gold-ink); }
body.bhm-site .filters button[aria-pressed="true"]::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:1px; background: var(--gold); }
body.bhm-site .masonry{ display:block !important; columns:3; column-gap: var(--col-gap); }
body.bhm-site .masonry .g-item{ break-inside: avoid; margin-bottom: clamp(36px, 5vh, 64px) !important; }
body.bhm-site .masonry .g-item.is-out{ display:none !important; }

/* contact */
body.bhm-site .contact-grid{ display:grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); column-gap: var(--col-gap); row-gap:64px; padding:0 var(--gutter) clamp(110px,16vh,200px) !important; }
body.bhm-site .contact-aside{ grid-column: 1 / span 4; display:grid !important; gap:40px; align-content:start; }
body.bhm-site .block{ display:grid !important; gap:10px; }
body.bhm-site .contact-aside .mail{ font-size:1.05rem; color: var(--ink); word-break: break-all; }
body.bhm-site .footer-big a.mail{ color: var(--ink); }
body.bhm-site .contact-aside .tel{ font-size: clamp(2.2rem, 3.4vw, 3rem); color: var(--gold-ink); line-height:1; }
body.bhm-site .contact-form{ grid-column: 6 / span 7; }

/* ---------- formulaires SureForms ---------- */
body.bhm-site .bhm-form .srfm-form-container, body.bhm-site .footer-form .srfm-form-container{ background:transparent !important; padding:0 !important; box-shadow:none !important; --srfm-bg-color: transparent; }
body.bhm-site .bhm-form form, body.bhm-site .footer-form form{
  --srfm-color-scheme-primary: var(--gold); --srfm-color-scheme-text-on-primary: var(--on-gold); --srfm-color-scheme-text: var(--ink);
  --srfm-color-input-label: var(--ink-2); --srfm-color-input-text: var(--ink); --srfm-color-input-background: transparent;
  --srfm-color-input-border: var(--line-strong); --srfm-color-input-placeholder: var(--ink-3); --srfm-color-input-prefix: var(--ink-3);
  --srfm-input-field-border-radius: 0;
}
body.bhm-site .bhm-form .srfm-block-label, body.bhm-site .footer-form .srfm-block-label{ font-family: var(--f-text) !important; font-size:.7rem !important; letter-spacing:.2em; text-transform:uppercase; color: var(--ink-2) !important; font-weight:400 !important; }
/* Champs en cases encadrées, libellé dans la case (modèle validé par Imad le 20/10/2026) */
body.bhm-site .bhm-form input:not([type=checkbox]):not([type=radio]), body.bhm-site .bhm-form textarea, body.bhm-site .bhm-form .srfm-input-common, body.bhm-site .bhm-form .ts-control, body.bhm-site .footer-form input:not([type=checkbox]):not([type=radio]), body.bhm-site .footer-form textarea, body.bhm-site .footer-form .srfm-input-common, body.bhm-site .footer-form .ts-control{
  font-family: var(--f-text) !important; font-size:1rem !important; font-weight:300 !important; color: var(--ink) !important;
  background: rgba(236,230,218,.04) !important; border:1px solid var(--line-strong) !important; border-radius:6px !important;
  box-shadow:none !important; padding:15px 18px !important; min-height:54px; line-height:1.4 !important;
}
body.bhm-site .bhm-form .srfm-input-common:has(input), body.bhm-site .footer-form .srfm-input-common:has(input), body.bhm-site .bhm-form .srfm-input-common:has(.ts-control), body.bhm-site .footer-form .srfm-input-common:has(.ts-control){ background:none !important; border:0 !important; padding:0 !important; min-height:0; }
body.bhm-site .bhm-form textarea, body.bhm-site .footer-form textarea{ min-height:150px; resize:vertical; }
body.bhm-site .footer-form textarea{ min-height:110px; }
body.bhm-site .bhm-form ::placeholder, body.bhm-site .footer-form ::placeholder{ color: var(--ink-3) !important; opacity:1; }
body.bhm-site .bhm-form .ts-control .item, body.bhm-site .bhm-form .ts-control input, body.bhm-site .footer-form .ts-control .item{ color: var(--ink) !important; font-size:1rem !important; }
html .bhm-form .srfm-form .ts-wrapper.single .ts-control, html .footer-form .srfm-form .ts-wrapper.single .ts-control{ padding:15px 44px 15px 18px !important; min-height:54px !important; height:auto !important; cursor:pointer; align-items:center; }
body.bhm-site .bhm-form .ts-control-placeholder, body.bhm-site .bhm-form .ts-control > input::placeholder, body.bhm-site .footer-form .ts-control-placeholder, body.bhm-site .footer-form .ts-control > input::placeholder{ color: var(--ink-3) !important; font-size:1rem !important; font-weight:300; }
body.bhm-site .bhm-form .ts-wrapper, body.bhm-site .bhm-form .srfm-dropdown-common-wrap, body.bhm-site .footer-form .ts-wrapper, body.bhm-site .footer-form .srfm-dropdown-common-wrap{ width:100%; height:auto !important; }
body.bhm-site .bhm-form .ts-control .clear-button, body.bhm-site .footer-form .ts-control .clear-button{ display:none !important; }
body.bhm-site .bhm-form .ts-wrapper .ts-control::after, body.bhm-site .bhm-form .srfm-dropdown-icon, body.bhm-site .footer-form .ts-wrapper .ts-control::after, body.bhm-site .footer-form .srfm-dropdown-icon{ color: var(--ink-2) !important; }
body.bhm-site .bhm-form .ts-dropdown, body.bhm-site .footer-form .ts-dropdown{ background: var(--bg-2) !important; color: var(--ink) !important; border:1px solid var(--line-strong) !important; border-radius:6px !important; margin-top:6px; }
body.bhm-site .bhm-form .ts-dropdown .option, body.bhm-site .footer-form .ts-dropdown .option{ color: var(--ink) !important; padding:10px 18px !important; }
body.bhm-site .bhm-form .ts-dropdown .option.active, body.bhm-site .bhm-form .ts-dropdown .option:hover, body.bhm-site .footer-form .ts-dropdown .option.active, body.bhm-site .footer-form .ts-dropdown .option:hover{ background: var(--gold-soft) !important; color: var(--ink) !important; }
body.bhm-site .bhm-form input:focus, body.bhm-site .bhm-form textarea:focus, body.bhm-site .bhm-form .ts-control.focus, body.bhm-site .bhm-form .ts-wrapper.focus .ts-control, body.bhm-site .footer-form input:focus, body.bhm-site .footer-form textarea:focus, body.bhm-site .footer-form .ts-wrapper.focus .ts-control{ border-color: var(--gold) !important; outline:none !important; background: rgba(236,230,218,.06) !important; }
/* Téléphone : pas de drapeau (France par défaut), comme le modèle */
body.bhm-site .bhm-form .iti__country-container, body.bhm-site .bhm-form .iti__flag-container, body.bhm-site .footer-form .iti__country-container, body.bhm-site .footer-form .iti__flag-container{ display:none !important; }
body.bhm-site .bhm-form .iti input, body.bhm-site .footer-form .iti input{ padding-left:18px !important; }
body.bhm-site .bhm-form .iti, body.bhm-site .footer-form .iti{ width:100%; }
body.bhm-site .bhm-form form, body.bhm-site .footer-form form{ --srfm-row-gap-between-blocks: 22px; --srfm-col-gap-between-fields: 24px; --srfm-input-field-padding: 15px 18px; --srfm-dropdown-padding-right-icon: 44px; }
body.bhm-site .bhm-form .srfm-submit-button, body.bhm-site .footer-form .srfm-submit-button, body.bhm-site .bhm-form button[type=submit], body.bhm-site .footer-form button[type=submit]{
  font-family: var(--f-text) !important; font-weight:400 !important; font-size:.78rem !important; letter-spacing:.2em !important; text-transform:uppercase !important;
  background: var(--gold) !important; color: var(--on-gold) !important; border:1px solid var(--gold) !important; border-radius:6px !important; height:54px; padding:0 32px !important; box-shadow:none !important;
}
body.bhm-site .bhm-form .srfm-submit-button:hover, body.bhm-site .footer-form .srfm-submit-button:hover{ background: var(--ink) !important; border-color: var(--ink) !important; }
body.bhm-site .bhm-form .srfm-success-box, body.bhm-site .footer-form .srfm-success-box{ background:transparent !important; color: var(--ink) !important; border:1px solid var(--gold) !important; }

/* ---------- pied de page ---------- */
body.bhm-site .site-footer{ width:auto; max-width:none; margin:0; padding: clamp(80px,12vh,140px) var(--gutter) 36px; border-top:1px solid var(--line); position:relative; z-index:3; background: var(--bg); }
body.bhm-site .footer-grid{ display:grid; grid-template-columns: repeat(12, minmax(0,1fr)); grid-template-rows: auto 1fr; column-gap: var(--col-gap); row-gap:48px; }
body.bhm-site .footer-brand{ grid-column: 1 / span 3; display:grid; gap:26px; align-content:start; }
body.bhm-site .footer-brand img{ width:92px; }
body.bhm-site .footer-col{ grid-column: span 2; display:grid; gap:10px; align-content:start; font-size:.95rem; }
body.bhm-site .footer-col .label{ margin-bottom:8px; }
body.bhm-site .footer-col a{ color: var(--ink-2); transition: color .3s; width:fit-content; }
body.bhm-site .footer-col a:hover{ color: var(--gold-ink); }
body.bhm-site .footer-big{ grid-column: 1 / span 3; grid-row:2; display:grid; gap:14px; align-content:start; }
body.bhm-site .footer-big a.tel{ font-family: var(--f-display); font-size: clamp(1.8rem, 2.6vw, 2.4rem); color: var(--gold-ink); }
body.bhm-site .footer-form{ grid-column: 8 / span 5; grid-row: 1 / span 2; display:grid; gap:18px; align-content:start; }
body.bhm-site .footer-bottom{ margin-top: clamp(64px,10vh,120px); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color: var(--ink-3); }

/* ---------- éditeur Elementor : tout visible ---------- */
body.bhm-site.elementor-editor-active .bhm-fade, body.bhm-site.elementor-editor-active .bhm-clip, body.bhm-site.elementor-editor-active .bhm-split{ opacity:1 !important; visibility:visible !important; transform:none !important; clip-path:none !important; }
body.bhm-site.elementor-editor-active .hero-fallback .hero-slide:first-child{ opacity:1; }
body.bhm-site.elementor-editor-active .method-img:first-child{ opacity:1; }

/* ---------- responsive ---------- */
@media (max-width:1100px){
  body.bhm-site .band{ flex-direction:column !important; }
  body.bhm-site .band-title{ width:auto !important; padding:22px var(--gutter) 0; }
  body.bhm-site .band-list{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.bhm-site .band-item{ border-left:0; border-top:1px solid var(--line); }
  body.bhm-site .footer-brand, body.bhm-site .footer-big, body.bhm-site .footer-form{ grid-column: 1 / -1; grid-row:auto; }
  body.bhm-site .footer-col{ grid-column: span 6; }
  body.bhm-site .masonry{ columns:2; }
}
@media (max-width:820px){
  body.bhm-site .section-head{ display:block !important; }
  body.bhm-site .section-head > .side{ margin-top:22px; }
  body.bhm-site .hero-content, body.bhm-site .p-hero .hero-content{ grid-template-columns: 1fr; }
  body.bhm-site .hero-side{ justify-self:start; }
  body.bhm-site .hero-slides{ gap:14px; }
  body.bhm-site .hero-slides i{ width:44px; }
  body.bhm-site .hero-scroll{ display:none; }
  body.bhm-site .band-item{ padding:20px var(--gutter) !important; flex-direction:column !important; align-items:flex-start; }
  body.bhm-site .about2, body.bhm-site .p-intro, body.bhm-site .svc-row, body.bhm-site .method-grid, body.bhm-site .faq-grid, body.bhm-site .gallery, body.bhm-site .ba-wrap, body.bhm-site .contact-grid, body.bhm-site .intro{ grid-template-columns: 1fr !important; }
  body.bhm-site .about2-video{ grid-column:1; width:78% !important; }
  body.bhm-site .about2-text, body.bhm-site .row-media, body.bhm-site .row-text, body.bhm-site .svc-row.rev .row-media, body.bhm-site .svc-row.rev .row-text, body.bhm-site .p-intro-text, body.bhm-site .p-intro-media, body.bhm-site .steps, body.bhm-site .faq-head, body.bhm-site .faq-list, body.bhm-site .ba, body.bhm-site .ba-text, body.bhm-site .contact-aside, body.bhm-site .contact-form, body.bhm-site .intro-p, body.bhm-site .g-item{ grid-column:1 !important; grid-row:auto !important; position:relative !important; top:auto; margin-top:0 !important; }
  body.bhm-site .about2{ row-gap:32px; }
  body.bhm-site .facts{ grid-template-columns: 1fr; }
  body.bhm-site .row-media .inset{ width:34% !important; bottom:-8%; right:-2%; }
  body.bhm-site .svc-row.rev .row-media .inset{ left:auto; right:-2%; }
  body.bhm-site .row-text{ padding-top:30px !important; }
  body.bhm-site .method-visual{ grid-column:1; position:relative !important; top:0; height:70svh; }
  body.bhm-site .steps{ padding: 2vh 0 0 30px !important; }
  body.bhm-site .step::before{ left:-35px; }
  body.bhm-site .works-head{ flex-direction:column !important; align-items:flex-start; }
  body.bhm-site .work .media{ height:300px; }
  body.bhm-site .reel{ display:flex !important; flex-direction:row !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter) !important; }
  body.bhm-site .reel-item{ flex: 0 0 62vw; scroll-snap-align:start; }
  body.bhm-site .p-lists{ grid-template-columns: 1fr; }
  body.bhm-site .others{ grid-template-columns: 1fr; gap:56px; }
  body.bhm-site .masonry{ columns:1; }
  body.bhm-site .footer-col{ grid-column: span 6; }
}
@media (prefers-reduced-motion: reduce){
  body.bhm-site *, body.bhm-site *::before, body.bhm-site *::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
