/* Cohérence typographique & marque — priorité visuelle globale */

:root{
  --font-body:'Manrope','Segoe UI',Tahoma,sans-serif;
  --font-ui:var(--font-body);
  --font-subtitle:var(--font-body);
  --font-editorial:var(--font-body);
  --font-title:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-display:var(--font-title);
  --font-script:'Great Vibes','Segoe Script','Brush Script MT',cursive;
  --brand-gold:#c9a44a;
  --brand-gold-bright:#f3d48a;
  --brand-com:#c23a3a;
  --brand-com-bright:#ff5c5c;
  --text-on-dark:#f7f1e6;
  --text-on-dark-soft:#ebe0cc;
  --text-on-light:#1f1a17;
  --text-on-light-soft:#4a3f38;
}

html{
  font-size:106%;
}

body{
  font-family:var(--font-body) !important;
  font-size:1.08rem !important;
  line-height:1.75 !important;
  color:var(--text-on-dark) !important;
  -webkit-font-smoothing:antialiased;
}

/* ——— Surfaces claires : texte toujours sombre (évite crème sur crème) ——— */
.about-card,
.benefit-card,
.method-card,
.rate-card,
.home-service-card,
.guide-card,
.clarity-card,
.service,
.process-card,
.why-item,
.faq-item,
.quote-form,
.quote-sidebar-card,
.quote-sidebar,
.legal-block,
.legal-content,
.impact-item,
.service-info-dialog,
.quote-channel-dialog,
.sitemap-card,
.account-card,
.prebrief-form{
  color:var(--text-on-light) !important;
}

.about-card{
  background:linear-gradient(135deg, rgba(244,182,61,0.88), rgba(255,241,211,0.97)) !important;
  border:1px solid rgba(31,26,23,0.1) !important;
  border-radius:var(--studio-radius, 22px) !important;
  box-shadow:0 16px 36px rgba(0,0,0,0.16) !important;
}

.about-card h2{
  font-size:clamp(1.28rem, 2.2vw, 1.7rem) !important;
  margin:0 0 0.75rem !important;
  line-height:1.2 !important;
}

.about-card p,
.about-card li,
.benefit-card p,
.benefit-card li,
.method-card p,
.method-card li,
.rate-card p,
.rate-line,
.home-service-card p,
.home-service-tag,
.home-service-link,
.guide-card p,
.clarity-card p,
.service p,
.service li,
.process-card p,
.why-item p,
.faq-item p,
.quote-form p,
.quote-form label,
.quote-form-intro,
.quote-sidebar-card p,
.quote-sidebar p,
.legal-content p,
.legal-content li,
.impact-item p,
.impact-label,
.service-info-dialog p,
.quote-channel-dialog p,
.prebrief-form p,
.prebrief-form label,
.services-legal-list li,
.service-card-desc,
.service-index{
  color:var(--text-on-light-soft) !important;
  text-shadow:none !important;
}

.about-card h2,
.about-card h3,
.benefit-card h3,
.method-card h3,
.rate-card h3,
.home-service-card h3,
.guide-card h3,
.clarity-card h3,
.service h3,
.process-card h3,
.why-item h3,
.faq-item h3,
.quote-form h3,
.quote-sidebar h3,
.quote-sidebar-card h3,
.service-row h3,
.impact-value{
  color:var(--text-on-light) !important;
  text-shadow:none !important;
}

.about-card .brand-script{
  color:#8a5a10 !important;
}

.page-banner-card .brand-script{
  color:var(--brand-gold-bright) !important;
}

.cta-panel .brand-script{
  color:#f3d48a !important;
}

.faq-item .faq-icon,
.benefit-index,
.method-step{
  color:var(--brand-com) !important;
}

.home-service-link{
  color:var(--brand-com) !important;
}

.rate-line{
  color:var(--brand-com) !important;
  font-weight:800 !important;
}

.legal-content a,
.sitemap a,
.guide-card a{
  color:var(--brand-com) !important;
  font-weight:700;
}

/* Titres de section hors cartes : restent clairs sur le fond photo */
.section-head h2{
  color:#fffaf1 !important;
  text-shadow:0 2px 12px rgba(0,0,0,0.75) !important;
}

.section-head .section-lead{
  color:#f6e7c8 !important;
  text-shadow:0 1px 8px rgba(0,0,0,0.55) !important;
}

p,
li,
label,
input,
textarea,
select,
button,
.btn,
.quote-form,
.quote-sidebar-card,
.faq-item p,
.legal-content p,
.legal-content li,
.section-head .section-lead,
.hero-point-text,
.hero-b2b-note,
.services-legal-list li,
.footer-note,
.footer-copy,
.footer-compliance{
  font-family:var(--font-body) !important;
}

p,
li,
.section-head .section-lead,
.faq-item p,
.legal-content p,
.legal-content li,
.hero-point-text,
.quote-form p,
.about-card p,
.service p,
.service-card-desc,
.guidance-card p{
  font-size:clamp(1.05rem, 0.35vw + 1rem, 1.18rem) !important;
  line-height:1.78 !important;
}

h1,h2,h3,h4{
  font-family:var(--font-title) !important;
  letter-spacing:0.01em !important;
}

/* ——— Marque : La (or) + Com' (rouge) + d'Orelle (or) ——— */
.brand-mark{
  display:inline;
  font-family:var(--font-script) !important;
  font-weight:400 !important;
  font-style:normal !important;
  text-transform:none !important;
  letter-spacing:0.01em !important;
  line-height:1;
  white-space:nowrap;
}

.brand-mark .bm-gold{
  color:var(--brand-gold-bright) !important;
  text-shadow:
    0 1px 0 rgba(255,236,180,0.28),
    0 2px 10px rgba(0,0,0,0.55);
}

.brand-mark .bm-com{
  color:var(--brand-com-bright) !important;
  text-shadow:
    0 1px 0 rgba(255,180,180,0.25),
    0 2px 12px rgba(0,0,0,0.55),
    0 0 18px rgba(194,58,58,0.35);
}

/* Sur fonds clairs (cartes) */
.about-card .brand-mark .bm-gold,
.legal-block .brand-mark .bm-gold,
.cta-panel .brand-mark .bm-gold{
  color:var(--brand-gold) !important;
  text-shadow:0 1px 0 rgba(255,255,255,0.35);
}

.about-card .brand-mark .bm-com,
.legal-block .brand-mark .bm-com,
.cta-panel .brand-mark .bm-com{
  color:var(--brand-com) !important;
  text-shadow:0 1px 0 rgba(255,255,255,0.2);
}

.brand-script{
  font-family:var(--font-script) !important;
  font-weight:400 !important;
  text-transform:none !important;
}

/* ——— Header : chic, discret, ne suit pas le scroll ——— */
.site-header{
  position:relative !important;
  top:auto !important;
  z-index:20 !important;
  padding:0.45rem 0 0.2rem !important;
  background:transparent !important;
  border-bottom:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.is-modal-open .site-header{
  z-index:0 !important;
  pointer-events:none;
}

.header-inner{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:0.65rem 1.1rem !important;
  padding:0.45rem 1rem !important;
  min-height:0 !important;
  align-items:center !important;
  overflow:visible !important;
  background:rgba(12, 8, 8, 0.38) !important;
  border:1px solid rgba(243,212,138,0.26) !important;
  border-radius:16px !important;
  box-shadow:0 8px 18px rgba(0,0,0,0.16) !important;
}

.header-identity{
  display:flex;
  align-items:center;
  min-width:max-content;
  overflow:visible;
}

.brand-link{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:0.55rem;
  text-decoration:none;
  color:inherit;
  min-width:max-content;
  overflow:visible;
  text-align:left;
}

.brand-link:hover .brand-logo,
.brand-link:focus-visible .brand-logo{
  animation-duration:2.6s;
}

.brand-logo,
.header-identity .brand-logo{
  display:block !important;
  width:3.7rem !important;
  height:auto !important;
  max-width:3.7rem !important;
  max-height:5rem !important;
  object-fit:contain;
  flex:0 0 auto;
  transform-origin:42% 82%;
  background:transparent !important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,0.85)) drop-shadow(0 8px 16px rgba(0,0,0,0.5)) drop-shadow(0 0 12px rgba(243,212,138,0.55));
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  animation:headerPlumeSway 4.8s ease-in-out infinite;
}

.brand-block{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.08rem;
  min-width:max-content;
}

.header-identity .brand-name,
.brand-name{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  color:inherit !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
  animation:none !important;
  font-size:clamp(1.22rem, 1.6vw, 1.55rem) !important;
  line-height:1.05 !important;
  text-transform:none !important;
  white-space:nowrap !important;
}

.header-identity .brand-name::after,
.brand-name::after{
  display:none !important;
}

.header-identity .brand-tagline,
.brand-tagline{
  display:block !important;
  margin:0.08rem 0 0 !important;
  color:#e8d7b0 !important;
  font-family:var(--font-body) !important;
  font-size:0.72rem !important;
  font-weight:650 !important;
  letter-spacing:0.05em !important;
  text-transform:uppercase !important;
  line-height:1.3 !important;
  white-space:nowrap !important;
  text-align:left !important;
}

.nav-links{
  gap:0.4rem 0.55rem !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
}

.nav-links a{
  font-family:var(--font-body) !important;
  font-size:0.86rem !important;
  font-weight:650 !important;
  letter-spacing:0.01em !important;
  text-transform:none !important;
  padding:0.32rem 0.55rem !important;
  color:#fffaf1 !important;
}

.header-cta{
  font-family:var(--font-body) !important;
  font-size:0.74rem !important;
  padding:0.32rem 0.68rem !important;
  min-height:0 !important;
  color:#fffaf1 !important;
  background:linear-gradient(135deg, var(--brand-com), #8f0b16) !important;
  border:1px solid rgba(143,11,22,0.45) !important;
  box-shadow:0 4px 10px rgba(143,11,22,0.18) !important;
  width:auto !important;
}

.header-inner{
  min-height:0 !important;
  padding:0.45rem 1rem !important;
}

@keyframes headerPlumeSway{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg);
    filter:drop-shadow(0 2px 3px rgba(0,0,0,0.85)) drop-shadow(0 8px 16px rgba(0,0,0,0.5)) drop-shadow(0 0 12px rgba(243,212,138,0.5));
  }
  35%{
    transform:translate3d(2px,-7px,0) rotate(-7deg);
    filter:drop-shadow(0 6px 8px rgba(0,0,0,0.7)) drop-shadow(0 12px 20px rgba(0,0,0,0.45)) drop-shadow(0 0 16px rgba(243,212,138,0.7));
  }
  70%{
    transform:translate3d(-1px,-4px,0) rotate(5deg);
    filter:drop-shadow(0 4px 6px rgba(0,0,0,0.75)) drop-shadow(0 10px 18px rgba(0,0,0,0.45)) drop-shadow(0 0 14px rgba(194,58,58,0.4));
  }
}

@keyframes headerLogoSway{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg);
  }
  35%{
    transform:translate3d(0,-10px,0) rotate(-2.4deg);
  }
  70%{
    transform:translate3d(0,-5px,0) rotate(1.8deg);
  }
}

@media (prefers-reduced-motion:reduce){
  .brand-logo,
  .header-identity .brand-logo,
  .home-page .hero-brand-logo{
    animation:none !important;
  }

  .home-page .hero-visual:hover .hero-brand-logo{
    animation:none !important;
  }
}

.header-cta::after{
  display:none !important;
}

@media (max-width:759px){
  .header-cta{
    width:auto !important;
    justify-self:end !important;
    font-size:0.72rem !important;
    padding:0.32rem 0.62rem !important;
    margin-top:0 !important;
  }
}

.header-cta:hover,
.header-cta:focus-visible{
  filter:brightness(1.06);
  color:#fff !important;
}

/* ——— Footer compact (légal regroupé, moins imposant) ——— */
.site-footer{
  padding:0.85rem 0 1rem !important;
  margin-top:1.5rem !important;
  background:
    linear-gradient(0deg,
      rgba(255, 236, 180, 0.22) 0%,
      rgba(243, 212, 138, 0.1) 45%,
      rgba(18, 12, 10, 0.06) 100%) !important;
  border-top:1px solid rgba(243,212,138,0.28) !important;
}

.footer-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:0.45rem !important;
  padding:0.7rem 1rem !important;
  max-width:1100px;
  background:
    linear-gradient(160deg,
      rgba(255, 244, 210, 0.16) 0%,
      rgba(30, 18, 12, 0.48) 55%,
      rgba(12, 8, 8, 0.52) 100%) !important;
  border:1px solid rgba(243,212,138,0.32) !important;
  border-radius:14px !important;
  box-shadow:
    0 8px 22px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,250,241,0.14) !important;
  backdrop-filter:blur(12px) saturate(1.1);
  -webkit-backdrop-filter:blur(12px) saturate(1.1);
}

.footer-row--main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:0.35rem 1rem;
}

.site-footer .legal-nav,
.site-footer .footer-nav{
  display:none !important;
}

.site-footer .footer-legal-nav{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.site-footer .footer-legal-nav a{
  display:inline !important;
  padding:0.15rem 0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fffaf1 !important;
  font-family:var(--font-body) !important;
  font-size:0.82rem !important;
  font-weight:600 !important;
  letter-spacing:0.01em !important;
  text-transform:none !important;
  text-decoration:none !important;
  white-space:nowrap;
}

.site-footer .footer-legal-nav a:not(:last-child)::after{
  content:" · ";
  color:rgba(243,212,138,0.55);
  font-weight:500;
  margin:0 0.35rem;
  pointer-events:none;
}

.site-footer .footer-legal-nav a:hover,
.site-footer .footer-legal-nav a:focus-visible,
.site-footer .footer-legal-nav a[aria-current="page"]{
  background:transparent !important;
  border-color:transparent !important;
  color:#f3d48a !important;
  text-decoration:underline !important;
  text-underline-offset:0.18em;
}

.footer-note{
  margin:0 !important;
  font-size:0.92rem !important;
  color:#fffaf1 !important;
  text-transform:none !important;
  letter-spacing:0.01em !important;
  line-height:1.35 !important;
}

.footer-note .brand-mark{
  font-size:1.15em;
}

.footer-legal-line,
.footer-copy,
.footer-compliance{
  display:block !important;
  margin:0 !important;
  font-size:0.72rem !important;
  line-height:1.45 !important;
  color:#dcc9a0 !important;
  text-transform:none !important;
  letter-spacing:0.01em !important;
  text-align:left !important;
}

.site-footer .footer-copy:not(:last-child){
  display:none !important;
}

.footer-compliance{
  display:none !important;
}

.footer-legal-line a,
.footer-compliance a{
  color:#f3d48a !important;
  font-weight:700;
}

.site-header .brand-mark .bm-gold,
.site-footer .brand-mark .bm-gold{
  color:var(--brand-gold-bright) !important;
  text-shadow:0 1px 0 rgba(255,236,180,0.28), 0 2px 10px rgba(0,0,0,0.55);
}

.site-header .brand-mark .bm-com,
.site-footer .brand-mark .bm-com{
  color:var(--brand-com-bright) !important;
  text-shadow:0 1px 0 rgba(255,180,180,0.25), 0 2px 12px rgba(0,0,0,0.55);
}

@media (max-width:720px){
  .site-footer{
    padding-bottom:1rem !important;
  }

  .footer-row--main{
    flex-direction:column;
    align-items:flex-start;
    gap:0.35rem;
  }

  .site-footer .footer-legal-nav{
    justify-content:flex-start !important;
  }

  .footer-legal-line{
    font-size:0.68rem !important;
  }
}

/* Chiffres lisibles : jamais de serif ambigu (1 ≈ i) */
.impact-value,
.impact-item .impact-value{
  font-family:var(--font-body) !important;
  font-weight:800 !important;
  font-variant-numeric:lining-nums tabular-nums !important;
  font-feature-settings:"lnum" 1, "tnum" 1 !important;
  letter-spacing:0.04em !important;
  text-transform:none !important;
  color:#1f1a17 !important;
  line-height:1.05 !important;
}

.impact-value--num{
  font-size:clamp(1.28rem, 2vw, 1.55rem) !important;
}

/* ——— Mentions légales : aération & lisibilité ——— */
.legal-page{
  padding:3.2rem 0 4.5rem !important;
  background:transparent !important;
}

.legal-content{
  max-width:920px !important;
  margin:0 auto !important;
  padding:1.4rem !important;
  border-radius:22px !important;
  background:rgba(255,250,241,0.92) !important;
  border:1px solid rgba(31,26,23,0.1) !important;
  box-shadow:0 18px 40px rgba(0,0,0,0.18) !important;
}

.legal-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:1.15rem !important;
}

.legal-block{
  padding:1.35rem 1.4rem !important;
  border-radius:16px !important;
  border:1px solid rgba(31,26,23,0.08) !important;
  color:var(--text-on-light) !important;
}

.legal-block h3{
  margin:0 0 0.75rem !important;
  font-family:var(--font-title) !important;
  font-size:clamp(1.25rem, 1.8vw, 1.55rem) !important;
  line-height:1.25 !important;
  letter-spacing:0.02em !important;
  text-transform:none !important;
  color:#7a1a1f !important;
}

.legal-block p,
.legal-block li{
  color:var(--text-on-light) !important;
  font-size:1.08rem !important;
  line-height:1.82 !important;
}

.legal-block a{
  color:var(--brand-com) !important;
  font-weight:700;
}

.legal-block-ai{
  border-color:rgba(194,58,58,0.28) !important;
  background:linear-gradient(145deg, rgba(244,182,61,0.18), rgba(255,255,255,0.88)) !important;
  box-shadow:0 10px 24px rgba(143,11,22,0.08) !important;
}

.legal-block-ai h3{
  color:var(--brand-com) !important;
}

.page-banner-card,
.devis-page .page-banner-card{
  background:rgba(8, 4, 6, 0.74) !important;
  border:1px solid rgba(243,212,138,0.2) !important;
  border-radius:18px !important;
  box-shadow:0 14px 32px rgba(0,0,0,0.32) !important;
  color:#fffaf1 !important;
  text-align:center;
  align-items:center;
  padding:1.15rem 1.3rem 1.2rem !important;
}

.page-banner-card h1,
.page-banner-card h2,
.devis-page .page-banner-card h1,
.devis-page .page-banner-card h2{
  font-family:var(--font-body) !important;
  color:var(--brand-gold-bright) !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  text-transform:none !important;
  font-size:clamp(1.45rem, 2.5vw, 2.05rem) !important;
  font-weight:700 !important;
  line-height:1.28 !important;
  text-shadow:0 2px 12px rgba(0,0,0,0.65), 0 0 16px rgba(243,212,138,0.22) !important;
}

.page-banner-card p,
.devis-page .page-banner-card p,
.devis-page .page-banner-card a,
.devis-page .page-banner-card a:visited{
  color:#fffaf1 !important;
  font-size:clamp(1.05rem, 1.4vw, 1.18rem) !important;
  line-height:1.65 !important;
  text-shadow:0 1px 8px rgba(0,0,0,0.5) !important;
}

.devis-page .page-banner-card a:hover,
.devis-page .page-banner-card a:focus-visible{
  color:var(--brand-gold-bright) !important;
}

/* Formulaires */
.quote-form label,
.prebrief-form label,
.devis-page label{
  font-size:1.02rem !important;
  color:var(--text-on-light) !important;
}

.quote-form input,
.quote-form textarea,
.quote-form select,
.prebrief-form input,
.prebrief-form textarea,
.prebrief-form select{
  font-size:1.05rem !important;
  line-height:1.5 !important;
  padding:0.72rem 0.8rem !important;
}

.section-head > p:not(.section-lead),
.section-head p:not(.section-lead){
  font-size:0.92rem !important;
  letter-spacing:0.06em !important;
  padding:0.42rem 0.85rem !important;
}

.hero-point-label{
  font-size:1.02rem !important;
  font-weight:800 !important;
  color:#f3d48a !important;
}

.hero-point-text,
.hero-b2b-note{
  font-size:1.08rem !important;
  color:#fffaf1 !important;
}

.service-index,
.page-prestations .service-index{
  font-size:0.86rem !important;
}

.service-more,
.page-prestations .service-more{
  font-size:1rem !important;
}

.btn{
  font-size:1rem !important;
  padding:0.78rem 1.2rem !important;
}

.services-legal-list,
.services-legal-list li{
  color:var(--text-on-dark-soft) !important;
  font-size:1.05rem !important;
}

.legal-content strong{
  color:var(--text-on-light) !important;
  font-weight:800;
}

/* Hero accueil : plume + nom, puis le reste du site en dessous */
.home-page .hero{
  min-height:unset !important;
  padding:1.1rem 0 2.2rem !important;
  overflow:visible !important;
}

@media (min-width:900px){
  .home-page .hero{
    min-height:calc(100svh - 5.8rem) !important;
    display:flex !important;
    align-items:center !important;
    padding:2.4rem 0 4.5rem !important;
  }
}

.home-page main{
  scroll-snap-type:none !important;
}

.home-page .hero-inner{
  display:grid !important;
  grid-template-columns:minmax(240px, 0.9fr) minmax(0, 1.1fr) !important;
  gap:clamp(1.8rem, 4vw, 3.4rem) !important;
  align-items:center !important;
  justify-items:stretch !important;
}

.home-page .hero-brand-column{
  display:grid;
  gap:1.25rem;
  align-content:start;
  justify-items:center;
  align-self:start;
  padding-top:0.15rem;
}

.home-page .hero-visual{
  display:grid;
  place-items:center;
  justify-items:center;
  position:relative;
  margin:0 !important;
  padding:0.6rem !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:unset !important;
  gap:0.35rem;
}

.home-page .hero-visual::before{
  content:'';
  position:absolute;
  inset:6% 8%;
  background:radial-gradient(circle, rgba(8,4,6,0.62) 0%, rgba(8,4,6,0.22) 48%, rgba(8,4,6,0) 74%);
  pointer-events:none;
  z-index:0;
}

.home-page .hero-brand-wordmark{
  display:none !important;
}

.home-page .hero-brand-logo{
  position:relative;
  z-index:1;
  width:min(100%, 460px);
  max-width:100%;
  height:auto;
  margin-top:0;
  background:transparent !important;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,0.85)) drop-shadow(0 18px 32px rgba(0,0,0,0.55)) drop-shadow(0 0 22px rgba(243,212,138,0.42));
  transform-origin:50% 40%;
  animation:headerLogoSway 5.2s ease-in-out infinite;
}

.home-page .hero-visual:hover .hero-brand-logo{
  animation-duration:2.8s;
}

.home-page .hero-actions{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:0.85rem !important;
  margin:0 !important;
  width:100%;
  max-width:22rem;
}

.home-page .hero-actions .btn{
  flex:1 1 10rem;
  justify-content:center;
  text-align:center;
}

.home-page .hero-content-stack{
  display:grid !important;
  gap:1.55rem !important;
  align-content:center;
  justify-items:stretch;
  max-width:36rem;
  width:100%;
  margin-inline:auto;
}

.home-page .hero h1.hero-tagline,
.home-page .hero .hero-tagline{
  display:block !important;
  margin:0 !important;
  max-width:100% !important;
  padding:1rem 1.25rem !important;
  border-radius:18px !important;
  background:rgba(8, 4, 6, 0.72) !important;
  box-shadow:0 14px 32px rgba(0,0,0,0.32) !important;
  font-family:var(--font-body) !important;
  font-size:clamp(1.3rem, 2.2vw, 1.85rem) !important;
  font-weight:700 !important;
  line-height:1.38 !important;
  color:#fffaf1 !important;
  text-align:center !important;
  text-transform:none !important;
}

.home-page .hero-tagline .brand-mark{
  font-size:1.22em;
  white-space:normal;
}

.home-page .hero-tagline .hero-tagline-rest{
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  color:#fffaf1 !important;
}

.home-page .hero-points{
  margin:0 !important;
  padding:1.05rem 1.15rem !important;
  gap:0.85rem !important;
  max-width:100% !important;
  list-style:none;
  background:rgba(8, 4, 6, 0.78) !important;
  border:1px solid rgba(243,212,138,0.18);
  border-radius:16px;
}

.home-page .hero-points li{
  color:#fffaf1 !important;
}

.home-page .hero-b2b-note{
  margin:0 !important;
  max-width:100%;
  text-align:center;
  color:#fffaf1 !important;
  background:rgba(8, 4, 6, 0.72) !important;
  border:1px solid rgba(243,212,138,0.16);
  padding:0.7rem 0.95rem !important;
  border-radius:14px;
}

@media (max-width:899px){
  .brand-logo,
  .header-identity .brand-logo{
    width:3.15rem !important;
    max-width:3.15rem !important;
    max-height:4.2rem !important;
  }

  .home-page .hero-inner{
    grid-template-columns:1fr !important;
    gap:1.1rem !important;
    justify-items:center;
  }

  .home-page .hero-brand-column,
  .home-page .hero-visual{
    display:grid !important;
    order:0;
    padding-top:0;
    width:100%;
    justify-items:center;
  }

  .home-page .hero-brand-logo{
    width:min(88vw, 400px);
    margin-top:0;
  }

  .home-page .hero-content-stack{
    gap:1.25rem !important;
    max-width:100%;
    justify-items:center;
  }

  .home-page .hero h1.hero-tagline,
  .home-page .hero .hero-tagline{
    text-align:center !important;
    font-size:clamp(1.28rem, 5.4vw, 1.72rem) !important;
    padding:0.9rem 1rem !important;
  }

  .home-page .hero-actions{
    max-width:100%;
  }
}

@media (max-width:1099px){
  .nav-links{
    flex-wrap:wrap !important;
  }

  .nav-links a,
  .site-footer .legal-nav a,
  .site-footer .footer-nav a{
    font-size:0.86rem !important;
  }

  .header-cta{
    font-size:0.74rem !important;
  }
}

@media (max-width:899px){
  .header-identity .brand-name,
  .brand-name{
    font-size:clamp(1.05rem, 4.4vw, 1.28rem) !important;
  }

  .brand-tagline{
    font-size:0.62rem !important;
  }

  .header-inner{
    border-radius:24px !important;
  }

  .nav-links a{
    font-size:0.94rem !important;
    padding:0.55rem 0.7rem !important;
  }
}

@media (max-width:759px){
  .site-footer .legal-nav a,
  .site-footer .footer-nav a{
    font-size:0.9rem !important;
  }
}

/* Bloque le scroll de la page quand une fenêtre est ouverte */
html.is-modal-open,
body.is-modal-open{
  overflow:hidden !important;
  overscroll-behavior:none;
}
body.is-modal-open{
  position:fixed;
  width:100%;
  left:0;
  right:0;
}

.hero-business-card{
  display:none !important;
}

.home-page .hero-actions{
  flex-direction:column !important;
  align-items:stretch !important;
  max-width:22rem;
}
.home-page .hero-actions .btn-primary{order:1 !important;}
.home-page .hero-actions .btn-secondary{order:2 !important;}

/* ——— Cartes : palette accueil (or / rose / bleu / vert / pêche), jamais blanc plat ——— */
.benefit-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:1.15rem !important;
  width:100%;
  margin-inline:auto !important;
}

.home-page .benefit-grid{
  max-width:62rem;
}

.benefit-card{
  flex:1 1 14.5rem !important;
  max-width:20rem !important;
  min-height:16.75rem !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  padding:1.45rem 1.3rem !important;
}

.benefit-head{
  justify-content:center !important;
  width:100%;
}

.benefit-card h3,
.benefit-card p{
  text-align:center !important;
}

.method-panel,
.pricing-guidance-grid,
.rates-grid,
.faq-list,
.legal-grid,
.page-prestations .services-cards-grid,
.page-prestations .services-pack-grid{
  justify-items:stretch;
}

.method-panel{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:1.15rem !important;
}

.method-card{
  flex:1 1 13rem !important;
  max-width:19rem !important;
  min-height:16.5rem !important;
  display:flex !important;
  flex-direction:column !important;
}

.faq-list{
  display:flex !important;
  flex-direction:column !important;
  gap:1.05rem !important;
  max-width:46rem !important;
  margin-inline:auto !important;
}

.guidance-card,
.faq-item,
.legal-block,
.quote-form,
.quote-sidebar-card,
.service,
.rate-card,
.impact-item,
.process-card,
.why-item,
.clarity-card,
.guide-card,
.quote-channel-card,
.quote-channel-summary,
.quote-optional-details{
  color:var(--text-on-light) !important;
}

.benefit-card:nth-child(5n+1),
.method-card:nth-child(5n+1),
.faq-item:nth-child(5n+1),
.legal-grid .legal-block:nth-child(5n+1),
.guidance-card:nth-child(5n+1),
.rate-card:nth-child(5n+1),
.impact-item:nth-child(5n+1),
.process-card:nth-child(5n+1),
.why-item:nth-child(5n+1),
.clarity-card:nth-child(5n+1),
.guide-card:nth-child(5n+1),
.page-prestations .service.service-card:nth-child(5n+1),
.page-prestations .services-pack-grid .service:nth-child(5n+1),
.quote-sidebar-card:nth-child(5n+1){
  background:linear-gradient(135deg, rgba(244,182,61,0.9), rgba(255,241,211,0.97)) !important;
}

.benefit-card:nth-child(5n+2),
.method-card:nth-child(5n+2),
.faq-item:nth-child(5n+2),
.legal-grid .legal-block:nth-child(5n+2),
.guidance-card:nth-child(5n+2),
.rate-card:nth-child(5n+2),
.impact-item:nth-child(5n+2),
.process-card:nth-child(5n+2),
.why-item:nth-child(5n+2),
.clarity-card:nth-child(5n+2),
.guide-card:nth-child(5n+2),
.page-prestations .service.service-card:nth-child(5n+2),
.page-prestations .services-pack-grid .service:nth-child(5n+2),
.quote-sidebar-card:nth-child(5n+2){
  background:linear-gradient(135deg, rgba(255,139,194,0.88), rgba(255,236,245,0.97)) !important;
}

.benefit-card:nth-child(5n+3),
.method-card:nth-child(5n+3),
.faq-item:nth-child(5n+3),
.legal-grid .legal-block:nth-child(5n+3),
.guidance-card:nth-child(5n+3),
.rate-card:nth-child(5n+3),
.impact-item:nth-child(5n+3),
.process-card:nth-child(5n+3),
.why-item:nth-child(5n+3),
.clarity-card:nth-child(5n+3),
.guide-card:nth-child(5n+3),
.page-prestations .service.service-card:nth-child(5n+3),
.page-prestations .services-pack-grid .service:nth-child(5n+3){
  background:linear-gradient(135deg, rgba(82,182,255,0.86), rgba(235,247,255,0.98)) !important;
}

.benefit-card:nth-child(5n+4),
.method-card:nth-child(5n+4),
.faq-item:nth-child(5n+4),
.legal-grid .legal-block:nth-child(5n+4),
.guidance-card:nth-child(5n+4),
.rate-card:nth-child(5n+4),
.impact-item:nth-child(5n+4),
.process-card:nth-child(5n+4),
.why-item:nth-child(5n+4),
.clarity-card:nth-child(5n+4),
.guide-card:nth-child(5n+4),
.page-prestations .service.service-card:nth-child(5n+4),
.page-prestations .services-pack-grid .service:nth-child(5n+4){
  background:linear-gradient(135deg, rgba(93,207,141,0.84), rgba(236,255,241,0.98)) !important;
}

.benefit-card:nth-child(5n),
.method-card:nth-child(5n),
.faq-item:nth-child(5n),
.legal-grid .legal-block:nth-child(5n),
.guidance-card:nth-child(5n),
.rate-card:nth-child(5n),
.page-prestations .service.service-card:nth-child(5n),
.page-prestations .services-pack-grid .service:nth-child(5n){
  background:linear-gradient(135deg, rgba(255,138,69,0.86), rgba(255,246,238,0.97)) !important;
}

.quote-form,
.devis-page .quote-form,
.devis-page .quote-optional-details{
  background:linear-gradient(135deg, rgba(244,182,61,0.78), rgba(255,241,211,0.97)) !important;
  border:1px solid rgba(31,26,23,0.1) !important;
  color:var(--text-on-light) !important;
}

.devis-page .quote-sidebar-card{
  border:1px solid rgba(31,26,23,0.1) !important;
}

.devis-page .quote-form label,
.devis-page .quote-label-text,
.devis-page .quote-sidebar-card p,
.devis-page .quote-sidebar-card h3,
.devis-page .quote-form-intro,
.devis-page .quote-consent,
.devis-page .quote-optional-summary,
.devis-page .quote-sidebar-kicker,
.devis-page .quote-sidebar-points,
.devis-page .quote-sidebar-points li,
.devis-page .quote-sidebar-meta,
.devis-page .quote-sidebar-meta strong,
.devis-page .quote-sidebar-meta a,
.devis-page .quote-sidebar-meta a:visited{
  color:var(--text-on-light) !important;
}

.devis-page .quote-sidebar-meta a:hover,
.devis-page .quote-sidebar-meta a:focus-visible{
  color:#8f0b16 !important;
}

.devis-page .quote-form input,
.devis-page .quote-form select,
.devis-page .quote-form textarea{
  background:rgba(255,250,241,0.72) !important;
  color:var(--text-on-light) !important;
  border:1px solid rgba(31,26,23,0.18) !important;
}

.devis-page .quote-form input::placeholder,
.devis-page .quote-form textarea::placeholder{
  color:#6b5344 !important;
}

.devis-page .quote-form select option{
  background:#fff8eb !important;
  color:#1f1a17 !important;
}

.page-prestations .services-cards-grid,
.page-prestations .services-pack-grid,
.pricing-guidance-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:1.15rem !important;
}

.page-prestations .service.service-card,
.page-prestations .service.service-pack-card,
.guidance-card{
  flex:1 1 17rem !important;
  max-width:24rem !important;
}

.legal-block-ai{
  background:linear-gradient(145deg, rgba(244,182,61,0.55), rgba(255,241,211,0.96)) !important;
}

/* Pop-ups colorées, texte foncé lisible — jamais de fond blanc plat */
.service-info-dialog,
.quote-channel-dialog,
.devis-page .quote-channel-dialog{
  background:linear-gradient(145deg, rgba(244,182,61,0.72), rgba(255,236,214,0.98)) !important;
  border:1px solid rgba(31,26,23,0.12) !important;
  color:#1f1a17 !important;
  box-shadow:0 24px 48px rgba(0,0,0,0.28) !important;
}

.service-info-dialog h3,
.service-info-dialog h4,
.quote-channel-dialog h3,
.quote-channel-dialog h4,
.devis-page .quote-channel-dialog h3,
.devis-page .quote-channel-card h4{
  color:#1f1a17 !important;
}

.service-info-dialog p,
.service-info-dialog li,
.service-info-kicker,
.service-info-note,
.quote-channel-dialog p,
.quote-channel-intro,
.quote-channel-help,
.quote-channel-note,
.devis-page .quote-channel-intro,
.devis-page .quote-channel-note,
.devis-page .quote-channel-help,
.devis-page .quote-channel-summary-label,
.devis-page .quote-channel-summary strong{
  color:#4a3f38 !important;
}

.service-info-price,
.quote-channel-kicker,
.quote-channel-step,
.devis-page .quote-channel-kicker,
.devis-page .quote-channel-step{
  color:#8f0b16 !important;
}

.devis-page .quote-channel-summary{
  background:linear-gradient(135deg, rgba(82,182,255,0.28), rgba(235,247,255,0.96)) !important;
  border:1px solid rgba(31,26,23,0.08) !important;
}

.devis-page .quote-channel-card,
.quote-channel-card{
  background:linear-gradient(135deg, rgba(255,139,194,0.42), rgba(255,236,245,0.96)) !important;
  border:1px solid rgba(31,26,23,0.08) !important;
  color:#1f1a17 !important;
}

.devis-page .quote-channel-card-primary{
  background:linear-gradient(135deg, rgba(244,182,61,0.72), rgba(255,241,211,0.97)) !important;
}

.service-info-close,
.devis-page .quote-channel-close{
  background:rgba(255,241,211,0.85) !important;
  color:#1f1a17 !important;
  border:1px solid rgba(31,26,23,0.18) !important;
}

.devis-page .quote-alt-btn,
.devis-page .quote-copy-btn,
.devis-page .quote-sms-btn{
  color:#1f1a17 !important;
  background:linear-gradient(135deg, rgba(255,241,211,0.92), rgba(255,250,241,0.96)) !important;
  border:1px solid rgba(31,26,23,0.14) !important;
}

.devis-page .quote-call-btn{
  background:#8f0b16 !important;
  color:#fffaf1 !important;
}

.modal-dialog{
  background:linear-gradient(145deg, rgba(244,182,61,0.78), rgba(255,232,198,0.98)) !important;
  border:1px solid rgba(31,26,23,0.14) !important;
  color:#1f1a17 !important;
  box-shadow:0 28px 56px rgba(0,0,0,0.32) !important;
}

.modal-close,
.modal-prev,
.modal-next{
  background:rgba(31,26,23,0.1) !important;
  color:#1f1a17 !important;
  border:1px solid rgba(31,26,23,0.18) !important;
}

#modal-caption,
.modal-case-card,
.modal-case-card p,
.modal-case-card h4{
  color:#1f1a17 !important;
  text-shadow:none !important;
}

.modal-case-card{
  background:linear-gradient(135deg, rgba(255,139,194,0.42), rgba(255,236,245,0.96)) !important;
  border:1px solid rgba(31,26,23,0.08) !important;
}

.modal-case-card:nth-child(2){
  background:linear-gradient(135deg, rgba(82,182,255,0.38), rgba(235,247,255,0.97)) !important;
}

.modal-case-card h4{
  color:#8f0b16 !important;
}

.page-realisations .portfolio-item,
.page-realisations .portfolio-item-xl,
.page-realisations .portfolio-item-wide,
.page-realisations .portfolio-item-tall{
  backdrop-filter:none !important;
}

.page-realisations .portfolio-item:nth-child(5n+1),
.page-realisations .portfolio-item:nth-child(5n+1):hover,
.page-realisations .portfolio-item:nth-child(5n+1):focus-within{
  background:linear-gradient(135deg, rgba(244,182,61,0.82), rgba(255,241,211,0.96)) !important;
  border-color:rgba(31,26,23,0.12) !important;
}
.page-realisations .portfolio-item:nth-child(5n+2),
.page-realisations .portfolio-item:nth-child(5n+2):hover,
.page-realisations .portfolio-item:nth-child(5n+2):focus-within{
  background:linear-gradient(135deg, rgba(255,139,194,0.8), rgba(255,236,245,0.96)) !important;
  border-color:rgba(31,26,23,0.12) !important;
}
.page-realisations .portfolio-item:nth-child(5n+3),
.page-realisations .portfolio-item:nth-child(5n+3):hover,
.page-realisations .portfolio-item:nth-child(5n+3):focus-within{
  background:linear-gradient(135deg, rgba(82,182,255,0.78), rgba(235,247,255,0.97)) !important;
  border-color:rgba(31,26,23,0.12) !important;
}
.page-realisations .portfolio-item:nth-child(5n+4),
.page-realisations .portfolio-item:nth-child(5n+4):hover,
.page-realisations .portfolio-item:nth-child(5n+4):focus-within{
  background:linear-gradient(135deg, rgba(93,207,141,0.76), rgba(236,255,241,0.97)) !important;
  border-color:rgba(31,26,23,0.12) !important;
}
.page-realisations .portfolio-item:nth-child(5n),
.page-realisations .portfolio-item:nth-child(5n):hover,
.page-realisations .portfolio-item:nth-child(5n):focus-within{
  background:linear-gradient(135deg, rgba(255,138,69,0.8), rgba(255,246,238,0.96)) !important;
  border-color:rgba(31,26,23,0.12) !important;
}

.page-realisations .portfolio-item figcaption,
.page-realisations .portfolio-society{
  color:#1f1a17 !important;
}

.page-realisations .portfolio-tag{
  color:#8f0b16 !important;
}

.page-realisations .portfolio-thumb{
  background:rgba(255,250,241,0.35) !important;
  border-color:rgba(31,26,23,0.1) !important;
}

@media (max-width:899px){
  .home-page .hero-visual,
  .home-page .hero-brand-column{
    display:grid !important;
  }

  .benefit-card,
  .method-card{
    max-width:none !important;
    flex-basis:100% !important;
  }

  .page-prestations .service.service-card,
  .page-prestations .service.service-pack-card,
  .guidance-card{
    max-width:none !important;
    flex-basis:100% !important;
  }
}

.home-page .impact-strip{
  padding:0.2rem 0 2.2rem !important;
}

.impact-strip-inner{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:0.85rem !important;
}

.impact-item{
  flex:1 1 11.5rem !important;
  max-width:17.5rem !important;
  min-height:0 !important;
  padding:1.05rem 1.1rem !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius:var(--studio-radius, 22px) !important;
}

.impact-value,
.impact-item .impact-value,
.impact-value--num{
  font-size:clamp(1.28rem, 2vw, 1.55rem) !important;
  line-height:1.15 !important;
  margin:0 !important;
}

.impact-label,
.impact-item p.impact-label{
  font-size:0.92rem !important;
  line-height:1.45 !important;
  margin:0.35rem 0 0 !important;
}

.home-page .services{
  padding-top:4.8rem !important;
  padding-bottom:5.2rem !important;
}

@media (max-width:899px){
  .impact-item{
    max-width:none !important;
    flex-basis:100% !important;
  }
}

/* Pop-up = même couleur que la carte cliquée, texte foncé lisible */
.page-prestations .service.service-card[data-card-tone="gold"],
.page-prestations .service.service-pack-card[data-card-tone="gold"],
.service-info-dialog[data-card-tone="gold"],
.modal-dialog[data-card-tone="gold"]{
  background:linear-gradient(145deg, rgba(244,182,61,0.92), rgba(255,241,211,0.98)) !important;
}
.page-prestations .service.service-card[data-card-tone="pink"],
.page-prestations .service.service-pack-card[data-card-tone="pink"],
.service-info-dialog[data-card-tone="pink"],
.modal-dialog[data-card-tone="pink"]{
  background:linear-gradient(145deg, rgba(255,139,194,0.9), rgba(255,236,245,0.98)) !important;
}
.page-prestations .service.service-card[data-card-tone="blue"],
.page-prestations .service.service-pack-card[data-card-tone="blue"],
.service-info-dialog[data-card-tone="blue"],
.modal-dialog[data-card-tone="blue"]{
  background:linear-gradient(145deg, rgba(82,182,255,0.88), rgba(235,247,255,0.98)) !important;
}
.page-prestations .service.service-card[data-card-tone="green"],
.page-prestations .service.service-pack-card[data-card-tone="green"],
.service-info-dialog[data-card-tone="green"],
.modal-dialog[data-card-tone="green"]{
  background:linear-gradient(145deg, rgba(93,207,141,0.88), rgba(236,255,241,0.98)) !important;
}
.page-prestations .service.service-card[data-card-tone="peach"],
.page-prestations .service.service-pack-card[data-card-tone="peach"],
.service-info-dialog[data-card-tone="peach"],
.modal-dialog[data-card-tone="peach"]{
  background:linear-gradient(145deg, rgba(255,138,69,0.9), rgba(255,246,238,0.98)) !important;
}

.service-info-dialog[data-card-tone],
.modal-dialog[data-card-tone]{
  color:#1f1a17 !important;
  border-color:rgba(31,26,23,0.12) !important;
}

.service-info-dialog[data-card-tone] h3,
.service-info-dialog[data-card-tone] h4,
.service-info-dialog[data-card-tone] p,
.service-info-dialog[data-card-tone] li,
.service-info-dialog[data-card-tone] .service-info-kicker,
.service-info-dialog[data-card-tone] .service-info-note,
.service-info-dialog[data-card-tone] .service-info-price,
.modal-dialog[data-card-tone],
.modal-dialog[data-card-tone] #modal-caption,
.modal-dialog[data-card-tone] .modal-case-card,
.modal-dialog[data-card-tone] .modal-case-card h4,
.modal-dialog[data-card-tone] .modal-case-card p{
  color:#1f1a17 !important;
  text-shadow:none !important;
}

.service-info-dialog[data-card-tone="gold"] h3,
.service-info-dialog[data-card-tone="gold"] h4,
.service-info-dialog[data-card-tone="gold"] .service-info-price,
.modal-dialog[data-card-tone="gold"] .modal-case-card h4{
  color:#6b3d08 !important;
}
.service-info-dialog[data-card-tone="pink"] h3,
.service-info-dialog[data-card-tone="pink"] h4,
.service-info-dialog[data-card-tone="pink"] .service-info-price,
.modal-dialog[data-card-tone="pink"] .modal-case-card h4{
  color:#8a1d4a !important;
}
.service-info-dialog[data-card-tone="blue"] h3,
.service-info-dialog[data-card-tone="blue"] h4,
.service-info-dialog[data-card-tone="blue"] .service-info-price,
.modal-dialog[data-card-tone="blue"] .modal-case-card h4{
  color:#0d4a7a !important;
}
.service-info-dialog[data-card-tone="green"] h3,
.service-info-dialog[data-card-tone="green"] h4,
.service-info-dialog[data-card-tone="green"] .service-info-price,
.modal-dialog[data-card-tone="green"] .modal-case-card h4{
  color:#145c38 !important;
}
.service-info-dialog[data-card-tone="peach"] h3,
.service-info-dialog[data-card-tone="peach"] h4,
.service-info-dialog[data-card-tone="peach"] .service-info-price,
.modal-dialog[data-card-tone="peach"] .modal-case-card h4{
  color:#8a3a12 !important;
}

.service-info-dialog[data-card-tone] p,
.service-info-dialog[data-card-tone] li,
.service-info-dialog[data-card-tone] .service-info-kicker,
.service-info-dialog[data-card-tone] .service-info-note,
.modal-dialog[data-card-tone] #modal-caption,
.modal-dialog[data-card-tone] .modal-case-card p{
  color:#3d342e !important;
}

.service-info-dialog[data-card-tone] .service-info-close,
.modal-dialog[data-card-tone] .modal-close,
.modal-dialog[data-card-tone] .modal-prev,
.modal-dialog[data-card-tone] .modal-next{
  background:rgba(255,250,241,0.72) !important;
  color:#1f1a17 !important;
  border:1px solid rgba(31,26,23,0.18) !important;
}

.modal-dialog[data-card-tone] .modal-case-card{
  background:rgba(255,250,241,0.46) !important;
  border:1px solid rgba(31,26,23,0.1) !important;
}

/* ——— Lisibilité, accessibilité, tous supports ——— */
.skip-link{
  position:absolute;
  left:0.75rem;
  top:-4rem;
  z-index:4000;
  padding:0.55rem 0.9rem;
  border-radius:999px;
  background:#fffaf1;
  color:#1f1a17;
  font-family:var(--font-body);
  font-size:0.95rem;
  font-weight:700;
  text-decoration:none;
}
.skip-link:focus,
.skip-link:focus-visible{
  top:0.75rem;
  outline:2px solid #c9a44a;
  outline-offset:3px;
}

:focus-visible{
  outline:2px solid #f3d48a;
  outline-offset:3px;
}

.service[id],
#tarifs,
#packs,
#portfolio,
.portfolio-item,
.portfolio-hero,
.page-banner{
  scroll-margin-top:1rem;
}

.page-realisations .portfolio-hero{
  background:rgba(8, 4, 6, 0.74) !important;
  border:1px solid rgba(243,212,138,0.2) !important;
  border-radius:18px !important;
  box-shadow:0 14px 32px rgba(0,0,0,0.32) !important;
  padding:1.15rem 1.3rem 1.25rem !important;
  max-width:46rem;
  margin:0 auto 1.6rem;
}

.portfolio-hero h1,
.page-realisations .portfolio-hero h1{
  font-family:var(--font-title) !important;
  font-size:clamp(2.1rem, 4.2vw, 3.15rem) !important;
  color:var(--brand-gold-bright) !important;
  text-shadow:0 2px 14px rgba(0,0,0,0.7), 0 0 18px rgba(243,212,138,0.28) !important;
  text-align:center;
}

.page-realisations .portfolio-kicker{
  margin:0 0 0.45rem !important;
  color:var(--brand-com-bright) !important;
  font-family:var(--font-body) !important;
  font-size:0.82rem !important;
  font-weight:800 !important;
  letter-spacing:0.16em !important;
  text-transform:uppercase !important;
  text-shadow:0 1px 10px rgba(0,0,0,0.55), 0 0 12px rgba(194,58,58,0.35) !important;
}

.page-realisations .portfolio-sub{
  margin:0.45rem auto 0 !important;
  max-width:40rem;
  font-family:var(--font-title) !important;
  font-size:clamp(1.22rem, 2.4vw, 1.7rem) !important;
  line-height:1.25 !important;
  color:#fffaf1 !important;
  text-align:center;
  text-shadow:0 2px 10px rgba(0,0,0,0.6);
}

.page-realisations .brand-gold-word{
  color:var(--brand-gold-bright) !important;
  font-weight:700 !important;
  text-shadow:0 1px 0 rgba(255,236,180,0.28), 0 2px 10px rgba(0,0,0,0.55) !important;
}

.page-realisations .brand-red-word{
  color:var(--brand-com-bright) !important;
  font-weight:700 !important;
  text-shadow:0 1px 0 rgba(255,180,180,0.25), 0 2px 12px rgba(0,0,0,0.55), 0 0 16px rgba(194,58,58,0.35) !important;
}

.page-realisations .portfolio-hero p,
.page-realisations .portfolio-lead{
  max-width:42rem;
  margin:0.7rem auto 0;
  text-align:center;
  color:#f6e7c8 !important;
  text-shadow:0 1px 8px rgba(0,0,0,0.55);
  font-size:1.05rem;
  line-height:1.7;
}

.portfolio-toolbar,
.portfolio-modes,
.portfolio-filters{
  flex-wrap:wrap !important;
  justify-content:center;
  gap:0.45rem !important;
}

.mode-btn,
.filter-btn{
  font-size:0.92rem !important;
  line-height:1.3 !important;
  min-height:2.4rem;
}

.footer-legal-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0.35rem 0.9rem;
}

.footer-legal-nav a,
.footer-note,
.footer-legal-line{
  font-size:clamp(0.82rem, 1.6vw, 0.95rem) !important;
  line-height:1.5 !important;
}

.legal-block h3{
  font-size:clamp(1.18rem, 2vw, 1.38rem) !important;
  line-height:1.25 !important;
}

.quote-form input,
.quote-form select,
.quote-form textarea{
  min-height:2.7rem;
}

@media (min-width:1100px){
  .nav-toggle{
    display:none !important;
  }

  .header-inner{
    grid-template-areas:'identity nav cta' !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
  }

  .header-identity{grid-area:identity !important}
  .main-nav{
    grid-area:nav !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .header-cta{grid-area:cta !important}

  .nav-links{
    flex-wrap:wrap !important;
    justify-content:center !important;
  }

  .nav-links a{
    font-size:0.92rem !important;
    padding:0.42rem 0.62rem !important;
  }
}

@media (max-width:1099px){
  .nav-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    grid-area:toggle !important;
    width:2.85rem !important;
    height:2.85rem !important;
  }

  .header-inner{
    grid-template-areas:'identity toggle cta' 'nav nav nav' !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
  }

  .header-identity{grid-area:identity !important}
  .header-cta{
    grid-area:cta !important;
    width:auto !important;
    justify-self:end !important;
    font-size:0.78rem !important;
    padding:0.38rem 0.7rem !important;
  }

  .main-nav{
    grid-area:nav !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    max-height:0;
    overflow:hidden;
  }

  .site-header.is-nav-open .main-nav{
    max-height:28rem;
  }

  .nav-links{
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:0.35rem !important;
    padding:0.55rem 0 0.15rem !important;
  }

  .nav-links a{
    width:100% !important;
    font-size:1rem !important;
    padding:0.72rem 0.85rem !important;
    text-align:center;
  }

  .brand-tagline{
    font-size:0.68rem !important;
    white-space:normal !important;
  }
}

@media (max-width:599px){
  .header-identity,
  .brand-link,
  .brand-block{
    min-width:0 !important;
  }

  .header-cta{
    font-size:0.74rem !important;
    padding:0.36rem 0.58rem !important;
  }

  .brand-name{
    white-space:normal !important;
  }

  .quote-form input,
  .quote-form select,
  .quote-form textarea,
  .quote-form button,
  .btn{
    font-size:1rem !important;
  }

  .page-banner-card p,
  .legal-content p,
  .legal-content li,
  .faq-item p{
    font-size:1.02rem !important;
    line-height:1.7 !important;
  }
}

