/*
 * Juridique.org V8 — portail de service éditorial
 * La page d’accueil privilégie la recherche, l’orientation et le corpus.
 */

.home-page {
  color: #202b34;
  background: #dfdad2;
}

.home-page > main,
.home-page > .site-footer,
.home-page > .site-header,
.home-page > .utility-bar {
  max-width: 1580px;
}

.home-page > main { background: #fff; }

.home-page .utility-bar { height: 38px; }
.home-page .utility-bar > div { padding-right: clamp(34px,5vw,82px); padding-left: clamp(34px,5vw,82px); }
.home-page .site-header { height: 94px; }
.home-page .header-frame { padding-right: clamp(34px,5vw,82px); padding-left: clamp(34px,5vw,82px); }
.home-page .main-nav a { min-height: 94px; }
.home-page .brand-seal { width: 48px; height: 48px; border-radius: 1px; }
.home-page .header-cta { min-height: 46px; border-radius: 1px; }

.portal-label,
.portal-section-heading > span,
.portal-priorities header > span,
.portal-orientation-intro > span,
.briefing-content > span,
.briefing-sources > span,
.portal-standard header > span {
  color: #811f39;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* Premier écran : une recherche, pas une promesse publicitaire */
.portal-masthead {
  min-height: 610px;
  display: grid;
  grid-template-columns: minmax(0,1.14fr) minmax(430px,.86fr);
  background: #f5f1ea;
  border-bottom: 1px solid #d5cec3;
}

.portal-masthead-copy {
  padding: clamp(70px,7vw,112px) clamp(42px,6.2vw,102px) 66px;
  position: relative;
  z-index: 4;
}

.portal-masthead-copy h1 {
  max-width: 790px;
  margin: 22px 0 24px;
  color: #17232d;
  font: 500 clamp(56px,5.3vw,84px)/.98 var(--serif);
  letter-spacing: -.052em;
}

.portal-masthead-copy h1 em { color: #811f39; font-weight: 400; }

.portal-masthead-copy > p:not(.portal-label) {
  max-width: 720px;
  margin: 0;
  color: #4e5b64;
  font-size: 18px;
  line-height: 1.7;
}

.portal-masthead-visual {
  min-width: 0;
  min-height: 610px;
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #17232d;
}

.portal-masthead-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(23,35,45,.08),transparent 35%),linear-gradient(0deg,rgba(23,35,45,.58),transparent 38%);
}

.portal-masthead-visual img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: 76% center;
}

.portal-masthead-visual figcaption {
  position: absolute;
  z-index: 2;
  right: 34px;
  bottom: 30px;
  left: 34px;
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.5);
  font-size: 11px;
}

.portal-masthead-visual figcaption span { font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.portal-masthead-visual figcaption small { font-size: inherit; }

.portal-search {
  max-width: 820px;
  margin-top: 38px;
  position: relative;
  z-index: 8;
}

.portal-search > label {
  margin-bottom: 11px;
  display: block;
  color: #17232d;
  font-size: 14px;
  font-weight: 800;
}

.portal-search-field {
  min-height: 72px;
  display: grid;
  grid-template-columns: 1fr auto;
  background: #fff;
  border: 1px solid #a9a198;
  box-shadow: 0 18px 45px rgba(23,35,45,.12);
}

.portal-search-field:focus-within { border-color: #811f39; box-shadow: 0 0 0 3px rgba(129,31,57,.12),0 18px 45px rgba(23,35,45,.12); }
.portal-search-field input { min-width: 0; padding: 0 25px; color: #17232d; background: transparent; border: 0; outline: 0; font-size: 16px; }
.portal-search-field input::placeholder { color: #737d84; opacity: 1; }
.portal-search-field button { min-width: 154px; padding: 0 25px; display: flex; align-items: center; justify-content: center; gap: 18px; color: #fff; background: #811f39; border: 0; font-size: 13px; font-weight: 800; cursor: pointer; }
.portal-search-field button:hover { background: #5d1428; }

.portal-search-results {
  position: absolute;
  z-index: 30;
  top: calc(100% - 1px);
  right: 0;
  left: 0;
  max-height: 460px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #a9a198;
  box-shadow: 0 28px 65px rgba(23,35,45,.2);
}

.portal-search-results[hidden] { display: none; }
.portal-search-results > p { margin: 0; padding: 23px 25px; color: #65717a; font-size: 14px; }
.portal-search-results a { padding: 16px 22px; display: grid; grid-template-columns: 150px 1fr auto; gap: 20px; align-items: center; border-bottom: 1px solid #e1ddd7; }
.portal-search-results a:last-child { border-bottom: 0; }
.portal-search-results a:hover,
.portal-search-results a:focus { background: #f5f1ea; outline: 0; }
.portal-search-results a > span { color: #811f39; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.portal-search-results a strong { display: block; color: #17232d; font: 600 18px/1.2 var(--serif); }
.portal-search-results a small { margin-top: 4px; display: block; color: #65717a; font-size: 12px; line-height: 1.4; }
.portal-search-results a b { color: #811f39; font-size: 18px; }

.portal-examples { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; color: #6a747b; font-size: 11px; }
.portal-examples > span { font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.portal-examples a { color: #811f39; border-bottom: 1px solid rgba(129,31,57,.3); }

.portal-proofline {
  min-height: 78px;
  padding: 0 clamp(34px,5vw,82px);
  display: grid;
  grid-template-columns: 1fr 1fr 1.25fr 1fr;
  background: #fff;
  border-bottom: 1px solid #d5cec3;
}

.portal-proofline > * {
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #5b676f;
  border-right: 1px solid #d5cec3;
  font-size: 12px;
}
.portal-proofline > *:first-child { border-left: 1px solid #d5cec3; }
.portal-proofline b { color: #17232d; font-size: 14px; }
.portal-proofline a { justify-content: space-between; color: #811f39; font-weight: 800; }

/* Alertes réellement utiles */
.portal-priorities {
  padding: 42px clamp(34px,5vw,82px);
  display: grid;
  grid-template-columns: minmax(260px,.52fr) minmax(0,1.48fr);
  gap: clamp(45px,6vw,90px);
  align-items: center;
  background: #f9f7f3;
  border-bottom: 1px solid #d5cec3;
}

.portal-priorities header h2 {
  max-width: 470px;
  margin: 11px 0 0;
  color: #17232d;
  font: 500 clamp(29px,2.6vw,42px)/1.05 var(--serif);
  letter-spacing: -.035em;
}

.portal-priorities > div { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #cfc8be; border-bottom: 1px solid #cfc8be; }
.portal-priorities a { min-height: 126px; padding: 22px 25px; display: grid; grid-template-columns: 30px 1fr 18px; gap: 4px 12px; align-content: center; border-right: 1px solid #cfc8be; }
.portal-priorities a:last-child { border-right: 0; }
.portal-priorities a:hover { background: #fff; }
.portal-priorities i { grid-row: 1/3; color: #811f39; font-size: 10px; font-style: normal; font-weight: 800; }
.portal-priorities strong { color: #17232d; font-size: 15px; }
.portal-priorities span { color: #65717a; font-size: 12px; line-height: 1.45; }
.portal-priorities b { grid-column: 3; grid-row: 1/3; align-self: center; color: #811f39; }

/* Le cœur du portail */
.portal-start {
  padding: clamp(84px,8vw,126px) clamp(34px,5vw,82px);
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(480px,.88fr);
  gap: clamp(48px,6vw,86px);
  background: #fff;
}

.portal-section-heading { display: grid; grid-template-columns: 1fr minmax(270px,.48fr); gap: 28px clamp(38px,6vw,86px); align-items: end; }
.portal-section-heading > span { grid-column: 1/-1; }
.portal-section-heading h2 { margin: 0; color: #17232d; font: 500 clamp(44px,4.2vw,66px)/1.01 var(--serif); letter-spacing: -.045em; }
.portal-section-heading p { max-width: 500px; margin: 0; color: #5c6971; font-size: 15px; line-height: 1.7; }

.portal-start-main .portal-section-heading { grid-template-columns: 1fr; }
.portal-start-main .portal-section-heading > span { grid-column: auto; }
.portal-start-main .portal-section-heading p { max-width: 720px; }

.intent-directory { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #bfb8ae; border-left: 1px solid #bfb8ae; }
.intent-directory a { min-height: 178px; padding: 28px 30px; display: flex; flex-direction: column; border-right: 1px solid #bfb8ae; border-bottom: 1px solid #bfb8ae; }
.intent-directory a:hover { box-shadow: inset 4px 0 0 #811f39; background: #faf7f2; }
.intent-directory span { color: #811f39; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.intent-directory strong { max-width: 360px; margin-top: 15px; color: #17232d; font: 600 24px/1.16 var(--serif); }
.intent-directory b { margin-top: auto; color: #5f6970; font-size: 12px; }

.portal-orientation { padding: 42px; align-self: start; color: #fff; background: #17232d; }
.portal-orientation-intro h2 { margin: 14px 0 16px; font: 500 34px/1.08 var(--serif); letter-spacing: -.03em; }
.portal-orientation-intro p { margin: 0 0 30px; color: #bfc7cc; font-size: 13px; line-height: 1.6; }
.portal-orientation-intro > span { color: #e9acb9; }
.portal-orientation .orientation-card { min-height: 550px; padding: 28px; border-radius: 1px; box-shadow: none; }
.portal-orientation .orientation-card h2 { margin: 24px 0 20px; font: 600 28px/1.08 var(--serif); }
.portal-orientation .choice-grid { gap: 7px; }
.portal-orientation .choice-grid button { min-height: 53px; border-radius: 1px; }
.portal-orientation .choice-list button { min-height: 58px; border-radius: 1px; }
.portal-orientation .result-block { border-radius: 1px; }

/* Corpus par domaine */
.portal-domains { padding: clamp(86px,8vw,126px) clamp(34px,5vw,82px); background: #f1ede6; border-top: 1px solid #d5cec3; border-bottom: 1px solid #d5cec3; }
.domain-index { margin-top: 54px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #bdb5aa; border-left: 1px solid #bdb5aa; }
.domain-index a { min-height: 148px; padding: 26px 28px; display: grid; grid-template-columns: 38px 1fr auto; gap: 18px; align-items: center; background: rgba(255,255,255,.45); border-right: 1px solid #bdb5aa; border-bottom: 1px solid #bdb5aa; }
.domain-index a:hover { background: #fff; box-shadow: inset 0 -4px 0 #811f39; }
.domain-index i { color: #811f39; font-size: 10px; font-style: normal; font-weight: 800; }
.domain-index span { min-width: 0; }
.domain-index strong { display: block; color: #17232d; font: 600 24px/1.15 var(--serif); }
.domain-index small { max-width: 540px; margin-top: 8px; display: block; color: #667179; font-size: 13px; line-height: 1.48; }
.domain-index b { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; color: #707980; font-size: 10px; font-weight: 700; white-space: nowrap; }
.domain-index em { color: #811f39; font-size: 17px; font-style: normal; }

/* Une sélection éditoriale, et non une collection de cartes */
.portal-editorial { padding: clamp(86px,8vw,126px) clamp(34px,5vw,82px); display: grid; grid-template-columns: minmax(0,1.2fr) minmax(390px,.8fr); gap: clamp(52px,7vw,104px); background: #fff; }
.portal-guides .portal-section-heading { grid-template-columns: 1fr; }
.portal-guides .portal-section-heading > span { grid-column: auto; }
.guide-list { margin-top: 48px; border-top: 1px solid #bfb8ae; }
.guide-list a { min-height: 122px; padding: 21px 6px; display: grid; grid-template-columns: 38px 1fr 125px; gap: 18px; align-items: center; border-bottom: 1px solid #d5cec3; }
.guide-list a:hover { padding-right: 16px; padding-left: 16px; background: #f7f3ed; }
.guide-list i { color: #811f39; font-size: 10px; font-style: normal; font-weight: 800; }
.guide-list strong { display: block; color: #17232d; font: 600 22px/1.18 var(--serif); }
.guide-list small { margin-top: 7px; display: block; color: #667179; font-size: 13px; line-height: 1.45; }
.guide-list b { color: #811f39; font-size: 11px; text-align: right; }

.portal-briefing { align-self: start; color: #fff; background: #17232d; }
.briefing-image { height: 280px; overflow: hidden; }
.briefing-image img { width: 100%; height: 100%; object-fit: cover; }
.briefing-content { padding: 38px 40px 35px; }
.briefing-content > span { color: #efb6c2; }
.briefing-date { margin: -14px 0 28px; color: #9faab1; font-size: 10px; text-align: right; text-transform: uppercase; }
.briefing-content > strong { display: block; font: 500 36px/1.08 var(--serif); letter-spacing: -.03em; }
.briefing-content > p:not(.briefing-date) { margin: 22px 0; color: #c5ccd1; font-size: 14px; line-height: 1.7; }
.briefing-content > a { padding-bottom: 5px; display: flex; justify-content: space-between; color: #fff; border-bottom: 1px solid rgba(255,255,255,.4); font-size: 12px; font-weight: 800; }
.briefing-sources { padding: 25px 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 20px; background: #811f39; }
.briefing-sources > span { grid-column: 1/-1; color: #efc6cf; }
.briefing-sources a { font-size: 12px; }

.portal-standard { padding: 76px clamp(34px,5vw,82px); color: #fff; background: #121c25; border-bottom: 1px solid rgba(255,255,255,.14); }
.portal-standard header { display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; }
.portal-standard header > span { color: #e9acb9; }
.portal-standard h2 { max-width: 920px; margin: 0; font: 500 clamp(38px,3.8vw,58px)/1.03 var(--serif); letter-spacing: -.04em; }
.portal-standard ol { margin: 52px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); list-style: none; border-top: 1px solid rgba(255,255,255,.23); border-left: 1px solid rgba(255,255,255,.23); }
.portal-standard li { min-height: 155px; padding: 25px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.23); border-bottom: 1px solid rgba(255,255,255,.23); }
.portal-standard li i { color: #e9acb9; font-size: 10px; font-style: normal; font-weight: 800; }
.portal-standard li strong { margin: 18px 0 8px; font: 500 20px/1.2 var(--serif); }
.portal-standard li span { color: #b9c1c6; font-size: 12px; line-height: 1.5; }
.portal-standard > div { min-height: 75px; display: flex; align-items: center; gap: 45px; border-bottom: 1px solid rgba(255,255,255,.23); }
.portal-standard > div p { margin: 0; color: #b9c1c6; font-size: 11px; text-transform: uppercase; }
.portal-standard > div p strong { margin-right: 7px; color: #fff; font: 500 25px/1 var(--serif); }
.portal-standard > div a { margin-left: auto; color: #e9acb9; font-size: 12px; font-weight: 800; }

/* Un pied de page plus compact, adapté à un portail */
.home-page .footer-manifesto { padding-top: 62px; padding-bottom: 62px; }
.home-page .footer-manifesto p { font-size: clamp(36px,3.7vw,56px); }
.home-page .footer-grid { padding-top: 58px; padding-bottom: 58px; }

/* V9 — direction artistique pleine largeur, moins quadrillée */
.home-page {
  --portal-pad: max(30px,calc((100vw - 1460px)/2));
  background: #fff;
}

.home-page > main,
.home-page > .site-footer,
.home-page > .site-header,
.home-page > .utility-bar {
  width: 100%;
  max-width: none;
}

.home-page .utility-bar > div,
.home-page .header-frame { width: 100%; max-width: 1520px; margin-right: auto; margin-left: auto; }
.home-page .site-header { box-shadow: 0 8px 30px rgba(18,28,37,.045); }
.home-page .brand-name { font-size: 28px; }
.home-page .main-nav a { color: #35434d; font-size: 12px; }

.portal-masthead { grid-template-columns: minmax(0,1.08fr) minmax(470px,.92fr); }
.portal-masthead-copy { padding-right: clamp(50px,6vw,98px); padding-left: var(--portal-pad); }
.portal-masthead-copy h1 { max-width: 830px; }
.portal-masthead-visual img { object-position: 72% center; }

.portal-proofline {
  min-height: 70px;
  padding-right: var(--portal-pad);
  padding-left: var(--portal-pad);
  gap: 28px;
  background: #fff;
}
.portal-proofline > * { padding: 0; gap: 10px; border: 0; }
.portal-proofline > *:first-child { border: 0; }
.portal-proofline > *::before { width: 5px; height: 5px; flex: 0 0 auto; content: ""; background: #811f39; }
.portal-proofline a { justify-content: flex-end; }
.portal-proofline a::before { display: none; }

.portal-priorities {
  padding-right: var(--portal-pad);
  padding-left: var(--portal-pad);
  color: #fff;
  background: #7c1d37;
  border: 0;
}
.portal-priorities header > span { color: #f0bec9; }
.portal-priorities header h2 { color: #fff; }
.portal-priorities > div { border-color: rgba(255,255,255,.34); }
.portal-priorities a { border-color: rgba(255,255,255,.25); }
.portal-priorities a:hover { background: rgba(255,255,255,.07); }
.portal-priorities i,
.portal-priorities b { color: #f4bdc8; }
.portal-priorities strong { color: #fff; }
.portal-priorities span { color: #f2dfe4; }

.portal-start,
.portal-domains,
.portal-editorial,
.portal-standard { padding-right: var(--portal-pad); padding-left: var(--portal-pad); }

.portal-start { grid-template-columns: minmax(0,1.08fr) minmax(500px,.92fr); gap: clamp(60px,7vw,116px); }
.intent-directory { grid-template-columns: 1fr; border-right: 0; border-left: 0; }
.intent-directory a {
  min-height: 108px;
  padding: 22px 8px;
  display: grid;
  grid-template-columns: 120px minmax(0,1fr) 180px;
  gap: 24px;
  align-items: center;
  border-right: 0;
}
.intent-directory a:hover { padding-right: 18px; padding-left: 18px; box-shadow: inset 4px 0 0 #811f39; }
.intent-directory strong { max-width: none; margin: 0; font-size: 25px; }
.intent-directory b { margin: 0; text-align: right; }

.portal-orientation { padding: 48px; position: relative; box-shadow: 0 30px 70px rgba(18,28,37,.16); }
.portal-orientation::before { width: 1px; position: absolute; top: 48px; right: 24px; bottom: 48px; content: ""; background: rgba(255,255,255,.25); }
.portal-orientation .orientation-card { padding: 32px; }

.portal-domains { background: #f2eee7; }
.domain-index {
  grid-template-columns: repeat(3,1fr);
  column-gap: clamp(30px,4vw,64px);
  border: 0;
}
.domain-index a {
  min-height: 140px;
  padding: 27px 0;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 14px;
  background: transparent;
  border-right: 0;
  border-bottom: 1px solid #bdb5aa;
}
.domain-index a:nth-child(-n+3) { border-top: 1px solid #bdb5aa; }
.domain-index a:hover { padding-right: 14px; padding-left: 14px; background: rgba(255,255,255,.72); box-shadow: inset 0 -3px 0 #811f39; }
.domain-index strong { font-size: 23px; }
.domain-index small { font-size: 12px; }
.domain-index b { grid-column: 2; flex-direction: row; align-items: center; justify-content: space-between; }

.portal-editorial { background: #fff; }
.guide-list a { min-height: 128px; }
.guide-list strong { font-size: 23px; }
.portal-briefing { box-shadow: 0 26px 65px rgba(18,28,37,.14); }

.portal-standard {
  color: #17232d;
  background: #f2eee7;
  border-top: 1px solid #d0c8bd;
  border-bottom: 1px solid #d0c8bd;
}
.portal-standard header > span { color: #811f39; }
.portal-standard h2 { color: #17232d; }
.portal-standard ol { border-color: #c1b9ae; }
.portal-standard li { border-color: #c1b9ae; }
.portal-standard li i { color: #811f39; }
.portal-standard li strong { color: #17232d; }
.portal-standard li span { color: #5d6971; }
.portal-standard > div { border-color: #c1b9ae; }
.portal-standard > div p { color: #59666e; }
.portal-standard > div p strong { color: #17232d; }
.portal-standard > div a { color: #811f39; }

.home-page .site-footer { background: #121c25; }
.home-page .footer-manifesto { padding-right: var(--portal-pad); padding-left: var(--portal-pad); }
.home-page .footer-grid,
.home-page .footer-bottom { padding-right: var(--portal-pad); padding-left: var(--portal-pad); }

@media (max-width: 1220px) {
  .portal-masthead { grid-template-columns: 1fr .82fr; }
  .portal-start { grid-template-columns: 1fr; }
  .portal-orientation { display: grid; grid-template-columns: .65fr 1.35fr; gap: 42px; align-items: center; }
  .portal-orientation .orientation-card { min-height: 0; }
  .portal-editorial { grid-template-columns: 1fr 410px; }
  .portal-proofline { grid-template-columns: 1fr 1fr; }
  .portal-proofline > * { min-height: 62px; border-bottom: 1px solid #d5cec3; }
}

@media (max-width: 960px) {
  .home-page .site-header { height: 82px; }
  .home-page .main-nav.is-open { top: 82px; }
  .portal-masthead { grid-template-columns: 1fr; }
  .portal-masthead-copy { padding-bottom: 64px; }
  .portal-masthead-visual { min-height: 470px; }
  .portal-priorities { grid-template-columns: 1fr; }
  .portal-priorities > div { grid-template-columns: 1fr; }
  .portal-priorities a { border-right: 0; border-bottom: 1px solid #cfc8be; }
  .portal-priorities a:last-child { border-bottom: 0; }
  .portal-orientation { grid-template-columns: 1fr; }
  .portal-section-heading { grid-template-columns: 1fr; }
  .portal-section-heading > span { grid-column: auto; }
  .domain-index { grid-template-columns: 1fr; }
  .domain-index a:nth-child(-n+3) { border-top: 0; }
  .domain-index a:first-child { border-top: 1px solid #bdb5aa; }
  .portal-editorial { grid-template-columns: 1fr; }
  .portal-briefing { display: grid; grid-template-columns: .7fr 1.3fr; }
  .briefing-image { height: auto; min-height: 350px; }
  .briefing-sources { grid-column: 1/-1; }
  .portal-standard header { grid-template-columns: 1fr; }
  .portal-standard ol { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 650px) {
  .home-page .utility-bar { height: 34px; }
  .home-page .site-header { height: 72px; }
  .home-page .main-nav.is-open { top: 72px; }
  .portal-masthead-copy { padding: 56px 22px 48px; }
  .portal-masthead-copy h1 { font-size: clamp(50px,14vw,68px); }
  .portal-masthead-copy > p:not(.portal-label) { font-size: 16px; }
  .portal-search-field { grid-template-columns: 1fr; }
  .portal-search-field input { min-height: 62px; padding: 0 18px; }
  .portal-search-field button { min-height: 54px; }
  .portal-search-results a { grid-template-columns: 1fr auto; }
  .portal-search-results a > span { grid-column: 1/-1; }
  .portal-masthead-visual { min-height: 360px; }
  .portal-proofline { padding: 0 22px; grid-template-columns: 1fr; }
  .portal-proofline > * { padding: 0 14px; border-left: 1px solid #d5cec3; }
  .portal-priorities,
  .portal-start,
  .portal-domains,
  .portal-editorial,
  .portal-standard { padding-right: 22px; padding-left: 22px; }
  .intent-directory { grid-template-columns: 1fr; }
  .intent-directory a { min-height: 152px; grid-template-columns: 1fr; gap: 10px; }
  .intent-directory b { text-align: left; }
  .portal-orientation { padding: 25px 18px; }
  .portal-orientation .orientation-card { padding: 23px 17px; }
  .portal-orientation .choice-grid { grid-template-columns: 1fr; }
  .domain-index a { min-height: 170px; padding: 22px 18px; grid-template-columns: 30px 1fr; }
  .domain-index b { grid-column: 2; flex-direction: row; align-items: center; }
  .guide-list a { grid-template-columns: 28px 1fr; }
  .guide-list b { grid-column: 2; text-align: left; }
  .portal-briefing { display: block; }
  .briefing-image { height: 260px; min-height: 0; }
  .briefing-content { padding: 32px 25px; }
  .briefing-sources { padding: 23px 25px; }
  .portal-standard ol { grid-template-columns: 1fr; }
  .portal-standard > div { padding: 24px 0; flex-wrap: wrap; gap: 18px 30px; }
  .portal-standard > div a { width: 100%; margin-left: 0; }
}

/* V14 — cartographie éditoriale d'une requête, sans empilement de cartes */
.query-answer-map {
  padding: clamp(76px,8vw,126px) var(--page-pad);
  color: #17232d;
  background: #fff;
  border-top: 1px solid #d9d3ca;
}

.query-answer-map > header {
  display: grid;
  grid-template-columns: minmax(300px,.72fr) minmax(420px,1.28fr);
  gap: clamp(52px,8vw,150px);
  align-items: end;
}

.query-answer-map > header span,
.query-question-grid > div > span,
.query-boundary small {
  color: #811f39;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.query-answer-map > header h2 {
  max-width: 640px;
  margin: 17px 0 0;
  font: 500 clamp(42px,4vw,62px)/1 var(--serif);
  letter-spacing: -.045em;
}

.query-answer-map > header h2 em { color: #811f39; font-weight: 400; }
.query-answer-map > header > p { margin: 0; color: #45525b; font-size: 16px; line-height: 1.75; }

.query-decision-line {
  margin-top: clamp(48px,6vw,82px);
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border-top: 1px solid #a9a197;
  border-bottom: 1px solid #a9a197;
}

.query-decision-line article {
  min-height: 230px;
  padding: 27px 28px 32px 0;
  border-right: 1px solid #d8d2c9;
}

.query-decision-line article + article { padding-left: 28px; }
.query-decision-line article:last-child { border-right: 0; }
.query-decision-line article > span { color: #811f39; font: 500 27px/1 var(--serif); }
.query-decision-line article > small { margin-top: 30px; display: block; color: #69747c; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.query-decision-line article > p { margin: 13px 0 0; color: #25323b; font-size: 14px; line-height: 1.68; }

.query-question-grid {
  margin-top: clamp(62px,7vw,104px);
  display: grid;
  grid-template-columns: minmax(290px,.62fr) minmax(520px,1.38fr);
  gap: clamp(50px,7vw,130px);
}

.query-question-grid > div > h3 { margin: 18px 0 24px; font: 500 clamp(34px,3vw,48px)/1.04 var(--serif); letter-spacing: -.04em; }
.query-question-grid > div > p { max-width: 390px; margin: 0; color: #657078; font-size: 13px; line-height: 1.7; }
.query-question-grid dl { margin: 0; border-top: 2px solid #17232d; }
.query-question-grid dl > div { padding: 28px 0; display: grid; grid-template-columns: minmax(230px,.78fr) minmax(300px,1.22fr); gap: 38px; border-bottom: 1px solid #cbc4bb; }
.query-question-grid dt { color: #17232d; font: 600 19px/1.3 var(--serif); }
.query-question-grid dd { margin: 0; color: #4b5861; font-size: 14px; line-height: 1.72; }

.query-boundary {
  margin-top: clamp(55px,6vw,88px);
  display: grid;
  grid-template-columns: minmax(330px,.92fr) minmax(430px,1.08fr);
  color: #fff;
  background: #17232d;
}

.query-boundary > div { padding: clamp(34px,4vw,54px); border-right: 1px solid #53606a; }
.query-boundary > div small { color: #e4a7b6; }
.query-boundary > div p { max-width: 630px; margin: 17px 0 0; font: 500 21px/1.45 var(--serif); }
.query-boundary nav { padding: clamp(30px,3.5vw,48px); display: flex; flex-direction: column; }
.query-boundary nav > small { margin-bottom: 13px; color: #aeb8bf; }
.query-boundary nav a { padding: 14px 0; display: flex; justify-content: space-between; gap: 30px; color: #fff; border-top: 1px solid #52606a; font-size: 12px; line-height: 1.45; }
.query-boundary nav a span { color: #e4a7b6; }

@media (max-width: 1050px) {
  .query-answer-map > header,
  .query-question-grid { grid-template-columns: 1fr; gap: 34px; }
  .query-question-grid > div > p { max-width: 620px; }
}

@media (max-width: 840px) {
  .query-decision-line { grid-template-columns: repeat(2,1fr); }
  .query-decision-line article:nth-child(2) { border-right: 0; }
  .query-decision-line article:nth-child(n+3) { border-top: 1px solid #d8d2c9; }
  .query-decision-line article:nth-child(3) { padding-left: 0; }
  .query-boundary { grid-template-columns: 1fr; }
  .query-boundary > div { border-right: 0; border-bottom: 1px solid #53606a; }
}

@media (max-width: 650px) {
  .query-answer-map { padding-right: 22px; padding-left: 22px; }
  .query-decision-line { grid-template-columns: 1fr; }
  .query-decision-line article,
  .query-decision-line article + article { min-height: 0; padding: 24px 0; border-top: 1px solid #d8d2c9; border-right: 0; }
  .query-decision-line article:first-child { border-top: 0; }
  .query-question-grid dl > div { grid-template-columns: 1fr; gap: 11px; }
}

/* V10 — les pages intérieures rejoignent le niveau de la home */
.document-page {
  --document-pad: max(30px,calc((100vw - 1460px)/2));
  --document-section: clamp(82px,7.5vw,124px);
  --gutter: var(--document-pad);
  background: #fff;
}

.document-page > .utility-bar,
.document-page > .site-header,
.document-page > main,
.document-page > .site-footer {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

.document-page .utility-bar > div,
.document-page .header-frame { width: 100%; max-width: 1520px; margin-right: auto; margin-left: auto; }
.document-page .site-header { box-shadow: 0 8px 30px rgba(18,28,37,.045); }
.document-page .brand-name { font-size: 28px; }
.document-page .main-nav a { color: #35434d; font-size: 12px; }

/* Chaque famille conserve un accent discret et identifiable */
.page-hero { --family-accent: #7d1f38; }
.page-hero-universe { --family-accent: #6f2b40; }
.page-hero-problem { --family-accent: #87213d; }
.page-hero-contact { --family-accent: #34515d; }
.page-hero-solution { --family-accent: #687047; }
.page-hero-procedure { --family-accent: #304754; }
.page-hero-cost { --family-accent: #8a582c; }
.page-hero-delay { --family-accent: #3e6570; }
.page-hero-dossier { --family-accent: #795044; }
.page-hero-tool { --family-accent: #48695e; }
.page-hero-trust,
.page-hero-legal { --family-accent: #66364a; }

.document-page .page-hero {
  width: 100%;
  max-width: none;
  min-height: 690px;
  padding: 34px var(--document-pad) 78px;
  grid-template-columns: minmax(0,1.08fr) minmax(460px,.92fr);
  gap: 30px clamp(60px,7vw,118px);
  background: #f4f0e9;
  border-bottom: 1px solid #d5cec3;
}
.document-page .breadcrumbs { color: #6b757d; }
.document-page .page-kind { margin-bottom: 27px; }
.document-page .page-kind span { background: var(--family-accent); border-radius: 1px; }
.document-page .page-hero-copy h1 { max-width: 900px; font-size: clamp(58px,5.25vw,86px); }
.document-page .page-hero-copy > p:not(.overline) { max-width: 770px; }
.document-page .page-hero-visual { min-height: 490px; border-radius: 1px; box-shadow: 0 25px 65px rgba(18,28,37,.12); }
.document-page .page-hero-visual figcaption { right: 14px; bottom: 14px; border-radius: 1px; }
.document-page .essential-answer {
  margin: -2px 32px 0;
  padding: 32px 36px;
  grid-template-columns: 130px 1fr auto;
  background: #17232d;
  border-left: 5px solid var(--family-accent);
  border-radius: 1px;
  box-shadow: 0 20px 48px rgba(18,28,37,.13);
}

/* Signature humaine et responsabilité YMYL, sans prétendre à une qualité d’avocat */
.editorial-strip {
  min-height: 86px;
  padding: 0 var(--document-pad);
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
  gap: 34px;
  align-items: center;
  color: #526069;
  background: #fff;
  border-bottom: 1px solid #d5cec3;
}
.editorial-strip > * { min-width: 0; display: flex; align-items: center; gap: 12px; }
.editorial-strip > * + * { padding-left: 28px; border-left: 1px solid #d5cec3; }
.editorial-strip small { display: block; margin-bottom: 5px; color: #8a203e; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.editorial-strip strong { display: block; color: #26343e; font-size: 13px; line-height: 1.3; }
.editorial-person i { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: #7d1f38; font: 600 13px/1 var(--serif); font-style: normal; }
.editorial-strip a:hover strong { color: #7d1f38; }

.document-page .document-nav { width: 100%; max-width: none; padding-right: var(--document-pad); padding-left: var(--document-pad); }
.document-page .document-nav > div { border-right: 1px solid #d9d5cf; }

/* Hubs : un répertoire éditorial, pas une planche de cartes */
.document-page .hub-intro {
  width: 100%;
  max-width: none;
  padding: 78px var(--document-pad);
  display: grid;
  grid-template-columns: 190px minmax(0,1fr) minmax(300px,.62fr);
  gap: clamp(36px,5vw,82px);
  align-items: start;
  text-align: left;
  border-bottom: 1px solid #d5cec3;
}
.document-page .hub-intro > span { padding-top: 13px; }
.document-page .hub-intro h2 { max-width: 820px; margin: 0; font-size: clamp(44px,4vw,64px); }
.document-page .hub-intro p { max-width: 560px; margin: 9px 0 0; }

.document-page .index-section,
.document-page .related-section {
  width: 100%;
  max-width: none;
  padding: var(--document-section) var(--document-pad);
  background: #f1ede6;
}
.document-page .section-header { margin-bottom: 55px; }
.document-page .section-header h2 { font-family: var(--serif); font-weight: 500; }
.document-page .index-section .page-grid-three,
.document-page .related-section .page-grid-three {
  grid-template-columns: repeat(3,1fr);
  gap: 0;
  border-top: 1px solid #beb6ab;
  border-left: 1px solid #beb6ab;
}
.document-page .index-section .page-card,
.document-page .related-section .page-card {
  min-height: 178px;
  padding: 27px 28px;
  grid-template-columns: 34px 1fr 18px;
  background: rgba(255,255,255,.44);
  border: 0;
  border-right: 1px solid #beb6ab;
  border-bottom: 1px solid #beb6ab;
  border-radius: 0;
  box-shadow: none;
}
.document-page .index-section .page-card:hover,
.document-page .related-section .page-card:hover { z-index: 2; background: #fff; box-shadow: inset 0 -4px 0 #7d1f38; transform: none; }
.document-page .page-card h3 { margin: 16px 0 10px; font: 600 23px/1.12 var(--serif); }
.document-page .page-card p { font-size: 13px; line-height: 1.55; -webkit-line-clamp: 3; }
.document-page .related-section { background: #fff; border-top: 1px solid #d5cec3; }

/* Les sections transversales occupent réellement la page */
.document-page .decision-brief,
.document-page .sequence-section,
.document-page .matrix-section,
.document-page .evidence-panel,
.document-page .reference-article,
.document-page .cost-anatomy,
.document-page .delay-timeline,
.document-page .tool-lead,
.document-page .tool-page,
.document-page .tool-limits,
.document-page .editorial-document,
.document-page .sources-section,
.document-page .authority-section,
.document-page .v4-article {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}
.document-page .decision-brief,
.document-page .sequence-section,
.document-page .matrix-section,
.document-page .evidence-panel,
.document-page .reference-article,
.document-page .cost-anatomy,
.document-page .delay-timeline,
.document-page .tool-lead,
.document-page .tool-page,
.document-page .tool-limits,
.document-page .editorial-document,
.document-page .sources-section,
.document-page .authority-section { padding-right: var(--document-pad); padding-left: var(--document-pad); }
.document-page .v4-article > section { padding: var(--document-section) var(--document-pad); }

.document-page .brief-title h2,
.document-page .reference-article > header h2,
.document-page .article-intro h2,
.document-page .sources-section h2,
.document-page .editorial-document h2,
.document-page .cost-anatomy h2,
.document-page .delay-timeline h2,
.document-page .tool-lead h2,
.document-page .tool-contract h2,
.document-page .cost-questions h2,
.document-page .dossier-audit h2 { font-family: var(--serif); font-weight: 500; }
.document-page .article-intro > span { border-radius: 1px; }

/* Un langage plus éditorial : angles francs, filets fins, ombres rares */
.document-page .decision-tile,
.document-page .scenario-rail article,
.document-page .route-board article,
.document-page .evidence-ledger article,
.document-page .pitfall-grid article,
.document-page .v4-action-plan li,
.document-page .contact-brief li,
.document-page .procedure-track li,
.document-page .v4-faq details,
.document-page .reference-cards article,
.document-page .cost-anatomy li,
.document-page .delay-timeline article,
.document-page .contact-can-cannot,
.document-page .solution-fit article,
.document-page .cost-ledger article,
.document-page .cost-scenarios article,
.document-page .dossier-method article,
.document-page .tool-contract aside { border-radius: 1px; box-shadow: none; }
.document-page .scenario-rail span,
.document-page .evidence-ledger article > span,
.document-page .v4-action-plan li > span,
.document-page .contact-brief li > span,
.document-page .procedure-track li > span,
.document-page .dossier-audit li > span { border-radius: 1px; }

/* Famille problème : diagnostic, scénarios, action, preuve */
.document-page .v4-problem .v4-decision { background: #fff; }
.document-page .v4-problem .v4-scenarios { background: #f1ede6; }
.document-page .decision-tile-1 { border-left: 5px solid #87213d; }
.document-page .sequence-section li { margin-bottom: 0; border-bottom: 0; border-radius: 0; }
.document-page .sequence-section li:last-child { border-bottom: 1px solid #d5cec3; }

/* Interlocuteurs */
.document-page .contact-manifesto { background: #21343d !important; }
.document-page .contact-can-cannot { border: 1px solid rgba(255,255,255,.22); }
.document-page .contact-moments article { min-height: 280px; }
.document-page .contact-access > div { padding-right: var(--document-pad); padding-left: var(--document-pad); }

/* Résolution amiable */
.document-page .solution-fit article { border-top-color: #687047; }
.document-page .solution-flow { background: #1e2b31 !important; }
.document-page .agreement-clause { background: #edf0e5 !important; }

/* Procédures */
.document-page .procedure-gates > div { border-color: #bfc6c9; }
.document-page .procedure-file { background: #253b47 !important; }
.document-page .procedure-warning { background: #edf0f2 !important; border-color: #c9d0d3; }

/* Coûts */
.document-page .cost-ledger article { border-top: 4px solid #8a582c; }
.document-page .cost-ledger article:nth-child(even) { background: #f4efe7; }
.document-page .cost-scenarios { background: #f1ede6 !important; }
.document-page .cost-rule { background: #f1e9df !important; border-color: #d8c8b7; }

/* Délais */
.document-page .delay-track { background: #203a44 !important; }
.document-page .delay-forces article + article { background: #3e6570; }
.document-page .delay-rule { background: #e9eff0 !important; border-color: #c2d0d3; }

/* Dossier et preuves */
.document-page .dossier-method { background: #f2ece7 !important; }
.document-page .dossier-method article { border-bottom-color: #795044; }
.document-page .dossier-rule { background: #f0e8e4 !important; border-color: #d6c3bb; }

/* Outils */
.document-page .tool-lead { background: #20352f; }
.document-page .tool-contract aside { border-left-color: #48695e; background: #e9efec; }
.document-page .tool-workbench { background: #edf0ed !important; }

/* Sources : plus compactes, plus proches du contenu qu’elles justifient */
.document-page .sources-section {
  padding-top: 84px;
  padding-bottom: 84px;
  grid-template-columns: minmax(320px,.72fr) minmax(0,1.28fr);
  gap: clamp(58px,8vw,126px);
  background: #f4f0e9;
  border-top: 1px solid #d5cec3;
  border-bottom: 1px solid #d5cec3;
}

/* V12 — registre de propositions contrôlables, propre à chaque dossier */
.claim-ledger {
  width: 100%;
  padding: clamp(78px,7vw,116px) var(--document-pad);
  display: grid;
  grid-template-columns: minmax(280px,.58fr) minmax(0,1.42fr);
  gap: clamp(48px,7vw,112px);
  color: #fff;
  background: #182630;
  border-top: 1px solid #2e3c45;
  border-bottom: 1px solid #2e3c45;
}
.claim-ledger header > span { color: #e6aab7; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.claim-ledger header h2 { max-width: 620px; margin: 18px 0 22px; font: 500 clamp(39px,3.7vw,58px)/1.02 var(--serif); letter-spacing: -.04em; }
.claim-ledger header p { max-width: 520px; margin: 0; color: #b9c3c9; font-size: 14px; line-height: 1.72; }
.claim-ledger > div { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.22); border-left: 1px solid rgba(255,255,255,.22); }
.claim-ledger article { min-height: 280px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.claim-ledger article > span { color: #e6aab7; font: 600 11px/1 var(--sans); }
.claim-ledger article small { margin-top: 45px; color: #9fabb2; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.claim-ledger article h3 { margin: 15px 0 18px; font: 500 22px/1.16 var(--serif); }
.claim-ledger article p { margin: auto 0 0; color: #c5cdd2; font-size: 12px; line-height: 1.6; }
.document-page .source-list a { min-height: 92px; }
.document-page .source-list a:hover { padding-right: 12px; padding-left: 12px; background: rgba(255,255,255,.7); }

/* Pages de méthode et de confiance */
.document-page .editorial-document { grid-template-columns: 310px minmax(0,1fr); }
.document-page .editorial-document h2 { max-width: 940px; }
.document-page .editorial-document section p { max-width: 880px; }
.editorial-owner { margin-top: 26px; padding: 22px 0 !important; display: grid !important; grid-template-columns: 1fr auto; }
.editorial-owner small { grid-column: 1/-1; margin: 0 0 6px !important; color: #8a203e !important; font-size: 9px !important; text-transform: uppercase; }
.editorial-owner strong { color: #17232d; font: 600 20px/1.2 var(--serif); }
.editorial-owner b { color: #8a203e; }

/* Pied de page : pleine largeur sur toutes les pages */
.document-page .site-footer { background: #111820; }
.document-page .footer-manifesto,
.document-page .footer-grid,
.document-page .footer-bottom { padding-right: var(--document-pad); padding-left: var(--document-pad); }

/* Mention demandée, présente uniquement dans le footer de la home */
.footer-audit {
  min-height: 92px;
  padding: 22px var(--portal-pad,clamp(30px,5vw,82px));
  display: grid;
  grid-template-columns: 180px 1fr 30px;
  gap: 28px;
  align-items: center;
  color: #fff;
  background: #7c1d37;
  border-top: 1px solid rgba(255,255,255,.2);
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.footer-audit span { color: #f0bdc8; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.footer-audit strong { font: 500 25px/1.2 var(--serif); }
.footer-audit b { color: #f0bdc8; font-size: 20px; }
.footer-audit:hover { background: #68172f; }

@media (max-width: 1180px) {
  .document-page .page-hero { grid-template-columns: 1fr .82fr; }
  .editorial-strip { grid-template-columns: 1fr 1fr; padding-top: 18px; padding-bottom: 18px; }
  .editorial-strip > * { min-height: 48px; }
  .document-page .hub-intro { grid-template-columns: 150px 1fr; }
  .document-page .hub-intro p { grid-column: 2; }
  .document-page .index-section .page-grid-three,
  .document-page .related-section .page-grid-three { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 920px) {
  .document-page .page-hero { min-height: 0; grid-template-columns: 1fr; }
  .document-page .page-hero-visual { min-height: 440px; }
  .document-page .essential-answer { margin: 0; grid-template-columns: 110px 1fr; }
  .document-page .essential-answer a { grid-column: 2; justify-self: start; }
  .document-page .hub-intro { grid-template-columns: 1fr; }
  .document-page .hub-intro p { grid-column: auto; }
  .document-page .editorial-document { grid-template-columns: 1fr; }
  .document-page .editorial-document aside { position: static; }
  .document-page .sources-section { grid-template-columns: 1fr; }
  .claim-ledger { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .document-page { --document-pad: 22px; --document-section: 72px; }
  .document-page .page-hero { padding-top: 24px; padding-bottom: 52px; }
  .document-page .page-hero-copy h1 { font-size: clamp(47px,13.5vw,66px); }
  .document-page .page-hero-visual { min-height: 340px; }
  .document-page .essential-answer { margin-right: -22px; margin-left: -22px; padding: 27px 22px; grid-template-columns: 1fr; }
  .document-page .essential-answer a { grid-column: 1; }
  .editorial-strip { padding: 16px 22px; grid-template-columns: 1fr; gap: 0; }
  .editorial-strip > * + * { padding: 16px 0 0; border-top: 1px solid #d5cec3; border-left: 0; }
  .document-page .hub-intro { padding-top: 60px; padding-bottom: 60px; }
  .document-page .index-section .page-grid-three,
  .document-page .related-section .page-grid-three { grid-template-columns: 1fr; }
  .document-page .index-section .page-card,
  .document-page .related-section .page-card { min-height: 160px; }
  .document-page .article-intro { grid-template-columns: 1fr; }
  .document-page .article-intro > span { width: 44px; height: 44px; }
  .footer-audit { padding-right: 22px; padding-left: 22px; grid-template-columns: 1fr auto; }
  .footer-audit span { grid-column: 1/-1; }
  .claim-ledger { padding-right: 22px; padding-left: 22px; }
  .claim-ledger > div { grid-template-columns: 1fr; }
  .claim-ledger article { min-height: 220px; }
}

/* V11 — coque canonique issue de la home, partagée par chaque document */
body {
  --shell-pad: max(30px,calc((100vw - 1460px)/2));
  --header-pad: clamp(30px,4vw,60px);
}

body > .utility-bar,
body > .site-header,
body > .site-footer {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

.utility-bar { height: 38px; font-size: 11px; letter-spacing: .025em; }
.utility-bar > div,
.header-frame {
  width: 100%;
  max-width: 1580px;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--header-pad);
  padding-left: var(--header-pad);
}
.site-header { height: 94px; box-shadow: 0 8px 30px rgba(18,28,37,.045); }
.brand-seal { width: 48px; height: 48px; border-radius: 1px; font-size: 27px; }
.brand-name { margin-left: 14px; font-size: 28px; }
.main-nav a { min-height: 94px; color: #35434d; font-size: 12px; }
.header-cta { min-height: 46px; padding-right: 21px; padding-left: 21px; border-radius: 1px; font-size: 12px; }

.site-footer { background: #121c25; }
.footer-manifesto {
  padding: 62px var(--shell-pad);
}
.footer-manifesto p { font: 500 clamp(36px,3.7vw,56px)/1.03 var(--serif); }
.footer-grid { padding: 58px var(--shell-pad); }
.footer-bottom { padding-right: var(--shell-pad); padding-left: var(--shell-pad); }
.footer-audit { padding-right: var(--shell-pad); padding-left: var(--shell-pad); }

@media (max-width: 920px) {
  .site-header { height: 82px; }
  .main-nav.is-open { top: 82px; }
  .footer-manifesto { padding-top: 58px; padding-bottom: 58px; }
}

@media (max-width: 650px) {
  body { --shell-pad: 22px; --header-pad: 22px; }
  .utility-bar { height: 34px; }
  .site-header { height: 72px; }
  .main-nav.is-open { top: 72px; }
  .brand-seal { width: 40px; height: 40px; font-size: 22px; }
  .brand-name { margin-left: 10px; font-size: 20px; }
  .footer-manifesto { padding-top: 52px; padding-bottom: 52px; }
  .footer-grid { padding-top: 48px; padding-bottom: 48px; }
}

/* V13 — la réponse de fond précède désormais le long format */
.reference-brief {
  padding: clamp(78px,7vw,116px) var(--document-pad);
  color: #17232d;
  background: #f4f0e9;
  border-top: 1px solid #d3cdc4;
  border-bottom: 1px solid #c8c1b7;
}

.reference-brief-head {
  display: grid;
  grid-template-columns: minmax(190px,.36fr) minmax(0,1.64fr);
  gap: clamp(38px,6vw,96px);
  align-items: start;
}

.reference-brief-head > div:first-child {
  padding-top: 13px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  border-top: 2px solid #811f39;
}

.reference-brief-head > div:first-child span,
.reference-example > span,
.reference-decision > span {
  color: #811f39;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.reference-brief-head > div:first-child small {
  color: #68737b;
  font-size: 11px;
  line-height: 1.5;
}

.reference-brief-head h2 {
  max-width: 840px;
  margin: 0;
  font: 500 clamp(48px,4.2vw,68px)/.98 var(--serif);
  letter-spacing: -.045em;
}

.reference-brief-head h2 em { color: #811f39; font-weight: 400; }

.reference-brief-head > div:last-child > p {
  max-width: 1020px;
  margin: 28px 0 0;
  color: #2d3942;
  font: 500 clamp(23px,2vw,31px)/1.35 var(--serif);
}

.reference-law-grid {
  margin-top: clamp(52px,5vw,76px);
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-top: 1px solid #aaa297;
  border-left: 1px solid #aaa297;
}

.reference-law-grid article {
  min-height: 310px;
  padding: 30px 30px 27px;
  display: flex;
  flex-direction: column;
  background: rgba(255,255,255,.46);
  border-right: 1px solid #aaa297;
  border-bottom: 1px solid #aaa297;
}

.reference-law-grid article > span { color: #811f39; font: 500 31px/1 var(--serif); }
.reference-law-grid article > small { margin-top: 31px; color: #66717a; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.reference-law-grid article > p { margin: 14px 0 28px; color: #17232d; font-size: 15px; line-height: 1.7; }
.reference-law-grid article > a { margin-top: auto; padding-top: 17px; color: #811f39; border-top: 1px solid #d5cfc6; font-size: 11px; font-weight: 800; line-height: 1.45; }
.reference-law-grid article > a b { float: right; font-size: 15px; }

.reference-application {
  margin-top: clamp(48px,5vw,72px);
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr);
  box-shadow: 0 28px 75px rgba(20,31,40,.12);
}

.reference-example { padding: clamp(42px,4.5vw,68px); background: #fff; }
.reference-example h3,
.reference-decision h3 { margin: 17px 0 34px; font: 500 clamp(31px,2.8vw,45px)/1.04 var(--serif); letter-spacing: -.035em; }
.reference-example dl { margin: 0; }
.reference-example dl > div { padding: 22px 0; display: grid; grid-template-columns: 108px 1fr; gap: 24px; border-top: 1px solid #d8d2ca; }
.reference-example dt { color: #811f39; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.reference-example dd { margin: 0; color: #39464f; font-size: 14px; line-height: 1.68; }

.reference-decision { padding: clamp(42px,4.5vw,68px); color: #fff; background: #17232d; }
.reference-decision > span { color: #e5a9b7; }
.reference-decision h3 { color: #fff; }
.reference-decision ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid #52606a; }
.reference-decision li { padding: 18px 0; display: grid; grid-template-columns: 34px 1fr; gap: 15px; border-bottom: 1px solid #52606a; }
.reference-decision li > b { color: #e5a9b7; font-size: 10px; }
.reference-decision li small { color: #aeb9c0; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.reference-decision li p { margin: 7px 0 0; color: #fff; font-size: 13px; line-height: 1.58; }

.reference-brief-limit {
  margin: 0;
  padding: 24px 28px;
  color: #56636c;
  background: #e8e2da;
  border-right: 1px solid #c8c1b7;
  border-bottom: 1px solid #c8c1b7;
  border-left: 4px solid #811f39;
  font-size: 12px;
  line-height: 1.6;
}

.reference-brief-limit strong { color: #17232d; }

@media (max-width: 1050px) {
  .reference-brief-head { grid-template-columns: 1fr; gap: 28px; }
  .reference-brief-head > div:first-child { max-width: 280px; }
  .reference-application { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .reference-law-grid { grid-template-columns: 1fr; }
  .reference-law-grid article { min-height: 0; }
  .reference-example dl > div { grid-template-columns: 1fr; gap: 8px; }
}

@media (max-width: 650px) {
  .reference-brief { padding-right: 22px; padding-left: 22px; }
  .reference-brief-head h2 { font-size: 46px; }
  .reference-brief-head > div:last-child > p { font-size: 23px; }
  .reference-law-grid article,
  .reference-example,
  .reference-decision { padding: 28px 24px; }
}
