/* home-trust.css */
.trust-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.trust-action{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid var(--border-soft);border-radius:16px;background:var(--paper);color:var(--brand-gray)}.trust-action h3{font-size:1.4rem;line-height:1.3;margin:0 0 14px}.trust-action p{font-size:1rem;line-height:1.65;margin:0 0 24px}.trust-action .button{margin-top:auto;white-space:normal;text-align:center;min-height:48px}.trust-referral{border-top:4px solid var(--brand-fuchsia)}.trust-note{font-size:.9rem;line-height:1.6;color:var(--brand-gray);margin-top:20px;max-width:900px}@media(max-width:900px){.trust-actions{grid-template-columns:1fr;gap:16px}.trust-action{padding:24px}.trust-action .button{align-self:stretch}}

.hero-review-proof{max-width:34rem;margin:18px 0 0;font-size:1rem;line-height:1.5}.hero-review-proof a{color:inherit;text-decoration:underline;text-underline-offset:4px}.hero-review-proof a:focus-visible{outline:2px solid currentColor;outline-offset:5px}

/* contact-origin.css */
.contact-origin{border:0;padding:0;margin:0;min-width:0}.contact-origin legend{font-weight:700;margin-bottom:12px}.origin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.origin-options label{display:flex;align-items:center;gap:10px;border:1px solid #999;padding:12px;border-radius:10px;min-height:48px;cursor:pointer}.origin-options input{width:20px!important;height:20px;flex:0 0 20px;accent-color:var(--brand-fuchsia)}.origin-options label:has(input:checked){border-color:var(--brand-fuchsia);background:#f1f1f1}.contact-origin [hidden]{display:none!important}[data-referrer-field]{margin-top:16px}.origin-options label:focus-within{outline:2px solid var(--brand-fuchsia);outline-offset:2px}@media(max-width:500px){.origin-options{grid-template-columns:1fr}}

.hero-widget .contact-origin{margin-top:18px}.hero-widget .origin-options{grid-template-columns:1fr}.contact-origin{margin-block:20px}.contact-origin input[type="text"]{max-width:100%;box-sizing:border-box}.contact-origin legend{font-size:1rem}
.contact-partner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.contact-partner-fields>div{min-width:0}.contact-partner-fields label{display:block;margin-bottom:7px;font-weight:700}.contact-partner-fields input{width:100%}.contact-partner-fields>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.875rem;line-height:1.5}@media(max-width:500px){.contact-partner-fields{grid-template-columns:1fr}}

/* hero-readability.css */
.hero-editorial .hero-solutions{display:flex;flex-wrap:wrap;gap:4px 18px;padding:0;list-style:none}.hero-solutions li{display:block}.hero-solutions li::before{content:"•";color:var(--accent-on-dark);margin-right:8px}@media(max-width:900px){.hero-editorial::before{background:rgba(0,0,0,.9)}.hero-editorial .hero-solutions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.hero-editorial .hero-solutions li{line-height:1.5}.hero-editorial .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.hero-editorial .hero-actions .button-light{background:var(--paper);color:#201820;border:2px solid var(--paper)}.hero-editorial .hero-actions .button-outline{background:transparent;color:var(--paper);border:1px solid #aaa}.hero-editorial .hero-actions .button{min-height:48px;white-space:normal;text-align:center}.hero-editorial .hero-actions .button-outline:hover,.hero-editorial .hero-actions .button-outline:focus-visible{background:#333;color:var(--paper);border-color:var(--paper)}.hero-editorial .hero-copy .display em{color:var(--brand-fuchsia)!important}.hero-editorial .hero-lead,.hero-editorial .hero-benefits{color:var(--paper)}}

/* conversion.css */
/* Commercial journeys: a single clear action, readable on every screen. */
.hero-positioning{font-size:1.05rem;line-height:1.6;font-weight:650;color:var(--paper);margin:18px 0 0;max-width:48ch}
.conversion-home .hero-editorial .hero-grid{min-height:0;gap:clamp(28px,4vw,60px);align-items:center}
.conversion-home .hero-editorial .display{font-size:clamp(2.35rem,4vw,4.1rem);line-height:1.13;letter-spacing:-.035em}
.conversion-home .hero-editorial:before{background:linear-gradient(90deg,rgba(15,14,15,.92),rgba(15,14,15,.76) 60%,rgba(15,14,15,.55))}
.conversion-home .hero-editorial .hero-solutions{margin:18px 0 12px;font-size:1rem}
.conversion-home .hero-editorial .hero-lead{font-size:1rem;line-height:1.65}
.conversion-home .hero-editorial .hero-benefits{margin:18px 0;gap:8px;font-size:.9375rem}
.conversion-home .hero-editorial .hero-actions{margin:22px 0 16px;align-items:center}
.conversion-home .hero-editorial .hero-actions .button-primary{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--paper)}
.conversion-home .hero-editorial .hero-actions .button-primary:hover{background:#8e175d;border-color:#8e175d}
.conversion-home .hero-editorial .hero-actions .button-outline{background:transparent;border-color:#d6d6d6;color:var(--paper)}
.conversion-home .hero-editorial .hero-actions .button-outline:hover{background:var(--paper);color:#393638}
.quick-callback .field-grid{grid-template-columns:1fr 1fr}
.quick-callback .field.full{grid-column:1/-1}
.quick-callback .callback-alternative{font-size:.875rem;text-align:center;margin:16px 0 0;color:var(--text-secondary-warm)}
.callback-alternative a{font-weight:750;text-decoration:underline;white-space:nowrap}
.hero-widget .widget-intro{font-size:.9375rem;line-height:1.6}
.partner-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:24px}
.partner-preview .insurance-partner{min-height:110px;padding:12px;background:white;border:1px solid var(--line);border-radius:12px}
.partner-preview img{max-height:54px;max-width:100%;object-fit:contain}
.partner-preview span{font-size:.875rem}
.partner-directory{border-top:1px solid var(--line)}
.partner-directory>summary{padding:20px 0;cursor:pointer;font-size:1rem;font-weight:750;color:var(--brand-gray)}
.partner-directory[open]>summary{margin-bottom:16px}
.trust-actions .trust-action-featured{background:var(--paper);border-top:4px solid var(--brand-fuchsia)}
.adviser-caption{margin:14px 0 22px;display:grid;gap:4px;color:var(--brand-gray)}
.adviser-caption span{font-size:.875rem}
.solution-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:26px}
.solution-actions .text-link{font-size:1rem;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.solution-reassurance{font-size:.875rem!important;line-height:1.6;margin-top:16px!important;color:var(--text-secondary-warm)!important}
.enquiry-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.enquiry-next-grid>div{min-width:0}
.enquiry-next h2{margin-top:8px}
.enquiry-next p{font-size:1rem;line-height:1.7;color:var(--text-secondary-warm)}
.enquiry-faq details{border-bottom:1px solid var(--line);padding:8px 0 18px}
.enquiry-faq summary{cursor:pointer;min-height:48px;padding-block:12px;font-size:1rem;font-weight:750;color:var(--brand-gray)}
.enquiry-faq a,.editorial-signature a,.form-aside a{text-decoration:underline;text-underline-offset:3px}
.simulation-followup{border:1px solid #c8c8c8;border-left:4px solid var(--brand-fuchsia);border-radius:12px;padding:22px;background:var(--paper);color:var(--text-secondary-warm);margin-top:24px;min-width:0}
.simulation-followup p{font-size:.9375rem;line-height:1.6;margin:0 0 14px}
.simulation-followup .button{white-space:normal;max-width:100%}
.simulation-followup small{display:block;margin-top:12px;font-size:.875rem;line-height:1.55}
.simulation-review{background:#f4f4f4;border:1px solid #d7d7d7;border-radius:12px;padding:20px;margin-bottom:24px;color:var(--text-secondary-warm)}
.simulation-review h3{font-size:1.1rem;margin:0 0 8px;color:var(--brand-gray)}
.simulation-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9375rem;line-height:1.6;max-height:260px;overflow:auto}
.simulation-review button{font:inherit;font-size:.9375rem;min-height:44px;background:var(--paper);border:1px solid #8c8188;border-radius:6px;padding:8px 14px;color:var(--text-secondary-warm);cursor:pointer}
.form-step h2{scroll-margin-top:130px}
.conversion-demand .page-hero{padding-block:32px}
.conversion-demand .solution-hero-photo{height:190px;max-height:190px}
.conversion-demand .solution-hero-copy h1{font-size:clamp(1.9rem,3vw,3rem)}
.conversion-demand main>.section{padding-block:36px}
.conversion-calculators .page-hero{padding-block:28px}
.conversion-calculators .solution-hero-photo{max-height:190px}
.conversion-calculators .solution-hero-copy h1{font-size:clamp(1.9rem,3vw,3rem)}
.insurance-after-tools{max-width:1200px;width:calc(100% - 40px);margin:0 auto 48px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface-neutral)}
.conversion-calculators .insurance-after-tools{max-width:1120px;margin:clamp(38px,5vw,64px) auto 56px!important;padding:clamp(24px,3vw,36px);box-shadow:0 10px 28px rgba(38,29,34,.06)}
.conversion-calculators .insurance-after-tools .button{align-self:flex-start;width:auto;min-width:min(100%,280px);padding-inline:26px}
.editorial-signature{margin:32px 0;padding:24px;border-top:2px solid var(--brand-fuchsia);background:var(--soft)}
.editorial-signature p{font-size:.9375rem}
.delivery-success{margin-top:20px;padding:18px;border:1px solid #bdcabc;border-radius:10px;background:#f2f7f1;color:#263b29!important;font-size:1rem;line-height:1.7;overflow-wrap:anywhere}
.delivery-success a{color:inherit;text-decoration:underline}
@media(max-width:900px){.enquiry-next-grid{grid-template-columns:1fr}.partner-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.solution-actions{gap:12px 22px}}
@media(max-width:600px){
 .conversion-home .hero-editorial{padding-block:28px}
 .conversion-home .hero-editorial .display{font-size:clamp(2rem,7.7vw,2.8rem);line-height:1.15;letter-spacing:-.025em}
 .hero-positioning{font-size:.9375rem;margin-top:14px}
 .conversion-home .hero-editorial .hero-lead{font-size:1rem}
 .conversion-home .hero-editorial .hero-actions .button-outline{width:auto;padding:10px 0;border:0;text-decoration:underline}
 .conversion-home .hero-editorial .hero-actions{gap:8px;margin-block:18px}
 .quick-callback .field-grid{grid-template-columns:1fr}
 .partner-preview{gap:8px}.partner-preview .insurance-partner{padding:8px;min-height:90px}.partner-preview span{font-size:.8125rem}
 .solution-actions .button{width:100%;padding:14px 16px;min-height:48px;white-space:normal}
 .solution-actions{gap:6px}.solution-reassurance{margin-top:8px!important}
 .conversion-demand .page-hero-grid,.conversion-calculators .page-hero-grid{gap:18px}
 .conversion-demand .solution-hero-photo{display:none}
 .conversion-calculators .solution-hero-photo{height:135px;object-fit:cover}
 .conversion-demand .form-shell{gap:16px}.conversion-demand .form-aside{padding:20px}
 .conversion-demand .form-aside .check-list{display:none}
 .simulation-followup,.simulation-review{padding:16px}.simulation-followup .button{width:100%}
 .button{min-height:48px}.enquiry-faq summary{line-height:1.5}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.button{transition:none}}

/* Compact editorial endings, one dedicated project card. */
.editorial-note{margin:28px 0 0;padding:16px 0 0;border-top:1px solid var(--line);background:transparent}
.editorial-note p{margin:0;font-size:.9375rem;line-height:1.6}
.article-content a.button,.article-aside a.button{text-decoration:none}
.article-aside .button{white-space:normal;text-align:center;max-width:100%}
@media(max-width:820px){.article-layout{gap:24px}.article-aside{padding:24px}.article-aside p:last-child{margin-bottom:0}}

/* home-presentation.css */
/* Responsive boundaries intentionally preserve the verified layout: <=600 phone, 601–1199 tablet, >=1200 desktop. Component-specific exceptions remain local. */

/* home-hero-couple.css */
/* Homepage only: text, portrait and callback each keep their own space. */
.conversion-home .hero-couple{
  padding:32px 0;
  background:linear-gradient(110deg,#44433f,var(--brand-gray));
}
.conversion-home .hero-couple::before{display:none}
.conversion-home .hero-couple .hero-grid{
  width:min(1440px,calc(100% - 32px));
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"copy" "form" "portrait";
  gap:28px;
  min-height:0;
  align-items:center;
}
.hero-couple .hero-copy{grid-area:copy;min-width:0}
.hero-couple .hero-widget{
  grid-area:form;
  width:100%;
  max-width:none;
  color:#393638;
}
.hero-couple .hero-portrait{
  grid-area:portrait;
  position:relative;
  overflow:hidden;
  min-width:0;
  width:100%;
  max-width:620px;
  aspect-ratio:3/2;
  justify-self:center;
  border-radius:14px;
}
.hero-couple .hero-portrait img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:76% center;
  /* Keep the supplied faces intact; both gazes now point to the form. */
  transform:scaleX(-1);
}
.conversion-home .hero-couple .hero-copy .display{
  font-size:clamp(2rem,7.7vw,3.15rem);
  line-height:1.13;
  letter-spacing:-.035em;
  margin-top:0;
  overflow-wrap:normal;
}
.conversion-home .hero-couple .hero-copy .display em{color:var(--brand-fuchsia)!important}
.conversion-home .hero-couple .hero-copy>.eyebrow{
  font-size:.75rem;
  letter-spacing:.10em;
  line-height:1.6;
  margin:0 0 20px;
}
.conversion-home .hero-couple .hero-positioning{font-size:1rem}
.conversion-home .hero-couple .hero-benefits{font-size:1rem}
.conversion-home .hero-couple .hero-benefits li::before{color:#ff8dc5}
.conversion-home .hero-couple .hero-feedback-link{
  color:var(--paper);
  background:transparent;
  max-width:100%;
  flex-wrap:wrap;
  font-size:.875rem;
}
.hero-couple .hero-widget .field:has(#hero-phone){grid-column:1/-1}
.hero-couple .hero-widget h2{color:var(--brand-gray)}
.hero-couple .hero-actions .button{white-space:normal;min-height:48px}
@media(min-width:901px) and (max-width:1199px){
  .conversion-home .hero-couple .hero-grid{
    width:calc(100% - 48px);
    grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
    grid-template-areas:"portrait form" "copy form";
    gap:26px 32px;
    align-items:start;
  }
  .conversion-home .hero-couple .hero-copy .display{font-size:2.45rem}
  .hero-couple .hero-widget{align-self:start}
}
@media(min-width:1200px){
  .conversion-home .hero-couple{padding-block:36px}
  .conversion-home .hero-couple .hero-grid{
    width:min(1440px,calc(100% - 64px));
    grid-template-columns:minmax(0,1.08fr) minmax(240px,.9fr) minmax(360px,1fr);
    grid-template-areas:"copy portrait form";
    gap:clamp(18px,1.7vw,28px);
  }
  .conversion-home .hero-couple .hero-copy .display{font-size:clamp(2.35rem,3.1vw,3.15rem)}
  .hero-couple .hero-portrait{
    height:clamp(620px,48vw,740px);
    max-width:none;
    aspect-ratio:auto;
    align-self:center;
  }
  .hero-couple .hero-portrait img{position:absolute;inset:0}
  .hero-couple .hero-widget{padding:26px 24px}
}
@media(max-width:600px){
  .conversion-home .hero-couple{padding-block:26px}
  .conversion-home .hero-couple .hero-grid{gap:24px}
  .hero-couple .hero-widget{padding:24px 18px}
  .hero-couple .hero-portrait{border-radius:12px}
}

@media(max-width:600px){
 .conversion-home .hero-couple{padding-block:20px}
 .conversion-home .hero-couple .hero-copy>.eyebrow{margin-bottom:12px}
 .conversion-home .hero-couple .hero-copy .display{font-size:clamp(1.9rem,7.3vw,2.65rem);margin-bottom:16px}
 .conversion-home .hero-couple .hero-lead{font-size:1rem;line-height:1.5;margin-block:12px}
 .conversion-home .hero-couple .hero-benefits{margin-block:12px;font-size:.9375rem}
 .conversion-home .hero-couple .hero-actions{margin-block:16px;gap:10px}
 .conversion-home .hero-couple .hero-grid{gap:20px}
}

/* The charter fuchsia stays legible against the desktop's dark background. */
@media(min-width:601px){
 .conversion-home .hero-couple .hero-copy .display em{background:var(--paper);padding:0 .12em;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
}
/* Reuse the existing couple portrait as the mobile introduction background. */
@media(max-width:600px){
 .conversion-home .hero-couple{background:var(--soft);padding-top:0}
 .conversion-home .hero-couple .hero-grid{grid-template-areas:"copy" "form";isolation:isolate}
 .conversion-home .hero-couple .hero-copy{position:relative;z-index:1;padding-block:26px 20px}
 .conversion-home .hero-couple .hero-portrait{grid-area:copy;align-self:stretch;justify-self:center;width:calc(100% + 32px);max-width:none;height:100%;aspect-ratio:auto;border-radius:0;z-index:0;pointer-events:none}
 .conversion-home .hero-couple .hero-portrait img{position:absolute;inset:0;object-fit:cover;object-position:center 40%;filter:grayscale(1)!important}
 .conversion-home .hero-couple .hero-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.88),rgba(255,255,255,.76))}
 .conversion-home .hero-couple .hero-copy .display{color:var(--ink)!important}
 .conversion-home .hero-couple .hero-copy>.eyebrow,
 .conversion-home .hero-couple .hero-lead,
 .conversion-home .hero-couple .hero-benefits{color:var(--ink2)}
 .conversion-home .hero-couple .hero-copy>.eyebrow::before{background:var(--brand-fuchsia)}
 .conversion-home .hero-couple .hero-actions .button-primary{background:var(--brand-fuchsia);border-color:var(--brand-fuchsia);color:var(--paper)}
 .conversion-home .hero-couple .hero-actions .button-primary:hover{background:var(--pink2);border-color:var(--pink2)}
 .conversion-home .hero-couple .hero-actions .button-outline{color:var(--ink2);background:transparent}
 .conversion-home .hero-couple .hero-actions .button-outline:hover{color:var(--brand-fuchsia);background:var(--paper)}
 .conversion-home .hero-couple .hero-widget{background:var(--paper);position:relative;z-index:1;box-shadow:0 10px 30px #0000000d}
}

/* Mobile: show the photograph clearly above copy, with a short fade into white. */
@media(max-width:600px){
 .conversion-home .hero-couple .hero-copy{padding-top:240px}
 .conversion-home .hero-couple .hero-portrait{background:var(--paper)}
 .conversion-home .hero-couple .hero-portrait img{transform:none;height:290px;object-position:center 20%;filter:none!important}
 .conversion-home .hero-couple .hero-portrait::after{background:linear-gradient(to bottom,transparent 0,transparent 195px,rgba(255,255,255,.35) 220px,var(--paper) 255px)}
}

/* home-conversion.css */
.home-proof-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.existing-client-links{padding-block:24px}.existing-client-links a{text-decoration:underline;text-underline-offset:3px}.home-origin summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.quick-callback{scroll-margin-top:100px}@media(max-width:700px){.home-proof-pair{grid-template-columns:1fr}.existing-client-links a{display:inline-block;padding-block:10px}}

/* Homepage: shorter route from the first exchange to relevant solutions. */
.conversion-home .home-origin>summary{position:relative;display:block;padding:12px 36px 12px 0;line-height:1.5;white-space:normal}
.conversion-home .home-origin>summary::after{right:4px;top:50%;transform:translateY(-50%);line-height:1}
.home-confidence{padding-block:44px;background:var(--soft)}
.home-confidence .section-title{margin-bottom:24px}
.home-confidence-facts{display:flex;flex-wrap:wrap;gap:20px 48px;margin-bottom:20px}
.home-confidence-facts p{margin:0;display:flex;flex-direction:column;gap:4px}
.home-confidence-facts strong{color:var(--ink)}
.home-confidence-facts a{color:inherit;text-underline-offset:3px}
.home-confidence-links{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.home-confidence-links>.text-link{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){
 .conversion-home #solutions{padding-block:36px}
 .conversion-home #solutions .section-head{margin-bottom:24px;gap:12px}
 .conversion-home #solutions .service-grid{gap:20px}
 .conversion-home #solutions .service-card{min-height:0;padding:0 20px 16px}
 .conversion-home #solutions .service-photo{width:calc(100% + 40px);max-width:none;margin:0 -20px;height:160px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center}
 .conversion-home #solutions .service-card h3{font-size:22px;line-height:1.25;margin:18px 0 10px}
 .conversion-home #solutions .service-card p{font-size:16px;line-height:1.5;margin-bottom:10px}
 .conversion-home #solutions .service-card>.text-link,.conversion-home #solutions .service-card p>.text-link{display:flex;align-items:center;min-height:44px}
 .conversion-home #solutions .service-card>p:last-child{margin:0}
 .conversion-home .home-confidence{padding-block:32px}
 .home-confidence-facts{gap:16px;font-size:15px}
 .home-confidence-links{gap:12px}
}

.conversion-home .home-accompagnement{padding-block:44px}
.home-accompagnement .container>p:not(.eyebrow){max-width:720px;line-height:1.6;margin:18px 0 24px}
@media(max-width:600px){.conversion-home .home-accompagnement{padding-block:32px}}

/* Compact editorial links, scoped to the homepage. */
.home-advice-list{max-width:940px;margin:24px 0}
.home-advice-row{display:grid;grid-template-columns:144px minmax(0,1fr) 24px;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.home-advice-row:first-child{border-top:1px solid var(--line)}
.home-advice-row img{display:block;width:144px;height:96px;object-fit:cover;border-radius:8px;filter:none}
.home-advice-row h3{margin:0;font-size:1.25rem;line-height:1.35;overflow-wrap:anywhere}
.home-advice-row>span{color:var(--brand-fuchsia);font-size:1.5rem}
.home-advice-row:hover h3{color:var(--brand-fuchsia)!important}
.home-advice-row:focus-visible{outline:2px solid var(--brand-fuchsia);outline-offset:4px;border-radius:4px}
@media(max-width:600px){
 .conversion-home .home-advice{padding-block:32px}
 .home-advice-row{grid-template-columns:96px minmax(0,1fr) 18px;gap:14px;padding:16px 0}
 .home-advice-row img{width:96px;height:72px}
 .home-advice-row h3{font-size:1.0625rem;line-height:1.4}
 .home-advice-row>span{font-size:1.25rem}
}

/* Keep the warning alongside the solutions without a large blank transition. */
.conversion-home #solutions{padding-bottom:12px}
.conversion-home #solutions .home-other-solution{margin-bottom:0}
.conversion-home #solutions+.regulatory-inline{padding-block:12px 18px}

/* home-tablet.css */
/* Homepage tablet and phone landscape: preserve portrait-mobile and desktop rules. */
@media(min-width:601px) and (max-width:1199px){
 .conversion-home .header-inner{height:76px}
 .conversion-home .logo img{width:200px;height:auto;max-height:62px;object-fit:contain}
 .conversion-home .hero-couple{padding:28px 0 36px;background:var(--soft)}
 .conversion-home .hero-couple .hero-grid{width:calc(100% - 40px);max-width:1080px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"copy portrait" "form form";gap:28px;align-items:center}
 .conversion-home .hero-couple .hero-copy .display{font-size:clamp(1.8rem,3.5vw,2.5rem);line-height:1.15;color:var(--ink)!important;margin:0 0 18px}
 .conversion-home .hero-couple .hero-copy .display em{background:none;padding:0;border-radius:0;color:var(--brand-fuchsia)!important}
 .conversion-home .hero-couple .hero-copy>.eyebrow{color:var(--ink2);margin-bottom:14px;font-size:.75rem}
 .conversion-home .hero-couple .hero-copy>.eyebrow::before{background:var(--brand-fuchsia)}
 .conversion-home .hero-couple .hero-lead,.conversion-home .hero-couple .hero-benefits{color:var(--ink2);font-size:1rem;line-height:1.5;margin:14px 0}
 .conversion-home .hero-couple .hero-portrait{grid-area:portrait;max-width:none;height:auto;aspect-ratio:3/2;border-radius:14px;align-self:center;margin:0}
 .conversion-home .hero-couple .hero-portrait img{position:static;width:100%;height:auto;object-fit:contain;filter:none!important;transform:none}
 .conversion-home .hero-couple .hero-actions{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px 12px;margin:18px 0 0}
 .conversion-home .hero-couple .hero-actions .button{padding:12px 16px;font-size:.9375rem}
 .conversion-home .hero-couple .hero-actions .button-primary{background:var(--brand-fuchsia);border-color:var(--brand-fuchsia);color:var(--paper)}
 .conversion-home .hero-couple .hero-actions .button-outline{background:transparent;color:var(--ink2);border:0;text-decoration:underline;text-underline-offset:4px}
 .conversion-home .hero-couple .hero-actions .button-primary:hover{background:var(--pink2)}
 .conversion-home .hero-couple .hero-widget{grid-area:form;justify-self:center;width:100%;max-width:720px;align-self:start;padding:26px;box-shadow:0 10px 30px #0000000d}
 .conversion-home .home-confidence{padding-block:28px 20px}
 .conversion-home .home-accompagnement{padding-block:20px 32px}
 .conversion-home .home-accompagnement .section-title{font-size:clamp(1.8rem,3.5vw,2.5rem)}
}

/* All solution cards share the same hierarchy; the principal native link covers the card. */
.conversion-home #solutions .service-card{position:relative;border-color:var(--line)}
.conversion-home #solutions .service-card>.service-card-main{position:static}
.conversion-home #solutions .service-card>.service-card-main::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;cursor:pointer}
.conversion-home #solutions .service-card a:not(.service-card-main){position:relative;z-index:2}
.conversion-home #solutions .service-card:has(a:focus-visible){border-color:var(--brand-fuchsia);outline:2px solid var(--brand-fuchsia);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
 .conversion-home #solutions .service-card:hover{border-color:var(--brand-fuchsia)}
}
@media(max-width:900px), (hover:none) and (pointer:coarse) and (orientation:landscape){
 .conversion-home #solutions .service-card .service-photo{height:160px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;border-bottom:0}
}

/* Compact touch layouts, with a focal point chosen for each original photo. */
@media(max-width:900px), (hover:none) and (pointer:coarse) and (orientation:landscape){
 .conversion-home #solutions .service-grid{gap:16px}
 .conversion-home #solutions .service-card{min-height:0;padding:0 18px 12px}
 .conversion-home #solutions .service-card .service-photo{width:calc(100% + 36px);max-width:none;margin:0 -18px}
 .conversion-home #solutions .service-card h3{font-size:22px;line-height:1.25;margin:14px 0 8px}
 .conversion-home #solutions .service-card p{font-size:16px;line-height:1.5;margin:0 0 6px}
 .conversion-home #solutions .service-card>.text-link,.conversion-home #solutions .service-card p>.text-link{display:flex;align-items:center;min-height:44px;margin-top:0}
 .conversion-home #solutions .service-card>p:last-child{margin:0}
 .conversion-home #solutions .service-photo[src*="credit-immobilier-entree"]{object-position:50% 58%!important}
 .conversion-home #solutions .service-photo[src*="regroupement-organisation"]{object-position:50% 52%!important}
 .conversion-home #solutions .service-photo[src*="photo-maison"]{object-position:50% 48%!important}
 .conversion-home #solutions .service-photo[src*="hero-locatif-sci"]{object-position:50% 44%!important}
 .conversion-home #solutions .service-photo[src*="hero-hypothecaire"]{object-position:50% 62%!important}
 .conversion-home #solutions .service-photo[src*="assurance-emprunteur-protection"]{object-position:50% 55%!important}
}

/* Clear product labels and a contrasting, readable three-step method. */
.conversion-home .home-accompagnement{background:#333438;color:#fff}
.conversion-home .home-accompagnement>.container{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px 56px}
.conversion-home .home-accompagnement .section-title,.conversion-home .home-accompagnement h3{color:#fff}
.conversion-home .home-accompagnement .eyebrow,.conversion-home .home-accompagnement .text-link,.conversion-home .home-accompagnement .step-number{color:#fff}
.conversion-home .home-method-intro>p:not(.eyebrow){color:#e2e2e5;line-height:1.6;margin:20px 0}
.conversion-home .home-accompagnement .home-steps{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.conversion-home .home-accompagnement .home-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 16px;padding:24px 0;border-top:1px solid #68696e}
.conversion-home .home-accompagnement .step-number{grid-row:1/3;margin:0;font-size:20px}
.conversion-home .home-accompagnement .home-steps h3{margin:0;font-size:20px;line-height:1.3}
.conversion-home .home-accompagnement .home-steps p{grid-column:2;color:#e2e2e5;margin:0;line-height:1.6}
.conversion-home .home-accompagnement .brand-update{grid-column:1/-1;background:transparent;color:#e2e2e5;border-color:#68696e}
.conversion-home .home-accompagnement .brand-update p{color:#e2e2e5}
@media(max-width:900px){.conversion-home .home-accompagnement>.container{grid-template-columns:1fr;gap:24px}.conversion-home .home-accompagnement .home-steps li{padding:18px 0}}

/* insurance-quote.css */
.insurance-quote-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;margin-top:8px;border:1px solid var(--brand-fuchsia);border-radius:8px;color:var(--brand-fuchsia);background:var(--paper);font-size:.875rem;font-weight:700;line-height:1.4;text-decoration:none;text-align:center;white-space:normal}.insurance-quote-link:hover{background:var(--soft)}.insurance-quote-link:focus-visible{outline:2px solid var(--brand-fuchsia);outline-offset:3px}@media(max-width:600px){.insurance-quote-link{width:100%}}

/* callback-buttons.css */
/* A consistent secondary action wherever a visitor can request a callback. */
main a.button.button-callback{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 22px!important;border:1px solid var(--brand-fuchsia)!important;border-radius:999px;background:var(--paper)!important;color:var(--brand-fuchsia)!important;text-decoration:none!important;font-weight:800;font-size:.9375rem;line-height:1.5;text-align:center;white-space:normal;max-width:100%}
main a.button.button-callback:hover{background:var(--brand-fuchsia)!important;color:var(--paper)!important}
main a.button.button-callback:focus-visible{outline:3px solid var(--brand-fuchsia);outline-offset:4px}
main :has(>a.button-callback)>.button{min-height:54px!important;padding:13px 22px!important;font-size:.9375rem!important;line-height:1.5}

/* home-desktop.css */
/* The homepage callback stays transparent on every screen. */
.conversion-home .hero-couple .hero-actions a.button-callback { background:transparent!important; }
/* Desktop: edge-to-edge photo behind the headline and callback form. */
.conversion-home .hero-couple .hero-copy .display em { color:var(--brand-fuchsia)!important; font-style:normal!important; }
.conversion-home .hero-couple .hero-projects,
.conversion-home .hero-couple .hero-support { font-size:1rem; line-height:1.6; margin:0 0 18px; color:inherit; }
@media (min-width:1200px) {
 .conversion-home .hero-couple { background:#353431; padding:24px 0; position:relative; isolation:isolate; }
 .conversion-home .hero-couple .hero-grid { width:min(1520px,calc(100% - 112px)); grid-template-columns:minmax(0,550px) clamp(350px,26vw,390px); grid-template-areas:"copy form"; grid-template-rows:auto; gap:clamp(48px,8vw,160px); align-items:center; justify-content:space-between; position:static; isolation:auto; }
 .conversion-home .hero-couple .hero-copy { position:relative; z-index:1; align-self:start; padding:28px 0 0; max-width:490px; }
 .conversion-home .hero-couple .hero-copy .display { font-size:clamp(1.95rem,2.68vw,2.55rem); line-height:1.08; color:var(--paper)!important; margin:0 0 18px; letter-spacing:-.035em; }
 .conversion-home .hero-couple .hero-copy .display em { background:transparent; padding:0; border-radius:0; color:var(--brand-fuchsia)!important; text-shadow:0 1px 2px #0005; }
 .conversion-home .hero-couple .hero-title-ending { white-space:normal; }
 .conversion-home .hero-couple .hero-title-tail { display:inline; }
 .conversion-home .hero-couple .hero-copy>.eyebrow { color:var(--paper); margin-bottom:20px; }
 .conversion-home .hero-couple .hero-copy>.eyebrow::before { background:var(--brand-fuchsia); }
 .conversion-home .hero-couple .hero-lead { color:var(--paper); font-size:1.1875rem; font-weight:600; line-height:1.45; margin:0 0 14px; max-width:36ch; }
 .conversion-home .hero-couple .hero-projects { max-width:43ch; color:var(--paper); margin-bottom:12px; }
 .conversion-home .hero-couple .hero-support { max-width:43ch; color:#eee; margin-bottom:16px; }
 .conversion-home .hero-couple .hero-benefits { color:var(--paper); font-size:.875rem; line-height:1.5; margin:0 0 14px; }
 .conversion-home .hero-couple .hero-actions { margin:0; gap:12px; flex-direction:column; align-items:flex-start; flex-wrap:nowrap; }
 .conversion-home .hero-couple .hero-actions .button-callback { color:var(--paper)!important; border-color:var(--paper)!important; background:transparent!important; }
 .conversion-home .hero-couple .hero-actions .button-callback:hover { color:var(--paper)!important; border-color:var(--brand-fuchsia)!important; background:var(--brand-fuchsia)!important; }
 .conversion-home .hero-couple .hero-actions .button-primary { background:var(--brand-fuchsia); border-color:var(--brand-fuchsia); color:var(--paper); }
 .conversion-home .hero-couple .hero-portrait { position:absolute; inset:0; z-index:-1; width:100%; max-width:none; height:100%; min-height:0; aspect-ratio:auto; max-height:none; border-radius:0; margin:0; background:#353431; pointer-events:none; }
 .conversion-home .hero-couple .hero-portrait::after { content:""; position:absolute; inset:0; width:52%; background:linear-gradient(180deg,rgba(10,10,10,.86) 0%,rgba(10,10,10,.82) 58%,rgba(10,10,10,.12) 90%,transparent 100%); mask-image:linear-gradient(90deg,#000 65%,transparent 100%); }
 .conversion-home .hero-couple .hero-portrait picture { display:block; width:100%; height:100%; }
 .conversion-home .hero-couple .hero-portrait img { width:100%; height:100%; object-fit:cover; object-position:right 40%; transform:none; filter:none!important; }
 .conversion-home .hero-couple .hero-widget { position:relative; z-index:1; padding:20px; border:1px solid #e4e4e4; border-radius:22px; box-shadow:0 12px 32px #40343b09; }
 .conversion-home .hero-couple .hero-widget h2 { font-size:1.5rem; line-height:1.25; margin-bottom:8px; }
 .conversion-home .hero-couple .widget-intro { font-size:1rem; line-height:1.4; margin-bottom:12px; }
 .conversion-home .hero-couple .hero-widget .field-grid { gap:10px 12px; }
 .conversion-home .hero-couple .hero-widget input:not([type="checkbox"]),.conversion-home .hero-couple .hero-widget select { min-height:44px; padding:8px 10px; font-size:1rem; }
 .conversion-home .hero-couple .hero-widget .field label { font-size:.875rem; margin-bottom:4px; }
 .conversion-home .hero-couple .hero-widget .consent { font-size:.875rem; line-height:1.4; margin:12px 0; }
 .conversion-home .hero-couple .hero-widget .field:has(#hero-phone),
 .conversion-home .hero-couple .hero-widget .field:has(#hero-email) { grid-column:auto; }
 .conversion-home .hero-couple .hero-widget .contact-origin { margin:12px 0; }
 .conversion-home .hero-couple .hero-widget .privacy-notice,
 .conversion-home .hero-couple .hero-widget .callback-alternative,
 .conversion-home .hero-couple .hero-widget > p:last-child { font-size:.875rem; line-height:1.4; margin:10px 0 0; }
 .conversion-home .hero-couple .hero-widget .button { min-height:44px; padding:10px 12px; }
}

@media (min-width:601px) and (max-width:1199px) {
 .conversion-home .hero-couple .hero-projects, .conversion-home .hero-couple .hero-support { color:var(--ink2); }
}

/* A compact promise beside the introduction, and reassurance before submission. */
.conversion-home .hero-couple .hero-study-badge {
 display:inline-flex; align-items:center; gap:10px; max-width:100%;
 padding:10px 14px; border:1px solid var(--brand-fuchsia); border-radius:12px;
 background:var(--paper); color:var(--ink2); font-size:.875rem; line-height:1.45; margin:0 0 20px;
}
.conversion-home .hero-couple .hero-study-badge > span:first-child {
 display:inline-flex; align-items:center; justify-content:center; flex:0 0 24px;
 width:24px; height:24px; border-radius:50%; background:var(--brand-fuchsia); color:var(--paper); font-weight:800;
}
.conversion-home .hero-couple .hero-widget .hero-form-reassurance {
 margin:0 0 12px; padding:10px 0; border-top:1px solid #e4e4e4;
 font-size:.875rem; line-height:1.45; color:var(--ink2);
}
.conversion-home .hero-couple .hero-form-reassurance strong { font-weight:700; }
@media (min-width:1200px) {
 .conversion-home .hero-couple .hero-summary { font-size:1.125rem; font-weight:400; line-height:1.65; max-width:42ch; margin-bottom:24px; }
 .conversion-home .hero-couple .hero-study-badge { background:rgba(20,16,20,.6); color:var(--paper); border-color:rgba(255,255,255,.45); }
}

/* Homepage journey: compact referral fields, visible review access and clear next steps. */
.home-optional { margin:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-optional summary { cursor:pointer; padding:12px 0; font-size:.875rem; line-height:1.5; font-weight:600; }
.home-optional summary span { font-weight:400; }
.home-optional summary:focus-visible { outline:2px solid var(--brand-fuchsia); outline-offset:3px; }
.home-review-strip { padding:30px 0; background:var(--paper); border-bottom:1px solid var(--line); }
.home-review-strip .container,.home-budget .container { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.home-review-strip .eyebrow { margin:0 0 6px; }
.home-review-strip h2 { font-size:1.5rem; line-height:1.3; margin:0 0 8px; }
.home-review-strip p { margin:0; }
.home-review-strip .button { flex-shrink:0; }
.home-steps { list-style:none; padding:0; margin:28px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.home-steps li { border-top:2px solid var(--brand-fuchsia); padding-top:20px; }
.home-steps .step-number { display:block; font-size:.875rem; font-weight:800; color:var(--brand-fuchsia); margin-bottom:12px; }
.home-steps h3 { font-size:1.25rem; line-height:1.3; margin:0 0 12px; }
.home-steps p { margin:0; font-size:1rem; line-height:1.65; }
.home-budget .container > div:first-child { max-width:660px; }
.home-budget .section-title { margin-bottom:16px; }
.home-budget-note { font-size:.875rem; color:var(--muted); }
.home-budget-actions { display:flex; flex-direction:column; align-items:flex-start; gap:16px; flex-shrink:0; }
@media(max-width:800px) { .home-review-strip .container,.home-budget .container { flex-direction:column; align-items:flex-start; gap:20px; } .home-steps { grid-template-columns:1fr; gap:24px; } }

/* Desktop homepage rhythm: clear hierarchy and compact, readable sections. */
@media (min-width:1200px) {
 .conversion-home main > .section { padding-block:56px; }
 .conversion-home main .section-title { font-size:2rem; line-height:1.18; max-width:720px; letter-spacing:-.025em; }
 .conversion-home .section-head { gap:40px; margin-bottom:28px; }
 .conversion-home .section-head > p { font-size:1rem; line-height:1.6; }
 .conversion-home .home-review-strip { padding-block:20px; }
 .conversion-home .home-review-strip h2 { font-size:1.25rem; margin-bottom:4px; }
 .conversion-home .home-review-strip .eyebrow { font-size:.875rem; }
 .conversion-home .hero-couple .hero-widget { padding:18px; }
 .conversion-home .hero-couple .hero-widget > .eyebrow { margin-bottom:10px; }
 .conversion-home .hero-couple .hero-widget .widget-intro { margin:0 0 10px; }
 .conversion-home .hero-couple .hero-widget .field-grid { gap:8px 12px; }
 .conversion-home .hero-couple .hero-widget .home-optional { margin:8px 0; }
 .conversion-home .hero-couple .hero-widget .home-optional summary { padding:8px 32px 8px 0; min-height:44px; }
 .conversion-home .hero-couple .hero-widget .consent { margin:8px 0; }
 .conversion-home .hero-couple .hero-widget .hero-form-reassurance { padding:8px 0; margin:0 0 8px; }
 .conversion-home #solutions .service-grid { gap:24px; }
 .conversion-home #solutions .service-card { display:flex; flex-direction:column; min-width:0; min-height:0; padding:0 20px 20px; }
 .conversion-home #solutions .service-card .service-photo { width:calc(100% + 40px); max-width:none; margin:0 -20px; height:165px!important; aspect-ratio:auto!important; object-fit:cover!important; }
 .conversion-home #solutions .service-card h3 { font-size:1.25rem; line-height:1.3; margin:18px 0 10px; }
 .conversion-home #solutions .service-card p { font-size:1rem; line-height:1.55; margin:0 0 14px; }
 .conversion-home #solutions .service-card > .text-link { margin-top:auto; min-height:44px; }
 .conversion-home #solutions .service-card > p:last-child:has(.text-link) { margin:0; }
 .conversion-home .home-steps { gap:28px; margin:24px 0; }
 .conversion-home #nos-partenaires .insurance-partners-grid { gap:12px; margin:10px 0 0; padding:4px 2px 10px; }
 .conversion-home #nos-partenaires .insurance-partner { flex:0 0 158px; min-height:110px; padding:12px; gap:8px; }
 .conversion-home #nos-partenaires .insurance-partner img { width:124px; height:48px; object-fit:contain; }
 .conversion-home #nos-partenaires .insurance-partner span { font-size:.875rem; line-height:1.35; }
 .conversion-home #nos-partenaires .partner-strip-controls { margin:4px 0 12px; }
 .conversion-home #nos-partenaires .home-insurance-partners { margin:18px 0; }
 .conversion-home #nos-partenaires h3 { margin:0 0 8px; font-size:1.125rem; }
 .conversion-home #nos-partenaires .partner-links { gap:12px 24px; margin-top:12px; }
 .conversion-home main > .home-budget { padding-block:32px; border-block:1px solid var(--line); }
 .conversion-home .home-budget .container { gap:40px; }
 .conversion-home .home-budget .section-title { font-size:1.75rem; margin-bottom:12px; }
 .conversion-home .home-budget .eyebrow { margin-bottom:10px; }
 .conversion-home .home-budget p { margin:0 0 10px; }
 .conversion-home .home-budget .home-budget-note { margin-bottom:0; }
 .conversion-home .home-advice-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:none; margin:24px 0; }
 .conversion-home .home-advice-row { grid-template-columns:minmax(0,1fr) 24px; grid-template-rows:auto 1fr; align-items:start; gap:16px; padding:0 0 16px; border-top:0; }
 .conversion-home .home-advice-row img { grid-column:1/-1; width:100%; height:150px; object-fit:cover; }
 .conversion-home .home-advice-row h3 { font-size:1.125rem; line-height:1.4; }
 .conversion-home .cta-band { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:40px; padding:40px max(24px,calc((100% - 1160px)/2)); }
 .conversion-home .cta-band > .container { width:100%; max-width:none; margin:0; padding:0; min-width:0; }
 .conversion-home .cta-band .final-photo { display:block; width:100%; max-width:none; height:320px!important; object-fit:cover!important; object-position:center 40%; margin:0; border-radius:18px; }
 .conversion-home .cta-band .cta-grid { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
 .conversion-home .cta-band h2 { font-size:2rem; line-height:1.2; letter-spacing:-.025em; }
 .conversion-home .cta-band p { font-size:1rem; line-height:1.6; margin:16px 0 0; }
 .conversion-home .cta-band .cta-actions { justify-content:flex-start; gap:12px; }
 .conversion-home .existing-client-links { padding-block:16px; }
 .conversion-home .regulatory-redesign { padding:28px; margin-top:28px; margin-bottom:32px; }
 .conversion-home .regulatory-redesign .regulatory-heading { padding-bottom:18px; margin-bottom:20px; }
 .conversion-home .regulatory-redesign .regulatory-heading h2 { font-size:1.75rem; line-height:1.2; }
 .conversion-home .regulatory-heading h2 br { display:none; }
 .conversion-home .regulatory-redesign .regulatory-logos { margin-bottom:20px; }
 .conversion-home .regulatory-redesign .regulatory-logos > a { flex-direction:row; align-items:center; gap:16px; padding:14px; }
 .conversion-home .regulatory-redesign .regulatory-identity { padding-top:20px; gap:24px; }
}

/* More presence for the desktop introduction without adding copy. */
.conversion-home .hero-couple .hero-study-label > span { display:block; }
@media (min-width:1200px) {
 .conversion-home .hero-couple .hero-copy { padding-top:52px; max-width:550px; }
 .conversion-home .hero-couple .hero-copy .display { font-size:clamp(2.24rem,3.08vw,2.93rem); margin-bottom:28px; line-height:1.1; }
 .conversion-home .hero-couple .hero-summary { font-size:1.1875rem; line-height:1.65; max-width:42ch; margin-bottom:28px; }
 .conversion-home .hero-couple .hero-study-badge { padding:14px 18px; gap:12px; margin-bottom:28px; font-size:1rem; line-height:1.5; }
 .conversion-home .hero-couple .hero-study-badge > span:first-child { width:30px; height:30px; flex-basis:30px; }
 .conversion-home .hero-couple .hero-study-label > span:first-child { font-weight:700; }
 .conversion-home .hero-couple .hero-study-label > span:last-child { font-size:.9375rem; }
}

@media (min-width:1200px) {
 .conversion-home .hero-couple .hero-summary { max-width:44ch; line-height:1.6; margin-bottom:20px; }
 .conversion-home .hero-couple .hero-support { font-size:1.0625rem; line-height:1.55; margin-bottom:24px; color:var(--paper); }
 .conversion-home .hero-couple .hero-support strong { font-weight:700; }
}

/* Keep both faces in view within the compact advice thumbnail. */
.conversion-home .home-advice-row img[src="assets/photo-immobilier.webp"]{object-position:center top}

/* Preserve the flowers without changing the shared card dimensions. */
.conversion-home #solutions .service-card .service-photo[src*="assurance-emprunteur-protection"]{object-position:center top}

/* Align advice icons with the first title line on desktop. */
.conversion-home .home-advice-row>.advice-arrow{display:flex;align-items:center;justify-content:center;font-size:1.125rem;line-height:1.4;height:1.4em}
.conversion-home .advice-arrow svg{display:block;width:20px;height:20px;flex:none}

/* Keep the reviews link readable across the changing tones of the hero photograph. */
@media (min-width:1200px){
 .conversion-home .hero-couple .hero-review-proof{width:fit-content;max-width:min(34rem,100%);padding:10px 14px;border-radius:12px;background:var(--ink2);color:var(--paper);text-shadow:none}
 .conversion-home .hero-couple .hero-review-proof a{color:var(--paper);text-decoration:underline;text-underline-offset:4px}
 .conversion-home .hero-couple .hero-review-proof a:hover{color:var(--paper);text-decoration-thickness:2px}
 .conversion-home .hero-couple .hero-review-proof a:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
}

/* desktop-layout.css */
/* Shared desktop rhythm; homepage keeps its established composition. */
@media(min-width:1200px){
 body:not(.conversion-home) main > .section{padding-block:52px}
 body:not(.conversion-home) main .section-title,
 body:not(.conversion-home) main .content-block h2,
 body:not(.conversion-home) main .cta-band h2{font-size:clamp(2rem,2.2vw,2.25rem);line-height:1.22;letter-spacing:-.025em}
 body:not(.conversion-home) main .section-head{gap:32px;margin-bottom:28px;align-items:center}
 body:not(.conversion-home) main .section-head > p{font-size:1rem;line-height:1.6}
 body:not(.conversion-home) main > .page-hero{padding-block:40px}
 body:not(.conversion-home) main .info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 body:not(.conversion-home) main .info-card{display:flex;flex-direction:column;min-width:0;padding:24px}
 body:not(.conversion-home) main .info-card > .text-link{margin-top:auto;padding-top:16px}
 body:not(.conversion-home) main .info-card > b{width:34px;height:34px;margin-bottom:16px;flex-shrink:0}
 body:not(.conversion-home) main .info-card p{font-size:1rem;line-height:1.6}
 body:not(.conversion-home) main > .cta-band{padding-block:40px}
 body:not(.conversion-home) main .cta-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px}
 body:not(.conversion-home) main .cta-actions{align-items:stretch;gap:12px}
 body:not(.conversion-home) main .cta-actions .button{white-space:normal;text-align:center;max-width:100%}
 .regulatory-redesign{padding:28px;margin-top:28px;margin-bottom:32px}
 .regulatory-redesign .regulatory-heading{padding-bottom:18px;margin-bottom:20px}
 .regulatory-redesign .regulatory-heading h2{font-size:1.75rem;line-height:1.25}
 .regulatory-redesign .regulatory-heading h2 br{display:none}
 .regulatory-redesign .regulatory-logos{margin-bottom:20px}
 .regulatory-redesign .regulatory-logos > a{flex-direction:row;align-items:center;gap:14px;padding:14px}
 .regulatory-redesign .regulatory-logos img{flex:0 0 86px;width:86px;height:44px}
 .regulatory-redesign .regulatory-identity{padding-top:20px;gap:24px}
 .prescribers-page .partner-access{margin-top:22px}
 .prescribers-page .professions-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 .prescribers-page .professions-grid > article{grid-column:span 2}
 .prescribers-page .professions-grid > article:nth-last-child(-n+2){grid-column:span 3}
 .prescribers-page .partner-framework{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .prescribers-page .partner-framework .narrow{width:min(1180px,calc(100% - 44px));display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);gap:12px 36px}
 .prescribers-page .partner-framework h2{grid-row:span 2;font-size:1.5rem;line-height:1.3;margin:0}
 .prescribers-page .partner-framework p{font-size:1rem;line-height:1.65;margin:0}
}
@media(min-width:1281px){
 .site-header .header-inner{gap:clamp(10px,1.2vw,18px)}
 .site-header .main-nav{min-width:0;gap:clamp(6px,.7vw,12px)}
 .site-header .nav-actions{flex-shrink:0}
 .site-header .header-cta{white-space:normal;text-align:center;max-width:190px;padding-inline:18px}
}

/* Compact team cards and balanced sitewide navigation. */
.compact-footer .footer-quick,.compact-footer .footer-legal{display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid var(--line);padding-block:14px}
.compact-footer .footer-quick a,.compact-footer .footer-legal a{display:inline-flex;align-items:center;min-height:36px;font-size:.875rem;line-height:1.5;color:var(--muted)}
.compact-footer .footer-quick a{font-weight:650;color:var(--brand-gray)}
.compact-footer .footer-quick a:hover,.compact-footer .footer-legal a:hover{color:var(--brand-fuchsia);text-decoration:underline}
.compact-footer a:focus-visible{outline:2px solid var(--brand-fuchsia);outline-offset:3px}
.compact-footer .footer-logo{width:400px;max-width:100%;height:auto;margin:0;mix-blend-mode:normal}
@media(min-width:1200px){
 .about-team-grid.team-directory{grid-template-columns:repeat(2,minmax(0,440px));gap:28px;align-items:stretch}
 .team-directory .team-founder-photo .founder-portrait{height:360px;aspect-ratio:auto;object-fit:contain;object-position:center;background:var(--surface-subtle)}
 .team-directory #anthony-vitale .founder-portrait{object-position:center}
 .team-directory #jessica-ciani .founder-portrait{object-position:center}
 .team-directory #hamza-asly .founder-portrait{object-position:center}
 .team-directory .team-founder-photo>div{padding:22px;display:flex;flex-direction:column;flex:1}
 .team-directory .team-founder-photo h3{font-size:1.4rem}
 .team-directory .team-contact{margin-top:auto;padding-top:6px}
 .team-directory .team-support{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:4px}
 .team-directory .team-support h3{font-size:1.25rem;margin:0 0 10px}
 .team-directory .team-support p{font-size:1rem;line-height:1.6;margin:0;max-width:60ch}
 .team-directory .team-support>.button{flex-shrink:0}
 body[data-page="about"] #avis-clients{padding-block:30px}
 .compact-footer{padding:32px 0 18px}
 .compact-footer .footer-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.85fr) minmax(0,1fr);gap:28px;padding-bottom:22px}
 .compact-footer .footer-col h3{margin:0 0 12px}
 .compact-footer .footer-col a{margin:0;padding:5px 0;min-height:30px;line-height:1.45}
 .compact-footer .footer-about p{margin:12px 0 0;font-size:.875rem;line-height:1.6}
 .compact-footer .footer-bottom{padding-top:14px}
 .compact-footer .footer-bottom>div{gap:20px;flex-wrap:wrap}
}
@media(max-width:1199px){.team-support>.button{margin-top:16px}.compact-footer .footer-quick a,.compact-footer .footer-legal a{min-height:44px}}

/* Compact mobile footer; retain the original desktop columns. */
.compact-footer .footer-section-toggle[hidden],.compact-footer .footer-section-title[hidden],.compact-footer .footer-section-links[hidden]{display:none}
@media(max-width:700px){
 .site-footer.compact-footer{padding:26px 0 18px}
 .compact-footer .footer-grid{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:8px}
 .compact-footer .footer-about{padding-bottom:20px}
 .compact-footer .footer-logo{width:260px;max-width:100%;height:auto}
 .compact-footer .footer-about p{margin:10px 0 0;font-size:.875rem;line-height:1.5}
 .compact-footer .footer-desktop-description{display:none}
 .compact-footer .footer-col{padding:0;border-top:1px solid var(--line)}
 .compact-footer .footer-col h3{margin:0;font-size:1rem}
 .compact-footer .footer-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;padding:12px 0;background:transparent;border:0;border-radius:0;color:var(--ink);font:inherit;font-weight:750;text-align:left;cursor:pointer}
 .compact-footer .footer-section-toggle::after{content:'+';color:var(--pink);font-size:1.4rem;font-weight:600}
 .compact-footer .footer-section-toggle[aria-expanded="true"]::after{content:'−'}
 .compact-footer .footer-section-toggle:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
 .compact-footer .footer-section-links{padding-bottom:12px}
 .compact-footer .footer-col a{display:flex;align-items:center;min-height:44px;margin:0;padding:8px 0;font-size:.875rem;line-height:1.5}
 .compact-footer .footer-quick,.compact-footer .footer-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;padding-block:12px}
 .compact-footer .footer-quick a,.compact-footer .footer-legal a{min-width:0;min-height:44px;padding:6px 0;font-size:.875rem;line-height:1.45}
 .compact-footer .footer-bottom{margin-top:0;padding-top:14px;font-size:.8125rem;line-height:1.5}
 .compact-footer .footer-bottom>div{display:flex;flex-direction:column;gap:6px}
}

/* navigation.css */
/* Shared navigation: clear hierarchy, compact desktop header, touch-safe panels. */
#site-header .site-header{background:var(--paper);border-bottom:1px solid #e4e4e4;box-shadow:0 3px 12px #35252e05}
#site-header .header-inner{width:calc(100% - 64px);max-width:1440px;margin-inline:auto}
#site-header .logo{flex-shrink:0}
#site-header .logo img{display:block;object-fit:contain}
#site-header .nav-chevron{display:block;flex-shrink:0;transition:transform .18s}
#site-header [aria-expanded=true]>.nav-chevron{transform:rotate(180deg)}
#site-header .solutions-links[hidden]{display:none!important}
#site-header .solution-group h2{font-family:inherit;font-size:.875rem;font-weight:750;line-height:1.4;margin:0 0 12px;color:var(--brand-fuchsia)}
#site-header .solution-children{margin:0;padding:0;border:0}
#site-header .solutions-links a{white-space:normal;text-decoration:none}
#site-header .solutions-links a:focus-visible,#site-header .nav-item:focus-visible{outline:2px solid var(--brand-fuchsia);outline-offset:2px}
@media(min-width:1281px){
 #site-header .header-inner{height:88px;gap:24px}
 #site-header .logo img{width:218px;height:auto;max-height:82px}
 #site-header .main-nav{gap:20px;margin-left:auto}
 #site-header .nav-item{position:relative;display:flex;align-items:center;font-size:.9375rem;font-weight:650;line-height:1.4;padding:14px 0;color:#29262a;white-space:nowrap}
 #site-header .nav-item:after{content:'';display:block;position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--brand-fuchsia);transform:scaleX(0);transform-origin:left;transition:transform .18s}
 #site-header .nav-item:hover:after,#site-header .nav-item.active:after{transform:scaleX(1)}
 #site-header .nav-item.active{color:var(--brand-fuchsia)}
 #site-header .nav-section-heading{gap:0}
 #site-header .nav-section-toggle{min-width:24px;min-height:44px;padding:0 0 0 6px}
 #site-header .solutions-toggle{gap:8px}
 #site-header .nav-actions{flex-shrink:0;margin-left:12px}
 #site-header .nav-actions .header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:24px;font-size:.875rem;line-height:1.3;max-width:none;white-space:nowrap}
 #site-header .solutions-links{top:calc(100% + 6px);left:-16px;min-width:280px;padding:12px;border-radius:14px;border:1px solid #e2e2e2;box-shadow:0 16px 40px #35252e18;background:var(--paper);color:#29262a}
 #site-header .solutions-links a{padding:10px 12px;font-size:.9375rem;line-height:1.45;border-radius:7px;min-height:42px}
 #site-header .solutions-links a:hover,#site-header .solutions-links a[aria-current=page]{color:var(--brand-fuchsia);background:var(--surface-subtle)}
 #site-header #solutions-links{display:grid;grid-template-columns:1.2fr 1fr 1fr;width:760px;left:-160px;gap:20px;padding:24px;max-height:calc(100dvh - 155px);overflow-y:auto;white-space:normal}
 #site-header #solutions-links .solution-group{margin:0;padding:0;border:0;min-width:0}
 #site-header #solutions-links .solution-group+.solution-group{border-left:1px solid #e7e7e7;padding-left:20px}
 #site-header #solutions-links .solution-group h2{padding-left:12px}
 #site-header .nav-section:last-of-type>.solutions-links{left:auto;right:0}
}
@media(min-width:1281px) and (max-width:1500px){
 #site-header .main-nav{gap:12px}
 #site-header .header-inner{gap:18px}
 #site-header .logo img{width:200px}
}
@media(max-width:1280px){
 #site-header .main-nav{background:var(--paper);color:#29262a}
 #site-header .nav-section-heading,#site-header .main-nav>.nav-item{border-color:#e4e4e4}
 #site-header .main-nav .nav-item{color:#29262a}
 #site-header .main-nav .nav-item.active{color:var(--brand-fuchsia)}
 #site-header .main-nav .solutions-links{background:#f7f7f7;color:#29262a;padding:12px;margin:0 0 12px;border:0;border-radius:10px}
 #site-header .main-nav .solutions-links a{color:#494149;min-height:44px}
 #site-header .main-nav .solutions-links a:hover,#site-header .main-nav .solutions-links a[aria-current=page]{color:var(--brand-fuchsia);background:#e9e9e9}
 #site-header .main-nav .solution-group{padding:8px 0;margin:0;border:0}
 #site-header .main-nav .solution-group+.solution-group{border-top:1px solid #dfdfdf;padding-top:16px}
 #site-header .main-nav .solution-group h2{margin:0 0 4px;padding-left:8px}
 #site-header .solutions-toggle{justify-content:space-between}
 #site-header .nav-section-toggle{color:#494149}
}
@media(max-width:600px){#site-header .header-inner{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){#site-header .nav-chevron,#site-header .nav-item:after{transition:none}}

/* Keep the fixed touch menu in viewport coordinates, including rotation. */
@media(max-width:1280px){
 #site-header .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
 #site-header .main-nav{top:var(--mobile-menu-top,114px);height:var(--mobile-menu-height,calc(100dvh - 114px));max-height:var(--mobile-menu-height,calc(100dvh - 114px));overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(32px,env(safe-area-inset-bottom))}
 #site-header .main-nav>*{flex-shrink:0}
 #site-header .menu-toggle{position:relative}
 #site-header .menu-toggle span{position:absolute;left:13px;width:20px;height:2px;margin:0;top:22px}
 #site-header .menu-toggle span:nth-child(1){transform:translateY(-7px)}
 #site-header .menu-toggle span:nth-child(3){transform:translateY(7px)}
 #site-header .menu-toggle[aria-expanded=true] span:nth-child(1){transform:rotate(45deg)}
 #site-header .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 #site-header .menu-toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}
}

@media(max-width:1280px){#site-header .main-nav .solutions-toggle{border-bottom:1px solid #e4e4e4}}
/* Restore the original compact-menu palette without affecting desktop. */
@media(max-width:1280px){
 #site-header .main-nav{background:var(--brand-gray);color:var(--paper)}
 #site-header .main-nav .nav-item,#site-header .main-nav .nav-item.active,#site-header .nav-section-toggle{color:var(--paper)}
 #site-header .nav-section-heading,#site-header .main-nav>.nav-item,#site-header .main-nav .solutions-toggle{border-color:rgba(255,255,255,.24)}
 #site-header .main-nav .solutions-links{background:#484744;color:var(--paper)}
 #site-header .main-nav .solutions-links a{color:var(--paper)}
 #site-header .main-nav .solution-group h2{color:var(--paper)}
 #site-header .main-nav .solution-group+.solution-group{border-color:rgba(255,255,255,.24)}
 #site-header .main-nav .solutions-links a:hover,#site-header .main-nav .solutions-links a[aria-current=page]{background:var(--paper);color:var(--brand-fuchsia)}
}
/* Brand accents and readable group labels in the compact menu. */
@media(max-width:1280px){
 #site-header .main-nav .solutions-links{border-left:3px solid var(--brand-fuchsia);border-radius:0 10px 10px 0;padding:12px 14px}
 #site-header .main-nav .solution-group h2{color:var(--paper)!important;font-size:.9375rem;font-weight:800;letter-spacing:.035em;margin:0 0 10px;padding:6px 8px 6px 12px;border-left:3px solid var(--brand-fuchsia)}
 #site-header .main-nav .solution-group+.solution-group{padding-top:18px;margin-top:10px}
 #site-header .main-nav .solutions-links a{line-height:1.45;padding:10px 8px}
}

/* Health audiences remain a compact, keyboard-accessible submenu. */
#site-header .mutuelle-nav summary{cursor:pointer;padding:10px 12px;font-size:1rem;font-weight:650;line-height:1.45;color:inherit}
#site-header .mutuelle-nav>div{border-left:2px solid var(--brand-fuchsia);margin:4px 0 8px 12px;padding-left:8px}
#site-header .mutuelle-nav summary:focus-visible{outline:2px solid var(--brand-fuchsia);outline-offset:2px}
@media(max-width:1280px){#site-header .mutuelle-nav summary{color:var(--paper)}}

/* Product-first navigation: two universes, direct links, touch accordions. */
#site-header .topbar-links{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap}
#site-header .topbar-links>a{font-size:.875rem;line-height:1.4}
#site-header .product-panel a{display:block;min-width:0}
#site-header .product-panel a small{display:block;font-size:.875rem;line-height:1.4;margin-top:4px;color:inherit;font-weight:400}
#site-header .insurance-menu-group{min-width:0;border:0}
#site-header .insurance-menu-group summary{font-family:inherit;font-size:1rem;font-weight:750;line-height:1.4;padding:10px 8px;letter-spacing:0;cursor:pointer}
#site-header .insurance-menu-group summary:focus-visible{outline:2px solid var(--brand-fuchsia);outline-offset:2px}
@media(min-width:1281px){
 #site-header .product-menu{position:static}
 #site-header .header-inner{position:relative}
 #site-header .product-panel{background:var(--surface-neutral);border-left:3px solid var(--brand-fuchsia);max-height:calc(100dvh - 170px);overflow-y:auto}
 #site-header #credit-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;width:680px;left:240px;padding:24px}
 #site-header #solutions-links{left:auto;right:0;width:min(880px,100%);grid-template-columns:1fr 1fr 1.3fr;background:var(--surface-neutral);border-left:3px solid var(--brand-fuchsia)}
 #site-header .insurance-menu-group summary{color:var(--brand-fuchsia);list-style:none;cursor:default}
 #site-header .insurance-menu-group summary::-webkit-details-marker{display:none}
 #site-header .insurance-menu-group summary:after{display:none}
 #site-header .insurance-menu-group+.insurance-menu-group{border-left:1px solid var(--border-control);padding-left:16px}
}
@media(max-width:1280px){
 #site-header #credit-links{display:block}
 #site-header .product-panel a small{display:none}
 #site-header .insurance-menu-group summary{color:var(--paper);min-height:44px;padding:14px 8px}
 #site-header .insurance-menu-group+.insurance-menu-group{border-top:1px solid #ffffff35}
 #site-header .insurance-menu-group .solution-children{padding-left:12px;border-left:2px solid var(--brand-fuchsia);margin:0 0 12px 8px}
}
@media(max-width:600px){
 #site-header .topbar-links{gap:14px;justify-content:center}
 #site-header .topbar-inner{justify-content:center;padding-block:8px}
 #site-header .topbar-links .client-access{padding:7px 10px}
}

/* Client access sits inside the touch menu; keep the header to one row. */
#site-header .mobile-client-access,#site-header .desktop-client-access{display:none}
#site-header .client-access.mobile-client-access,#site-header .client-access.desktop-client-access{align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #737477;border-radius:999px;background:#fff;color:#333438;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap}
#site-header .client-access:hover{background:#f0f0f0;color:#333438}
#site-header .client-access:focus-visible{outline:3px solid #c21b77;outline-offset:3px}
@media(max-width:1280px){
 #site-header .topbar{display:none}
 #site-header .mobile-client-access{display:inline-flex!important;align-self:flex-start;margin-bottom:20px}
}

/* Compact desktop dropdowns. Header gradients remain controlled by hero styles. */
@media(min-width:1281px){
 #site-header .solutions-links{padding:10px;border:1px solid #dedee0;border-radius:14px;background:#fff;box-shadow:0 10px 28px #00000018;max-height:calc(100dvh - 150px);overflow-y:auto}
 #site-header .solutions-links a{display:block;min-height:44px;padding:10px 12px;font-size:.9375rem;line-height:1.4;color:#333438}
 #site-header .solutions-links a:hover,#site-header .solutions-links a:focus-visible,#site-header .solutions-links a[aria-current=page]{background:#f1f1f2;color:var(--brand-fuchsia)}
 #site-header .product-panel a small{font-size:.875rem;line-height:1.4;margin-top:3px;color:#58595b}
 #site-header .product-panel a span{font-weight:650}
 #site-header .product-menu:has(>#credit-links){position:relative}
 #site-header #credit-links{width:min(680px,calc(100vw - 64px));left:0;right:auto;gap:4px 16px;padding:16px;background:#fff;border:1px solid #dedee0}
 #site-header #solutions-links{width:min(1120px,100%);left:auto;right:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px;background:#fff;border:1px solid #dedee0}
 #site-header .insurance-menu-group summary{font-size:.9375rem;line-height:1.4;padding:0 10px 10px;margin:0;color:var(--brand-fuchsia)}
 #site-header .insurance-menu-group+.insurance-menu-group{padding-left:16px;border-left:1px solid #e4e4e4}
 #site-header .insurance-menu-group .solution-children a{font-weight:500}
 #site-header .insurance-menu-group .solution-children a span{font-weight:500}
}
@media(min-width:1281px) and (max-width:1500px){
 #site-header #solutions-links{width:min(760px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 #site-header .insurance-menu-group:nth-child(3){padding-left:0;border-left:0}
}
/* Touch navigation uses the same anthracite palette as the page sections. */
@media(max-width:1280px){
 #site-header .main-nav{background:#333438}
 #site-header .main-nav .solutions-links{background:#252629}
 #site-header .main-nav summary:after{color:#ef85bb}
}
/* More breathing room for primary navigation without shrinking its labels. */
@media(min-width:1281px){
 #site-header .main-nav{gap:26px}
 #site-header .nav-actions{padding-left:20px;margin-left:8px;border-left:1px solid #77777745;gap:16px}
 #site-header .nav-actions .header-cta{padding-inline:16px}
}
@media(min-width:1281px) and (max-width:1500px){
 #site-header .main-nav{gap:18px}
 #site-header .header-inner{gap:16px}
 #site-header .logo img{width:180px}
 #site-header .nav-actions{padding-left:14px;gap:12px;margin-left:0}
 #site-header .nav-actions .header-cta{padding-inline:14px}
}

/* components.css */
/* Shared presentation rules; photo geometry remains defined by its existing component. */
:root{--cv-title-leading:1.2;--cv-control-radius:999px;--cv-section-gap:clamp(32px,4vw,52px)}
body:not([data-page="home"]) main>.section{padding-block:var(--cv-section-gap)}
main h1,main h2,main h3{overflow-wrap:break-word;text-wrap:balance}
main h1 em,main h2 em{font-style:normal}
main .button{max-width:100%;white-space:normal;text-align:center;line-height:1.4;border-radius:var(--cv-control-radius)}
main .button:focus-visible,main .text-link:focus-visible{outline:3px solid var(--brand-fuchsia);outline-offset:4px}
.panorama-hero .solution-hero-copy .hero-topic{font-size:.875rem!important;font-weight:750;letter-spacing:.06em;line-height:1.5;margin:0 0 14px;color:white!important}
.panorama-hero .solution-hero-copy h1{line-height:var(--cv-title-leading)}
.insurance-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.insurance-choice-grid .info-card{display:flex;flex-direction:column;gap:14px;min-width:0}
.insurance-choice-grid .info-card h3,.insurance-choice-grid .info-card p{margin:0}
.insurance-choice-grid .info-card>.text-link{margin-top:auto}
.insurance-choice-grid .info-card>.button{align-self:flex-start}
@media(max-width:700px){.insurance-choice-grid{grid-template-columns:1fr}}

.solution-tools{padding:28px 0;border-bottom:1px solid var(--line,#e0e0e0)}.solution-tools h2{font-size:1.3rem;line-height:1.4;margin:0 0 16px}.solution-tools .protection-actions{margin:0;display:flex;flex-wrap:wrap;gap:12px}.solution-tools .button{white-space:normal;min-height:44px}.solution-tools p{margin:16px 0 0;font-size:1rem}@media(max-width:600px){.solution-tools .protection-actions{display:grid;grid-template-columns:1fr}.solution-tools .button{width:100%;text-align:center}}

/* reviews.css */
/* Native horizontal scrolling remains available without JavaScript. */
#avis-clients.cv-reviews{padding:36px 0;background:var(--surface-light)}
#avis-clients.cv-reviews>.container{display:block}
.cv-reviews-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}
.cv-reviews-head h2{font-size:clamp(1.5rem,2.2vw,2rem);margin:0 0 10px}
.cv-reviews-head p{margin:0}.cv-reviews-head .eyebrow{margin-bottom:10px}
.cv-reviews-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:none;scroll-behavior:auto;list-style:none;margin:0;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:var(--brand-fuchsia) #eee;overscroll-behavior-x:contain}
.cv-review-card{box-sizing:border-box;flex:0 0 calc((100% - 40px)/3);min-width:0;display:flex;flex-direction:column;gap:14px;padding:24px;background:white;border:1px solid #dedede;border-radius:18px;scroll-snap-align:start}
.cv-review-stars{color:#a21768;letter-spacing:3px;font-size:1.15rem}
.cv-review-card blockquote{margin:0;font-size:1rem;line-height:1.65}.cv-review-card blockquote p{margin:0}
.cv-review-author{margin-top:auto;display:grid;gap:8px;font-size:.9375rem}.cv-review-author a{color:#a21768;text-underline-offset:3px;font-size:.875rem}
.cv-reviews-controls{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:10px}.cv-reviews-controls[hidden]{display:none}
.cv-reviews-controls button{font:inherit;color:#58595b;background:white;border:1px solid #d0d0d0;border-radius:999px;min-height:44px;min-width:44px;padding:9px 15px;cursor:pointer}
.cv-review-position{font-size:.875rem;color:#58595b;min-width:65px;text-align:right}
.cv-reviews button:focus-visible,.cv-reviews a:focus-visible,.cv-reviews-track:focus-visible{outline:3px solid var(--brand-fuchsia);outline-offset:3px}
@media(max-width:1000px){.cv-review-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:650px){.cv-review-card{flex-basis:100%;padding:20px}.cv-reviews-head{display:block}.cv-reviews-head>.text-link{display:inline-block;margin-top:14px}.cv-reviews-controls{justify-content:center}.cv-review-position{min-width:auto}}
@media(prefers-reduced-motion:reduce){.cv-reviews-track{scroll-behavior:auto}}

/* Compact review excerpts; full testimonials remain linked on Google. */
#avis-clients.cv-reviews{padding-block:24px}
.cv-reviews-head{margin-bottom:14px}
.cv-reviews-head p:not(.eyebrow){font-size:.875rem}
.cv-reviews-track{padding-bottom:4px;scrollbar-width:none}
.cv-reviews-track::-webkit-scrollbar{display:none}
.cv-review-card{padding:18px;gap:10px;border-radius:14px}
.cv-review-card blockquote p{font-size:.9375rem;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.cv-review-stars{font-size:1rem;letter-spacing:2px}
.cv-review-author{gap:4px;font-size:.875rem}
.cv-review-author a{font-size:.8125rem}
.cv-reviews-controls button{font-size:.8125rem;padding:7px 12px}

/* mobile-tablet-hero.css */
/* Small screens only: photograph first, readable copy on a light background. */
@media(max-width:1199px){
 body main>.panorama-hero{display:flex;flex-direction:column;padding:0 0 28px;background:var(--soft);color:var(--ink2);isolation:auto}
 .panorama-hero:before{display:none}
 .panorama-hero>.solution-hero-photo{position:static;inset:auto;order:0;z-index:auto;width:100%;height:auto;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0;margin:0;filter:none}
 .panorama-hero>.container{order:1;padding-top:24px}
 .panorama-hero .page-hero-grid{display:block;min-height:0}
 .panorama-hero .solution-hero-copy{width:100%;max-width:none;padding:0}
 .panorama-hero .solution-hero-copy h1{color:var(--brand-gray)!important;font-size:clamp(1.9rem,4vw,2.5rem)}
 .panorama-hero .solution-hero-copy h1 em{color:var(--brand-fuchsia)!important}
 .panorama-hero .solution-hero-copy>p,.panorama-hero .solution-hero-copy .solution-reassurance,.panorama-hero .solution-hero-copy .hero-topic{color:var(--ink2)!important}
 .panorama-hero .breadcrumb,.panorama-hero .breadcrumb a{color:var(--muted);margin-bottom:20px}
 .panorama-hero .solution-hero-copy a.text-link{color:var(--brand-fuchsia)}
 .panorama-hero .solution-hero-copy .button-outline,.panorama-hero .solution-actions .button-callback{color:var(--brand-fuchsia)!important;background:var(--paper);border-color:var(--brand-fuchsia)}
 .panorama-hero .solution-hero-copy .button-outline:hover,.panorama-hero .solution-actions .button-callback:hover{color:var(--paper)!important;background:var(--brand-fuchsia)}
 .conversion-home .hero-couple{background:var(--soft);padding:0 0 28px}
 .conversion-home .hero-couple .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"portrait" "copy" "form";gap:24px;width:calc(100% - 32px);max-width:900px;isolation:auto}
 .conversion-home .hero-couple .hero-portrait{grid-area:portrait;position:relative;inset:auto;align-self:auto;justify-self:center;width:calc(100% + 32px);height:auto;max-width:none;max-height:none;aspect-ratio:auto;border-radius:0;z-index:auto;margin:0;background:transparent}
 .conversion-home .hero-couple .hero-portrait::after{display:none}
 .conversion-home .hero-couple .hero-portrait picture{display:block}
 .conversion-home .hero-couple .hero-portrait img{position:static;inset:auto;display:block;width:100%;height:auto;object-fit:contain;transform:none;filter:none!important}
 .conversion-home .hero-couple .hero-copy{position:static;padding:0;max-width:none;color:var(--ink2)}
 .conversion-home .hero-couple .hero-copy .display{color:var(--brand-gray)!important}
 .conversion-home .hero-couple .hero-copy .display em{background:none;padding:0;color:var(--brand-fuchsia)!important}
 .conversion-home .hero-couple .hero-copy>.eyebrow,.conversion-home .hero-couple .hero-lead,.conversion-home .hero-couple .hero-benefits,.conversion-home .hero-couple .hero-projects,.conversion-home .hero-couple .hero-support{color:var(--ink2)}
 .conversion-home .hero-couple .hero-actions .button-callback{color:var(--brand-fuchsia)!important;border:1px solid var(--brand-fuchsia)!important;background:var(--paper)!important}
 .conversion-home .hero-couple .hero-widget{width:100%;max-width:720px;justify-self:center;background:var(--paper)}
}

/* hero-media.css */
/* Responsive boundaries intentionally preserve the verified layout: <=600 phone, 601–1199 tablet, >=1200 desktop. Component-specific exceptions remain local. */

/* landscape-hero.css */
/* Unified photo-first introduction on phones and tablets, both orientations. */
@media(max-width:1199px){
 body main>.page-hero.solution-hero{padding:0 0 28px;background:var(--soft);color:var(--ink2)}
 body main>.page-hero.solution-hero:before{display:none}
 body main>.page-hero.solution-hero>.container{display:flex;flex-direction:column;width:100%;max-width:none;padding:0}
 body main>.page-hero.solution-hero .page-hero-grid{display:contents}
 body main>.page-hero.solution-hero .solution-hero-photo{display:block;position:static;inset:auto;order:0;z-index:auto;width:100%;height:auto;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0 0 -1px;border-radius:0;filter:none}
 body main>.page-hero.solution-hero .solution-hero-photo,
 .conversion-home .hero-couple .hero-portrait img{
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,rgba(0,0,0,.72) 90%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 82%,rgba(0,0,0,.72) 90%,transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
 }
 body main>.page-hero.solution-hero .breadcrumb{order:1;margin:22px 22px 18px}
 body main>.page-hero.solution-hero .solution-hero-copy{order:2;width:auto;max-width:none;margin:0 22px;padding:0;min-width:0}
 body main>.page-hero.solution-hero .solution-hero-copy h1{color:var(--brand-gray)!important}
 body main>.page-hero.solution-hero .solution-hero-copy h1 em{color:var(--brand-fuchsia)!important}
 body main>.page-hero.solution-hero .solution-hero-copy>p{color:var(--ink2)!important}
 body main>.page-hero.solution-hero .solution-hero-copy>p:last-child{margin-bottom:0}
 .conversion-home .hero-couple .hero-portrait{width:calc(100% + 32px);height:auto;max-width:none;background:transparent;border-radius:0}
 .conversion-home .hero-couple .hero-portrait img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0}
}

/* insurance-photo-refinement.css */
/* Direct product access on every screen. */
.insurance-product-access{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.insurance-product-access a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--brand-fuchsia);border-radius:12px;background:white;color:var(--brand-fuchsia);font-weight:700;text-decoration:none;line-height:1.4}
.insurance-product-access a:hover{background:var(--brand-fuchsia);color:white}
.insurance-product-access a:focus-visible{outline:3px solid var(--brand-fuchsia);outline-offset:3px}
/* Mobile/tablet cards: preserve the complete 3:2 scenes and their colour accents. */
@media(max-width:1199px){
 body.insurance-overview .info-card> b{display:none}
 body.insurance-overview .info-card{padding:20px}
 body.insurance-overview .info-card>img.editorial-photo{display:block;width:100%!important;max-width:100%;height:auto!important;aspect-ratio:3/2;object-fit:contain;border-radius:12px;margin:0 0 18px!important}
 body.insurance-overview .info-card h3{margin:0 0 12px}
 body.insurance-overview .info-card .text-link{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:1199px) and (orientation:portrait){
 .conversion-home #solutions .service-card .service-photo{height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;object-position:center!important}
}
@media(max-width:1199px) and (orientation:landscape){
 body main>.page-hero.solution-hero .solution-hero-photo{border-radius:12px}
 .conversion-home .hero-couple .hero-portrait,.conversion-home .hero-couple .hero-portrait img{border-radius:12px}
 .conversion-home .hero-couple .hero-portrait{overflow:hidden}
}
@media(max-width:600px){
 .insurance-product-access{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:20px 0}
 .insurance-product-access a{padding:10px 14px}
}

/* desktop-hero-fade.css */
/* Desktop only. Touch layouts, including landscape phones/tablets, keep their existing fades. */
@media (min-width:1200px) and (hover:hover) and (pointer:fine) {
  body main > .hero-rounded,
  body.conversion-home main > .hero-couple {
    --hero-fade-rgb:255,255,255;
  }

  body main > .hero-rounded:has(+ .section-soft) {
    --hero-fade-rgb:248,248,248;
  }

  body.conversion-home main > .hero-couple:has(+ .cv-reviews) {
    --hero-fade-rgb:249,249,249;
  }

  /* Let the full photograph meet the lower edge; retain its width, ratio and lateral mask. */
  body main > .hero-rounded .solution-hero-photo {
    top:auto;
    bottom:0;
    transform:none;
    z-index:-2;
  }

  body.conversion-home main > .hero-couple .hero-portrait {
    z-index:-2;
  }

  /* Fade the background beneath the content, never the text, buttons or callback card.
     Most of the lightening stays in the bottom padding to preserve white-copy contrast. */
  body main > .hero-rounded::after,
  body.conversion-home main > .hero-couple::after {
    content:"";
    display:block;
    position:absolute;
    inset:auto 0 0;
    height:clamp(88px,7vw,120px);
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(to bottom,
      rgba(var(--hero-fade-rgb),0) 0%,
      rgba(var(--hero-fade-rgb),.035) 35%,
      rgba(var(--hero-fade-rgb),.14) 65%,
      rgba(var(--hero-fade-rgb),.40) 82%,
      rgba(var(--hero-fade-rgb),.78) 94%,
      rgb(var(--hero-fade-rgb)) 100%);
  }
}

/* brand-marks.css */
/* Approved logo V: reassurance and completed actions only. */
:root{--brand-v-image:url("brand-v.svg")}
.brand-v{display:inline-block;width:24px;height:28px;background:var(--brand-v-image) center/contain no-repeat;flex-shrink:0}

.conversion-home .hero-couple .hero-study-badge>.brand-v:first-child{
 width:26px;height:30px;flex-basis:26px;border-radius:0;
 background:var(--brand-v-image) center/contain no-repeat;
}

.conversion-demand .demand-hero-benefits li,
.conversion-demand .demand-reassurance li{display:flex;align-items:center;gap:8px}
.conversion-demand .demand-hero-benefits li::before,
.conversion-demand .demand-reassurance li::before{
 content:"";display:inline-block;flex:0 0 18px;width:18px;height:21px;
 margin:0;border-radius:0;background:var(--brand-v-image) center/contain no-repeat;
}

/* Keep current and future chapters visually distinct from completed chapters. */
.guided-form .guided-chapters li.is-complete::before{
 content:"";display:inline-block;width:16px;height:19px;margin-right:5px;
 vertical-align:-.2em;background:var(--brand-v-image) center/contain no-repeat;
}

/* The delivery script sets this state only after server confirmation. */
[data-submission-state="confirmed"] .delivery-success{position:relative;padding-inline-start:64px}
[data-submission-state="confirmed"] .delivery-success::before{
 content:"";position:absolute;inset-inline-start:18px;top:20px;width:28px;height:33px;
 background:var(--brand-v-image) center/contain no-repeat;
}

#notre-approche .info-card>.brand-v{width:30px;height:35px;margin-bottom:20px}

/* SCPI risks are information, never a checked benefit or a brand promise. */
.check-list.risk-notes li{padding-inline-start:34px}
.check-list.risk-notes li::before{
 content:"i";display:grid;place-items:center;top:13px;width:20px;height:20px;
 border:1.5px solid currentColor;border-radius:50%;color:var(--brand-gray);
 font:700 14px/1 Georgia,serif;
}

/* home-callback.css */
/* A single, compact callback card with separate consent and privacy targets. */
.conversion-home .hero-couple .hero-widget.callback-compact {
 padding:20px; border-radius:20px; background:var(--paper);
}
.conversion-home .hero-couple .callback-compact h2 {
 margin:0 0 4px; font-size:1.5rem; line-height:1.25;
}
.conversion-home .hero-couple .callback-compact .callback-required {
 margin:0 0 16px; color:var(--muted); font-size:.875rem; line-height:1.4;
}
.conversion-home .hero-couple .callback-compact .field-grid {
 grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px;
}
.conversion-home .hero-couple .callback-compact .field { min-width:0; }
.conversion-home .hero-couple .callback-compact .field label {
 margin-bottom:4px; font-size:.875rem; line-height:1.4;
}
.conversion-home .hero-couple .callback-compact .field input:not([type="checkbox"]),
.conversion-home .hero-couple .callback-compact .field select {
 min-height:44px; padding:8px 10px; font-size:1rem; border-radius:10px;
}
.conversion-home .hero-couple .callback-compact .field:has(#hero-phone),
.conversion-home .hero-couple .callback-compact .field:has(#hero-email) { grid-column:auto; }
.conversion-home .hero-couple .callback-compact .home-optional {
 margin:8px 0; border:0; border-bottom:1px solid var(--line);
}
.conversion-home .hero-couple .callback-compact .home-optional summary {
 min-height:44px; padding:10px 26px 10px 0;
 font-size:.875rem; line-height:1.4; font-weight:500; color:var(--ink2);
}
.conversion-home .hero-couple .callback-compact .home-optional summary::after {
 top:50%; right:2px; transform:translateY(-50%); font-size:1.25rem; line-height:1;
}
.conversion-home .hero-couple .callback-compact .contact-origin { margin:4px 0 12px; }
.conversion-home .hero-couple .callback-compact .consent {
 margin:8px 0 0; padding:4px 0; min-height:44px; gap:10px; cursor:pointer;
 font-size:.875rem; line-height:1.45; color:var(--ink2);
}
.conversion-home .hero-couple .callback-compact .consent input {
 flex:0 0 20px; width:20px; height:20px; min-height:20px; margin:2px 0 0;
}
.conversion-home .hero-couple .callback-compact .consent-privacy {
 margin:2px 0 12px 30px; font-size:.875rem; line-height:1.4;
}
.conversion-home .hero-couple .callback-compact .consent-privacy a { min-height:38px; font-weight:600; }
.conversion-home .hero-couple .callback-compact > .button {
 width:100%; min-height:46px; padding:10px 16px; font-size:1rem;
}
.conversion-home .hero-couple .callback-compact .hero-form-reassurance {
 margin:10px 0 0; padding:0; border:0; font-size:.875rem; line-height:1.5;
 text-align:center; color:var(--muted);
}
.conversion-home .hero-couple .callback-compact .callback-alternative {
 margin:4px 0 0; font-size:.875rem; line-height:1.4; text-align:center;
}
.conversion-home .hero-couple .callback-compact .callback-alternative a {
 display:inline-flex; align-items:center; min-height:44px;
}
@media(max-width:600px) {
 .conversion-home .hero-couple .hero-widget.callback-compact { padding:18px 16px; }
 .conversion-home .hero-couple .callback-compact .field:has(#hero-phone),
 .conversion-home .hero-couple .callback-compact .field:has(#hero-email) { grid-column:1/-1; }
}
/* Four short entry points; all existing solutions remain in the second choice. */
.home-need-families{grid-column:1/-1;min-width:0;border:0;margin:0;padding:0}
.home-need-families legend{padding:0;margin:0 0 6px;font-size:.875rem;font-weight:700}
.home-need-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-need-grid button{min-width:0;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink2);font-size:.875rem;font-weight:650;line-height:1.35;text-align:left;cursor:pointer}
.home-need-grid button[aria-pressed="true"]{border-color:var(--pink);background:var(--surface-inset);color:#94146a;box-shadow:inset 0 0 0 1px var(--pink)}
.home-need-grid button:hover{border-color:var(--pink)}
.callback-compact .field[hidden]{display:none!important}

/* brand-story.css */
/* Compact brand history, scoped to the two requested placements. */
body[data-page="about"] main > .brand-story {
  padding-block: clamp(32px, 4vw, 48px);
  scroll-margin-top: 170px;
  border-top: 1px solid var(--line, #dcdcdc);
}
.brand-story-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
}
.brand-story-layout > *, .brand-story-comparison > * { min-width: 0; }
.brand-story-copy .eyebrow { margin: 0 0 12px; }
.brand-story-copy h2 {
  margin: 0 0 16px;
  font-size: clamp(1.65rem, 2.5vw, 2.15rem);
  line-height: 1.22;
  letter-spacing: -.025em;
}
.brand-story-copy > p:not(.eyebrow) { margin: 0 0 12px; font-size: 1rem; line-height: 1.65; }
.brand-story-copy > .brand-story-signature { margin-bottom: 0; color: var(--pink); font-weight: 700; }
.brand-story-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.brand-story-logo { margin: 0; padding: 16px 12px; background: var(--paper); border: 1px solid var(--line, #dcdcdc); border-radius: 18px; }
.brand-story-logo-current { border-color: #c8257a; }
.brand-story-logo-frame { display: flex; align-items: center; justify-content: center; height: 136px; }
.brand-story-logo-frame img { width: 100%; height: auto; max-height: 124px; object-fit: contain; }
.brand-story-logo-previous img { max-width: 195px; }
.brand-story-logo-current img { max-width: 320px; }
.brand-story-logo figcaption { margin-top: 12px; text-align: center; color: var(--ink); font-size: .875rem; font-weight: 600; line-height: 1.5; }
.brand-story-logo-current figcaption { color: var(--pink); }
.brand-update { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line, #dcdcdc); }
.brand-update > img { flex: 0 0 25px; width: 25px; height: 29px; }
.brand-update > p { flex: 1 1 260px; min-width: 0; margin: 0; font-size: 1rem; line-height: 1.5; }
.brand-update > .text-link { min-height: 44px; max-width: 100%; font-size: .875rem; line-height: 1.5; }
.brand-update > .text-link:focus-visible { outline: 2px solid var(--pink); outline-offset: 4px; border-radius: 2px; }
@media (max-width: 960px) {
  .brand-story-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .brand-story-copy { max-width: 70ch; }
}
@media (max-width: 600px) {
  body[data-page="about"] main > .brand-story { scroll-margin-top: 140px; }
  .brand-story-comparison { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .brand-story-logo { padding: 14px 16px; }
  .brand-story-logo-frame { height: auto; }
  .brand-story-logo-previous img { max-width: 180px; }
  .brand-story-logo-current img { max-width: 300px; }
  .brand-update { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 8px 12px; align-items: start; }
  .brand-update > .text-link { grid-column: 2; }
}

/* journey-layout.css */
/* Shared editorial journeys: readable surfaces, compact steps and distinct navigation. */
body .section-anthracite,
body .journey-final {
  background:var(--surface-anthracite, #333438);
  color:var(--text-on-anthracite, #fff);
}
body :is(.section-anthracite,.journey-final) :is(h2,h3,h4,h2 em,h3 em,.eyebrow) {
  color:var(--text-on-anthracite, #fff)!important;
}
body :is(.section-anthracite,.journey-final) :is(.container>p,.cta-grid p,.journey-step-copy p) {
  color:var(--muted-on-anthracite, #e2e2e5);
}
body :is(.section-anthracite,.journey-final) :is(.protection-card,.info-card) :is(h2,h3,h4,h2 em,h3 em) {
  color:var(--ink2)!important;
}
body :is(.section-anthracite,.journey-final) :is(.protection-card,.info-card) p {color:var(--muted)}
body :is(.section-anthracite,.journey-final) :is(.solution-actions,.cta-actions) .button-primary,
body .section-anthracite .button-light {
  background:var(--brand-fuchsia)!important;color:#fff!important;border-color:var(--brand-fuchsia)!important;
}
body :is(.section-anthracite,.journey-final) :is(.solution-actions,.cta-actions) :is(.button-outline,.button-callback) {
  background:transparent!important;color:#fff!important;border-color:#fff!important;
}
body :is(.section-anthracite,.journey-final) :is(.solution-actions,.cta-actions) :is(.button-outline,.button-callback):hover {
  background:#fff!important;color:var(--ink2)!important;
}
body :is(.section-anthracite,.journey-final) .credit-warning,
body :is(.section-anthracite,.journey-final) .credit-warning+p {color:#fff}
body :is(.section-anthracite,.journey-final) a:focus-visible {outline:3px solid #fff;outline-offset:4px}
body :is(.section-anthracite,.journey-final) :is(.info-card,.protection-card) a:focus-visible {outline-color:var(--brand-fuchsia)}

/* Numbered information is a list, rather than another series of large cards. */
body .journey-page .journey-steps {
  list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;
  padding:0;margin:24px 0 0;
}
body .journey-page .journey-step {
  display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:16px;
  padding:22px 0;margin:0;border-top:1px solid var(--line);
}
body .journey-page .journey-step-number {
  display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
  background:var(--brand-fuchsia);color:#fff;font-size:.875rem;font-weight:800;line-height:1;
}
body .journey-page .journey-step h3 {margin:2px 0 8px;font-size:1.15rem;line-height:1.35}
body .journey-page .journey-step p {margin:0;font-size:1rem;line-height:1.6}
body .journey-page .section-anthracite .journey-step {border-color:#66676c}
body .journey-page .section-anthracite .journey-step h3 {color:#fff!important}

/* Page links must not resemble text inputs or compete with the main action. */
body main nav.journey-links {
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:20px;
}
body main nav.journey-links a {
  display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;
  min-height:44px;max-width:100%;padding:8px 0;border:0;border-radius:0;
  background:transparent;box-shadow:none;color:var(--brand-fuchsia);font-size:1rem;
  font-weight:700;line-height:1.45;text-decoration:underline;text-underline-offset:4px;
}
body main nav.journey-links a::after {content:'→';flex-shrink:0}
body main nav.journey-links a:hover {transform:none;box-shadow:none;color:var(--ink2)}
body main .journey-related {padding-top:28px;padding-bottom:28px}
body main .journey-related h2 {font-size:1.3rem;line-height:1.35;margin-bottom:12px}
body main .journey-related .cta-grid {display:block}
body main .journey-related .cta-actions {justify-content:flex-start;margin-top:12px}
body main .journey-related .cta-grid p {color:var(--muted)}
body main .journey-related .eyebrow {color:var(--brand-fuchsia)}
body main .journey-final {padding-top:48px;padding-bottom:48px}
body main .journey-final>.container>h2 {margin:0 0 16px;max-width:26ch}
body main .journey-final>.container>p {max-width:70ch;margin:0 0 24px;line-height:1.6}
body main .journey-final .solution-actions {gap:12px;margin-top:20px}
body main .journey-final .button {white-space:normal;text-align:center;min-height:48px;line-height:1.4}
body main .journey-final .insurance-choice-grid {margin-top:24px}
/* A method directly followed by a conclusion uses two distinguishable surfaces. */
body main .journey-method.section-anthracite + .journey-final {background:var(--paper);color:var(--ink2)}
body main .journey-method.section-anthracite + .journey-final h2 {color:var(--ink2)!important}
body main .journey-method.section-anthracite + .journey-final>.container>p {color:var(--muted)}
body main .journey-method.section-anthracite + .journey-final .button-callback {color:var(--brand-fuchsia)!important;border-color:var(--brand-fuchsia)!important;background:var(--paper)!important}

body main .journey-choice {position:relative}
body main .journey-choice-link::after {content:'';position:absolute;inset:0;border-radius:inherit}
body main .journey-choice:has(a:focus-visible) {outline:3px solid var(--brand-fuchsia);outline-offset:3px}
body main .journey-choice .text-link {display:inline-block;margin-top:16px}
@media(hover:hover) and (pointer:fine) {
  body main .journey-choice:hover {border-color:var(--brand-fuchsia)}
}

@media(max-width:900px) {
  body main.journey-page>.section {padding-top:36px;padding-bottom:36px}
  body main.journey-page>.section>.container>h2 {margin-top:0;margin-bottom:20px;font-size:clamp(1.55rem,5vw,2rem);line-height:1.25}
  body main.journey-page :is(.protection-grid,.info-grid,.insurance-choice-grid) {gap:16px;margin-top:20px}
  body main.journey-page :is(.protection-card,.info-card) {padding:20px;border-radius:18px}
  body main.journey-page :is(.protection-card,.info-card) :is(h2,h3) {font-size:1.15rem;line-height:1.35;margin:0 0 10px}
  body main.journey-page :is(.protection-card,.info-card) p {font-size:1rem;line-height:1.6}
  body main.journey-page :is(.protection-card,.info-card) .text-link {margin-top:14px;min-height:44px;align-items:center}
  body .journey-page .journey-steps {grid-template-columns:1fr;margin-top:20px;gap:0}
  body .journey-page .journey-step {gap:12px;padding:18px 0;grid-template-columns:36px minmax(0,1fr)}
  body main.journey-page .journey-related {padding-top:24px;padding-bottom:24px}
  body main.journey-page .journey-related h2 {font-size:1.3rem}
  body main nav.journey-links {gap:4px 20px;margin-top:12px}
  body main.journey-page .solution-actions {gap:12px;margin-top:20px}
  body main.journey-page .solution-actions .button {min-height:48px;padding:12px 18px!important;font-size:1rem!important;line-height:1.4;white-space:normal}
  body main.journey-page .regulatory-inline {margin-top:24px;margin-bottom:24px}
  body main .journey-final {padding-top:36px;padding-bottom:36px}
}
@media(max-width:480px) {
  body main nav.journey-links {flex-direction:column;align-items:flex-start}
  body main .journey-final .solution-actions {display:flex;flex-direction:column;align-items:stretch}
}

body .section-anthracite :is(.protection-card,.info-card) {background:var(--paper);color:var(--ink2);border-color:var(--line)}
body .section-anthracite .eyebrow:before {background:var(--brand-fuchsia)}
body .section-anthracite .cta-actions .text-link {color:#fff;text-decoration:underline;text-decoration-color:var(--brand-fuchsia);text-underline-offset:5px}
body .cta-band :is(h2,h2 em) {color:var(--paper)!important}

/* Secondary links remain legible on the concluding dark surface. */
body main .journey-final :is(nav.journey-links a,.text-link,.protection-note a) {color:#fff;text-decoration:underline;text-underline-offset:4px}
body main .journey-final :is(nav.journey-links a,.text-link,.protection-note a):hover {color:#fff;text-decoration-thickness:2px}
body main .journey-method.section-anthracite + .journey-final :is(nav.journey-links a,.text-link,.protection-note a) {color:var(--brand-fuchsia)}
@media(max-width:900px){body .contact-grid .callback-panel {order:-1}}

/* Consistent section rhythm: explanation, accompaniment, questions, next step. */
body main.journey-surfaces .section-anthracite > .container > p,
body main.journey-surfaces .section-anthracite .section-head > p {color:var(--muted-on-anthracite)}
body main.journey-surfaces .section-anthracite .journey-step-copy .text-link {color:#fff;text-decoration:underline;text-decoration-color:var(--brand-fuchsia)}
body main.journey-surfaces .journey-method {padding-block:56px}
body main.journey-surfaces .journey-method + .section {padding-top:48px}
body main .journey-final-compact {padding-block:36px}
body main .journey-final-compact h2 {font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.25}
body main .journey-final-light {background:var(--soft);color:var(--ink2)}
body main .journey-final-light :is(h2,h3,h4,h2 em,h3 em,.eyebrow) {color:var(--ink2)!important}
body main .journey-final-light :is(.container>p,.cta-grid p,.protection-note) {color:var(--muted)}
body main .journey-final-light :is(nav.journey-links a,.text-link,.protection-note a),
body main .journey-final-light :is(nav.journey-links a,.text-link,.protection-note a):hover {color:var(--brand-fuchsia)}
body main .journey-final-light :is(.solution-actions,.cta-actions) :is(.button-outline,.button-callback) {background:var(--paper)!important;color:var(--brand-fuchsia)!important;border-color:var(--brand-fuchsia)!important}
body main .journey-final-light a:focus-visible {outline-color:var(--brand-fuchsia)}
@media(max-width:900px){
 body main.journey-surfaces .journey-method {padding-block:32px}
 body main.journey-surfaces .journey-method + .section {padding-top:32px}
 body main.journey-surfaces .journey-final-compact {padding-block:28px}
 body main.journey-surfaces .journey-method .journey-steps {margin-bottom:0}
}

/* Parallel study criteria: brand marks are decorative, never approval status. */
body main .journey-criteria-section {padding-block:52px}
body main .journey-criteria {list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;padding:0;margin:28px 0 0}
body main .journey-criterion {display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;padding:24px 0;border-top:1px solid #68696e}
body main .journey-criterion .brand-v {width:28px;height:32px;margin-top:2px}
body main .journey-criterion h3 {margin:0 0 10px;font-size:1.15rem;line-height:1.4;color:#fff!important}
body main .journey-criterion p {margin:0;color:var(--muted-on-anthracite);font-size:1rem;line-height:1.6}
body main .journey-criteria-section + .section {padding-top:48px}
@media(max-width:900px){
 body main.journey-page .journey-criteria-section {padding-block:32px}
 body main .journey-criteria {grid-template-columns:1fr;margin-top:24px}
 body main .journey-criterion {grid-template-columns:28px minmax(0,1fr);gap:14px;padding:20px 0}
 body main .journey-criterion .brand-v {width:24px;height:28px}
 body main .journey-criteria-section + .section {padding-top:32px}
}

/* Light criteria lists complement the nearby dark accompaniment section. */
body main .journey-criteria-light .journey-criterion {border-color:var(--line)}
body main .journey-criteria-light .journey-criterion h3 {color:var(--ink2)!important}
body main .journey-criteria-light .journey-criterion p {color:var(--muted)}
body main .journey-criterion-copy .text-link {display:inline-flex;align-items:center;min-height:44px;margin-top:12px;line-height:1.45}
body main .journey-criterion-copy p + p {margin-top:10px}

body main .journey-criteria-section.section-anthracite .text-link {color:#fff;text-decoration:underline;text-decoration-color:var(--brand-fuchsia);text-underline-offset:5px}
body main .journey-neutral-mark {color:#fff;font-size:1.5rem;line-height:1.4;text-align:center}

/* Secondary callback controls on every surface, including the homepage. */
body main a.button.button-callback {background:transparent!important;color:var(--ink2)!important;border-color:var(--muted)!important;box-shadow:none}
body main :is(.section-anthracite,.journey-final) a.button.button-callback {color:#fff!important;border-color:#fff!important;background:transparent!important}
body main .journey-final.journey-final-light a.button.button-callback,
body main .journey-method.section-anthracite + .journey-final a.button.button-callback {color:var(--ink2)!important;border-color:var(--muted)!important;background:transparent!important}
body.conversion-home main .hero-couple .hero-actions a.button.button-callback {color:var(--ink2)!important;border-color:var(--muted)!important;background:transparent!important}
@media(min-width:1200px){
 body.conversion-home main .hero-couple .hero-actions a.button.button-callback {color:#fff!important;border-color:#fff!important;background:transparent!important}
}
body main a.button.button-callback:focus-visible {outline:3px solid var(--brand-fuchsia);outline-offset:4px}

/* Hero actions: a quiet secondary option, scoped to the light hero surface. */
body main .page-hero .solution-actions > a.button:not(.button-primary):nth-child(n+2) {background:transparent!important;color:var(--ink2)!important;border:1px solid var(--muted)!important;box-shadow:none}
body main .page-hero .solution-actions > a.button:focus-visible {outline:3px solid var(--brand-fuchsia);outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 body main .page-hero .solution-actions > a.button:not(.button-primary):nth-child(n+2):hover {background:var(--paper)!important;border-color:var(--ink2)!important}
}
body main .journey-route-section :is(.info-card,.protection-card) {position:relative;background:var(--paper);border:1px solid var(--line);padding:24px;border-radius:20px}
body main .journey-route-section :is(.info-card,.protection-card) :is(h2,h3) {color:var(--ink2)!important}
body main .journey-route-section :is(.info-card,.protection-card) .text-link {color:var(--brand-fuchsia);text-decoration:underline;text-underline-offset:4px;min-height:44px}
body main .journey-route-section .journey-choice-link {position:static}
body main .journey-route-section .journey-choice-link::after {border-radius:20px}
body main .journey-route-section .journey-choice:has(a:focus-visible) {outline:3px solid #fff;outline-offset:4px}
body main .journey-route-section .protection-card-actions {display:flex;flex-direction:column;align-items:flex-start;gap:8px}
@media(max-width:900px){
 body main .journey-route-section :is(.info-card,.protection-card) {padding:20px;border-radius:18px}
 body main .journey-route-section .journey-choice-link::after {border-radius:18px}
 body main .journey-route-section :is(.info-grid,.protection-grid) {gap:16px}
}

/* Shared editorial rhythm: compact study points, distinct actions and risks. */
body main .journey-study-points {padding-left:1.25rem;margin:20px 0 28px;color:var(--muted-on-anthracite);max-width:75ch}
body main .journey-study-points li {padding:8px 0;line-height:1.6}
body main .journey-study-points li::marker {color:var(--brand-fuchsia)}
body main .journey-action-title {font-size:1.2rem;line-height:1.4;margin:28px 0 12px;color:inherit}
body main .journey-contract-actions {margin-top:12px;gap:12px}
body main .journey-risk-panel {background:var(--soft);color:var(--ink2);border:1px solid var(--line);border-radius:18px;padding:24px;margin-top:28px}
body main .journey-risk-panel h3 {margin-top:0;font-size:1.2rem;line-height:1.4}
body main .journey-risk-panel p:last-child {margin-bottom:0}
body main :is(.journey-criterion-copy,.info-card,.protection-card) > .text-link {display:table;min-height:44px;margin-top:12px;line-height:1.45;padding-block:8px}
body main .section-anthracite > .container > .text-link {color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--brand-fuchsia)}
@media(max-width:900px){
 body main .page-hero .breadcrumb {margin-bottom:24px;line-height:1.5}
 body main .page-hero .solution-hero-copy > p:not(.hero-topic):not(.solution-reassurance) {margin-block:18px;line-height:1.6}
 body main .journey-criterion {padding-block:16px}
 body main .journey-criterion h3 {margin-bottom:8px}
 body main .journey-risk-panel {padding:20px}
 body main .journey-contract-actions {flex-direction:column;align-items:stretch}
}

/* Navigation directly on anthracite stays readable, including hover and visited states. */
body main .section-anthracite > .container > nav.journey-links a,
body main .section-anthracite > .container > nav.journey-links a:visited,
body main .section-anthracite > .container > nav.journey-links a:hover,
body main .section-anthracite > .container > nav.journey-links a:focus-visible {
 color:#fff;text-decoration-color:#fff;text-underline-offset:5px;
}
body main .section-anthracite > .container > nav.journey-links a:hover {text-decoration-thickness:2px}
/* Stable callback contrast across photographs, white cards and dark sections. */
body #contenu a.button.button-callback{background:#fff!important;color:#333438!important;border-color:#737477!important}
body #contenu a.button.button-callback:hover{background:#f0f0f0!important;color:#333438!important}
body #contenu .disclaimer{color:#58595b!important;font-size:.875rem!important;line-height:1.5}
/* Standalone editorial links on anthracite, excluding white cards. */
body #contenu .section-anthracite .text-link:not(.info-card *,.protection-card *,.card-surface *){color:#fff;text-decoration:underline;text-underline-offset:4px}
/* Light recruitment conclusion and dark credit disclosures retain readable text. */
body #contenu #candidature.cta-band :is(h2,h2 em){color:#333438!important}
body #contenu :is(.section-anthracite,.journey-final):not(.journey-final-light) .credit-warning{color:#fff!important}
@media(min-width:1200px){
 body.immersive-interior #contenu>.page-hero h1 em{color:#ef85bb!important}
}

/* home-immersive.css */
/* Homepage navigation overlays the photograph without changing interior pages. */
body.conversion-home{position:relative}
body.conversion-home #site-header{position:absolute;inset:0 0 auto;z-index:90}
body.conversion-home #site-header .topbar{display:none}
body.conversion-home #site-header .site-header{position:relative;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.95) 76%,rgba(255,255,255,0) 100%);border:0;box-shadow:none;padding-bottom:22px}
body.conversion-home #site-header .header-inner{height:84px}
body.conversion-home #site-header .logo img{width:clamp(175px,27vw,230px);height:auto;max-height:62px}
body.conversion-home #site-header .menu-toggle{background:#333438;flex-shrink:0}
body.conversion-home.menu-open #site-header .site-header{background:#fff;padding-bottom:0}
@media(max-width:1199px){
 body.conversion-home .hero-couple .hero-portrait{padding-top:0;background:transparent;border-radius:0;overflow:hidden}
 body.conversion-home .hero-couple .hero-portrait img{height:auto;max-height:none;width:100%;object-fit:contain}
 body.conversion-home .hero-couple .hero-grid{row-gap:20px}
}
@media(min-width:1200px){
 body.conversion-home .hero-couple{padding-top:116px}
 body.conversion-home .hero-couple .hero-portrait img{object-position:right 40%}
}
@media(min-width:1281px){
 body.conversion-home #site-header .desktop-client-access{display:inline-flex}
 body.conversion-home #site-header .nav-actions>.header-cta{display:none}
 body.conversion-home #site-header .header-inner{width:calc(100% - 64px);max-width:1520px;gap:18px}
 body.conversion-home #site-header .logo img{width:200px}
 body.conversion-home #site-header .main-nav{gap:14px}
}
@media(min-width:1500px){
 body.conversion-home #site-header .main-nav{gap:24px}
 body.conversion-home #site-header .logo img{width:230px}
}

/* A soft local halo supports the logo without washing out the couple or menu. */
@media(max-width:1280px){
 body.conversion-home #site-header .site-header{
  background:radial-gradient(ellipse at 25% 40%,rgba(255,255,255,.38) 0%,rgba(255,255,255,.18) 45%,rgba(255,255,255,0) 75%) left top/min(56vw,300px) 100% no-repeat;
 }
 body.conversion-home.menu-open #site-header .site-header{background:#fff}
}

/* Match the approved interior-page navigation fade on desktop. */
@media(min-width:1281px){
 body.conversion-home #site-header .site-header{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.95) 76%,rgba(255,255,255,0) 100%);border:0;box-shadow:none;padding-bottom:22px}
}

/* home-polish.css */
/* Clear logo backing, preserving the photograph and existing navigation. */
@media(max-width:1280px){
 body.conversion-home #site-header .site-header{background:none}
 body.conversion-home #site-header .logo{background:rgba(255,255,255,.72);border-radius:10px;padding:6px 9px}
 body.conversion-home.menu-open #site-header .site-header{background:#fff}
}
/* Visual treatment only: preserve review dimensions, controls and scrolling. */
body.conversion-home #avis-clients.cv-reviews{background:#333438;color:#fff}
body.conversion-home #avis-clients .cv-reviews-head h2{color:#fff}
body.conversion-home #avis-clients .cv-reviews-head p{color:#e1e1e3}
body.conversion-home #avis-clients .cv-reviews-head .eyebrow{color:#fff}
body.conversion-home #avis-clients .cv-reviews-head>.text-link{color:#fff;text-decoration:underline;text-decoration-color:#c21b77;text-underline-offset:5px}
body.conversion-home #avis-clients .cv-review-card{background:#fff;color:#333438}
body.conversion-home #avis-clients .cv-review-stars{color:#c21b77}
body.conversion-home #avis-clients .cv-review-position{color:#e1e1e3}
body.conversion-home #avis-clients .cv-reviews-controls button{background:transparent;color:#fff;border-color:#8c8d91}
body.conversion-home #avis-clients .cv-reviews-controls button:hover{background:#fff;color:#333438}
body.conversion-home .external-icon{display:inline-block;vertical-align:-.12em;margin-left:3px;flex-shrink:0}
/* Four equal, identifiable choices retain their native button interactions. */
body.conversion-home .home-need-grid{grid-auto-rows:1fr}
body.conversion-home .home-need-grid button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:98px;padding:12px 8px;text-align:center;background:#fff;color:#333438;border:1px solid #bfc0c2;border-radius:12px}
body.conversion-home .home-need-grid button .need-icon{flex-shrink:0;color:#58595b}
body.conversion-home .home-need-grid button[aria-pressed="true"]{background:#fff;border-color:#c21b77;box-shadow:inset 0 0 0 1px #c21b77;color:#333438}
body.conversion-home .home-need-grid button[aria-pressed="true"] .need-icon{color:#c21b77}
body.conversion-home .home-need-grid button[aria-pressed="true"]:after{content:'✓';position:absolute;top:5px;right:7px;color:#c21b77;font-size:14px;font-weight:800}
body.conversion-home .home-need-grid button:focus-visible{outline:2px solid #c21b77;outline-offset:3px}
@media(min-width:1200px){body.conversion-home .home-need-grid button{min-height:86px;font-size:.8125rem;gap:6px}}
@media(min-width:1200px) and (hover:hover) and (pointer:fine){body.conversion-home main>.hero-couple:has(+.cv-reviews){--hero-fade-rgb:51,52,56}}

/* Mobile-only reassurance and concise introduction; desktop content is preserved. */
.hero-mobile-study,body.conversion-home .hero-summary-mobile{display:none}
@media(max-width:600px){
 body.conversion-home .hero-portrait .hero-mobile-study{box-sizing:border-box;display:flex;flex-direction:column;gap:4px;position:absolute;top:max(74px,19vw);left:4%;width:43%;max-width:220px;margin:0;padding:8px 10px;border-left:3px solid #c21b77;border-radius:0 7px 7px 0;background:rgba(42,43,46,.94);color:#fff;text-shadow:none;pointer-events:none}
 .hero-mobile-study strong{display:block;font-size:.875rem;line-height:1.15;font-weight:750;color:inherit}
 .hero-mobile-study span{display:block;font-size:.75rem;line-height:1.2;font-weight:500;color:inherit}
 body.conversion-home .hero-copy .hero-summary-full,
 body.conversion-home .hero-copy .hero-support,
 body.conversion-home .hero-copy .hero-study-badge{display:none}
 body.conversion-home .hero-copy .hero-summary-mobile{display:block;margin-bottom:20px}
}
/* Small phones need a little more photo height to keep the card clear of the cushion. */
@media(max-width:389px){
 body.conversion-home .hero-couple .hero-portrait img{height:270px;object-fit:cover;object-position:left top}
}

/* regulatory-compact.css */
/* Shared regulatory layout. All product disclosures stay visible, including without JS. */
body .regulatory-compact{margin-top:32px;margin-bottom:24px;padding:24px;border-radius:14px;box-shadow:none;color:#454649}
body .regulatory-compact .regulatory-heading{padding:0;margin:0 0 18px;border:0}
body .regulatory-compact .regulatory-heading h2{font-size:1.3rem;line-height:1.3;letter-spacing:0;color:#333438}
body .regulatory-compact h3{font-size:.9375rem;line-height:1.4;margin-bottom:8px}
body .regulatory-compact p,body .regulatory-compact .regulatory-conditions p{font-size:.875rem;line-height:1.55;margin:0}
body .regulatory-compact .regulatory-overview{gap:24px}
body .regulatory-compact .regulatory-fees{padding:0}
body .regulatory-compact .regulatory-commitment{padding:0 0 0 16px;border-radius:0;background:none;border-left:2px solid #c21b77}
body .regulatory-compact .regulatory-commitment .credit-warning{font-size:.9375rem!important;line-height:1.5!important;margin:0 0 10px}
body .regulatory-compact .regulatory-conditions{gap:16px;margin:18px 0;padding:16px 0}
body .regulatory-compact .regulatory-conditions strong{display:inline;margin:0}
body .regulatory-compact .regulatory-insurance-study{margin-top:14px}
body .regulatory-compact .regulatory-logos{gap:10px;margin:18px 0;grid-template-columns:repeat(3,minmax(0,1fr))}
body .regulatory-compact .regulatory-logos>a{padding:10px;gap:8px;border:0;background:#f5f5f5;border-radius:8px;font-size:.875rem;line-height:1.4;flex-wrap:nowrap}
body .regulatory-compact .regulatory-logos img{width:82px;height:36px;flex-shrink:0}
body .regulatory-compact .regulatory-identity{display:block;padding-top:14px;font-size:.875rem}
body .regulatory-compact .regulatory-status{padding:0;border:0}
body .regulatory-compact .regulatory-status p+p{padding-top:6px;border:0}
body .regulatory-compact a{font-size:.875rem}
body .compact-footer{padding-top:28px}
body .compact-footer .footer-quick,body .compact-footer .footer-legal{padding-block:14px;row-gap:6px}
body .compact-footer .footer-bottom{padding-block:16px;font-size:.875rem}
@media(max-width:800px){
 body .regulatory-compact .regulatory-overview{grid-template-columns:1fr;gap:16px}
 body .regulatory-compact .regulatory-conditions{grid-template-columns:1fr;gap:10px}
 body .regulatory-compact .regulatory-conditions>div+div{padding-top:0;border:0}
}
@media(max-width:600px){
 body .regulatory-compact{padding:18px 16px;margin-top:24px;margin-bottom:18px}
 body .regulatory-compact .regulatory-logos{grid-template-columns:1fr;gap:8px}
 body .regulatory-compact .regulatory-logos>a{flex-direction:row;align-items:center;gap:14px;min-height:56px}
 body .compact-footer .footer-about{padding-bottom:12px}
 body .compact-footer .footer-logo{max-width:245px}
 body .compact-footer .footer-quick a,body .compact-footer .footer-legal a{font-size:.875rem;min-height:44px;display:flex;align-items:center}
}

/* callback-choices.css */
.callback-need-families{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0}
.callback-need-families legend{font-size:1rem;font-weight:700;margin-bottom:10px}
.callback-need-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:8px}
.callback-need-grid button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:98px;padding:12px 8px;text-align:center;background:#fff;color:#333438;border:1px solid #bfc0c2;border-radius:12px;font-family:inherit;font-weight:600;font-size:.875rem;line-height:1.3;cursor:pointer}
.callback-need-grid .need-icon{flex-shrink:0;color:#58595b}
.callback-need-grid button[aria-pressed="true"]{border-color:#c21b77;box-shadow:inset 0 0 0 1px #c21b77;color:#333438}
.callback-need-grid button[aria-pressed="true"] .need-icon{color:#c21b77}
.callback-need-grid button[aria-pressed="true"]:after{content:'✓';position:absolute;top:5px;right:7px;color:#c21b77;font-size:14px;font-weight:800}
.callback-need-grid button:focus-visible{outline:2px solid #c21b77;outline-offset:3px}
.callback-need-grid .callback-partnership{grid-column:1/-1;flex-direction:row}
/* Author styles on .field must never reveal filtered controls marked hidden. */
#rappel .field[hidden],#rappel-express .field[hidden]{display:none!important}
@media(min-width:1200px){.callback-need-grid button{min-height:86px;font-size:.8125rem;gap:6px}}

.callback-choice-error{font-size:.875rem;color:#a31667;margin:8px 0 0}

/* header-client-access.css */
/* One desktop header row; client access remains available in the touch menu. */
@media(min-width:1281px){
 #site-header .topbar{display:none!important}
 body #site-header .nav-actions>.desktop-client-access{display:inline-flex;gap:6px;background:transparent;border:0;padding:8px 4px;color:#333438;font-weight:650;font-size:.875rem}
 #site-header .desktop-client-access::before{content:'';width:18px;height:18px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' d='M20 21v-2a6 6 0 0 0-6-6h-4a6 6 0 0 0-6 6v2M16 6a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z'/%3E%3C/svg%3E") center/contain no-repeat}
 body.conversion-home #site-header .nav-actions>.header-cta{display:inline-flex}
 body #site-header .header-inner{width:calc(100% - 48px);max-width:1520px;gap:14px}
 body #site-header .main-nav{gap:12px}
 body #site-header .nav-actions{gap:10px;flex-shrink:0}
 body #site-header .logo img{width:180px}
 body #site-header .header-cta{white-space:nowrap;padding:12px 16px;font-size:.875rem}
}

/* Shared secondary action, immediately following the callback submit button. */
.mail-form .callback-detail-action{margin:12px 0 16px!important}
.mail-form .callback-detail-action[hidden]{display:none!important}
.mail-form .callback-detail-action>a.button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;box-sizing:border-box;padding:12px 16px!important;border:1px solid #737477!important;border-radius:999px;background:#fff!important;color:#333438!important;font-size:.9375rem!important;line-height:1.4;text-align:center;text-decoration:none!important;white-space:normal}
.mail-form .callback-detail-action>a.button:hover{background:#f2f2f2!important}
.mail-form .callback-detail-action>a.button:focus-visible{outline:3px solid #c21b77;outline-offset:3px}

/* Same desktop spacing on home and all interior pages, after hero overrides. */
@media(min-width:1281px){
 body #site-header .header-inner{width:calc(100% - 48px)!important;max-width:1520px;gap:18px!important}
 body #site-header .header-inner .main-nav{gap:clamp(14px,calc(14px + (100vw - 1281px)*.04),26px)!important}
 body #site-header .header-inner .nav-actions{gap:12px!important;padding-left:16px;margin-left:0;border-left:1px solid #77777745}
 body #site-header .header-inner .logo img{width:180px!important}
}
@media(min-width:1501px){
 body #site-header .header-inner .logo img{width:200px!important}
}
@media(min-width:1281px) and (max-width:1399px){
 body #site-header .header-inner{gap:12px!important}
 body #site-header .header-inner .logo img{width:160px!important}
}

/* Shared mobile navigation refinement: all pages, same alignment and hierarchy. */
#site-header .nav-section-label,#site-header .solutions-links .mobile-section-overview{display:none}
@media(max-width:1280px){
 body.menu-open #site-header{position:fixed!important;inset:0 0 auto!important;z-index:1000}
 body.menu-open #site-header .site-header{background:#fff!important;padding-bottom:0!important;transform:none;filter:none}
 #site-header .main-nav{padding-top:8px;gap:0}
 #site-header .nav-section-heading>.nav-item{display:none}
 #site-header .nav-section-label{display:block}
 #site-header .main-nav .mobile-section-overview{display:block}
 #site-header .main-nav .solutions-toggle,#site-header .main-nav .nav-section-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:14px 8px 14px 2px;font:inherit;font-size:16px;font-weight:700;line-height:1.5;border-radius:0}
 #site-header .main-nav .nav-chevron{width:14px;height:14px;flex:0 0 14px}
 #site-header .main-nav .insurance-menu-group summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
 #site-header .main-nav .insurance-menu-group summary::-webkit-details-marker{display:none}
 #site-header .main-nav .insurance-menu-group summary::after{content:'';position:static;display:block;flex:0 0 7px;width:7px;height:7px;margin:0 4px 4px 0;border:solid #ef85bb;border-width:0 2px 2px 0;transform:rotate(45deg)}
 #site-header .main-nav .insurance-menu-group[open]>summary::after{transform:rotate(225deg);margin-bottom:0}
 #site-header .main-nav .insurance-menu-group .solution-children{border-left:0;margin-left:0;padding-left:12px}
 #site-header .main-nav .mobile-request{margin-top:20px;width:100%;text-align:center}
 #site-header .main-nav .mobile-client-access{display:flex!important;align-self:stretch;justify-content:center;gap:8px;min-height:48px;margin:10px 0 0;padding:10px 16px;background:transparent;border:0;color:#fff}
 #site-header .mobile-client-access::before{content:'';width:18px;height:18px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' d='M20 21v-2a6 6 0 0 0-6-6h-4a6 6 0 0 0-6 6v2M16 6a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z'/%3E%3C/svg%3E") center/contain no-repeat}
}

/* desktop-after-hero.css */
/* White transition below hero photographs on computers only. */
@media(min-width:1200px) and (hover:hover) and (pointer:fine){
 body main>.hero-rounded,body.conversion-home main>.hero-couple{--hero-fade-rgb:255,255,255!important}
 body #contenu>.desktop-after-hero{background:#fff!important;color:#333438!important}
 body #contenu>.desktop-after-hero :is(h2,h3,h4,h2 em,h3 em,.eyebrow,.section-title){color:#333438!important}
 body #contenu>.desktop-after-hero :is(.container>p,.section-head p,.cv-reviews-head p,.cv-review-position){color:#58595b!important}
 body #contenu>.desktop-after-hero :is(.text-link,.protection-access a,.journey-access a){color:#a91469!important;text-decoration-color:currentColor!important}
 body #contenu>.desktop-after-hero :is(.card-surface,.protection-card,.info-card,.cv-review-card){background:#fff!important;color:#333438!important;border:1px solid #d7d7da!important}
 body #contenu>.desktop-after-hero :is(.button-callback,.button-outline,.button-light,.cv-reviews-controls button){background:#fff!important;color:#333438!important;border-color:#737477!important}
 body #contenu>.desktop-after-hero a:focus-visible,body #contenu>.desktop-after-hero .card-surface:has(.card-surface-link:focus-visible){outline-color:#c21b77!important}
}

/* Callback action remains readable against desktop hero photographs. */
@media(min-width:1200px){
 body #contenu :is(.page-hero,.hero) a.button.button-callback{background:#fff!important;color:#333438!important;border:1px solid #737477!important;opacity:1;box-shadow:none;text-shadow:none}
 body #contenu :is(.page-hero,.hero) a.button.button-callback:hover{background:#f0f0f0!important;color:#333438!important;border-color:#333438!important}
 body #contenu :is(.page-hero,.hero) a.button.button-callback:focus-visible{outline:3px solid #c21b77;outline-offset:4px}
}
/* Criteria descriptions must follow their light desktop surface, not their mobile dark theme. */
@media(min-width:1200px) and (hover:hover) and (pointer:fine){
 body #contenu>.desktop-after-hero .journey-criterion p{color:#58595b!important}
 body #contenu>.desktop-after-hero .journey-criterion{border-color:#d7d7da}
}

/* home-photo-framing.css */
/* Desktop photo retains its natural proportions independently of callback height. */
@media(min-width:1200px){
 body.conversion-home #contenu .hero-couple .hero-portrait{overflow:hidden;background:#353431}
 body.conversion-home #contenu .hero-couple .hero-portrait picture{display:block;position:relative;width:100%;height:auto;aspect-ratio:1672/941;mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%)}
 body.conversion-home #contenu .hero-couple .hero-portrait img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain;object-position:center top;transform:none}
}

/* home-refinement.css */
/* Homepage desktop: content determines card height; photo size never depends on it. */
@media(min-width:1200px){
 body.conversion-home #contenu .hero-couple{min-height:0;padding-top:112px;padding-bottom:28px}
 body.conversion-home #contenu .hero-couple .hero-grid{min-height:0;align-items:start;grid-template-rows:auto}
 body.conversion-home #contenu .hero-couple .hero-copy{padding-top:28px;max-width:510px}
 body.conversion-home #contenu .hero-couple .hero-copy>.eyebrow{margin-bottom:18px}
 body.conversion-home #contenu .hero-couple .hero-copy .display{font-size:clamp(2.1rem,2.8vw,2.65rem);line-height:1.12;margin-bottom:20px}
 body.conversion-home #contenu .hero-couple .hero-copy .display em{color:#ef85bb!important;text-shadow:none}
 body.conversion-home #contenu .hero-couple .hero-summary{font-size:1.0625rem;line-height:1.55;margin-bottom:18px;max-width:40ch}
 body.conversion-home #contenu .hero-couple .hero-support{font-size:1rem;line-height:1.5;margin-bottom:18px}
 body.conversion-home #contenu .hero-couple .hero-study-badge{padding:0;border:0;border-radius:0;background:none;gap:10px;margin-bottom:20px;font-size:.875rem;line-height:1.4}
 body.conversion-home #contenu .hero-couple .hero-study-label>span:last-child{font-size:.8125rem}
 body.conversion-home #contenu .hero-couple .hero-study-badge>.brand-v{width:22px;height:26px;flex-basis:22px}
 body.conversion-home #contenu .hero-couple .hero-actions .button-callback{display:none}
 body.conversion-home #contenu .hero-couple .hero-review-proof{padding:0;background:none;border-radius:0;margin:12px 0 0;font-size:.875rem}
 body.conversion-home #contenu .hero-couple .hero-review-proof a{display:inline-flex;align-items:center;min-height:44px;text-shadow:0 1px 3px #000}
 body.conversion-home #contenu .hero-couple .hero-portrait::after{height:min(100%,56.28vw);background:linear-gradient(180deg,rgba(10,10,10,.83) 0%,rgba(10,10,10,.78) 48%,rgba(10,10,10,.18) 72%,transparent 90%)}
 body.conversion-home #rappel-express{height:auto;min-height:0;align-self:start;padding:18px;gap:0}
 body.conversion-home #rappel-express h2{font-size:1.375rem;margin:0 0 4px}
 body.conversion-home #rappel-express .callback-required{margin-bottom:10px;font-size:.8125rem}
 body.conversion-home #rappel-express .callback-need-families legend{font-size:.875rem;margin-bottom:6px}
 body.conversion-home #rappel-express .callback-need-grid{gap:6px}
 body.conversion-home #rappel-express .callback-need-grid button{min-height:64px;padding:7px 6px;gap:4px;font-size:.8125rem}
 body.conversion-home #rappel-express .need-icon,body.conversion-home #rappel-express .need-icon svg{width:20px;height:20px}
 body.conversion-home #rappel-express .field-grid{gap:8px 10px}
 body.conversion-home #rappel-express .field label{font-size:.8125rem;margin-bottom:3px}
 body.conversion-home #rappel-express .field input:not([type=checkbox]),body.conversion-home #rappel-express .field select{height:44px;min-height:44px;padding:8px 10px;font-size:.9375rem}
 body.conversion-home #rappel-express .home-optional{margin:6px 0}
 body.conversion-home #rappel-express .home-optional summary{font-size:.8125rem;padding-block:8px}
 body.conversion-home #rappel-express .consent{font-size:.8125rem;line-height:1.4;margin-top:6px}
 body.conversion-home #rappel-express .consent-privacy{font-size:.8125rem;margin-bottom:8px}
 body.conversion-home #rappel-express .consent-privacy a{min-height:32px}
 body.conversion-home #rappel-express .callback-detail-action{display:none}
 body.conversion-home #rappel-express .hero-form-reassurance{font-size:.75rem;line-height:1.4;margin:8px 0 0}
 body.conversion-home #rappel-express .callback-alternative{font-size:.8125rem;margin:4px 0 0}
 body.conversion-home #rappel-express .callback-alternative a{min-height:36px}
}

/* callback-confirmation.css */
body.conversion-home #rappel-express.callback-confirmed > :not(.callback-confirmation){display:none!important}
body.conversion-home #rappel-express.callback-confirmed{height:auto;min-height:0;align-self:start}
body.conversion-home #rappel-express .callback-confirmation{padding:12px 4px;color:#333438;outline:none;scroll-margin-block:100px}
body.conversion-home #rappel-express .callback-confirmation .brand-v{display:block;width:30px;height:36px;margin-bottom:18px}
body.conversion-home #rappel-express .callback-confirmation h2{font-size:1.5rem;line-height:1.25;margin:0 0 16px;color:#333438}
body.conversion-home #rappel-express .callback-confirmation p{font-size:1rem;line-height:1.55;margin:0 0 16px;color:#333438}
body.conversion-home #rappel-express .callback-confirmation .callback-confirmation-reference{font-size:.875rem;color:#58595b;overflow-wrap:anywhere}
body.conversion-home #rappel-express .callback-confirmation a{display:inline-flex;align-items:center;min-height:44px;color:#a61976;font-weight:700;text-decoration:underline}
body.conversion-home #rappel-express .callback-confirmation a:focus-visible{outline:2px solid #a61976;outline-offset:4px}
@media(min-width:1200px){
 body.conversion-home #contenu .hero-couple.callback-complete{min-height:56.28vw}
}

/* home-mobile-359.css */
/* Homepage refinements confined to phone layouts. */
@media(max-width:767px){
 body.conversion-home main>.section{padding-block:32px}
 body.conversion-home main>.section>.container{padding-inline:20px;width:100%;box-sizing:border-box}
 body.conversion-home .section-title,body.conversion-home .cta-band h2,body.conversion-home .home-recruitment h2{font-size:clamp(1.5rem,6.5vw,1.9rem);line-height:1.22;margin-bottom:18px}
 body.conversion-home #site-header .logo{background:rgba(255,255,255,.72)}
 body.conversion-home #rappel-express{padding:20px 16px}
 body.conversion-home #rappel-express .callback-need-grid{gap:8px}
 body.conversion-home #rappel-express .callback-need-grid button{min-height:76px;padding:10px 8px;gap:6px;font-size:.9rem;line-height:1.25}
 body.conversion-home #rappel-express .need-icon{width:23px;height:23px}
 body.conversion-home #rappel-express .field-grid{gap:12px}
 body.conversion-home #rappel-express input:not([type=checkbox]),body.conversion-home #rappel-express select{min-height:48px;font-size:16px}
 body.conversion-home #rappel-express a.button[href*="demande.html"]{background:none;border:0;box-shadow:none;color:#a91d70;padding:10px 0;min-height:44px;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;border-radius:0}
 body.conversion-home #rappel-express .hero-form-reassurance{margin-block:12px;font-size:.85rem}
 body.conversion-home #rappel-express .callback-alternative{margin-block:12px 0}
 body.conversion-home #solutions .service-grid{gap:18px}
 body.conversion-home #solutions .service-photo{width:100%;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center}
 body.conversion-home #solutions .service-card h3{font-size:1.2rem;line-height:1.3;margin-top:16px;margin-bottom:8px}
 body.conversion-home #solutions .service-card p{margin-block:8px 14px;line-height:1.5}
 body.conversion-home .home-method-intro{margin-bottom:24px}
 body.conversion-home .home-steps{gap:20px}
 body.conversion-home .brand-update{margin-top:24px;padding-top:18px}
 body.conversion-home .home-budget-actions{margin-top:20px}
 body.conversion-home .cta-band{padding-block:28px}
 body.conversion-home .cta-band .final-photo{width:100%;height:auto!important;aspect-ratio:16/9;object-fit:cover;object-position:center 40%;border-radius:16px;margin-bottom:20px}
 body.conversion-home .cta-grid{gap:20px;padding-inline:20px}
 body.conversion-home .cta-actions{display:flex;flex-direction:column;gap:10px;margin-top:0}
 body.conversion-home .cta-actions .button{width:100%;box-sizing:border-box}
 body.conversion-home .existing-client-links{padding:22px 20px;margin-block:0}
 body.conversion-home .home-recruitment{padding-block:20px 28px}
 body.conversion-home .home-recruitment>.container{width:calc(100% - 40px);padding:22px 18px;background:#f5f3f5;border-left:3px solid #a91d70;border-radius:12px}
 body.conversion-home .home-recruitment p{margin-block:12px 18px;line-height:1.5}
 body.conversion-home .home-recruitment .button{width:100%;box-sizing:border-box}
 body.conversion-home .regulatory-disclosure{padding:20px 16px;margin-top:16px;margin-bottom:24px}
 body.conversion-home .regulatory-disclosure h2{font-size:1.35rem;line-height:1.25}
 body.conversion-home .regulatory-disclosure p{margin-block:12px;line-height:1.5}
 body.conversion-home .regulatory-conditions,body.conversion-home .regulatory-identity{padding-block:16px;margin-top:16px}
 body.conversion-home .regulatory-logos{gap:8px;padding-block:12px}
 body.conversion-home .regulatory-logos a{padding:10px;min-height:64px;gap:12px}
 body.conversion-home .regulatory-logos img{max-width:72px;max-height:40px;object-fit:contain}
 body.conversion-home .cv-assistant-launcher{width:48px;height:48px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 body.conversion-home #cv-assistant{inset:auto 12px calc(72px + env(safe-area-inset-bottom,0px)) 12px;width:auto;max-height:calc(100dvh - 100px - env(safe-area-inset-bottom,0px))}
 body.conversion-home .cv-review-card{box-sizing:border-box;min-width:0;flex:0 0 100%;width:100%;max-width:100%}
}

/* mobile-refinement-361.css */
/* Shared phone rhythm. Desktop layouts deliberately retain their existing rules. */
.hero-mobile-reassurance{display:none}
@media(max-width:767px){
 body #contenu>.section{padding-block:36px}
 body #contenu>.section>.container{width:calc(100% - 40px);padding-inline:0;box-sizing:border-box}
 body #contenu .section-title{font-size:clamp(1.625rem,6.7vw,1.875rem);line-height:1.22;letter-spacing:-.025em;margin-bottom:18px}
 body #contenu .button{min-height:48px;box-sizing:border-box;white-space:normal;line-height:1.35}
 body .compact-footer .footer-quick,body .compact-footer .footer-legal{gap:8px 18px;padding-block:16px}
 body .compact-footer .footer-quick a,body .compact-footer .footer-legal a{min-height:44px;font-size:.875rem;line-height:1.4;padding-block:6px}
 body .compact-footer .footer-bottom{padding-block:16px;font-size:.8125rem;line-height:1.55}
 body .regulatory-disclosure{box-sizing:border-box;width:calc(100% - 40px);padding:20px 16px;margin:20px auto 28px;border-radius:16px}
 body .regulatory-disclosure h2{font-size:1.375rem;line-height:1.25;margin:0 0 20px}
 body .regulatory-disclosure p{font-size:.9375rem;line-height:1.5;margin:12px 0}
 body .regulatory-disclosure :is(.regulatory-conditions,.regulatory-identity){padding-block:16px;margin-top:16px;gap:12px}
 body .regulatory-disclosure .regulatory-logos{gap:8px;padding-block:12px;margin-block:0}
 body .regulatory-disclosure .regulatory-logos a{padding:10px;min-height:64px;gap:12px}
 body .regulatory-disclosure .regulatory-logos img{max-width:72px;max-height:40px;object-fit:contain}
 body .cv-assistant-launcher{width:48px;height:48px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 4px 14px #0002}
 body.conversion-home #site-header{position:relative;inset:auto;background:#fafafa}
 body.conversion-home #site-header .site-header{background:linear-gradient(#fff,#f5f5f5);padding-bottom:0;box-shadow:none}
 body.conversion-home #site-header .header-inner{height:72px;min-height:72px;width:calc(100% - 40px)}
 body.conversion-home #site-header .logo{background:transparent;padding:0;border-radius:0}
 body.conversion-home #site-header .logo img{width:180px;max-height:48px}
 body.conversion-home #contenu .hero-couple{padding:0 0 28px!important;background:#f5f5f5;min-height:0}
 body.conversion-home #contenu .hero-couple::before,body.conversion-home #contenu .hero-couple::after{display:none}
 body.conversion-home #contenu .hero-couple .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"portrait" "copy" "form";width:100%;gap:0;min-height:0;padding:0}
 body.conversion-home #contenu .hero-couple .hero-portrait{grid-area:portrait;position:relative;inset:auto;width:100%;height:auto;max-width:none;aspect-ratio:3/2;margin:0;border-radius:0;background:#272729;z-index:0}
 body.conversion-home #contenu .hero-couple .hero-portrait picture{display:block;width:100%;height:100%}
 body.conversion-home #contenu .hero-couple .hero-portrait img{position:static;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;transform:none;filter:none!important;max-height:none}
 body.conversion-home #contenu .hero-couple .hero-portrait::after{content:"";display:block;position:absolute;inset:auto 0 0;height:28px;background:linear-gradient(transparent,#272729)}
 body.conversion-home #contenu .hero-couple .hero-mobile-study{display:none}
 body.conversion-home #contenu .hero-couple .hero-copy{grid-area:copy;width:100%;max-width:none;padding:22px 20px 36px;margin:0;box-sizing:border-box;background:#272729;color:#fff;position:relative}
 body.conversion-home #contenu .hero-couple .hero-copy::after{content:"";position:absolute;bottom:0;left:0;right:0;height:14px;background:linear-gradient(#272729,#f5f5f5);pointer-events:none}
 body.conversion-home #contenu .hero-couple .hero-copy>.eyebrow{font-size:.75rem;line-height:1.4;letter-spacing:.065em;margin:0 0 14px;color:#eee}
 body.conversion-home #contenu .hero-couple .hero-copy .display{font-size:clamp(2rem,8.2vw,2.7rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 18px;color:#fff!important;max-width:19ch}
 body.conversion-home #contenu .hero-couple .hero-copy .display em{color:#e38bc1!important;background:none;padding:0;font-style:normal}
 body.conversion-home #contenu .hero-couple .hero-title-ending,body.conversion-home #contenu .hero-couple .hero-title-tail{display:inline}
 body.conversion-home #contenu .hero-couple .hero-summary-mobile{display:block;font-size:1rem;line-height:1.55;color:#eee;margin:0 0 16px;max-width:38ch}
 body.conversion-home #contenu .hero-couple :is(.hero-support,.hero-study-badge,.hero-review-proof,.hero-summary-full){display:none}
 body.conversion-home #contenu .hero-couple .hero-mobile-reassurance{display:block;color:#fff;font-size:.875rem;line-height:1.5;margin:0 0 20px}
 body.conversion-home #contenu .hero-couple .hero-actions{margin:0;display:block}
 body.conversion-home #contenu .hero-couple .hero-actions .button-primary{width:100%;min-height:50px;padding:14px 18px}
 body.conversion-home #contenu .hero-couple .hero-actions .button-callback{display:none}
 body.conversion-home #contenu #rappel-express{grid-area:form;width:calc(100% - 40px);margin:20px auto 0;padding:22px 18px;box-sizing:border-box;border-radius:16px;box-shadow:0 4px 20px #00000008;min-height:0}
 body.conversion-home #rappel-express .field-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 body.conversion-home #rappel-express .field{grid-column:1/-1}
 body.conversion-home #rappel-express :is(.home-need-grid,.callback-need-grid){gap:8px}
 body.conversion-home #rappel-express :is(.home-need-grid,.callback-need-grid) button{min-height:76px;padding:10px 6px;font-size:.875rem;gap:6px}
 body.conversion-home #rappel-express input:not([type=checkbox]),body.conversion-home #rappel-express select{min-height:48px;font-size:1rem}
 body.conversion-home #contenu #rappel-express .callback-detail-action>a.button{background:transparent!important;border:0!important;box-shadow:none!important;padding:8px 0!important;min-height:44px;color:#a91d70!important;text-decoration:underline!important;text-underline-offset:4px;border-radius:0;font-size:.875rem!important}
 body.conversion-home #contenu #solutions .service-card{padding:0 18px 18px;border-radius:16px;min-height:0}
 body.conversion-home #contenu #solutions .service-card .service-photo{width:calc(100% + 36px);max-width:none;margin:0 -18px;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important}
 body.conversion-home #contenu #solutions .service-card .service-photo[src*="hypothecaire"]{object-position:center 62%!important}
 body.conversion-home #contenu #solutions .service-card .service-photo[src*="assurance-emprunteur"]{object-position:center 45%!important}
 body.conversion-home #contenu #solutions .service-card h3{font-size:1.25rem;line-height:1.25;margin:18px 0 8px}
 body.conversion-home #contenu #solutions .service-card p{font-size:1rem;line-height:1.5;margin:8px 0 12px}
 body.conversion-home #contenu .home-accompagnement>.container{display:flex;flex-direction:column;gap:0}
 body.conversion-home #contenu .home-method-intro{margin-bottom:24px}
 body.conversion-home #contenu .home-steps{gap:0}
 body.conversion-home #contenu .home-steps li{padding:18px 0;grid-template-columns:32px minmax(0,1fr);gap:8px 12px}
 body.conversion-home #contenu .brand-update{margin-top:18px;padding-top:18px;gap:8px 12px}
 body.conversion-home #contenu #nos-partenaires .section-head{gap:12px;margin-bottom:20px}
 body.conversion-home #contenu #nos-partenaires .insurance-partners-grid{margin:8px 0;padding:4px 0 8px}
 body.conversion-home #contenu #nos-partenaires .insurance-partner{min-height:0;padding:12px;gap:8px}
 body.conversion-home #contenu #nos-partenaires .partner-strip-controls{margin:4px 0 14px}
 body.conversion-home #contenu #nos-partenaires .home-insurance-partners{margin:20px 0 16px}
 body.conversion-home #contenu #nos-partenaires .partner-links{gap:8px}
 body.conversion-home #contenu .cta-band{padding:28px 0}
 body.conversion-home #contenu .cta-band .final-photo{width:100%;height:auto!important;aspect-ratio:3/2;object-fit:contain;border-radius:16px;margin:0}
 body.conversion-home #contenu .cta-band .cta-photo-wrap{width:calc(100% - 40px);margin:0 auto 22px}
 body.conversion-home #contenu .cta-grid{width:calc(100% - 40px);padding:0;gap:20px}
 body.conversion-home #contenu .existing-client-links{box-sizing:border-box;width:calc(100% - 40px);padding:24px 0;margin:0 auto}
 body.conversion-home #contenu .existing-client-links p{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:0}
 body.conversion-home #contenu .existing-client-links strong{font-size:1rem;line-height:1.5;margin-bottom:8px}
 body.conversion-home #contenu .existing-client-links a{font-size:1rem;line-height:1.5;min-height:44px;padding:8px 0}
 body.conversion-home #contenu .home-recruitment{padding:8px 0 24px}
 body.conversion-home #contenu .home-recruitment>.container{box-sizing:border-box;width:calc(100% - 40px);margin:0 auto;padding:22px 18px;border-radius:16px;background:#f5f3f5;border-left:3px solid #a91d70}
 body.conversion-home #contenu .home-recruitment h2{font-size:1.625rem;line-height:1.22;margin:0 0 14px}
 body.conversion-home #contenu .home-recruitment p{font-size:1rem;line-height:1.5;margin:0 0 18px}
 body.conversion-home #avis-clients .cv-review-card{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:0;max-width:100%}
 body.conversion-home .regulatory-disclosure{width:calc(100% - 40px);padding:20px 16px;margin:20px auto 28px}
 body.conversion-home .regulatory-disclosure p{margin:12px 0;font-size:.9375rem;line-height:1.5}
 body.conversion-home .regulatory-disclosure :is(.regulatory-conditions,.regulatory-identity){padding-block:16px;margin-top:16px;gap:12px}
}

/* v362: one detached navigation band and a short transition on every phone page. */
@media(max-width:767px){
 body:not(.menu-open) #site-header{position:relative;inset:auto;z-index:90;background:#fafafa}
 body:not(.menu-open) #site-header .site-header{position:relative;background:linear-gradient(180deg,#fff,#f5f5f5);padding:0;border:0;box-shadow:none;overflow:visible}
 body #site-header .topbar{display:none}
 body:not(.menu-open) #site-header::after{content:"";display:block;position:absolute;left:0;right:0;top:100%;height:20px;background:linear-gradient(180deg,#f5f5f5 0%,rgba(245,245,245,.7) 35%,rgba(245,245,245,0) 100%);pointer-events:none;z-index:1}
 body #site-header .header-inner{box-sizing:border-box;width:calc(100% - 40px)!important;max-width:none;height:72px!important;min-height:72px;margin-inline:auto;padding:0!important;gap:12px}
 body #site-header .header-inner .logo{background:transparent;padding:0;border-radius:0;box-shadow:none}
 body #site-header .header-inner .logo img{display:block;width:180px!important;max-width:calc(100vw - 116px);height:auto;max-height:48px;object-fit:contain}
 body #site-header .menu-toggle{background:#333438;flex-shrink:0;min-width:44px;min-height:44px}
 body.menu-open #site-header::after{display:none}
}

/* home-title-373.css */
/* Keep the slogan in readable phrase groups at every width. */
body.conversion-home #contenu .hero-couple .hero-copy .display {text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
body.conversion-home #contenu .hero-couple .hero-copy .display em {white-space:nowrap}
@media(max-width:767px){
 body.conversion-home #contenu .hero-couple .hero-copy .display {max-width:none;font-size:clamp(1.75rem,7.8vw,2.7rem);line-height:1.12}
 body.conversion-home #contenu .hero-couple .hero-copy .hero-title-tail {display:block}
}

/* home-card-spacing-383.css */
/* Compact mobile card rhythm; preserve imagery, typography and desktop layout. */
@media(max-width:767px){
 body.conversion-home #contenu #solutions .service-card{padding-bottom:20px;row-gap:0}
 body.conversion-home #contenu #solutions .service-card>h3{margin-bottom:8px}
 body.conversion-home #contenu #solutions .service-card>h3+p{margin:0}
 body.conversion-home #contenu #solutions .service-card>.service-card-main{margin-top:16px;min-height:0;padding-block:0}
 body.conversion-home #contenu #solutions .service-card>.service-card-main+p{margin:8px 0 0}
 body.conversion-home #contenu .existing-client-links strong{margin-bottom:4px}
 body.conversion-home #contenu .existing-client-links a{box-sizing:border-box;display:flex;align-items:center;min-height:44px;padding:4px 0}
}

/* remote-service-377.css */
.remote-service-note{font-size:1rem;line-height:1.6;margin:16px 0 24px;max-width:72ch}body.conversion-home .hero-support{max-width:46ch;line-height:1.5}@media(max-width:767px){.remote-service-note{font-size:1rem;line-height:1.55;margin:14px 0 22px}}

/* hero-desktop-386.css */
/* Desktop photography: transparent edges reveal the actual hero background.
   Keep source proportions, focal subjects and the existing touch layouts. */
@media (min-width:1200px) {
  body main > .hero-rounded::after,
  body.conversion-home main > .hero-couple::after {
    display:none;
  }

  body main > .hero-rounded .solution-hero-photo {
    --photo-left:18%;
    --photo-top:5%;
    --photo-bottom:93%;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    border-radius:0;
    object-fit:contain;
    filter:none;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 var(--photo-left),#000 97%,transparent),linear-gradient(to bottom,transparent,#000 var(--photo-top),#000 var(--photo-bottom),transparent);
    mask-image:linear-gradient(to right,transparent,#000 var(--photo-left),#000 97%,transparent),linear-gradient(to bottom,transparent,#000 var(--photo-top),#000 var(--photo-bottom),transparent);
    -webkit-mask-composite:source-in;
    mask-composite:intersect;
  }

  /* People near the left edge: keep the transition outside faces and gestures. */
  body main > .hero-rounded .solution-hero-photo:is(
    [src*="hero-equipe"],[src*="emprunteur-changement"],
    [src*="mutuelle-collective-hero"],[src*="mutuelle-particuliers-hero"],
    [src*="mutuelle-seniors-hero"],[src*="mutuelle-tns-hero"],
    [src*="prevoyance-collective-hero"],[src*="prevoyance-dirigeants-hero"],
    [src*="prevoyance-particuliers-hero"],[src*="prevoyance-tns-hero"],
    [src*="photo-partenariat"],[src*="scene-conseil"]
  ) { --photo-left:6%; --photo-top:2%; --photo-bottom:96%; }

  /* Foreground objects carry the meaning; avoid masking the calculator or keys. */
  body main > .hero-rounded .solution-hero-photo:is(
    [src*="hero-simulateurs"],[src*="credit-immobilier-cles"],
    [src*="immobilier-cles"],[src*="equipements-sante"],
    [src*="scene-protection"],[src*="regroupement-organisation"],
    [src*="hero-scpi"],[src*="hero-juridique"],[src*="hero-hypothecaire"]
  ) { --photo-left:9%; --photo-bottom:96%; }

  /* Spacious settings allow a wider blend through unoccupied decor. */
  body main > .hero-rounded .solution-hero-photo:is(
    [src*="scene-salon"],[src*="hero-banques"],[src*="hero-confidentialite"],
    [src*="immo-achat"],[src*="immo-neuf"],[src*="patrimoine-residentiel"]
  ) { --photo-left:24%; }

  /* This naturally dark photograph already matches the surrounding charcoal. */
  body main > .hero-rounded .solution-hero-photo[src*="photo-contact"] {
    --photo-left:12%; --photo-top:4%; --photo-bottom:95%;
  }

  body.conversion-home #contenu .hero-couple .hero-portrait picture {
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 87%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 87%,transparent 100%);
  }
}
