/* solution-hero.css */
/* Reversible hero trial on the three selected solution pages. */
.solution-hero .page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,64px)}
.solution-hero-copy{min-width:0}
.solution-hero .solution-hero-copy h1{font-size:clamp(2.2rem,3.6vw,3.8rem);line-height:1.12;margin:0 0 24px}
.solution-hero .solution-hero-copy p{font-size:1.0625rem;line-height:1.7;margin:0;max-width:100%}
.solution-hero .solution-hero-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;filter:none;border-radius:20px;grid-column:auto;margin:0}
@media(max-width:820px){.solution-hero .page-hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}.solution-hero .solution-hero-copy h1{font-size:clamp(2rem,7vw,3.2rem)}.solution-hero .solution-hero-photo{border-radius:14px}}
/* Give long page titles a little more room than their photograph. */
.solution-hero .page-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,52px)}
.solution-hero .solution-hero-copy h1{font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.16;text-wrap:balance}
@media(max-width:900px){.solution-hero .page-hero-grid{grid-template-columns:minmax(0,1fr);gap:26px}.solution-hero .solution-hero-photo{max-width:680px;margin-inline:auto}}
@media(max-width:560px){.solution-hero .solution-hero-copy h1{font-size:clamp(1.85rem,7.2vw,2.5rem);line-height:1.2}.solution-hero .solution-hero-copy p{font-size:1rem}}

/* 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}}

/* solutions-mobile.css */
/* Mobile-only refinement. Desktop presentation remains unchanged. */
@media (max-width:600px){
  .content-split.mobile-single-photo{grid-template-columns:minmax(0,1fr);gap:0}
  .content-split.mobile-single-photo > img.editorial-photo{display:none}
  body[data-page="assurances"] .info-card > img.editorial-photo{
    width:112px!important;height:75px;max-width:100%;object-fit:contain;
    border-radius:8px;display:block;margin:0 0 16px!important;
  }
}

/* All introductory layouts: one large illustration at most on phones. */
@media(max-width:600px){
 .content-split.mobile-single-photo>figure.illustration-figure,
 .article-content>img.mobile-intro-secondary{display:none}
 .mobile-blog-intro .solution-hero-photo{display:none}
 .mobile-blog-intro .page-hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .mobile-blog-list .page-hero{padding-bottom:24px}
 .mobile-blog-list .page-hero+section{padding-top:24px}
 .mobile-blog-list .blog-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .mobile-blog-list .article-card{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:14px;padding:16px;min-height:0}
 .mobile-blog-list .article-card>.article-photo{width:96px!important;height:64px!important;aspect-ratio:3/2;object-fit:contain;border-radius:8px;margin:0;filter:none}
 .mobile-blog-list .article-body{min-width:0;padding:0}
 .mobile-blog-list .article-body h3{font-size:1.0625rem;line-height:1.4;margin:8px 0}
 .mobile-blog-list .article-body .article-meta{font-size:.8125rem}
 .mobile-blog-list .article-body p{font-size:.9375rem;line-height:1.5;margin:8px 0}
 .mobile-blog-list .article-body .text-link{font-size:.9375rem;margin-top:10px}
}

/* intro-tablet.css */
/* Tablet and phone landscape introductions. Full images preserve colour accents. */
@media(min-width:601px) and (max-width:1199px){
 main .page-hero.solution-hero{padding-block:28px}
 main .page-hero.solution-hero .breadcrumb{margin-bottom:18px;flex-wrap:wrap}
 main .page-hero.solution-hero .page-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);align-items:center;gap:24px}
 main .page-hero.solution-hero .solution-hero-copy{min-width:0}
 main .page-hero.solution-hero .solution-hero-copy h1{font-size:clamp(1.65rem,3.2vw,2.4rem);line-height:1.18;margin:0 0 16px;overflow-wrap:break-word;text-wrap:balance}
 main .page-hero.solution-hero .solution-hero-copy p{font-size:1rem;line-height:1.55}
 main .page-hero.solution-hero .solution-hero-photo{display:block;width:min(100%,360px);height:auto;max-width:360px;max-height:240px;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0;justify-self:center;border-radius:14px;filter:none}
 main .page-hero.solution-hero .solution-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
 main .page-hero.solution-hero .button{white-space:normal;text-align:center;min-height:44px;font-size:.9375rem;padding:12px 16px}
 .content-split.mobile-single-photo{grid-template-columns:minmax(0,1fr);gap:0}
 .content-split.mobile-single-photo>img.editorial-photo,
 .content-split.mobile-single-photo>figure.illustration-figure,
 .article-content>img.mobile-intro-secondary{display:none}
}

/* 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}

/* 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}
}

/* panorama-hero.css */
/* Preserve the full source photograph; the dark extension carries the copy. */
body main>.panorama-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--text-strong);padding:32px 0 44px;color:white}
.panorama-hero>.solution-hero-photo{position:absolute;inset:0 0 0 auto;display:block;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:right center;border-radius:0;margin:0;filter:none;z-index:-2}
.panorama-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--text-strong) 0%,var(--text-strong) 34%,rgba(36,36,38,.94) 43%,rgba(36,36,38,.55) 55%,transparent 70%);pointer-events:none}
.panorama-hero>.container{position:relative}
.panorama-hero .breadcrumb{color:#e0e0e0;margin:0 0 28px;font-size:.875rem}
.panorama-hero .breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.panorama-hero .page-hero-grid{display:block;min-height:440px}
.panorama-hero .solution-hero-copy{width:48%;max-width:570px}
.panorama-hero .solution-hero-copy h1{color:var(--paper);font-size:clamp(2rem,2.8vw,2.8rem);line-height:1.18;margin:0 0 22px;text-wrap:balance}
.panorama-hero .solution-hero-copy h1 em{font-style:normal;color:var(--brand-fuchsia)}
.panorama-hero .solution-hero-copy>p{color:#eeeeee;font-size:1.0625rem;line-height:1.65}
.panorama-hero .solution-actions{gap:12px;align-items:center;margin-top:26px}
.panorama-hero .solution-actions .button{white-space:normal;text-align:center;line-height:1.35;padding:13px 18px;min-height:48px}
.panorama-hero .solution-actions .button-callback{background:transparent;color:white;border:1px solid var(--border-control)}
.panorama-hero .solution-actions .button-callback:hover{background:#8e1c69;border-color:#8e1c69}
.panorama-hero .solution-hero-copy .solution-reassurance{color:#e0e0e0!important;font-size:.875rem!important;margin-top:18px!important}
@media(max-width:1100px){
 body main>.panorama-hero{padding:26px 0 0;display:flex;flex-direction:column}
 .panorama-hero:before{display:none}
 .panorama-hero>.container{order:0}
 .panorama-hero .page-hero-grid{min-height:0}
 .panorama-hero .solution-hero-copy{width:100%;max-width:700px;padding-bottom:28px}
 .panorama-hero .breadcrumb{margin-bottom:22px}
 .panorama-hero>.solution-hero-photo{position:relative;inset:auto;order:1;z-index:auto;width:100%;height:auto;max-width:none;max-height:none;aspect-ratio:3/2;object-fit:contain;object-position:center;border-radius:0}
}

/* Keep complete scenes away from the copy on presentation pages. */
@media(min-width:1101px){
 .panorama-preserve>.solution-hero-photo{width:52%;object-fit:contain;object-position:right center}
 .panorama-preserve:before{background:linear-gradient(90deg,var(--text-strong) 0%,var(--text-strong) 47%,rgba(36,36,38,.6) 50%,transparent 56%)}
 .panorama-preserve .solution-hero-copy{width:44%;max-width:540px}
 .panorama-preserve .partner-access{margin-top:24px}
 .panorama-preserve .partner-access .button{white-space:normal;max-width:100%;text-align:center}
}
.panorama-hero .solution-hero-copy .eyebrow{color:var(--brand-fuchsia)}
.panorama-hero .solution-hero-copy a.text-link{color:#c5c5c5}
.panorama-hero .solution-hero-copy .button-outline{color:white;border-color:var(--border-control);background:transparent}

/* Override the global heading palette on dark panoramic backgrounds. */
.panorama-hero .solution-hero-copy h1{color:var(--paper)!important}
.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{color:var(--paper)!important}
.panorama-hero .breadcrumb,.panorama-hero .breadcrumb a,.panorama-hero .solution-actions .button{color:var(--paper)}

/* 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}}

/* 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}
}

/* prevoyance.css */
/* Four equal audiences; shared hero rules retain desktop / touch distinctions. */
.protection-page .protection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.protection-page .protection-card{min-width:0;background:var(--paper);border:1px solid #dcdcdc;border-top:3px solid var(--brand-fuchsia);border-radius:14px;padding:28px}
.protection-page .protection-card h2,.protection-page .protection-card h3{font-size:1.35rem;line-height:1.35;margin:0 0 14px;color:var(--brand-gray)}
.protection-page .protection-card p{margin:0;line-height:1.7}
.protection-page .protection-card .text-link{display:inline-block;margin-top:18px}
.protection-page .protection-note{font-size:1rem;margin-top:24px}
.protection-page .protection-choice-grid .protection-card{display:flex;flex-direction:column}
.protection-page .protection-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding-top:18px}
.protection-page .protection-card-actions .text-link{display:inline-flex;min-height:44px;max-width:100%;margin:0;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.protection-page .protection-note .text-link{max-width:100%;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.protection-page .protection-note .text-link span[aria-hidden]{flex-shrink:0}

.protection-page .protection-intro,.protection-page .protection-focus{max-width:900px;line-height:1.75}
.protection-page .protection-focus{border-left:3px solid var(--brand-fuchsia);padding-left:24px;margin-top:24px}
.protection-page .protection-faq{max-width:960px;margin-top:24px}
.protection-page .protection-faq details{border-bottom:1px solid #d7d7d7;padding:18px 0}
.protection-page .protection-faq summary{font-size:1.125rem;font-weight:700;cursor:pointer;line-height:1.5}
.protection-page .protection-faq p{margin:14px 0 0;line-height:1.7}
.protection-access{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.protection-access a{border:1px solid #d0d0d0;border-radius:9px;padding:12px 16px;color:var(--brand-fuchsia);font-size:1rem}
.protection-access[aria-label="Préparer un premier achat"]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.protection-access[aria-label="Préparer un premier achat"] a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:14px 16px;border:1px solid #d7d7d7;border-radius:14px;background:var(--paper);color:#554c52;font-size:.95rem;font-weight:750;line-height:1.25;box-shadow:0 5px 16px rgba(46,34,41,.05);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease}
.protection-access[aria-label="Préparer un premier achat"] a::after{content:"→";flex:0 0 auto;color:var(--brand-fuchsia);font-size:1.15rem}
.protection-access[aria-label="Préparer un premier achat"] a:first-child{border-color:var(--brand-fuchsia);background:var(--brand-fuchsia);color:var(--paper);box-shadow:0 8px 20px rgba(176,31,112,.18)}
.protection-access[aria-label="Préparer un premier achat"] a:first-child::after{color:var(--paper)}
.protection-access[aria-label="Préparer un premier achat"] a:hover{border-color:var(--brand-fuchsia);color:var(--brand-fuchsia);box-shadow:0 9px 22px rgba(176,31,112,.12);transform:translateY(-2px)}
.protection-access[aria-label="Préparer un premier achat"] a:first-child:hover{color:var(--paper);background:#92175d}
@media(max-width:1050px){.protection-access[aria-label="Préparer un premier achat"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
.protection-page a:focus-visible,.protection-page summary:focus-visible{outline:2px solid var(--brand-fuchsia);outline-offset:4px}
@media(max-width:600px){.protection-page .protection-grid{grid-template-columns:minmax(0,1fr);gap:18px}.protection-page .protection-card{padding:22px}.protection-access{flex-direction:column}.protection-access[aria-label="Préparer un premier achat"]{grid-template-columns:minmax(0,1fr);gap:10px}.protection-access[aria-label="Préparer un premier achat"] a{min-height:56px;padding:12px 15px}}

/* hero-rounded.css */
/* Shared desktop hero: original images, right corners and left fade. */
@media(min-width:1200px){
 body main>.hero-rounded .solution-hero-photo{
  inset:50% 24px auto auto;
  width:calc(50% - 24px);
  max-width:760px;
  height:auto;
  max-height:none;
  aspect-ratio:3/2;
  object-fit:contain;
  object-position:center;
  transform:translateY(-50%);
  border-radius:0 20px 20px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 6%,rgba(0,0,0,.5) 15%,#000 30%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 6%,rgba(0,0,0,.5) 15%,#000 30%);
 }
 body main>.hero-rounded:before{
  background:none;
 }
 body main>.hero-rounded{position:relative;isolation:isolate;overflow:hidden;background:var(--text-strong);padding:32px 0 40px;color:var(--paper);min-height:500px}
 body main>.hero-rounded>.container{position:static}
 body main>.hero-rounded .page-hero-grid{display:block;min-height:380px}
 body main>.hero-rounded .solution-hero-copy{width:44%;max-width:540px}
 body main>.hero-rounded .solution-hero-photo{z-index:-1;position:absolute}
 body main>.hero-rounded .solution-hero-copy h1{color:var(--paper)!important;font-size:clamp(2rem,2.8vw,2.8rem);line-height:1.18}
 body main>.hero-rounded .solution-hero-copy h1 em{color:var(--brand-fuchsia)!important}
 body main>.hero-rounded .solution-hero-copy>p,body main>.hero-rounded .breadcrumb,body main>.hero-rounded .breadcrumb a{color:var(--paper)!important}
 body main>.hero-rounded .solution-hero-copy .hero-topic{color:var(--paper)!important}
}

/* 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;
}

/* 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}
}

/* 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}
}

/* card-surfaces.css */
/* Keep the existing native link and extend its target to its single-action card. */
body main .card-surface{position:relative;isolation:isolate}
body main .card-surface .card-surface-link{position:static;display:inline-flex;transform:none}
body main .card-surface .card-surface-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;cursor:pointer}
body main .card-surface:has(.card-surface-link:focus-visible){outline:3px solid var(--brand-fuchsia);outline-offset:4px}
body main .section-anthracite .card-surface:has(.card-surface-link:focus-visible){outline-color:#fff}
@media(hover:hover){body main .card-surface:hover{border-color:var(--brand-fuchsia)}}

/* mobile-hero-framing.css */
/* Selected mobile heroes only. Human scenes, home, articles and desktop stay unchanged. */
@media(max-width:600px){
 body main>.page-hero.solution-hero.mobile-hero-framed .solution-hero-photo{
  height:var(--mobile-hero-height);min-height:0;max-height:none;aspect-ratio:auto;
  object-fit:cover;object-position:50% var(--mobile-hero-y);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 95%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 95%,transparent 100%);
 }
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/photo-contact.webp"]{--mobile-hero-height:47vw;--mobile-hero-y:55%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/hero-simulateurs.webp"]{--mobile-hero-height:49vw;--mobile-hero-y:62%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/emprunteur-nouveau.webp"]{--mobile-hero-height:53vw;--mobile-hero-y:60%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/assurance-emprunteur-protection.webp"]{--mobile-hero-height:57vw;--mobile-hero-y:42%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/assurance-emprunteur-protection.webp"]{--mobile-hero-height:57vw;--mobile-hero-y:42%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/immo-achat.webp"]{--mobile-hero-height:55vw;--mobile-hero-y:52%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/immo-neuf.webp"]{--mobile-hero-height:56vw;--mobile-hero-y:62%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/credit-immobilier-villa.webp"]{--mobile-hero-height:56vw;--mobile-hero-y:44%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/hero-locatif-sci.webp"]{--mobile-hero-height:56vw;--mobile-hero-y:58%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/multirisque-locaux.webp"]{--mobile-hero-height:56vw;--mobile-hero-y:55%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/mutuelle-collective.webp"]{--mobile-hero-height:53vw;--mobile-hero-y:60%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/hero-hypothecaire.webp"]{--mobile-hero-height:56vw;--mobile-hero-y:62%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/immo-relais.webp"]{--mobile-hero-height:55vw;--mobile-hero-y:55%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/prevoyance-famille.webp"]{--mobile-hero-height:53vw;--mobile-hero-y:60%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/credit-immobilier-cles.webp"]{--mobile-hero-height:56vw;--mobile-hero-y:58%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/regroupement-organisation.webp"]{--mobile-hero-height:53vw;--mobile-hero-y:60%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/scene-salon.webp"]{--mobile-hero-height:55vw;--mobile-hero-y:56%}
 body main>.mobile-hero-framed .solution-hero-photo[src="assets/responsabilite-professionnelle.webp"]{--mobile-hero-height:53vw;--mobile-hero-y:60%}
}

/* 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}
}

/* immersive-navigation.css */
/* Shared homepage-style navigation over existing interior hero photographs. */
body.immersive-interior{position:relative}
body.immersive-interior #site-header{position:absolute;inset:0 0 auto;z-index:90}
body.immersive-interior #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.immersive-interior #site-header .header-inner{height:84px}
body.immersive-interior #site-header .logo img{height:auto;max-height:62px}
body.immersive-interior #site-header .menu-toggle{background:#333438;flex-shrink:0}
body.immersive-interior.menu-open #site-header .site-header{background:#fff;padding-bottom:0}
@media(max-width:1280px){
 body.immersive-interior #site-header .site-header{background:none}
 body.immersive-interior #site-header .logo{background:rgba(255,255,255,.82);border-radius:10px;padding:6px 9px}
 body.immersive-interior #site-header .logo img{width:clamp(175px,27vw,230px)}
 body.immersive-interior.menu-open #site-header .site-header{background:#fff}
}
@media(max-width:1199px){
 body.immersive-interior #contenu>.page-hero{padding-top:0!important}
 body.immersive-interior #contenu>.page-hero .solution-hero-photo{border-radius:0;min-height:200px}
}
/* Preserve the entire scene: the original 3:2 asset must not fill a wide banner. */
@media(min-width:1200px){
 body.immersive-interior #contenu>.page-hero{padding-top:126px!important;padding-bottom:54px!important;min-height:clamp(540px,calc(34.667vw + 150px),820px)}
 body.immersive-interior #contenu>.page-hero .solution-hero-photo{position:absolute;inset:106px 20px 48px auto;width:calc(52% - 20px);max-width:1000px;height:calc(100% - 154px);max-height:none;aspect-ratio:auto;transform:none;object-fit:contain;object-position:center;filter:none;border-radius:0;z-index:-2;mask-image:linear-gradient(90deg,transparent,#000 5%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%)}
 body.immersive-interior #contenu>.page-hero::before{display:none;background:none}
 body.immersive-interior #contenu>.page-hero::after{height:44px}
}

/* insurance-overview.css */
body.insurance-overview #contenu .journey-route-section{background:#333438!important;color:#fff!important}
body.insurance-overview #contenu .journey-route-section> .container>h2{color:#fff!important}
body.insurance-overview #contenu .protection-card{min-height:0;padding:22px}
body.insurance-overview #contenu .insurance-tariff{background:#fff;color:#333438}
body.insurance-overview #contenu .insurance-tariff h2{font-size:1.6rem;margin-bottom:24px}
body.insurance-overview #contenu .insurance-tariff .disclaimer{font-size:.875rem!important;line-height:1.5;color:#58595b!important}
body.insurance-overview #contenu a.button.button-callback{background:#fff!important;color:#333438!important;border:1px solid #737477!important}
body.insurance-overview #contenu a.button.button-callback:hover{background:#f1f1f1!important}
body.insurance-overview #contenu .insurance-explained{display:grid;gap:32px}
body.insurance-overview #contenu .insurance-explained h2{font-size:1.6rem;line-height:1.3}
body.insurance-overview #contenu .insurance-comparison .journey-criteria{grid-template-columns:1fr}
body.insurance-overview #contenu .insurance-comparison p{color:#58595b}
body.insurance-overview #contenu :is(.protection-faq,.faq) summary{min-height:48px;padding:18px 36px 18px 0;line-height:1.45}
body.insurance-overview #contenu :is(.protection-faq,.faq) summary::after{top:50%;transform:translateY(-50%)}
body.insurance-overview #contenu .insurance-profile-grid{display:grid;gap:0}
body.insurance-overview #contenu .insurance-profile-grid details{border-top:1px solid #68696b;padding:0;background:none}
body.insurance-overview #contenu .insurance-profile-grid summary{cursor:pointer;min-height:48px;padding:20px 32px 20px 0;font-weight:700;color:#fff;line-height:1.4}
body.insurance-overview #contenu .insurance-profile-grid summary::after{color:#fff}
body.insurance-overview #contenu .insurance-profile-grid details>div{padding-bottom:20px}
body.insurance-overview #contenu .insurance-profile-grid p{color:#e2e2e5;margin:0;line-height:1.6}
body.insurance-overview #contenu .insurance-profile-grid a{display:inline-flex;color:#fff;margin-top:12px;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px}
body.insurance-overview #contenu .insurance-final h2{font-size:1.8rem;line-height:1.25}
body.insurance-overview #contenu .insurance-final p{margin:16px 0 24px;max-width:60ch}
@media(min-width:1200px){
 body.insurance-overview #contenu>.section{padding-block:48px}
 body.insurance-overview #contenu .insurance-explained{grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
 body.insurance-overview #contenu .insurance-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
 body.insurance-overview #contenu .insurance-profile-grid summary{list-style:none;cursor:default;padding-right:0}
 body.insurance-overview #contenu .insurance-profile-grid summary::after{display:none}
 body.insurance-overview #contenu .protection-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1199px){
 body.insurance-overview #contenu>.section{padding-block:32px}
 body.insurance-overview #contenu .insurance-final .solution-actions{display:flex;flex-direction:column;gap:12px}
 body.insurance-overview #contenu .insurance-final .button{width:100%}
 body.insurance-overview #site-header .logo{padding:6px 8px;background:rgba(255,255,255,.68);border-radius:12px}
 body.insurance-overview #site-header .logo img{width:clamp(155px,43vw,200px)}
}

body.insurance-overview #contenu .insurance-tariff-layout{display:flex;align-items:center;justify-content:space-between;gap:28px}
body.insurance-overview #contenu .insurance-tariff-copy{flex:1;min-width:0}
body.insurance-overview #contenu .insurance-tariff h2{margin:0 0 10px}
body.insurance-overview #contenu .insurance-tariff-copy>p{margin:0;line-height:1.5}
body.insurance-overview #contenu .insurance-tariff-copy>.disclaimer{margin-top:8px;max-width:85ch}
body.insurance-overview #contenu .insurance-tariff .button{flex-shrink:0}
body.insurance-overview #contenu .protection-card{padding:0;overflow:hidden}
body.insurance-overview #contenu .insurance-route-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;padding:24px;height:100%;color:#333438;text-decoration:none;border-radius:inherit}
body.insurance-overview #contenu .insurance-route-link h3{margin:0;font-size:1.25rem;line-height:1.35}
body.insurance-overview #contenu .insurance-route-link p{grid-column:1;margin:0;line-height:1.5}
body.insurance-overview #contenu .insurance-route-arrow{grid-column:2;grid-row:1 / 3;align-self:center;color:var(--brand-fuchsia);font-size:1.6rem}
body.insurance-overview #contenu .insurance-route-link:hover{background:#f5f5f5}
body.insurance-overview #contenu .insurance-route-link:focus-visible{outline:3px solid var(--brand-fuchsia);outline-offset:-4px}
@media(max-width:1199px){
 body.insurance-overview #contenu .insurance-tariff-layout{flex-direction:column;align-items:stretch;gap:18px}
 body.insurance-overview #contenu .insurance-route-link{padding:20px;gap:8px 16px}
}

/* Explicit light-surface colours prevent dark-section styles leaking into the comparison. */
body.insurance-overview #contenu .insurance-comparison .journey-criterion h3{color:#333438!important}
body.insurance-overview #contenu .insurance-comparison .journey-criterion{border-color:#d5d5d7}
@media(min-width:1200px){
 body.insurance-overview #contenu .page-hero h1 em{color:#ef85bb!important}
}
/* Keep the desktop reading rhythm compact and aligned. */
body.insurance-overview #contenu .insurance-route-link{align-content:start;grid-template-rows:auto 1fr}
body.insurance-overview #contenu .protection-faq details{padding:0}
body.insurance-overview #contenu .protection-faq details[open]{padding-bottom:16px}
body.insurance-overview #contenu .protection-faq summary{padding-block:16px}
body.insurance-overview #contenu .insurance-profile-grid details{border-bottom:0}
body.insurance-overview #contenu .insurance-profile-grid details>div{padding-bottom:12px}
body.insurance-overview #contenu .insurance-profile-grid summary{padding-block:16px}
body.insurance-overview #contenu .insurance-health .protection-faq{max-width:none;margin-top:12px}
body.insurance-overview #contenu .insurance-health .protection-note{margin:16px 0 0;max-width:100ch}
body.insurance-overview #contenu .insurance-faq-section .faq{margin-top:24px}
@media(min-width:1200px){
 body.insurance-overview #contenu>.page-hero{display:flex;align-items:center}
 body.insurance-overview #contenu .insurance-profile-grid{gap:16px 40px}
 body.insurance-overview #contenu>.insurance-health{padding-block:32px}
 body.insurance-overview #contenu>.insurance-faq-section{padding-block:36px}
 body.insurance-overview #contenu .insurance-route-link h3{min-height:2.7em}
}

/* refined-journeys.css */
body.refined-journey main>.section:not(.page-hero){padding-block:48px}
body.refined-journey .journey-tool-band,body.refined-journey .insurance-tariff{background:#fff;color:#333438}
.journey-tool-layout,.insurance-detail .insurance-tariff-layout{display:flex;align-items:center;justify-content:space-between;gap:32px}
.journey-tool-layout h2,.insurance-detail .insurance-tariff h2{margin:0 0 12px;font-size:1.6rem}
.journey-tool-layout p,.insurance-detail .insurance-tariff-copy>p{margin:0;max-width:80ch}
.journey-tool-layout .button,.insurance-detail .insurance-tariff .button{flex-shrink:0}
.insurance-detail .insurance-tariff .disclaimer{color:#58595b!important;font-size:.875rem!important;line-height:1.5;margin-top:10px}
body.refined-rac main .journey-profile{background:#333438;color:#fff}
body.refined-rac .journey-profile h2,body.refined-rac .journey-profile h3{color:#fff!important}
body.refined-rac .journey-profile p{color:#e4e4e5!important}
body.refined-rac .journey-profile .journey-criteria{margin-top:28px}
body.refined-rac .journey-profile .journey-criterion{border-color:#ffffff35}
body.refined-journey .journey-final .button-callback{background:#fff!important;color:#333438!important;border:1px solid #737477}
.journey-return{margin-top:22px}
.insurance-extra{margin-bottom:28px}
.insurance-extra summary{font-weight:700;cursor:pointer;padding-block:16px}
@media(max-width:767px){body.refined-journey main>.section:not(.page-hero){padding-block:32px}.journey-tool-layout,.insurance-detail .insurance-tariff-layout{display:flex;flex-direction:column;align-items:stretch;gap:20px}.journey-tool-layout .button,.insurance-detail .insurance-tariff .button{width:100%}body.refined-journey .journey-criterion{padding-block:20px}body.refined-journey .journey-step{padding-block:18px}body.refined-journey .journey-criterion-copy p{margin-bottom:0}}
body.insurance-detail main>.journey-criteria-section{background:#333438!important;color:#fff!important}
body.insurance-detail main>.journey-criteria-section h2,body.insurance-detail main>.journey-criteria-section h3{color:#fff!important}
body.insurance-detail main>.journey-criteria-section p{color:#e4e4e5!important}
body.insurance-detail main>.journey-criteria-section a{color:#ef85bb!important}
body.insurance-detail main>.journey-criteria-section .journey-criterion{border-color:#ffffff35!important}
body.refined-journey main>.journey-method{background:#fff!important;color:#333438!important}
body.refined-journey main>.journey-method h2,body.refined-journey main>.journey-method h3{color:#333438!important}
body.refined-journey main>.journey-method p{color:#58595b!important}
body.refined-journey main>.journey-method .journey-step{border-color:#ddd!important}
body.refined-journey #contenu>.journey-method .journey-step-copy h3{color:#333438!important}
body.refined-journey #contenu>.journey-method .journey-step-copy p{color:#58595b!important}

/* regulatory-accordion.css */
/* General cabinet information; product warnings stay outside the disclosure. */
body .regulatory-compact .regulatory-registration{margin:18px 0 8px;font-size:.875rem;line-height:1.6}
body .regulatory-compact .regulatory-more{margin-top:12px;border-top:1px solid #d8d8da;border-bottom:0}
body .regulatory-compact .regulatory-more>summary{min-height:48px;padding:18px 40px 18px 0;font-size:1rem;line-height:1.5;color:#333438;overflow-wrap:anywhere}
body .regulatory-compact .regulatory-more>summary::after{top:50%;right:8px;transform:translateY(-50%);color:#a71975;line-height:1}
body .regulatory-compact .regulatory-more>summary:focus-visible{outline:2px solid #a71975;outline-offset:4px;border-radius:4px}
body .regulatory-compact .regulatory-more .regulatory-logos{margin-top:8px}
@media print{body .regulatory-compact .regulatory-more>div{display:block!important}body .regulatory-compact .regulatory-more::details-content{content-visibility:visible;display:block}body .regulatory-compact .regulatory-more>summary::after{content:none}}

/* insurance-support.css */
/* Insurance overview: page-scoped refinements, preserving the shared brand. */
body.insurance-overview #contenu>.page-hero{margin-bottom:0;box-shadow:none}
body.insurance-overview #contenu>.section{padding-block:44px}
body.insurance-overview #contenu>.section h2{font-size:clamp(1.5rem,2vw,1.8rem);line-height:1.3;margin:0 0 22px;max-width:42ch}
body.insurance-overview #contenu .insurance-support{background:#fff;color:#333438;padding-top:32px}
body.insurance-overview #contenu .insurance-route-link{height:auto;grid-template-rows:auto auto;gap:8px 20px;padding:24px;align-content:start}
body.insurance-overview #contenu .insurance-route-link h3{min-height:0;margin:0;font-size:1.15rem}
body.insurance-overview #contenu .insurance-route-link p{font-size:1rem;margin:0;line-height:1.55}
body.insurance-overview #contenu .protection-choice-grid{margin-top:0;gap:24px}
body.insurance-overview #contenu .protection-card{border-radius:20px;min-height:0}
body.insurance-overview #contenu .insurance-tariff{padding-block:32px 24px}
body.insurance-overview #contenu .insurance-tariff-layout{justify-content:flex-start;gap:32px;padding-block:24px;border-block:1px solid #ddd}
body.insurance-overview #contenu .insurance-tariff-copy{flex:0 1 65ch}
body.insurance-overview #contenu .insurance-tariff h2{font-size:1.4rem;margin:0 0 8px}
body.insurance-overview #contenu .insurance-tariff-copy>.disclaimer{max-width:70ch}
.insurance-support-intro{max-width:78ch;line-height:1.6;margin:0}
.insurance-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;margin-top:28px}
.insurance-benefit-grid article{border-top:2px solid var(--brand-fuchsia,#a91d70);padding-top:16px;min-width:0}
body.insurance-overview #contenu .insurance-benefit-grid h3,
body.insurance-overview #contenu .insurance-study-steps h3{font-size:1.125rem;line-height:1.4;margin:0 0 8px}
.insurance-benefit-grid p,.insurance-study-steps p{font-size:1rem;line-height:1.6;margin:0;color:#58595b}
body.insurance-overview #contenu h2.insurance-steps-title{margin:36px 0 0;padding-top:28px;border-top:1px solid #ddd;max-width:none}
.insurance-study-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;counter-reset:insurance-step;gap:32px;padding:0;margin:24px 0 0}
.insurance-study-steps li{counter-increment:insurance-step;min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px 14px;align-content:start}
.insurance-study-steps li::before{content:counter(insurance-step);grid-row:1 / 3;display:grid;place-items:center;width:36px;height:36px;background:var(--brand-fuchsia,#a91d70);color:#fff;border-radius:50%;font-weight:700}
.insurance-study-steps li p{grid-column:2}
body.insurance-overview #contenu .insurance-study-steps h3{margin:3px 0 0}
body.insurance-overview #contenu .insurance-explained{display:block}
body.insurance-overview #contenu .insurance-guarantees{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 48px;align-items:start}
body.insurance-overview #contenu .insurance-guarantees-intro{grid-column:1;grid-row:1 / 3}
body.insurance-overview #contenu .insurance-guarantees .protection-intro{margin:0;max-width:48ch;line-height:1.6}
body.insurance-overview #contenu .insurance-guarantees .protection-faq{margin:0;max-width:none;grid-column:2}
body.insurance-overview #contenu .insurance-guarantees>.protection-note{grid-column:2;margin:18px 0 0;font-size:.9375rem}
body.insurance-overview #contenu .insurance-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;align-items:start}
body.insurance-overview #contenu .insurance-profile-grid summary{cursor:pointer;padding:18px 36px 18px 0;font-size:1.0625rem;list-style:none;position:relative}
body.insurance-overview #contenu .insurance-profile-grid summary::after{display:block;content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);color:#ef85bb;font-size:1.4rem;line-height:1}
body.insurance-overview #contenu .insurance-profile-grid details[open]>summary::after{content:'−'}
body.insurance-overview #contenu .insurance-profile-grid details>div{padding:0 24px 20px 0}
body.insurance-overview #contenu .insurance-profile-grid p{font-size:1rem}
body.insurance-overview #contenu .insurance-health{padding-block:32px}
body.insurance-overview #contenu .insurance-health .protection-note{font-size:.9375rem;line-height:1.6}
body.insurance-overview #contenu .insurance-faq-section .faq{margin-top:0}
body.insurance-overview #contenu :is(.protection-faq,.faq) summary{font-size:1.0625rem;line-height:1.5;padding-block:16px}
body.insurance-overview #contenu .insurance-faq-section .faq details>p{max-width:85ch;font-size:1rem;line-height:1.65}
body.insurance-overview #contenu .insurance-final>.container{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
body.insurance-overview #contenu .insurance-final h2{max-width:30ch;margin:0 0 14px}
body.insurance-overview #contenu .insurance-final p{margin:0;max-width:58ch;font-size:1rem;line-height:1.6}
body.insurance-overview #contenu .insurance-final .solution-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0}
body.insurance-overview #contenu .insurance-final .button{width:100%;text-align:center;justify-content:center}
body.insurance-overview #contenu #tarif{scroll-margin-top:120px}
body.insurance-overview #contenu summary:focus-visible{outline:3px solid var(--brand-fuchsia,#a91d70);outline-offset:4px}
@media(max-width:1199px){
 body.insurance-overview #contenu>.section{padding-block:32px}
 body.insurance-overview #contenu .insurance-tariff-layout{gap:18px;align-items:flex-start}
 body.insurance-overview #contenu .insurance-tariff-copy{flex:auto}
 body.insurance-overview #contenu .insurance-guarantees{gap:0 28px}
 body.insurance-overview #contenu .insurance-final>.container{grid-template-columns:1fr;gap:24px}
 body.insurance-overview #contenu .insurance-final .solution-actions{flex-direction:row;flex-wrap:wrap;align-items:center}
 body.insurance-overview #contenu .insurance-final .button{width:auto}
}
@media(max-width:767px){
 body.insurance-overview #contenu>.section h2{font-size:1.5rem;margin-bottom:18px}
 body.insurance-overview #contenu .insurance-route-link{padding:20px;gap:8px 16px}
 body.insurance-overview #contenu .protection-choice-grid{gap:16px}
 .insurance-benefit-grid,.insurance-study-steps{grid-template-columns:1fr;gap:22px}
 .insurance-support-intro{font-size:1rem}
 body.insurance-overview #contenu h2.insurance-steps-title{margin-top:28px;padding-top:24px}
 body.insurance-overview #contenu .insurance-guarantees{display:block}
 body.insurance-overview #contenu .insurance-guarantees .protection-faq{margin-top:24px}
 body.insurance-overview #contenu .insurance-profile-grid{grid-template-columns:1fr}
 body.insurance-overview #contenu .insurance-tariff{padding-block:24px 16px}
 body.insurance-overview #contenu .insurance-tariff-layout{padding-block:20px;gap:18px;align-items:stretch}
 body.insurance-overview #contenu .insurance-final .solution-actions{flex-direction:column;align-items:stretch}
 body.insurance-overview #contenu .insurance-final .button{width:100%;white-space:normal}
}

/* Same light pink as the desktop hero, readable on anthracite. */
body.insurance-overview #contenu .insurance-situations h2{color:#ef85bb!important}

/* 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}
}

/* insurance-mobile-363.css */
/* Insurance page: concise phone reading path, preserving desktop columns. */
@media(max-width:767px){
 body.insurance-overview #contenu .solution-hero-copy h1{font-size:clamp(1.8rem,7.5vw,2.25rem);line-height:1.15;margin-bottom:18px}
 body.insurance-overview #contenu .solution-hero-copy>p{font-size:1rem;line-height:1.5;margin-block:16px}
 body.insurance-overview #contenu .solution-hero-copy .solution-reassurance{font-size:.875rem;line-height:1.5;margin:14px 0 0}
 body.insurance-overview #contenu .insurance-tariff{padding:24px 0}
 body.insurance-overview #contenu .insurance-tariff-layout{display:flex;flex-direction:column;align-items:stretch;gap:14px;background:#f5f5f5;border:0;border-radius:16px;padding:20px;width:calc(100% - 40px)}
 body.insurance-overview #contenu .insurance-tariff-copy{display:contents}
 body.insurance-overview #contenu .insurance-tariff h2{font-size:1.5rem;margin:0;order:0}
 body.insurance-overview #contenu .insurance-tariff p{font-size:1rem;line-height:1.5;margin:0;order:1}
 body.insurance-overview #contenu .insurance-tariff a.button{order:2;width:100%;margin:0}
 body.insurance-overview #contenu .insurance-tariff p.disclaimer{order:3;font-size:.8125rem!important;line-height:1.45}
 body.insurance-overview #contenu .insurance-support>.container>h2:not(.insurance-steps-title),body.insurance-overview #contenu .insurance-support-intro,body.insurance-overview #contenu .insurance-benefit-grid{display:none}
 body.insurance-overview #contenu .insurance-steps-title{border:0;padding:0;margin:0 0 24px}
 body.insurance-overview #contenu .insurance-study-steps{display:grid;grid-template-columns:1fr;gap:20px;margin:0;padding:0}
 body.insurance-overview #contenu .insurance-study-steps li{padding-left:48px;min-height:0}
 body.insurance-overview #contenu .insurance-study-steps li::before{width:32px;height:32px;font-size:1rem}
 body.insurance-overview #contenu .insurance-study-steps h3{font-size:1.125rem;line-height:1.35;margin:0 0 6px}
 body.insurance-overview #contenu .insurance-study-steps p{font-size:1rem;line-height:1.5;margin:0}
 body.insurance-overview #contenu h2{font-size:1.625rem;line-height:1.22;margin-bottom:20px}
 body.insurance-overview #contenu :is(.faq,.protection-faq,.insurance-profile-grid) summary{position:relative;font-size:1rem;font-weight:650;line-height:1.4;padding:18px 36px 18px 0;min-height:56px;box-sizing:border-box}
 body.insurance-overview #contenu :is(.faq,.protection-faq,.insurance-profile-grid) summary::after{right:4px;top:50%;transform:translateY(-50%);font-size:1.35rem}
 body.insurance-overview #contenu .protection-intro{font-size:1rem;line-height:1.5;margin:0 0 20px}
 body.insurance-overview #contenu .protection-note{font-size:.875rem;line-height:1.5;margin:18px 0 0}
 body.insurance-overview #contenu .insurance-health .protection-note{padding:14px 16px;border-left:2px solid #a91d70;background:#fff}
 body.insurance-overview #contenu .insurance-profile-grid{gap:0}
 body.insurance-overview #contenu .insurance-final .solution-actions{gap:12px;margin-top:22px}
 body.insurance-overview #contenu .insurance-final p{font-size:1rem;line-height:1.5;margin:0}
 body.insurance-overview .regulatory-overview{gap:20px}
 body.insurance-overview .regulatory-commitment{padding-left:14px}
}

/* 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%);
  }
}

/* hero-photo-stage-396.css */
/* Full-height desktop hero photography: no reserved dark strip above scenes.
   Scoped above the existing immersive-interior rules; touch layouts are unchanged. */
@media (min-width:1200px) {
  body.immersive-interior #contenu > .page-hero.hero-photo-stage {
    isolation:isolate;
    overflow:hidden;
    background:#242426;
    min-height:clamp(660px,43vw,840px);
    padding-top:150px!important;
    padding-bottom:56px!important;
  }
  body.immersive-interior #contenu > .page-hero.hero-photo-stage .solution-hero-photo {
    display:block;
    position:absolute;
    inset:0 0 0 auto;
    width:60%;
    height:100%;
    min-height:0;
    max-width:none;
    max-height:none;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center var(--hero-focus-y,48%);
    transform:none;
    border-radius:0 20px 20px 0;
    filter:none;
    margin:0;
    z-index:-2;
    -webkit-mask-image:none;
    mask-image:none;
  }
  body.immersive-interior #contenu > .page-hero.hero-photo-stage::before {
    content:"";
    display:block;
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(90deg,#242426 0%,#242426 41%,rgba(36,36,38,.97) 44%,rgba(36,36,38,.74) 49%,rgba(36,36,38,.3) 55%,rgba(36,36,38,0) 63%);
  }
  body.immersive-interior #contenu > .page-hero.hero-photo-stage::after {
    content:"";
    display:block;
    position:absolute;
    inset:auto 0 0;
    height:48px;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.12) 30%,rgba(255,255,255,.55) 67%,#fff 100%);
  }
  body.immersive-interior #contenu > .page-hero.hero-photo-stage .solution-hero-copy {
    width:44%;
    max-width:600px;
  }
  body.immersive-interior #contenu > .page-hero.hero-photo-stage .page-hero-grid {
    min-height:0;
  }
  /* Lower framing keeps the notebook and fuchsia pen inside the panoramic crop. */
  body.immersive-interior #contenu > .simulator-hero.hero-photo-stage .solution-hero-photo {
    object-position:center 76%;
  }
  body.immersive-interior #contenu > .simulator-hero.hero-photo-stage {
    min-height:clamp(760px,47vw,940px);
  }

  /* Top anchoring preserves portrait headroom in the full-height crop. */
  body.immersive-interior #contenu > .hero-photo-stage.hero-photo-people .solution-hero-photo {
    top:0;
    bottom:0;
    height:100%;
    object-position:center top;
  }
  body.immersive-interior #contenu > .hero-photo-stage.hero-photo-lower {
    --hero-focus-y:76%;
  }
  body.immersive-interior #contenu > .hero-photo-stage.hero-photo-upper {
    --hero-focus-y:28%;
  }
  /* A dome needs its upper outline, rather than the foreground-focused crop. */
  body.immersive-interior #contenu > .hero-photo-stage .solution-hero-photo[src*="assurance-emprunteur-protection"] {
    object-position:center top;
  }
  /* Match the full-height frame on the partnership portrait. */
  body.immersive-interior #contenu > .hero-photo-stage .solution-hero-photo[src*="photo-partenariat"] {
    top:0;
    height:100%;
    -webkit-mask-image:none;
    mask-image:none;
  }
  /* Nested photographs (Contact, privacy, demand and legal) must use the
     whole hero as their containing block, not the narrower text container. */
  body.immersive-interior #contenu > .hero-photo-stage > .container {
    position:static;
    z-index:auto;
  }
  body.immersive-interior #contenu > .hero-photo-stage .page-hero-grid {
    position:static;
  }
  body.immersive-interior #contenu > .hero-photo-stage .solution-hero-copy,
  body.immersive-interior #contenu > .hero-photo-stage .breadcrumb {
    position:relative;
    z-index:1;
  }
  /* Retire the older Contact-only !important containment rule on desktop. */
  body[data-page="contact"] #contenu > .page-hero.hero-photo-stage .solution-hero-photo {
    object-fit:cover!important;
  }
}
