/* AssurMeyer premium visual system. */
:root {
  --navy:#0c2942;
  --premium-deep:#071d30;
  --ink:#0c2942;
  --muted:#526574;
  --green:#16813a;
  --green-ink:#126b31;
  --premium-white:#ffffff;
  --premium-mist:#f4fbfd;
  --premium-sage:#e9f7ef;
  --premium-line:#dce8e7;
  --premium-radius:16px;
  --premium-heading-gradient:linear-gradient(115deg,#0a2c47,#07516b);
  --premium-sage-line:#d1e7d8;
  --premium-sage-gradient:linear-gradient(115deg,#f4fbfd,#f8fff9 65%,#e2f7e9);
}
body { background:var(--premium-white); color:var(--ink); }
body :is(button,input,select,textarea) { font-family:inherit; }
main .eyebrow {
  font-size:clamp(10px,1vw,12px);
  font-weight:750;
  letter-spacing:.15em;
  text-transform:uppercase;
}
main h1 { letter-spacing:-.045em; }
main h2 { letter-spacing:-.035em; }
main a:focus-visible, header a:focus-visible, header button:focus-visible {
  outline:2px solid var(--green);
  outline-offset:3px;
}
.topline { background:var(--navy); min-height:28px; padding-block:6px; }
header { border-bottom:1px solid var(--premium-line); }
header > a[aria-label="AssurMeyer accueil"] {
  display:flex;
  align-items:center;
  align-self:center;
  flex:none;
}
header nav#nav > a { font-weight:700; }
header nav#nav > a:is(.agencies-nav,.definitions-nav) { border-radius:8px; }
footer.footer-compact { padding-block-start:clamp(20px,3vw,32px); }
footer .footer-bottom > :is(span, a),
footer .footer-social-label,
footer .footer-social-links > a {
  font-weight:700;
}
@media (min-width:761px) and (max-width:1279px) {
  header:has(> nav#nav) {
    display:grid;
    grid-template-columns:max-content minmax(0,1fr);
    align-items:center;
    min-height:64px;
    padding:9px 24px;
    gap:6px 16px;
  }
  header .logo { width:145px; }
  header nav#nav {
    width:auto;
    min-width:0;
    order:0;
    justify-content:flex-end;
    flex-wrap:wrap;
    margin:0;
    gap:0 14px;
    font-size:12px;
  }
  header .headercta { display:none; }
}
@media (min-width:1280px) {
  header { min-height:64px; padding-block:9px; flex-wrap:nowrap; gap:18px; }
  header .logo { width:145px; }
  header nav#nav { width:auto; order:0; margin:0 0 0 auto; flex-wrap:nowrap; gap:8px; font-size:12px; }
  header nav#nav > a { white-space:nowrap; }
  header nav#nav > a:is(.agencies-nav,.definitions-nav) { padding-inline:6px; }
}
@media (max-width:760px) {
  header { min-height:64px; padding-block:8px; }
  header .logo { width:138px; }
}

body .hero.ensemble-hero {
  width:calc(100% - 56px);
  max-width:1180px;
  margin:24px auto 32px;
  padding:clamp(22px,3vw,38px);
  border:1px solid var(--premium-line);
  border-radius:22px;
  background:var(--premium-sage-gradient);
}
body .ensemble-hero .hero-copy { max-width:none; }
body .ensemble-hero .home-slogan-heading .eyebrow { color:var(--green-ink); }
body .ensemble-hero .home-slogan-title {
  margin:7px 0 18px;
  font-size:clamp(32px,4vw,49px);
  line-height:1.04;
  letter-spacing:-.045em;
}
body .ensemble-hero .home-slogan-smile { margin-top:3px; font-size:1.18em; }
body .ensemble-hero .home-opening:has(.home-slogan-copy) {
  gap:clamp(18px,3.5vw,48px);
  margin-bottom:20px;
  align-items:center;
}
body .ensemble-hero .home-slogan-copy > p {
  max-width:57ch;
  font-size:clamp(15px,1.3vw,17px);
  line-height:1.58;
}
body .ensemble-hero .home-slogan-copy > p + p { margin-top:10px; }
body .ensemble-hero .home-slogan-health span { color:var(--green-ink); font-weight:700; }
body .ensemble-hero .home-opening .home-agency-photo img {
  aspect-ratio:16/10;
  border-radius:var(--premium-radius);
  object-position:center;
}
body .ensemble-hero .home-agency-intro .actions { gap:10px; }
body .ensemble-hero .home-agency-intro .actions > a {
  min-height:44px;
  padding:11px 19px;
  border-radius:8px;
  font-size:14px;
}
body .ensemble-hero .home-agency-intro .actions > a.premium-primary {
  background:var(--green);
  color:#fff;
  border:1px solid var(--green);
}
body .ensemble-hero .home-agency-intro .actions > a.premium-secondary {
  background:#fff;
  color:var(--green-ink);
  border:1px solid var(--green-ink);
}
body .ensemble-hero .home-agency-intro .actions > a.premium-primary:hover {
  background:#0d642a;
}
body .ensemble-hero .home-agency-intro .actions > a.premium-secondary:hover {
  background:var(--premium-sage);
  color:var(--green-ink);
}
body .ensemble-hero + #vos-besoins { border-top:0; padding-top:8px; }

/* The prototype alternates white, pale mint and deep blue sections. */
main #modele.model-section { background:#f3faf7; border-color:var(--premium-line); }
main #modele .model-bottom { justify-content:center; }
.brand-origin {
  margin-top:clamp(18px,4vw,32px);
  max-width:760px;
  padding:clamp(17px,3vw,26px);
  background:var(--premium-sage-gradient);
  border:1px solid var(--premium-sage-line);
  border-radius:var(--premium-radius);
}
.brand-origin h2 {
  margin:0 0 9px;
  font-size:clamp(23px,3vw,30px);
  color:var(--navy);
}
.brand-origin p { margin:0; }
.brand-origin p+p { margin-top:10px; }
.agency-lille-photo { margin:18px 0; }
.agency-lille-photo img {
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--premium-radius);
}
main #prevention.prevention { background:var(--premium-mist); }
main #contact.contact { background:var(--premium-heading-gradient); }
main #contact.contact .eyebrow { color:#a6e8ba; }

/* White reading space alternates with sage surfaces for prevention and support. */
#apropos h2,
main #cso-care-heading,
main #cso-prevention-heading,
#comprendre.education-faq > h2,
.trust-reference .trust-reference-grid article:not(:nth-child(2)) > h3 {
  color:var(--navy);
}
.trust-reference .trust-reference-grid article > .home-trust-category {
  background:#e4eef5;
  color:var(--navy);
}
.trust-reference .trust-reference-grid article:nth-child(2) > .home-trust-category {
  background:var(--premium-sage);
  color:var(--green-ink);
}
#apropos .eyebrow,
.team-section .eyebrow,
#comprendre .eyebrow {
  color:var(--green-ink);
}
main > .team-section {
  margin-block:clamp(20px,4vw,44px);
  padding:clamp(20px,3.5vw,42px);
  border:1px solid var(--premium-sage-line);
  border-radius:var(--premium-radius);
  background:var(--premium-sage-gradient);
}
main > .team-section > div > h3:nth-of-type(2) { color:var(--green-ink); }
#comprendre .history-entry {
  background:var(--premium-sage-gradient);
  border-color:var(--premium-sage-line);
}
main .advice-practice {
  background:var(--premium-sage-gradient);
}
#contenu .impact-carbon .eyebrow {
  color:var(--green-ink);
}
#contenu .impact-carbon {
  background:var(--premium-sage-gradient);
}

/* Use blue for reading headings, and green for selected labels and accents. */
main[data-reading-theme="prevention"] .learn-heading .eyebrow,
main[data-reading-theme="prevention"] :is(.learn-section, .policy-for-all, .policy-measures, .read-example, .advice-summary, .policy-position, .advice-practice) > .eyebrow,
main[data-reading-theme="mixed"] :is(.human-prevention, .impact-carbon, #pourquoi-le-courtage, #prevention) > .eyebrow {
  color:var(--green-ink);
}
main .advice-practice > h2,
main[data-reading-theme="prevention"] :is(.learn-section, .policy-for-all, .policy-measures, .read-example, .advice-summary) > h2,
main[data-reading-theme="mixed"] :is(.human-prevention, .impact-carbon, #pourquoi-le-courtage, #prevention) > h2,
main[data-reading-theme="mixed"] :is(#am-outcomes-title, #am-relays-title) {
  color:var(--navy);
}
main[data-reading-theme="prevention"] :is(.advice-summary, .read-example, .policy-position) {
  background:var(--premium-sage-gradient);
  border-color:var(--premium-sage-line);
}
main[data-reading-theme="prevention"] :is(.advice-summary, .read-example) {
  border-left-color:var(--green);
}
main[data-reading-theme="prevention"] .policy-position {
  border-top-color:var(--green);
}

#am-partners-proposal {
  font-family:inherit;
  --am-green:var(--green-ink);
  --am-blue:var(--navy);
}
#am-partners-proposal .am-outcomes {
  padding:clamp(20px,4vw,42px);
  border:1px solid var(--premium-line);
  border-top:3px solid var(--green);
  border-radius:20px;
  background:var(--premium-sage-gradient);
}
#am-partners-proposal .am-outcomes .eyebrow { color:var(--green-ink); }
#am-partners-proposal .am-outcomes-grid { gap:16px; }
#am-partners-proposal .am-outcomes-grid > li {
  padding:15px 16px 18px;
  border:1px solid var(--premium-line);
  border-radius:12px;
  background:var(--premium-white);
}
#am-partners-proposal .am-outcomes-grid > li:nth-child(even) {
  border-color:var(--premium-line);
  background:var(--premium-white);
}
#am-partners-proposal .am-outcomes-grid > li:last-child { background:var(--premium-sage); }
#am-partners-proposal .am-outcomes-grid strong {
  display:block;
  font-size:clamp(18px,2vw,21px);
  line-height:1.3;
}
#am-partners-proposal .am-outcome-photo { aspect-ratio:16/9; border-radius:8px; }
#am-partners-proposal .am-outcomes-grid p { font-size:16px; }
#am-partners-proposal .am-outcomes-grid a { text-underline-offset:3px; }

.definition-content .insurance-pro-table-frame {
  border:1px solid var(--premium-line);
  border-radius:var(--premium-radius);
}
.definition-content table.advice-table caption:not(.sr-only) {
  background:var(--premium-sage);
  color:var(--navy);
}
.definition-content table.advice-table thead th { background:var(--navy); }
.definition-content table.advice-table tbody th { background:var(--premium-mist); }
.definition-content table.advice-table tbody tr:nth-child(even) th { background:var(--premium-sage); }
.definition-content table.advice-table tbody tr:nth-child(even) td { background:#f3faf7; }
.definition-content table.advice-table tbody :is(td,th) { padding:15px 18px; line-height:1.55; }
.definition-content table.advice-table td strong { color:var(--green-ink); }
.definition-content .mutualisation-advice-card { border-radius:var(--premium-radius); background:var(--premium-sage); }

@media (max-width:760px) {
  body .hero.ensemble-hero { width:calc(100% - 28px); margin:14px auto 22px; padding:18px; border-radius:16px; }
  body .ensemble-hero .home-slogan-title {
    font-size:clamp(17px,5.4vw,38px);
    font-size:min(6.75cqi,38px);
    margin-bottom:16px;
  }
  body .ensemble-hero .home-opening:has(.home-slogan-copy) { gap:16px; margin-bottom:16px; }
  body .ensemble-hero .home-opening .home-agency-photo img { aspect-ratio:3/2; border-radius:11px; }
  .definition-content table.advice-table tbody :is(td,th) { padding:12px 15px; }
}
