/* CARVAJAL EXPERTISES — V1.5.13 · client presentation finishing layer.
   Single authoritative addition to the V1.5.10 production baseline.
   Corrects section seams, restrained typography, spacing and usability.
   No text changes, no changes to media or API. */

:root {
  --ce-join-sand: #e9e4da;
  --ce-join-stone: #f1eee7;
  --ce-paper-warm: #f6f5ef;
  --ce-ink-soft: #355246;
}
html { text-rendering: optimizeLegibility; font-kerning: normal; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Bridge 1: Angoulême hero -> photograph of the quote form.
   A short crossfade is less conspicuous than the old broad white veil.
   Limit the transparent regions to content-free edges. */
.hero { z-index: 1; }
.hero::after {
  height: clamp(58px, 6vw, 82px);
  background: linear-gradient(180deg, rgba(15,40,29,0) 0%,
    rgba(22,46,33,.025) 54%, rgba(31,55,40,.08) 100%);
}
#devis.quote-premium {
  z-index: 2;
  margin-top: clamp(-70px,-5vw,-48px);
  padding-top: clamp(122px,10vw,155px);
  padding-bottom: clamp(87px,7.2vw,106px);
  background-position: 50% 53%;
  background-color: var(--ce-join-sand);
  box-shadow: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0,
    rgba(0,0,0,.18) 12px,rgba(0,0,0,.70) 40px,#000 72px,
    #000 calc(100% - 83px),rgba(0,0,0,.84) calc(100% - 61px),
    rgba(0,0,0,.35) calc(100% - 20px),transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0,
    rgba(0,0,0,.18) 12px,rgba(0,0,0,.70) 40px,#000 72px,
    #000 calc(100% - 83px),rgba(0,0,0,.84) calc(100% - 61px),
    rgba(0,0,0,.35) calc(100% - 20px),transparent 100%);
}
#devis.quote-premium::before {
  background: linear-gradient(90deg, rgba(249,246,240,.58) 0%,
    rgba(248,245,239,.43) 39%,rgba(249,247,242,.12) 75%,
    rgba(255,255,255,.03) 100%);
}
#devis.quote-premium::after { content: none; }

/* Bridge 2: allow the cabinet's warmer mineral surface to show through at
   the end of the interior photograph. No flat colored stripe. */
#devis + #cabinet.cabinet-v13 {
  position: relative;
  z-index: 1;
  margin-top: clamp(-100px,-7.1vw,-78px);
  padding-top: clamp(120px,9.2vw,144px);
  padding-bottom: clamp(65px,5.6vw,82px);
  border-top: 0;
  background: linear-gradient(180deg, #efede6 0%,#f4f2ec 24%,
    #f8f8f4 58%,#fafaf6 100%);
}
#devis + #cabinet.cabinet-v13::before,
#cabinet .cabinet-v13-intro::before { content: none; }

/* Optical rather than geometric centering. Preserve generous line length and
   prohibit the narrow headline columns introduced by earlier local patches. */
#devis .quote-aside h2 {
  font-size: clamp(43px,4.5vw,67px);
  letter-spacing: -.044em;
  line-height: 1.065;
  margin: 18px 0 17px;
  max-width: 12ch;
  text-wrap: balance;
}
#devis .quote-aside h2:after { width: 52px; height: 3px; margin-top: 20px; }
#devis .quote-aside .quote-intro { font-size: 15px; line-height: 1.73; max-width: 48ch; }
#devis .form-panel { box-shadow: 0 18px 44px rgba(28,51,39,.085); }
#devis .form-panel h3 { line-height: 1.16; letter-spacing: -.036em; }
#devis .form-panel .form-help { line-height: 1.65; }
#devis .field label, #devis .field legend { letter-spacing: .005em; }
#devis .form-meta { font-size: 11px; line-height: 1.65; }

#cabinet .cabinet-v13-layout { align-items: start; gap: clamp(36px,4.8vw,72px); }
#cabinet .cabinet-v13-intro { padding-top: 4px; }
#cabinet .cabinet-v13-intro h2 {
  margin: 20px 0 20px;
  max-width: none;
  font-size: clamp(38px,3.5vw,50px);
  letter-spacing: -.036em;
  line-height: 1.13;
  text-wrap: balance;
}
#cabinet .cabinet-v13-intro h2 em { white-space: normal; }
#cabinet .cabinet-v13-lead { max-width: 58ch; line-height: 1.76!important; }
#cabinet .cabinet-v13-support { max-width: 60ch; line-height: 1.8!important; }
#cabinet .cabinet-v13-promises { margin-top: 22px; padding-top: 17px; }
#cabinet .cabinet-v13-territory { border-radius: 23px; }
#cabinet .cabinet-v13-territory-body > p { line-height: 1.75; }

/* Content-rich sections should flow, not look like independent landing pages. */
#prestations.services-section-premium {
  padding-top: clamp(48px,4.7vw,64px);
  padding-bottom: clamp(36px,3.6vw,50px);
}
#prestations .premium-service-card .service-body h3 { line-height: 1.18; }
#prestations .premium-service-card .service-body p { line-height: 1.68; }
#prestations + #dpe-audit.energy-decision {
  margin-top: -8px;
  padding-top: clamp(34px,3.4vw,46px);
}
#dpe-audit + #implantations.address-section { border-top: 0; }
#implantations + #temoignages.trust-section { border-top: 0; }

/* No fake scroll animation: anchors align below the sticky nav. */
html { scroll-padding-top: 0!important; }
main section[id], footer { scroll-margin-top: var(--ce-nav-offset, 90px); }

@media(max-width:860px) {
  #devis.quote-premium {
    margin-top: -56px; padding-top: 124px; padding-bottom: 100px;
    background-position: 58% 51%;
    -webkit-mask-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.44) 25px,
      #000 58px,#000 calc(100% - 105px),rgba(0,0,0,.80) calc(100% - 77px),transparent 100%);
    mask-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.44) 25px,
      #000 58px,#000 calc(100% - 105px),rgba(0,0,0,.80) calc(100% - 77px),transparent 100%);
  }
  #devis + #cabinet.cabinet-v13 {
    margin-top: -94px; padding-top: 126px; padding-bottom: 60px;
  }
  #cabinet .cabinet-v13-layout { gap: 28px; }
  #cabinet .cabinet-v13-intro h2 { font-size: clamp(36px,5vw,46px); max-width: none; }
}
@media(max-width:560px) {
  .hero::after { height: 55px; }
  #devis.quote-premium {
    margin-top: -45px; padding-top: 106px; padding-bottom: 95px;
    background-position: 62% 46%;
    -webkit-mask-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.40) 20px,
      #000 48px,#000 calc(100% - 100px),rgba(0,0,0,.80) calc(100% - 74px),transparent 100%);
    mask-image: linear-gradient(180deg,transparent 0,rgba(0,0,0,.40) 20px,
      #000 48px,#000 calc(100% - 100px),rgba(0,0,0,.80) calc(100% - 74px),transparent 100%);
  }
  #devis + #cabinet.cabinet-v13 {
    margin-top: -88px; padding-top: 112px; padding-bottom: 48px;
  }
  #devis .quote-aside h2 { font-size: clamp(40px,10.3vw,52px); max-width: none; margin: 14px 0 15px; }
  #devis .quote-aside h2:after { margin-top: 17px; }
  #devis .quote-aside .quote-intro { font-size: 14px; line-height: 1.67; }
  #devis .form-panel h3 { line-height: 1.16; }
  #cabinet .cabinet-v13-intro h2 {
    font-size: clamp(35px,9vw,40px); line-height: 1.13;
    max-width: none; margin: 16px 0 17px;
  }
  #cabinet .cabinet-v13-lead { font-size: 15px!important; }
  #prestations.services-section-premium { padding-top: 37px; padding-bottom: 38px; }
  #prestations + #dpe-audit.energy-decision { padding-top: 29px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
