:root {
  --navy: #07183c;
  --navy-2: #0e2855;
  --ink: #12213d;
  --muted: #5f6a7d;
  --coral: #c93634;
  --coral-dark: #b5282c;
  --blue: #dcecf6;
  --blue-light: #f0f7fb;
  --cream: #faf8f3;
  --white: #fff;
  --line: #dce2e9;
  --shadow: 0 24px 80px rgba(4, 24, 56, .13);
  --shadow-soft: 0 14px 40px rgba(7,24,60,.09);
  --container: 1220px;
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --eh-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; color: var(--ink); background: white; font-family: var(--eh-font-sans); line-height: 1.58; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
img, svg { max-width: 100%; height: auto; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 6vw, 5.5rem); }
h2 { font-size: clamp(2.1rem, 4vw, 3.85rem); }
h3 { font-size: 1.35rem; }
p { color: var(--muted); }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow-content { max-width: 850px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 16px; background: white; color: var(--navy); transform: translateY(-160%); transition: .2s; }
.skip-link:focus { transform: translateY(0); }
.eyebrow { display: inline-block; margin-bottom: 15px; color: var(--navy); font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow.coral { color: var(--coral-dark); }
.eyebrow.light { color: #b9d7e9; }
.section { padding: 108px 0; }

.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 9px; padding: 13px 23px; font-size: .78rem; font-weight: 820; letter-spacing: .055em; text-transform: uppercase; cursor: pointer; transition: transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--navy); color: white; box-shadow: 0 12px 28px rgba(7,24,60,.16); }
.button-dark:hover { background: var(--navy-2); }
.button-coral { background: var(--coral); color: white; box-shadow: 0 12px 28px rgba(232,76,69,.25); }
.button-coral:hover { background: var(--coral-dark); }
.button-ghost { border: 1px solid rgba(255,255,255,.42); background: rgba(255,255,255,.07); color: white; box-shadow: none; }
.button-ghost:hover { border-color: white; background: rgba(255,255,255,.14); }
.button-small { min-height: 44px; padding: 10px 16px; font-size: .7rem; white-space: nowrap; }
.text-link { display: inline-flex; align-items: center; flex-wrap: nowrap; gap: .25em; font-size: .78rem; font-weight: 820; letter-spacing: .05em; text-transform: uppercase; }
.text-link svg { flex: 0 0 auto; }
.text-link span, .card-link b { color: var(--coral); transition: transform .2s; }
.text-link:hover span, a:hover .card-link b { transform: translateX(4px); }
.text-link.light { color: white; }
.button:focus-visible, .nav-link:focus-visible, .search-trigger:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }

/* Header */
.site-header { position: relative; z-index: 100; background: rgba(255,255,255,.98); border-bottom: 1px solid rgba(7,24,60,.08); }
.utility-bar { border-bottom: 1px solid rgba(7,24,60,.08); background: var(--navy); color: white; }
.utility-shell { width: min(calc(100% - 36px), 1440px); min-height: 36px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.utility-title { min-width: 0; display: flex; align-items: center; gap: 10px; font-size: .68rem; letter-spacing: .035em; }
.utility-title strong { overflow: hidden; color: white; font-size: .7rem; letter-spacing: .12em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.utility-title span { overflow: hidden; color: rgba(255,255,255,.6); text-overflow: ellipsis; white-space: nowrap; }
.utility-actions { display: flex; align-items: center; gap: 17px; flex: 0 0 auto; }
.utility-actions .lang-switch a, .utility-actions .lang-switch .disabled-language { color: rgba(255,255,255,.72); }
.utility-actions .lang-switch a.active { color: white; }
.utility-actions .search-trigger { color: white; }
.header-shell { width: min(calc(100% - 36px), 1440px); min-height: 96px; margin-inline: auto; display: grid; grid-template-columns: 260px 1fr auto; align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: 0; }
.brand-shield { position: relative; width: 38px; height: 44px; flex: 0 0 auto; background: var(--coral); clip-path: polygon(50% 0,95% 12%,88% 72%,50% 100%,12% 72%,5% 12%); filter: drop-shadow(0 2px 0 var(--navy)); }
.brand-shield::before, .brand-shield::after { content: ""; position: absolute; background: white; border-radius: 1px; }
.brand-shield::before { width: 21px; height: 7px; left: 8px; top: 17px; }
.brand-shield::after { width: 7px; height: 21px; left: 15px; top: 10px; }
.brand-copy { display: flex; flex-direction: column; min-width: 0; }
.brand-copy strong { color: var(--navy); font-size: 1.48rem; line-height: 1; letter-spacing: .015em; white-space: nowrap; }
.brand-copy strong span { color: var(--coral); }
.brand-copy small { margin-top: 6px; color: var(--navy); font-size: .47rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.brand-custom-logo img { display: block; width: auto; max-width: 230px; max-height: 70px; }
.brand-custom-logo .custom-logo-link { display: block; }
.primary-nav { align-self: stretch; display: flex; align-items: stretch; justify-content: center; }
.desktop-primary-nav { display: contents; }
.mobile-nav-shell, .mobile-nav-backdrop { display: none; }
.nav-item { position: static; display: flex; }
.nav-link { min-width: 112px; border: 0; border-bottom: 3px solid transparent; padding: 14px 11px 11px; background: transparent; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: var(--navy); font-size: .7rem; font-weight: 820; line-height: 1.25; text-align: center; text-transform: uppercase; cursor: pointer; transition: color .2s, border-color .2s, background .2s; }
.nav-text { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; }
.nav-label { white-space: nowrap; }
.nav-link:hover, .nav-link[aria-expanded="true"] { color: var(--coral-dark); border-bottom-color: var(--coral); background: #fffafa; }
.eh-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.nav-icon { height: 24px; display: grid; place-items: center; line-height: 1; }
.chevron { display: grid; place-items: center; line-height: .7; transition: transform .2s; }
.nav-link[aria-expanded="true"] .chevron { transform: rotate(180deg); }
.mega-menu { position: absolute; visibility: hidden; opacity: 0; transform: translateY(8px); top: calc(100% + 1px); left: 50%; width: min(calc(100vw - 40px), 1000px); padding: 30px; border: 1px solid var(--line); border-top: 3px solid var(--coral); border-radius: 0 0 16px 16px; background: white; box-shadow: var(--shadow); display: grid; grid-template-columns: .85fr 1.45fr; gap: 34px; pointer-events: none; transition: opacity .18s, transform .18s, visibility .18s; translate: -50% 0; }
.has-menu.open .mega-menu { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
.compact-menu { max-width: 850px; }
.menu-intro { padding: 5px 28px 5px 5px; border-right: 1px solid var(--line); }
.menu-intro strong { display: block; margin-bottom: 10px; font-size: 1.4rem; line-height: 1.18; }
.menu-intro p { margin: 0 0 18px; font-size: .82rem; }
.menu-overview-link { color: var(--coral-dark); font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.menu-links { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 2px 16px; }
.menu-links a { border-radius: 7px; padding: 9px; display: flex; align-items: center; gap: 9px; font-size: .8rem; font-weight: 650; }
.menu-links a > span:first-child { width: 26px; color: var(--coral-dark); display: grid; place-items: center; }
.menu-links a > span:last-child { min-width: 0; }
.menu-links a:hover { background: var(--blue-light); color: var(--coral-dark); }
.header-actions { display: flex; align-items: center; }
.lang-switch { display: flex; align-items: center; gap: 7px; }
.lang-switch a, .lang-switch .disabled-language { color: var(--muted); padding: 4px; font-size: .7rem; font-weight: 800; }
.lang-switch a.active { color: var(--navy); }
.lang-switch .disabled-language { opacity: .55; cursor: not-allowed; }
.search-trigger { display: flex; align-items: center; gap: 5px; border: 0; background: transparent; color: var(--navy); padding: 6px; font-size: .68rem; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.search-trigger span { font-size: 1.1rem; }
.search-panel { position: absolute; top: 100%; left: 0; width: 100%; border-top: 1px solid var(--line); background: white; box-shadow: 0 20px 40px rgba(7,24,60,.12); }
.search-inner { width: min(calc(100% - 40px), 820px); margin: auto; padding: 26px 0 30px; }
.search-inner > label { display: block; margin-bottom: 10px; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.search-field { display: flex; align-items: center; gap: 12px; border: 1px solid #bdc8d5; border-radius: 9px; padding: 0 15px; }
.search-field:focus-within { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(7,24,60,.08); }
.search-field input { width: 100%; border: 0; outline: 0; padding: 14px 0; font-size: 1rem; }
.search-field kbd { color: var(--muted); font-size: .65rem; }
.search-field .search-submit { flex: 0 0 auto; min-height: 38px; padding: 8px 16px; }
.search-results { display: grid; gap: 3px; margin-top: 8px; }
.search-result { display: flex; justify-content: space-between; gap: 20px; border-radius: 7px; padding: 10px 12px; font-size: .84rem; font-weight: 700; }
.search-result:hover { background: var(--blue-light); }
.search-result small { color: var(--muted); font-weight: 500; }
.search-result-status { color: var(--muted); font-weight: 600; }
.search-all-results { align-items: center; border-top: 1px solid var(--line); color: var(--navy); display: flex; font-size: .78rem; font-weight: 800; justify-content: space-between; margin-top: 5px; padding: 12px; text-decoration: none; }
.search-all-results:hover, .search-all-results:focus-visible { background: var(--blue-light); }
.mobile-toggle, .mobile-search-link { display: none; }

/* Home */
.home-hero { position: relative; min-height: 650px; overflow: hidden; background: var(--navy); color: white; }
.home-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(3,14,37,.97) 0%, rgba(5,24,53,.9) 46%, rgba(7,36,64,.42) 100%); }
.editorial-hero-media { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: var(--navy); }
.editorial-hero-media picture { display: block; width: 100%; height: 100%; }
.editorial-hero-image { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.editorial-hero-media.focal-left-center .editorial-hero-image { object-position: left center; }
.editorial-hero-media.focal-right-center .editorial-hero-image { object-position: right center; }
.editorial-hero-media.focal-center-top .editorial-hero-image { object-position: center top; }
.editorial-hero-media.focal-center-bottom .editorial-hero-image { object-position: center bottom; }
.home-hero-grid { position: relative; z-index: 2; min-height: 650px; padding-block: 88px; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(350px,.62fr); align-items: center; gap: 90px; }
.home-hero-copy { max-width: 760px; }
.home-hero h1 { max-width: 730px; margin-bottom: 24px; color: white; font-size: clamp(3.5rem,6.2vw,6rem); }
.hero-lead { max-width: 660px; margin-bottom: 0; color: rgba(255,255,255,.76); font-size: 1.1rem; }
.home-hero .hero-actions { margin-top: 34px; }
.hero-reassurance { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px 24px; }
.hero-reassurance span { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.68); font-size: .76rem; font-weight: 650; }
.hero-reassurance svg { color: #b9d7e9; }
.hero-route-card { overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-md); background: rgba(255,255,255,.96); box-shadow: 0 30px 80px rgba(0,0,0,.22); color: var(--ink); backdrop-filter: blur(12px); }
.route-kicker { display: block; padding: 19px 22px 14px; color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hero-route-card > a { min-height: 92px; padding: 18px 20px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; transition: background .2s, color .2s; }
.hero-route-card > a:hover { background: var(--blue-light); color: var(--coral-dark); }
.hero-route-card > a > span:first-child { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--navy); color: white; }
.hero-route-card strong, .hero-route-card small { display: block; }
.hero-route-card strong { margin-bottom: 3px; font-size: .86rem; }
.hero-route-card small { color: var(--muted); font-size: .69rem; }
.hero-outcome-list { margin: 0; padding: 0; list-style: none; }
.hero-outcome-list li { min-height: 92px; padding: 18px 20px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 13px; }
.hero-outcome-list li > span:first-child { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--navy); color: white; }
.hero-outcome-list strong, .hero-outcome-list small { display: block; }
.hero-outcome-list strong { margin-bottom: 3px; font-size: .86rem; }
.hero-outcome-list small { color: var(--muted); font-size: .69rem; line-height: 1.45; }
.centered-heading { max-width: 780px; margin-inline: auto; text-align: center; }
.centered-heading p { max-width: 620px; margin: 18px auto 0; }
.intent-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.intent-card { min-height: 112px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 14px; background: white; transition: transform .2s, border-color .2s, box-shadow .2s; }
.intent-card:hover { border-color: #afbbc8; transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.icon-tile { width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center; background: var(--blue-light); color: var(--navy); }
.intent-card small, .intent-card strong { display: block; }
.intent-card small { margin-bottom: 2px; color: var(--muted); font-size: .66rem; font-weight: 700; }
.intent-card strong { color: var(--navy); font-size: .96rem; }
.intent-card > svg { color: var(--coral); }
.profile-router { background: white; }
.profile-router--compact { padding-block: 82px; background: var(--blue-light); }
.profile-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.profile-card { position: relative; min-height: 225px; padding: 24px 22px; border: 1px solid var(--line); border-radius: var(--radius-sm); display: flex; flex-direction: column; background: white; transition: transform .2s, border-color .2s, box-shadow .2s; }
.profile-card:hover { border-color: #afbbc8; transform: translateY(-5px); box-shadow: var(--shadow-soft); }
.profile-card-icon { width: 50px; height: 50px; margin-bottom: 25px; border-radius: 14px; display: grid; place-items: center; background: var(--blue-light); color: var(--navy); }
.profile-card-copy { display: flex; flex: 1; flex-direction: column; }
.profile-card-copy small { margin-bottom: 4px; color: var(--coral-dark); font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.profile-card-copy strong { color: var(--navy); font-size: 1.08rem; line-height: 1.2; }
.profile-card-copy > span { margin-top: 10px; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.profile-card-arrow { position: absolute; right: 20px; top: 25px; color: var(--coral); transition: transform .2s; }
.profile-card:hover .profile-card-arrow { transform: translateX(4px); }
.profile-router--compact .profile-grid { max-width: 930px; margin-inline: auto; grid-template-columns: repeat(3,minmax(0,1fr)); }
.profile-router--compact .profile-card { min-height: 205px; }
.expertise-home { background: var(--cream); }
.expertise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.expertise-card { position: relative; overflow: hidden; min-height: 550px; padding: 42px; border: 1px solid rgba(7,24,60,.1); border-radius: var(--radius-md); background: white; display: flex; flex-direction: column; box-shadow: 0 1px 0 rgba(7,24,60,.04); }
.expertise-card::before { content: ""; position: absolute; top: -85px; right: -65px; width: 230px; height: 230px; border-radius: 50%; background: var(--blue-light); }
.expertise-live { background: var(--navy); color: white; }
.expertise-live::before { background: rgba(255,255,255,.06); }
.expertise-card-top { position: relative; display: flex; align-items: center; gap: 18px; }
.expertise-icon { width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; background: var(--blue-light); color: var(--navy); }
.expertise-live .expertise-icon { background: rgba(255,255,255,.1); color: #b9d7e9; }
.expertise-live .eyebrow { color: #b9d7e9; }
.expertise-card h3 { position: relative; margin: 36px 0 15px; font-size: clamp(2.1rem,3.2vw,3.1rem); }
.expertise-card p { max-width: 500px; }
.expertise-live p { color: rgba(255,255,255,.66); }
.expertise-card ul { margin: 8px 0 34px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; list-style: none; }
.expertise-card li { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .76rem; font-weight: 650; }
.expertise-live li { color: rgba(255,255,255,.72); }
.expertise-card li svg { color: var(--coral); }
.expertise-card .button { align-self: flex-start; margin-top: auto; }
.simulator-showcase { position: relative; overflow: hidden; background: linear-gradient(135deg,#07183c,#0d315f); color: white; }
.simulator-showcase::after { content: ""; position: absolute; width: 500px; height: 500px; right: -170px; top: -240px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02); }
.simulator-showcase-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 90px; }
.simulator-intro h2 { color: white; }
.simulator-intro p { color: rgba(255,255,255,.66); }
.simulator-mini-grid { display: grid; gap: 12px; }
.simulator-mini-card { padding: 20px 22px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 15px; background: rgba(255,255,255,.065); transition: background .2s, transform .2s; }
.simulator-mini-card:hover { background: rgba(255,255,255,.12); transform: translateX(5px); }
.simulator-mini-card > span { width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center; background: white; color: var(--navy); }
.simulator-mini-card small { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.62); font-size: .7rem; }
.method-grid { position: relative; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; list-style: none; }
.method-grid::before { content: ""; position: absolute; top: 48px; left: 8%; right: 8%; height: 1px; background: var(--line); }
.method-grid li { position: relative; padding: 32px 26px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: white; }
.method-grid li > span { position: absolute; top: 16px; right: 18px; color: #5f6a7d; font-family: Georgia,serif; font-size: .72rem; }
.method-grid li > svg { margin-bottom: 38px; color: var(--coral); }
.method-grid h3 { font-size: 1.12rem; }
.method-grid p { margin-bottom: 0; font-size: .78rem; }
.trust-section { background: var(--navy); color: white; }
.trust-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; }
.trust-grid h2 { margin: 0; color: white; }
.trust-points { display: grid; gap: 12px; }
.trust-points p { margin: 0; padding: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; display: grid; grid-template-columns: 28px 1fr; gap: 13px; color: rgba(255,255,255,.65); font-size: .76rem; }
.trust-points > p > svg { color: #b9d7e9; }
.trust-points strong { display: block; margin-bottom: 2px; color: white; font-size: .85rem; }
.article-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.article-card { min-height: 310px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-sm); display: flex; flex-direction: column; background: white; }
.article-card-icon { width: 46px; height: 46px; margin-bottom: 30px; border-radius: 12px; display: grid; place-items: center; background: var(--blue-light); color: var(--navy); }
.article-card > small { color: var(--coral-dark); font-size: .68rem; font-weight: 750; }
.article-card h3 { margin: 10px 0; }
.article-card p { font-size: .78rem; }
.article-card .text-link { margin-top: auto; }
.home-faq { background: var(--cream); }
.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.faq-list { display: grid; gap: 10px; }
.faq-list details { border: 1px solid var(--line); border-radius: var(--radius-sm); background: white; }
.faq-list summary { padding: 19px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--navy); font-size: .9rem; font-weight: 780; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list details[open] summary svg { transform: rotate(180deg); }
.faq-list details p { margin: 0; padding: 0 20px 20px; font-size: .8rem; }
.home-final-cta { padding: 80px 0; background: #0d315f; color: white; }
.final-cta-inner { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 28px; }
.final-cta-icon { width: 72px; height: 72px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; display: grid; place-items: center; color: #b9d7e9; }
.final-cta-inner h2 { margin-bottom: 10px; color: white; font-size: clamp(2rem,3.3vw,3.2rem); }
.final-cta-inner p { margin: 0; color: rgba(255,255,255,.65); }

/* Editorial heroes */
.editorial-hero { position: relative; overflow: hidden; background: var(--navy); color: white; }
.editorial-hero .hero-content { position: relative; z-index: 3; }
.editorial-hero h1 { margin: 0; color: white; }
.breadcrumbs { margin-bottom: 65px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.5); font-size: .68rem; font-weight: 700; }
.breadcrumbs li:not(:last-child)::after { content: "/"; color: rgba(255,255,255,.28); }
.breadcrumbs a:hover { color: white; }
.thematic-hero { min-height: 520px; }
.thematic-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(4,17,44,.97), rgba(6,25,58,.78) 54%, rgba(8,42,78,.36)); }
.thematic-hero .hero-content { padding-top: 45px; padding-bottom: 95px; }
.hero-title-grid { display: grid; grid-template-columns: 1.25fr .65fr; align-items: end; gap: 100px; }
.hero-title-grid h1 { max-width: 760px; }
.hero-intro { padding: 25px 0 8px 28px; border-left: 1px solid rgba(255,255,255,.28); }
.hero-intro p { margin: 17px 0 0; color: rgba(255,255,255,.72); font-size: .98rem; }
.hero-topic-icon { width: 58px; height: 58px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; display: grid; place-items: center; color: #c6e0ed; }
.hero-landscape { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(180deg,#8cb7d0 0%,#d7e8ef 50%,#7194a9 51%,#2f6079 100%); }
.sun { position: absolute; top: 50px; right: 15%; width: 170px; height: 170px; border-radius: 50%; background: rgba(255,248,217,.5); filter: blur(10px); }
.mountain { position: absolute; left: 0; right: 0; bottom: 0; }
.mountain-back { height: 70%; background: #7295aa; clip-path: polygon(0 54%,13% 32%,22% 44%,35% 22%,46% 50%,56% 30%,66% 48%,79% 18%,90% 42%,100% 29%,100% 100%,0 100%); opacity: .9; }
.mountain-mid { height: 56%; background: #426f88; clip-path: polygon(0 46%,10% 28%,19% 57%,29% 20%,40% 52%,53% 25%,64% 57%,74% 30%,86% 48%,100% 16%,100% 100%,0 100%); }
.mountain-front { height: 31%; background: #173e58; clip-path: polygon(0 28%,12% 58%,26% 30%,40% 63%,55% 31%,68% 54%,80% 24%,91% 50%,100% 33%,100% 100%,0 100%); }
.subtheme-hero { min-height: 430px; background: radial-gradient(circle at 75% 15%, #1d5175 0, #0a244c 38%, #07183c 70%); }
.subtheme-hero::before { content: ""; position: absolute; z-index: 2; inset: 0; background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size: 45px 45px; mask-image: linear-gradient(90deg, transparent, black); }
.subtheme-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(4,17,44,.98) 0%, rgba(6,25,58,.88) 54%, rgba(8,42,78,.5) 100%); }
.subtheme-hero .editorial-hero-image { filter: saturate(.82); }
.subtheme-hero .hero-content { padding-top: 35px; padding-bottom: 55px; }
.subtheme-hero-grid { display: grid; grid-template-columns: 1.1fr .45fr; align-items: center; gap: 90px; }
.subtheme-hero-grid h1 { max-width: 850px; margin-bottom: 20px; }
.subtheme-hero-grid p { max-width: 700px; color: rgba(255,255,255,.7); font-size: 1.03rem; }
.hero-actions { display: flex; align-items: center; gap: 26px; margin-top: 30px; }
.thematic-hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
.light-link { color: white; }
.subtheme-reassurance { margin-top: 24px; display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.58); font-size: .7rem; }
.subtheme-hero-mark { display: grid; place-items: center; }
.subtheme-hero-mark > span { width: 180px; height: 180px; border: 1px solid rgba(255,255,255,.28); border-radius: 50% 50% 8px 50%; display: grid; place-items: center; background: rgba(255,255,255,.06); color: #c6e0ed; box-shadow: inset 0 0 0 20px rgba(255,255,255,.025); }
.child-page-nav { border-bottom: 1px solid var(--line); background: white; }
.child-page-nav .container { min-height: 65px; display: flex; align-items: center; gap: 7px; overflow-x: auto; }
.child-page-nav a { padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; white-space: nowrap; color: var(--navy); font-size: .72rem; font-weight: 750; }
.child-page-nav a:hover { border-color: var(--coral); color: var(--coral-dark); }

/* Theme index */
.thematic-index { background: var(--cream); }
.section-heading { margin-bottom: 52px; }
.split-heading { display: grid; grid-template-columns: 1.35fr .72fr; align-items: end; gap: 80px; }
.split-heading h2 { margin-bottom: 0; }
.split-heading > p { margin: 0 0 8px; }
.subtheme-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #ccd2d8; border-left: 1px solid #ccd2d8; }
.subtheme-card { min-height: 345px; padding: 28px; border-right: 1px solid #ccd2d8; border-bottom: 1px solid #ccd2d8; display: flex; flex-direction: column; transition: background .25s, transform .25s, box-shadow .25s; }
.subtheme-card:hover { position: relative; z-index: 2; background: white; transform: translateY(-7px); box-shadow: 0 18px 45px rgba(7,24,60,.09); }
.subtheme-card.featured { background: var(--navy); color: white; }
.subtheme-card.featured p { color: rgba(255,255,255,.65); }
.card-index { align-self: flex-end; color: #5f6a7d; font-family: Georgia, serif; font-size: .75rem; }
.card-symbol { width: 55px; height: 55px; margin: 12px 0 38px; border: 1px solid #bfc8d2; border-radius: 50%; display: grid; place-items: center; color: var(--coral); }
.subtheme-card h3 { margin-bottom: 13px; }
.subtheme-card p { font-size: .82rem; }
.card-link { margin-top: auto; font-size: .7rem; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.card-link b { display: inline-block; margin-left: 7px; }
.thematic-content { background: white; }
.orientation-section { padding: 80px 0; background: var(--blue-light); }
.orientation-grid { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: center; }
.orientation-grid h2 { max-width: 750px; margin-bottom: 15px; font-size: clamp(2rem, 4vw, 3.3rem); }
.orientation-grid p { max-width: 720px; margin-bottom: 0; }
.theme-journey { background: white; }
.theme-method-grid li { background: var(--blue-light); border-color: transparent; }
.hub-needs { background: white; }
.hub-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.hub-action-card { min-height: 290px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-sm); display: flex; flex-direction: column; background: white; transition: transform .2s, border-color .2s, box-shadow .2s; }
.hub-action-card:hover { border-color: #afbbc8; transform: translateY(-5px); box-shadow: var(--shadow-soft); }
.hub-action-icon { width: 52px; height: 52px; margin-bottom: 32px; border-radius: 15px; display: grid; place-items: center; background: var(--blue-light); color: var(--navy); }
.hub-action-card h3 { margin-bottom: 12px; }
.hub-action-card p { font-size: .8rem; }
.hub-action-card strong { margin-top: auto; display: inline-flex; align-items: center; gap: 7px; color: var(--coral-dark); font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.thematic-section-nav { position: sticky; top: 0; z-index: 25; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.thematic-section-nav .container { display: flex; gap: clamp(20px,3vw,42px); overflow-x: auto; scrollbar-width: none; }
.thematic-section-nav .container::-webkit-scrollbar { display: none; }
.thematic-section-nav a { flex: 0 0 auto; padding: 18px 0 16px; border-bottom: 2px solid transparent; color: var(--navy); font-size: .73rem; font-weight: 760; }
.thematic-section-nav a:hover,.thematic-section-nav a:focus-visible { border-color: var(--coral); color: var(--coral-dark); }
.subtheme-card-media { display: block; height: 170px; margin: -28px -28px 26px; overflow: hidden; border-radius: 4px 22px 0 0; }
.subtheme-card-media picture,.subtheme-card-media img { display: block; width: 100%; height: 100%; }
.subtheme-card-media img { object-fit: cover; transition: transform .35s ease; }
.subtheme-card:hover .subtheme-card-media img { transform: scale(1.025); }
.has-section-visual { position: relative; isolation: isolate; overflow: hidden; }
.has-section-visual > .container { position: relative; z-index: 2; }
.section-visual { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.section-visual picture,.section-visual-image { display: block; width: 100%; height: 100%; }
.section-visual-image { object-fit: cover; object-position: center; }
.section-visual.focal-left-center .section-visual-image { object-position: left center; }
.section-visual.focal-right-center .section-visual-image { object-position: right center; }
.section-visual.focal-center-top .section-visual-image { object-position: center top; }
.section-visual.focal-center-bottom .section-visual-image { object-position: center bottom; }
.section-visual::after { content: ""; position: absolute; inset: 0; }
.section-visual-dark::after { background: linear-gradient(90deg,rgba(5,29,68,.96) 0%,rgba(5,29,68,.88) 47%,rgba(5,29,68,.72) 100%); }
.section-visual-subtle { opacity: .16; }
.section-visual-subtle::after { background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 52%,rgba(255,255,255,.54) 100%); }
.hub-tools { background: var(--navy); color: white; }
.hub-tools .section-heading h2 { color: white; }
.hub-tools .section-heading > p { color: rgba(255,255,255,.64); }
.hub-tool-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.hub-tool-card { min-height: 138px; padding: 22px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; display: grid; grid-template-columns: 48px 1fr 18px; align-items: center; gap: 16px; background: rgba(255,255,255,.06); transition: background .2s, transform .2s; }
.hub-tool-card:hover { background: rgba(255,255,255,.12); transform: translateY(-4px); }
.hub-tool-card > span { width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center; background: white; color: var(--navy); }
.hub-tool-card h3 { margin: 0 0 7px; color: white; font-size: 1rem; }
.hub-tool-card p { margin: 0; color: rgba(255,255,255,.62); font-size: .7rem; }
.hub-tool-card > svg { color: var(--coral); }
.hub-resources { background: var(--cream); }
.hub-faq { background: white; }

/* Essential summary on level 2 and 3 pages */
.essential-strip { padding: 48px 0; border-bottom: 1px solid var(--line); background: white; }
.essential-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 70px; }
.essential-grid h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.7rem); }
.essential-grid ul { margin: 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.essential-grid li { padding: 12px 15px; border-radius: 9px; display: grid; grid-template-columns: 25px 1fr; align-items: center; gap: 11px; background: var(--blue-light); color: #4e5c71; font-size: .78rem; }
.essential-grid li svg { color: var(--coral-dark); }
.sidebar-cta strong, .related-card > strong { display: flex; align-items: center; gap: 6px; }
.subtheme-final-cta { padding: 80px 0; background: #0d315f; color: white; }

/* Article and WordPress content */
.article-section { background: #fbfcfd; }
.article-layout { display: grid; grid-template-columns: 255px minmax(0, 760px); justify-content: center; gap: 75px; }
.sticky-card { position: sticky; top: 25px; padding: 24px 0; border-top: 3px solid var(--navy); }
.sidebar-title { display: block; margin-bottom: 16px; color: var(--navy); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.article-toc ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 3px; }
.article-toc a { display: block; padding: 8px 10px; border-left: 2px solid var(--line); color: var(--muted); font-size: .75rem; line-height: 1.35; }
.article-toc a:hover, .article-toc a.active { border-left-color: var(--coral); background: #fff5f4; color: var(--ink); }
.sidebar-cta { margin-top: 28px; padding: 18px; border-radius: 4px 14px 4px 14px; display: block; background: var(--navy); color: white; }
.sidebar-cta span, .sidebar-cta strong { display: block; }
.sidebar-cta span { margin-bottom: 8px; color: rgba(255,255,255,.6); font-size: .68rem; }
.sidebar-cta strong { font-size: .76rem; }
.entry-content { font-size: 1rem; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2 { margin: 2.4em 0 .7em; scroll-margin-top: 30px; font-size: clamp(1.85rem, 3vw, 2.6rem); }
.entry-content h3 { margin: 2em 0 .65em; font-size: 1.45rem; }
.entry-content p, .entry-content li { color: #4e5c71; }
.entry-content p { margin-bottom: 1.25em; }
.entry-content ul, .entry-content ol { margin: 1.4em 0; padding-left: 1.3em; }
.entry-content li { margin-bottom: .55em; padding-left: .3em; }
.entry-content a:not(.button):not(.wp-block-button__link) { color: #0b5685; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 22px; border-radius: 8px; background: var(--coral); color: #fff; font-size: .78rem; font-weight: 800; line-height: 1.2; text-decoration: none; }
.entry-content .wp-block-button__link:hover { background: var(--coral-dark); color: #fff; }
.entry-content .wp-block-button__link:focus-visible { outline: 3px solid #76b7e5; outline-offset: 3px; }
.entry-content blockquote { margin: 2em 0; padding: 22px 28px; border-left: 4px solid var(--coral); background: #fff5f4; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content table { width: 100%; margin: 2em 0; border-collapse: collapse; font-size: .85rem; }
.entry-content th, .entry-content td { padding: 12px 14px; border: 1px solid var(--line); text-align: left; }
.entry-content th { background: var(--navy); color: white; }
.entry-content details { margin: 12px 0; border: 1px solid var(--line); border-radius: 7px; background: white; }
.entry-content summary { padding: 16px 18px; color: var(--navy); font-weight: 750; cursor: pointer; }
.entry-content details p { padding: 0 18px 18px; margin: 0; }
.entry-content .wp-block-image { margin: 2em 0; }
.entry-content .wp-block-image img { border-radius: 4px 18px 4px 18px; }
.country-reference-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 1.7em 0 2.2em; }
.entry-content .country-reference-link { min-width: 0; margin: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 5px 15px 5px 15px; background: white; box-shadow: 0 8px 24px rgba(9,24,54,.055); }
.entry-content .country-reference-link a { display: inline-block; margin-bottom: 5px; color: var(--navy); }
.info-box { margin: 2em 0; padding: 22px 24px; border-left: 3px solid var(--coral); background: #fff5f4; }
.info-box > strong { display: block; margin-bottom: 8px; color: var(--coral-dark); }
.info-box p:last-child { margin-bottom: 0; }
.warning-box { border-left-color: #c47a16; background: #fff8ec; }
.warning-box h3 { color: #8b540d; }
.document-checklist, .source-box { margin: 2em 0; padding: 22px 24px; border: 1px solid var(--line); border-radius: 4px 14px 4px 14px; background: white; }
.document-checklist h3, .source-box h3 { margin-top: 0; }
.situation-example { margin: 2em 0; padding: 28px clamp(22px,4vw,38px); border-radius: 6px 22px 6px 22px; background: var(--navy); color: white; }
.situation-example h2, .situation-example p { color: white; }
.situation-example h2 { margin-top: 0; }
.editorial-signature { margin: 2.5em 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.editorial-signature .wp-block-post-author { margin: 0; }
.expatrihelp-pattern--related-content .wp-block-buttons { gap: 10px; }
.expatrihelp-steps { counter-reset: expatrihelp-step; padding-left: 0 !important; list-style: none; }
.expatrihelp-steps > li { position: relative; min-height: 48px; padding: 0 0 22px 58px; counter-increment: expatrihelp-step; }
.expatrihelp-steps > li::before { content: counter(expatrihelp-step, decimal-leading-zero); position: absolute; top: 0; left: 0; width: 39px; height: 39px; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: white; font-family: Georgia, serif; font-size: .74rem; }
.expatrihelp-timeline { padding-left: 24px !important; border-left: 3px solid var(--navy); list-style: none; }
.expatrihelp-timeline > li { position: relative; padding: 0 0 22px 8px; }
.expatrihelp-timeline > li::before { content: ""; position: absolute; top: .45em; left: -31px; width: 11px; height: 11px; border: 3px solid white; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 1px var(--coral); }
.editorial-context { padding: 34px 0; border-bottom: 1px solid var(--line); background: var(--blue-light); }
.editorial-status-notice { margin-bottom: 28px; padding: 14px 17px; border: 1px solid #ead39d; border-radius: var(--radius-sm); display: flex; align-items: flex-start; gap: 12px; background: #fff9ea; color: #70450d; }
.editorial-status-notice svg { margin-top: 2px; flex: 0 0 auto; }
.editorial-status-notice strong, .editorial-status-notice span { display: block; }
.editorial-status-notice strong { margin-bottom: 2px; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.editorial-status-notice span { font-size: .8rem; line-height: 1.5; }
.editorial-context-grid { display: grid; grid-template-columns: minmax(240px,.75fr) minmax(0,1.25fr); align-items: start; gap: 54px; }
.editorial-context-grid h2 { margin: 0; font-size: clamp(1.65rem,2.5vw,2.35rem); }
.editorial-context-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.editorial-context-lists strong { display: block; margin-bottom: 10px; color: var(--navy); font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; }
.editorial-moment { grid-column: 1 / -1; }
.editorial-moment p { margin: 0; color: var(--muted); }
.housing-print-toolbar { background: #fff; }
.housing-print-toolbar--inline { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin: 0 0 clamp(1.7rem, 3vw, 2.4rem); padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--blue-light); }
.housing-print-toolbar--inline > span { align-items: center; color: var(--muted); display: flex; font-size: .82rem; gap: .65rem; line-height: 1.45; }
.housing-print-toolbar--inline > span svg { color: var(--coral-dark); flex: 0 0 auto; }
.housing-print-button { align-items: center; background: #fff; border: 1px solid var(--navy); color: var(--navy); display: inline-flex; flex: 0 0 auto; gap: .55rem; }
.housing-print-button:hover,
.housing-print-button:focus-visible { background: var(--navy); color: #fff; }
.housing-print-checklist li { margin-block: .45rem; }
.expatrihelp-situation-example { background: #f2f6fa; border-left: 4px solid var(--coral); border-radius: 0 18px 4px 0; margin: 2rem 0; padding: clamp(1.25rem,3vw,2rem); }
.expatrihelp-situation-example h3 { margin-top: 0; }
.housing-validation-points { background: #fffaf7; }
.editorial-tags { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7px; list-style: none; }
.editorial-tags li { padding: 6px 10px; border: 1px solid #bdd4e2; border-radius: 999px; background: white; color: var(--navy); font-size: .72rem; font-weight: 700; }
.editorial-tags--muted li { border-color: var(--line); color: #536178; font-weight: 600; }
.editorial-sources { margin-top: 42px; padding: 25px 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--blue-light); }
.editorial-sources h2 { margin: 0 0 14px; font-size: 1.15rem; }
.editorial-sources ul { margin: 0; padding-left: 20px; }
.editorial-sources li + li { margin-top: 8px; }
.editorial-sources a { display: inline-flex; align-items: center; gap: 7px; color: var(--blue); font-weight: 700; }
.article-update { margin-top: 65px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; color: var(--muted); font-size: .7rem; }
.article-update strong { color: var(--ink); }
.article-update.is-pending { padding: 16px 18px; border: 1px solid #ead39d; border-radius: var(--radius-sm); justify-content: flex-start; background: #fff9ea; color: #70450d; }
.article-update.is-pending strong { color: #70450d; text-transform: uppercase; letter-spacing: .04em; }
.related-section { background: var(--cream); }
.articles-heading { grid-template-columns: 1fr auto; align-items: center; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.related-card { min-height: 280px; padding: 26px; border: 1px solid var(--line); background: white; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.related-card:hover { transform: translateY(-5px); box-shadow: 0 16px 36px rgba(7,24,60,.08); }
.related-icon { width: 44px; height: 44px; margin-bottom: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: white; }
.related-card p { font-size: .8rem; }
.related-card > strong { margin-top: auto; color: var(--coral-dark); font-size: .68rem; text-transform: uppercase; }
.simple-page-header { padding: 55px 0 70px; background: var(--navy); color: white; }
.simple-page-header h1 { margin: 0; color: white; }
.simple-page-header .breadcrumbs { margin-bottom: 35px; }
.simple-page-header .page-intro { max-width: 760px; margin: 18px 0 24px; color: rgba(255,255,255,.82); font-size: clamp(1rem,1.4vw,1.16rem); line-height: 1.7; }

/* Page Simulateurs : orientation avant outil. */
.simulators-hero { padding: clamp(58px,7vw,104px) 0 clamp(72px,8vw,118px); overflow: hidden; background: var(--navy); color: #fff; }
.simulators-hero-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: clamp(44px,7vw,104px); align-items: end; }
.simulators-hero .breadcrumbs { margin-bottom: clamp(34px,5vw,70px); }
.simulators-hero h1 { max-width: 850px; margin: 16px 0 22px; color: #fff; font-size: clamp(2.7rem,5.5vw,5.35rem); line-height: .98; letter-spacing: -.045em; }
.simulators-hero-grid > div > p { max-width: 720px; color: rgba(255,255,255,.8); font-size: clamp(1.05rem,1.5vw,1.24rem); line-height: 1.7; }
.simulators-hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.simulators-hero-link,.simulators-hero-link:visited { color: #fff; font-weight: 760; text-underline-offset: 5px; }
.simulators-hero-note { padding: clamp(28px,3vw,40px); border: 1px solid rgba(255,255,255,.17); border-radius: 4px 28px 4px 28px; background: rgba(255,255,255,.07); backdrop-filter: blur(8px); }
.simulators-hero-note > span { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; background: #fff; color: var(--navy); }
.simulators-hero-note h2 { margin: 24px 0 12px; color: #fff; font-size: clamp(1.45rem,2.2vw,2rem); }
.simulators-hero-note p { margin: 0; color: rgba(255,255,255,.74); font-size: .94rem; line-height: 1.65; }
.simulator-choice { position: relative; padding: clamp(72px,8vw,116px) 0 40px; scroll-margin-top: 24px; background: #f7f8fa; }
.simulator-choice-intro { max-width: 780px; margin-bottom: 42px; }
.simulator-choice-intro h2 { margin: 12px 0 14px; font-size: clamp(2.1rem,4vw,3.65rem); }
.simulator-choice-intro p { color: var(--muted); font-size: 1.06rem; }
.simulator-choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.simulator-choice-grid > a,.simulator-choice-grid > a:visited { position: relative; min-height: 270px; padding: 30px; border: 1px solid #dce2e9; border-radius: 4px 22px 4px 22px; display: flex; flex-direction: column; align-items: flex-start; background: #fff; color: var(--navy); text-decoration: none; transition: transform .2s,box-shadow .2s,border-color .2s; }
.simulator-choice-grid > a:hover { transform: translateY(-5px); border-color: #b8c5d2; box-shadow: 0 20px 45px rgba(7,24,60,.09); }
.simulator-choice-icon { width: 50px; height: 50px; margin-bottom: 27px; border-radius: 14px; display: grid; place-items: center; background: #edf5f8; }
.simulator-choice-grid small { color: var(--coral); font-size: .7rem; font-weight: 830; letter-spacing: .1em; text-transform: uppercase; }
.simulator-choice-grid strong { margin: 8px 0 10px; font-size: 1.3rem; line-height: 1.2; }
.simulator-choice-grid strong + span { max-width: 310px; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.simulator-choice-grid > a > svg { position: absolute; right: 27px; bottom: 28px; color: var(--coral); }
.simulators-content.entry-content { max-width: none; padding: 0; }

@media (max-width:900px) {
  .simulators-hero-grid { grid-template-columns: 1fr; }
  .simulators-hero-note { max-width: 650px; }
  .simulator-choice-grid { grid-template-columns: 1fr; }
  .simulator-choice-grid > a { min-height: 0; }
}

@media (max-width:640px) {
  .simulators-hero { padding: 38px 0 70px; }
  .simulators-hero .breadcrumbs { margin-bottom: 34px; }
  .simulators-hero h1 { font-size: clamp(2.55rem,13vw,3.55rem); }
  .simulators-hero-actions { align-items: stretch; flex-direction: column; }
  .simulators-hero-actions .button { width: 100%; justify-content: center; }
  .simulators-hero-link { text-align: center; }
  .simulator-choice-grid > a { padding: 25px; }
}
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.post-card { border: 1px solid var(--line); }
.post-card > div { padding: 24px; }
.post-card h2 { font-size: 1.35rem; }
.post-card small { color: var(--coral-dark); font-size: .68rem; font-weight: 750; }

/* Footer */
.contact-band { padding: 85px 0; background: var(--navy); color: white; }
.contact-band-grid { display: grid; grid-template-columns: 1.2fr .65fr; align-items: center; gap: 90px; }
.contact-band h2 { margin: 0; color: white; font-size: clamp(2rem,4vw,3.5rem); }
.contact-band p { color: rgba(255,255,255,.65); }

/* Service and accompaniment pages */
.service-hero { min-height: 610px; }
.service-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(3,14,37,.98) 0%,rgba(5,24,53,.92) 48%,rgba(7,36,64,.5) 100%); }
.service-hero .editorial-hero-image { filter: saturate(.82); }
.service-hero-content { position: relative; z-index: 3; padding-top: 45px; padding-bottom: 82px; }
.service-hero .breadcrumbs { margin-bottom: 58px; }
.service-hero-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.58fr); align-items: end; gap: 88px; }
.service-hero-copy h1 { max-width: 780px; margin: 0 0 22px; color: white; }
.service-hero-copy > p { max-width: 680px; margin: 0; color: rgba(255,255,255,.76); font-size: 1.05rem; }
.service-hero-summary { padding: 30px; border: 1px solid rgba(255,255,255,.22); border-radius: 4px 20px 4px 20px; background: rgba(4,19,45,.72); color: white; backdrop-filter: blur(12px); }
.service-summary-icon { width: 56px; height: 56px; margin-bottom: 24px; border: 1px solid rgba(255,255,255,.34); border-radius: 15px; display: grid; place-items: center; color: #c6e0ed; }
.service-hero-summary h2 { margin: 0 0 22px; color: white; font-size: 1.45rem; }
.service-hero-summary ul { margin: 0; padding: 0; display: grid; gap: 14px; list-style: none; }
.service-hero-summary li { display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: 10px; color: rgba(255,255,255,.75); font-size: .78rem; }
.service-hero-summary li svg { margin-top: 2px; color: #d3e7ef; }
.service-principles { border-bottom: 1px solid var(--line); background: white; }
.service-principles-grid { min-height: 108px; display: grid; grid-template-columns: repeat(3,1fr); align-items: stretch; }
.service-principles-grid > div { padding: 24px 30px; border-left: 1px solid var(--line); display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 13px; }
.service-principles-grid > div:last-child { border-right: 1px solid var(--line); }
.service-principles-grid > div > svg { color: var(--coral-dark); }
.service-principles-grid strong,.service-principles-grid small { display: block; }
.service-principles-grid strong { margin-bottom: 3px; color: var(--navy); font-size: .82rem; }
.service-principles-grid small { color: var(--muted); font-size: .68rem; line-height: 1.45; }
.service-context-section { background: var(--blue-light); }
.service-context-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.service-context-card { position: relative; min-height: 230px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-sm); display: flex; flex-direction: column; background: white; transition: transform .2s,border-color .2s,box-shadow .2s; }
.service-context-card:hover { border-color: #aab8c7; transform: translateY(-5px); box-shadow: var(--shadow-soft); }
.service-context-card > span { width: 48px; height: 48px; margin-bottom: 28px; border-radius: 13px; display: grid; place-items: center; background: var(--navy); color: white; }
.service-context-card strong { color: var(--navy); font-size: .92rem; }
.service-context-card small { margin-top: 7px; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.service-context-card > svg { position: absolute; right: 20px; top: 25px; color: var(--coral); }
.service-content-section { background: var(--cream); }
.service-content-grid { display: grid; grid-template-columns: minmax(260px,.46fr) minmax(0,1fr); align-items: start; gap: 80px; }
.service-content-intro { position: sticky; top: 45px; padding: 31px; border: 1px solid var(--line); border-radius: 4px 18px 4px 18px; background: white; }
.service-content-intro h2 { margin: 12px 0 15px; font-size: clamp(1.75rem,2.5vw,2.35rem); }
.service-content-intro p { font-size: .78rem; }
.service-content-intro ul { margin: 24px 0 0; padding: 21px 0 0; border-top: 1px solid var(--line); display: grid; gap: 14px; list-style: none; }
.service-content-intro li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: var(--muted); font-size: .71rem; line-height: 1.5; }
.service-content-intro li svg { color: var(--coral-dark); }
.service-main-content { min-width: 0; padding: 0; }
.service-main-content > :first-child { margin-top: 0; }
.service-main-content .eh-form-shell { width: 100%; margin: 0; padding: 0; }
.service-main-content .eh-form-shell > header { padding-top: 4px; }
.service-main-content .wp-block-group[id="formulaire"] { scroll-margin-top: 24px; }
.site-footer { background: #04102a; color: white; padding-top: 72px; }
.footer-grid { display: grid; gap: clamp(34px,4vw,64px); grid-template-columns: minmax(220px,1.35fr) repeat(4,minmax(140px,1fr)); padding-bottom: 56px; }
.brand.inverse .brand-copy strong, .brand.inverse .brand-copy small { color: white; }
.footer-brand p { color: rgba(255,255,255,.66); font-size: .8rem; line-height: 1.7; margin: 20px 0 18px; max-width: 310px; }
.footer-brand-link { align-items: center; color: #fff; display: inline-flex; font-size: .76rem; font-weight: 800; gap: .5rem; text-decoration-color: rgba(255,255,255,.65); text-underline-offset: .25em; }
.footer-brand-link:hover,.footer-brand-link:focus-visible { color: #fff; text-decoration-color: var(--coral); }
.footer-nav-title { color: #fff; font-size: .72rem; font-weight: 850; letter-spacing: .08em; margin: .25rem 0 19px; text-transform: uppercase; }
.footer-nav-links { display: flex; flex-direction: column; gap: 10px; }
.footer-nav-links > a { color: rgba(255,255,255,.7); font-size: .75rem; line-height: 1.42; text-decoration: none; }
.footer-nav-links > a:hover,.footer-nav-links > a:focus-visible { color: white; text-decoration: underline; text-decoration-color: var(--coral); text-underline-offset: .22em; }
.footer-trust-note { align-items: flex-start; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.72); display: flex; gap: .75rem; padding-block: 18px; }
.footer-trust-note svg { color: #b9d7e9; flex: 0 0 auto; }
.footer-trust-note p { font-size: .72rem; line-height: 1.6; margin: 0; max-width: 980px; }
.footer-trust-note strong { color: #fff; }
.footer-bottom { padding: 20px 0; border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; color: rgba(255,255,255,.55); font-size: .68rem; }
.footer-bottom a { color: rgba(255,255,255,.72); }

@media (max-width: 1180px) {
  .header-shell { grid-template-columns: 220px 1fr auto; gap: 8px; }
  .brand-copy strong { font-size: 1.2rem; }
  .brand-shield { width: 33px; height: 39px; }
  .brand-copy small { font-size: .4rem; }
  .nav-link { min-width: 90px; padding-inline: 5px; font-size: .61rem; }
  .header-actions .button { display: none; }
  .subtheme-grid { grid-template-columns: repeat(3, 1fr); }
  .home-hero-grid { grid-template-columns: 1fr 340px; gap: 45px; }
  .intent-grid { grid-template-columns: 1fr 1fr; }
  .profile-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hub-card-grid, .hub-tool-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .service-context-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .header-shell { min-height: 78px; grid-template-columns: 1fr auto; }
  .mobile-toggle { width: 44px; height: 44px; border: 0; border-radius: 6px; background: var(--navy); display: grid; align-content: center; justify-content: center; gap: 5px; }
  .mobile-toggle > span:not(.screen-reader-text) { width: 20px; height: 2px; background: white; transition: .2s; }
  .mobile-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .mobile-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
  .mobile-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  html:not(.js) .mobile-toggle { display: none; }
  html:not(.js) .mobile-nav-header { display: none; }
  .primary-nav { grid-column: 1 / -1; display: block; width: 100%; padding: 0; background: white; }
  .js .primary-nav { position: fixed; z-index: 220; top: 0; right: 0; bottom: 0; left: auto; width: min(92vw, 430px); height: 100vh; height: 100dvh; overflow: hidden; box-shadow: -18px 0 44px rgba(7,24,60,.22); clip-path: inset(0 0 0 100%); opacity: 0; pointer-events: none; transition: clip-path .2s ease, opacity .2s ease, visibility .2s; visibility: hidden; }
  .js .primary-nav.open { clip-path: inset(0); opacity: 1; pointer-events: auto; visibility: visible; }
  .mobile-nav-backdrop { background: rgba(4,16,42,.56); border: 0; bottom: 0; left: 0; position: fixed; right: 0; top: 0; z-index: 210; }
  .mobile-nav-backdrop:not([hidden]) { display: block; }
  .desktop-primary-nav { display: none; }
  .mobile-nav-shell { display: flex; flex-direction: column; height: 100%; min-height: 0; }
  .mobile-nav-header { align-items: center; border-bottom: 1px solid var(--line); display: grid; flex: 0 0 auto; gap: 10px; grid-template-columns: 74px minmax(0,1fr) 44px; min-height: 76px; padding: max(10px, env(safe-area-inset-top)) 14px 10px; }
  .mobile-nav-back, .mobile-nav-close { align-items: center; background: transparent; border: 0; color: var(--navy); cursor: pointer; display: inline-flex; font-size: .72rem; font-weight: 800; gap: 5px; justify-content: center; min-height: 44px; min-width: 44px; padding: 6px; }
  .mobile-nav-back[hidden] { visibility: hidden; }
  .mobile-nav-heading { min-width: 0; text-align: center; }
  .mobile-nav-heading small, .mobile-nav-heading strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-nav-heading small { color: var(--coral-dark); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .mobile-nav-heading strong { color: var(--navy); font-size: .9rem; margin-top: 3px; }
  .mobile-nav-panels { flex: 1 1 auto; min-height: 0; overflow: hidden auto; overscroll-behavior: contain; }
  .mobile-nav-panel { border-bottom: 1px solid var(--line); padding: 22px 18px calc(28px + env(safe-area-inset-bottom)); }
  .js .mobile-nav-panel { display: none; }
  .js .mobile-nav-panel.is-active { animation: mobile-panel-forward .18s ease both; display: block; }
  .js .mobile-nav-shell[data-direction="back"] .mobile-nav-panel.is-active { animation-name: mobile-panel-back; }
  .mobile-nav-panel h2 { color: var(--navy); font-size: 1.55rem; margin: 4px 0 15px; }
  .mobile-panel-eyebrow { color: var(--coral-dark); display: block; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
  .mobile-panel-overview { align-items: center; background: var(--blue-light); border-radius: 10px; color: var(--navy); display: flex; font-size: .75rem; font-weight: 800; justify-content: space-between; margin-bottom: 14px; min-height: 48px; padding: 10px 12px; text-decoration: none; }
  .mobile-nav-list { display: grid; }
  .mobile-nav-row { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--navy); display: grid; font: inherit; font-size: .82rem; font-weight: 750; gap: 11px; grid-template-columns: 38px minmax(0,1fr) 20px; min-height: 56px; padding: 8px 2px; text-align: left; text-decoration: none; width: 100%; }
  .mobile-nav-row > span:nth-child(2) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-nav-row-icon { align-items: center; background: var(--blue-light); border-radius: 9px; color: var(--navy); display: inline-flex; height: 36px; justify-content: center; width: 36px; }
  .mobile-nav-row > svg { color: var(--coral); }
  .mobile-nav-advisor { margin-top: 18px; width: 100%; }
  .mobile-nav-language { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: .69rem; gap: 8px; margin-top: 18px; }
  .mobile-nav-language > span:first-child { color: var(--navy); font-weight: 800; margin-right: auto; }
  .mobile-nav-language a { color: var(--navy); font-weight: 800; }
  .mobile-nav-language [aria-disabled="true"] { opacity: .65; }
  @keyframes mobile-panel-forward { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
  @keyframes mobile-panel-back { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: translateX(0); } }
  .nav-item { display: block; }
  .nav-link { width: 100%; min-height: 54px; border-bottom: 1px solid var(--line); padding: 10px 2px; flex-direction: row; justify-content: flex-start; gap: 13px; text-align: left; }
  .nav-link br { display: none; }
  .nav-link .nav-text { flex: 1; justify-content: flex-start; }
  .nav-link .chevron { margin-left: 0; }
  .nav-icon { width: 30px; height: auto; text-align: center; }
  .mobile-search-link { display: flex; }
  .mobile-nav-row.mobile-search-link { display: grid; }
  .mega-menu { position: static; display: none; width: 100%; padding: 16px 8px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; grid-template-columns: 1fr; opacity: 1; visibility: visible; transform: none; translate: none; }
  .has-menu.open .mega-menu { display: grid; }
  .menu-intro { display: none; }
  .menu-links { grid-template-columns: 1fr 1fr; }
  .header-actions { display: none; }
  .hero-title-grid, .subtheme-hero-grid, .split-heading, .contact-band-grid { grid-template-columns: 1fr; gap: 35px; }
  .subtheme-hero-mark { display: none; }
  .hero-intro { max-width: 650px; }
  .subtheme-grid { grid-template-columns: repeat(2, 1fr); }
  .article-layout { grid-template-columns: 210px minmax(0,1fr); gap: 45px; }
  .related-grid { grid-template-columns: 1fr 1fr; }
  .related-card:last-child { display: none; }
  .footer-grid { gap: 34px 24px; grid-template-columns: 1.35fr 1fr 1fr; padding-bottom: 40px; }
  .footer-brand { grid-row: span 2; padding-bottom: 0; }
  .home-hero-grid, .simulator-showcase-grid, .trust-grid, .faq-layout { grid-template-columns: 1fr; gap: 48px; }
  .home-hero-grid { padding-block: 72px; }
  .hero-route-card { max-width: 620px; }
  .profile-grid, .profile-router--compact .profile-grid { grid-template-columns: 1fr 1fr; }
  .hub-card-grid, .hub-tool-grid { grid-template-columns: 1fr 1fr; }
  .hub-tool-card:last-child { grid-column: 1 / -1; }
  .expertise-grid { grid-template-columns: 1fr; }
  .method-grid { grid-template-columns: 1fr 1fr; }
  .method-grid::before { display: none; }
  .final-cta-inner { grid-template-columns: 62px 1fr; }
  .final-cta-inner .button { grid-column: 2; justify-self: start; }
  .essential-grid { grid-template-columns: 1fr; gap: 30px; }
  .editorial-context-grid { grid-template-columns: 1fr; gap: 26px; }
  .service-hero-grid,.service-content-grid { grid-template-columns: 1fr; gap: 42px; }
  .service-hero-summary { max-width: 680px; }
  .service-principles-grid { grid-template-columns: 1fr; padding-block: 12px; }
  .service-principles-grid > div,.service-principles-grid > div:last-child { border: 0; border-bottom: 1px solid var(--line); }
  .service-principles-grid > div:last-child { border-bottom: 0; }
  .service-content-intro { position: static; }
  html:not(.js) .mobile-nav-shell { height: auto; }
  html:not(.js) .mobile-nav-panels { overflow: visible; }
}

@media (max-width: 700px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 74px 0; }
  .header-shell { width: calc(100% - 28px); }
  .utility-shell { width: calc(100% - 28px); }
  .utility-title span { display: none; }
  .utility-actions { gap: 10px; }
  .utility-actions .search-trigger { font-size: .62rem; }
  .brand-shield { width: 30px; height: 35px; }
  .brand-shield::before { width: 17px; height: 6px; left: 6px; top: 14px; }
  .brand-shield::after { width: 6px; height: 17px; left: 12px; top: 8px; }
  .brand-copy strong { font-size: 1.03rem; }
  .brand-copy small { display: none; }
  .menu-links { grid-template-columns: 1fr; }
  .editorial-hero h1 { font-size: 3rem; }
  .thematic-hero .hero-content, .subtheme-hero .hero-content { padding-top: 28px; padding-bottom: 64px; }
  .breadcrumbs { margin-bottom: 45px; }
  .hero-intro { padding: 0; border: 0; }
  .hero-topic-icon { width: 48px; height: 48px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .subtheme-grid { grid-template-columns: 1fr; }
  .subtheme-card { min-height: 285px; }
  .card-symbol { margin-bottom: 24px; }
  .orientation-grid { grid-template-columns: 1fr; gap: 28px; }
  .article-layout { grid-template-columns: 1fr; }
  .article-sidebar { display: block; }
  .article-sidebar .sticky-card {
    position: static;
    padding: 20px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--navy);
    border-radius: 4px 14px 4px 14px;
    background: #fff;
  }
  .entry-content { font-size: .96rem; }
  .entry-content table { display: block; overflow-x: auto; }
  .country-reference-grid { grid-template-columns: 1fr; }
  .editorial-context { padding: 28px 0; }
  .editorial-context-lists { grid-template-columns: 1fr; }
  .editorial-status-notice { margin-bottom: 22px; }
  .related-grid { grid-template-columns: 1fr; }
  .related-card:last-child { display: flex; }
  .articles-heading { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 26px; }
  .footer-brand { grid-column: 1/-1; grid-row: auto; }
  .footer-bottom { flex-direction: column; gap: 10px; }
  .home-hero, .home-hero-grid { min-height: auto; }
  .home-hero-grid { padding-block: 64px; }
  .home-hero h1 { font-size: clamp(3rem,14vw,4.3rem); }
  .home-hero .hero-actions { width: 100%; }
  .home-hero .hero-actions .button { width: 100%; }
  .hero-reassurance { display: grid; }
  .hero-route-card > a { grid-template-columns: 42px 1fr; }
  .hero-route-card > a > svg { display: none; }
  .intent-grid { grid-template-columns: 1fr; }
  .profile-grid, .profile-router--compact .profile-grid { grid-template-columns: 1fr; }
  .hub-card-grid, .hub-tool-grid { grid-template-columns: 1fr; }
  .hub-tool-card:last-child { grid-column: auto; }
  .hub-action-card { min-height: 245px; }
  .profile-card, .profile-router--compact .profile-card { min-height: 0; padding: 20px; display: grid; grid-template-columns: 48px 1fr 18px; align-items: center; gap: 14px; }
  .profile-card-icon { width: 48px; height: 48px; margin: 0; }
  .profile-card-copy > span { margin-top: 5px; }
  .profile-card-arrow { position: static; }
  .expertise-card { min-height: 0; padding: 28px; }
  .expertise-card ul { grid-template-columns: 1fr; }
  .simulator-mini-card { grid-template-columns: 45px 1fr; }
  .simulator-mini-card > small { grid-column: 2; }
  .method-grid, .article-card-grid { grid-template-columns: 1fr; }
  .final-cta-inner { grid-template-columns: 1fr; }
  .final-cta-inner .button { grid-column: 1; }
  .final-cta-icon { width: 60px; height: 60px; }
  .service-hero { min-height: 0; }
  .service-hero-content { padding-top: 28px; padding-bottom: 62px; }
  .service-hero .breadcrumbs { margin-bottom: 42px; }
  .service-hero-copy h1 { font-size: clamp(2.9rem,13vw,4rem); }
  .service-hero-summary { padding: 24px; }
  .service-context-grid { grid-template-columns: 1fr; }
  .service-context-card { min-height: 0; padding: 19px; display: grid; grid-template-columns: 48px 1fr 18px; align-items: center; gap: 13px; }
  .service-context-card > span { margin: 0; }
  .service-context-card small { grid-column: 2; margin-top: -7px; }
  .service-context-card > svg { position: static; grid-column: 3; grid-row: 1 / span 2; }
  .service-content-grid { gap: 44px; }
  .service-content-intro { padding: 24px; }
}

@media (max-width: 359px) {
  .mobile-nav-row > span:nth-child(2), .mobile-nav-heading small, .mobile-nav-heading strong { overflow: visible; text-overflow: clip; white-space: normal; }
  .mobile-nav-header { grid-template-columns: 68px minmax(0,1fr) 44px; padding-inline: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .js .primary-nav, .js .mobile-nav-panel.is-active, .footer-nav-group > summary svg { animation: none; transition: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Lot 13 : documents légaux et confiance transversale. */
.legal-page-header { background: var(--cream); }
.legal-page-header h1 { color: var(--navy); }
.legal-page-header .page-intro { color: var(--muted); }
.legal-page-header .breadcrumbs,
.legal-page-header .breadcrumbs a { color: #536078; }
.legal-page-header .breadcrumbs [aria-hidden="true"] { color: #8792a6; }
.legal-header-grid { align-items: end; display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr); }
.legal-header-grid h1 { margin-bottom: 1rem; }
.legal-header-grid .breadcrumbs { margin-bottom: 2rem; }
.legal-status { align-items: flex-start; background: #fff; border: 1px solid #e7b961; border-radius: 14px; display: flex; gap: .85rem; padding: 1.15rem; }
.legal-status > svg { color: #8b5700; flex: 0 0 auto; }
.legal-status strong { color: var(--navy); display: block; margin-bottom: .25rem; }
.legal-status p { color: #624c27; font-size: .78rem; margin: 0; }
.legal-layout { align-items: start; display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); }
.legal-content { max-width: none; }
.legal-content h2 { font-size: clamp(1.35rem, 2.6vw, 1.8rem); margin-top: 2.5rem; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content li { margin-bottom: .55rem; }
.legal-sidebar { background: var(--cream); border-radius: 16px; padding: 1.35rem; position: sticky; top: 190px; }
.legal-sidebar h2 { font-size: 1.25rem; margin-bottom: 1rem; }
.legal-sidebar nav { display: grid; gap: .45rem; }
.legal-sidebar nav a { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; color: var(--navy); display: flex; font-size: .8rem; font-weight: 750; gap: .65rem; min-height: 46px; padding: .7rem .8rem; text-decoration: none; }
.legal-sidebar nav a[aria-current="page"] { border-color: var(--coral); box-shadow: inset 3px 0 0 var(--coral); }
.legal-sidebar nav a span { color: var(--coral); display: inline-flex; }
.legal-sidebar > .text-link { margin-top: 1.2rem; }

@media (max-width: 768px) {
    .legal-header-grid, .legal-layout { grid-template-columns: 1fr; }
    .legal-sidebar { position: static; }
}

@media (max-width: 560px) {
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
    .footer-nav-group { border-top: 1px solid rgba(255,255,255,.12); padding-top: 24px; }
    .footer-bottom nav { line-height: 1.8; }
}

/* Lot 15 : préinscription newsletter. */
.newsletter-hero { background: var(--navy); color: #fff; padding-block: clamp(64px, 9vw, 120px); }
.newsletter-hero-grid { align-items: center; display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); }
.newsletter-copy h1 { color: #fff; }
.newsletter-copy > p { color: #dce5f5; max-width: 680px; }
.newsletter-copy .breadcrumbs, .newsletter-copy .breadcrumbs a { color: #dce5f5; }
.newsletter-trust { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 18px; display: grid; gap: 1rem .85rem; grid-template-columns: 44px minmax(0,1fr); padding: 1.4rem; }
.newsletter-trust > span { align-items: center; background: rgba(255,255,255,.1); border-radius: 10px; color: #b9d7e9; display: inline-flex; height: 42px; justify-content: center; width: 42px; }
.newsletter-trust strong { display: block; font-size: .88rem; margin-bottom: .15rem; }
.newsletter-trust p { color: #ccd6e7; font-size: .76rem; margin: 0; }
.newsletter-value { background: var(--cream); }
.newsletter-value-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.newsletter-value-grid article { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1.4rem; }
.newsletter-value-grid article > span { align-items: center; background: var(--blue-light); border-radius: 11px; color: var(--navy); display: inline-flex; height: 46px; justify-content: center; margin-bottom: 1rem; width: 46px; }
.newsletter-value-grid h3 { font-size: 1.05rem; }
.newsletter-value-grid p { font-size: .8rem; margin-bottom: 0; }
.newsletter-form-section { background: #fff; scroll-margin-top: 150px; }
.newsletter-form-grid { align-items: start; display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); }
.newsletter-form-intro { position: sticky; top: 190px; }
.newsletter-form-intro ul { color: var(--navy); font-size: .82rem; font-weight: 700; padding-left: 1.2rem; }
.newsletter-form-intro li { margin-bottom: .55rem; }
.newsletter-form-card .eh-form-shell { margin: 0; }
.newsletter-alternatives { background: var(--cream); }
.newsletter-alternative-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin-inline: auto; max-width: 900px; }
.newsletter-alternative-grid a { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; color: var(--navy); display: grid; gap: 1rem; grid-template-columns: 44px minmax(0,1fr) auto; min-height: 84px; padding: 1rem; text-decoration: none; }
.newsletter-alternative-grid a > span { align-items: center; background: var(--blue-light); border-radius: 10px; color: var(--navy); display: inline-flex; height: 44px; justify-content: center; width: 44px; }
.newsletter-alternative-grid a > svg { color: var(--coral); }

@media (max-width: 768px) {
    .newsletter-hero-grid, .newsletter-form-grid { grid-template-columns: 1fr; }
    .newsletter-form-intro { position: static; }
    .newsletter-value-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .newsletter-alternative-grid { grid-template-columns: 1fr; }
}

/* Lot 14 : récupération des erreurs 404. */
.not-found-hero { background: var(--navy); color: #fff; overflow: hidden; padding-block: clamp(70px, 10vw, 130px); }
.not-found-hero-grid { align-items: center; display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); }
.not-found-code { align-items: center; color: rgba(255,255,255,.92); display: flex; font-size: clamp(5.5rem, 14vw, 11rem); font-weight: 900; justify-content: center; letter-spacing: -.09em; line-height: .8; }
.not-found-code svg { color: var(--coral); margin-inline: clamp(.2rem, 1.5vw, 1rem); }
.not-found-copy { max-width: 700px; }
.not-found-copy h1 { color: #fff; font-size: clamp(3rem, 6vw, 5rem); }
.not-found-copy > p { color: #dce5f5; max-width: 620px; }
.not-found-copy .hero-actions { margin-top: 2rem; }
.not-found-search-section { background: #fff; }
.not-found-search-grid { align-items: center; display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); }
.not-found-search { background: var(--cream); border: 1px solid var(--line); border-radius: 16px; padding: 1.2rem; }
.not-found-search label { color: var(--navy); display: block; font-size: .78rem; font-weight: 800; margin-bottom: .55rem; }
.not-found-search > div { align-items: center; background: #fff; border: 1px solid #bdc8d5; border-radius: 10px; display: flex; gap: .65rem; padding: .35rem; }
.not-found-search > div:focus-within { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(7,24,60,.08); }
.not-found-search > div > span { color: var(--navy); display: inline-flex; margin-left: .55rem; }
.not-found-search input { border: 0; flex: 1 1 auto; min-width: 0; outline: 0; padding: .75rem .25rem; }

@media (max-width: 768px) {
    .not-found-hero-grid, .not-found-search-grid { grid-template-columns: 1fr; }
    .not-found-code { justify-content: flex-start; }
}

@media (max-width: 560px) {
    .not-found-code { font-size: 5.5rem; justify-content: center; }
    .not-found-code svg { height: 46px; width: 46px; }
    .not-found-search > div { align-items: stretch; flex-wrap: wrap; }
    .not-found-search > div > span { align-items: center; }
    .not-found-search .button { flex: 1 0 100%; width: 100%; }
}
/* Lot 05 — articles, archives et maillage éditorial. */
.article-archive-hero,
.article-single-hero,
.compact-archive-hero {
    padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.article-archive-hero .container,
.article-hero-inner,
.compact-archive-hero .container {
    max-width: 920px;
}

.article-archive-hero p,
.article-single-hero .article-lead,
.archive-description {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.8vw, 1.3rem);
}

.article-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-bottom: 2rem;
}

.article-filters a {
    border: 1px solid var(--border, #d7dde8);
    border-radius: 999px;
    color: var(--navy, #090d3a);
    padding: .65rem 1rem;
    text-decoration: none;
}

.article-filters a:hover,
.article-filters a:focus-visible,
.article-filters a[aria-current="page"] {
    background: var(--navy, #090d3a);
    border-color: var(--navy, #090d3a);
    color: #fff;
}

.article-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.article-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.article-card-media {
    display: block;
    margin: -27px -27px 20px;
    overflow: hidden;
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    aspect-ratio: 16 / 9;
}

.article-card-media picture,
.article-card-image {
    display: block;
    width: 100%;
    height: 100%;
}

.article-card-image {
    object-fit: cover;
    transition: transform .35s ease;
}

.article-card-media:hover .article-card-image,
.article-card-media:focus-visible .article-card-image {
    transform: scale(1.025);
}

.article-single-hero::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,17,44,.98) 0%, rgba(6,25,58,.9) 56%, rgba(8,42,78,.55) 100%);
}

.article-single-hero .article-hero-inner {
    position: relative;
    z-index: 3;
}

@media (prefers-reduced-motion: reduce) {
    .article-card-image { transition: none; }
}

.article-card h2,
.article-card h3 {
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    margin-block: .75rem;
}

.article-card h2 a,
.article-card h3 a {
    color: inherit;
    text-decoration: none;
}

.article-card .text-link {
    margin-top: auto;
}

.article-card-author {
    align-items: center;
    color: var(--muted);
    display: inline-flex;
    font-size: .8rem;
    gap: .55rem;
    margin: .25rem 0 1rem;
    text-decoration: none;
}

.article-card-author:hover { color: var(--navy); }
.article-card-author-avatar { align-items: center; background: var(--blue-light); border-radius: 50%; color: var(--navy); display: inline-flex; flex: 0 0 32px; font-size: .66rem; font-weight: 850; height: 32px; justify-content: center; letter-spacing: .04em; width: 32px; }
.article-card-author strong { color: var(--navy); font-weight: 750; }

.article-card-meta,
.article-byline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
    color: var(--muted, #596174);
    font-size: .86rem;
}

.article-category-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.article-category-links a { padding: 6px 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: #fff; font-size: .78rem; font-weight: 700; }
.article-people { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.article-people-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.article-person { display: grid; gap: 5px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); }
.article-person-label { color: var(--coral-dark); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-person p { margin: 4px 0 0; color: var(--muted); font-size: .9rem; }
.archive-pillar-link { margin-top: 22px; }

@media (max-width: 640px) {
    .article-people-grid { grid-template-columns: 1fr; }
}

.article-card-meta span::before,
.article-byline > * + *::before {
    content: "·";
    margin-right: .55rem;
}

.article-empty {
    background: #f5f7fb;
    border-radius: 22px;
    padding: clamp(2rem, 5vw, 4rem);
    text-align: center;
}

.article-empty p {
    margin-inline: auto;
    max-width: 680px;
}

.article-byline {
    color: rgba(255, 255, 255, .82);
    margin-top: 1.25rem;
}

.article-byline-featured { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.article-byline-featured .article-byline { margin-top: 0; }
.article-byline-author { align-items: center; color: #fff; display: inline-flex; gap: .75rem; text-decoration: none; }
.article-byline-author:hover strong, .article-byline-author:focus-visible strong { text-decoration: underline; text-underline-offset: 3px; }
.article-byline-avatar { align-items: center; background: rgba(255,255,255,.14); border: 2px solid rgba(255,255,255,.75); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 52px; font-size: .78rem; font-weight: 850; height: 52px; justify-content: center; letter-spacing: .04em; width: 52px; }
.article-byline-author > span { display: grid; gap: 1px; }
.article-byline-author small { color: rgba(255,255,255,.7); font-size: .68rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.article-byline-author strong { color: #fff; font-size: .9rem; }
.article-byline-author em { color: rgba(255,255,255,.78); font-size: .76rem; font-style: normal; }
.article-person-author { align-items: start; grid-template-columns: 72px minmax(0,1fr); }
.article-person-avatar { align-items: center; background: var(--blue-light); border-radius: 50%; color: var(--navy); display: inline-flex; font-size: .9rem; font-weight: 850; height: 72px; justify-content: center; letter-spacing: .04em; width: 72px; }
.article-person-author > div { display: grid; gap: 5px; }
.article-person-author strong a { color: var(--navy); text-decoration: none; }
.article-person-author small { color: var(--muted); }
.article-person-links { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; margin-top: .4rem; }

/* Profils auteurs : identité, périmètre réel et publications associées. */
.author-hero { padding-block: clamp(3.5rem,7vw,6.5rem); }
.author-hero-inner { max-width: 980px; }
.author-profile { align-items: center; display: grid; gap: clamp(1.5rem,4vw,3rem); grid-template-columns: auto minmax(0,1fr); margin-top: 2rem; }
.author-profile-avatar { align-items: center; background: rgba(255,255,255,.14); border: 4px solid rgba(255,255,255,.72); border-radius: 50%; color: #fff; display: inline-flex; font-size: clamp(1.1rem,2vw,1.6rem); font-weight: 850; height: clamp(104px,12vw,144px); justify-content: center; letter-spacing: .05em; width: clamp(104px,12vw,144px); }
.author-profile h1 { margin: .35rem 0 .5rem; }
.author-profile-role { color: #fff; font-size: clamp(1rem,1.6vw,1.2rem); margin: 0; }
.author-profile-expertise { color: rgba(255,255,255,.78); margin: .55rem 0 0; }
.author-profile-link { color: #fff; margin-top: 1rem; }
.author-profile-photo,.article-person-photo { object-fit: cover; }
.content-people { border-top: 1px solid var(--line); margin-top: 2rem; padding-top: 2rem; }
.content-people-heading h2 { margin-top: .35rem; }
.content-people-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 1.25rem 0; }
.content-person { align-items: center; background: var(--surface-soft); border: 1px solid var(--line); border-radius: var(--radius-sm); display: grid; gap: .85rem; grid-template-columns: 48px minmax(0,1fr); padding: 1rem; }
.content-person-avatar { align-items: center; background: var(--blue-light); border-radius: 50%; color: var(--navy); display: inline-flex; font-size: .78rem; font-weight: 850; height: 48px; justify-content: center; width: 48px; }
.content-person div { display: grid; gap: .18rem; min-width: 0; }
.content-person div > span { color: var(--coral-dark); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.content-person strong a { color: var(--navy); text-decoration: none; }
.content-person small { color: var(--muted); }
.author-about { background: var(--surface-soft); }
.author-about-inner { max-width: 820px; }
.author-about-inner p { font-size: 1.05rem; line-height: 1.8; }

/* Lot 42 — blog éditorial, catégories et crédibilité. */
.article-archive-hero,
.category-hero { padding-block: clamp(3.75rem, 8vw, 7rem); }
.article-archive-hero .container,
.category-hero .container { max-width: 920px; }
.article-archive-hero p,
.category-hero p { color: rgba(255,255,255,.8); font-size: clamp(1.05rem, 1.8vw, 1.28rem); line-height: 1.65; max-width: 68ch; }
.article-featured-section { background: linear-gradient(180deg, #f4f7fb 0%, #fff 100%); }
.article-featured { align-items: stretch; background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 18px 55px rgba(5,29,68,.08); display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); margin-top: 1rem; overflow: hidden; }
.article-featured-media { background: var(--blue-light); display: block; min-height: 420px; overflow: hidden; }
.article-featured-media picture,
.article-featured-media img { display: block; height: 100%; width: 100%; }
.article-featured-media img { object-fit: cover; transition: transform .35s ease; }
.article-featured-media:hover img { transform: scale(1.025); }
.article-featured-copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,4vw,4rem); }
.article-featured-copy h2 { font-size: clamp(1.9rem,3.5vw,3rem); line-height: 1.08; margin: 1rem 0; }
.article-featured-copy h2 a { color: var(--navy); text-decoration: none; }
.article-featured-copy > p { color: var(--muted); font-size: 1.04rem; line-height: 1.7; }
.article-featured-copy .button { margin-top: .35rem; }
.article-card-meta a { color: var(--coral-dark); font-weight: 800; text-decoration: none; }
.article-card-meta > * + *::before { color: var(--muted); content: "·"; margin-right: .55rem; }
.article-featured-compact { grid-template-columns: minmax(0,.9fr) minmax(360px,1.1fr); }
.category-latest { background: var(--surface-soft); }
.category-explore { border-top: 1px solid var(--line); }
.category-link-grid { display: grid; gap: .85rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
.category-link-grid a { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; color: var(--navy); display: grid; gap: .75rem; grid-template-columns: auto 1fr auto; min-height: 76px; padding: 1rem; text-decoration: none; }
.category-link-grid a > span { align-items: center; background: var(--blue-light); border-radius: 10px; display: inline-flex; height: 40px; justify-content: center; width: 40px; }
.category-link-grid a:hover { border-color: var(--navy); transform: translateY(-1px); }
.author-credibility { background: #fff; border-block: 1px solid var(--line); }
.author-credibility-grid { align-items: start; display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); }
.author-credibility-grid h2 { margin: .45rem 0 1rem; }
.author-credibility-grid p { color: var(--muted); line-height: 1.75; }
.author-domains { background: var(--surface-soft); border-radius: 18px; padding: 1.5rem; }
.author-domains > strong { display: block; margin-bottom: 1rem; }
.author-domains > div { display: flex; flex-wrap: wrap; gap: .55rem; }
.author-domains a { background: #fff; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); font-size: .85rem; font-weight: 750; padding: .55rem .8rem; text-decoration: none; }
.article-next-grid a > svg { align-self: center; flex: 0 0 auto; }

@media (prefers-reduced-motion: reduce) {
    .article-featured-media img,
    .category-link-grid a { transition: none; }
}

@media (max-width: 900px) {
    .article-featured,
    .article-featured-compact { grid-template-columns: 1fr; }
    .article-featured-media { min-height: 300px; }
    .category-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
    .article-featured { border-radius: 18px; }
    .article-featured-media { min-height: 0; aspect-ratio: 16/10; }
    .article-featured-copy { padding: 1.5rem; }
    .article-featured-copy h2 { font-size: 1.75rem; }
    .category-link-grid,
    .author-credibility-grid { grid-template-columns: 1fr; }
    .article-filters { flex-wrap: nowrap; margin-inline: calc(50% - 50vw); overflow-x: auto; padding: 0 max(16px,calc((100vw - 100%)/2)) .5rem; scrollbar-width: thin; }
    .article-filters a { flex: 0 0 auto; }
}

@media (max-width: 620px) {
  .section-visual-dark::after { background: rgba(5,29,68,.9); }
  .thematic-section-nav .container { width: 100%; padding-inline: 14px; }
  .thematic-section-nav a { padding-block: 15px 13px; }
  .subtheme-card-media { height: 150px; }
    .article-byline-featured { align-items: flex-start; flex-direction: column; }
    .article-person-author { grid-template-columns: 52px minmax(0,1fr); }
    .article-person-avatar { height: 52px; width: 52px; }
    .author-profile { align-items: start; grid-template-columns: 76px minmax(0,1fr); }
    .author-profile-avatar { height: 76px; width: 76px; }
    .content-people-grid { grid-template-columns: 1fr; }
}

.article-next-steps,
.article-sources {
    border-top: 1px solid var(--border, #d7dde8);
    margin-top: 3rem;
    padding-top: 2rem;
}

.article-next-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.article-next-grid a {
    background: #f5f7fb;
    border-radius: 14px;
    color: var(--navy, #090d3a);
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-width: 0;
    padding: 1rem;
    text-decoration: none;
}

.article-next-grid a:hover,
.article-next-grid a:focus-visible {
    box-shadow: 0 0 0 3px rgba(231, 67, 61, .2);
}

.article-next-grid span {
    color: var(--coral, #e7433d);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.search-results-list {
    display: grid;
    gap: 1rem;
}

.search-result-item {
    border-bottom: 1px solid var(--border, #d7dde8);
    min-width: 0;
    padding-block: 1.25rem;
    overflow-wrap: anywhere;
}

/* Lot 12 : recherche, FAQ et orientation de secours. */
.search-hero-grid,
.faq-hero-grid {
    align-items: end;
    display: grid;
    gap: clamp(2rem, 6vw, 6rem);
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
}

.search-hero p,
.faq-hero p,
.faq-hero .breadcrumbs,
.faq-hero .breadcrumbs a {
    color: #dce5f5;
}

.faq-hero .breadcrumbs [aria-hidden="true"] { color: #aebbd2; }

.search-page-form,
.faq-search {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 16px;
    padding: 1.15rem;
}

.search-page-form label,
.faq-search label {
    color: #fff;
    display: block;
    font-size: .78rem;
    font-weight: 800;
    margin-bottom: .55rem;
}

.search-page-form > div,
.faq-search-field {
    align-items: center;
    background: #fff;
    border-radius: 10px;
    display: flex;
    gap: .7rem;
    padding: .35rem;
}

.search-page-form input,
.faq-search input {
    border: 0;
    flex: 1 1 auto;
    min-width: 0;
    outline: 0;
    padding: .75rem;
}

.faq-search-field svg { color: var(--navy); margin-left: .55rem; }
.faq-search-status { color: #fff; font-size: .75rem; margin: .55rem 0 0; min-height: 1.1em; }
.search-layout { display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); }
.search-section-title { font-size: clamp(1.55rem, 3vw, 2.3rem); }
.search-result-item { display: grid; gap: 1rem; grid-template-columns: 48px minmax(0, 1fr); }
.search-result-item h3 { font-size: clamp(1.15rem, 2vw, 1.45rem); margin: .25rem 0 .5rem; }
.search-result-item h3 a { color: var(--navy); text-decoration: none; }
.search-result-icon, .search-empty-icon, .discovery-icon { align-items: center; background: var(--blue-light); border-radius: 12px; color: var(--navy); display: inline-flex; height: 48px; justify-content: center; width: 48px; }
.search-empty { max-width: 720px; text-align: center; }
.search-empty .search-empty-icon { margin-bottom: 1rem; }
.search-empty p { margin-inline: auto; max-width: 620px; }
.search-empty .text-link { justify-content: center; }
.search-empty-section { padding-bottom: 1rem; }
.discovery-section { background: var(--cream); }
.discovery-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.discovery-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; color: var(--navy); display: flex; flex-direction: column; gap: .75rem; min-width: 0; padding: 1.35rem; text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.discovery-card:hover, .discovery-card:focus-visible { border-color: var(--coral); box-shadow: 0 12px 30px rgba(7, 24, 60, .1); transform: translateY(-2px); }
.discovery-card > strong { font-size: 1rem; }
.discovery-card > span:not(.discovery-icon):not(.text-link) { color: var(--muted); font-size: .82rem; line-height: 1.55; }
.discovery-card .text-link { margin-top: auto; }
.faq-library { background: #fff; }
.faq-library-grid { align-items: start; display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); }
.faq-library-intro { position: sticky; top: 190px; }
.faq-content > h2 { font-size: 1.15rem; margin: 2.2rem 0 .8rem; }
.faq-content > h2:first-child { margin-top: 0; }
.faq-content details { border: 1px solid var(--line); border-radius: 12px; margin-bottom: .65rem; padding: 0; }
.faq-content details summary { align-items: center; color: var(--navy); cursor: pointer; display: flex; font-size: .92rem; font-weight: 780; justify-content: space-between; list-style: none; padding: 1rem 1.1rem; }
.faq-content details summary::-webkit-details-marker { display: none; }
.faq-content details summary::after { color: var(--coral); content: '+'; flex: 0 0 auto; font-size: 1.3rem; margin-left: 1rem; }
.faq-content details[open] summary::after { content: '−'; }
.faq-content details > :not(summary) { margin-left: 1.1rem; margin-right: 1.1rem; }
.faq-content details > :last-child { margin-bottom: 1rem; }
.faq-filter-empty { background: var(--cream); border-radius: 16px; padding: 1.5rem; }

@media (max-width: 1024px) {
    .discovery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .search-hero-grid, .faq-hero-grid, .search-layout, .faq-library-grid { grid-template-columns: 1fr; }
    .faq-library-intro { position: static; }
}

@media (max-width: 560px) {
    .search-field kbd { display: none; }
    .search-field .search-submit { padding-inline: 11px; }
    .search-page-form > div { align-items: stretch; flex-direction: column; }
    .search-page-form .button { justify-content: center; width: 100%; }
    .discovery-grid { grid-template-columns: 1fr; }
    .search-result-item { grid-template-columns: 40px minmax(0, 1fr); }
    .search-result-icon { height: 40px; width: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .discovery-card { transition: none; }
    .discovery-card:hover, .discovery-card:focus-visible { transform: none; }
}

/* Lot 21 : CTA sticky contextuel. */
.contextual-cta {
    align-items: stretch;
    background: var(--navy);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    bottom: max(22px, env(safe-area-inset-bottom));
    box-shadow: 0 18px 46px rgba(7, 24, 60, .2);
    display: flex;
    max-width: min(360px, calc(100vw - 32px));
    opacity: 0;
    position: fixed;
    right: max(22px, env(safe-area-inset-right));
    transform: translateY(12px);
    transition: opacity .18s ease, transform .18s ease;
    z-index: 850;
}

.contextual-cta[hidden] { display: none; }
.contextual-cta.is-visible { opacity: 1; transform: translateY(0); }
.contextual-cta-link { align-items: center; color: #fff; display: flex; font-size: .9rem; font-weight: 800; gap: .65rem; line-height: 1.25; min-height: 58px; min-width: 0; padding: .7rem .85rem; text-decoration: none; }
.contextual-cta-link > span:nth-child(2) { overflow-wrap: anywhere; }
.contextual-cta-copy { display: flex; flex-direction: column; gap: .1rem; }
.contextual-cta-copy small { color: rgba(255,255,255,.72); font-size: .65rem; font-weight: 650; line-height: 1.2; }
.contextual-cta-copy strong { color: #fff; font-size: .86rem; }
.contextual-cta-icon { align-items: center; background: var(--coral); border-radius: 10px; color: #fff; display: inline-flex; flex: 0 0 38px; height: 38px; justify-content: center; }
.contextual-cta-arrow { color: #fff; flex: 0 0 auto; }
.contextual-cta-link:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.contextual-cta-link:focus-visible { box-shadow: inset 0 0 0 3px var(--coral); outline: 2px solid #fff; outline-offset: 1px; }

.mobile-bottom-nav { display: none; }

@media (max-width: 768px) {
    body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
    .contextual-cta { display: none !important; }
    .mobile-bottom-nav {
        align-items: stretch;
        background: #fff;
        border-top: 1px solid var(--line);
        bottom: 0;
        box-shadow: 0 -8px 28px rgba(7, 24, 60, .1);
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        left: 0;
        padding: 4px max(4px, env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));
        position: fixed;
        right: 0;
        z-index: 850;
    }
    .mobile-bottom-nav-link {
        align-items: center;
        border-radius: 9px;
        color: var(--navy);
        display: flex;
        flex-direction: column;
        font-size: clamp(.58rem, 2.4vw, .7rem);
        font-weight: 750;
        gap: 2px;
        justify-content: center;
        line-height: 1.1;
        min-height: 54px;
        min-width: 0;
        padding: 3px 1px;
        text-align: center;
        text-decoration: none;
    }
    .mobile-bottom-nav-link svg { flex: 0 0 auto; }
    button.mobile-bottom-nav-link { appearance: none; background: transparent; border: 0; cursor: pointer; font-family: inherit; }
    .mobile-bottom-nav-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
    button.mobile-bottom-nav-link:hover,
    .mobile-bottom-nav-link:hover,
    .mobile-bottom-nav-link.is-active { background: #edf2f7; color: var(--navy); }
    .mobile-bottom-nav-link.is-active svg { color: var(--coral); }
    .mobile-bottom-nav-link:focus-visible { outline: 2px solid var(--coral); outline-offset: -2px; }
    body.menu-open .mobile-bottom-nav { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .contextual-cta { transition: none; }
}

.entry-content,
.search-results-list {
    min-width: 0;
    overflow-wrap: anywhere;
}

.navigation.pagination {
    margin-top: 2.5rem;
}

.nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
}

.page-numbers {
    align-items: center;
    border: 1px solid var(--border, #d7dde8);
    border-radius: 8px;
    display: inline-flex;
    min-height: 44px;
    padding-inline: .9rem;
    text-decoration: none;
}

.page-numbers.current {
    background: var(--navy, #090d3a);
    color: #fff;
}

@media (max-width: 900px) {
    .article-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .article-card-grid,
    .article-next-grid {
        grid-template-columns: 1fr;
    }

    .article-card-meta span::before,
    .article-byline > * + *::before {
        content: none;
    }

    .article-byline {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Parcours de conversion ordonné : une action principale, une suite facultative. */
.conversion-path {
    background: #f7f9fc;
    border-block: 1px solid #e3e9f1;
    color: var(--navy, #090d3a);
    padding: clamp(2.75rem, 5vw, 4.5rem) 0;
}

.conversion-path-inner {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
}

.conversion-path .eyebrow.light { color: var(--coral, #c93634); }
.conversion-path-copy h2 { color: var(--navy, #090d3a); margin: .45rem 0 .75rem; max-width: 17ch; }
.conversion-path-copy p { color: var(--slate, #55647c); margin: 0; max-width: 58ch; }
.conversion-path-steps { counter-reset: none; display: grid; gap: .75rem; justify-self: end; list-style: none; margin: 0; max-width: 560px; padding: 0; width: 100%; }
.conversion-path-steps li { align-items: stretch; display: grid; gap: .65rem; grid-template-columns: 30px 1fr; }
.conversion-step-index { align-items: center; align-self: center; background: #e7edf5; border-radius: 50%; color: var(--navy, #090d3a); display: inline-flex; font-size: .78rem; font-weight: 800; height: 30px; justify-content: center; width: 30px; }
.conversion-path-steps a { align-items: center; background: #fff; border: 1px solid #d8e0eb; border-radius: 14px; color: var(--navy, #090d3a); display: flex; gap: .8rem; min-height: 64px; padding: .8rem 1.1rem; text-decoration: none; }
.conversion-path-steps a > span { display: grid; flex: 1; font-size: .78rem; gap: .15rem; }
.conversion-path-steps a strong { font-size: .98rem; }
.conversion-path-steps .is-primary a { background: var(--navy, #090d3a); border-color: var(--navy, #090d3a); color: #fff; box-shadow: 0 14px 34px rgba(7, 31, 71, .12); }
.conversion-path-steps .is-secondary a { background: #fff; color: var(--navy, #090d3a); }
.conversion-path-steps a:hover { transform: translateY(-1px); }
.conversion-path-steps a:focus-visible { outline: 3px solid var(--coral, #c93634); outline-offset: 3px; }

@media (max-width: 768px) {
    .conversion-path-inner { align-items: stretch; grid-template-columns: 1fr; }
    .conversion-path-steps li { grid-template-columns: 28px minmax(0, 1fr); }
    .conversion-path-steps a { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .conversion-path-steps a:hover { transform: none; }
}

/* Passe UX/UI 2.22 : proximité, respiration et continuité des cartes. */
.proximity-section {
    background: linear-gradient(180deg, #f7f9fc 0%, #fff 100%);
}

.proximity-panel {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 6vw, 5.5rem);
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    overflow: hidden;
    padding-block: clamp(1rem, 2vw, 2rem);
    position: relative;
}

.proximity-panel::before {
    background: radial-gradient(circle, rgba(226, 72, 62, .14) 0 2px, transparent 3px);
    background-size: 22px 22px;
    content: "";
    height: 190px;
    opacity: .55;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 190px;
}

.proximity-copy { position: relative; z-index: 1; }
.proximity-copy h2 { margin: .65rem 0 1rem; max-width: 15ch; }
.proximity-copy > p { color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.12rem); line-height: 1.75; max-width: 58ch; }
.proximity-copy .button { margin-top: 1rem; }

.proximity-principles {
    display: grid;
    gap: .8rem;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1;
}

.proximity-principles li {
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(7, 24, 60, .06);
    display: grid;
    gap: 1rem;
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 1.2rem;
}

.proximity-principles li > span {
    align-items: center;
    background: var(--navy);
    border-radius: 12px;
    color: #fff;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 850;
    height: 44px;
    justify-content: center;
    letter-spacing: .08em;
    width: 44px;
}

.proximity-principles strong { color: var(--navy); display: block; font-size: 1rem; margin: .05rem 0 .3rem; }
.proximity-principles p { color: var(--muted); font-size: .9rem; line-height: 1.55; margin: 0; }

.resource-card.article-card {
    box-shadow: 0 10px 30px rgba(7, 24, 60, .045);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.resource-card.article-card:hover {
    border-color: rgba(7, 24, 60, .2);
    box-shadow: 0 18px 42px rgba(7, 24, 60, .09);
    transform: translateY(-3px);
}

@media (max-width: 800px) {
    .proximity-panel { grid-template-columns: 1fr; }
    .proximity-copy h2 { max-width: none; }
}

@media (max-width: 520px) {
    .proximity-panel { gap: 1.75rem; }
    .proximity-principles li { grid-template-columns: 38px minmax(0, 1fr); padding: 1rem; }
    .proximity-principles li > span { border-radius: 10px; height: 38px; width: 38px; }
}

@media (prefers-reduced-motion: reduce) {
    .resource-card.article-card { transition: none; }
    .resource-card.article-card:hover { transform: none; }
}

/* Lot 39 : Home premium, plus humaine et mieux hiérarchisée. */
.button-light { background: #fff; color: var(--navy); }
.button-light:hover { background: var(--blue-light); color: var(--navy); }

.profile-router--home {
    background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
}

.profile-router--home .profile-card {
    border-color: rgba(7, 24, 60, .11);
    box-shadow: 0 10px 28px rgba(7, 24, 60, .045);
}

.expertise-home { background: #f4efe7; }
.expertise-card { min-height: 650px; padding: 0; }
.expertise-card::before { display: none; }
.expertise-card-media { height: clamp(220px, 24vw, 300px); margin: 0; overflow: hidden; position: relative; }
.expertise-card-media::after { background: linear-gradient(180deg, transparent 54%, rgba(7, 24, 60, .2)); content: ""; inset: 0; position: absolute; }
.expertise-card-media picture,
.expertise-card-media img { display: block; height: 100%; width: 100%; }
.expertise-card-media img { object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.expertise-card:hover .expertise-card-media img { transform: scale(1.025); }
.expertise-card-body { display: flex; flex: 1; flex-direction: column; padding: clamp(1.7rem, 3vw, 2.5rem); }
.expertise-card-body .expertise-card-top { gap: 14px; }
.expertise-card-body .expertise-icon { border-radius: 14px; height: 52px; width: 52px; }
.expertise-card-body h3 { font-size: clamp(1.9rem, 3vw, 2.75rem); margin: 1.5rem 0 .75rem; }
.expertise-card-body > p { line-height: 1.7; }
.expertise-card-body ul { margin-bottom: 1.7rem; }
.expertise-card-body .button { margin-top: auto; }

.method-section { background: #fff; }
.method-section .centered-heading { margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.method-section .method-grid li { box-shadow: 0 12px 30px rgba(7, 24, 60, .045); min-height: 260px; }

.proximity-section {
    background: var(--navy);
    color: #fff;
    min-height: 680px;
}
.proximity-section .section-visual { opacity: .58; }
.proximity-section .section-visual-dark::after {
    background: linear-gradient(90deg, rgba(5, 24, 58, .98) 0%, rgba(5, 24, 58, .91) 47%, rgba(5, 24, 58, .72) 100%);
}
.proximity-panel { min-height: 520px; overflow: visible; padding-block: 0; }
.proximity-panel::before { display: none; }
.proximity-copy h2 { color: #fff; max-width: 13ch; }
.proximity-copy > p { color: rgba(255, 255, 255, .78); }
.proximity-principles li {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .2);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .14);
    backdrop-filter: blur(10px);
}
.proximity-principles li > span { background: var(--coral); }
.proximity-principles strong { color: #fff; }
.proximity-principles p { color: rgba(255, 255, 255, .72); }

.simulator-showcase--home {
    background: linear-gradient(135deg, #eef5fa 0%, #f9fbfd 55%, #fff 100%);
    color: var(--navy);
}
.simulator-showcase--home::after {
    border-color: rgba(7, 24, 60, .08);
    box-shadow: 0 0 0 70px rgba(7, 24, 60, .018), 0 0 0 140px rgba(7, 24, 60, .012);
}
.simulator-showcase--home .simulator-intro h2 { color: var(--navy); }
.simulator-showcase--home .simulator-intro p { color: var(--muted); font-size: 1rem; line-height: 1.75; }
.simulator-showcase--home .simulator-mini-card {
    background: #fff;
    border-color: rgba(7, 24, 60, .12);
    box-shadow: 0 12px 32px rgba(7, 24, 60, .055);
    color: var(--navy);
    min-height: 96px;
}
.simulator-showcase--home .simulator-mini-card:hover { background: #fff; box-shadow: 0 18px 38px rgba(7, 24, 60, .1); }
.simulator-showcase--home .simulator-mini-card > span { background: var(--navy); color: #fff; }
.simulator-showcase--home .simulator-mini-card small { align-items: center; color: var(--coral-dark); font-weight: 750; justify-content: flex-end; }

.resources-section { background: #fff; }
.resources-section .split-heading { grid-template-columns: minmax(0, 1.1fr) minmax(250px, .65fr) auto; gap: clamp(1.5rem, 4vw, 4.5rem); }
.resources-section .split-heading > p { color: var(--muted); line-height: 1.7; max-width: 38ch; }
.resources-section .split-heading > .text-link { align-self: end; margin-bottom: .5rem; white-space: nowrap; }

.home-faq .faq-layout > div:first-child { max-width: 420px; }
.home-final-cta { background: linear-gradient(120deg, #07183c, #0d315f); }

@media (max-width: 980px) {
    .resources-section .split-heading { grid-template-columns: 1fr; gap: 1rem; }
    .resources-section .split-heading > .text-link { justify-self: start; }
}

@media (max-width: 800px) {
    .proximity-section { min-height: 0; }
    .proximity-panel { min-height: 0; }
    .proximity-section .section-visual-dark::after { background: rgba(5, 24, 58, .9); }
}

@media (max-width: 700px) {
    .expertise-card { min-height: 0; padding: 0; }
    .expertise-card-media { height: 210px; }
    .expertise-card-body { padding: 1.5rem; }
    .expertise-card-body ul { grid-template-columns: 1fr; }
    .method-section .method-grid li { min-height: 0; }
    .simulator-showcase--home .simulator-mini-card > small { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .expertise-card-media img { transition: none; }
    .expertise-card:hover .expertise-card-media img { transform: none; }
}

/* Lot 40 — hubs N1 éditoriaux, visuels et orientés décision */
.thematic-hero .hero-intro { align-self: end; }
.hub-profile-note { align-items: flex-start; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; color: rgba(255,255,255,.86) !important; display: flex; font-size: .76rem !important; gap: .7rem; margin: 1.15rem 0 0 !important; padding: .9rem 1rem; }
.hub-profile-note svg { color: #fff; flex: 0 0 auto; margin-top: .05rem; }
.thematic-section-nav { box-shadow: 0 8px 25px rgba(5,29,68,.05); }
.thematic-section-nav .container { justify-content: center; }
.profile-router--installation,
.profile-router--living { background: linear-gradient(145deg,#f7f9fc 0%,#fff 60%); }
.hub-needs { background: #fff; }
.hub-needs .split-heading { align-items: end; }
.hub-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.hub-action-card { border-radius: 5px 24px 5px 24px; min-height: 315px; overflow: hidden; position: relative; }
.hub-action-card::after { background: linear-gradient(90deg,var(--coral),#ef958c); bottom: 0; content: ""; height: 4px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; width: 100%; }
.hub-action-card:hover::after,
.hub-action-card:focus-visible::after { transform: scaleX(1); }
.hub-card-number { color: #8894a5; font-family: Georgia,serif; font-size: .72rem; position: absolute; right: 1.4rem; top: 1.25rem; }
.hub-action-icon { margin-bottom: 2.5rem; }
.thematic-index { background: #f4f7fa; }
.hub-stage-list { display: grid; gap: 1.25rem; }
.hub-stage { background: #fff; border: 1px solid #e1e7ee; border-radius: 6px 28px 6px 28px; display: grid; gap: 2rem; grid-template-columns: minmax(210px,.48fr) minmax(0,1.52fr); padding: clamp(1.4rem,3vw,2.6rem); }
.hub-stage:nth-child(2) { background: #071d44; border-color: #071d44; }
.hub-stage:nth-child(2) .hub-stage-heading h3,
.hub-stage:nth-child(2) .subtheme-card h3 { color: #fff; }
.hub-stage:nth-child(2) .hub-stage-heading p,
.hub-stage:nth-child(2) .subtheme-card p { color: rgba(255,255,255,.67); }
.hub-stage:nth-child(2) .hub-stage-heading > span { border-color: rgba(255,255,255,.25); color: #fff; }
.hub-stage:nth-child(2) .subtheme-card { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.15); }
.hub-stage:nth-child(2) .subtheme-card:hover { background: rgba(255,255,255,.12); }
.hub-stage-heading { align-content: start; display: grid; gap: 1.25rem; }
.hub-stage-heading > span { border: 1px solid #c9d2dc; border-radius: 50%; color: var(--coral-dark); display: grid; font-size: .72rem; height: 48px; place-items: center; width: 48px; }
.hub-stage-heading h3 { font-size: clamp(1.3rem,2vw,1.75rem); margin-bottom: .65rem; }
.hub-stage-heading p { font-size: .78rem; margin: 0; }
.hub-stage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.hub-stage-grid .subtheme-card { border: 1px solid #e1e7ee; border-radius: 4px 18px 4px 18px; min-height: 330px; padding: 1.35rem; }
.hub-stage-grid .subtheme-card-media { height: 132px; margin: -1.35rem -1.35rem 1.2rem; }
.hub-stage-grid .card-symbol { height: 43px; margin: 0 0 1.15rem; width: 43px; }
.theme-journey { background: linear-gradient(135deg,#fff 0%,#eff5fb 100%); }
.theme-journey .centered-heading { margin-inline: auto; max-width: 790px; }
.theme-journey .centered-heading > p { margin: 1rem auto 0; max-width: 650px; }
.theme-method-grid { position: relative; }
.theme-method-grid::before { background: #cbd7e4; content: ""; height: 1px; left: 12%; position: absolute; right: 12%; top: 42px; }
.theme-method-grid li { background: #fff; border: 1px solid #dde5ed; box-shadow: 0 16px 40px rgba(5,29,68,.06); position: relative; }
.theme-method-grid li > span { background: var(--navy); border-radius: 50%; color: #fff; display: grid; height: 38px; place-items: center; position: relative; width: 38px; z-index: 2; }
.hub-tools .hub-tool-card { backdrop-filter: blur(8px); min-height: 155px; }
.hub-human { background: #fff; }
.hub-human-grid { align-items: stretch; display: grid; gap: clamp(2rem,6vw,6.5rem); grid-template-columns: minmax(0,1fr) minmax(360px,.9fr); }
.hub-human-copy { align-self: center; max-width: 650px; }
.hub-human-copy h2 { font-size: clamp(2rem,4vw,3.5rem); margin: .8rem 0 1.25rem; }
.hub-human-copy > p { font-size: 1rem; }
.hub-human-points { display: grid; gap: .7rem; list-style: none; margin: 1.6rem 0 2rem; padding: 0; }
.hub-human-points li { align-items: center; display: flex; gap: .75rem; }
.hub-human-points svg { color: var(--coral-dark); flex: 0 0 auto; }
.hub-human-media { border-radius: 6px 34px 6px 34px; margin: 0; min-height: 500px; overflow: hidden; position: relative; }
.hub-human-media picture,
.hub-human-media img { display: block; height: 100%; width: 100%; }
.hub-human-media img { object-fit: cover; }
.hub-human-media figcaption { background: rgba(5,29,68,.9); bottom: 1rem; color: #fff; font-size: .74rem; left: 1rem; max-width: 300px; padding: .85rem 1rem; position: absolute; }
.hub-article-card { overflow: hidden; padding-top: 0; }
.hub-article-media { display: block; height: 190px; margin: 0 -1.5rem 1.4rem; overflow: hidden; }
.hub-article-media picture,
.hub-article-media img { display: block; height: 100%; width: 100%; }
.hub-article-media img { object-fit: cover; transition: transform .3s ease; }
.hub-article-card:hover .hub-article-media img { transform: scale(1.025); }
.hub-faq { background: #f7f9fc; }
.hub-final-cta { background: linear-gradient(125deg,#eaf2fa 0%,#fff 68%); }

/* Lot 48 — page pilier « S’installer en Suisse » */
.installation-direct-answer .geo-answer-inner { grid-template-columns: minmax(0,1.4fr) minmax(290px,.6fr); }
.installation-answer-reperes { background: #fff; border: 1px solid rgba(7,31,71,.1); border-radius: 5px 22px 5px 22px; box-shadow: 0 18px 45px rgba(5,29,68,.07); display: grid; gap: .8rem; list-style: none; margin: 0; padding: 1.35rem; }
.installation-answer-reperes li { align-items: flex-start; color: #263954; display: flex; font-size: .83rem; gap: .7rem; line-height: 1.5; }
.installation-answer-reperes svg { color: var(--coral-dark); flex: 0 0 auto; margin-top: .08rem; }
.profile-router--hub .section-heading { max-width: 780px; }
.profile-router--hub .profile-grid { max-width: none; }
.profile-router--hub .profile-card { min-height: 205px; }
.profile-router--hub .profile-card-copy strong { font-size: 1.02rem; }
.hub-needs--installation .hub-card-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
.hub-needs--installation .hub-action-card { min-height: 330px; padding-inline: 1.25rem; }
.hub-situation-example { background: #eef4f9; overflow: hidden; position: relative; }
.hub-situation-example .section-visual-subtle::after { background: linear-gradient(90deg,rgba(241,246,250,.98) 0%,rgba(241,246,250,.88) 52%,rgba(241,246,250,.72) 100%); }
.hub-situation-example-grid { align-items: center; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: minmax(0,.8fr) minmax(420px,1.2fr); position: relative; z-index: 2; }
.hub-situation-example-grid h2 { font-size: clamp(2rem,4vw,3.35rem); margin: .75rem 0 0; max-width: 15ch; }
.hub-situation-example-card { background: rgba(255,255,255,.95); border: 1px solid rgba(7,31,71,.12); border-radius: 5px 28px 5px 28px; box-shadow: 0 24px 60px rgba(5,29,68,.1); padding: clamp(1.5rem,3vw,2.6rem); }
.hub-situation-example-card > p { color: #263954; font-size: 1.03rem; line-height: 1.75; margin-top: 0; }
.hub-situation-example-card ul { border-top: 1px solid #dde5ed; display: grid; gap: .7rem; list-style: none; margin: 1.4rem 0 1rem; padding: 1.35rem 0 0; }
.hub-situation-example-card li { align-items: center; display: flex; gap: .7rem; }
.hub-situation-example-card li svg { color: var(--coral-dark); flex: 0 0 auto; }
.hub-situation-example-card small { color: #68778d; display: block; font-size: .7rem; margin-top: 1.25rem; }
.hub-tool-card--featured { background: #fff; border-color: rgba(255,255,255,.65); color: var(--navy); grid-column: span 2; }
.hub-tool-card--featured h3,
.hub-tool-card--featured p { color: var(--navy); }
.hub-tool-card--featured > svg { color: var(--coral-dark); }

@media (max-width: 1100px) {
    .hub-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hub-stage { grid-template-columns: 1fr; }
    .hub-stage-heading { grid-template-columns: 48px 1fr; }
    .hub-human-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
    .hub-needs--installation .hub-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .hub-situation-example-grid { gap: 2.5rem; grid-template-columns: minmax(0,.8fr) minmax(360px,1.2fr); }
}

@media (max-width: 760px) {
    .thematic-section-nav .container { justify-content: flex-start; }
    .thematic-section-nav a { padding-block: .9rem; }
    .hub-card-grid,
    .hub-stage-grid,
    .hub-human-grid { grid-template-columns: 1fr; }
    .hub-action-card { min-height: 250px; }
    .hub-stage { border-radius: 4px 20px 4px 20px; gap: 1.5rem; }
    .hub-stage-heading { grid-template-columns: 42px 1fr; }
    .hub-stage-heading > span { height: 42px; width: 42px; }
    .theme-method-grid::before { display: none; }
    .hub-human-media { min-height: 340px; order: -1; }
    .installation-direct-answer .geo-answer-inner,
    .hub-situation-example-grid { grid-template-columns: 1fr; }
    .hub-needs--installation .hub-card-grid { grid-template-columns: 1fr; }
    .hub-needs--installation .hub-action-card { min-height: 245px; }
    .hub-situation-example-grid h2 { max-width: 18ch; }
    .hub-tool-card--featured { grid-column: auto; }
}

/* Lot 67 — modèles Article et Catégorie alignés sur la DA des hubs. */
.editorial-listing-model,
.article-model {
    --model-cta-height: 50px;
    --model-cta-radius: 8px;
    --model-cta-font-size: .76rem;
}

.editorial-listing-model .wrap,
.article-model .wrap {
    width: min(1220px, calc(100% - 48px));
    margin-inline: auto;
}

.article-listing-hero {
    overflow: hidden;
    padding-block: clamp(2rem, 5vw, 5rem);
    background: #fbf7f2;
}

.article-listing-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: clamp(2.5rem, 6vw, 6.5rem);
    align-items: center;
}

.article-listing-hero-copy { min-width: 0; }
.article-listing-hero-copy .breadcrumbs { margin-bottom: clamp(1.8rem, 3vw, 2.8rem); }
.article-listing-hero .breadcrumbs,
.article-listing-hero .breadcrumbs a,
.article-listing-hero .breadcrumbs li { color: #64748a; }
.article-listing-hero .breadcrumbs li:not(:last-child)::after { color: #a8b2bf; }
.article-listing-hero .breadcrumbs a:hover,
.article-listing-hero .breadcrumbs a:focus-visible { color: var(--coral-dark); }
.article-listing-hero-copy h1 {
    max-width: 15ch;
    margin: .75rem 0 1.25rem;
    color: var(--navy);
    font-size: clamp(2.65rem, 4.45vw, 4rem);
    line-height: 1.04;
    text-wrap: balance;
}
.article-listing-hero-copy > p {
    max-width: 62ch;
    color: var(--muted);
    font-size: clamp(1.05rem, 1.5vw, 1.22rem);
    line-height: 1.65;
}
.article-listing-hero-media {
    overflow: hidden;
    margin: 0;
    aspect-ratio: 4 / 3;
    border-radius: 6px 30px 6px 30px;
    background: var(--blue-light);
}
.article-listing-hero-media picture,
.article-listing-hero-media img { display: block; width: 100%; height: 100%; }
.article-listing-hero-media img { object-fit: cover; }

.editorial-listing-model .hero-actions,
.article-model .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.35rem; margin-top: 1.65rem; }
.editorial-listing-model .button,
.article-model .button {
    min-height: var(--model-cta-height);
    max-width: 100%;
    padding: .78rem 1.35rem;
    border-radius: var(--model-cta-radius);
    font-size: var(--model-cta-font-size);
    font-weight: 820;
    letter-spacing: .045em;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}
.editorial-listing-model .text-arrow,
.article-model .text-arrow {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: .5rem;
    color: var(--navy);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
}
.editorial-listing-model .text-arrow-label,
.article-model .text-arrow-label { border-bottom: 1px solid currentColor; padding-bottom: .08em; }

.listing-direct-answer { padding-block: clamp(3.25rem, 6vw, 6rem); background: #fff; border-bottom: 1px solid var(--line); }
.listing-direct-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.listing-direct-grid h2 { max-width: 24ch; margin: .8rem 0 1rem; font-size: clamp(2rem, 3.1vw, 3rem); line-height: 1.08; text-wrap: balance; }
.listing-direct-grid p { max-width: 67ch; color: var(--muted); font-size: 1.02rem; line-height: 1.72; }
.listing-direct-grid ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.listing-direct-grid li { position: relative; padding: 1rem .25rem 1rem 1.55rem; border-bottom: 1px solid var(--line); color: var(--navy); font-weight: 720; line-height: 1.45; }
.listing-direct-grid li::before { content: ""; position: absolute; left: .25rem; top: 1.45rem; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }
.article-essential .button { justify-self: center; }

.editorial-article-carousel .hub-dossier-controls { margin: 0 0 1rem; }
.editorial-article-carousel .article-card { min-height: 100%; }

.editorial-network { background: #fff; }
.editorial-network-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.editorial-network-grid > a {
    display: flex;
    min-height: 230px;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(1.5rem, 2.8vw, 2.25rem);
    border: 1px solid var(--line);
    border-radius: 6px 22px 6px 22px;
    background: #fff;
    color: var(--navy);
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.editorial-network-grid > a:hover { transform: translateY(-2px); border-color: var(--navy); box-shadow: 0 16px 34px rgba(7,24,60,.08); }
.editorial-network-grid span { color: var(--coral-dark); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.editorial-network-grid strong { max-width: 23ch; margin: 1.15rem 0; font-size: clamp(1.28rem, 2vw, 1.65rem); line-height: 1.2; }
.editorial-network-grid em { margin-top: auto; border-bottom: 1px solid currentColor; font-size: .82rem; font-style: normal; font-weight: 800; }

.article-model-hero .article-hero-inner { max-width: 1180px; }
.single-post .article-model-hero.article-single-hero h1 { max-width: 24ch; margin: 0 0 clamp(1rem, 1.8vw, 1.4rem); text-align: left; }
.article-model-hero .article-lead { max-width: 64ch; color: rgba(255,255,255,.84); }
.article-model .geo-answer { padding-block: clamp(3rem, 5vw, 5rem); background: #fff; }
.article-model .geo-answer-inner { gap: clamp(2rem, 6vw, 6rem); }
.article-model .geo-answer-copy h2 { font-size: clamp(1.9rem, 2.8vw, 2.65rem); }
.article-model .geo-key-points { max-width: 68ch; margin-top: 1.65rem; padding-top: 1.35rem; border-top: 1px solid var(--line); }
.article-model .geo-key-points > strong { display: block; margin-bottom: .75rem; color: var(--navy); font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.article-model .geo-key-points ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.article-model .geo-key-points li { position: relative; padding-left: 1.25rem; color: #31425d; font-size: .94rem; font-weight: 680; line-height: 1.5; }
.article-model .geo-key-points li::before { content: ""; position: absolute; top: .62em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }
.article-model .geo-answer--article { padding-block: clamp(3.5rem, 6vw, 6rem); background: #fff; }
.article-model .geo-answer--article .geo-answer-inner { grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); align-items: start; }
.article-model .geo-answer--article .geo-answer-copy h2 { max-width: 23ch; margin: .75rem 0 1rem; font-size: clamp(2rem, 3.1vw, 3rem); line-height: 1.08; text-wrap: balance; }
.article-model .geo-answer--article .geo-answer-copy > p { max-width: 65ch; font-size: 1.02rem; line-height: 1.7; }
.geo-answer-actions { display: grid; gap: .75rem; margin: 0; }
.geo-answer-actions-label { margin-bottom: .15rem; color: var(--coral-dark); font-size: .7rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.geo-answer-actions a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .25rem 1rem; align-items: center; min-height: 88px; padding: 1rem 1.15rem; border: 1px solid var(--line); border-radius: 6px 18px 6px 18px; background: #fff; color: var(--navy); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.geo-answer-actions a:first-of-type { border-color: var(--navy); background: var(--navy); color: #fff; }
.geo-answer-actions a:hover { transform: translateY(-2px); border-color: var(--navy); box-shadow: 0 14px 34px rgba(7,24,60,.09); }
.geo-answer-actions a:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.geo-answer-actions a > span { grid-column: 1; color: var(--coral-dark); font-size: .67rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.geo-answer-actions a:first-of-type > span { color: #f5aaa3; }
.geo-answer-actions a > strong { grid-column: 1; max-width: 28ch; font-size: .94rem; line-height: 1.35; }
.geo-answer-actions a > svg { grid-column: 2; grid-row: 1 / span 2; flex: 0 0 auto; }
.article-model #article-related-news { border-top: 1px solid var(--line); }
.article-model #article-related-news .section-heading h2 { max-width: 24ch; }
.article-model #article-related-news .article-card { border-radius: 18px; }
.article-model .article-section { background: #fff; }
.single-post .article-model .article-content > .expatrihelp-lead.has-large-font-size {
    max-width: 68ch;
    margin: 0 0 clamp(2.25rem, 4vw, 3.5rem);
    padding: 1rem 1.25rem;
    border-left: 3px solid var(--coral);
    background: #f7f9fb;
    color: #31425d;
    font-size: clamp(1rem, 1.15vw, 1.1rem) !important;
    font-weight: 600;
    line-height: 1.65;
}
.article-model .guided-related { border-top: 1px solid var(--line); }

@media (max-width: 900px) {
    .article-listing-hero-grid,
    .listing-direct-grid { grid-template-columns: 1fr; }
    .article-listing-hero-media { max-width: 720px; width: 100%; }
    .editorial-network-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .editorial-network-grid > a:last-child { grid-column: 1 / -1; }
    .article-model .geo-answer--article .geo-answer-inner { grid-template-columns: 1fr; }
    .geo-answer-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .geo-answer-actions-label { grid-column: 1 / -1; }
    .geo-answer-actions a:first-of-type { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .editorial-listing-model .wrap,
    .article-model .wrap { width: min(100% - 32px, 1220px); }
    .article-listing-hero { padding-top: 1.5rem; }
    .article-listing-hero-copy h1 { font-size: clamp(2.2rem, 10vw, 3rem); }
    .article-listing-hero-media { aspect-ratio: 16 / 10; }
    .listing-direct-answer { padding-block: 3rem; }
    .listing-direct-grid h2 { font-size: clamp(1.85rem, 8vw, 2.35rem); }
    .editorial-network-grid { grid-template-columns: 1fr; }
    .editorial-network-grid > a:last-child { grid-column: auto; }
    .geo-answer-actions { grid-template-columns: 1fr; }
    .geo-answer-actions a:first-of-type { grid-column: auto; }
    .editorial-listing-model .hero-actions,
    .article-model .hero-actions { align-items: flex-start; flex-direction: column; }
    .editorial-listing-model .button,
    .article-model .button { width: auto; white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
    .editorial-network-grid > a { transition: none; }
    .geo-answer-actions a { transition: none; }
}

/* Lot 55 — situations, méthode d'accompagnement et preuves humaines. */
.human-situation {
    background: linear-gradient(145deg, #f5f8fc 0%, #fff 68%);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 18px 50px rgba(5, 24, 58, .08);
    margin: clamp(2.5rem, 5vw, 4.5rem) 0 1rem;
    overflow: hidden;
}
.human-situation-heading { border-bottom: 1px solid var(--line); padding: clamp(1.5rem, 3vw, 2.25rem); }
.human-situation-heading h2 { margin: .5rem 0 .75rem; max-width: 24ch; }
.human-situation-disclaimer { color: var(--muted); font-size: .92rem; margin: 0; max-width: 68ch; }
.human-situation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.human-situation-grid > div { border-bottom: 1px solid var(--line); min-width: 0; padding: 1.35rem clamp(1.25rem, 2.5vw, 2rem); }
.human-situation-grid > div:nth-child(odd):not(.human-situation-next) { border-right: 1px solid var(--line); }
.human-situation-grid dt { color: var(--navy); font-size: .76rem; font-weight: 800; letter-spacing: .09em; margin-bottom: .55rem; text-transform: uppercase; }
.human-situation-grid dd { color: var(--muted); line-height: 1.7; margin: 0; }
.human-situation-grid ul { margin: 0; padding-left: 1.1rem; }
.human-situation-next { background: var(--navy); grid-column: 1 / -1; }
.human-situation-next dt { color: #8fd6f4; }
.human-situation-next dd { color: #fff; font-size: 1.02rem; }
.human-support-note { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 18px; display: grid; gap: 1rem; grid-template-columns: auto minmax(0, 1fr) auto; margin: 1rem 0 clamp(2.5rem, 5vw, 4rem); padding: 1.15rem 1.25rem; }
.human-support-note > span { align-items: center; background: var(--coral-soft, #fbe9e8); border-radius: 12px; color: var(--coral); display: flex; height: 46px; justify-content: center; width: 46px; }
.human-support-note strong { color: var(--navy); display: block; }
.human-support-note p { color: var(--muted); font-size: .9rem; line-height: 1.55; margin: .2rem 0 0; }
.human-support-note a { align-items: center; color: var(--navy); display: inline-flex; font-size: .88rem; font-weight: 800; gap: .4rem; white-space: nowrap; }
@media (max-width: 760px) {
    .human-situation-grid { grid-template-columns: 1fr; }
    .human-situation-grid > div:nth-child(odd):not(.human-situation-next) { border-right: 0; }
    .human-situation-next { grid-column: auto; }
    .human-support-note { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
    .human-support-note a { grid-column: 1 / -1; white-space: normal; }
}

@media (max-width: 420px) {
    .hub-profile-note { font-size: .71rem !important; }
    .hub-stage-grid .subtheme-card { min-height: 300px; }
    .hub-human-media { min-height: 290px; }
}

/* Modèle N1 de référence — transcription fidèle de la maquette
 * expatrihelp-maquette-installation/editorial-final. */
.n1-reference {
    --n1-navy: #10213f;
    --n1-ink: #192742;
    --n1-body: #4c5a71;
    --n1-coral: #a8322e;
    --n1-cream: #faf7f2;
    --n1-line: #dce4eb;
    color: var(--n1-ink);
    line-height: 1.58;
}
.n1-reference .wrap { width: min(calc(100% - 48px), 1200px); margin-inline: auto; }
.n1-reference .narrow { max-width: 760px; }
.n1-reference h1,
.n1-reference h2,
.n1-reference h3 { line-height: 1.16; letter-spacing: -.03em; text-wrap: balance; }
.n1-reference h1 { max-width: 15ch; margin-bottom: 1.35rem; font-size: clamp(2.2rem, 4vw, 3.15rem); }
.n1-reference h2 { max-width: 24ch; margin-bottom: 1.2rem; font-size: clamp(1.7rem, 2.4vw, 2.05rem); }
.n1-reference p { color: var(--n1-body); text-wrap: pretty; }
.n1-reference .hero { overflow: hidden; background: var(--n1-cream); }
.n1-reference .hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .88fr); align-items: center; gap: clamp(34px, 5vw, 76px); padding-block: clamp(42px, 5vw, 76px); }
.n1-reference .hero-copy { min-width: 0; }
.n1-reference .breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: clamp(35px, 5vw, 65px); color: #66758a; font-size: .75rem; }
.n1-reference .eyebrow { display: block; margin-bottom: 1rem; color: var(--n1-coral); font-size: .72rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.n1-reference .eyebrow-light { color: #f0ada3; }
.n1-reference .hero-lead { max-width: 63ch; margin-bottom: 1.6rem; font-size: clamp(1.03rem, 1.28vw, 1.15rem); line-height: 1.63; }
.n1-reference .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.n1-reference .button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 49px; padding: 13px 19px; border: 0; border-radius: 7px; text-decoration: none; font-size: .78rem; font-weight: 800; line-height: 1.2; }
.n1-reference .button-primary { background: #c9413b; color: #fff; }
.n1-reference .button-light { background: #fff; color: var(--n1-navy); }
.n1-reference .quiet-link { padding-block: 8px; border-bottom: 1px solid currentColor; font-size: .84rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.n1-reference .hero-figure { min-width: 0; margin: 0; }
.n1-reference .hero-figure img { width: 100%; height: clamp(370px, 38vw, 520px); border-radius: 6px 42px 6px 42px; object-fit: cover; }
.n1-reference .section { padding-block: clamp(65px, 7.8vw, 112px); }
.n1-reference .section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 36px; }
.n1-reference .section-heading h2 { max-width: 32ch; margin-bottom: 0; }
.n1-reference .section-heading > p { max-width: 35ch; margin-bottom: 4px; font-size: .93rem; }
.n1-reference .profile-section { padding-block: clamp(58px, 6vw, 84px); }
.n1-reference .profile-picker { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 17px; }
.n1-reference .profile-choice { min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid #cbd8e1; border-radius: 6px; background: #fff; color: var(--n1-navy); font-size: .81rem; font-weight: 700; line-height: 1.3; }
.n1-reference .profile-choice:hover,
.n1-reference .profile-choice.is-active { border-color: var(--n1-navy); background: var(--n1-navy); color: #fff; }
.n1-reference .profile-detail { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(28px, 4vw, 54px); width: 100%; max-width: none; margin-top: 24px; padding: 24px 26px; border: 1px solid var(--n1-line); border-left: 4px solid var(--n1-coral); border-radius: 6px 18px 6px 18px; background: #f7fafc; }
.n1-reference .profile-detail h3 { margin: 0 0 7px; font-size: 1.24rem; }
.n1-reference .profile-detail p { max-width: 65ch; margin: 0; font-size: .9rem; }
.n1-reference .profile-detail.is-updating { animation: n1-profile-answer-in .24s ease both; }
@keyframes n1-profile-answer-in { from { opacity: .45; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.n1-reference .text-arrow { display: inline-flex; align-items: center; color: var(--n1-navy); gap: .45rem; font-size: .83rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.n1-reference .text-arrow-label { padding-bottom: .08em; border-bottom: 1px solid currentColor; line-height: 1.2; }
.n1-reference .text-arrow > span[aria-hidden="true"] { flex: 0 0 auto; margin: 0; text-decoration: none; transition: transform .2s ease; }
.n1-reference .text-arrow:hover > span[aria-hidden="true"] { transform: translateX(3px); }
.n1-reference .quiet-link span,
.n1-reference .minor-route a span { margin-left: .25em; }
.n1-reference .decisions-section { background: #f8fafb; }
.n1-reference .decision-controls { display: flex; align-items: center; justify-content: flex-end; gap: 20px; margin: -7px 0 16px; color: var(--n1-body); font-size: .78rem; font-weight: 700; }
.n1-reference .decision-controls > div { display: flex; gap: 8px; }
.n1-reference .decision-arrow { display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid #bdcad8; border-radius: 50%; background: #fff; color: var(--n1-navy); font-size: 1.2rem; }
.n1-reference .decision-grid { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 34px) / 3); grid-template-columns: none; grid-auto-rows: 1fr; gap: 17px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding: 2px 1px 12px; }
.n1-reference .decision-card { display: flex; flex-direction: column; min-width: 0; min-height: 355px; overflow: hidden; border: 1px solid var(--n1-line); border-radius: 13px; background: #fff; text-decoration: none; scroll-snap-align: start; }
.n1-reference .decision-thumb { width: 100%; height: 190px; object-fit: cover; }
.n1-reference .decision-body { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 21px 23px 23px; }
.n1-reference .decision-index { color: var(--n1-coral); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.n1-reference .decision-card strong { display: block; margin: .6rem 0 .45rem; font-size: 1.2rem; line-height: 1.22; }
.n1-reference .decision-body > span:not(.decision-index) { color: var(--n1-body); font-size: .84rem; line-height: 1.5; }
.n1-reference .decision-card em { display: block; margin-top: auto; padding-top: 16px; color: var(--n1-navy); font-size: .78rem; font-style: normal; font-weight: 800; }
.n1-reference .decision-card em.text-arrow { display: inline-flex; align-self: flex-start; }
.n1-reference .minor-route { margin: 24px 0 0; font-size: .9rem; }
.n1-reference .minor-route a { color: var(--n1-navy); font-weight: 750; }
.n1-reference .editorial-section { padding-block: clamp(65px, 7.8vw, 112px); background: #fff; }
.n1-reference .editorial-layout { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1fr); gap: clamp(45px, 8vw, 120px); }
.n1-reference .editorial-intro h2,
.n1-reference .preparation-layout h2 { max-width: 23ch; font-size: clamp(1.75rem, 2.6vw, 2.25rem); }
.n1-reference .editorial-points { border-top: 1px solid var(--n1-line); }
.n1-reference .editorial-points > div { padding: 21px 0; border-bottom: 1px solid var(--n1-line); }
.n1-reference .editorial-points h3 { margin-bottom: 8px; font-size: 1.07rem; }
.n1-reference .editorial-points p { margin-bottom: 0; font-size: .88rem; }
.n1-reference .rhythm-section { padding-block: clamp(65px, 7.8vw, 112px); background: var(--n1-cream); }
.n1-reference .rhythm-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1fr); gap: clamp(40px, 8vw, 110px); }
.n1-reference .rhythm-list { margin: 0; padding: 0; border-top: 1px solid #d6ddd9; list-style: none; }
.n1-reference .rhythm-list li { display: grid; grid-template-columns: 58px 1fr; gap: 16px; padding: 23px 0; border-bottom: 1px solid #d6ddd9; }
.n1-reference .rhythm-list li > span { color: var(--n1-coral); font-size: .82rem; font-weight: 800; }
.n1-reference .rhythm-list p { margin: .25rem 0 0; font-size: .87rem; }
.n1-reference .budget-band { background: var(--n1-navy); color: #fff; }
.n1-reference .budget-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, .85fr); align-items: center; gap: clamp(35px, 6vw, 75px); padding-block: clamp(65px, 7vw, 88px); }
.n1-reference .budget-band h2,
.n1-reference .final-band h2 { color: #fff; }
.n1-reference .budget-band p,
.n1-reference .final-band p { color: #d8e2ed; }
.n1-reference .budget-visual { margin: 0; }
.n1-reference .budget-visual img { width: 100%; height: 305px; border-radius: 18px; object-fit: cover; }
.n1-reference .preparation-section { padding-block: clamp(65px, 7.8vw, 112px); background: #f7fafb; }
.n1-reference .preparation-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .87fr); align-items: start; gap: clamp(40px, 7vw, 100px); }
.n1-reference .preparation-checklist { padding: 30px 34px; border: 1px solid var(--n1-line); border-radius: 6px 22px 6px 22px; background: #fff; }
.n1-reference .preparation-checklist ul { margin: 0; padding: 0; list-style: none; }
.n1-reference .preparation-checklist li { display: grid; gap: 4px; padding: 15px 0; border-top: 1px solid var(--n1-line); }
.n1-reference .human-grid { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: clamp(35px, 7vw, 95px); }
.n1-reference .human-grid img { width: 100%; height: 385px; border-radius: 5px 30px 5px 30px; object-fit: cover; }
.n1-reference .faq-section { background: var(--n1-cream); }
.n1-reference .faq-section details { border-top: 1px solid #ccd4dc; }
.n1-reference .faq-section details:last-child { border-bottom: 1px solid #ccd4dc; }
.n1-reference .faq-section summary { padding: 20px 30px 20px 0; color: var(--n1-ink); font-weight: 750; }
.n1-reference .faq-section details p { max-width: 65ch; margin: 0; padding: 0 20px 20px 0; font-size: .9rem; }
.n1-reference .final-band { background: var(--n1-navy); color: #fff; }
.n1-reference .final-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 60px; padding-block: 65px; }
.n1-reference .final-grid p { max-width: 57ch; margin: 0; }
@media (max-width: 1100px) { .n1-reference .profile-picker { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1024px) {
    .n1-reference .hero-grid { grid-template-columns: 1fr; }
    .n1-reference .hero-figure img { height: 380px; }
    .n1-reference .decision-grid { grid-auto-columns: calc((100% - 17px) / 2); }
}
@media (max-width: 800px) { .n1-reference .editorial-layout, .n1-reference .preparation-layout { grid-template-columns: 1fr; gap: 26px; } }
@media (max-width: 700px) {
    .n1-reference .wrap { width: min(calc(100% - 32px), 1200px); }
    .n1-reference .hero-grid { gap: 30px; padding-block: 36px 50px; }
    .n1-reference .hero h1 { font-size: clamp(2.15rem, 9vw, 2.8rem); }
    .n1-reference .hero-figure img { height: 320px; }
    .n1-reference .section { padding-block: 62px; }
    .n1-reference .section-heading { display: block; }
    .n1-reference .section-heading > p { max-width: 60ch; margin-top: 15px; }
    .n1-reference .profile-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .n1-reference .profile-detail { grid-template-columns: 1fr; gap: 12px; }
    .n1-reference .decision-controls { justify-content: space-between; margin-top: 0; }
    .n1-reference .decision-grid { grid-auto-columns: 100%; }
    .n1-reference .decision-thumb { height: 175px; }
    .n1-reference .rhythm-grid, .n1-reference .budget-grid, .n1-reference .human-grid { grid-template-columns: 1fr; gap: 30px; }
    .n1-reference .budget-visual img { height: 230px; }
    .n1-reference .human-grid img { height: 290px; }
    .n1-reference .final-grid { display: block; padding-block: 55px; }
    .n1-reference .final-grid .button { margin-top: 22px; }
}
@media (max-width: 420px) {
    .n1-reference .hero-figure img { height: 245px; }
    .n1-reference .profile-choice:last-child { grid-column: span 2; }
    .n1-reference .preparation-checklist { padding: 23px 20px; }
    .n1-reference .minor-route a { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
    .hub-action-card::after,
    .hub-article-media img { transition: none; }
}
/* Réponse directe et entités — Lot 44 */
.geo-answer {
    position: relative;
    z-index: 2;
    padding: clamp(1.5rem, 3vw, 2.5rem) 0;
    background: #f4f7fb;
    border-bottom: 1px solid rgba(7, 31, 71, .1);
}

.geo-answer-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .75fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
}

.geo-answer-copy h2 {
    max-width: 29ch;
    margin: .35rem 0 .65rem;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1.18;
}

.geo-answer-copy p {
    max-width: 72ch;
    margin: 0;
    color: var(--eh-text-muted, #4e5f78);
    font-size: 1.02rem;
}

/* N2/N3 : une seule entrée éditoriale avant le contenu, sans répéter les
   profils déjà administrés dans WordPress. */
.page-level-two > .geo-answer,
.page-final-answer > .geo-answer {
    padding: clamp(1.1rem, 2vw, 1.7rem) 0;
}
.page-level-two > .geo-answer .geo-answer-inner,
.page-final-answer > .geo-answer .geo-answer-inner {
    display: block;
}
.page-level-two > .geo-answer .geo-answer-copy h2,
.page-final-answer > .geo-answer .geo-answer-copy h2 {
    max-width: 38ch;
    font-size: clamp(1.25rem, 1.8vw, 1.7rem);
}
.page-level-two > .geo-answer .geo-answer-copy p,
.page-final-answer > .geo-answer .geo-answer-copy p {
    max-width: 78ch;
}
.page-level-two > .essential-strip,
.page-final-answer > .essential-strip {
    padding: clamp(1.7rem, 3vw, 2.4rem) 0;
}
.page-level-two > .essential-strip .essential-grid h2,
.page-final-answer > .essential-strip .essential-grid h2 {
    font-size: clamp(1.55rem, 2.4vw, 2.2rem);
}

.geo-entities {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 0;
}

.geo-entities div {
    display: inline-flex;
    align-items: baseline;
    gap: .4rem;
    padding: .48rem .68rem;
    background: #fff;
    border: 1px solid rgba(7, 31, 71, .12);
    border-radius: .55rem;
}

.geo-entities dt {
    color: #68778d;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.geo-entities dd {
    margin: 0;
    color: var(--eh-navy, #071f47);
    font-size: .84rem;
    font-weight: 700;
}

.geo-entities a { color: inherit; }

.conversion-proximity {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    max-width: 58ch;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid #dfe6ef;
    color: var(--slate, #55647c) !important;
    font-size: .86rem;
}
.conversion-proximity svg { flex: 0 0 auto; color: var(--coral, #c93634); }
.conversion-proximity strong { color: var(--navy, #090d3a); }

@media (max-width: 767px) {
    .geo-answer-inner { grid-template-columns: 1fr; gap: 1rem; }
    .geo-answer-copy h2 { font-size: 1.35rem; }
    .geo-entities { gap: .4rem; }
}

@media (max-width: 620px) {
    .housing-print-toolbar--inline {
        align-items: flex-start;
        flex-direction: column;
        padding: .85rem;
    }

    .housing-print-button {
        justify-content: center;
        width: 100%;
    }
}

@media print {
    html.housing-print-mode body { background: #fff !important; }

    html.housing-print-mode body > header,
    html.housing-print-mode body > footer,
    html.housing-print-mode .housing-print-toolbar,
    html.housing-print-mode .contextual-contact-cta,
    html.housing-print-mode .sticky-contact-cta {
        display: none !important;
    }

    html.housing-print-mode main > * { display: none !important; }

    html.housing-print-mode main > .article-section,
    html.housing-print-mode .article-layout,
    html.housing-print-mode .article-content,
    html.housing-print-mode .article-content > .housing-print-checklist {
        display: block !important;
    }

    html.housing-print-mode .article-sidebar,
    html.housing-print-mode .article-content > *:not(.housing-print-checklist) {
        display: none !important;
    }

    html.housing-print-mode .housing-print-checklist {
        border: 0 !important;
        box-shadow: none !important;
        color: #000 !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
    }

    html.housing-print-mode .housing-print-checklist::before {
        color: #000;
        content: "ExpatriHelp — checklist logement";
        display: block;
        font-size: 11pt;
        font-weight: 700;
        margin-bottom: 1rem;
    }
}
.professional-orientation-tree {
    margin-block: clamp(2rem, 5vw, 4rem);
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, #f4f8fc, #fff);
    border: 1px solid var(--line);
}

.professional-orientation-tree > .professional-orientation-branch {
    margin-top: 1rem;
    padding: 1rem 1.15rem 1rem 1.4rem;
    border-left: 3px solid var(--coral);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    background: #fff;
    box-shadow: 0 12px 34px rgba(9, 31, 67, .06);
}

.professional-orientation-branch h3,
.professional-orientation-branch p { margin-block: 0; }
.professional-orientation-branch p { margin-top: .4rem; }
.professional-hub-cards,
.related-content-grid { align-items: stretch; }
.professional-hub-cards > .wp-block-column,
.related-content-grid > .wp-block-column {
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: #fff;
}

/* Lot 56 — origine lisible et trois prolongements éditoriaux sans concurrence CTA. */
.editorial-origin {
    background: #f6f8fb;
    border-bottom: 1px solid var(--line);
}

.editorial-origin .container { padding-block: .8rem; }

.editorial-origin a {
    align-items: center;
    color: var(--navy);
    display: inline-flex;
    gap: .65rem;
    text-decoration: none;
}

.editorial-origin a > span { display: grid; font-size: .76rem; line-height: 1.35; }
.editorial-origin a strong { font-size: .92rem; }
.editorial-origin a:hover strong { text-decoration: underline; text-underline-offset: .2em; }

.guided-related { background: linear-gradient(180deg, #f7f9fc 0%, #fff 100%); }
.guided-related-grid { display: grid; gap: clamp(1rem, 2vw, 1.4rem); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.guided-related-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: 0 16px 42px rgba(9, 31, 67, .07);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    text-decoration: none;
}
.guided-related-media { aspect-ratio: 16 / 9; display: block; overflow: hidden; }
.guided-related-media img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.guided-related-card:hover .guided-related-media img { transform: scale(1.025); }
.guided-related-body { display: flex; flex: 1; flex-direction: column; padding: clamp(1.1rem, 2vw, 1.5rem); }
.guided-related-title { color: var(--navy); font-size: clamp(1.18rem, 2vw, 1.42rem); font-weight: 750; line-height: 1.2; margin: .45rem 0 .65rem; }
.guided-related-summary { color: var(--muted); margin: 0 0 1rem; }
.guided-related-body > strong { align-items: center; color: var(--navy); display: inline-flex; gap: .45rem; margin-top: auto; text-transform: uppercase; }
.guided-related-card:hover .guided-related-title { text-decoration: underline; text-underline-offset: .2em; }

@media (max-width: 900px) {
    .guided-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guided-related-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
    .professional-hub-cards,
    .related-content-grid { gap: .8rem; }
    .guided-related-grid { grid-template-columns: 1fr; }
    .guided-related-card:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .guided-related-media img { transition: none; }
}

/* Lot 57 — compositions éditoriales adaptées au contenu. */
body[class*="editorial-family--"] {
    --editorial-accent: #2b7890;
    --editorial-accent-soft: #eaf4f6;
    --editorial-ambient: url("../images/editorial/library/service-guidance.webp");
}
body.editorial-family--housing { --editorial-accent:#b87143; --editorial-accent-soft:#fbf1e9; --editorial-ambient:url("../images/editorial/library/lot32-logement.webp"); }
body.editorial-family--employment { --editorial-accent:#346f95; --editorial-accent-soft:#eaf2f8; --editorial-ambient:url("../images/editorial/library/lot32-emploi.webp"); }
body.editorial-family--health { --editorial-accent:#277c75; --editorial-accent-soft:#e7f4f1; --editorial-ambient:url("../images/editorial/library/lot32-sante.webp"); }
body.editorial-family--tax { --editorial-accent:#806842; --editorial-accent-soft:#f6f1e7; --editorial-ambient:url("../images/editorial/library/lot32-fiscalite.webp"); }
body.editorial-family--budget { --editorial-accent:#526f78; --editorial-accent-soft:#edf3f4; --editorial-ambient:url("../images/editorial/library/finance-budget.webp"); }
body.editorial-family--finance { --editorial-accent:#64618d; --editorial-accent-soft:#efedf7; --editorial-ambient:url("../images/editorial/library/lot32-retraite.webp"); }
body.editorial-family--family { --editorial-accent:#a85b70; --editorial-accent-soft:#f9ecf0; --editorial-ambient:url("../images/editorial/library/lot32-famille.webp"); }
body.editorial-family--mobility { --editorial-accent:#44744f; --editorial-accent-soft:#ebf3ec; --editorial-ambient:url("../images/editorial/library/lot32-mobilite.webp"); }
body.editorial-family--procedures { --editorial-accent:#526d91; --editorial-accent-soft:#eaf0f7; --editorial-ambient:url("../images/editorial/library/lot32-demarches.webp"); }
body.editorial-family--country { --editorial-accent:#8b5f4d; --editorial-accent-soft:#f6eee9; --editorial-ambient:url("../images/editorial/library/country-routes.webp"); }
body.editorial-family--installation { --editorial-accent:#507a8b; --editorial-accent-soft:#eaf3f6; --editorial-ambient:url("../images/editorial/library/housing-moving.webp"); }
body.editorial-family--living { --editorial-accent:#3a766d; --editorial-accent-soft:#e9f4f1; --editorial-ambient:url("../images/editorial/library/mobility-daily.webp"); }

body[class*="editorial-family--"] .article-content > p,
body[class*="editorial-family--"] .article-content > ul:not([class]),
body[class*="editorial-family--"] .article-content > ol:not([class]) { max-width: 68ch; }
body[class*="editorial-family--"] .article-content > h2 { max-width: 100%; text-wrap: pretty; margin-top: clamp(3.4rem,7vw,6.8rem); }
body[class*="editorial-family--"] .article-content > h3 { max-width: 100%; text-wrap: pretty; margin-top: clamp(2.2rem,4vw,3.7rem); }
body[class*="editorial-family--"] .article-content > :first-child { margin-top: 0; }

.entry-content .is-style-editorial-band,
.entry-content .expatrihelp-pattern--direct-answer {
    border: 0;
    border-radius: 5px 28px 5px 28px;
    background: linear-gradient(135deg,var(--editorial-accent-soft),#fff 72%);
    box-shadow: inset 4px 0 0 var(--editorial-accent);
    margin-block: clamp(2rem,5vw,4.5rem);
    padding: clamp(1.4rem,3vw,2.5rem);
}
.entry-content .is-style-editorial-split {
    display: grid;
    grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr);
    gap: clamp(1.5rem,5vw,5rem);
    align-items: start;
    margin-block: clamp(3rem,7vw,6rem);
}
.entry-content .is-style-editorial-dark {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 5px 32px 5px 32px;
    background: #07183c;
    color: #fff;
    margin-block: clamp(3rem,7vw,6rem);
    padding: clamp(1.8rem,5vw,4.5rem);
}
.entry-content .is-style-editorial-dark::before,
.conversion-path::before,
.eh-service-routes::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background-image:linear-gradient(90deg,rgba(7,24,60,.97) 0%,rgba(7,24,60,.88) 55%,rgba(7,24,60,.6) 100%),var(--editorial-ambient);
    background-position:center,right center;
    background-size:cover;
    opacity:.34;
    pointer-events:none;
}
.entry-content .is-style-editorial-dark > *,
.conversion-path > *,
.eh-service-routes > * { position:relative; z-index:1; }
.entry-content .is-style-editorial-dark h2,
.entry-content .is-style-editorial-dark h3,
.entry-content .is-style-editorial-dark p { color:#fff; }

.entry-content .is-style-editorial-checklist,
.entry-content .document-checklist ul,
.entry-content .housing-print-checklist ul {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem 1rem;
    list-style:none;
    padding:0;
}
.entry-content .is-style-editorial-checklist > li,
.entry-content .document-checklist li,
.entry-content .housing-print-checklist li {
    position:relative;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    margin:0;
    padding:1rem 1rem 1rem 2.9rem;
}
.entry-content .is-style-editorial-checklist > li::before,
.entry-content .document-checklist li::before,
.entry-content .housing-print-checklist li::before {
    content:"✓";
    position:absolute;
    top:1rem;
    left:1rem;
    width:1.25rem;
    height:1.25rem;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--editorial-accent-soft);
    color:var(--editorial-accent);
    font-size:.72rem;
    font-weight:900;
}
.entry-content .is-style-editorial-steps,
.entry-content .expatrihelp-steps { counter-reset:editorial-step; display:grid; gap:0; list-style:none; padding:0; }
.entry-content .is-style-editorial-steps > li,
.entry-content .expatrihelp-steps > li {
    position:relative;
    min-height:92px;
    margin:0;
    padding:0 0 2rem 5.5rem;
    counter-increment:editorial-step;
}
.entry-content .is-style-editorial-steps > li::before,
.entry-content .expatrihelp-steps > li::before {
    content:counter(editorial-step,decimal-leading-zero);
    width:3.35rem;
    height:3.35rem;
    position:absolute;
    top:0;
    left:0;
    border:1px solid color-mix(in srgb,var(--editorial-accent) 35%,white);
    border-radius:4px 16px 4px 16px;
    display:grid;
    place-items:center;
    background:var(--editorial-accent-soft);
    color:var(--editorial-accent);
    font-family:inherit;
    font-size:.78rem;
    font-weight:850;
}
.entry-content .is-style-editorial-steps > li:not(:last-child)::after,
.entry-content .expatrihelp-steps > li:not(:last-child)::after { content:""; position:absolute; top:3.55rem; bottom:.25rem; left:1.65rem; width:1px; background:var(--line); }

.entry-content .wp-block-table.is-style-editorial-comparison,
.entry-content .wp-block-table.expatrihelp-variants,
.entry-content > .wp-block-table { margin-block:clamp(2rem,5vw,4.5rem); overflow-x:auto; border-radius:4px 20px 4px 20px; box-shadow:0 18px 50px rgba(7,24,60,.08); }
.entry-content .wp-block-table table { min-width:620px; border-collapse:collapse; margin:0; }
.entry-content .wp-block-table thead { background:#07183c; color:#fff; }
.entry-content .wp-block-table th { color:inherit; }
.entry-content .wp-block-table th,
.entry-content .wp-block-table td { border-color:#dce3ea; padding:1rem 1.15rem; vertical-align:top; }
.entry-content .wp-block-table tbody tr:nth-child(even) { background:var(--editorial-accent-soft); }

.entry-content .wp-block-quote.is-style-editorial-quote,
.entry-content > blockquote {
    position:relative;
    border:0;
    margin:clamp(3rem,7vw,6rem) 0 clamp(3rem,7vw,6rem) clamp(1rem,5vw,5rem);
    padding:clamp(1.5rem,4vw,3rem);
    background:var(--editorial-accent-soft);
    border-radius:4px 24px 4px 24px;
    color:var(--navy);
    font-size:clamp(1.18rem,2vw,1.55rem);
}
.entry-content .wp-block-quote.is-style-editorial-quote::before,
.entry-content > blockquote::before { content:"“"; position:absolute; left:-1.1rem; top:-2rem; color:var(--editorial-accent); font-family:Georgia,serif; font-size:6rem; line-height:1; }

.editorial-composition--timeline .level-two-pathway .related-grid { grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr)); }
.editorial-composition--timeline .level-two-pathway .related-card:first-child { grid-row:span 2; min-height:100%; background:linear-gradient(145deg,var(--editorial-accent-soft),#fff 62%); }
.editorial-composition--contrast .essential-strip { background:var(--editorial-accent-soft); }
.editorial-composition--human .human-situation,
.editorial-composition--human .article-author-card { box-shadow:0 24px 70px rgba(7,24,60,.1); transform:translateX(clamp(0px,3vw,36px)); }

.guided-related-card .guided-related-media { aspect-ratio:16/9; }
.guided-related-media picture { display:block; height:100%; }
.guided-related-media img { object-position:center; }
.guided-related-media .focal-right-center img { object-position:70% 50%; }
.guided-related-media .focal-left-center img { object-position:30% 50%; }
.guided-related-card { border-radius:5px 24px 5px 24px; }
.editorial-composition--guide .guided-related-card:first-child,
.editorial-composition--human .guided-related-card:first-child { grid-column:auto; display:flex; }

.conversion-path { position:relative; isolation:isolate; overflow:hidden; }
.conversion-path::before { display:none; }
.eh-service-routes { position:relative; isolation:isolate; overflow:hidden; }

@media (max-width:1000px) {
    .editorial-composition--timeline .level-two-pathway .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .editorial-composition--timeline .level-two-pathway .related-card:first-child { grid-column:1/-1; grid-row:auto; }
}
@media (max-width:767px) {
    .entry-content .is-style-editorial-split { grid-template-columns:1fr; gap:1rem; }
    .entry-content .is-style-editorial-checklist,
    .entry-content .document-checklist ul,
    .entry-content .housing-print-checklist ul { grid-template-columns:1fr; }
    .editorial-composition--timeline .level-two-pathway .related-grid { grid-template-columns:1fr; }
    .editorial-composition--timeline .level-two-pathway .related-card:first-child { grid-column:auto; }
    .editorial-composition--human .human-situation,
    .editorial-composition--human .article-author-card { transform:none; }
    .entry-content .wp-block-quote.is-style-editorial-quote,
    .entry-content > blockquote { margin-left:0; }
}
@media (max-width:390px) {
    .entry-content .is-style-editorial-steps > li,
    .entry-content .expatrihelp-steps > li { padding-left:4.4rem; }
}
@media (prefers-reduced-motion:reduce) {
    body[class*="editorial-family--"] *,
    body[class*="editorial-family--"] *::before,
    body[class*="editorial-family--"] *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* Ajustement 2.45.1 : échelle éditoriale plus mesurée sur les grands écrans. */
.profile-router--home .centered-heading,
.method-section .centered-heading {
    max-width: 1040px;
}

.profile-router--home .centered-heading h2,
.method-section .centered-heading h2 {
    max-width: 100%;
    margin-inline: auto;
    font-size: clamp(2.35rem, 3vw, 3.25rem);
    line-height: 1.06;
    text-wrap: balance;
}

.profile-router--home .centered-heading p,
.method-section .centered-heading p {
    max-width: 720px;
    font-size: clamp(.98rem, 1.25vw, 1.08rem);
    line-height: 1.65;
}

@media (min-width: 1025px) {
    .profile-router--home,
    .method-section {
        padding-block: 88px;
    }

    .profile-router--home .section-heading,
    .method-section .section-heading {
        margin-bottom: 44px;
    }
}

@media (max-width: 700px) {
    .profile-router--home .centered-heading h2,
    .method-section .centered-heading h2 {
        font-size: clamp(2rem, 10vw, 2.55rem);
        line-height: 1.08;
    }
}

/* Ajustement 2.45.2 : échelle de titres homogène et plus confortable. */
h1 {
    font-size: clamp(2.5rem, 4.2vw, 4.35rem);
    line-height: 1.02;
    text-wrap: balance;
}

h2 {
    font-size: clamp(1.8rem, 2.75vw, 2.9rem);
    line-height: 1.08;
    text-wrap: balance;
}

.home-hero h1 {
    font-size: clamp(2.85rem, 4.6vw, 4.6rem);
    line-height: 1;
}

.profile-router--home .centered-heading h2,
.method-section .centered-heading h2,
.simulator-choice-intro h2,
.contact-band h2,
.hub-human-copy h2,
.hub-situation-example-grid h2 {
    font-size: clamp(2rem, 2.65vw, 2.85rem);
}

.orientation-grid h2,
.final-cta-inner h2 {
    font-size: clamp(1.9rem, 2.55vw, 2.7rem);
}

.simulators-hero h1 {
    font-size: clamp(2.65rem, 4.35vw, 4.15rem);
}

.not-found-copy h1 {
    font-size: clamp(2.65rem, 4.5vw, 4.1rem);
}

.article-featured-copy h2,
.essential-grid h2,
.entry-content h2,
.editorial-context-grid h2 {
    line-height: 1.12;
}

@media (max-width: 767px) {
    h1,
    .editorial-hero h1,
    .simulators-hero h1 {
        font-size: clamp(2.15rem, 9.5vw, 2.8rem);
        line-height: 1.05;
    }

    h2,
    .profile-router--home .centered-heading h2,
    .method-section .centered-heading h2,
    .simulator-choice-intro h2,
    .contact-band h2,
    .hub-human-copy h2,
    .hub-situation-example-grid h2,
    .orientation-grid h2,
    .final-cta-inner h2 {
        font-size: clamp(1.75rem, 7.8vw, 2.25rem);
        line-height: 1.1;
    }

    .home-hero h1,
    .service-hero-copy h1 {
        font-size: clamp(2.35rem, 10.5vw, 3.15rem);
        line-height: 1.02;
    }
}

@media (max-width: 390px) {
    h1,
    .editorial-hero h1,
    .simulators-hero h1 {
        font-size: clamp(2rem, 9vw, 2.45rem);
    }

    h2,
    .profile-router--home .centered-heading h2,
    .method-section .centered-heading h2 {
        font-size: clamp(1.65rem, 7.3vw, 2.05rem);
    }
}

/* N1 Installation — carrousels de dossiers et contenus éditoriaux liés. */
.n1-reference .hub-dossier-carousel,
.n1-reference .n1-article-carousel {
    position: relative;
}

.n1-reference .hub-dossier-controls {
    margin: 0 0 1rem;
}

.n1-articles-section {
    background: #f5f8fb;
}

.n1-article-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 2rem) / 3);
    gap: 1rem;
    overflow-x: auto;
    padding: .2rem .1rem 1rem;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
}

.n1-article-track:focus-visible {
    outline: 3px solid var(--coral);
    outline-offset: 5px;
}

.n1-article-slide {
    display: flex;
    min-width: 0;
    scroll-snap-align: start;
}

.n1-article-slide .article-card {
    width: 100%;
    min-height: 100%;
}

.n1-article-slide .article-card-media {
    aspect-ratio: 16 / 10;
}

.n1-articles-more {
    margin: 1.25rem 0 0;
}

@media (max-width: 1024px) {
    .n1-article-track {
        grid-auto-columns: calc((100% - 1rem) / 2);
    }
}

@media (max-width: 700px) {
    .n1-article-track {
        grid-auto-columns: min(86vw, 360px);
        margin-inline: calc(50% - 50vw);
        padding-inline: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .n1-article-track {
        scroll-behavior: auto;
    }

    .n1-reference .profile-detail.is-updating {
        animation: none;
    }
}

/* N1 Installation — normalisation des blocs Gutenberg.
 * Les blocs natifs conservent leur édition dans le BO sans hériter des
 * contraintes de largeur et de boutons du contenu éditorial générique. */
.n1-reference > :is(.editorial-section, .rhythm-section, .preparation-section, .budget-band) {
    margin-block: 0;
}

.n1-reference > :is(.editorial-section, .rhythm-section, .preparation-section, .budget-band) > .wrap {
    width: min(calc(100% - 48px), 1200px) !important;
    max-width: 1200px !important;
    margin-inline: auto !important;
}

.n1-reference > :is(.editorial-section, .rhythm-section, .preparation-section) {
    padding-block: clamp(4rem, 6vw, 5.75rem);
}

.n1-reference .editorial-layout,
.n1-reference .rhythm-grid,
.n1-reference .preparation-layout,
.n1-reference .budget-grid {
    margin-block: 0;
}

.n1-reference .editorial-intro h2,
.n1-reference .rhythm-grid h2,
.n1-reference .preparation-layout h2,
.n1-reference .budget-grid h2 {
    margin: 0 0 1.2rem;
}

.n1-reference .editorial-points h3,
.n1-reference .preparation-checklist h3 {
    margin-top: 0;
}

.n1-reference .editorial-layout {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(3rem, 6vw, 5.5rem);
}

.n1-reference .rhythm-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(3rem, 6vw, 5.5rem);
}

.n1-reference .rhythm-list {
    counter-reset: n1-rhythm;
}

.n1-reference .rhythm-list li {
    position: relative;
    display: block;
    min-height: 92px;
    padding: 1.35rem 0 1.35rem 4.5rem;
}

.n1-reference .rhythm-list li::before {
    position: absolute;
    top: 1.45rem;
    left: 0;
    counter-increment: n1-rhythm;
    content: "0" counter(n1-rhythm);
    color: var(--n1-coral);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .08em;
}

.n1-reference .rhythm-list li strong {
    display: block;
    margin-bottom: .3rem;
    font-size: 1rem;
    line-height: 1.35;
    overflow-wrap: normal;
    word-break: normal;
}

.n1-reference .rhythm-list li br {
    display: none;
}

.n1-reference .budget-band .wp-block-buttons {
    margin-top: 1.5rem;
}

.n1-reference .budget-band .wp-block-button.button-light {
    display: block;
    width: fit-content;
    padding: 0;
    background: transparent;
}

.n1-reference .budget-band .wp-block-button.button-light .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    min-height: 49px;
    padding: .8rem 1.2rem;
    border: 0;
    border-radius: 7px;
    background: #fff;
    color: var(--n1-navy);
    box-shadow: none;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}

.n1-reference .preparation-checklist {
    width: 100%;
    max-width: none;
}

.n1-reference .preparation-checklist h3 {
    margin-bottom: 1rem;
    font-size: 1.15rem;
}

.n1-reference .preparation-checklist li strong {
    font-size: .9rem;
}

@media (max-width: 800px) {
    .n1-reference > :is(.editorial-section, .rhythm-section, .preparation-section, .budget-band) > .wrap {
        width: min(calc(100% - 32px), 1200px) !important;
    }

    .n1-reference .editorial-layout,
    .n1-reference .rhythm-grid,
    .n1-reference .preparation-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* N1 Installation — verrou visuel de la maquette editorial-final.
 * Ces règles neutralisent uniquement les anciens styles du hero thématique :
 * elles ne changent ni le contenu SEO/GEO ni son administration. */
.n1-reference.thematic-level-one .thematic-hero::before,
.n1-reference.thematic-level-one .thematic-hero::after {
    content: none;
    display: none;
}

.n1-reference.thematic-level-one .thematic-hero {
    min-height: 0;
    background: var(--n1-cream);
    color: var(--n1-ink);
}

.n1-reference.thematic-level-one .thematic-hero h1 {
    max-width: 15ch;
    margin-inline: 0;
    color: var(--n1-ink);
    font-size: clamp(2.2rem, 4vw, 3.15rem);
    line-height: 1.16;
    text-align: left;
}

.n1-reference.thematic-level-one .thematic-hero-answer,
.n1-reference.thematic-level-one .thematic-hero p {
    color: var(--n1-body);
}

.n1-reference.thematic-level-one .breadcrumbs,
.n1-reference.thematic-level-one .breadcrumbs li,
.n1-reference.thematic-level-one .breadcrumbs a {
    color: #66758a;
}

.n1-reference.thematic-level-one .breadcrumbs li:not(:last-child)::after {
    color: #9aa6b5;
}

.n1-reference.thematic-level-one h2 {
    font-size: clamp(1.7rem, 2.4vw, 2.05rem);
    line-height: 1.16;
}

/* La maquette possède déjà son CTA final : ne pas ajouter le bandeau global
 * du footer une seconde fois sur ce modèle pilote. */
body.page-id-4 .contact-band {
    display: none;
}

@media (max-width: 700px) {
    .n1-reference.thematic-level-one .thematic-hero h1 {
        font-size: clamp(2.15rem, 9vw, 2.8rem);
    }
}

/* Lot 65 — fidélité visuelle du modèle N1 Installation. */
.n1-model {
    --n1-cream: #faf7f2;
    --n1-ice: #f7fafb;
    --n1-line: #dce4eb;
}

.n1-model h1,
.n1-model h2,
.n1-model h3 {
    text-wrap: balance;
}

.n1-model-hero {
    overflow: hidden;
    background: var(--n1-cream);
}

.n1-model-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .88fr);
    align-items: center;
    gap: clamp(2.25rem, 5vw, 4.75rem);
    padding-block: clamp(2.75rem, 5vw, 4.75rem);
}

.n1-model-hero-copy {
    min-width: 0;
}

.n1-model-hero .breadcrumbs {
    margin-bottom: clamp(2.25rem, 5vw, 4rem);
}

.n1-model-hero h1 {
    max-width: 15ch;
    margin-bottom: 1.35rem;
    color: var(--color-navy);
    font-size: clamp(2.2rem, 4vw, 3.15rem);
    line-height: 1.1;
}

.n1-model-lead {
    max-width: 61ch;
    margin: 0 0 1.65rem;
    color: var(--color-slate);
    font-size: clamp(1rem, 1.28vw, 1.15rem);
    line-height: 1.65;
}

.n1-model-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
}

.n1-model-quiet-link {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    padding-block: .5rem;
    border-bottom: 1px solid currentColor;
    color: var(--color-navy);
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.n1-model-hero-media {
    min-width: 0;
    margin: 0;
    overflow: hidden;
}

/* Le helper d'image du hero historique est positionne en absolu pour les
 * anciens gabarits. Dans le modele N1, le visuel appartient a la grille et
 * doit rester strictement contenu dans sa colonne. */
.n1-model-hero-media .editorial-hero-media,
.n1-model-hero-media .editorial-hero-media picture {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
}

.n1-model-hero-media .editorial-hero-media::after {
    content: none;
}

.n1-model-hero-media picture,
.n1-model-hero-media img {
    display: block;
    width: 100%;
}

.n1-model-hero-media img {
    height: clamp(23rem, 38vw, 32.5rem);
    border-radius: .4rem 2.6rem .4rem 2.6rem;
    object-fit: cover;
}

.n1-model .section {
    padding-block: clamp(4rem, 7.5vw, 7rem);
}

.n1-model-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 2.5rem;
    margin-bottom: 2.25rem;
}

.n1-model-heading h2,
.n1-model-human h2,
.n1-model-faq h2 {
    max-width: 28ch;
    margin: 0;
    font-size: clamp(1.7rem, 2.4vw, 2.1rem);
}

.n1-model-heading > p {
    max-width: 35ch;
    margin: 0 0 .25rem;
    font-size: .95rem;
}

.n1-model-profiles {
    background: #fff;
}

.n1-model-profiles .hub-profile-choices {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .65rem;
}

.n1-model-profiles .hub-profile-choice {
    min-height: 3.2rem;
    padding: .65rem .8rem;
    border-radius: .4rem;
    font-size: .86rem;
}

.n1-model-profiles .hub-profile-answer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1.5rem;
    margin-top: 1.5rem;
    padding: 1.5rem 0 0;
    border: 0;
    border-top: 1px solid var(--n1-line);
    border-radius: 0;
    background: transparent;
}

.n1-model-profiles .hub-profile-answer h3 {
    margin: 0 0 .4rem;
    font-size: 1.25rem;
}

.n1-model-profiles .hub-profile-answer p {
    max-width: 65ch;
    margin: 0;
    font-size: .92rem;
}

.n1-model-decisions {
    background: #f8fafb;
}

.n1-model-decisions .hub-dossier-carousel {
    display: flex;
    flex-direction: column;
}

.n1-model-carousel-controls {
    order: -1;
    justify-content: flex-end;
    margin: -.5rem 0 1rem;
}

.n1-model-decisions .hub-dossier-track {
    grid-auto-columns: calc((100% - 2.1rem) / 3);
    gap: 1.05rem;
}

.n1-model-decisions .hub-dossier-card {
    min-height: 29rem;
    border-color: var(--n1-line);
    border-radius: .85rem;
    box-shadow: none;
}

.n1-model-decisions .hub-dossier-card-media,
.n1-model-decisions .hub-dossier-card-media img {
    height: 12rem;
}

.n1-model-decisions .hub-dossier-card-copy {
    padding: 1.35rem 1.45rem 1.5rem;
}

.n1-model-decisions .hub-dossier-card-copy h3 {
    margin-top: .65rem;
    font-size: 1.25rem;
}

.n1-model-minor-route {
    margin: 1.5rem 0 0;
    font-size: .92rem;
}

.n1-model-minor-route a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--color-navy);
    font-weight: 750;
}

.n1-model-editorial .expatrihelp-pattern {
    width: min(calc(100% - 3rem), var(--container));
    max-width: none;
    margin: 0 auto;
    padding-block: clamp(4rem, 7.5vw, 7rem);
}

.n1-model-editorial .expatrihelp-pattern--n1-decisions .wp-block-columns {
    align-items: start;
    gap: clamp(2.75rem, 8vw, 7.5rem);
}

.n1-model-editorial .expatrihelp-pattern--n1-decisions .wp-block-column:last-child {
    border-top: 1px solid var(--n1-line);
}

.n1-model-editorial .expatrihelp-pattern--n1-decisions .wp-block-column:last-child h3 {
    margin: 0;
    padding-top: 1.35rem;
    border-top: 1px solid var(--n1-line);
    font-size: 1.1rem;
}

.n1-model-editorial .expatrihelp-pattern--n1-decisions .wp-block-column:last-child h3:first-child {
    border-top: 0;
}

.n1-model-editorial .expatrihelp-pattern--n1-method {
    width: 100%;
    padding-inline: max(1.5rem, calc((100% - var(--container)) / 2));
    background: var(--n1-cream);
}

.n1-model-editorial .expatrihelp-pattern--n1-method .wp-block-columns {
    gap: 0;
    border-top: 1px solid #d6ddd9;
}

.n1-model-editorial .expatrihelp-pattern--n1-method .wp-block-column {
    padding: 1.5rem 1.5rem 1.5rem 0;
    border-bottom: 1px solid #d6ddd9;
}

.n1-model-editorial .expatrihelp-pattern--tool {
    width: 100%;
    padding-inline: max(1.5rem, calc((100% - var(--container)) / 2));
    background: var(--color-navy);
    color: #fff;
}

.n1-model-editorial .expatrihelp-pattern--tool h2,
.n1-model-editorial .expatrihelp-pattern--tool p {
    max-width: 58ch;
    color: #fff;
}

.n1-model-editorial .expatrihelp-pattern--tool .wp-block-button__link {
    background: #fff;
    color: var(--color-navy);
}

.n1-model-editorial .expatrihelp-pattern--n1-preparation {
    width: 100%;
    padding-inline: max(1.5rem, calc((100% - var(--container)) / 2));
    background: var(--n1-ice);
}

.n1-model-editorial .expatrihelp-pattern--n1-preparation .wp-block-columns {
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--n1-line);
    border-radius: .4rem 1.4rem .4rem 1.4rem;
    background: #fff;
}

.n1-model-editorial .expatrihelp-pattern--n1-preparation .wp-block-column {
    padding: 1.5rem;
    border-left: 1px solid var(--n1-line);
}

.n1-model-editorial .expatrihelp-pattern--n1-preparation .wp-block-column:first-child {
    border-left: 0;
}

.n1-model-human {
    background: #fff;
}

.n1-model-human-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
    align-items: center;
    gap: clamp(2.25rem, 7vw, 6rem);
}

.n1-model-human-media,
.n1-model-human-media img {
    width: 100%;
    margin: 0;
}

.n1-model-human-media img {
    height: 24rem;
    border-radius: .35rem 1.9rem .35rem 1.9rem;
    object-fit: cover;
}

.n1-model-human p {
    max-width: 52ch;
}

.n1-model-faq {
    background: var(--n1-cream);
}

.n1-model-narrow {
    max-width: 48rem;
}

.n1-model-faq h2 {
    margin-bottom: 2rem;
}

.n1-model-faq details {
    border-top: 1px solid #ccd4dc;
}

.n1-model-faq details:last-child {
    border-bottom: 1px solid #ccd4dc;
}

.n1-model-faq summary {
    padding: 1.25rem 0;
}

.n1-model-final {
    background: var(--color-navy);
    color: #fff;
}

.n1-model-final-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 3.75rem;
    padding-block: 4rem;
}

.n1-model-final h2,
.n1-model-final p {
    color: #fff;
}

.n1-model-final h2 {
    max-width: 28ch;
    margin-bottom: .8rem;
    font-size: clamp(1.7rem, 2.4vw, 2.1rem);
}

.n1-model-final p {
    max-width: 57ch;
    margin: 0;
}

@media (max-width: 1100px) {
    .n1-model-profiles .hub-profile-choices {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .n1-model-decisions .hub-dossier-track {
        grid-auto-columns: calc((100% - 1.05rem) / 2);
    }
}

@media (max-width: 900px) {
    .n1-model-hero-grid,
    .n1-model-human-grid {
        grid-template-columns: 1fr;
    }

    .n1-model-hero h1 {
        max-width: 20ch;
    }

    .n1-model-hero-media img {
        height: 24rem;
    }

    .n1-model-editorial .expatrihelp-pattern--n1-decisions .wp-block-columns {
        gap: 2.5rem;
    }
}

@media (max-width: 700px) {
    .n1-model-hero-grid {
        gap: 1.9rem;
        padding-block: 2.25rem 3.1rem;
    }

    .n1-model-hero h1 {
        font-size: clamp(2.15rem, 9vw, 2.8rem);
    }

    .n1-model-hero-media img {
        height: 20rem;
    }

    .n1-model-heading {
        display: block;
    }

    .n1-model-heading > p {
        max-width: 60ch;
        margin-top: 1rem;
    }

    .n1-model-profiles .hub-profile-choices {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .n1-model-profiles .hub-profile-answer {
        display: block;
    }

    .n1-model-profiles .hub-profile-answer .text-link {
        margin-top: 1rem;
    }

    .n1-model-decisions .hub-dossier-track {
        grid-auto-columns: min(88%, 22rem);
    }

    .n1-model-final-grid {
        display: block;
        padding-block: 3.5rem;
    }

    .n1-model-final .button {
        margin-top: 1.5rem;
    }

    .n1-model-editorial .expatrihelp-pattern--n1-preparation .wp-block-columns {
        display: block;
    }

    .n1-model-editorial .expatrihelp-pattern--n1-preparation .wp-block-column {
        border-top: 1px solid var(--n1-line);
        border-left: 0;
    }
}

@media (max-width: 420px) {
    .n1-model-hero-media img {
        height: 15.5rem;
    }

    .n1-model-profiles .hub-profile-choice:last-child {
        grid-column: span 2;
    }
}

/* N2/N3 : le contenu éditorial commence sans grand vide ni chapô géant.
   Les blocs restent libres et modifiables dans Gutenberg. */
.page-level-two > .article-section,
.page-final-answer > .article-section {
    padding-block: clamp(2.75rem, 5vw, 5rem);
}

.page-level-two .article-content > h2:first-child,
.page-final-answer .article-content > h2:first-child {
    margin-top: 0;
}

.page-level-two .entry-content .expatrihelp-lead.has-large-font-size,
.page-final-answer .entry-content .expatrihelp-lead.has-large-font-size {
    max-width: 65ch;
    margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
    color: #34445e;
    font-size: clamp(1.075rem, 1.3vw, 1.25rem);
    line-height: 1.55;
}

.page-level-two .article-content,
.page-final-answer .article-content {
    max-width: 100%;
}

.page-level-two .article-content > h2,
.page-final-answer .article-content > h2 {
    max-width: 100%;
    text-wrap: pretty;
    font-size: clamp(1.7rem, 2.25vw, 2.25rem);
    line-height: 1.18;
}

@media (max-width: 767px) {
    .page-level-two > .article-section,
    .page-final-answer > .article-section {
        padding-block: 2.5rem;
    }
}

/* Lot 64 — N1 : orientation claire, trois/deux/une colonne. */
.thematic-hero--orientation { background: var(--navy); overflow: hidden; padding: clamp(2.2rem,5vw,4.75rem) 0; }
.thematic-hero-layout { align-items: center; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); }
.thematic-hero-copy { max-width: 760px; position: relative; z-index: 2; }
.thematic-hero-copy .breadcrumbs { margin-bottom: clamp(1.6rem,3vw,2.5rem); }
.thematic-hero-copy h1 { color: #fff; font-size: clamp(2.5rem,4.5vw,4rem); letter-spacing: -.045em; line-height: 1.02; margin: .7rem 0 1.2rem; max-width: 14ch; text-align: left; }
.thematic-hero-answer { color: rgba(255,255,255,.84); font-size: clamp(1rem,1.4vw,1.16rem); line-height: 1.68; margin: 0; max-width: 64ch; }
.thematic-hero-copy .hub-profile-note { margin: 1.15rem 0 1.35rem !important; max-width: 620px; }
.thematic-hero-media { aspect-ratio: 4/3; border-radius: 6px 34px 6px 34px; box-shadow: 0 30px 80px rgba(0,0,0,.25); margin: 0; overflow: hidden; }
.thematic-hero-media .editorial-hero-media { background: transparent; inset: auto; position: static; }
.thematic-hero-media picture,.thematic-hero-media img,.thematic-hero-media .editorial-hero-media { display: block; height: 100%; width: 100%; }
.thematic-hero-media img { object-fit: cover; }
.thematic-hero-placeholder { align-items: center; background: linear-gradient(145deg,#163664,#0a234c); color: #fff; display: flex; height: 100%; justify-content: center; width: 100%; }
.thematic-section-nav .container { justify-content: flex-start; }
.thematic-section-nav a { font-size: .78rem; padding: .9rem 1.1rem; }
.thematic-level-one .section-heading { margin-bottom: clamp(1.75rem,3.5vw,3rem); }
.thematic-level-one .section-heading h2 { font-size: clamp(1.85rem,3vw,2.65rem); max-width: 21ch; }
.profile-router--hub .profile-card { min-height: 150px; padding: 1.2rem; }
.profile-router--hub .profile-card-copy span { font-size: .76rem; line-height: 1.5; }
.hub-card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.hub-action-card { border-radius: 5px 22px 5px 22px; min-height: 0; padding: 1.25rem; }
.hub-action-media { display: block; height: 145px; margin: -1.25rem -1.25rem 1.15rem; overflow: hidden; }
.hub-action-media picture,.hub-action-media img { display: block; height: 100%; width: 100%; }
.hub-action-media img { object-fit: cover; transition: transform .25s ease; }
.hub-action-card:hover .hub-action-media img { transform: scale(1.025); }
.hub-action-icon { margin-bottom: 1rem; }
.hub-action-card h3 { font-size: 1.12rem; }
.hub-action-card p { font-size: .8rem; line-height: 1.6; }
.thematic-index { background: #f4f7fa; }
.hub-stage-list { gap: clamp(2.25rem,5vw,4rem); }
.hub-stage,.hub-stage:nth-child(2) { background: transparent; border: 0; border-radius: 0; display: block; padding: 0; }
.hub-stage:nth-child(2) .hub-stage-heading h3,.hub-stage:nth-child(2) .subtheme-card h4 { color: var(--navy); }
.hub-stage:nth-child(2) .hub-stage-heading p,.hub-stage:nth-child(2) .subtheme-card p { color: var(--muted); }
.hub-stage:nth-child(2) .hub-stage-heading>span { border-color: #c9d2dc; color: var(--coral-dark); }
.hub-stage-heading { align-items: start; display: grid; gap: 1rem; grid-template-columns: 44px minmax(0,1fr); margin-bottom: 1.25rem; max-width: 760px; }
.hub-stage-heading>span { height: 44px; width: 44px; }
.hub-stage-heading h3 { font-size: clamp(1.3rem,2vw,1.65rem); margin: 0 0 .35rem; }
.hub-stage-heading p { font-size: .82rem; }
.hub-stage-grid { gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.hub-stage-grid .subtheme-card,.hub-stage:nth-child(2) .subtheme-card { background: #fff; border: 1px solid #e1e7ee; border-radius: 5px 20px 5px 20px; min-height: 315px; padding: 1.15rem; }
.hub-stage-grid .subtheme-card-media { height: 132px; margin: -1.15rem -1.15rem 1rem; }
.hub-stage-grid .card-symbol { height: 40px; margin: 0 0 .8rem; width: 40px; }
.hub-stage-grid h4 { color: var(--navy); font-size: 1.05rem; line-height: 1.25; margin: 0 0 .55rem; }
.hub-stage-grid p { color: var(--muted); font-size: .77rem; line-height: 1.58; }
.theme-journey .split-heading { align-items: end; }
.theme-method-grid li { min-height: 220px; }
.hub-human-grid { grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr); }
.hub-human-copy h2 { font-size: clamp(1.9rem,3vw,2.75rem); max-width: 19ch; }
.hub-human-media { min-height: 420px; }
.hub-further { background: #f4f7fa; }
.hub-further-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.hub-further-card { background: #fff; border: 1px solid var(--line); border-radius: 5px 22px 5px 22px; color: var(--navy); display: flex; flex-direction: column; min-height: 290px; padding: 1.45rem; text-decoration: none; }
.hub-further-card>span { align-items: center; background: #eef4f9; border-radius: 12px; color: var(--coral-dark); display: flex; height: 48px; justify-content: center; margin-bottom: 1.35rem; width: 48px; }
.hub-further-card small { color: var(--coral-dark); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hub-further-card h3 { font-size: 1.2rem; margin: .55rem 0 .7rem; }
.hub-further-card p { color: var(--muted); font-size: .82rem; line-height: 1.6; margin: 0 0 1.2rem; }
.hub-further-card strong { align-items: center; display: inline-flex; font-size: .78rem; gap: .45rem; margin-top: auto; }
.hub-further-card--contact { background: var(--navy); border-color: var(--navy); color: #fff; }
.hub-further-card--contact h3,.hub-further-card--contact strong { color: #fff; }
.hub-further-card--contact p { color: rgba(255,255,255,.72); }

/* Lot 65 — modèle N1 : orientation compacte, contenu Gutenberg et dossiers défilants. */
.thematic-level-one .thematic-hero h1 { max-width: 13ch; font-size: clamp(2.55rem, 4.5vw, 4rem); line-height: 1.02; text-wrap: balance; }
.thematic-level-one h2 { font-size: clamp(1.9rem, 3vw, 2.625rem); line-height: 1.08; text-wrap: balance; }
.thematic-level-one .button,
.thematic-level-one .text-link,
.thematic-level-one .card-link,
.thematic-level-one .hub-further-card strong,
.thematic-level-one .hub-final-links a { align-items: center; display: inline-flex; flex-wrap: nowrap; gap: .42rem; white-space: nowrap; }
.thematic-level-one :is(.button,.text-link,.card-link,.hub-further-card strong,.hub-final-links a) svg { flex: 0 0 auto; }
.profile-router--installation { background: #fff; }
.hub-profile-selector { display: grid; gap: 1.75rem; }
.hub-profile-choices { display: grid; gap: .75rem; grid-template-columns: repeat(5,minmax(0,1fr)); }
.hub-profile-choice { min-height: 72px; padding: .9rem 1rem; border: 1px solid #c9d6e2; border-radius: 12px; background: #fff; color: var(--navy); cursor: pointer; font: inherit; font-size: .92rem; font-weight: 760; line-height: 1.25; transition: background .2s,border-color .2s,color .2s; }
.hub-profile-choice:hover { border-color: var(--navy); }
.hub-profile-choice.is-active { border-color: var(--navy); background: var(--navy); color: #fff; }
.hub-profile-choice:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.hub-profile-answer { max-width: 760px; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.hub-profile-answer h3 { margin: 0 0 .55rem; font-size: clamp(1.35rem,2vw,1.9rem); }
.hub-profile-answer p { max-width: 680px; margin: 0 0 1rem; color: var(--muted); }
.hub-profile-answer .text-link { color: var(--navy); font-weight: 800; }
.hub-dossier-carousel { position: relative; }
.hub-dossier-track { display: grid; grid-auto-columns: calc((100% - 2rem)/3); grid-auto-flow: column; gap: 1rem; overflow-x: auto; padding: .2rem .1rem 1rem; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x proximity; scrollbar-width: thin; }
.hub-dossier-track:focus-visible { outline: 3px solid var(--coral); outline-offset: 5px; }
.hub-dossier-card { min-width: 0; min-height: 520px; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: #fff; scroll-snap-align: start; }
.hub-dossier-track > [data-hub-card]:last-child,
.n1-article-track > [data-hub-card]:last-child,
.n1-reference .decision-grid > [data-hub-card]:last-child { scroll-snap-align: end; }
.hub-dossier-card-media { display: block; height: 235px; overflow: hidden; }
.hub-dossier-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.hub-dossier-card:hover .hub-dossier-card-media img { transform: scale(1.025); }
.hub-dossier-card-copy { display: flex; flex: 1; flex-direction: column; padding: 1.45rem; }
.hub-dossier-card-copy h3 { margin: .5rem 0 .65rem; font-size: clamp(1.25rem,1.7vw,1.65rem); line-height: 1.18; }
.hub-dossier-card-copy p { margin: 0 0 1rem; color: var(--muted); line-height: 1.6; }
.hub-dossier-card-copy .text-link { margin-top: auto; color: var(--navy); font-weight: 800; }
.hub-dossier-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.hub-dossier-status { margin: 0; color: var(--muted); font-size: .82rem; font-weight: 750; }
.hub-dossier-controls > div { display: flex; gap: .55rem; }
.hub-dossier-controls button { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--navy); border-radius: 50%; background: #fff; color: var(--navy); cursor: pointer; }
.hub-dossier-controls button:disabled { opacity: .35; cursor: default; }
.hub-dossier-controls button:focus-visible { outline: 3px solid var(--coral); outline-offset: 2px; }
.hub-editorial-content > .container { max-width: 1240px; }
.hub-editorial-content .entry-content > * + * { margin-top: clamp(2.5rem,6vw,6rem); }
.hub-editorial-content .expatrihelp-pattern { padding-block: clamp(2rem,4vw,4rem); }
.hub-editorial-content .expatrihelp-pattern--n1-decisions .wp-block-column:last-child > * { padding-bottom: 1.15rem; border-bottom: 1px solid var(--line); }
.hub-editorial-content .expatrihelp-pattern--n1-decisions .wp-block-column:last-child > *:last-child { border-bottom: 0; }
.hub-editorial-content .expatrihelp-pattern--n1-preparation { border-left: 4px solid var(--coral); border-radius: 0 18px 18px 0; background: #f2f7fb; padding-inline: clamp(1.4rem,4vw,3.5rem); }

@media (max-width: 1024px) {
  .hub-profile-choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hub-profile-choice:last-child { grid-column: 1/-1; }
  .hub-dossier-track { grid-auto-columns: calc((100% - 1rem)/2); }
}
@media (max-width: 640px) {
  .thematic-level-one .thematic-hero h1 { font-size: clamp(2.25rem,11vw,3rem); }
  .hub-profile-choices { display: flex; margin-inline: calc(50% - 50vw); padding-inline: max(1rem,calc((100vw - var(--container))/2)); overflow-x: auto; scroll-snap-type: x mandatory; }
  .hub-profile-choice,.hub-profile-choice:last-child { min-width: min(78vw,300px); grid-column: auto; scroll-snap-align: center; }
  .hub-dossier-track { grid-auto-columns: min(86vw,360px); margin-inline: calc(50% - 50vw); padding-inline: 1rem; }
  .hub-dossier-card { min-height: 490px; }
  .hub-dossier-card-media { height: 215px; }
  .thematic-level-one .button { max-width: 100%; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .hub-dossier-track { scroll-behavior: auto; }
  .hub-dossier-card-media img { transition: none; }
}

/* N2 pilote — même langage visuel et mêmes carrousels que le HUB1. */
.n2-reference { background: #fff; }
.n2-hero { background: #f7f3ed; padding: clamp(2.65rem,5vw,4.75rem) 0; }
.n2-hero-grid { align-items: center; display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: minmax(0,1fr) minmax(320px,.9fr); }
.n2-reference h1,
.n2-reference h2,
.n2-reference h3 { letter-spacing: -.03em; line-height: 1.16; text-wrap: balance; }
.n2-hero-copy h1 { font-size: clamp(2.2rem,4vw,3.15rem); line-height: 1.08; margin: .7rem 0 1.25rem; max-width: 15ch; }
.n2-hero .breadcrumbs,.n2-hero .breadcrumbs li,.n2-hero .breadcrumbs a,.n2-hero .breadcrumbs span { color: #66768b; }
.n2-hero .breadcrumbs a:hover,.n2-hero .breadcrumbs a:focus-visible { color: var(--coral-dark); }
.n2-hero-lead { color: var(--muted); font-size: clamp(1.03rem,1.28vw,1.15rem); line-height: 1.63; max-width: 63ch; text-wrap: pretty; }
.n2-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.6rem; }
.n2-hero-actions .button { min-height: 49px; }
.n2-hero-figure { margin: 0; overflow: hidden; border-radius: 4px 34px 4px 34px; aspect-ratio: 4/3; }
.n2-hero-figure img { height: 100%; object-fit: cover; width: 100%; }
.n2-direct-answer { background: #fff; border-bottom: 1px solid var(--line); padding: clamp(3rem,4.8vw,4.5rem) 0; }
.n2-answer-grid { align-items: center; display: grid; gap: 1rem clamp(2rem,5vw,5rem); grid-template-columns: minmax(0,1.35fr) minmax(240px,.65fr); }
.n2-answer-grid > .eyebrow { grid-column: 1 / -1; margin-bottom: .15rem; }
.n2-answer-grid > div { max-width: 760px; }
.n2-answer-grid h2 { font-size: clamp(1.7rem,2.4vw,2.05rem); margin: 0 0 .9rem; max-width: 24ch; }
.n2-answer-grid p { color: var(--muted); font-size: .93rem; line-height: 1.7; margin: 0; max-width: 68ch; text-wrap: pretty; }
.n2-answer-grid .model-answer-cta { align-self: center; justify-self: center; white-space: nowrap; }
.n2-answer-summary { max-width: 820px; }
.n2-answer-points { display: grid; gap: .5rem; list-style: none; margin: 1.25rem 0 0; padding: 0; }
.n2-answer-points li { color: var(--navy); font-size: .92rem; font-weight: 700; line-height: 1.5; padding-left: 1.3rem; position: relative; }
.n2-answer-points li::before { background: var(--coral); border-radius: 50%; content: ""; height: 6px; left: 0; position: absolute; top: .58em; width: 6px; }
.editorial-hero-meta { align-items: center; border-top: 1px solid #d7e0e8; color: #66768b; display: flex; font-size: .72rem; gap: .75rem; letter-spacing: .035em; margin-top: 1.5rem; max-width: 680px; padding-top: 1rem; }
.editorial-hero-meta-avatar { align-items: center; background: var(--navy); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 34px; font-size: .68rem; font-weight: 850; height: 34px; justify-content: center; letter-spacing: .04em; overflow: hidden; }
.editorial-hero-meta-avatar img { height: 100%; object-fit: cover; width: 100%; }
.editorial-hero-meta-items { align-items: center; display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.editorial-hero-meta-items > span { align-items: baseline; display: inline-flex; gap: .25rem; white-space: nowrap; }
.editorial-hero-meta-items > span + span::before { color: #bdc8d3; content: "·"; margin-right: .65rem; }
.editorial-hero-meta strong { color: var(--navy); font-weight: 800; }
.editorial-hero-author-link { color: inherit; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.editorial-hero-author-link:hover strong,.editorial-hero-author-link:focus-visible strong { color: var(--coral-dark); }
.editorial-hero-meta--dark { border-top-color: rgba(255,255,255,.25); color: rgba(255,255,255,.72); }
.editorial-hero-meta--dark .editorial-hero-meta-avatar { background: #fff; color: var(--navy); }
.editorial-hero-meta--dark strong { color: #fff; }
.editorial-hero-meta--dark .editorial-hero-author-link:hover strong,.editorial-hero-meta--dark .editorial-hero-author-link:focus-visible strong { color: #fff; opacity: .82; }
.n2-depth-section { background: #f5f8fb; }
.n2-depth-heading { align-items: end; }
.n2-depth-heading h2 { font-size: clamp(1.9rem,3vw,2.55rem); max-width: 22ch; }
.n2-depth-heading > p { font-size: .95rem; line-height: 1.68; max-width: 48ch; }
.n2-depth-carousel .hub-dossier-controls { margin: 0 0 1rem; }
.n2-depth-carousel.has-1-cards .n2-depth-track { grid-auto-columns: 100%; }
.n2-depth-carousel.has-2-cards .n2-depth-track { grid-auto-columns: calc((100% - 1rem)/2); }
.n2-depth-carousel.has-1-cards .n2-depth-card { min-height: 0; display: grid; gap: .65rem 2rem; grid-template-columns: minmax(0,1fr) auto; }
.n2-depth-carousel.has-1-cards .n2-depth-card-index,
.n2-depth-carousel.has-1-cards .n2-depth-card h3,
.n2-depth-carousel.has-1-cards .n2-depth-card p { grid-column: 1; }
.n2-depth-carousel.has-1-cards .n2-depth-card h3 { margin-bottom: .1rem; }
.n2-depth-carousel.has-1-cards .n2-depth-card p { margin-bottom: 0; max-width: 72ch; }
.n2-depth-carousel.has-1-cards .n2-depth-card .text-arrow { align-self: center; grid-column: 2; grid-row: 1 / 4; }
.n2-depth-card { min-height: 310px; padding: clamp(1.35rem,2.4vw,1.8rem); border: 1px solid #cfdae5; border-radius: 14px; background: #fff; color: var(--navy); display: flex; flex-direction: column; scroll-snap-align: start; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.n2-depth-track > .n2-depth-card:last-child { scroll-snap-align: end; }
.n2-depth-card:hover { border-color: var(--navy); transform: translateY(-2px); }
.n2-depth-card:focus-visible { outline: 3px solid var(--coral); outline-offset: -3px; }
.n2-depth-card-index { color: var(--coral-dark); font-size: .72rem; font-weight: 850; letter-spacing: .11em; line-height: 1.35; text-transform: uppercase; }
.n2-depth-card h3 { font-size: clamp(1.25rem,1.75vw,1.55rem); line-height: 1.2; margin: 1rem 0 .75rem; max-width: 22ch; }
.n2-depth-card p { color: var(--muted); font-size: .92rem; line-height: 1.62; margin: 0 0 1.3rem; text-wrap: pretty; }
.n2-depth-card .text-arrow { margin-top: auto; width: max-content; }
.n2-reading { padding-block: clamp(4rem,7.2vw,6.75rem); }
.n2-reading .article-layout { grid-template-columns: minmax(240px,300px) minmax(0,820px); gap: clamp(2.5rem,6vw,6rem); justify-content: center; }
.n2-sidebar .sticky-card { padding: 0; background: transparent; border: 0; box-shadow: none; }
.n2-sidebar .sidebar-title { border-top: 3px solid var(--navy); display: block; padding-top: 1.25rem; }
.n2-sidebar-action { background: #eef4f8; margin-top: 1.5rem; padding: 1.35rem; }
.n2-sidebar-action--simulator { border-left: 4px solid var(--coral); }
.n2-sidebar-action h3 { font-size: 1rem; line-height: 1.3; margin: .4rem 0 .65rem; }
.n2-sidebar-action p { color: var(--muted); font-size: .82rem; line-height: 1.6; margin: 0 0 1rem; }
.n2-sidebar-action .text-arrow { font-size: .78rem; }
.article-model-layout { grid-template-columns: minmax(240px,300px) minmax(0,820px); gap: clamp(2.5rem,6vw,6rem); }
.article-model-sidebar .sticky-card { padding: 0; background: transparent; border: 0; box-shadow: none; }
.article-model-sidebar .sidebar-title { border-top: 3px solid var(--navy); display: block; padding-top: 1.25rem; }
.article-model-sidebar .article-toc { margin-bottom: 1.5rem; }
.article-model-sidebar .n2-sidebar-action { margin-top: 1rem; }
.article-model-sidebar .article-sidebar-action--reference { background: #fff; border: 1px solid var(--line); }
.article-model-sidebar .article-sidebar-action .eyebrow { font-size: .62rem; }
.article-model-sidebar .text-arrow { align-items: center; display: inline-flex; gap: .5rem; text-decoration: none; }
.article-model-sidebar .text-arrow-label { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.article-model-sidebar .text-arrow > span:last-child { flex: 0 0 auto; text-decoration: none; }
.n2-content > h2 { font-size: clamp(1.7rem,2.4vw,2.05rem); line-height: 1.16; margin-top: clamp(3.5rem,6vw,5.25rem); max-width: 24ch; }
.n2-content > h2:first-child { margin-top: 0; }
body .n2-content.entry-content h2 { max-width: 100%; text-wrap: pretty; }
.n2-content > h3 { font-size: clamp(1.15rem,1.6vw,1.35rem); }
.n2-content > p,.n2-content > ul,.n2-content > ol { color: var(--muted); font-size: clamp(.96rem,1.05vw,1.04rem); line-height: 1.72; }
.n2-content .wp-block-columns { gap: clamp(1.5rem,4vw,3.5rem); }
.n2-content table { font-size: .9rem; }
.n2-next-step { background: var(--navy); color: #fff; padding: clamp(3.25rem,5.5vw,4.75rem) 0; }
.n2-next-grid { align-items: center; display: grid; gap: 2rem; grid-template-columns: minmax(0,1fr) auto; }
.n2-next-grid h2 { color: #fff; font-size: clamp(1.75rem,2.6vw,2.25rem); margin: .6rem 0 1rem; max-width: 23ch; }
.n2-next-grid p { color: rgba(255,255,255,.72); margin: 0; max-width: 62ch; }
.n2-listing-section .hub-dossier-controls { margin: 0 0 1rem; }
.n2-listing-section .section-heading h2 { font-size: clamp(1.7rem,2.4vw,2.05rem); max-width: 32ch; }
.n2-listing-section .section-heading > p { font-size: .93rem; line-height: 1.65; max-width: 35ch; }
.n2-listing-section .hub-dossier-card { color: var(--navy); text-decoration: none; }
.n2-listing-section .text-arrow { margin-top: auto; }
.n2-simulator-band { background: #10294c; color: #fff; padding: clamp(4rem,6.5vw,5.5rem) 0; }
.n2-simulator-grid { align-items: center; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: minmax(0,1fr) minmax(320px,.8fr); }
.n2-simulator-grid h2 { color: #fff; font-size: clamp(1.75rem,2.6vw,2.25rem); margin: .6rem 0 1rem; max-width: 23ch; }
.n2-simulator-grid p { color: rgba(255,255,255,.72); font-size: .93rem; line-height: 1.7; max-width: 62ch; }
.n2-simulator-grid img { aspect-ratio: 4/3; border-radius: 4px 28px 4px 28px; height: 100%; object-fit: cover; width: 100%; }
.thematic-level-two .text-arrow { align-items: center; display: inline-flex; gap: .55rem; text-decoration: none; }
.thematic-level-two .text-arrow-label { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.thematic-level-two .text-arrow > span:last-child { flex: 0 0 auto; text-decoration: none; }

@media (max-width: 1024px) {
  .n2-hero-grid { grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr); }
  .n2-answer-grid { grid-template-columns: minmax(0,1fr) auto; }
  .n2-reading .article-layout { grid-template-columns: 230px minmax(0,1fr); gap: 2.5rem; }
  .article-model-layout { grid-template-columns: 230px minmax(0,1fr); gap: 2.5rem; }
}
@media (max-width: 760px) {
  .n2-hero-grid,.n2-answer-grid,.n2-next-grid,.n2-simulator-grid,.n2-reading .article-layout,.article-model-layout { grid-template-columns: 1fr; }
  .n2-hero-figure { order: -1; }
  .n2-hero-actions { align-items: flex-start; flex-direction: column; }
  .n2-answer-grid > .eyebrow { grid-column: auto; }
  .n2-answer-grid .text-arrow { justify-self: start; }
  .n2-sidebar .sticky-card { position: static; }
  .n2-sidebar .article-toc { display: none; }
  .article-model-sidebar .article-toc { display: block; }
  .n2-depth-carousel.has-1-cards .n2-depth-track,
  .n2-depth-carousel.has-2-cards .n2-depth-track { grid-auto-columns: min(86vw,360px); }
  .n2-depth-carousel.has-1-cards .n2-depth-card { display: flex; min-height: 285px; }
  .n2-depth-card { min-height: 285px; }
  .n2-next-grid .button { justify-self: start; }
  .n2-simulator-grid img { max-height: 360px; }
}
@media (prefers-reduced-motion: reduce) {
  .n2-depth-card { transition: none; }
  .n2-depth-card:hover { transform: none; }
}

/* N3 « Où vivre en Suisse » — hero existant, lecture et maillage du modèle N2. */
.n3-reference { background: #fff; }
.expatrihelp-page-role-final .n3-zone-hero .subtheme-hero-grid h1 {
  margin-inline: 0;
  max-width: 19ch;
  text-align: left;
}
.n3-zone-hero .subtheme-hero-grid { grid-template-columns: minmax(0,1fr) minmax(180px,.38fr); }
.n3-zone-hero-copy { min-width: 0; }
.n3-zone-hero-copy > p { line-height: 1.65; text-wrap: pretty; }
.n3-direct-answer .n2-answer-grid { align-items: center; }
.n3-reading { background: #fff; }
.n3-sibling-section { border-top: 1px solid var(--line); }
.n3-topic-section { background: #fff; }
.thematic-level-three .text-arrow { align-items: center; display: inline-flex; gap: .55rem; text-decoration: none; }
.thematic-level-three .text-arrow-label { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.thematic-level-three .text-arrow > span:last-child { flex: 0 0 auto; text-decoration: none; }

@media (max-width: 760px) {
  .n3-zone-hero .subtheme-hero-grid { grid-template-columns: 1fr; }
  .expatrihelp-page-role-final .n3-zone-hero .subtheme-hero-grid h1 { max-width: 22ch; }
}
.hub-final-links { background: #fff; padding-block: clamp(2.5rem,5vw,4rem); }
.hub-final-links .container { align-items: end; display: grid; gap: 2rem; grid-template-columns: minmax(240px,.75fr) minmax(0,1.25fr); }
.hub-final-links-heading h2 { font-size: clamp(1.6rem,2.5vw,2.25rem); margin: .55rem 0 0; max-width: 20ch; }
.hub-final-links-list { display: grid; gap: .65rem; }
.hub-final-links-list a { align-items: center; border-bottom: 1px solid var(--line); color: var(--navy); display: flex; font-weight: 750; justify-content: space-between; padding: .85rem .2rem; text-decoration: none; }
.hub-final-links-list a:hover,.hub-final-links-list a:focus-visible { color: var(--coral-dark); }
.hub-final-cta { position: relative; z-index: 3; }
@media (max-width: 1024px) {
    .thematic-hero-layout { gap: 2.25rem; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); }
    .hub-card-grid,.hub-stage-grid,.hub-further-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hub-human-grid { gap: 2.25rem; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    .thematic-hero--orientation { padding-top: 1.4rem; }
    .thematic-hero-layout { grid-template-columns: 1fr; }
    .thematic-hero-copy h1 { font-size: clamp(2.2rem,11vw,3.2rem); }
    .thematic-hero-media { aspect-ratio: 16/10; }
    .thematic-section-nav .container { overflow-x: auto; }
    .thematic-section-nav a { flex: 0 0 auto; white-space: nowrap; }
    .hub-card-grid,.hub-stage-grid,.hub-further-grid,.hub-human-grid,.hub-final-links .container { grid-template-columns: 1fr; }
    .hub-action-card,.hub-stage-grid .subtheme-card { min-height: 0; }
    .hub-human-media { min-height: 320px; order: -1; }
    .hub-final-links .container { align-items: start; }
}
@media (prefers-reduced-motion: reduce) { .hub-action-media img { transition: none; } }

/* Lot 63 : système éditorial partagé N1, N2, N3 et articles. */
.expatrihelp-page-role-level-1 .thematic-hero h1,
.expatrihelp-page-role-level-1 .editorial-hero h1 {
    max-width: 18ch;
    font-size: clamp(2.75rem, 4.45vw, 4rem);
}

.expatrihelp-page-role-level-2 .subtheme-hero h1,
.expatrihelp-page-role-level-2 .editorial-hero h1 {
    max-width: 20ch;
    font-size: clamp(2.5rem, 3.9vw, 3.5rem);
}

.expatrihelp-page-role-final .subtheme-hero h1,
.expatrihelp-page-role-final .editorial-hero h1,
.single-post .article-single-hero h1,
.single-post .editorial-hero h1 {
    max-width: 22ch;
    font-size: clamp(2.25rem, 3.35vw, 3rem);
}

.expatrihelp-page-role-level-1 .thematic-hero h1,
.expatrihelp-page-role-level-2 .subtheme-hero h1,
.expatrihelp-page-role-final .subtheme-hero h1,
.single-post .article-single-hero h1 {
    margin-inline: auto;
    line-height: 1.04;
    text-wrap: balance;
}

.entry-content h2 {
    max-width: 26ch;
    margin-block: clamp(2.75rem, 6vw, 5rem) 1.25rem;
    font-size: clamp(1.875rem, 2.5vw, 2.625rem);
    line-height: 1.12;
    text-wrap: balance;
}

.entry-content h3 {
    max-width: 34ch;
    margin-block: 2.25rem 1rem;
    font-size: clamp(1.35rem, 1.75vw, 1.75rem);
    line-height: 1.2;
    text-wrap: balance;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.expatrihelp-pattern--text p,
.expatrihelp-pattern--quote p {
    max-width: 68ch;
}

.entry-content a:not(.wp-element-button) {
    text-decoration-thickness: .08em;
    text-underline-offset: .18em;
}

.expatrihelp-pattern {
    margin-block: clamp(2.5rem, 6vw, 5.5rem);
}

.expatrihelp-pattern--image-introduction {
    overflow: hidden;
    border: 1px solid #dce3ea;
    border-radius: 8px 28px 8px 28px;
    background: #f5f8fb;
}

.expatrihelp-pattern--image-introduction .wp-block-media-text__content {
    padding: clamp(1.5rem, 4vw, 4rem);
}

.expatrihelp-pattern--image-introduction .wp-block-media-text__media {
    min-height: 360px;
    background: linear-gradient(145deg, #dcecf6, #f5f8fb);
}

.expatrihelp-pattern--image-introduction .wp-block-media-text__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.expatrihelp-pattern--text .expatrihelp-pattern__lead,
.expatrihelp-pattern--text .expatrihelp-section-lead {
    font-size: clamp(1.15rem, 1.6vw, 1.35rem);
    line-height: 1.55;
    color: #31425d;
}

.expatrihelp-pattern--facts .wp-block-column,
.expatrihelp-pattern--key-facts .wp-block-column {
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border: 1px solid #dce3ea;
    border-radius: 6px 18px 6px 18px;
    background: #fff;
}

.expatrihelp-pattern__index,
.expatrihelp-pattern-index {
    margin-bottom: .75rem;
    color: #c93037;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.expatrihelp-pattern--quote {
    padding: clamp(1.5rem, 3.6vw, 3rem);
}

.expatrihelp-pattern--quote cite {
    display: block;
    margin-top: 1rem;
    color: #516077;
    font-size: .9rem;
    font-style: normal;
}

.expatrihelp-pattern--tool,
.expatrihelp-pattern--next-step {
    position: relative;
    overflow: hidden;
    padding: clamp(1.75rem, 4vw, 3.75rem);
}

.expatrihelp-pattern--next-step {
    border-radius: 6px 24px 6px 24px;
    background: linear-gradient(135deg, #eef6fa, #fff 72%);
    box-shadow: inset 4px 0 0 #e84c45;
}

.expatrihelp-pattern--tool::after,
.expatrihelp-pattern--next-step::after {
    content: "";
    position: absolute;
    width: 220px;
    aspect-ratio: 1;
    right: -90px;
    bottom: -120px;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 50%;
    pointer-events: none;
}

.expatrihelp-pattern-link-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
}

.expatrihelp-pattern-link-grid > .wp-block-column {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border: 1px solid #dce3ea;
    border-radius: 6px 20px 6px 20px;
    background: #fff;
}

.expatrihelp-pattern-link-grid > .wp-block-column > :last-child {
    margin-top: auto;
}

@media (max-width: 900px) {
    .expatrihelp-pattern-link-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .expatrihelp-page-role-level-1 .thematic-hero h1,
    .expatrihelp-page-role-level-1 .editorial-hero h1 {
        font-size: clamp(2.2rem, 9.4vw, 3rem);
    }

    .expatrihelp-page-role-level-2 .subtheme-hero h1,
    .expatrihelp-page-role-level-2 .editorial-hero h1 {
        font-size: clamp(2.1rem, 8.9vw, 2.75rem);
    }

    .expatrihelp-page-role-final .subtheme-hero h1,
    .expatrihelp-page-role-final .editorial-hero h1,
    .single-post .article-single-hero h1,
    .single-post .editorial-hero h1 {
        font-size: clamp(2rem, 8.4vw, 2.5rem);
    }

    .single-post .article-model-hero.article-single-hero h1 {
        margin-bottom: .9rem;
    }

    .expatrihelp-pattern--image-introduction .wp-block-media-text__media {
        min-height: 240px;
    }
}

@media (max-width: 620px) {
    .expatrihelp-pattern-link-grid {
        grid-template-columns: 1fr;
    }

    .expatrihelp-pattern--facts.wp-block-columns,
    .expatrihelp-pattern--key-facts .wp-block-columns {
        gap: .75rem;
    }
}

@media (max-width: 390px) {
    .expatrihelp-pattern {
        margin-block: 2.5rem;
    }

    .expatrihelp-pattern--tool,
    .expatrihelp-pattern--next-step,
    .expatrihelp-pattern-link-grid > .wp-block-column {
        padding: 1.25rem;
    }
}

/* Socle visuel commun aux modèles éditoriaux N1, N2 et N3. */
:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) {
    --model-cta-height: 50px;
    --model-cta-radius: 8px;
    --model-cta-font-size: .76rem;
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .eyebrow {
    margin-bottom: .9rem;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .15em;
    line-height: 1.35;
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .button {
    min-height: var(--model-cta-height);
    max-width: 100%;
    padding: .78rem 1.35rem;
    border-radius: var(--model-cta-radius);
    font-size: var(--model-cta-font-size);
    font-weight: 820;
    letter-spacing: .045em;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .button > :is(span,svg):last-child {
    flex: 0 0 auto;
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .text-arrow {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: .5rem;
    color: var(--navy);
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .text-arrow-label {
    border-bottom: 1px solid currentColor;
    padding-bottom: .08em;
    line-height: 1.2;
    text-decoration: none;
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .text-arrow > span[aria-hidden="true"] {
    flex: 0 0 auto;
    text-decoration: none;
    transition: transform .2s ease;
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .text-arrow:hover > span[aria-hidden="true"] {
    transform: translateX(3px);
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .text-arrow--light {
    color: #fff;
}

:is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem 1.4rem;
    margin-top: 1.55rem;
}

.n1-reference.thematic-level-one .thematic-hero h1 {
    max-width: 15ch;
    font-size: clamp(2.65rem, 4.45vw, 4rem);
    line-height: 1.04;
}

.thematic-level-two .n2-hero-copy h1 {
    max-width: 16ch;
    font-size: clamp(2.45rem, 3.9vw, 3.5rem);
    line-height: 1.05;
}

.expatrihelp-page-role-final .thematic-level-three .n3-zone-hero h1 {
    max-width: 20ch;
    font-size: clamp(2.25rem, 3.35vw, 3rem);
    line-height: 1.05;
}

:is(.thematic-level-one .hero-lead,.thematic-level-two .n2-hero-lead,.thematic-level-three .n3-zone-hero-copy > p) {
    font-size: clamp(1rem, 1.28vw, 1.12rem);
    line-height: 1.65;
    text-wrap: pretty;
}

:is(.thematic-level-two,.thematic-level-three) .model-answer-cta {
    min-height: var(--model-cta-height);
    justify-content: center;
    justify-self: center;
    padding: .78rem 1.35rem;
    border: 1px solid var(--navy);
    border-radius: var(--model-cta-radius);
    background: var(--navy);
    color: #fff;
    box-shadow: 0 10px 24px rgba(7,24,60,.16);
}

:is(.thematic-level-two,.thematic-level-three) .model-answer-cta:hover {
    border-color: var(--navy-2);
    background: var(--navy-2);
    color: #fff;
}

@media (max-width: 760px) {
    :is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .hero-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    :is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .button {
        width: auto;
        white-space: normal;
    }

    :is(.thematic-level-two,.thematic-level-three) .model-answer-cta {
        justify-self: center;
        margin-top: .5rem;
    }

    .editorial-hero-meta-items { align-items: flex-start; flex-direction: column; gap: .25rem; }
    .editorial-hero-meta-items > span + span::before { content: none; }
}

@media (prefers-reduced-motion: reduce) {
    :is(.thematic-level-one,.thematic-level-two,.thematic-level-three) .text-arrow > span[aria-hidden="true"] {
        transition: none;
    }
}

/* Fil d’Ariane commun aux modèles thématiques N1, N2 et N3. */
:is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs {
    display: block;
    margin: 0 0 clamp(1.8rem,3vw,2.65rem);
    width: 100%;
}

:is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs ol {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .65rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

:is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs li {
    align-items: center;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 700;
    gap: .65rem;
    letter-spacing: .01em;
    line-height: 1.4;
    min-width: 0;
}

:is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs li:not(:last-child)::after {
    content: "/";
    flex: 0 0 auto;
    font-weight: 500;
}

:is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs a {
    color: inherit;
    text-decoration: none;
    transition: color .18s ease;
}

:is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs [aria-current="page"] {
    font-weight: 800;
}

.n1-reference.thematic-level-one .thematic-hero .breadcrumbs,
.n1-reference.thematic-level-one .thematic-hero .breadcrumbs li,
.n1-reference.thematic-level-one .thematic-hero .breadcrumbs a,
.n2-reference:not(.n3-reference) .n2-hero .breadcrumbs,
.n2-reference:not(.n3-reference) .n2-hero .breadcrumbs li,
.n2-reference:not(.n3-reference) .n2-hero .breadcrumbs a {
    color: #64748a;
}

.n1-reference.thematic-level-one .thematic-hero .breadcrumbs li:not(:last-child)::after,
.n2-reference:not(.n3-reference) .n2-hero .breadcrumbs li:not(:last-child)::after {
    color: #a8b2bf;
}

.n1-reference.thematic-level-one .thematic-hero .breadcrumbs a:hover,
.n1-reference.thematic-level-one .thematic-hero .breadcrumbs a:focus-visible,
.n2-reference:not(.n3-reference) .n2-hero .breadcrumbs a:hover,
.n2-reference:not(.n3-reference) .n2-hero .breadcrumbs a:focus-visible {
    color: var(--coral-dark);
}

.n3-reference .n3-zone-hero .breadcrumbs,
.n3-reference .n3-zone-hero .breadcrumbs li,
.n3-reference .n3-zone-hero .breadcrumbs a {
    color: rgba(255,255,255,.72);
}

.n3-reference .n3-zone-hero .breadcrumbs [aria-current="page"] {
    color: rgba(255,255,255,.9);
}

.n3-reference .n3-zone-hero .breadcrumbs li:not(:last-child)::after {
    color: rgba(255,255,255,.36);
}

.n3-reference .n3-zone-hero .breadcrumbs a:hover,
.n3-reference .n3-zone-hero .breadcrumbs a:focus-visible {
    color: #fff;
}

@media (max-width: 760px) {
    :is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs {
        margin-bottom: 1.6rem;
    }

    :is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs ol {
        gap: .3rem .5rem;
    }

    :is(.n1-reference,.n2-reference,.n3-reference) .breadcrumbs li {
        font-size: .68rem;
        gap: .5rem;
    }
}

/* Page Simulateurs : même rythme et mêmes composants que les modèles éditoriaux. */
.simulators-page .simulators-hero {
    overflow: visible;
    padding: clamp(2.65rem, 5vw, 4.75rem) 0;
    background: #f7f3ed;
    color: var(--navy);
}
.simulators-page .simulators-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}
.simulators-page .simulators-hero .breadcrumbs { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.simulators-page .simulators-hero h1 {
    max-width: 14ch;
    margin: .7rem 0 1.25rem;
    color: var(--navy);
    font-size: clamp(2.2rem, 4vw, 3.15rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.simulators-page .simulators-hero-copy > p { max-width: 63ch; color: var(--muted); font-size: clamp(1.03rem, 1.28vw, 1.15rem); line-height: 1.63; }
.simulators-page .simulators-hero-actions { margin-top: 1.6rem; gap: 1rem 1.5rem; }
.simulators-page .simulators-hero-figure { margin: 0; }
.simulators-page .simulators-hero .breadcrumbs,
.simulators-page .simulators-hero .breadcrumbs li,
.simulators-page .simulators-hero .breadcrumbs a { color: #64748a; }
.simulators-page .simulators-hero .breadcrumbs a:hover { color: var(--coral-dark); }
.simulators-page .simulators-hero .breadcrumbs {
    display: block;
    width: 100%;
    margin-bottom: clamp(1.8rem, 3vw, 2.65rem);
}
.simulators-page .simulators-hero .breadcrumbs ol {
    align-items: center;
    gap: .4rem .65rem;
}
.simulators-page .simulators-hero .breadcrumbs li {
    font-size: .72rem;
    gap: .65rem;
    letter-spacing: .01em;
    line-height: 1.4;
}
.simulators-page .simulators-hero .breadcrumbs li:not(:last-child)::after {
    color: #a8b2bf;
}
.simulators-page .simulators-hero .breadcrumbs [aria-current="page"] {
    font-weight: 800;
}
.simulators-page .simulators-hero .breadcrumbs a:focus-visible { color: var(--coral-dark); }
.simulators-page .simulators-direct-answer { padding: clamp(3rem, 4.8vw, 4.5rem) 0; }
.simulators-page .simulator-choice { padding: clamp(4.5rem, 7vw, 6.5rem) 0; background: #f5f8fb; }
.simulators-page .simulator-choice-intro { max-width: none; margin-bottom: 2.4rem; }
.simulators-page .simulator-choice-intro h2 { margin: .6rem 0 0; font-size: clamp(1.7rem, 2.4vw, 2.05rem); }
.simulators-page .simulator-choice-intro > p { max-width: 35ch; margin: 0; font-size: .93rem; line-height: 1.65; }
.simulators-page .simulator-choice-grid > a,
.simulators-page .simulator-choice-grid > a:visited {
    min-height: 255px;
    padding: 1.7rem;
    border-color: var(--line);
    border-radius: 18px;
}
.simulators-page .simulator-choice-icon { margin-bottom: 1.35rem; background: var(--navy); color: #fff; }
.simulators-page .simulator-choice-grid strong { font-size: clamp(1.25rem, 1.7vw, 1.65rem); }
.simulators-page .simulator-choice-grid > a > .text-arrow { margin-top: auto; padding-top: 1rem; color: var(--navy); font-size: .82rem; font-weight: 800; }
.simulators-page .simulator-choice-grid > a > .text-arrow > span:last-child { margin-left: .42rem; }
.simulators-page .simulator-quick-access { margin-top: clamp(2.3rem, 4vw, 3.5rem); padding-top: 1.6rem; border-top: 1px solid var(--line); }
.simulators-page .simulator-quick-access h3 { margin: 0 0 1.2rem; color: var(--navy); font-size: clamp(1.2rem, 1.8vw, 1.5rem); }
.simulators-page .simulator-quick-access ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1.1rem; margin: 0; padding: 0; list-style: none; }
.simulators-page .simulator-quick-access li { min-width: 0; margin: 0; }
.simulators-page .simulator-quick-access a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.5rem; padding: .7rem 1rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--navy); font-size: .94rem; font-weight: 700; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.simulators-page .simulator-quick-access a:hover,
.simulators-page .simulator-quick-access a:focus-visible { border-color: var(--navy); box-shadow: 0 5px 16px rgba(7,24,60,.08); }
.simulators-page .simulator-quick-access a span { flex: none; color: var(--coral); }
.simulators-page.simulator-single-page .eh-simulator-grid,
.simulators-page.simulator-single-page .eh-simulator-grid:focus { grid-auto-columns: minmax(0, 1fr); width: min(100%, 720px); margin-inline: auto; overflow: visible; scroll-snap-type: none; }
.simulator-single-page .eh-simulator-card { min-height: 0; }
.simulator-single-page .eh-how-it-works { margin-top: clamp(3rem, 5vw, 5rem); }
.simulator-single-page .simulator-editorial { background: #fff; }
.simulator-single-page .simulator-next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.simulator-single-page .simulator-next-grid .related-card { min-height: 0; }
.simulator-single-page[data-simulator-page="insurance"] .article-sidebar .sticky-card {
    max-height: calc(100svh - 50px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}
.simulator-single-page[data-simulator-page="insurance"] .wp-block-details {
    border-bottom: 1px solid var(--line);
    padding: 1.15rem 0;
}
.simulator-single-page[data-simulator-page="insurance"] .wp-block-details summary {
    color: var(--navy);
    cursor: pointer;
    font-weight: 700;
    line-height: 1.5;
}
.simulator-single-page[data-simulator-page="insurance"] .wp-block-details > p { margin-bottom: 0; }
@media (max-width: 980px) {
    .simulator-single-page[data-simulator-page="insurance"] .article-sidebar .sticky-card { max-height: none; overflow: visible; }
}
@media (max-width: 760px) {
    .simulators-page.simulator-single-page .eh-simulator-grid { grid-auto-columns: minmax(0, 1fr); }
    .simulator-single-page .simulator-next-grid { grid-template-columns: 1fr; }
}
.simulators-page .simulators-content.entry-content { max-width: none; }
.simulators-page .eh-simulators { width: min(calc(100% - 40px), var(--container)); padding: clamp(4.5rem, 7vw, 7rem) 0; }
.simulators-page .eh-simulators-header { gap: clamp(2rem, 5vw, 5rem); }
.simulators-page .eh-simulators-header h2 { font-size: clamp(1.9rem, 2.8vw, 2.6rem); line-height: 1.1; }
.simulators-page .eh-simulators-header > p { font-size: .93rem; line-height: 1.65; }
.simulators-page .eh-simulator-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 2rem)/3); gap: 1rem; }
.simulators-page .eh-simulator-controls { margin: 0 0 1rem; }
.simulators-page .eh-simulator-carousel[data-hub-overflow="false"] .eh-simulator-controls { display: none; }
.simulators-page .eh-simulator-card { min-height: 0; padding: clamp(1.35rem, 2vw, 2rem); border-color: var(--line); border-radius: 18px; }
.simulators-page .eh-simulator-card-top { margin-bottom: 1.5rem; }
.simulators-page .eh-simulator-card h3 { font-size: clamp(1.25rem, 1.7vw, 1.65rem); line-height: 1.2; }
.simulators-page .eh-simulator-card > p { min-height: 0; }
.simulators-page .eh-tool-facts { margin: 1rem 0 1.5rem; }
.simulators-page .eh-simulator-card button { border-radius: 10px; font-size: .82rem; letter-spacing: 0; text-transform: none; }
.simulators-page .eh-privacy-note { border-radius: 12px; }
.simulators-page .eh-how-it-works { margin-top: clamp(5rem, 8vw, 7rem); }
.simulators-page .eh-how-it-works h2 { font-size: clamp(1.7rem, 2.4vw, 2.05rem); }
.simulators-page .eh-how-it-works li { padding: 1.55rem 1rem 1.55rem 0; }
.simulators-page .eh-how-it-works li > span { flex: 0 0 auto; white-space: nowrap; }
.simulators-page .eh-future-tools { margin-top: clamp(5rem, 8vw, 7rem); background: #f7f3ed; border-radius: 18px; }
.simulators-page .eh-future-tools > header { display: block; }
.simulators-page .eh-future-tools h2 { font-size: clamp(1.7rem, 2.4vw, 2.05rem); }
.simulators-page .eh-future-tools header p { max-width: 68ch; }
.simulators-page .eh-future-tools article { border-radius: 14px; }
.simulators-page .eh-service-routes { margin-top: clamp(5rem, 8vw, 7rem); background: #fff; border: 1px solid var(--line); border-radius: 18px; color: var(--navy); }
.simulators-page .eh-service-routes::before { display: none; }
.simulators-page .eh-service-routes header > span { color: var(--coral-dark); }
.simulators-page .eh-service-routes h2 { color: var(--navy); font-size: clamp(1.7rem, 2.4vw, 2.05rem); }
.simulators-page .eh-service-routes header p { color: var(--muted); }
.simulators-page .entry-content .eh-service-routes a,
.simulators-page .entry-content .eh-service-routes a:visited { min-height: 145px; border-color: var(--line); border-radius: 14px; background: #f8fafc; color: var(--navy); text-decoration: none; }
.simulators-page .eh-service-routes a strong,
.simulators-page .eh-service-routes a span { text-decoration: none; }
.simulators-page .eh-service-routes a span { color: var(--muted); }
.simulators-page .eh-service-routes a:hover { background: #eef3f7; border-color: var(--navy); }
.simulators-page .simulators-related-dossiers { background: #fff; overflow-x: clip; }
.simulators-page .simulators-related-articles { background: #f5f8fb; overflow-x: clip; }
.simulators-page .hub-dossier-card { color: var(--navy); text-decoration: none; }
.simulators-page .hub-dossier-card .text-arrow { margin-top: auto; }
@media (max-width: 1024px) {
    .simulators-page .simulators-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); }
    .simulators-page .eh-simulator-grid { grid-auto-columns: calc((100% - 1rem)/2); }
}
@media (max-width: 760px) {
    .simulators-page .simulators-hero-grid { grid-template-columns: 1fr; }
    .simulators-page .simulators-hero-figure { order: -1; }
    .simulators-page .simulators-hero .breadcrumbs { margin-bottom: 1.6rem; }
    .simulators-page .simulators-hero h1 { font-size: clamp(2.15rem, 9.5vw, 2.8rem); }
    .simulators-page .simulator-choice-intro { display: block; }
    .simulators-page .simulator-choice-intro > p { margin-top: 1rem; }
    .simulators-page .simulator-choice-grid { grid-template-columns: 1fr; }
    .simulators-page .simulator-choice-grid > a { min-height: 0; }
    .simulators-page .simulator-quick-access ul { grid-template-columns: 1fr; }
    .simulators-page .eh-simulator-grid { grid-auto-columns: min(86vw,360px); }
}

/* La zone tactile des liens textuels reste confortable sans déplacer le soulignement du libellé. */
@media (max-width: 768px) {
    main a.text-arrow,
    main a.text-link { min-height: 44px; align-items: center; }
}

/* Même bouton de navigation sur les pages dédiées, sans toucher aux contrôles de formulaires. */
:is(.information-page,.service-page,.faq-page,.newsletter-page,.legal-page,.author-page,.article-model,.editorial-listing-model,.simulators-page) a.button {
    min-height: 50px;
    max-width: 100%;
    padding: .78rem 1.35rem;
    border-radius: 8px;
    font-size: .76rem;
    font-weight: 820;
    letter-spacing: .045em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}
.information-page .n2-hero-copy h1 { max-width: 18ch; }
.information-page .n2-listing-section { background: #f5f8fb; }

/* Fil d'Ariane commun : mêmes dimensions sur tous les modèles, couleurs contextuelles conservées. */
main .breadcrumbs { width: 100%; }
main .breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .65rem; list-style: none; padding: 0; margin: 0; }
main .breadcrumbs li { display: inline-flex; align-items: center; gap: .65rem; min-width: 0; max-width: 100%; font-size: .72rem; font-weight: 700; letter-spacing: .01em; line-height: 1.4; overflow-wrap: anywhere; }
main .breadcrumbs a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
main .breadcrumbs li:not(:last-child)::after { content: '/'; flex: 0 0 auto; font-weight: 500; }
main .breadcrumbs [aria-current="page"] { font-weight: 800; }
main .breadcrumbs a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }
/* Le libellé seul est souligné, sans propagation à l'espace ni à l'icône. */
main .text-link.text-arrow { display: inline-flex; align-items: center; gap: .5rem; max-width: 100%; font-size: .82rem; font-weight: 800; line-height: 1.25; text-decoration: none; }
main .text-link.text-arrow .text-arrow-label { border-bottom: 1px solid currentColor; text-decoration: none; padding-bottom: .08em; }
main .text-link.text-arrow > span[aria-hidden="true"] { flex: 0 0 auto; text-decoration: none; }
main .article-model-sidebar .text-arrow-label { text-decoration: none; }
main .text-arrow--light { color: #fff; }
main :is(.text-arrow,.button):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
/* Les anciennes pages annexes gardent la même respiration entre titre et introduction. */
.editorial-hero h1 + p, .newsletter-hero h1 + p, .author-hero h1 + p { margin-top: 1.25rem; }
@media (max-width: 760px) {
    main .breadcrumbs li { font-size: .68rem; }
    main .breadcrumbs ol { gap: .3rem .5rem; }
}
@media (max-width: 760px) {
    :is(.information-page,.service-page,.faq-page,.newsletter-page,.legal-page,.author-page,.article-model,.editorial-listing-model,.simulators-page) a.button { white-space: normal; }
}

.n2-depth-card--planned { justify-content: flex-start; min-height: 220px; }
.n2-depth-card--planned h3 { margin: 1rem 0 .75rem; }
.n2-depth-card-status { margin-top: auto; padding-top: 1.2rem; color: var(--muted); font-size: .85rem; font-weight: 600; }
.n2-depth-card--planned:hover { transform: none; border-color: #cfdae5; }

/* ExpatriHelp editorial-layout-20261021: align existing info-box headings. */
body .article-content .info-box > :is(h2, h3) { max-width: 100%; margin-inline: 0; text-wrap: pretty; }
