/* ==========================================================================
   ARTELEC — SITE PUBLIC
   Fichier : /assets/css/public.css
   Style moderne unifié : index + services + espace clients + modales
   ========================================================================== */

/* =========================
   VARIABLES — MODERNE ARTELEC
   ========================= */

:root{
  --ar-bg-1: #eef2f6;
  --ar-bg-2: #f7f9fb;
  --ar-bg-3: #e8eef5;

  --ar-navy-950: #04101d;
  --ar-navy-900: #071425;
  --ar-navy-800: #0b1e37;
  --ar-navy-700: #102b4f;

  --ar-text: #0f172a;
  --ar-text-soft: #334155;
  --ar-text-muted: #64748b;

  --ar-white: #ffffff;
  --ar-surface: #ffffff;
  --ar-surface-soft: #f8fafc;
  --ar-surface-blue: #eef5ff;

  --ar-primary: #0891b2;
  --ar-primary-2: #0e7490;
  --ar-primary-3: #2563eb;
  --ar-primary-soft: #e6f7fa;

  --ar-success: #047857;
  --ar-warning: #a16207;
  --ar-danger: #b91c1c;

  --ar-border: #dce4ec;
  --ar-border-strong: #c9d7e6;

  --ar-shadow-sm: 0 5px 18px rgba(15,23,42,.045);
  --ar-shadow-md: 0 16px 42px rgba(15,23,42,.075);
  --ar-shadow-lg: 0 12px 26px rgba(12,27,47,.11);

  --ar-radius-sm: 10px;
  --ar-radius-md: 14px;
  --ar-radius-lg: 14px;
  --ar-radius-xl: 14px;

  --brand-accent: var(--ar-primary-2);
  --font-main: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* =========================
   BASE
   ========================= */

*{
  box-sizing: border-box;
}

html{
  min-height: 100%;
  scroll-behavior: smooth;
}

body{
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
  font-family: var(--font-main);
  color: var(--ar-text);
  background:
    radial-gradient(900px 520px at 10% -10%, rgba(31,155,183,.16), transparent 58%),
    radial-gradient(760px 460px at 98% 0%, rgba(23,111,143,.10), transparent 56%),
    linear-gradient(180deg, var(--ar-bg-1) 0%, var(--ar-bg-2) 48%, var(--ar-bg-3) 100%);
}

main{
  flex: 1 0 auto;
}

a{
  color: inherit;
}

button,
a{
  -webkit-tap-highlight-color: transparent;
}

img{
  max-width: 100%;
}

::selection{
  color: #fff;
  background: var(--ar-primary);
}

/* =========================
   HEADER / NAVBAR
   ========================= */

.site-navbar,
.navbar.navbar-dark{
  min-height: 76px;
  padding-block: 10px;
  color: #fff;
  background: linear-gradient(115deg,#081629 0%,#102b47 62%,#0e4c5d 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 7px 24px rgba(7,17,31,.2);
  z-index: 20;
}

.site-navbar .container,
.navbar.navbar-dark .container{
  min-height: 52px;
  display: flex;
  align-items: center;
}

.site-brand,
.navbar-brand{
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: 0;
  color: #fff !important;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-decoration: none;
}

.site-brand:hover,
.navbar-brand:hover{
  color: #fff !important;
}

.site-brand__bolt{
  color: var(--ar-primary-2);
}

.navbar-nav{
  display: flex;
  align-items: center;
  gap: .45rem;
}

.navbar .nav-item{
  display: flex;
}

.navbar .nav-link{
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem 1rem;
  border-radius: 12px;
  color: #f8fafc !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  font-weight: 600;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    transform .18s ease,
    color .18s ease,
    box-shadow .18s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active{
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(103,232,249,.28) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.16);
  transform: translateY(-1px);
  outline: none;
}

.navbar .nav-link:focus-visible{
  outline: 3px solid rgba(31,155,183,.28) !important;
  outline-offset: 2px;
}

.navbar-toggler{
  min-height: 44px;
  border-color: rgba(255,255,255,.22);
}

.navbar-toggler:focus{
  box-shadow: 0 0 0 .2rem rgba(31,155,183,.22);
}

.navbar-dark .navbar-toggler-icon{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* =========================
   BOUTONS
   ========================= */

.btn{
  position: relative;
  overflow: hidden;
  border-radius: 7px;
  border: 1px solid rgba(22,50,79,.12);
  font-weight: 700;
  transition:
    transform .16s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background-color .22s ease,
    color .22s ease;
}

.btn:hover,
.btn:focus{
  transform: translateY(-1px);
}

.btn:focus-visible{
  outline: 3px solid rgba(31,155,183,.28);
  outline-offset: 2px;
}

.btn-primary,
.btn-warning{
  color: #fff !important;
  background: linear-gradient(135deg, var(--ar-primary), var(--ar-primary-2)) !important;
  border-color: rgba(31,155,183,.55) !important;
  box-shadow: 0 14px 30px rgba(31,155,183,.22);
}

.btn-primary:hover,
.btn-warning:hover{
  color: #fff !important;
  box-shadow: 0 18px 38px rgba(31,155,183,.28);
}

.btn-outline-light,
.btn-dark,
.btn-outline-primary{
  color: var(--ar-primary) !important;
  background: #fff !important;
  border-color: rgba(23,111,143,.30) !important;
  box-shadow: 0 10px 22px rgba(22,50,79,.08);
}

.btn-outline-light:hover,
.btn-dark:hover,
.btn-outline-primary:hover{
  color: #fff !important;
  background: var(--ar-primary) !important;
  border-color: var(--ar-primary) !important;
}

.btn-link{
  color: var(--ar-primary) !important;
  text-decoration: none;
  font-weight: 700;
}

.btn-link:hover{
  color: var(--ar-primary-2) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ripple{
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
  background: rgba(255,255,255,.38);
  pointer-events: none;
  animation: ripple .65s ease-out;
}

@keyframes ripple{
  to{
    transform: scale(2.8);
    opacity: 0;
  }
}

/* =========================
   HERO INDEX — PHOTO + BANDEAU NAVY TRANSPARENT
   ========================= */

.hero.hero-slider{
  min-height: clamp(520px, 72vh, 720px);
  padding: 0;
  overflow: hidden;
  position: relative;
  display: block;
  text-align: center;
  color: #fff;
  background: linear-gradient(145deg, var(--ar-bg-2), var(--ar-bg-1));
  background-position: center;
  background-size: cover;
  isolation: isolate;
}

.hero.hero-slider::before,
.hero.hero-slider::after{
  content: none;
}

.hero-slider .carousel,
.hero-slider .carousel-inner,
.hero-slider .carousel-item{
  min-height: clamp(520px, 72vh, 720px);
}

.hero-slide{
  min-height: clamp(520px, 72vh, 720px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(26px, 4vw, 44px);
  position: relative;
}

.hero-slide::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,16,29,.22) 0%, rgba(4,16,29,.10) 45%, rgba(4,16,29,.03) 100%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.04));
  pointer-events: none;
  z-index: 0;
}

.hero-inner{
  position: relative;
  z-index: 1;
  width: min(900px, calc(100% - 48px));
  max-width: 900px;
  margin-inline: auto;
  padding: clamp(24px, 3.5vw, 38px) clamp(18px, 3vw, 34px);
  border-radius: 18px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(4,16,29,.72), rgba(11,30,55,.58));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    0 18px 48px rgba(4,16,29,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.hero-kicker{
  margin: 0 0 10px;
  color: #7be9ff;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .78rem;
  font-weight: 800;
}

.hero-inner h1{
  margin: 0;
  color: #fff;
  letter-spacing: -.045em;
  text-shadow: 0 3px 14px rgba(0,0,0,.32);
}

.hero-inner .lead{
  max-width: 820px;
  margin: 14px auto 0;
  color: rgba(255,255,255,.88);
  line-height: 1.62;
  text-shadow: 0 2px 10px rgba(0,0,0,.22);
}

.hero-actions{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.hero-inner .btn{
  box-shadow: 0 12px 30px rgba(4,16,29,.18);
}

.hero-inner .btn-outline-light,
.hero-inner .btn-dark,
.hero-inner .btn-outline-primary{
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.34) !important;
}

.hero-inner .btn-outline-light:hover,
.hero-inner .btn-dark:hover,
.hero-inner .btn-outline-primary:hover{
  color: #04101d !important;
  background: #fff !important;
  border-color: #fff !important;
}

.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next{
  z-index: 3;
  width: 8%;
  opacity: .52;
}

.hero-slider .carousel-control-prev:hover,
.hero-slider .carousel-control-next:hover{
  opacity: .86;
}

.hero-indicators{
  z-index: 3;
  bottom: 30px;
  margin-bottom: 0;
}

.hero-indicators [data-bs-target]{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  opacity: .42;
  background-color: #fff;
}

.hero-indicators .active{
  opacity: .95;
  background-color: var(--ar-primary-3);
}

/* Prise de connaissance avant l’envoi d’une demande de devis. */
.mdv-confidentialite[hidden]{
  display: none;
}

.mdv-confidentialite{
  position: fixed;
  z-index: 1090;
  inset: 0;
  display: grid;
  padding: 14px;
  place-items: center;
  background: rgba(8, 22, 41, .76);
  backdrop-filter: blur(3px);
}

.mdv-confidentialite-dialogue{
  display: grid;
  width: min(100%, 780px);
  max-height: min(90vh, 840px);
  max-height: min(90dvh, 840px);
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  box-shadow: 0 24px 70px rgba(5, 12, 23, .34);
}

.mdv-confidentialite-entete,
.mdv-confidentialite-pied{
  padding: 15px 18px;
}

.mdv-confidentialite-entete{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #dbe3ec;
}

.mdv-confidentialite-entete h5,
.mdv-confidentialite-pied p{
  margin: 0;
}

.mdv-confidentialite-fermer{
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  padding: 0;
  place-items: center;
  color: #0f172a;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  font-size: 1.35rem;
}

.mdv-confidentialite-contenu{
  min-height: 180px;
  padding: 20px 22px;
  overflow: auto;
  color: #334155;
  font-size: .9rem;
  line-height: 1.6;
  overscroll-behavior: contain;
}

.mdv-confidentialite-contenu h2,
.mdv-confidentialite-contenu h3{
  color: #0f172a;
}

.mdv-confidentialite-contenu table{
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

.mdv-confidentialite-contenu th,
.mdv-confidentialite-contenu td{
  padding: 8px;
  border: 1px solid #dbe3ec;
  vertical-align: top;
}

.mdv-confidentialite-pied{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid #dbe3ec;
}

.mdv-confidentialite-pied p{
  color: #64748b;
  font-size: .8rem;
}

@media (max-width: 575.98px){
  .mdv-confidentialite{
    padding: 7px;
  }

  .mdv-confidentialite-dialogue{
    max-height: calc(100dvh - 14px);
  }

  .mdv-confidentialite-entete,
  .mdv-confidentialite-pied{
    padding: 12px;
  }

  .mdv-confidentialite-contenu{
    padding: 15px;
  }

  .mdv-confidentialite-pied{
    align-items: stretch;
    flex-direction: column;
  }
}

/* =========================
   ACCUEIL PUBLIC — VITRINE STRUCTURÉE SANS PHOTO
   ========================= */

.home-intro{
  padding: clamp(32px, 5vw, 58px) 0 20px;
}

.home-intro__panel{
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, .65fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: stretch;
  padding: clamp(26px, 5vw, 54px);
  border: 1px solid var(--ar-border-strong);
  border-left: 4px solid #2563eb;
  border-radius: var(--ar-radius-xl);
  background: linear-gradient(155deg,#fff 0%,#f8fbff 100%);
  box-shadow: var(--ar-shadow-md);
}

.home-intro__copy{
  align-self: center;
  min-width: 0;
}

.home-intro h1{
  max-width: 790px;
  margin: 0;
  color: var(--ar-text);
  font-size: clamp(2.15rem, 5vw, 4.2rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  font-weight: 800;
}

.home-intro__lead{
  max-width: 760px;
  margin: 20px 0 0;
  color: var(--ar-text-soft);
  font-size: clamp(1rem, 1.8vw, 1.16rem);
  line-height: 1.65;
}

.home-intro__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.home-intro__summary{
  display: grid;
  align-content: start;
  gap: 18px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--ar-border);
  border-radius: var(--ar-radius-lg);
  background: #f8fafc;
}

.home-intro__brand{
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ar-border);
}

.home-intro__brand img{
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  object-fit: contain;
}

.home-intro__brand div{
  min-width: 0;
  display: grid;
  gap: 3px;
}

.home-intro__brand strong{
  color: var(--ar-text);
  letter-spacing: .1em;
  font-weight: 800;
}

.home-intro__brand span{
  color: var(--ar-text-muted);
  font-size: .82rem;
  line-height: 1.35;
}

.home-intro__facts{
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-intro__facts li{
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  color: var(--ar-text-soft);
  line-height: 1.4;
}

.home-intro__facts i{
  color: var(--ar-primary);
  font-size: 1.05rem;
}

.home-intro__phone{
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--ar-border-strong);
  border-radius: 7px;
  color: var(--ar-text);
  background: #fff;
  text-decoration: none;
  font-weight: 750;
}

.home-intro__phone:hover{
  color: var(--ar-primary-2);
  border-color: #94a3b8;
}

.section-more{
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.home-method{
  padding: clamp(48px, 7vw, 78px) 0;
  border-block: 1px solid var(--ar-border);
  background: #fff;
}

.home-method__steps{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.home-method__steps li{
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  padding: 22px;
  border: 1px solid var(--ar-border-strong);
  border-radius: var(--ar-radius-lg);
  background: #f8fafc;
}

.home-method__number{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #fff;
  background: #0891b2;
  font-weight: 800;
  box-shadow: 0 3px 8px rgba(8,145,178,.18);
}

.home-method h3{
  margin: 0;
  color: var(--ar-text);
  font-size: 1.02rem;
  font-weight: 800;
}

.home-method__steps p{
  margin: 7px 0 0;
  color: var(--ar-text-soft);
  line-height: 1.55;
}

.home-method__actions{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

@media (max-width: 991.98px){
  .home-intro__panel{
    grid-template-columns: 1fr;
  }

  .home-method__steps{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px){
  .home-intro{
    padding-top: 18px;
  }

  .home-intro__panel{
    padding: 22px 18px;
  }

  .home-intro__actions .btn,
  .home-method__actions .btn,
  .section-more .btn{
    width: 100%;
  }

  .home-intro__summary{
    padding: 18px;
  }

  .home-method__steps li{
    padding: 18px;
  }
}

/* =========================
   SECTIONS COMMUNES
   ========================= */

.section-padding{
  padding: clamp(54px, 7vw, 84px) 0;
  position: relative;
  z-index: 2;
}

.section-heading{
  max-width: 760px;
  margin-inline: auto;
  margin-bottom: clamp(28px, 5vw, 44px);
}

.section-kicker,
.eyebrow{
  margin: 0 0 8px;
  color: var(--ar-primary);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .76rem;
  font-weight: 800;
}

.section-heading h2,
.section-zone h2,
.section-padding h2{
  color: var(--ar-text);
  font-weight: 800;
  letter-spacing: -.035em;
}

.section-heading p,
.section-zone p,
.section-padding p{
  color: var(--ar-text-soft);
  line-height: 1.65;
}

/* =========================
   SERVICES / CARTES
   ========================= */

.section-services{
  background:
    radial-gradient(800px 420px at 18% -10%, rgba(31,155,183,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.06));
}

.icon-box{
  min-height: 100%;
  padding: clamp(22px, 3vw, 28px);
  border-radius: var(--ar-radius-lg);
  color: var(--ar-text);
  background: #fff;
  border: 1px solid rgba(22,50,79,.10);
  box-shadow: var(--ar-shadow-md);
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease;
}

.icon-box:hover{
  transform: translateY(-4px);
  border-color: rgba(31,155,183,.26);
  box-shadow: var(--ar-shadow-lg);
}

.icon-box__icon{
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 17px;
  color: var(--ar-primary);
  background: var(--ar-primary-soft);
  border: 1px solid rgba(31,155,183,.18);
  font-size: 1.7rem;
}

.icon-box h3{
  margin: 18px 0 0;
  color: var(--ar-text);
  font-size: 1.12rem;
  font-weight: 800;
}

.icon-box p{
  margin: 12px 0 18px;
  color: var(--ar-text-soft);
  line-height: 1.65;
}

.icon-box ul,
.icon-box ol{
  color: var(--ar-text-soft);
  line-height: 1.75;
}

.icon-box__link{
  padding: 0;
}

/* Couleurs Bootstrap contrôlées */
.text-primary,
.text-success,
.text-danger,
.text-warning,
.text-info{
  color: var(--ar-primary) !important;
}

/* =========================
   ZONE INTERVENTION
   ========================= */

.section-zone{
  padding: clamp(42px, 6vw, 64px) 0;
  color: var(--ar-text);
  background:
    radial-gradient(800px 420px at 20% -20%, rgba(31,155,183,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.50), rgba(255,255,255,.22));
  border-block: 1px solid rgba(22,50,79,.08);
}

/* =========================
   FOOTER
   ========================= */

.site-footer,
footer{
  flex-shrink: 0;
  padding: 34px 0;
  color: #b9c7d8 !important;
  background: #081629 !important;
  border-top: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 -5px 18px rgba(7,17,31,.12);
}

.site-footer address,
footer address,
.site-footer .small,
footer .small,
.site-footer .text-md-end,
footer .text-md-end{
  color: #b9c7d8 !important;
}

.site-footer strong,
footer strong{
  color: #fff !important;
}

.site-footer a,
footer a{
  color: #8fd8e8 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-footer a:hover,
footer a:hover{
  color: #fff !important;
}

/* =========================
   MODALES
   ========================= */

.modal-content{
  color: var(--ar-text);
  background: #fff;
  border: 1px solid rgba(22,50,79,.10);
  border-radius: var(--ar-radius-lg);
  box-shadow: 0 28px 80px rgba(22,50,79,.22);
}

.modal-header{
  border-bottom: 1px solid rgba(22,50,79,.09);
}

.modal-title{
  color: var(--ar-text);
  font-weight: 800;
}

.modal-body,
.modal-body p,
.modal-body li,
.modal-body label{
  color: var(--ar-text-soft);
}

.btn-close{
  opacity: .72;
}

.btn-close:hover{
  opacity: 1;
}

.modal input,
.modal textarea,
.modal select,
.modal .form-control,
.modal .form-select{
  color: var(--ar-text);
  background: #fff;
  border: 1px solid rgba(22,50,79,.14);
  border-radius: 12px;
}

.modal input:focus,
.modal textarea:focus,
.modal select:focus,
.modal .form-control:focus,
.modal .form-select:focus{
  border-color: rgba(31,155,183,.48);
  box-shadow: 0 0 0 .2rem rgba(31,155,183,.16);
}

/* =========================
   PAGE SERVICES
   ========================= */

.page-services .hero{
  padding: 72px 0 56px;
}

.page-services .hero h1{
  color: var(--ar-text);
  font-weight: 800;
  letter-spacing: -.04em;
}

.page-services .hero .lead{
  color: var(--ar-text-soft);
}

.page-services .section-padding{
  padding-top: 72px;
  padding-bottom: 72px;
}

.page-services .icon-box .btn-link{
  color: var(--ar-primary);
  text-decoration: none;
  font-weight: 700;
}

.page-services .icon-box .btn-link:hover{
  color: var(--ar-primary-2);
  text-decoration: underline;
}

/* =========================
   PAGE ESPACE CLIENTS
   ========================= */

.page-espace-client{
  color: var(--ar-text);
}

.page-espace-client .section-hero{
  padding: clamp(64px, 8vw, 96px) 0 clamp(52px, 7vw, 78px);
}

.page-espace-client h1{
  max-width: 760px;
  margin: 0;
  color: var(--ar-text);
  font-size: clamp(2.2rem, 4.6vw, 4rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.page-espace-client .lead{
  max-width: 700px;
  margin-top: 22px;
  color: var(--ar-text-soft);
  font-size: 1.12rem;
  line-height: 1.75;
}

.page-espace-client .small{
  color: var(--ar-text-muted) !important;
}

.page-espace-client .client-preview-card{
  border-radius: 24px;
  padding: clamp(22px, 3vw, 30px);
  color: var(--ar-text);
  background: #fff;
  border: 1px solid rgba(22,50,79,.10);
  box-shadow: var(--ar-shadow-md);
}

.page-espace-client .client-preview-header{
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(22,50,79,.10);
  color: var(--ar-text);
}

.page-espace-client .client-preview-dot{
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: var(--ar-primary-2);
  box-shadow: 0 0 0 6px rgba(31,155,183,.14);
}

.page-espace-client .client-preview-list{
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.page-espace-client .client-preview-list li{
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ar-text-soft);
  font-weight: 700;
}

.page-espace-client .client-preview-list i{
  color: var(--ar-primary);
  font-size: 1.15rem;
}

.page-espace-client .feature-card,
.page-espace-client .client-cta-card,
.page-espace-client .cta-card{
  height: 100%;
  padding: clamp(22px, 3vw, 28px);
  border-radius: 22px;
  color: var(--ar-text);
  background: #fff;
  border: 1px solid rgba(22,50,79,.10);
  box-shadow: var(--ar-shadow-md);
}

.page-espace-client .feature-card i{
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  border-radius: 16px;
  color: var(--ar-primary);
  background: var(--ar-primary-soft);
  border: 1px solid rgba(31,155,183,.18);
  font-size: 1.35rem;
}

.page-espace-client .feature-card h3{
  margin: 0 0 10px;
  color: var(--ar-text);
  font-size: 1.08rem;
  font-weight: 800;
}

.page-espace-client .feature-card p{
  margin: 0;
  color: var(--ar-text-soft);
  line-height: 1.65;
}

.page-espace-client .client-cta-card,
.page-espace-client .cta-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.page-espace-client .client-cta-card h2,
.page-espace-client .cta-card h2{
  color: var(--ar-text);
  font-weight: 800;
}

/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 991.98px){
  .site-navbar,
  .navbar.navbar-dark{
    min-height: 68px;
    padding-block: 8px;
  }

  .site-navbar .navbar-collapse,
  .navbar .navbar-collapse{
    align-items: stretch;
    padding-top: 10px;
  }

  .navbar-nav{
    align-items: stretch;
  }

  .navbar .nav-link{
    justify-content: flex-start;
    width: 100%;
  }

  .page-espace-client .section-hero{
    padding-top: 54px;
    padding-bottom: 48px;
  }

  .page-espace-client .client-cta-card,
  .page-espace-client .cta-card{
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 640px){
  .hero.hero-slider,
  .hero-slider .carousel,
  .hero-slider .carousel-inner,
  .hero-slider .carousel-item,
  .hero-slide{
    min-height: 580px;
  }

  .hero-slide{
    padding: 18px;
  }

  .hero-inner{
    width: min(100%, calc(100% - 10px));
    padding: 24px 18px;
    border-radius: 16px;
    background:
      linear-gradient(135deg, rgba(4,16,29,.76), rgba(11,30,55,.64));
  }

  .hero-inner h1{
    font-size: clamp(2rem, 10vw, 2.65rem);
  }

  .hero-inner .lead{
    font-size: 1rem;
  }

  .hero-actions .btn{
    width: 100%;
  }

  .hero-slider .carousel-control-prev,
  .hero-slider .carousel-control-next{
    display: none;
  }

  .hero-indicators{
    bottom: 20px;
  }

  .section-padding{
    padding: 46px 0;
  }

  .section-zone{
    padding: 42px 0;
  }

  .page-espace-client .client-preview-card,
  .page-espace-client .feature-card,
  .page-espace-client .client-cta-card,
  .page-espace-client .cta-card{
    border-radius: 18px;
  }
}

/* ==========================================================================
   HERO BANNER — RESPONSIVE MOBILE
   ========================================================================== */

@media (max-width: 768px){
  .hero.hero-slider{
    min-height: 620px;
    background-position: 68% center;
  }

  .hero-slider .carousel,
  .hero-slider .carousel-inner,
  .hero-slider .carousel-item,
  .hero-slide{
    min-height: 620px;
  }

  .hero-slide{
    align-items: flex-end;
    justify-content: center;
    padding: 22px 16px 34px;
  }

  .hero-slide::before{
    background:
      linear-gradient(
        180deg,
        rgba(4, 16, 29, .18) 0%,
        rgba(4, 16, 29, .30) 36%,
        rgba(4, 16, 29, .86) 100%
      );
  }

  .hero-inner{
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 22px 18px;
    border-radius: 18px;
    color: #ffffff;
    background: rgba(4, 16, 29, .62);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 18px 45px rgba(0,0,0,.28);
    backdrop-filter: blur(8px) saturate(120%);
    -webkit-backdrop-filter: blur(8px) saturate(120%);
  }

  .hero-kicker{
    color: #7fe7ff;
  }

  .hero-inner h1{
    color: #ffffff;
    font-size: clamp(2rem, 10vw, 3rem);
    line-height: 1.02;
    text-shadow: 0 4px 18px rgba(0,0,0,.45);
  }

  .hero-inner .lead{
    color: rgba(255,255,255,.88);
    font-size: 1rem;
    line-height: 1.55;
    text-shadow: 0 3px 14px rgba(0,0,0,.35);
  }

  .hero-actions{
    gap: 10px;
    margin-top: 22px;
  }

  .hero-actions .btn{
    width: 100%;
  }
}

/* ==========================================================================
   MODALE DEVIS — FORMULAIRE PUBLIC
   ========================================================================== */

.dv-hidden-trap{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.mdv-recaptcha-wrap{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 78px;
}

@media (max-width: 575.98px){
  .mdv-recaptcha-wrap{
    overflow-x: auto;
  }
}

/* ========================================================================== 
   PAGES PUBLIQUES — GRANDS PANNEAUX UNIFIÉS
   ========================================================================== */

.page-home-public .home-intro > .container,
.page-home-public .section-services,
.page-home-public .home-method > .container{
  width: calc(100% - clamp(32px, 5vw, 96px));
  max-width: 1600px;
  margin-inline: auto;
}

.page-home-public .home-intro > .container{
  padding-inline: 0;
}

.page-home-public .section-services,
.page-home-public .home-method > .container{
  padding: clamp(30px, 4vw, 46px);
  border: 1px solid var(--ar-border-strong);
  border-left: 4px solid #2563eb;
  border-radius: var(--ar-radius-xl);
  background: linear-gradient(155deg,#ffffff 0%,#f8fbff 100%);
  box-shadow: var(--ar-shadow-md);
}

.page-home-public .section-services{
  margin-top: 18px;
  margin-bottom: 18px;
}

.page-home-public .home-method{
  margin: 0 0 clamp(28px, 4vw, 48px);
  padding: 0;
  border: 0;
  background: transparent;
}

.page-services main,
.page-espace-client main{
  display: grid;
  gap: 18px;
  padding: clamp(28px, 4vw, 48px) 0;
}

.page-services main > .hero,
.page-espace-client main > .section-hero{
  padding: 0;
}

.page-services main > .hero > .container,
.page-services main > section.container,
.page-espace-client main > .section-hero > .container,
.page-espace-client main > section.container{
  width: calc(100% - clamp(32px, 5vw, 96px));
  max-width: 1600px;
  margin-inline: auto;
  padding: clamp(26px, 4vw, 46px);
  border: 1px solid var(--ar-border-strong);
  border-left: 4px solid #2563eb;
  border-radius: var(--ar-radius-xl);
  background: linear-gradient(155deg,#ffffff 0%,#f8fbff 100%);
  box-shadow: var(--ar-shadow-md);
}

.page-services main > section.container.section-padding,
.page-espace-client main > section.container.section-padding{
  padding-top: clamp(30px, 4vw, 46px);
  padding-bottom: clamp(30px, 4vw, 46px);
}

.page-services main > section.container.pt-0,
.page-espace-client main > section.container.pt-0{
  padding-top: clamp(24px, 3vw, 34px) !important;
}

.page-services main > section.container.pt-0 .icon-box,
.page-espace-client main > section.container.pt-0 .client-cta-card,
.page-espace-client main > section.container.pt-0 .cta-card{
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.page-services main > section.container.pt-0 .icon-box:hover{
  transform: none;
  border-color: transparent;
  box-shadow: none;
}

@media (max-width: 575.98px){
  .page-home-public .home-intro > .container,
  .page-home-public .section-services,
  .page-home-public .home-method > .container{
    width: calc(100% - 20px);
    max-width: 1600px;
  }

  .page-home-public .section-services,
  .page-home-public .home-method > .container{
    padding: 22px 16px;
    border-left-width: 3px;
  }

  .page-home-public .section-services{
    margin-block: 12px;
  }

  .page-services main,
  .page-espace-client main{
    gap: 12px;
    padding: 14px 0;
  }

  .page-services main > .hero > .container,
  .page-services main > section.container,
  .page-espace-client main > .section-hero > .container,
  .page-espace-client main > section.container{
    width: calc(100% - 20px);
    max-width: 1600px;
    padding: 22px 16px;
    border-left-width: 3px;
  }
}

/* ========================================================================
   IDENTITÉ VISUELLE ARTELEC — ACCUEIL, SERVICES, CLIENTS ET MODALES
   ======================================================================== */

:root{
  --ar-navy:#092844;
  --ar-navy-deep:#061a2c;
  --ar-cyan:#087581;
  --ar-cyan-bright:#20bfd0;
  --ar-ink:#102b46;
  --ar-muted:#60758a;
  --ar-line:#d7e3eb;
  --ar-surface:#ffffff;
  --ar-soft:#f1f6f8;
  --ar-radius-card:20px;
}

html{scroll-behavior:smooth; scroll-padding-top:88px}
body.page-home-public,
body.page-services,
body.page-espace-client{
  color:var(--ar-ink);
  background:#f3f7f8;
  font-family:'Poppins',sans-serif;
}

.site-header{position:relative;z-index:20;background:var(--ar-navy-deep)}
.site-navbar{min-height:68px;padding:7px 0;background:linear-gradient(100deg,#061a2c,#0a3148)}
.site-brand{display:inline-flex;align-items:center;gap:10px;color:#fff!important;font-size:1.05rem;letter-spacing:.075em;font-weight:800}
.site-brand img{width:42px;height:42px;object-fit:contain}
.site-brand__text{display:grid;gap:2px}
.site-brand__text strong{color:#fff;font-size:1.08rem;line-height:1.1;letter-spacing:.035em}
.site-brand__text small{color:#c4d4df;font-size:.58rem;font-weight:400;letter-spacing:.035em}
.site-navbar .navbar-nav{gap:4px}
.site-navbar .nav-link{display:inline-flex;align-items:center;min-height:42px;padding:9px 13px!important;border:1px solid transparent;border-radius:10px;color:#e7f2f7!important;font-size:.9rem;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease}
.site-navbar .nav-link:hover,.site-navbar .nav-link:focus-visible{color:#fff!important;background:rgba(32,191,208,.13);border-color:rgba(32,191,208,.38)}
.site-navbar .nav-link.active{color:#fff!important;background:rgba(32,191,208,.18);border-color:rgba(32,191,208,.5)}
.site-navbar button.nav-link{background:transparent}
.nav-phone{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 14px;border:1px solid rgba(32,191,208,.62);border-radius:10px;color:#fff;text-decoration:none;font-size:.9rem;font-weight:700;transition:background .2s ease,color .2s ease}
.nav-phone:hover,.nav-phone:focus-visible{color:#062236;background:#66d8e2}
.navbar-toggler{border-color:rgba(255,255,255,.35)!important}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(32,191,208,.35)}

.home-main{overflow:hidden}
.home-hero{position:relative;isolation:isolate;min-height:416px;display:flex;align-items:center;padding:34px 0 28px;background:var(--ar-navy-deep);color:#fff}
.home-hero__image{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 74% 28%,rgba(32,191,208,.33),transparent 32%),linear-gradient(135deg,#0a304c 0%,#0d6876 55%,#071b30 100%);opacity:.92}
.home-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,20,35,.96) 0%,rgba(5,27,44,.83) 46%,rgba(5,31,48,.44) 100%),linear-gradient(0deg,rgba(3,20,34,.62),transparent 55%)}
.home-hero__inner{width:min(100% - 48px,1440px);display:grid;grid-template-columns:minmax(0,1fr) 276px;align-items:center;gap:clamp(30px,6vw,86px)}
.home-hero__content{max-width:720px}
.section-kicker{margin:0 0 12px;color:var(--ar-cyan);font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.home-hero .section-kicker,.home-contact .section-kicker{color:#6ee2eb}
.home-hero h1{max-width:820px;margin:0;color:#fff;font-size:clamp(2.5rem,4.2vw,3.8rem);line-height:1.02;letter-spacing:-.055em;font-weight:800}
.home-hero h1 span{color:#22d4e1}
.home-hero__lead{max-width:690px;margin:23px 0 0;color:rgba(255,255,255,.86);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75}
.home-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.home-hero__actions .btn-primary,.home-contact__actions .btn-primary{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(100deg,#078db5,#08b8c7);border-color:#0aa9bf;color:#fff;box-shadow:0 8px 18px rgba(0,166,194,.23)}
.home-hero__actions .btn-primary:hover,.home-contact__actions .btn-primary:hover{background:linear-gradient(100deg,#067a9c,#079ba9);border-color:#078ba2;color:#fff}
.home-hero__caption{margin:20px 0 0;color:rgba(255,255,255,.66);font-size:.73rem;line-height:1.5}
.home-hero__benefits{display:flex;flex-wrap:wrap;gap:clamp(16px,3vw,38px);margin:28px 0 0;padding:0;list-style:none}
.home-hero__benefits li{display:flex;align-items:center;gap:10px;color:#fff;font-size:.78rem;line-height:1.45}
.home-hero__benefits i{color:#22d4e1;font-size:1.35rem}
.home-company-card{padding:22px;border:1px solid rgba(255,255,255,.7);border-radius:10px;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.24)}
.home-company-card__brand{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--ar-line)}
.home-company-card__brand img{width:56px;height:56px;object-fit:contain}
.home-company-card__brand div{display:grid;gap:3px}
.home-company-card__brand strong{color:var(--ar-navy);font-size:1rem;letter-spacing:.06em}
.home-company-card__brand span{color:var(--ar-muted);font-size:.75rem}
.home-company-card ul{display:grid;gap:16px;margin:20px 0;padding:0;list-style:none}
.home-company-card li{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:10px;color:var(--ar-ink);font-size:.78rem}
.home-company-card li i{color:#0caac0;font-size:1rem}
.home-company-card__phone{display:flex;align-items:center;justify-content:center;gap:10px;min-height:42px;border:1px solid #8ab9c4;border-radius:7px;background:#fff;color:var(--ar-navy);text-decoration:none;font-size:.84rem;font-weight:750;transition:background .2s ease}
.home-company-card__phone:hover{background:#e8f8fa;color:#062236}
.home-company-card__email{display:none}
.home-hero__scroll{position:absolute;right:max(24px,calc((100vw - 1320px)/2));bottom:24px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:#fff;text-decoration:none}

.section-shell{padding:clamp(60px,8vw,104px) 0}
.home-services{background:#f3f7f8}
.home-services.section-shell{padding:24px 0 20px;background:#fff}
.section-heading{max-width:760px;margin:0 auto clamp(30px,5vw,48px);text-align:center}
.section-heading h2,.home-method h2,.home-contact h2{margin:0;color:var(--ar-navy);font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.12;letter-spacing:-.04em;font-weight:800}
.section-heading>p:last-child{margin:14px 0 0;color:var(--ar-muted);line-height:1.7}
.service-card{position:relative;display:flex;flex-direction:column;min-height:280px;padding:25px;border:1px solid var(--ar-line);border-radius:10px;background:var(--ar-surface);box-shadow:0 10px 28px rgba(10,39,62,.06);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.service-card:hover{transform:translateY(-5px);border-color:#8acbd3;box-shadow:0 18px 40px rgba(10,39,62,.11)}
.service-card__icon{width:56px;height:56px;display:grid;place-items:center;border:1px solid #b8e1e5;border-radius:16px;background:#e7f7f8;color:var(--ar-cyan);font-size:1.55rem}
.service-card__media{position:relative;height:128px;margin:-25px -25px 0;background:linear-gradient(135deg,#123b54,#0f7480 60%,#b9d9db);}
.service-card__media::after{content:"Visuel provisoire";position:absolute;right:9px;bottom:7px;padding:3px 7px;border-radius:4px;background:rgba(4,24,39,.48);color:#fff;font-size:.58rem;letter-spacing:.03em}
.service-card--electricite .service-card__media{background:linear-gradient(135deg,#0a273d,#547d8a 52%,#c4d7d7)}
.service-card--domotique .service-card__media{background:linear-gradient(135deg,#52747c,#d0d9d6 58%,#8ab8bb)}
.service-card--securite .service-card__media{background:linear-gradient(135deg,#526a78,#b7c7ca 55%,#71838e)}
.service-card__media--zone{background:linear-gradient(135deg,#071e34,#0d5b77 52%,#d39454)}
.service-card__icon i{font-size:inherit!important}
.page-espace-client .feature-card .service-card__icon i{width:auto;height:auto;display:inline;margin:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit}
.service-card__index{margin:20px 0 7px;color:#73889b!important;font-size:.69rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.service-card h3{margin:0;color:var(--ar-navy);font-size:1.08rem;font-weight:750;line-height:1.4}
.service-card>p:not(.service-card__index){margin:12px 0 20px;color:var(--ar-muted);font-size:.9rem;line-height:1.65}
.service-card__link{display:inline-flex;align-items:center;gap:9px;width:max-content;margin-top:auto;padding:7px 0;border:0;background:none;color:var(--ar-cyan);font-size:.88rem;font-weight:750;text-decoration:none}
.service-card__link:hover{color:var(--ar-navy);text-decoration:underline;text-underline-offset:4px}
.service-card--area{background:#fff;border-color:var(--ar-line);color:var(--ar-ink)}
.service-card--area .service-card__icon{background:#06a8bd;border-color:#fff;color:#fff}
.section-more{display:flex;justify-content:center;margin-top:34px}

.home-method{background:#eef8fb}
.home-method.section-shell{padding:28px 0 34px}
.home-method .container{max-width:1320px}
.home-method__heading{max-width:760px;margin:0 auto 34px;text-align:center}
.home-method__heading>p:last-child{margin:14px 0 0;color:var(--ar-muted);line-height:1.7}
.home-method__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.home-method__steps li{position:relative;display:grid;grid-template-columns:42px 1fr;grid-template-rows:58px auto;gap:8px 10px;align-content:start;min-height:160px;padding:0 10px;border:0;border-radius:0;background:transparent;text-align:center}
.home-method__steps li::after{content:"";position:absolute;top:28px;left:calc(50% + 42px);width:calc(100% - 30px);height:1px;background:#b7dfe6}
.home-method__steps li:last-child::after{display:none}
.home-method__number{width:28px;height:28px;align-self:center;justify-self:end;display:grid;place-items:center;border-radius:50%;background:#087581;color:#fff;font-size:.76rem;font-weight:800}
.home-method__icon{z-index:1;width:50px;height:50px;display:grid;place-items:center;border:1px solid #bee9ee;border-radius:50%;background:#fff;color:#09a7bc;font-size:1.25rem}
.home-method__steps li>div{grid-column:1/-1}
.home-method__steps h3{margin:4px 0 7px;color:var(--ar-navy);font-size:.95rem;font-weight:750}
.home-method__steps p{margin:0;color:var(--ar-muted);font-size:.82rem;line-height:1.55}

.home-contact{padding-top:18px;padding-bottom:24px;background:#fff}
.home-contact__panel{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:26px;min-height:330px;overflow:hidden;padding:clamp(28px,5vw,50px);border-radius:10px;background:linear-gradient(100deg,#061a2c,#0b3d58 60%,#0d5662);box-shadow:0 22px 54px rgba(8,34,55,.16)}
.home-contact__visual{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 78% 42%,rgba(16,139,157,.33),transparent 40%),linear-gradient(130deg,rgba(4,20,35,.1),rgba(4,20,35,.55))}
.home-contact__visual::after{content:"Photographie autorisée à intégrer";position:absolute;right:18px;bottom:12px;color:rgba(255,255,255,.55);font-size:.65rem}
.home-contact__content{position:relative;z-index:1;align-self:center;max-width:640px;padding:0;color:#fff}
.home-contact h2{color:#fff}
.home-contact__content>p:not(.section-kicker){margin:15px 0 0;color:rgba(255,255,255,.78);line-height:1.65}
.home-contact__actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:25px}
.home-contact__phone{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:700;text-decoration:none}
.home-contact__phone:hover{color:#8fe5ec}
.home-contact__note{display:block;margin-top:18px;color:rgba(255,255,255,.58);font-size:.72rem}
.home-contact__reasons{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.home-contact__reasons li{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(4,26,43,.46);color:#fff;font-size:.75rem;font-weight:650;line-height:1.4}
.home-contact__reasons i{color:#8eeaf0;font-size:1.3rem}

.page-hero{position:relative;width:calc(100% - clamp(32px,5vw,96px));max-width:1440px;overflow:hidden;margin:clamp(24px,4vw,46px) auto 0!important;padding:clamp(34px,5vw,68px)!important;border:1px solid #0c4a60!important;border-radius:24px!important;background:linear-gradient(110deg,#092844 0%,#0c5364 66%,#0d8790 100%)!important;color:#fff;box-shadow:0 20px 50px rgba(7,37,59,.15)!important}
.page-hero>.container,.page-hero .container{width:100%!important;max-width:1320px!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.page-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px}
.page-hero h1,.page-hero .display-5{max-width:850px;margin:0;color:#fff;font-size:clamp(2.2rem,4.7vw,4.2rem);line-height:1.05;letter-spacing:-.05em;font-weight:800}
.page-hero .lead{max-width:760px;margin:16px 0 24px;color:rgba(255,255,255,.83);font-size:1.05rem;line-height:1.65}
.page-hero .section-kicker{color:#7fe3ec}
.page-hero .btn-outline-primary{border-color:rgba(255,255,255,.55);color:#fff}
.page-hero .btn-outline-primary:hover{background:#fff;color:var(--ar-navy)}
.page-hero .btn-primary{background:#19a8b7;border-color:#19a8b7;color:#062236}
.page-hero .btn-primary:hover{background:#68d9e2;border-color:#68d9e2}
.public-content-panel{width:calc(100% - clamp(32px,5vw,96px));max-width:1440px!important;margin-inline:auto!important;padding:clamp(28px,4vw,52px)!important;border:1px solid var(--ar-line);border-radius:24px;background:#fff;box-shadow:0 12px 36px rgba(10,39,62,.06)}
.page-services main,.page-espace-client main{gap:clamp(20px,3vw,34px)!important}
.page-services main>section.container,.page-espace-client main>section.container{border:1px solid var(--ar-line);border-left-width:1px;border-radius:24px;background:#fff;box-shadow:0 12px 36px rgba(10,39,62,.06)}
.page-services main>section.container.section-padding,.page-espace-client main>section.container.section-padding{padding:clamp(28px,4vw,52px)!important}
.page-services .service-card{min-height:310px}
.page-services .service-card{overflow:hidden;padding:0}
.page-services .service-card::before{content:"";height:118px;flex:0 0 118px;background:linear-gradient(135deg,#123b54,#0f7480 60%,#b9d9db)}
.page-services .service-card:nth-child(3n+2)::before{background:linear-gradient(135deg,#526f79,#b9cdce 58%,#789da3)}
.page-services .service-card:nth-child(3n)::before{background:linear-gradient(135deg,#142e48,#568593 58%,#b2c4c8)}
.page-services .service-card .service-card__icon{position:absolute;top:88px;left:22px;width:50px;height:50px;border:2px solid #fff;border-radius:50%;background:#08a8bd;color:#fff;font-size:1.35rem}
.page-services .service-card h3,.page-services .service-card p,.page-services .service-card .btn-link{margin-left:22px;margin-right:22px}
.page-services .service-card h3{margin-top:28px!important}
.page-services .service-card p:not(.service-card__index){margin-top:9px}
.page-services .service-card .btn-link{margin-top:auto;margin-bottom:18px}
.page-services .service-card h3{margin-top:28px!important}
.page-services .service-card p:not(.service-card__index){margin-bottom:14px}
.page-services .service-cta-card{min-height:0;display:block;padding:clamp(24px,4vw,42px);border:1px solid #b9dbe0;border-radius:22px;background:linear-gradient(115deg,#eaf7f8,#fff);box-shadow:0 12px 34px rgba(10,39,62,.07)}
.page-services .service-cta-card h2{margin:0 0 10px;font-size:clamp(1.45rem,2.6vw,2rem)}
.page-services .service-cta-card .btn{min-width:185px}

.page-espace-client .client-hero .row{align-items:center}
.page-espace-client .client-hero h1{max-width:760px;color:#fff;font-size:clamp(2.2rem,4.3vw,3.8rem);line-height:1.06;letter-spacing:-.045em}
.page-espace-client .client-hero .lead{color:rgba(255,255,255,.85)}
.page-espace-client .client-hero .small{color:rgba(255,255,255,.72)!important}
.client-preview-card{padding:28px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:20px!important;background:rgba(4,29,47,.55)!important;box-shadow:0 20px 44px rgba(0,0,0,.12)!important}
.client-preview-header{border-color:rgba(255,255,255,.2)!important;color:#fff!important}
.client-preview-list li{color:rgba(255,255,255,.86)!important}
.client-preview-list i{color:#6ee2eb!important}
.page-espace-client .feature-card{min-height:230px}
.page-espace-client .client-cta-card{padding:clamp(24px,4vw,42px)!important;border:1px solid var(--ar-line)!important;border-radius:22px!important;background:linear-gradient(120deg,#fff,#eaf7f8)!important}
.page-espace-client .client-cta-card .btn-outline-primary{color:var(--ar-navy);border-color:#8ab9c4}
.page-espace-client .client-cta-card .btn-outline-primary:hover{color:#fff;background:var(--ar-cyan);border-color:var(--ar-cyan)}

.site-footer{padding:42px 0 22px!important;background:var(--ar-navy-deep)!important;color:#c5d4df!important}
.site-footer__main{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:25px;padding-bottom:26px}
.site-brand--footer{width:max-content}
.site-footer__main p{margin:0;color:#c5d4df;font-size:.88rem;line-height:1.65}
.site-footer__main address{display:grid;gap:5px;margin:0;font-style:normal;text-align:right}
.site-footer__main address a{width:max-content;margin-left:auto}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);color:#91a8b9;font-size:.78rem}
.site-footer__bottom nav{display:flex;gap:20px}
.site-footer__bottom a{color:#c7e8eb!important;text-decoration:none!important}
.site-footer__bottom a:hover{text-decoration:underline!important}

.btn{font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.btn-primary{--bs-btn-bg:#087581;--bs-btn-border-color:#087581;--bs-btn-hover-bg:#096571;--bs-btn-hover-border-color:#096571;--bs-btn-active-bg:#07545e;--bs-btn-active-border-color:#07545e;--bs-btn-color:#fff;--bs-btn-hover-color:#fff;box-shadow:0 7px 18px rgba(8,117,129,.2)}
.btn-outline-primary{--bs-btn-color:#0b6472;--bs-btn-border-color:#83b8c0;--bs-btn-hover-bg:#e7f7f8;--bs-btn-hover-color:#083c4b;--bs-btn-hover-border-color:#43aab5;--bs-btn-active-bg:#d5f0f2;--bs-btn-active-color:#083c4b;--bs-btn-active-border-color:#43aab5}
.btn:focus-visible,.service-card__link:focus-visible,.nav-phone:focus-visible{outline:3px solid #46c6d1;outline-offset:3px;box-shadow:none}
.text-primary,.text-success,.text-danger,.text-warning,.text-info{color:var(--ar-cyan)!important}

.modal-backdrop.show{opacity:.62}
.modal-content{overflow:hidden;border:1px solid #d5e3eb;border-radius:20px;box-shadow:0 28px 80px rgba(5,28,46,.3)}
.modal-header{padding:20px 24px;background:#f7fafb}
.modal-body{padding:24px}
.modal-footer{padding:16px 24px;border-top:1px solid var(--ar-line)}

@media (max-width: 991.98px){
  .site-navbar .navbar-collapse{padding:14px 0 8px}
  .site-navbar .navbar-nav{align-items:stretch}
  .site-navbar .nav-link{width:100%}
  .nav-phone{width:max-content;margin:8px 12px 0}
  .home-hero{min-height:auto;padding:38px 0}
  .home-hero__inner{grid-template-columns:1fr;gap:32px}
  .home-company-card{max-width:560px}
  .home-method__steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-method__steps li:nth-child(2)::after{display:none}
  .page-hero__inner{grid-template-columns:1fr;align-items:start}
  .site-footer__main{grid-template-columns:1fr 1fr}
  .site-footer__main address{grid-column:1/-1;text-align:left}
  .site-footer__main address a{margin-left:0}
}
@media (max-width: 575.98px){
  .site-navbar{min-height:68px}
  .site-brand{font-size:.97rem}
  .site-brand__text strong{font-size:.98rem}
  .site-brand__text small{font-size:.48rem}
  .home-hero{padding:48px 0 58px}
  .home-hero::before{background:linear-gradient(90deg,rgba(4,20,35,.93),rgba(5,27,44,.73)),linear-gradient(0deg,rgba(3,20,34,.55),transparent)}
  .home-hero h1{font-size:clamp(2.25rem,11vw,3.2rem)}
  .home-hero__actions{display:grid}
  .home-hero__actions .btn{width:100%}
  .home-company-card{padding:20px}
  .home-hero__scroll{display:none}
  .section-shell{padding:54px 0}
  .home-services.section-shell,.home-method.section-shell{padding:34px 0}
  .home-method__steps{grid-template-columns:1fr}
  .home-method__steps li{min-height:0}
  .home-method__steps li::after{display:none}
  .home-contact__panel{grid-template-columns:1fr;gap:22px;padding:26px 22px}
  .home-contact__visual{min-height:0}
  .home-contact__content{padding:0}
  .home-contact__actions{align-items:stretch;flex-direction:column}
  .home-contact__actions .btn{width:100%}
  .home-contact__reasons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-hero__benefits{gap:14px}
  .home-hero__benefits li{font-size:.7rem}
  .page-hero{width:calc(100% - 20px)!important;margin-top:14px!important;padding:26px 20px!important;border-radius:18px!important}
  .page-hero h1,.page-hero .display-5{font-size:clamp(2rem,10vw,2.8rem)}
  .page-hero .d-flex .btn{width:100%}
  .public-content-panel{width:calc(100% - 20px)!important;padding:22px 16px!important;border-radius:18px}
  .page-services main>section.container.section-padding,.page-espace-client main>section.container.section-padding{padding:22px 16px!important}
  .page-services .service-card{min-height:0}
  .page-espace-client .client-cta-card{align-items:stretch!important}
  .page-espace-client .client-cta-card .btn{width:100%}
  .site-footer__main{grid-template-columns:1fr;gap:16px}
  .site-footer__main address{grid-column:auto}
  .site-footer__bottom{align-items:flex-start;flex-direction:column}
  .site-footer__bottom nav{gap:16px}
  .modal-dialog{margin:10px}
  .modal-fullscreen-sm-down{margin:0}
  .modal-header,.modal-body,.modal-footer{padding:16px}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Accueil : composition monobloc fidèle à la maquette. */
.page-home-public{min-height:100vh;min-height:100svh;overflow-x:hidden;background:#07131f;color:#fff;font-family:"Poppins",sans-serif}
.page-home-public .site-header{position:absolute;top:0;right:0;left:0;z-index:20}
.page-home-public .site-navbar{min-height:76px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.2);background:linear-gradient(90deg,rgba(5,14,22,.9),rgba(5,14,22,.42))!important;box-shadow:none}
.page-home-public .site-navbar .container{min-height:54px}
.page-home-public .site-brand{gap:10px;color:#fff!important}
.page-home-public .site-brand__logo{width:42px;height:42px;object-fit:contain}
.page-home-public .site-brand__text{display:grid;gap:2px}
.page-home-public .site-brand__text strong{font-size:1.15rem;line-height:1.1;letter-spacing:.03em}
.page-home-public .site-brand__text small{color:rgba(255,255,255,.72);font-size:.58rem;letter-spacing:.07em}
.page-home-public .site-navbar .navbar-collapse{flex:1;justify-content:center}
.page-home-public .site-navbar .navbar-nav{gap:clamp(4px,.7vw,12px);margin-inline:auto}
.page-home-public .site-navbar .nav-link{position:relative;min-height:42px;padding:9px clamp(5px,.8vw,13px)!important;border:0;border-radius:0;background:transparent!important;color:#fff!important;font-size:clamp(.7rem,.9vw,.88rem);font-weight:600;white-space:nowrap}
.page-home-public .site-navbar .nav-link:hover,
.page-home-public .site-navbar .nav-link:focus-visible{color:#f4bc20!important;background:transparent!important}
.page-home-public .site-navbar .nav-link.active{color:#f4bc20!important;background:transparent!important}
.page-home-public .site-navbar .nav-link.active::after{position:absolute;right:10px;bottom:2px;left:10px;height:2px;background:#f4bc20;content:""}
.page-home-public .site-navbar button.nav-link{justify-content:center}
.page-home-public .nav-quote{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border:1px solid #f4bc20;border-radius:5px;background:#f4bc20;color:#101b24;font-size:.8rem;font-weight:750;white-space:nowrap;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.page-home-public .nav-quote:hover{transform:translateY(-1px);border-color:#ffd34f;background:#ffd34f;color:#101b24}
.page-home-public .nav-quote:focus-visible{outline:3px solid #46c6d1;outline-offset:3px;box-shadow:none}
.page-home-public .home-main{background:#07131f}
.page-home-public main.home-main{min-height:100vh;min-height:100svh;background:#07131f}
.page-home-public .home-hero{min-height:100svh;align-items:stretch;padding:0;background:#07131f}
.page-home-public .home-hero__image{background-image:url("/assets/images/installation.jpg");background-position:center center;background-size:cover;opacity:1}
.page-home-public .home-hero::before{background:linear-gradient(90deg,rgba(4,12,20,.99) 0%,rgba(4,12,20,.96) 33%,rgba(4,12,20,.82) 48%,rgba(4,12,20,.35) 67%,rgba(4,12,20,.12) 100%),linear-gradient(0deg,rgba(4,12,20,.74),transparent 38%)}
.page-home-public .home-hero__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:24px;width:min(100% - 60px,1440px);min-height:100svh;padding-top:clamp(112px,15vh,148px);padding-bottom:22px}
.page-home-public .home-hero__content{max-width:680px;width:min(58%,680px)}
.page-home-public .home-hero .section-kicker{margin-bottom:17px;color:#f4bc20;font-size:.72rem;font-weight:700;letter-spacing:.12em}
.page-home-public .home-hero h1{max-width:680px;margin:0;color:#fff;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:800;line-height:1.06;letter-spacing:-.045em}
.page-home-public .home-hero h1 span{color:#f4bc20}
.page-home-public .home-hero__lead{max-width:560px;margin-top:19px;color:rgba(255,255,255,.9);font-size:clamp(.92rem,1.15vw,1.06rem);line-height:1.65}
.page-home-public .home-hero__actions{gap:14px;margin-top:26px}
.page-home-public .home-hero__actions .btn{min-height:46px;border-radius:5px;font-size:.87rem;font-weight:700}
.page-home-public .home-hero__actions .btn-primary{gap:9px;border-color:#f4bc20;background:#f4bc20;color:#101b24;box-shadow:none}
.page-home-public .home-hero__actions .btn-primary:hover{border-color:#ffd34f;background:#ffd34f;color:#101b24}
.page-home-public .home-hero__actions .btn-outline-light{border-color:rgba(255,255,255,.78);color:#fff}
.page-home-public .home-hero__actions .btn-outline-light:hover{background:#fff;color:#07131f}
.page-home-public .home-hero__benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:680px;margin:38px 0 0;padding:0;list-style:none}
.page-home-public .home-hero__benefits li{display:flex;min-height:86px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:4px 10px;border-right:1px solid rgba(255,255,255,.24);color:#fff;font-size:.64rem;line-height:1.45;text-align:center}
.page-home-public .home-hero__benefits li:first-child{padding-left:0}
.page-home-public .home-hero__benefits li:last-child{border-right:0}
.page-home-public .home-hero__benefits i{color:#f4bc20;font-size:1.6rem;line-height:1}
.page-home-public .home-hero__contactbar{display:grid;grid-template-columns:1.2fr .85fr 1.15fr .9fr;align-items:center;min-height:84px;padding:8px 4px;border:1px solid rgba(255,255,255,.21);border-radius:5px;background:rgba(7,14,23,.9);backdrop-filter:blur(7px)}
.page-home-public .home-hero__contactbar>div,
.page-home-public .home-hero__contactbar>a{display:flex;min-width:0;min-height:58px;align-items:center;gap:12px;padding:8px 15px;border-right:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none}
.page-home-public .home-hero__contactbar>a:last-child{border-right:0}
.page-home-public .home-hero__contactbar>div>i,
.page-home-public .home-hero__contactbar>a>i{flex:0 0 auto;color:#f4bc20;font-size:1.25rem}
.page-home-public .home-hero__contactbar span{display:grid;gap:3px;min-width:0}
.page-home-public .home-hero__contactbar strong{color:#f4bc20;font-size:.65rem;font-weight:600;text-transform:uppercase}
.page-home-public .home-hero__contactbar small{color:rgba(255,255,255,.88);font-size:.68rem;line-height:1.4;overflow-wrap:anywhere}
.page-home-public .home-hero__contactbar a:hover small{color:#fff;text-decoration:underline;text-underline-offset:3px}

@media(max-width:991.98px){
  .page-home-public .site-header{position:relative}
  .page-home-public .site-navbar{min-height:68px;background:#07131f!important}
  .page-home-public .site-navbar .navbar-collapse{padding:14px 0 8px}
  .page-home-public .site-navbar .navbar-nav{align-items:stretch;gap:2px}
  .page-home-public .site-navbar .nav-link{justify-content:flex-start;width:100%;padding-inline:12px!important}
  .page-home-public .site-navbar .nav-link.active::after{right:auto;bottom:3px;left:12px;width:42px}
  .page-home-public .site-navbar .navbar-collapse>.nav-quote{width:100%;margin-top:10px}
  .page-home-public .home-hero{min-height:calc(100svh - 68px)}
  .page-home-public .home-hero__inner{width:min(100% - 40px,760px);min-height:inherit;padding-top:54px}
  .page-home-public .home-hero__content{width:min(78%,600px)}
  .page-home-public .home-hero__contactbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-home-public .home-hero__contactbar>div:nth-child(2),
  .page-home-public .home-hero__contactbar>a:nth-child(2){border-right:0}
  .page-home-public .home-hero__contactbar>div,
  .page-home-public .home-hero__contactbar>a{padding-inline:14px}
}
@media(max-width:575.98px){
  .page-home-public .home-hero{min-height:0;padding:0}
  .page-home-public .home-hero__image{background-position:57% center}
  .page-home-public .home-hero::before{background:linear-gradient(90deg,rgba(4,12,20,.95),rgba(4,12,20,.78)),linear-gradient(0deg,rgba(4,12,20,.97) 0%,rgba(4,12,20,.72) 48%,rgba(4,12,20,.32) 100%)}
  .page-home-public .home-hero__inner{width:100%;min-height:0;gap:34px;padding:48px 20px 16px}
  .page-home-public .home-hero__content{width:100%;max-width:540px}
  .page-home-public .home-hero .section-kicker{font-size:.64rem;letter-spacing:.08em}
  .page-home-public .home-hero h1{font-size:clamp(2.45rem,10.5vw,3.55rem)}
  .page-home-public .home-hero__lead{font-size:.92rem}
  .page-home-public .home-hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .page-home-public .home-hero__actions .btn{justify-content:center;padding-inline:10px;font-size:.77rem}
  .page-home-public .home-hero__benefits{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px;margin-top:26px}
  .page-home-public .home-hero__benefits li{min-height:72px;border-right:0;font-size:.68rem}
  .page-home-public .home-hero__contactbar{grid-template-columns:1fr 1fr;min-height:0;padding:5px 2px}
  .page-home-public .home-hero__contactbar>div,
  .page-home-public .home-hero__contactbar>a{min-height:62px;gap:9px;padding:7px 8px;border-right:1px solid rgba(255,255,255,.2)}
  .page-home-public .home-hero__contactbar>div:nth-child(2),
  .page-home-public .home-hero__contactbar>a:nth-child(2){border-right:0}
  .page-home-public .home-hero__contactbar>div:nth-child(n+3),
  .page-home-public .home-hero__contactbar>a:nth-child(n+3){border-top:1px solid rgba(255,255,255,.17)}
  .page-home-public .home-hero__contactbar>div>i,
  .page-home-public .home-hero__contactbar>a>i{font-size:1.05rem}
  .page-home-public .home-hero__contactbar strong{font-size:.57rem}
  .page-home-public .home-hero__contactbar small{font-size:.6rem}
}

/* Palette accueil appliquée aux pages Services et Clients. */
body.page-services,
body.page-espace-client{color:#11283b;background:#f3f7f8}
.page-services .site-navbar,
.page-espace-client .site-navbar{min-height:68px;background:#07131f}
.page-services .site-navbar .nav-link,
.page-espace-client .site-navbar .nav-link{border-radius:8px;background:rgba(15,48,68,.62);font-size:.82rem}
.page-services .site-navbar .nav-link:hover,
.page-espace-client .site-navbar .nav-link:hover,
.page-services .site-navbar .nav-link:focus-visible,
.page-espace-client .site-navbar .nav-link:focus-visible{background:rgba(15,89,111,.75);border-color:rgba(15,190,207,.35)}
.page-services .site-navbar .nav-link.active,
.page-espace-client .site-navbar .nav-link.active{position:relative;background:rgba(0,174,199,.38);border-color:#00b8cf}
.page-services .site-navbar .nav-link.active::after,
.page-espace-client .site-navbar .nav-link.active::after{position:absolute;right:12px;bottom:-7px;left:12px;height:2px;background:#f4bc20;content:""}
.page-services .nav-phone,
.page-espace-client .nav-phone{border-color:#00bed1;color:#fff;font-size:.82rem}
.page-services .nav-phone i,
.page-espace-client .nav-phone i{color:#00d3e5}
.page-services .nav-phone:hover,
.page-espace-client .nav-phone:hover{background:#f4bc20;border-color:#f4bc20;color:#101b24}

.page-services .page-hero,
.page-espace-client .page-hero{border-color:#243b4d!important;background:linear-gradient(110deg,#07131f 0%,#102b3e 72%,#153e4a 100%)!important}
.page-services .page-hero .section-kicker,
.page-espace-client .page-hero .section-kicker{color:#f4bc20}
.page-services .page-hero .btn-primary,
.page-espace-client .page-hero .btn-primary,
.page-services .page-hero .d-flex>.btn-outline-primary:first-child{background:#f4bc20;border-color:#f4bc20;color:#111b23}
.page-services .page-hero .btn-primary:hover,
.page-espace-client .page-hero .btn-primary:hover,
.page-services .page-hero .d-flex>.btn-outline-primary:first-child:hover{background:#ffd34f;border-color:#ffd34f;color:#111b23}
.page-services .page-hero .btn-outline-primary,
.page-espace-client .page-hero .btn-outline-primary{border-color:rgba(255,255,255,.72);color:#fff}
.page-services .page-hero .btn-outline-primary:hover,
.page-espace-client .page-hero .btn-outline-primary:hover{background:#fff;border-color:#fff;color:#07131f}
.page-services .page-hero .d-flex>.btn-outline-primary:first-child{color:#111b23}

.page-services .public-content-panel,
.page-espace-client .public-content-panel,
.page-services main>section.container,
.page-espace-client main>section.container{border-color:#dce5e9;background:#fff;box-shadow:0 12px 36px rgba(7,19,31,.07)}
.page-services .service-card,
.page-espace-client .feature-card{border-color:#e0e7ea;background:#fff;box-shadow:0 10px 28px rgba(7,19,31,.06)}
.page-services .service-card:hover,
.page-espace-client .feature-card:hover{border-color:#d8b34b;box-shadow:0 16px 34px rgba(7,19,31,.1)}
.page-services .service-card::before{background:linear-gradient(135deg,#07131f 0%,#17384c 78%,#94700f 100%)}
.page-services .service-card:nth-child(3n+2)::before,
.page-services .service-card:nth-child(3n)::before{background:linear-gradient(135deg,#0c2233 0%,#1b4053 78%,#94700f 100%)}
.page-services .service-card .service-card__icon,
.page-espace-client .feature-card .service-card__icon{border-color:#f4bc20;background:#f4bc20;color:#101b24}
.page-services .service-card__index,
.page-services .service-card__link{color:#875f00!important}
.page-services .service-card__link:hover{color:#07131f!important}
.page-espace-client .feature-card i{border-color:#e9d58b;background:#fff8df;color:#875f00}
.page-espace-client .client-preview-list i{color:#f4bc20!important}
.page-services .service-cta-card,
.page-espace-client .client-cta-card{border-color:#e0e7ea!important;background:linear-gradient(120deg,#fff,#f8f7f1)!important}
.page-services .service-cta-card .btn-primary,
.page-espace-client .client-cta-card .btn-primary{background:#f4bc20;border-color:#f4bc20;color:#111b23}
.page-services .service-cta-card .btn-primary:hover,
.page-espace-client .client-cta-card .btn-primary:hover{background:#ffd34f;border-color:#ffd34f;color:#111b23}
.page-espace-client .client-cta-card .btn-outline-primary{color:#6f5200;border-color:#cba52d}
.page-espace-client .client-cta-card .btn-outline-primary:hover{background:#f4bc20;border-color:#d7a90d;color:#111b23}
.page-services .btn-outline-primary,
.page-espace-client .btn-outline-primary{--bs-btn-color:#6f5200;--bs-btn-border-color:#cba52d;--bs-btn-hover-bg:#f4bc20;--bs-btn-hover-color:#111b23;--bs-btn-hover-border-color:#d7a90d;--bs-btn-active-bg:#e5aa0d;--bs-btn-active-color:#111b23;--bs-btn-active-border-color:#d7a90d}
.page-services .btn-primary,
.page-espace-client .btn-primary{--bs-btn-bg:#f4bc20;--bs-btn-border-color:#f4bc20;--bs-btn-hover-bg:#ffd34f;--bs-btn-hover-border-color:#ffd34f;--bs-btn-active-bg:#e5aa0d;--bs-btn-active-border-color:#d7a90d;--bs-btn-color:#111b23;--bs-btn-hover-color:#111b23;box-shadow:0 7px 18px rgba(161,119,8,.16)}
.page-services .btn:focus-visible,
.page-espace-client .btn:focus-visible{outline-color:#d5a510}
.page-services .site-footer,
.page-espace-client .site-footer{background:#07131f!important}
.page-services .site-footer__bottom a:hover,
.page-espace-client .site-footer__bottom a:hover{color:#f4bc20!important}
.page-services .text-primary,
.page-espace-client .text-primary{color:#875f00!important}

/* Modales de l’accueil assorties au bleu nuit et au jaune électrique. */
.page-home-public .modal-backdrop.show{background:#03080d;opacity:.8}
.page-home-public .modal-content{overflow:hidden;border:1px solid rgba(244,188,32,.48);border-radius:12px;background:#102233;color:#eef3f7;box-shadow:0 24px 72px rgba(0,0,0,.5)}
.page-home-public .modal-header,
.page-home-public .modal-footer{border-color:rgba(255,255,255,.14);background:#091723;color:#fff}
.page-home-public .modal-title{color:#fff}
.page-home-public .modal-header .text-secondary{color:#b6c4ce!important}
.page-home-public .modal-body,
.page-home-public .modal-body p,
.page-home-public .modal-body li,
.page-home-public .modal-body label{color:#e5edf2}
.page-home-public #modalDevis #devisFormModal .form-control,
.page-home-public #modalDevis #devisFormModal .form-select{border-color:#3C566B;border-radius:6px;background-color:#203448;color:#F1F5F9;color-scheme:dark}
.page-home-public #modalDevis #devisFormModal .form-control::placeholder{color:#C0CDD8;opacity:1}
.page-home-public #modalDevis #devisFormModal .form-control:focus,
.page-home-public #modalDevis #devisFormModal .form-select:focus{border-color:#f4bc20;outline:2px solid #f4bc20;outline-offset:1px;box-shadow:0 0 0 4px rgba(244,188,32,.18)}
.page-home-public #modalDevis #devisFormModal .row.g-3{--bs-gutter-y:.7rem}
.page-home-public #modalDevis #devisFormModal .form-label{margin-bottom:.3rem}
.page-home-public #modalDevis #devisFormModal .form-select option{background:#203448;color:#F1F5F9}
.page-home-public .modal .form-check-input:checked{border-color:#f4bc20;background-color:#f4bc20}
.page-home-public .modal .btn-close{filter:invert(1) grayscale(100%) brightness(190%);opacity:.9}
.page-home-public .modal .btn-close:hover{opacity:1}
.page-home-public #modalDevis .btn-primary{border-color:#f4bc20;background:#f4bc20;color:#111b23;box-shadow:none}
.page-home-public #modalDevis .btn-primary:hover{border-color:#ffd34f;background:#ffd34f;color:#111b23}
.page-home-public #mdvConfidentialiteOuvrir{color:#f4bc20!important;text-decoration-color:rgba(244,188,32,.65)}
.page-home-public #mdvSubmit{border-color:#f4bc20;background:#f4bc20;color:#111b23}
.page-home-public #mdvSubmit:hover:not(:disabled){border-color:#ffd34f;background:#ffd34f;color:#111b23}
.page-home-public #mdvSubmit:disabled{border-color:#667480;background:#667480;color:#e4e9ed;opacity:.72}
.page-home-public #modalApropos .modal-body header{display:none}
.page-home-public #modalApropos .modal-body .container{width:100%;max-width:none;padding:0}
.page-home-public #modalApropos .modal-body h2{color:#f4bc20;font-size:1.25rem}
.page-home-public #modalApropos .modal-body .footer{margin-top:24px;padding-top:12px;border-top:1px solid rgba(255,255,255,.15);color:#b6c4ce}
.page-home-public .mdv-confidentialite-dialogue{border-color:rgba(244,188,32,.5);background:#102233;color:#eef3f7}
.page-home-public .mdv-confidentialite-entete,
.page-home-public .mdv-confidentialite-pied{border-color:rgba(255,255,255,.15);background:#091723;color:#fff}
.page-home-public .mdv-confidentialite-entete h5{color:#fff}
.page-home-public .mdv-confidentialite-fermer{border-color:#536575;background:#152b3e;color:#fff}
.page-home-public .mdv-confidentialite-fermer:hover{border-color:#f4bc20;color:#f4bc20}
.page-home-public .mdv-confidentialite-pied p{color:#b6c4ce}
.page-home-public .mdv-confidentialite-pied .btn-primary{border-color:#f4bc20;background:#f4bc20;color:#111b23}

@media(max-width:575.98px){
  .page-home-public .modal-header{padding:16px}
  .page-home-public .modal-body{padding:16px}
}

/* Thème bleu nuit et jaune électrique partagé par Services et Clients. */
body.page-services,
body.page-espace-client{color:#eef3f7;background:#07131f}
.page-services .site-header,
.page-espace-client .site-header{background:#07131f}
.page-services .site-navbar,
.page-espace-client .site-navbar{background:#07131f}
.page-services .site-navbar .navbar-brand,
.page-espace-client .site-navbar .navbar-brand{color:#fff}
.page-services .site-navbar .nav-link,
.page-espace-client .site-navbar .nav-link{border:1px solid transparent;border-radius:5px;background:transparent;color:#e7edf2}
.page-services .site-navbar .nav-link:hover,
.page-espace-client .site-navbar .nav-link:hover,
.page-services .site-navbar .nav-link:focus-visible,
.page-espace-client .site-navbar .nav-link:focus-visible{background:#142a3b;color:#f4bc20}
.page-services .site-navbar .nav-link.active,
.page-espace-client .site-navbar .nav-link.active{background:transparent;color:#f4bc20}
.page-services .site-navbar .nav-link.active::after,
.page-espace-client .site-navbar .nav-link.active::after{right:12px;bottom:0;left:12px;background:#f4bc20}
.page-services .nav-phone,
.page-espace-client .nav-phone{border-color:#f4bc20;color:#fff}
.page-services .nav-phone i,
.page-espace-client .nav-phone i{color:#f4bc20}
.page-services .nav-phone:hover,
.page-espace-client .nav-phone:hover{background:#f4bc20;color:#101b24}

.page-services main,
.page-espace-client main{background:#07131f}
.page-services .page-hero,
.page-espace-client .page-hero{border-color:#263c4e!important;background:linear-gradient(110deg,#07131f 0%,#102b3e 72%,#153e4a 100%)!important;color:#eef3f7}
.page-services .page-hero h1,
.page-espace-client .page-hero h1,
.page-services .page-hero .lead,
.page-espace-client .page-hero .lead,
.page-espace-client .page-hero .small{color:#eef3f7}
.page-services .page-hero .section-kicker,
.page-espace-client .page-hero .section-kicker{color:#f4bc20}

.page-services .public-content-panel,
.page-espace-client .public-content-panel,
.page-services main>section.container,
.page-espace-client main>section.container{border-color:#263c4e;background:#0c1e2d;color:#eef3f7;box-shadow:0 14px 38px rgba(0,0,0,.2)}
.page-services .section-heading h2,
.page-espace-client .section-heading h2,
.page-services .section-heading p:not(.section-kicker),
.page-espace-client .section-heading p:not(.section-kicker){color:#eef3f7}
.page-services .service-card,
.page-espace-client .feature-card{border-color:#3c566b;background:#152b3e;color:#e5edf2;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.page-services .service-card:hover,
.page-espace-client .feature-card:hover{border-color:#f4bc20;box-shadow:0 16px 34px rgba(0,0,0,.28)}
.page-services .service-card::before{background:linear-gradient(135deg,#07131f 0%,#17384c 76%,#94700f 100%)}
.page-services .service-card:nth-child(3n+2)::before,
.page-services .service-card:nth-child(3n)::before{background:linear-gradient(135deg,#0c2233 0%,#1b4053 76%,#94700f 100%)}
.page-services .service-card h3,
.page-espace-client .feature-card h3{color:#fff}
.page-services .service-card p:not(.service-card__index),
.page-espace-client .feature-card p{color:#d1dbe3}
.page-services .service-card .service-card__icon,
.page-espace-client .feature-card .service-card__icon{border-color:#f4bc20;background:#203448;color:#f4bc20}
.page-services .service-card__index,
.page-services .service-card__link{color:#f4bc20!important}
.page-services .service-card__link:hover{color:#fff!important}
.page-espace-client .feature-card i{border-color:#f4bc20;background:#203448;color:#f4bc20}
.page-espace-client .client-preview-card{border-color:#3c566b;background:#152b3e;color:#eef3f7;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.page-espace-client .client-preview-header{border-color:#3c566b;color:#fff}
.page-espace-client .client-preview-list,
.page-espace-client .client-preview-list li{color:#e5edf2}
.page-espace-client .client-preview-list i{color:#f4bc20!important}

.page-services .service-cta-card,
.page-espace-client .client-cta-card{border-color:#3c566b!important;background:linear-gradient(120deg,#102233,#173448)!important;color:#eef3f7}
.page-services .service-cta-card h2,
.page-espace-client .client-cta-card h2,
.page-services .service-cta-card p,
.page-espace-client .client-cta-card p{color:#eef3f7}
.page-services .service-cta-card .eyebrow,
.page-espace-client .client-cta-card .eyebrow{color:#f4bc20}
.page-services .service-cta-card .btn-primary,
.page-espace-client .client-cta-card .btn-primary{border-color:#f4bc20;background:#f4bc20;color:#111b23}
.page-services .service-cta-card .btn-primary:hover,
.page-espace-client .client-cta-card .btn-primary:hover{border-color:#ffd34f;background:#ffd34f;color:#111b23}
.page-services .service-cta-card .btn-outline-primary,
.page-espace-client .client-cta-card .btn-outline-primary{border-color:rgba(255,255,255,.72);color:#fff}
.page-services .service-cta-card .btn-outline-primary:hover,
.page-espace-client .client-cta-card .btn-outline-primary:hover{border-color:#f4bc20;background:#f4bc20;color:#111b23}

.page-services .btn-primary,
.page-espace-client .btn-primary{--bs-btn-bg:#f4bc20;--bs-btn-border-color:#f4bc20;--bs-btn-hover-bg:#ffd34f;--bs-btn-hover-border-color:#ffd34f;--bs-btn-active-bg:#e5aa0d;--bs-btn-active-border-color:#d7a90d;--bs-btn-color:#111b23;--bs-btn-hover-color:#111b23;box-shadow:0 7px 18px rgba(161,119,8,.16)}
.page-services .btn-outline-primary,
.page-espace-client .btn-outline-primary{--bs-btn-color:#fff;--bs-btn-border-color:#9aabb8;--bs-btn-hover-bg:#f4bc20;--bs-btn-hover-color:#111b23;--bs-btn-hover-border-color:#f4bc20;--bs-btn-active-bg:#e5aa0d;--bs-btn-active-color:#111b23;--bs-btn-active-border-color:#d7a90d}
.page-services .btn:focus-visible,
.page-espace-client .btn:focus-visible{outline:2px solid #f4bc20;outline-offset:2px;box-shadow:0 0 0 4px rgba(244,188,32,.2)}
.page-espace-client .form-control,
.page-espace-client .form-select{border-color:#3c566b;background-color:#203448;color:#f1f5f9;color-scheme:dark}
.page-espace-client .form-control::placeholder{color:#c0cdd8;opacity:1}
.page-espace-client .form-control:focus,
.page-espace-client .form-select:focus{border-color:#f4bc20;outline:2px solid #f4bc20;outline-offset:1px;box-shadow:0 0 0 4px rgba(244,188,32,.18)}
.page-espace-client .form-select option{background:#203448;color:#f1f5f9}
.page-espace-client .form-check-input:checked{border-color:#f4bc20;background-color:#f4bc20}
.page-services .text-primary,
.page-espace-client .text-primary{color:#f4bc20!important}
.page-services .site-footer,
.page-espace-client .site-footer{border-color:#263c4e;background:#050d15!important;color:#eef3f7}
.page-services .site-footer a,
.page-espace-client .site-footer a{color:#e5edf2}
.page-services .site-footer a:hover,
.page-espace-client .site-footer a:hover,
.page-services .site-footer__bottom a:hover,
.page-espace-client .site-footer__bottom a:hover{color:#f4bc20!important}

@media(max-width:991.98px){
  .page-services .site-navbar .navbar-collapse,
  .page-espace-client .site-navbar .navbar-collapse{background:#07131f}
}
@media(max-width:575.98px){
  .page-services .page-hero,
  .page-espace-client .page-hero{padding-inline:0}
  .page-services .public-content-panel,
  .page-espace-client .public-content-panel{padding:22px 16px}
  .page-services .service-cta-card,
  .page-espace-client .client-cta-card{padding:22px 18px}
}

/* Hiérarchie plus calme pour garder la même tonalité que l’accueil. */
.page-services .page-hero h1,
.page-espace-client .page-hero h1{max-width:760px;font-size:clamp(1.9rem,3.2vw,2.6rem)!important;font-weight:600!important;line-height:1.2;letter-spacing:-.025em}
.page-espace-client .page-hero h1{max-width:690px}
.page-services .page-hero .lead,
.page-espace-client .page-hero .lead{max-width:680px;font-size:1rem;line-height:1.7;color:#d8e2e9}
.page-services .page-hero .small{color:#c2d0da}
.page-services .section-heading .section-kicker,
.page-espace-client .section-heading .section-kicker{margin-bottom:.65rem;color:#f4bc20;font-size:.68rem;font-weight:600;letter-spacing:.13em}
.page-services .section-heading h2,
.page-espace-client .section-heading h2{font-size:clamp(1.4rem,2.2vw,1.8rem)!important;font-weight:600!important;line-height:1.3;letter-spacing:-.02em}
.page-services .service-card h3,
.page-espace-client .feature-card h3{font-size:1.08rem;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.page-services .service-card__index{font-size:.62rem;letter-spacing:.1em}
.page-services .service-card p:not(.service-card__index),
.page-espace-client .feature-card p{font-size:.9rem;line-height:1.65}
.page-services .client-preview-header,
.page-espace-client .client-preview-header{font-weight:600}
.page-services .client-preview-list,
.page-espace-client .client-preview-list{font-size:.92rem;line-height:1.55}
.page-services .service-cta-card h2,
.page-espace-client .client-cta-card h2{font-size:clamp(1.4rem,2.3vw,1.9rem);font-weight:600;line-height:1.25;letter-spacing:-.025em}
.page-services .service-cta-card p,
.page-espace-client .client-cta-card p{font-size:.92rem;line-height:1.65}
.page-services .page-hero .btn-primary,
.page-espace-client .page-hero .btn-primary,
.page-services .page-hero .d-flex>.btn-outline-primary:first-child,
.page-espace-client .page-hero .btn-outline-primary{border-color:#f4bc20;background:#f4bc20;color:#111b23}
.page-services .page-hero .btn-primary:hover,
.page-espace-client .page-hero .btn-primary:hover,
.page-services .page-hero .d-flex>.btn-outline-primary:first-child:hover,
.page-espace-client .page-hero .btn-outline-primary:hover{border-color:#ffd34f;background:#ffd34f;color:#111b23}
.page-services .service-cta-card .btn,
.page-espace-client .client-cta-card .btn{min-height:44px;border-radius:5px;font-size:.86rem;font-weight:600}
.page-services .service-card,
.page-espace-client .feature-card{border-radius:10px}
.page-services .public-content-panel,
.page-espace-client .public-content-panel{border-radius:14px}

@media(max-width:575.98px){
  .page-services .page-hero h1,
  .page-espace-client .page-hero h1{font-size:clamp(1.8rem,7.2vw,2.25rem)!important}
  .page-services .section-heading h2,
  .page-espace-client .section-heading h2{font-size:1.35rem!important}
  .page-services .service-card h3,
  .page-espace-client .feature-card h3{font-size:1rem}
}

/* Héros photo plein écran, sur le modèle de la page d’accueil. */
.page-services .site-header,
.page-espace-client .site-header{position:absolute;top:0;right:0;left:0;z-index:20;background:transparent}
.page-services .site-navbar,
.page-espace-client .site-navbar{min-height:76px;padding-block:10px;background:linear-gradient(90deg,rgba(5,14,22,.92),rgba(5,14,22,.48))!important;box-shadow:none}
.page-services .site-navbar .container,
.page-espace-client .site-navbar .container{min-height:54px}
.page-services .site-navbar .navbar-collapse,
.page-espace-client .site-navbar .navbar-collapse{flex:1;justify-content:center;background:transparent}
.page-services .site-navbar .navbar-nav,
.page-espace-client .site-navbar .navbar-nav{align-items:center;gap:clamp(4px,.7vw,12px);margin-inline:auto}
.page-services .site-navbar .nav-link,
.page-espace-client .site-navbar .nav-link{min-height:42px;padding:9px clamp(5px,.8vw,13px)!important;border:0;border-radius:0;background:transparent!important;color:#fff!important;font-size:clamp(.7rem,.9vw,.88rem);font-weight:600;white-space:nowrap}
.page-services .site-navbar .nav-link:hover,
.page-espace-client .site-navbar .nav-link:hover,
.page-services .site-navbar .nav-link:focus-visible,
.page-espace-client .site-navbar .nav-link:focus-visible,
.page-services .site-navbar .nav-link.active,
.page-espace-client .site-navbar .nav-link.active{color:#f4bc20!important}
.page-services .site-navbar .nav-link.active::after,
.page-espace-client .site-navbar .nav-link.active::after{right:10px;bottom:2px;left:10px;height:2px;background:#f4bc20}
.page-services .site-brand__logo,
.page-espace-client .site-brand__logo{width:42px;height:42px;object-fit:contain}
.page-services .site-brand__text,
.page-espace-client .site-brand__text{display:grid;gap:2px}
.page-services .site-brand__text strong,
.page-espace-client .site-brand__text strong{font-size:1.15rem;line-height:1.1;letter-spacing:.03em}
.page-services .site-brand__text small,
.page-espace-client .site-brand__text small{color:rgba(255,255,255,.72);font-size:.58rem;letter-spacing:.07em}
.page-services .nav-quote,
.page-espace-client .nav-quote{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-left:12px;padding:9px 14px;border:1px solid #f4bc20;border-radius:5px;background:#f4bc20;color:#101b24;font-size:.8rem;font-weight:700;white-space:nowrap}
.page-services .nav-quote:hover,
.page-espace-client .nav-quote:hover{border-color:#ffd34f;background:#ffd34f;color:#101b24}
.page-services .page-hero,
.page-espace-client .page-hero{display:flex;align-items:center;width:100%;max-width:none;min-height:100svh;margin:0!important;padding:132px max(30px,calc((100vw - 1440px)/2)) 48px!important;border:0!important;border-radius:0!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;box-shadow:none!important}
.page-services .page-hero{background-image:linear-gradient(90deg,rgba(4,12,20,.98) 0%,rgba(4,12,20,.93) 34%,rgba(4,12,20,.72) 52%,rgba(4,12,20,.24) 78%,rgba(4,12,20,.12) 100%),linear-gradient(0deg,rgba(4,12,20,.72),transparent 46%),url("/assets/images/installation.jpg")!important}
.page-espace-client .page-hero{background-image:linear-gradient(90deg,rgba(4,12,20,.97) 0%,rgba(4,12,20,.9) 38%,rgba(4,12,20,.66) 62%,rgba(4,12,20,.22) 100%),linear-gradient(0deg,rgba(4,12,20,.68),transparent 48%),url("/assets/images/banner.png")!important}
.page-services .page-hero>.container,
.page-espace-client .page-hero>.container{width:min(100%,1440px)!important;max-width:1440px!important}
.page-services .page-hero__inner{display:grid;width:100%;grid-template-columns:minmax(0,680px);gap:0}
.page-services .page-hero__inner>div:first-child{max-width:680px}
.page-services .page-hero__inner>.d-flex{margin-top:26px}
.page-services .page-hero .lead,
.page-espace-client .page-hero .lead{color:rgba(255,255,255,.9)}
.page-services .page-hero .btn,
.page-espace-client .page-hero .btn{min-height:46px;border-radius:5px;font-size:.87rem;font-weight:600}
.page-services .page-hero .btn-outline-primary,
.page-espace-client .page-hero .btn-outline-primary{border-color:rgba(255,255,255,.8);background:transparent;color:#fff}
.page-services .page-hero .btn-outline-primary:hover,
.page-espace-client .page-hero .btn-outline-primary:hover{border-color:#fff;background:#fff;color:#07131f}
.page-espace-client .page-hero .btn-primary{border-color:#f4bc20;background:#f4bc20;color:#101b24}
.page-espace-client .page-hero .btn-primary:hover{border-color:#ffd34f;background:#ffd34f;color:#101b24}
.page-espace-client .client-preview-card{border-color:rgba(255,255,255,.28);background:rgba(7,20,31,.84);backdrop-filter:blur(8px)}
.page-espace-client .client-preview-header{border-color:rgba(255,255,255,.2)}

@media(max-width:991.98px){
  .page-services .site-header,
  .page-espace-client .site-header{position:relative}
  .page-services .site-navbar,
  .page-espace-client .site-navbar{min-height:68px;background:#07131f!important}
  .page-services .site-navbar .navbar-collapse,
  .page-espace-client .site-navbar .navbar-collapse{padding:14px 0 8px;background:#07131f}
  .page-services .site-navbar .navbar-nav,
  .page-espace-client .site-navbar .navbar-nav{align-items:stretch;gap:2px}
  .page-services .site-navbar .nav-link,
  .page-espace-client .site-navbar .nav-link{justify-content:flex-start;width:100%;padding-inline:12px!important}
  .page-services .site-navbar .nav-link.active::after,
  .page-espace-client .site-navbar .nav-link.active::after{right:auto;bottom:3px;left:12px;width:42px}
  .page-services .nav-quote,
  .page-espace-client .nav-quote{width:100%;margin:10px 0 0}
  .page-services .page-hero,
  .page-espace-client .page-hero{min-height:calc(100svh - 68px);padding:56px 28px 40px!important}
  .page-services .page-hero__inner{width:min(100%,760px)}
  .page-espace-client .page-hero>.container{padding:0 8px!important}
}
@media(max-width:575.98px){
  .page-services .page-hero,
  .page-espace-client .page-hero{min-height:calc(100svh - 68px);padding:44px 20px 32px!important;background-position:58% center!important}
  .page-services .page-hero__inner{gap:0}
  .page-services .page-hero__inner>.d-flex{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
  .page-services .page-hero .btn,
  .page-espace-client .page-hero .btn{justify-content:center;padding-inline:10px;font-size:.78rem}
  .page-espace-client .page-hero .row{--bs-gutter-y:1.5rem}
  .page-espace-client .client-preview-card{max-width:520px}
}

/* Même modale de devis sur l’accueil, Services et Clients. */
body.page-services .modal-backdrop.show,
body.page-espace-client .modal-backdrop.show{background:#03080d;opacity:.8}
.page-services .modal-content,
.page-espace-client .modal-content{overflow:hidden;border:1px solid rgba(244,188,32,.48);border-radius:12px;background:#102233;color:#eef3f7;box-shadow:0 24px 72px rgba(0,0,0,.5)}
.page-services .modal-header,
.page-services .modal-footer,
.page-espace-client .modal-header,
.page-espace-client .modal-footer{border-color:rgba(255,255,255,.14);background:#091723;color:#fff}
.page-services .modal-title,
.page-espace-client .modal-title{color:#fff}
.page-services .modal-header .text-secondary,
.page-espace-client .modal-header .text-secondary{color:#b6c4ce!important}
.page-services .modal-body,
.page-services .modal-body p,
.page-services .modal-body li,
.page-services .modal-body label,
.page-espace-client .modal-body,
.page-espace-client .modal-body p,
.page-espace-client .modal-body li,
.page-espace-client .modal-body label{color:#e5edf2}
.page-services #modalDevis #devisFormModal .form-control,
.page-services #modalDevis #devisFormModal .form-select,
.page-espace-client #modalDevis #devisFormModal .form-control,
.page-espace-client #modalDevis #devisFormModal .form-select{border-color:#3c566b;border-radius:6px;background-color:#203448;color:#f1f5f9;color-scheme:dark}
.page-services #modalDevis #devisFormModal .form-control::placeholder,
.page-espace-client #modalDevis #devisFormModal .form-control::placeholder{color:#c0cdd8;opacity:1}
.page-services #modalDevis #devisFormModal .form-control:focus,
.page-services #modalDevis #devisFormModal .form-select:focus,
.page-espace-client #modalDevis #devisFormModal .form-control:focus,
.page-espace-client #modalDevis #devisFormModal .form-select:focus{border-color:#f4bc20;outline:2px solid #f4bc20;outline-offset:1px;box-shadow:0 0 0 4px rgba(244,188,32,.18)}
.page-services #modalDevis #devisFormModal .row.g-3,
.page-espace-client #modalDevis #devisFormModal .row.g-3{--bs-gutter-y:.7rem}
.page-services #modalDevis #devisFormModal .form-label,
.page-espace-client #modalDevis #devisFormModal .form-label{margin-bottom:.3rem}
.page-services #modalDevis #devisFormModal .form-select option,
.page-espace-client #modalDevis #devisFormModal .form-select option{background:#203448;color:#f1f5f9}
.page-services .modal .form-check-input:checked,
.page-espace-client .modal .form-check-input:checked{border-color:#f4bc20;background-color:#f4bc20}
.page-services .modal .btn-close,
.page-espace-client .modal .btn-close{filter:invert(1) grayscale(100%) brightness(190%);opacity:.9}
.page-services .modal .btn-close:hover,
.page-espace-client .modal .btn-close:hover{opacity:1}
.page-services #modalDevis .btn-primary,
.page-espace-client #modalDevis .btn-primary{border-color:#f4bc20;background:#f4bc20;color:#111b23;box-shadow:none}
.page-services #modalDevis .btn-primary:hover,
.page-espace-client #modalDevis .btn-primary:hover{border-color:#ffd34f;background:#ffd34f;color:#111b23}
.page-services #mdvConfidentialiteOuvrir,
.page-espace-client #mdvConfidentialiteOuvrir{color:#f4bc20!important;text-decoration-color:rgba(244,188,32,.65)}
.page-services #mdvSubmit,
.page-espace-client #mdvSubmit{border-color:#f4bc20;background:#f4bc20;color:#111b23}
.page-services #mdvSubmit:hover:not(:disabled),
.page-espace-client #mdvSubmit:hover:not(:disabled){border-color:#ffd34f;background:#ffd34f;color:#111b23}
.page-services #mdvSubmit:disabled,
.page-espace-client #mdvSubmit:disabled{border-color:#667480;background:#667480;color:#e4e9ed;opacity:.72}
.page-services .mdv-confidentialite-dialogue,
.page-espace-client .mdv-confidentialite-dialogue{border-color:rgba(244,188,32,.5);background:#102233;color:#eef3f7}
.page-services .mdv-confidentialite-entete,
.page-services .mdv-confidentialite-pied,
.page-espace-client .mdv-confidentialite-entete,
.page-espace-client .mdv-confidentialite-pied{border-color:rgba(255,255,255,.15);background:#091723;color:#fff}
.page-services .mdv-confidentialite-entete h5,
.page-espace-client .mdv-confidentialite-entete h5{color:#fff}
.page-services .mdv-confidentialite-fermer,
.page-espace-client .mdv-confidentialite-fermer{border-color:#536575;background:#152b3e;color:#fff}
.page-services .mdv-confidentialite-fermer:hover,
.page-espace-client .mdv-confidentialite-fermer:hover{border-color:#f4bc20;color:#f4bc20}
.page-services .mdv-confidentialite-pied p,
.page-espace-client .mdv-confidentialite-pied p{color:#b6c4ce}
.page-services .mdv-confidentialite-pied .btn-primary,
.page-espace-client .mdv-confidentialite-pied .btn-primary{border-color:#f4bc20;background:#f4bc20;color:#111b23}
@media(max-width:575.98px){
  .page-services .modal-header,
  .page-services .modal-body,
  .page-espace-client .modal-header,
  .page-espace-client .modal-body{padding:16px}
}

/* Cartes sobres, assorties au bandeau d’informations de l’accueil. */
.page-services .service-card,
.page-espace-client .feature-card{overflow:hidden;border:1px solid #4b555e!important;border-radius:6px!important;background:rgba(7,14,23,.9)!important;color:#e5e9ed;box-shadow:none!important;transition:border-color .2s ease,background-color .2s ease}
.page-services .service-card{min-height:0!important}
.page-services .service-card:hover,
.page-espace-client .feature-card:hover{transform:none;border-color:#89939b!important;background:rgba(10,19,29,.96)!important;box-shadow:none!important}
.page-services .service-card::before{display:none!important;content:none!important}
.page-services .service-card .service-card__icon,
.page-espace-client .feature-card .service-card__icon{position:static!important;top:auto!important;left:auto!important;width:auto;height:auto;margin:0 0 14px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:#f4bc20!important;font-size:1.35rem!important}
.page-services .service-card .service-card__icon i{font-size:1.35rem!important}
.page-espace-client .feature-card .service-card__icon i{font-size:1.35rem!important}
.page-services .service-card h3,
.page-espace-client .feature-card h3{margin:0!important;color:#f4bc20!important;font-size:1rem;font-weight:600;line-height:1.4}
.page-services .service-card p,
.page-espace-client .feature-card p{margin:10px 0 0!important;color:#d6dce1!important;font-size:.88rem;line-height:1.6}
.page-services .service-card .service-card__index{margin:0 0 7px!important;color:#aeb9c2!important;font-size:.64rem;font-weight:500;letter-spacing:.08em}
.page-services .service-card .service-card__link,
.page-espace-client .feature-card a{color:#f4bc20!important}
.page-services .service-card .service-card__link:hover,
.page-espace-client .feature-card a:hover{color:#fff!important}
.page-espace-client .client-preview-card,
.page-services .service-cta-card,
.page-espace-client .client-cta-card{border:1px solid #4b555e!important;border-radius:6px!important;background:rgba(7,14,23,.9)!important;color:#e5e9ed;box-shadow:none!important}
.page-espace-client .client-preview-header{border-color:#46515a!important;color:#f4bc20!important}
.page-espace-client .client-preview-header strong,
.page-services .service-cta-card h2,
.page-espace-client .client-cta-card h2{color:#f4bc20!important}
.page-espace-client .client-preview-list,
.page-espace-client .client-preview-list li,
.page-services .service-cta-card p,
.page-espace-client .client-cta-card p{color:#d6dce1!important}
.page-espace-client .client-preview-list i{color:#f4bc20!important}
.page-services .service-cta-card .eyebrow,
.page-espace-client .client-cta-card .eyebrow{color:#f4bc20!important}
.page-services .service-card,
.page-espace-client .feature-card{padding:22px!important}
.page-services .service-card>h3,
.page-services .service-card>p,
.page-services .service-card>.btn-link{margin-right:0!important;margin-left:0!important}
.page-espace-client .feature-card .service-card__icon{display:grid;place-items:start}
.page-espace-client .client-preview-card{backdrop-filter:blur(8px)}

/* Harmonisation des boutons avec l’accent jaune du thème ARTELEC. */
.page-home-public .btn-primary,
.page-home-public .btn-warning,
.page-services .btn-primary,
.page-services .btn-warning,
.page-espace-client .btn-primary,
.page-espace-client .btn-warning{border-color:#f4bc20!important;background:#f4bc20!important;color:#111b23!important;box-shadow:none!important}
.page-home-public .btn-primary:hover:not(:disabled),
.page-home-public .btn-warning:hover:not(:disabled),
.page-services .btn-primary:hover:not(:disabled),
.page-services .btn-warning:hover:not(:disabled),
.page-espace-client .btn-primary:hover:not(:disabled),
.page-espace-client .btn-warning:hover:not(:disabled){border-color:#ffd34f!important;background:#ffd34f!important;color:#111b23!important}
.page-home-public .btn-primary:disabled,
.page-home-public .btn-warning:disabled,
.page-services .btn-primary:disabled,
.page-services .btn-warning:disabled,
.page-espace-client .btn-primary:disabled,
.page-espace-client .btn-warning:disabled{border-color:#667480!important;background:#667480!important;color:#e4e9ed!important;opacity:.72}
.page-home-public .btn-outline-primary,
.page-services .btn-outline-primary,
.page-espace-client .btn-outline-primary,
.page-home-public .btn-outline-light,
.page-services .btn-outline-light,
.page-espace-client .btn-outline-light{border-color:rgba(255,255,255,.78)!important;background:transparent!important;color:#fff!important;box-shadow:none!important}
.page-home-public .btn-outline-primary:hover,
.page-services .btn-outline-primary:hover,
.page-espace-client .btn-outline-primary:hover,
.page-home-public .btn-outline-light:hover,
.page-services .btn-outline-light:hover,
.page-espace-client .btn-outline-light:hover{border-color:#f4bc20!important;background:#f4bc20!important;color:#111b23!important}
.page-home-public .btn-link,
.page-services .btn-link,
.page-espace-client .btn-link{color:#f4bc20!important}
.page-home-public .btn-link:hover,
.page-services .btn-link:hover,
.page-espace-client .btn-link:hover{color:#ffd34f!important}

/* Rubrique Conseils : présentation éditoriale dans le thème ARTELEC. */
.page-conseils{min-height:100vh;background:#07131f;color:#e9eef2;font-family:'Poppins',sans-serif}
.page-conseils .site-header{position:relative;z-index:20;background:#07131f}
.page-conseils .site-navbar{border-bottom:1px solid rgba(255,255,255,.12)}
.page-conseils .conseils-main{width:calc(100% - 36px);max-width:1280px;margin:0 auto;padding:clamp(28px,5vw,68px) 0 54px}
.page-conseils .conseils-hero{display:flex;align-items:center;min-height:300px;padding:clamp(30px,6vw,74px);border:1px solid #3c4854;border-radius:10px;background:radial-gradient(ellipse at 88% 15%,rgba(20,83,100,.55),transparent 45%),linear-gradient(115deg,#08131e,#10293a 72%,#123a45);box-shadow:0 18px 48px rgba(0,0,0,.2)}
.page-conseils .conseils-hero__contenu{max-width:850px}
.page-conseils .conseils-surtitre{margin:0 0 12px;color:#f4bc20;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.page-conseils .conseils-hero h1,.page-conseils .conseils-404 h1{max-width:850px;margin:0;color:#f2f5f7;font-size:clamp(2rem,4.2vw,3.65rem);font-weight:700;letter-spacing:-.035em;line-height:1.12}
.page-conseils .conseils-hero__contenu>p:not(.conseils-surtitre){max-width:680px;margin:18px 0 24px;color:#d0d9df;font-size:1.02rem;line-height:1.75}
.page-conseils .conseils-introduction{max-width:760px;margin:clamp(40px,6vw,70px) auto 30px;text-align:center}
.page-conseils .conseils-introduction .section-kicker{color:#f4bc20;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.page-conseils .conseils-introduction h2,.page-conseils .conseils-rubrique h2,.page-conseils .conseils-relies h2{margin:0;color:#f2f5f7;font-size:clamp(1.45rem,2.5vw,2rem);font-weight:600;letter-spacing:-.02em}
.page-conseils .conseils-introduction>p:last-child{margin:12px 0 0;color:#c5d0d8;line-height:1.7}
.page-conseils .conseils-rubrique{margin:30px 0;padding:clamp(22px,3.6vw,42px);border:1px solid #3c4854;border-radius:10px;background:rgba(9,22,33,.82)}
.page-conseils .conseils-rubrique__entete{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.page-conseils .conseils-rubrique__repere{width:4px;height:28px;border-radius:4px;background:#f4bc20}
.page-conseils .conseils-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.page-conseils .conseils-carte{display:flex;flex-direction:column;min-height:190px;padding:22px;border:1px solid #45525e;border-radius:7px;background:rgba(7,14,23,.76);transition:border-color .18s ease,background-color .18s ease}
.page-conseils .conseils-carte:hover{border-color:#f4bc20;background:rgba(12,25,36,.95)}
.page-conseils .conseils-carte__rubrique{margin:0 0 8px;color:#f4bc20;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.page-conseils .conseils-carte h3{margin:0 0 10px;color:#f2f5f7;font-size:1.05rem;font-weight:600;line-height:1.45}
.page-conseils .conseils-carte h3 a{color:inherit;text-decoration:none}
.page-conseils .conseils-carte h3 a:hover{color:#f4bc20}
.page-conseils .conseils-carte>p:not(.conseils-carte__rubrique){margin:0 0 16px;color:#cbd4db;font-size:.88rem;line-height:1.65}
.page-conseils .conseils-lien{display:inline-flex;gap:8px;align-items:center;margin-top:auto;color:#f4bc20;font-size:.86rem;font-weight:600;text-decoration:none}
.page-conseils .conseils-lien:hover{color:#fff}
.page-conseils .conseils-contact{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:34px;padding:clamp(24px,4vw,42px);border:1px solid #4b555e;border-radius:8px;background:linear-gradient(110deg,rgba(5,14,22,.96),rgba(12,41,55,.92));color:#e8edf1}
.page-conseils .conseils-contact h2{max-width:700px;margin:0;color:#f2f5f7;font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:600;line-height:1.3}
.page-conseils .conseils-contact p:not(.conseils-surtitre){max-width:760px;margin:10px 0 0;color:#cbd4db;line-height:1.65}
.page-conseils .conseils-contact__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px}
.page-conseils .conseils-fil-ariane{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 22px;color:#aebbc4;font-size:.82rem}
.page-conseils .conseils-fil-ariane a{color:#f4bc20;text-decoration:none}
.page-conseils .conseils-fil-ariane a:hover{text-decoration:underline}
.page-conseils .conseils-article{overflow:hidden;border:1px solid #3c4854;border-radius:10px;background:#0b1b29}
.page-conseils .conseils-article__entete{padding:clamp(28px,5vw,58px);border-bottom:1px solid #344552;background:radial-gradient(ellipse at 90% 0,rgba(17,77,94,.45),transparent 55%),#0b1b29}
.page-conseils .conseils-article__entete .conseils-surtitre a{color:inherit;text-decoration:none}
.page-conseils .conseils-article h1{max-width:900px;margin:0;color:#f2f5f7;font-size:clamp(1.9rem,4vw,3.2rem);font-weight:700;letter-spacing:-.035em;line-height:1.15}
.page-conseils .conseils-article__resume{max-width:800px;margin:18px 0 0;color:#d0d9df;font-size:1.04rem;line-height:1.75}
.page-conseils .conseils-article__corps{max-width:900px;margin:0 auto;padding:clamp(26px,5vw,58px) clamp(20px,4vw,48px)}
.page-conseils .conseils-article__introduction{margin:0 0 30px;color:#f1f5f8;font-size:1.12rem;line-height:1.8}
.page-conseils .conseils-article__section{margin:30px 0}
.page-conseils .conseils-article__section h2,.page-conseils .conseils-sources h2{margin:0 0 12px;color:#f4bc20;font-size:1.25rem;font-weight:600;line-height:1.4}
.page-conseils .conseils-article__section p,.page-conseils .conseils-article__section li,.page-conseils .conseils-sources li{color:#d4dde3;line-height:1.8}
.page-conseils .conseils-article__section ul,.page-conseils .conseils-sources ul{padding-left:1.25rem}
.page-conseils .conseils-article__section li+li,.page-conseils .conseils-sources li+li{margin-top:8px}
.page-conseils .conseils-article__section a,.page-conseils .conseils-sources a{color:#f4bc20;text-underline-offset:3px}
.page-conseils .conseils-vigilance{margin:34px 0;padding:20px 22px;border:1px solid rgba(244,188,32,.55);border-left:4px solid #f4bc20;border-radius:6px;background:#172536}
.page-conseils .conseils-vigilance strong{color:#f4bc20}
.page-conseils .conseils-vigilance p{margin:8px 0 0;color:#e1e7eb;line-height:1.7}
.page-conseils .conseils-sources{margin-top:38px;padding-top:26px;border-top:1px solid #344552}
.page-conseils .conseils-relies{margin:30px 0;padding:clamp(22px,3.5vw,36px);border:1px solid #3c4854;border-radius:8px;background:#0b1b29}
.page-conseils .conseils-relies h2{margin-bottom:18px}
.page-conseils .conseils-relies__liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.page-conseils .conseils-relies__liste a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #45525e;border-radius:5px;color:#e7edf1;text-decoration:none;line-height:1.5}
.page-conseils .conseils-relies__liste a span{flex:0 0 auto;color:#f4bc20}
.page-conseils .conseils-relies__liste a:hover{border-color:#f4bc20;color:#f4bc20}
.page-conseils .conseils-404{max-width:800px;margin:clamp(40px,9vw,110px) auto;padding:clamp(28px,5vw,58px);border:1px solid #3c4854;border-radius:10px;background:linear-gradient(115deg,#0b1b29,#102d3c);text-align:center}
.page-conseils .conseils-404 h1{margin:0 auto}
.page-conseils .conseils-404>p:not(.conseils-surtitre){margin:16px auto 24px;color:#d0d9df;line-height:1.7}
.page-conseils .btn-warning{border-color:#f4bc20;background:#f4bc20;color:#111b23;font-weight:600}
.page-conseils .btn-warning:hover{border-color:#ffd34f;background:#ffd34f;color:#111b23}
.page-conseils .btn-outline-light{border-color:rgba(255,255,255,.78);background:transparent;color:#fff}
.page-conseils .btn-outline-light:hover{border-color:#f4bc20;background:#f4bc20;color:#111b23}
.page-conseils .nav-quote{display:inline-flex;align-items:center;gap:9px}

/* Navigation mobile commune placée sous la barre principale. */
.mobile-page-menu{display:none}
@media(max-width:991.98px){
  body.page-home-public .site-navbar>.container,
  body.page-services .site-navbar>.container,
  body.page-espace-client .site-navbar>.container,
  body.page-conseils .site-navbar>.container{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
  body.page-home-public .site-brand,
  body.page-services .site-brand,
  body.page-espace-client .site-brand,
  body.page-conseils .site-brand{flex:1 1 auto;min-width:0;margin:0;max-width:calc(100% - 130px)}
  body.page-home-public .site-navbar .navbar-collapse,
  body.page-services .site-navbar .navbar-collapse,
  body.page-espace-client .site-navbar .navbar-collapse,
  body.page-conseils .site-navbar .navbar-collapse{display:none!important}
  body.page-home-public .site-navbar>.container>.nav-quote,
  body.page-services .site-navbar>.container>.nav-quote,
  body.page-espace-client .site-navbar>.container>.nav-quote,
  body.page-conseils .site-navbar>.container>.nav-quote{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;width:auto!important;min-height:36px;margin:0!important;padding:6px 9px;border:1px solid #f4bc20;border-radius:5px;background:#f4bc20;color:#101b24;font-size:.66rem;font-weight:700;line-height:1.1;white-space:nowrap}
  body.page-home-public .site-navbar>.container>.nav-quote:hover,
  body.page-services .site-navbar>.container>.nav-quote:hover,
  body.page-espace-client .site-navbar>.container>.nav-quote:hover,
  body.page-conseils .site-navbar>.container>.nav-quote:hover{border-color:#ffd34f;background:#ffd34f;color:#101b24}
  body.page-home-public .site-navbar>.container>.nav-quote:focus-visible,
  body.page-services .site-navbar>.container>.nav-quote:focus-visible,
  body.page-espace-client .site-navbar>.container>.nav-quote:focus-visible,
  body.page-conseils .site-navbar>.container>.nav-quote:focus-visible{outline:3px solid #46c6d1;outline-offset:3px}
  .mobile-page-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:min(100%,800px);margin:0 auto;padding:5px 20px 12px}
  .mobile-page-menu a,
  .mobile-page-menu button{display:flex;min-width:0;min-height:34px;align-items:center;justify-content:center;padding:5px 3px;border:1px solid #3c566b;border-radius:5px;background:rgba(7,19,31,.78);color:#eef3f7;font:600 .68rem/1.2 "Poppins",sans-serif;text-align:center;text-decoration:none;white-space:nowrap}
  .mobile-page-menu a:hover,
  .mobile-page-menu button:hover,
  .mobile-page-menu a[aria-current="page"]{border-color:#f4bc20;background:rgba(244,188,32,.1);color:#f4bc20}
  .mobile-page-menu a:focus-visible,
  .mobile-page-menu button:focus-visible{outline:3px solid #46c6d1;outline-offset:2px}
}
@media(max-width:380px){
  body.page-home-public .site-brand,
  body.page-services .site-brand,
  body.page-espace-client .site-brand,
  body.page-conseils .site-brand{max-width:calc(100% - 118px)}
  body.page-home-public .site-brand__logo,
  body.page-services .site-brand__logo,
  body.page-espace-client .site-brand__logo,
  body.page-conseils .site-brand__logo{width:34px;height:34px}
  body.page-home-public .site-brand__text small,
  body.page-services .site-brand__text small,
  body.page-espace-client .site-brand__text small,
  body.page-conseils .site-brand__text small{font-size:.45rem;letter-spacing:.035em}
  .mobile-page-menu{gap:4px;padding:4px 14px 10px}
  .mobile-page-menu a,
  .mobile-page-menu button{min-height:32px;font-size:.63rem}
}
.page-conseils .site-footer__bottom nav{display:flex;flex-wrap:wrap;gap:16px}
.page-conseils .site-footer__bottom nav a{color:#d3dce2;text-decoration:none}
.page-conseils .site-footer__bottom nav a:hover{color:#f4bc20}
.page-services .site-footer,.page-espace-client .site-footer,.page-conseils .site-footer{padding:14px 0;border-top:1px solid #263c4e;background:#050d15!important;color:#d3dce2}
.page-services .site-footer__bottom,.page-espace-client .site-footer__bottom,.page-conseils .site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:0;border:0}
.page-services .site-footer__bottom a,.page-espace-client .site-footer__bottom a,.page-conseils .site-footer__bottom a{color:#d3dce2}
body.page-conseils .modal-backdrop.show{background:#03080d;opacity:.8}
.page-conseils .modal-content{overflow:hidden;border:1px solid rgba(244,188,32,.48);border-radius:12px;background:#102233;color:#eef3f7;box-shadow:0 24px 72px rgba(0,0,0,.5)}
.page-conseils .modal-header,.page-conseils .modal-footer{border-color:rgba(255,255,255,.14);background:#091723;color:#fff}
.page-conseils .modal-title{color:#fff}
.page-conseils .modal-header .text-secondary,.page-conseils .modal-body,.page-conseils .modal-body p,.page-conseils .modal-body li,.page-conseils .modal-body label{color:#e5edf2!important}
.page-conseils #modalDevis #devisFormModal .form-control,.page-conseils #modalDevis #devisFormModal .form-select{border-color:#3c566b;border-radius:6px;background-color:#203448;color:#f1f5f9;color-scheme:dark}
.page-conseils #modalDevis #devisFormModal .form-control::placeholder{color:#c0cdd8;opacity:1}
.page-conseils #modalDevis #devisFormModal .form-control:focus,.page-conseils #modalDevis #devisFormModal .form-select:focus{border-color:#f4bc20;outline:2px solid #f4bc20;outline-offset:1px;box-shadow:0 0 0 4px rgba(244,188,32,.18)}
.page-conseils #modalDevis #devisFormModal .form-select option{background:#203448;color:#f1f5f9}
.page-conseils .modal .form-check-input:checked{border-color:#f4bc20;background-color:#f4bc20}
.page-conseils .modal .btn-close{filter:invert(1) grayscale(100%) brightness(190%);opacity:.9}
.page-conseils #modalDevis .btn-primary,.page-conseils #mdvSubmit{border-color:#f4bc20;background:#f4bc20;color:#111b23}
.page-conseils #modalDevis .btn-primary:hover,.page-conseils #mdvSubmit:hover:not(:disabled){border-color:#ffd34f;background:#ffd34f;color:#111b23}
.page-conseils #mdvSubmit:disabled{border-color:#667480;background:#667480;color:#e4e9ed;opacity:.72}
.page-conseils #mdvConfidentialiteOuvrir{color:#f4bc20!important;text-decoration-color:rgba(244,188,32,.65)}
.page-conseils .mdv-confidentialite-dialogue{border-color:rgba(244,188,32,.5);background:#102233;color:#eef3f7}
.page-conseils .mdv-confidentialite-entete,.page-conseils .mdv-confidentialite-pied{border-color:rgba(255,255,255,.15);background:#091723;color:#fff}
.page-conseils .mdv-confidentialite-entete h5{color:#fff}
.page-conseils .mdv-confidentialite-fermer{border-color:#536575;background:#152b3e;color:#fff}
.page-conseils .mdv-confidentialite-fermer:hover{border-color:#f4bc20;color:#f4bc20}
.page-conseils .mdv-confidentialite-pied p{color:#b6c4ce}
.page-conseils .mdv-confidentialite-pied .btn-primary{border-color:#f4bc20;background:#f4bc20;color:#111b23}
@media(max-width:767.98px){
  .page-conseils .conseils-main{width:calc(100% - 28px);padding-top:22px}
  .page-conseils .conseils-hero{min-height:280px;padding:28px}
  .page-conseils .conseils-articles,.page-conseils .conseils-relies__liste{grid-template-columns:1fr}
  .page-conseils .conseils-contact{align-items:flex-start;flex-direction:column}
}

/* Conseils reprend le même en-tête et le même hero photo que les autres pages publiques. */
.page-conseils .site-header{position:absolute;top:0;right:0;left:0;z-index:20;background:transparent}
.page-conseils .site-navbar{min-height:76px;padding-block:10px;background:linear-gradient(90deg,rgba(5,14,22,.92),rgba(5,14,22,.48))!important;box-shadow:none}
.page-conseils .site-navbar .container{min-height:54px}
.page-conseils .site-navbar .navbar-collapse{flex:1;justify-content:center;background:transparent}
.page-conseils .site-navbar .navbar-nav{align-items:center;gap:clamp(4px,.7vw,12px);margin-inline:auto}
.page-conseils .site-navbar .nav-link{position:relative;min-height:42px;padding:9px clamp(5px,.8vw,13px)!important;border:0;border-radius:0;background:transparent!important;color:#fff!important;font-size:clamp(.7rem,.9vw,.88rem);font-weight:600;white-space:nowrap}
.page-conseils .site-navbar .nav-link:hover,
.page-conseils .site-navbar .nav-link:focus-visible,
.page-conseils .site-navbar .nav-link.active{color:#f4bc20!important}
.page-conseils .site-navbar .nav-link.active::after{position:absolute;right:10px;bottom:2px;left:10px;height:2px;background:#f4bc20;content:""}
.page-conseils .site-brand__logo{width:42px;height:42px;object-fit:contain}
.page-conseils .site-brand__text{display:grid;gap:2px}
.page-conseils .site-brand__text strong{font-size:1.15rem;line-height:1.1;letter-spacing:.03em}
.page-conseils .site-brand__text small{color:rgba(255,255,255,.72);font-size:.58rem;letter-spacing:.07em}
.page-conseils .nav-quote{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-left:12px;padding:9px 14px;border:1px solid #f4bc20;border-radius:5px;background:#f4bc20;color:#101b24;font-size:.8rem;font-weight:700;text-decoration:none;white-space:nowrap}
.page-conseils .nav-quote:hover{border-color:#ffd34f;background:#ffd34f;color:#101b24}
.page-conseils .conseils-main{width:100%;max-width:none;margin:0;padding:0 0 54px}
.page-conseils .conseils-main>:not(.conseils-hero):not(.conseils-introduction){width:calc(100% - clamp(32px,5vw,96px));max-width:1280px;margin-right:auto;margin-left:auto}
.page-conseils .conseils-hero{display:flex;align-items:center;width:100%;min-height:100svh;margin:0;padding:132px max(30px,calc((100vw - 1440px)/2)) 48px;border:0;border-radius:0;background-image:linear-gradient(90deg,rgba(4,12,20,.97) 0%,rgba(4,12,20,.9) 38%,rgba(4,12,20,.68) 62%,rgba(4,12,20,.25) 100%),linear-gradient(0deg,rgba(4,12,20,.7),transparent 48%),url("/assets/images/installations.jpeg");background-position:center center;background-repeat:no-repeat;background-size:cover;box-shadow:none}
.page-conseils .conseils-hero__contenu{max-width:680px}
.page-conseils .conseils-hero h1{max-width:760px;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:600;line-height:1.2;letter-spacing:-.025em}
.page-conseils .conseils-hero__contenu>p:not(.conseils-surtitre){max-width:680px;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.9)}
@media(max-width:991.98px){
  .page-conseils .site-header{position:relative}
  .page-conseils .site-navbar{min-height:68px;padding-block:7px;background:#07131f!important}
  .page-conseils .conseils-hero{min-height:calc(100svh - 68px);padding:44px 28px 40px;background-position:64% center}
}
@media(max-width:575.98px){
  .page-conseils .conseils-main>:not(.conseils-hero):not(.conseils-introduction){width:calc(100% - 28px)}
  .page-conseils .conseils-hero{min-height:calc(100svh - 68px);padding:40px 20px 32px;background-position:66% center}
  .page-conseils .conseils-hero h1{font-size:clamp(1.8rem,7.2vw,2.25rem)}
}

/* Services : introduction à gauche et neuf prestations vitrées sur la photo. */
.page-services main{position:relative;display:block!important;min-height:100svh;gap:0!important;background:#07131f}
.page-services main>.services-hero{display:flex;align-items:center;width:100%;max-width:none;min-height:100svh;margin:0!important;padding:112px max(30px,calc((100vw - 1440px)/2)) 34px!important;border:0!important;border-radius:0!important;background-image:linear-gradient(90deg,rgba(4,12,20,.97) 0%,rgba(4,12,20,.91) 34%,rgba(4,12,20,.67) 58%,rgba(4,12,20,.25) 100%),linear-gradient(0deg,rgba(4,12,20,.73),transparent 48%),url("/assets/images/installation.jpg")!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;box-shadow:none!important}
.page-services .services-hero__layout{display:grid;width:min(100%,1440px);max-width:1440px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;gap:clamp(24px,3vw,48px);margin:0 auto;padding:0!important}
.page-services .services-hero__intro{min-width:0;max-width:540px}
.page-services .services-hero__intro h1{max-width:530px;margin:0;color:#fff;font-size:clamp(2rem,3.2vw,2.7rem);font-weight:600;line-height:1.16;letter-spacing:-.03em}
.page-services .services-hero__intro .lead{max-width:520px;margin:16px 0 0!important;color:rgba(255,255,255,.92);font-size:1rem;line-height:1.7}
.page-services .services-hero__intro .section-kicker{margin-bottom:12px;color:#f4bc20;font-size:.7rem;letter-spacing:.12em}
.page-services .services-hero__actions{margin-top:24px}
.page-services .services-hero__actions .btn{display:inline-flex;min-height:44px;align-items:center;gap:9px;padding:10px 15px;border-radius:5px;font-size:.86rem;font-weight:650}
.page-services .services-hero__actions .btn-outline-light{border-color:rgba(255,255,255,.78);background:rgba(7,19,31,.25);color:#fff}
.page-services .services-hero__actions .btn-outline-light:hover{border-color:#f4bc20;background:#f4bc20;color:#101b24}
.page-services .services-hero__prestations{min-width:0}
.page-services .services-hero__prestations>h2{margin:0 0 12px;color:#f4bc20;font-size:1.05rem;font-weight:600;letter-spacing:.01em}
.page-services .services-hero__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px!important;margin:0!important;--bs-gutter-x:0;--bs-gutter-y:0}
.page-services .services-hero__grid>*{flex:none;width:auto;max-width:none;padding:0}
.page-services .services-hero__grid .service-card{height:100%;min-height:0;padding:14px!important;border:1px solid rgba(226,235,241,.48)!important;border-radius:7px!important;background:rgba(7,17,26,.62)!important;color:#f1f5f8;box-shadow:0 8px 22px rgba(0,0,0,.14)!important;backdrop-filter:blur(8px);transition:background-color .18s ease,border-color .18s ease}
.page-services .services-hero__grid .service-card:hover{transform:none;border-color:rgba(244,188,32,.78)!important;background:rgba(7,17,26,.76)!important}
.page-services .services-hero__grid .service-card .service-card__icon{margin:0 0 8px!important;color:#f4bc20!important;font-size:1.15rem!important}
.page-services .services-hero__grid .service-card .service-card__icon i{font-size:1.15rem!important}
.page-services .services-hero__grid .service-card .service-card__index{margin:0 0 5px!important;color:rgba(244,188,32,.92)!important;font-size:.57rem;font-weight:650;letter-spacing:.075em}
.page-services .services-hero__grid .service-card h3{margin:0!important;color:#f4bc20!important;font-size:.82rem;font-weight:600;line-height:1.3}
.page-services .services-hero__grid .service-card p:not(.service-card__index){margin:7px 0 0!important;color:#eef3f6!important;font-size:.72rem;line-height:1.48}
.page-services .services-hero__grid .service-card .btn-link{margin:8px 0 0!important;color:#f4bc20!important;font-size:.72rem}
@media(max-width:1199.98px){
  .page-services main>.services-hero{min-height:calc(100svh - 68px);padding:54px 28px 38px!important}
  .page-services .services-hero__layout{grid-template-columns:1fr;gap:28px}
  .page-services .services-hero__intro{max-width:740px}
  .page-services .services-hero__intro h1,.page-services .services-hero__intro .lead{max-width:680px}
}
@media(max-width:767.98px){
  .page-services main>.services-hero{min-height:0;padding:36px 20px 30px!important;background-position:58% center!important}
  .page-services .services-hero__layout{gap:25px}
  .page-services .services-hero__intro h1{font-size:clamp(1.8rem,7.2vw,2.25rem)}
  .page-services .services-hero__intro .lead{font-size:.92rem}
  .page-services .services-hero__grid{grid-template-columns:1fr;gap:9px!important}
  .page-services .services-hero__grid .service-card{padding:13px!important}
}
@media(max-width:575.98px){
  .page-home-public main.home-main{min-height:0}
  .page-conseils .conseils-main{width:calc(100% - 24px);padding-bottom:32px}
  .page-conseils .conseils-hero{min-height:0;padding:25px 20px}
  .page-conseils .conseils-rubrique{padding:20px 15px}
  .page-conseils .conseils-carte{min-height:0;padding:18px}
  .page-conseils .conseils-contact__actions{width:100%}
  .page-conseils .conseils-contact__actions .btn{flex:1 1 auto}
  .page-services .site-footer__bottom,.page-espace-client .site-footer__bottom,.page-conseils .site-footer__bottom{align-items:flex-start;flex-direction:column}
  .page-conseils .conseils-article__entete{padding:28px 21px}
  .page-conseils .conseils-article__corps{padding:24px 20px}
}

/* Index Conseils : photo sécurité, titre en tête et cartes d’articles cliquables. */
.page-conseils-index .conseils-main{width:100%;max-width:none;margin:0;padding:0;background:#07131f}
.page-conseils-index .conseils-hero{display:block;width:100%;min-height:100svh;margin:0;padding:124px max(30px,calc((100vw - 1440px)/2)) 52px;border:0;border-radius:0;background-image:linear-gradient(90deg,rgba(4,12,20,.97) 0%,rgba(4,12,20,.91) 34%,rgba(4,12,20,.67) 58%,rgba(4,12,20,.25) 100%),linear-gradient(0deg,rgba(4,12,20,.78),rgba(4,12,20,.44) 55%,rgba(4,12,20,.58)),url("/assets/images/securite.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;box-shadow:none}
.page-conseils-index .conseils-hero__contenu{max-width:980px}
.page-conseils-index .conseils-hero h1{max-width:980px;margin:0;color:#f2f5f7;font-size:clamp(2rem,3.2vw,2.7rem);font-weight:600;letter-spacing:-.03em;line-height:1.16}
.page-conseils-index .conseils-hero__contenu>p:not(.conseils-surtitre){max-width:860px;margin:16px 0 0;color:rgba(255,255,255,.92);font-size:1rem;line-height:1.7}
.page-conseils-index .conseils-rubriques{display:grid;width:min(100%,1740px);max-width:1740px;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0 auto}
.page-conseils-index .conseils-rubrique{min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.page-conseils-index .conseils-rubrique__entete{gap:10px;margin:0 0 13px}
.page-conseils-index .conseils-rubrique__repere{width:3px;height:22px}
.page-conseils-index .conseils-rubrique h2{color:#f4bc20;font-size:1rem;letter-spacing:0}
.page-conseils-index .conseils-articles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.page-conseils-index a.conseils-carte{min-width:0;min-height:176px;padding:17px;border:1px solid rgba(226,235,241,.48);border-radius:7px;background:rgba(7,17,26,.68);color:#eef3f6;text-decoration:none;transition:border-color .18s ease,background-color .18s ease}
.page-conseils-index a.conseils-carte:hover{border-color:rgba(244,188,32,.82);background:rgba(7,17,26,.86)}
.page-conseils-index a.conseils-carte:focus-visible{outline:3px solid #f4bc20;outline-offset:3px}
.page-conseils-index .conseils-carte__rubrique{margin:0 0 7px;color:#f4bc20;font-size:.62rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.page-conseils-index .conseils-carte h3{margin:0 0 8px;color:#f4bc20;font-size:.9rem;font-weight:600;line-height:1.4}
.page-conseils-index .conseils-carte>p:not(.conseils-carte__rubrique){margin:0 0 12px;color:#eef3f6;font-size:.78rem;line-height:1.55}
.page-conseils-index .conseils-lien{display:inline-flex;gap:7px;align-items:center;margin-top:auto;color:#f4bc20;font-size:.78rem;font-weight:600}
@media(min-width:1200px){
  .page-conseils-index .conseils-hero{padding-inline:max(30px,calc((100vw - 1800px)/2))}
}
@media(max-width:1199.98px){
  .page-conseils-index .conseils-hero{min-height:0;padding:54px 28px 38px;background-position:64% center}
  .page-conseils-index .conseils-rubriques{width:100%;max-width:100%}
}
@media(max-width:767.98px){
  .page-conseils-index .conseils-hero{padding:36px 20px 30px;background-position:66% center}
  .page-conseils-index .conseils-hero h1{font-size:clamp(1.8rem,7.2vw,2.25rem)}
  .page-conseils-index .conseils-rubriques{grid-template-columns:1fr;gap:20px}
  .page-conseils-index .conseils-articles{grid-template-columns:1fr;gap:9px}
  .page-conseils-index a.conseils-carte{min-height:0;padding:15px}
}

/* Services : introduction en tête et prestations sur toute la largeur. */
@media(min-width:1200px){
  .page-services main>.services-hero{padding-inline:max(30px,calc((100vw - 1800px)/2))!important}
  .page-services .services-hero__layout{width:min(100%,1740px)!important;max-width:1740px!important;grid-template-columns:minmax(0,1fr);gap:clamp(30px,4vh,46px)}
  .page-services .services-hero__intro{max-width:980px}
  .page-services .services-hero__intro h1{max-width:980px}
  .page-services .services-hero__intro .lead{max-width:860px}
  .page-services .services-hero__grid{gap:14px!important}
  .page-services .services-hero__grid .service-card{padding:18px!important}
  .page-services .services-hero__grid .service-card h3{font-size:.92rem}
  .page-services .services-hero__grid .service-card p:not(.service-card__index){font-size:.8rem;line-height:1.55}
}

/* Clients : même composition photo, introduction en tête et informations en cartes. */
.page-espace-client main{position:relative;display:block!important;min-height:100svh;gap:0!important;background:#07131f}
.page-espace-client main>.client-hero{display:flex;align-items:flex-start;width:100%;max-width:none;min-height:100svh;margin:0!important;padding:112px max(30px,calc((100vw - 1440px)/2)) 48px!important;border:0!important;border-radius:0!important;background-image:linear-gradient(90deg,rgba(4,12,20,.97) 0%,rgba(4,12,20,.91) 34%,rgba(4,12,20,.67) 58%,rgba(4,12,20,.25) 100%),linear-gradient(0deg,rgba(4,12,20,.73),transparent 48%),url("/assets/images/banner.png")!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;box-shadow:none!important}
.page-espace-client .client-hero__layout{display:grid;width:min(100%,1440px);max-width:1440px;grid-template-columns:minmax(0,1fr);gap:clamp(30px,4vh,46px);margin:0 auto;padding:0!important}
.page-espace-client .client-hero__intro{max-width:980px}
.page-espace-client .client-hero__intro .section-kicker,.page-espace-client .client-hero__features-heading .section-kicker{margin-bottom:12px;color:#f4bc20;font-size:.7rem;letter-spacing:.12em}
.page-espace-client .client-hero__intro h1{max-width:980px;margin:0;color:#fff;font-size:clamp(2rem,3.2vw,2.7rem);font-weight:600;line-height:1.16;letter-spacing:-.03em}
.page-espace-client .client-hero__intro .lead{max-width:860px;margin:16px 0 0!important;color:rgba(255,255,255,.92);font-size:1rem;line-height:1.7}
.page-espace-client .client-hero__intro .small{margin:12px 0 0!important;color:rgba(255,255,255,.74)!important;font-size:.88rem}
.page-espace-client .client-hero__actions{margin-top:20px}
.page-espace-client .client-hero__actions .btn{display:inline-flex;min-height:44px;align-items:center;padding:10px 15px;border-radius:5px;font-size:.86rem;font-weight:650}
.page-espace-client .client-hero__features{min-width:0}
.page-espace-client .client-hero__features-heading{max-width:900px;margin-bottom:18px}
.page-espace-client .client-hero__features-heading h2{margin:0;color:#fff;font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:600;line-height:1.25}
.page-espace-client .client-hero__features-heading>p:last-child{margin:9px 0 0;color:rgba(255,255,255,.88);font-size:.95rem;line-height:1.6}
.page-espace-client .client-hero__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;margin:0!important;--bs-gutter-x:0;--bs-gutter-y:0}
.page-espace-client .client-hero__grid>*{flex:none;width:auto;max-width:none;padding:0}
.page-espace-client .client-hero__grid .feature-card{height:100%;min-height:0;padding:18px!important;border:1px solid rgba(226,235,241,.48)!important;border-radius:7px!important;background:rgba(7,17,26,.62)!important;color:#f1f5f8;box-shadow:0 8px 22px rgba(0,0,0,.14)!important;backdrop-filter:blur(8px);transition:background-color .18s ease,border-color .18s ease}
.page-espace-client .client-hero__grid .feature-card:hover{transform:none;border-color:rgba(244,188,32,.78)!important;background:rgba(7,17,26,.76)!important}
.page-espace-client .client-hero__grid .feature-card .service-card__icon{margin:0 0 10px!important;color:#f4bc20!important;font-size:1.2rem!important}
.page-espace-client .client-hero__grid .feature-card h3{margin:0!important;color:#f4bc20!important;font-size:.95rem;font-weight:600;line-height:1.35}
.page-espace-client .client-hero__grid .feature-card p{margin:8px 0 0!important;color:#eef3f6!important;font-size:.82rem;line-height:1.55}
@media(min-width:1200px){
  .page-espace-client main>.client-hero{padding-inline:max(30px,calc((100vw - 1800px)/2))!important}
  .page-espace-client .client-hero__layout{width:min(100%,1740px)!important;max-width:1740px!important}
  .page-espace-client .client-hero__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px!important}
}
@media(max-width:1199.98px){
  .page-espace-client main>.client-hero{min-height:calc(100svh - 68px);padding:54px 28px 38px!important}
  .page-espace-client .client-hero__layout{width:100%;max-width:100%}
}
@media(max-width:767.98px){
  .page-espace-client main>.client-hero{min-height:0;padding:36px 20px 30px!important;background-position:58% center!important}
  .page-espace-client .client-hero__grid{grid-template-columns:1fr;gap:9px!important}
  .page-espace-client .client-hero__grid .feature-card{padding:16px!important}
  .page-espace-client .client-hero__intro h1{font-size:clamp(1.8rem,7.2vw,2.25rem)}
  .page-espace-client .client-hero__intro .lead{font-size:.92rem}
}

/* Raccourcis discrets et cartes de navigation dans le hero de l’accueil */
.page-home-public .site-navbar .nav-quote {
  border: 1px solid rgba(226, 235, 241, .42) !important;
  border-radius: 5px !important;
  background: rgba(7, 17, 26, .38) !important;
  color: #f1f5f8 !important;
  box-shadow: none !important;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.page-home-public .site-navbar .nav-quote:hover,
.page-home-public .site-navbar .nav-quote:focus-visible {
  border-color: #15c6d5 !important;
  background: rgba(21, 198, 213, .12) !important;
  color: #fff !important;
  transform: none !important;
}
.page-home-public .site-navbar .nav-quote:focus-visible {
  outline: 2px solid #15c6d5;
  outline-offset: 3px;
}
.page-home-public .home-hero__actions.home-page-links__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  width: 100%;
  max-width: 680px;
  margin-top: 22px;
}
.page-home-public .home-page-card {
  display: flex;
  min-width: 0;
  min-height: 76px;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(226, 235, 241, .38);
  border-radius: 6px;
  background: rgba(7, 17, 26, .58);
  color: #f1f5f8;
  text-decoration: none;
  backdrop-filter: blur(5px);
  transition: border-color .18s ease, background-color .18s ease;
}
.page-home-public .home-page-card:hover {
  border-color: rgba(244, 188, 32, .8);
  background: rgba(18, 37, 51, .88);
  color: #fff;
}
.page-home-public .home-page-card:focus-visible {
  outline: 2px solid #15c6d5;
  outline-offset: 3px;
}
.page-home-public .home-page-card > .bi:first-child {
  flex: 0 0 auto;
  color: #f4bc20;
  font-size: 1.2rem;
}
.page-home-public .home-page-card span {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.page-home-public .home-page-card strong {
  color: #f4bc20;
  font-size: .88rem;
  font-weight: 600;
}
.page-home-public .home-page-card small {
  color: rgba(241, 245, 248, .86);
  font-size: .72rem;
  line-height: 1.35;
}
.page-home-public .home-page-card__arrow {
  flex: 0 0 auto;
  margin-left: auto;
  color: rgba(241, 245, 248, .78);
}
@media (max-width: 991.98px) {
  body.page-home-public .site-navbar > .container > .nav-quote {
    border: 1px solid rgba(226, 235, 241, .42) !important;
    background: rgba(7, 17, 26, .56) !important;
    color: #f1f5f8 !important;
    box-shadow: none !important;
  }
  body.page-home-public .site-navbar > .container > .nav-quote:hover,
  body.page-home-public .site-navbar > .container > .nav-quote:focus-visible {
    border-color: #15c6d5 !important;
    background: rgba(21, 198, 213, .12) !important;
    color: #fff !important;
  }
}
@media (max-width: 575.98px) {
  .page-home-public .home-hero__actions.home-page-links__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 18px;
  }
  .page-home-public .home-page-card {
    min-height: 68px;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 8px 4px;
    text-align: center;
  }
  .page-home-public .home-page-card > .bi:first-child { font-size: 1.05rem; }
  .page-home-public .home-page-card strong { font-size: .69rem; }
  .page-home-public .home-page-card small,
  .page-home-public .home-page-card__arrow { display: none; }
}
/* Conseils : cartes regroupées et espace de respiration sous l’introduction. */
.page-conseils-index .conseils-rubriques {
  align-items: start;
  margin-top: 34px;
}
.page-conseils-index .conseils-rubrique {
  align-self: start;
}
.page-conseils-index .conseils-articles {
  grid-auto-rows: minmax(176px, 1fr);
  align-content: start;
}
.page-conseils-index a.conseils-carte {
  height: 100%;
}
.page-conseils-index a.conseils-carte:focus-visible {
  outline-color: #f4bc20;
}
@media (max-width: 767.98px) {
  .page-conseils-index .conseils-rubriques { margin-top: 26px; }
}

/* Bouton de devis discret et cohérent sur toutes les pages publiques. */
.page-home-public .site-navbar .nav-quote,
.page-services .site-navbar .nav-quote,
.page-espace-client .site-navbar .nav-quote,
.page-conseils .site-navbar .nav-quote {
  border: 1px solid rgba(226, 235, 241, .42) !important;
  border-radius: 5px !important;
  background: rgba(7, 17, 26, .38) !important;
  color: #f1f5f8 !important;
  box-shadow: none !important;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.page-home-public .site-navbar .nav-quote:hover,
.page-home-public .site-navbar .nav-quote:focus-visible,
.page-services .site-navbar .nav-quote:hover,
.page-services .site-navbar .nav-quote:focus-visible,
.page-espace-client .site-navbar .nav-quote:hover,
.page-espace-client .site-navbar .nav-quote:focus-visible,
.page-conseils .site-navbar .nav-quote:hover,
.page-conseils .site-navbar .nav-quote:focus-visible {
  border-color: #15c6d5 !important;
  background: rgba(21, 198, 213, .12) !important;
  color: #fff !important;
  transform: none !important;
}
.page-home-public .site-navbar .nav-quote:focus-visible,
.page-services .site-navbar .nav-quote:focus-visible,
.page-espace-client .site-navbar .nav-quote:focus-visible,
.page-conseils .site-navbar .nav-quote:focus-visible {
  outline: 2px solid #15c6d5;
  outline-offset: 3px;
}
@media (max-width: 991.98px) {
  body.page-home-public .site-navbar > .container > .nav-quote,
  body.page-services .site-navbar > .container > .nav-quote,
  body.page-espace-client .site-navbar > .container > .nav-quote,
  body.page-conseils .site-navbar > .container > .nav-quote {
    border: 1px solid rgba(226, 235, 241, .42) !important;
    background: rgba(7, 17, 26, .56) !important;
    color: #f1f5f8 !important;
    box-shadow: none !important;
  }
  body.page-home-public .site-navbar > .container > .nav-quote:hover,
  body.page-home-public .site-navbar > .container > .nav-quote:focus-visible,
  body.page-services .site-navbar > .container > .nav-quote:hover,
  body.page-services .site-navbar > .container > .nav-quote:focus-visible,
  body.page-espace-client .site-navbar > .container > .nav-quote:hover,
  body.page-espace-client .site-navbar > .container > .nav-quote:focus-visible,
  body.page-conseils .site-navbar > .container > .nav-quote:hover,
  body.page-conseils .site-navbar > .container > .nav-quote:focus-visible {
    border-color: #15c6d5 !important;
    background: rgba(21, 198, 213, .12) !important;
    color: #fff !important;
  }
}
/* Modale de devis : vitrage bleu ardoise et contour assorti. */
body.page-home-public .modal-backdrop.show,
body.page-services .modal-backdrop.show,
body.page-espace-client .modal-backdrop.show,
body.page-conseils .modal-backdrop.show {
  background: #06121d !important;
  opacity: .58 !important;
}
#modalDevis .modal-content {
  border: 1px solid rgba(104, 151, 174, .72);
  background: rgba(20, 43, 58, .68);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
#modalDevis .modal-header,
#modalDevis .modal-footer {
  border-color: rgba(104, 151, 174, .32);
  background: rgba(8, 25, 38, .72);
}

/* Articles Conseils : photographie locale par sujet et texte lisible sur le visuel. */
.page-conseils-article .conseils-main { padding-top: 112px; }
.page-conseils-article .conseils-article__entete {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(390px, 39vw, 540px);
  overflow: hidden;
  background: radial-gradient(ellipse at 84% 12%, rgba(20, 83, 100, .55), transparent 56%), #0b1b29;
}
.page-conseils-article .conseils-article__visuel,
.page-conseils-article .conseils-article__visuel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.page-conseils-article .conseils-article__visuel img {
  object-fit: cover;
  object-position: center;
}
.page-conseils-article .conseils-article__entete::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(4, 12, 20, .96), rgba(4, 12, 20, .88) 42%, rgba(4, 12, 20, .50) 100%),
              linear-gradient(0deg, rgba(4, 12, 20, .82), transparent 72%);
  content: "";
  pointer-events: none;
}
.page-conseils-article .conseils-article__entete-contenu {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 900px;
}
.page-conseils-article .conseils-article__resume { color: #f0f4f7; }
.page-conseils-article .conseils-article__entete .conseils-article__introduction {
  max-width: 800px;
  margin: 18px 0 0;
  color: #e2ebf0;
  font-size: 1rem;
  line-height: 1.7;
}
@media (max-width: 991.98px) {
  .page-conseils-article .conseils-main { padding-top: 28px; }
}
@media (max-width: 767.98px) {
  .page-conseils-article .conseils-article__entete { min-height: 0; }
  .page-conseils-article .conseils-article__entete::after {
    background: linear-gradient(90deg, rgba(4, 12, 20, .94), rgba(4, 12, 20, .72)),
                linear-gradient(0deg, rgba(4, 12, 20, .82), transparent);
  }
  .page-conseils-article .conseils-article__entete .conseils-article__introduction { font-size: .94rem; }
}
