/* Ajustements V5 : typographie, trois thèmes, bibliothèque et pages fonctionnelles. */

html[data-theme="parchment"]{
  color-scheme:dark;
  --bg:#17120f;
  --bg-soft:#211812;
  --surface:#241b16;
  --surface-strong:#2b211b;
  --surface-muted:#201814;
  --ink:#f3e8d5;
  --ink-soft:#cdbda6;
  --ink-faint:#aa977d;
  --line:#4c3b2e;
  --line-strong:#755d48;
  --accent:#c25f52;
  --accent-hover:#d27366;
  --accent-soft:#3a2521;
  --gold:#d1a762;
  --gold-soft:#4b3822;
  --header:rgba(18,14,11,.94);
  --header-ink:#f5ead7;
  --footer:#0e0b09;
  --footer-ink:#f5ead7;
  --footer-soft:#aa967c;
  --shadow-sm:0 12px 30px rgba(0,0,0,.24);
  --shadow-md:0 26px 66px rgba(0,0,0,.36);
  --paper-gradient:linear-gradient(145deg,#fffdf7 0%,#f3e2bf 100%);
}

html[data-theme="parchment"] :is(
  .home-hero,.territory-card,.home-context,.newsletter,.newsletter-action,
  .paper,.catalogue-group,.book-card,
  .contact-panel,.contact-aside
){
  --surface:#fffdf8;
  --surface-strong:#fffdf8;
  --surface-muted:#f7edda;
  --ink:#2b2018;
  --ink-soft:#675747;
  --ink-faint:#88735b;
  --line:#d8c5a7;
  --line-strong:#bca07a;
  --accent:#87372f;
  --accent-hover:#6e2924;
  --accent-soft:#f0ded6;
  --gold:#956b32;
  --gold-soft:#ead6b0;
  color:var(--ink);
}

html[data-theme="parchment"] :is(.home-hero,.paper){background:var(--paper-gradient)}
html[data-theme="parchment"] .territory-card{background:#fffdf8}

body{overflow-wrap:normal;word-break:normal;hyphens:none}
h1,h2,h3{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:pretty}
.prose p,.hero-editorial p,.territory-card p{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:pretty}
.button,.territory-cta,.book-action,.download-button{font-family:var(--font-ui);font-size:.75rem;white-space:nowrap}

.site-header{color:var(--header-ink)}
.site-header .brand{color:var(--header-ink)}
.site-header .main-nav a{color:color-mix(in srgb,var(--header-ink) 70%,transparent)}
.site-header .main-nav a:hover,.site-header .main-nav a[aria-current="page"]{color:var(--header-ink);background:color-mix(in srgb,var(--header-ink) 10%,transparent)}
.theme-toggle{display:none!important}
.theme-picker{
  order:2;display:inline-flex;align-items:center;gap:2px;margin-left:5px;padding:3px;
  border:1px solid color-mix(in srgb,var(--header-ink) 22%,transparent);border-radius:999px;
  background:color-mix(in srgb,var(--header-ink) 7%,transparent)
}
.theme-picker button{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:34px;height:32px;padding:0 8px;
  border:0;border-radius:999px;color:color-mix(in srgb,var(--header-ink) 72%,transparent);background:transparent;cursor:pointer
}
.theme-picker button:hover{color:var(--header-ink);background:color-mix(in srgb,var(--header-ink) 9%,transparent)}
.theme-picker button[aria-pressed="true"]{color:var(--header-ink);background:color-mix(in srgb,var(--header-ink) 17%,transparent);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.theme-picker svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-picker span{font-family:var(--font-ui);font-size:.7rem;font-weight:800}

.home-main{padding-top:18px}
.home-hero{
  grid-template-columns:minmax(285px,.72fr) minmax(0,1.28fr);gap:clamp(28px,4vw,58px);
  margin-bottom:20px;padding:clamp(25px,3.6vw,44px)
}
.home-heading h1{max-width:500px;margin:0;font-size:clamp(2rem,1.55rem + 1.6vw,3.15rem);line-height:1.08}
.hero-editorial{display:grid;gap:12px;padding-left:clamp(23px,3.5vw,44px);border-left:1px solid var(--line)}
.hero-editorial p{margin:0;color:var(--ink-soft);font-size:clamp(.94rem,.9rem + .14vw,1.03rem);line-height:1.62}
.hero-editorial p:first-child{color:var(--ink);font-size:clamp(1rem,.95rem + .18vw,1.08rem)}
.section-heading{margin-bottom:12px}
.section-heading h2{font-size:clamp(1.6rem,1.38rem + .85vw,2.2rem)}
.territory-card{min-height:246px;grid-template-columns:145px minmax(0,1fr);padding:21px;gap:22px}
.territory-card img{width:145px;height:145px}
.territory-card h3{margin:0;font-size:clamp(1.45rem,1.15rem + .72vw,1.85rem)}
.territory-card small{margin:5px 0 17px;color:var(--ink-soft);font-size:.7rem;letter-spacing:.08em}
.territory-cta{
  display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:9px 13px;
  border:1px solid var(--accent);border-radius:999px;color:#fff;background:var(--accent);
  font-weight:850;line-height:1;text-decoration:none
}
.territory-card:hover .territory-cta{background:var(--accent-hover)}
.home-context{display:none}

.newsletter{grid-template-columns:minmax(0,1fr) minmax(265px,.55fr);margin-bottom:42px}
.newsletter-copy h2{margin-top:0}
.newsletter-action{display:grid;align-content:center;gap:11px}
.newsletter-action>p{margin:0;text-align:center}
.newsletter-action>p a{color:var(--accent);font-weight:750}
.newsletter-legal{display:none}

.paper .eyebrow{display:none}
.prose>div[style]{height:14px!important}
.prose p{max-width:76ch}
.dropcap::first-letter{
  float:left;-webkit-initial-letter:unset;initial-letter:unset;
  margin:.11em .14em 0 0;color:var(--accent);font-family:var(--font-display);
  font-size:3.45rem;font-weight:400;line-height:.78
}

.library-section{width:var(--page);margin:30px auto 48px}
.library-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:14px}
.library-heading h2{margin:0}
.library-heading p{max-width:470px;margin:0;color:var(--ink-soft);font-family:var(--font-ui);font-size:.78rem;text-align:right}
.bookshelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.book-card{
  min-height:250px;padding:21px;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:20px;
  border:1px solid var(--line);border-radius:18px;background:var(--surface-strong);box-shadow:var(--shadow-sm)
}
.book-card:hover{border-color:var(--gold);box-shadow:var(--shadow-md)}
.book-stage{height:168px;display:grid;place-items:center;perspective:850px}
.book{
  position:relative;width:104px;height:148px;transform-style:preserve-3d;transform:rotateY(-10deg) rotateX(2deg);
  filter:drop-shadow(10px 13px 11px rgba(44,25,13,.2));transition:transform .35s ease
}
.book-card:hover .book,.book-card:focus-within .book{transform:rotateY(-3deg) rotateX(1deg) translateY(-3px)}
.book-back,.book-cover,.book-page{position:absolute;inset:0;border-radius:3px 8px 8px 3px;transform-origin:left center}
.book-back{background:#5f211d;transform:translateZ(-8px)}
.book-pages{position:absolute;inset:5px 2px 5px 7px;border-radius:2px 7px 7px 2px;background:repeating-linear-gradient(90deg,#e8d8b9 0 1px,#fff9e9 1px 4px);transform:translateZ(-3px)}
.book-cover{
  z-index:5;padding:15px 11px;display:flex;flex-direction:column;justify-content:space-between;
  border:1px solid rgba(255,228,177,.34);color:#ffe8bb;background:linear-gradient(145deg,#98483e,#64251f 72%);
  backface-visibility:hidden;transition:transform .55s cubic-bezier(.2,.78,.25,1)
}
.book-card:hover .book-cover,.book-card:focus-within .book-cover{transform:rotateY(-27deg)}
.book-cover:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,225,173,.28);pointer-events:none}
.book-cover small{position:relative;font-family:var(--font-ui);font-size:.52rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.book-cover strong{position:relative;font-family:var(--font-display);font-size:.76rem;font-weight:400;line-height:1.25;text-wrap:pretty}
.book-cover em{position:relative;font-family:var(--font-ui);font-size:.48rem;font-style:normal;opacity:.8}
.book-page{
  z-index:4;inset:6px 3px 6px 7px;border:1px solid rgba(105,72,42,.18);
  background:repeating-linear-gradient(0deg,transparent 0 9px,rgba(89,59,34,.13) 9px 10px),#fff8e7;
  transform:translateZ(-1px);backface-visibility:hidden
}
.book-page:nth-of-type(4){z-index:4;transform:translateZ(-1px)}
.book-page:nth-of-type(5){z-index:3;transform:translateZ(-2px)}
.book-page:nth-of-type(6){z-index:2;transform:translateZ(-3px)}
.book-card:hover .book-page:nth-of-type(4),.book-card:focus-within .book-page:nth-of-type(4){animation:pageTurn 1.7s ease-in-out infinite}
.book-card:hover .book-page:nth-of-type(5),.book-card:focus-within .book-page:nth-of-type(5){animation:pageTurn 1.7s .28s ease-in-out infinite}
.book-card:hover .book-page:nth-of-type(6),.book-card:focus-within .book-page:nth-of-type(6){animation:pageTurn 1.7s .56s ease-in-out infinite}
@keyframes pageTurn{0%,18%{transform:translateZ(-1px) rotateY(0)}58%,72%{transform:translateZ(2px) rotateY(-145deg)}100%{transform:translateZ(-1px) rotateY(-180deg)}}
.book-copy{min-width:0}
.book-copy>small{display:block;color:var(--gold);font-family:var(--font-ui);font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.book-copy h3{margin:5px 0 15px;font-size:clamp(1.1rem,1rem + .34vw,1.32rem);line-height:1.2}
.book-actions{display:flex;flex-wrap:wrap;gap:7px}
.book-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid var(--line-strong);border-radius:999px;font-weight:850;text-decoration:none}
.book-action-primary{border-color:var(--accent);color:#fff;background:var(--accent)}
.book-action-primary:hover{background:var(--accent-hover)}
.book-action-secondary{color:var(--ink);background:var(--surface)}
.book-action-secondary:hover{border-color:var(--accent);color:var(--accent)}

.legal-nav{--section-scale:.2;position:sticky;overflow:hidden;padding-bottom:23px}
.legal-nav:before{content:"";position:absolute;left:16px;right:16px;bottom:10px;height:3px;border-radius:999px;background:var(--line)}
.legal-nav:after{content:"";position:absolute;left:16px;bottom:10px;width:calc(100% - 32px);height:3px;border-radius:999px;background:var(--accent);transform:scaleX(var(--section-scale));transform-origin:left center;transition:transform .25s ease}
.legal-nav a[aria-current="location"]{color:var(--ink);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}

.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr);gap:18px;align-items:start}
.contact-panel{padding:clamp(27px,4vw,48px);border:1px solid var(--line);border-radius:18px;background:var(--surface-strong);box-shadow:var(--shadow-md)}
.contact-panel h1{margin:0 0 12px}
.contact-panel>p{max-width:680px;margin:0 0 24px;color:var(--ink-soft)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:grid;gap:6px}.form-field-wide{grid-column:1/-1}
.form-field label{font-family:var(--font-ui);font-size:.73rem;font-weight:800}
.form-field input,.form-field select,.form-field textarea{
  width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;
  color:var(--ink);background:var(--surface);font-family:var(--font-body);font-size:1rem
}
.form-field textarea{min-height:170px;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 18%,transparent)}
.form-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;color:var(--ink-soft);font-family:var(--font-ui);font-size:.7rem;line-height:1.55}
.form-consent input{margin-top:3px}
.form-submit{grid-column:1/-1;justify-self:start}
.form-status{grid-column:1/-1;margin:0;padding:11px 13px;border-left:3px solid var(--gold);background:var(--surface-muted);color:var(--ink-soft);font-family:var(--font-ui);font-size:.75rem}
.contact-aside{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface-strong);box-shadow:var(--shadow-sm)}
.contact-aside h2{margin:0 0 12px;font-size:1.35rem}.contact-aside p{margin:0 0 14px;color:var(--ink-soft);font-size:.9rem}
.contact-aside a{color:var(--accent);font-weight:700}

.error-main{position:relative;isolation:isolate;display:grid;place-items:center;padding:36px 20px;overflow:hidden}
.error-card{position:relative;z-index:3;width:min(710px,100%);text-align:center}
.error-card .prose{max-width:600px}.error-card h1{font-size:clamp(2rem,1.5rem + 2vw,3.25rem)}
.error-card p{margin-inline:auto}
.flying-parchment{
  position:absolute;z-index:1;width:clamp(82px,9vw,132px);aspect-ratio:1.05/1.28;border:1px solid rgba(90,56,30,.45);
  border-radius:8px 12px 10px 12px;background:radial-gradient(circle at 20% 15%,rgba(92,51,27,.15),transparent 22%),linear-gradient(135deg,#f7ead0,#e8d2a4 64%,#c7a36b);
  box-shadow:0 18px 36px rgba(0,0,0,.3);color:rgba(65,42,27,.62);pointer-events:none;overflow:hidden;will-change:transform
}
.flying-parchment:before{content:"";position:absolute;inset:10px;border:1px solid rgba(76,48,28,.12);background:repeating-linear-gradient(0deg,rgba(78,53,33,.11) 0 1px,transparent 1px 11px)}
.flying-parchment:after{content:"G";position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#451915;background:#87372f;font-family:var(--font-display);font-size:.65rem;font-weight:700}
.flying-parchment span{position:absolute;z-index:2;top:13px;left:13px;right:13px;font-family:var(--font-ui);font-size:.47rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.flying-parchment:nth-child(1){top:5%;left:2%;animation:flyPaperA 10s ease-in-out infinite}
.flying-parchment:nth-child(2){top:10%;right:3%;animation:flyPaperB 11s -1.6s ease-in-out infinite}
.flying-parchment:nth-child(3){bottom:5%;left:5%;animation:flyPaperC 9.6s -4s ease-in-out infinite}
.flying-parchment:nth-child(4){right:6%;bottom:3%;animation:flyPaperD 10.8s -3.2s ease-in-out infinite}
.flying-parchment:nth-child(5){top:-15%;left:43%;width:90px;animation:fallPaper 8.2s -2s linear infinite}
@keyframes flyPaperA{0%,100%{transform:translate3d(0,0,0) rotate(-8deg)}50%{transform:translate3d(24px,18px,0) rotate(-2deg)}}
@keyframes flyPaperB{0%,100%{transform:translate3d(0,0,0) rotate(10deg)}50%{transform:translate3d(-28px,22px,0) rotate(4deg)}}
@keyframes flyPaperC{0%,100%{transform:translate3d(0,0,0) rotate(7deg)}50%{transform:translate3d(18px,-24px,0) rotate(1deg)}}
@keyframes flyPaperD{0%,100%{transform:translate3d(0,0,0) rotate(-11deg)}50%{transform:translate3d(-22px,-20px,0) rotate(-4deg)}}
@keyframes fallPaper{0%{transform:translate3d(0,-15vh,0) rotate(-12deg)}100%{transform:translate3d(10vw,125vh,0) rotate(58deg)}}

@media(max-width:1120px){
  .theme-picker span{display:none}.theme-picker button{padding:0;width:31px;min-width:31px}
  .bookshelf{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .theme-picker{margin-left:auto}.home-hero{grid-template-columns:1fr}.hero-editorial{padding:19px 0 0;border-left:0;border-top:1px solid var(--line)}
  .territory-card{grid-template-columns:132px minmax(0,1fr)}.territory-card img{width:132px;height:132px}
  .contact-layout{grid-template-columns:1fr}.contact-aside{order:-1}
}
@media(max-width:650px){
  .bookshelf{grid-template-columns:1fr}.book-card{grid-template-columns:98px minmax(0,1fr);padding:18px}.book-stage{transform:scale(.9)}
  .library-heading{align-items:flex-start;flex-direction:column;gap:4px}.library-heading p{text-align:left}
  .contact-form{grid-template-columns:1fr}.form-field,.form-field-wide,.form-consent,.form-submit,.form-status{grid-column:1}
  .flying-parchment:nth-child(1),.flying-parchment:nth-child(4){display:none}
}
@media(max-width:470px){
  .territory-card{grid-template-columns:82px minmax(0,1fr);min-height:170px;padding:16px;gap:14px}.territory-card img{width:82px;height:82px}
  .territory-card small{margin-bottom:12px}.territory-cta{min-height:38px;padding-inline:10px;font-size:.7rem}
  .theme-picker{gap:0}.theme-picker button{width:28px;min-width:28px}
}
@media(prefers-reduced-motion:reduce){
  .book-page,.flying-parchment{animation:none!important}.book-cover,.book{transition:none!important}
}

/* V6 — hiérarchie, lisibilité, navigation et bibliothèque. */
.site-header .main-nav a{
  color:color-mix(in srgb,var(--header-ink) 88%,transparent);
  font-size:.79rem;font-weight:800;letter-spacing:.005em
}
.site-header .main-nav a:hover,.site-header .main-nav a[aria-current="page"]{
  color:var(--header-ink);background:color-mix(in srgb,var(--header-ink) 15%,transparent)
}
.brand-sub{color:#e8c583;font-size:.59rem;font-weight:850}
.theme-picker button{color:color-mix(in srgb,var(--header-ink) 88%,transparent)}
.theme-picker span{font-size:.72rem}

.prose p,.hero-editorial p,.territory-paper .prose p,.legal-content p,.newsletter-copy>p,.contact-panel>p{
  text-align:justify;text-align-last:left
}
.dropcap::first-letter{
  float:left;-webkit-initial-letter:unset;initial-letter:unset;
  margin:.08em .15em 0 0;font-size:2.9rem;line-height:.86
}

.breadcrumbs{
  display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:48px;margin:14px 0 12px;padding:7px 10px;
  border:1px solid var(--line);border-radius:13px;color:var(--ink-soft);background:var(--surface-strong);box-shadow:var(--shadow-sm);
  font-size:.72rem;font-weight:700
}
.breadcrumbs>a,.breadcrumbs>span[aria-current="page"]{padding:4px 3px}
.breadcrumbs>a:first-of-type:before{
  content:"";display:inline-block;width:13px;height:13px;margin-right:6px;vertical-align:-2px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5v8a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5v8a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E") center/contain no-repeat
}
.breadcrumbs>span[aria-hidden="true"]{color:var(--gold);font-size:1rem;line-height:1}
.breadcrumbs>span[aria-current="page"]{color:var(--ink);font-weight:850}
.breadcrumb-back{
  display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 10px;border:1px solid var(--line-strong);border-radius:9px;
  color:var(--ink);background:var(--surface);font-family:var(--font-ui);font-size:.69rem;font-weight:850;cursor:pointer
}
.breadcrumb-back:before{
  content:"";width:13px;height:13px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m15.5 5-7 7 7 7-1.5 1.5L5.5 12 14 3.5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m15.5 5-7 7 7 7-1.5 1.5L5.5 12 14 3.5z'/%3E%3C/svg%3E") center/contain no-repeat
}
.breadcrumb-back:hover{border-color:var(--accent);color:var(--accent)}

.home-hero{display:block;padding:clamp(28px,4vw,50px)}
.home-heading h1{
  max-width:1160px;font-size:clamp(2.35rem,2rem + 2vw,4rem);line-height:1.04;letter-spacing:-.045em;text-wrap:balance
}
.hero-editorial{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(25px,3.3vw,40px);padding:clamp(22px,3vw,32px) 0 0;border:0;border-top:1px solid var(--line)
}
.hero-editorial p{padding:0 clamp(17px,2.2vw,28px);font-size:.98rem;line-height:1.68}
.hero-editorial p:first-child{padding-left:0;font-size:1.02rem}
.hero-editorial p:last-child{padding-right:0}
.hero-editorial p+p{border-left:1px solid var(--line)}
.hero-editorial strong{color:var(--ink);font-weight:700}
.territory-cta{gap:9px;padding-left:15px;padding-right:9px}
.territory-cta:after{
  content:"";width:25px;height:25px;flex:0 0 25px;border-radius:50%;background-color:rgba(255,255,255,.18);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E");background-position:center;background-size:15px;background-repeat:no-repeat;
  transition:transform .18s ease,background-color .18s ease
}
.territory-card:hover .territory-cta:after{transform:translateX(2px);background-color:rgba(255,255,255,.27)}

.library-heading>div>small{display:block;margin-bottom:3px;color:var(--gold);font-family:var(--font-ui);font-size:.66rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.library-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px;padding:12px;
  border:1px solid var(--line);border-radius:15px;background:var(--surface-strong);box-shadow:var(--shadow-sm)
}
.library-filters{display:flex;flex-wrap:wrap;gap:6px}
.library-filters button,.library-sort select{
  min-height:37px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);background:var(--surface);
  font-family:var(--font-ui);font-size:.71rem;font-weight:800;cursor:pointer
}
.library-filters button{padding:7px 12px}
.library-filters button:hover,.library-filters button[aria-pressed="true"]{border-color:var(--accent);color:#fff;background:var(--accent)}
.library-sort{display:flex;align-items:center;gap:8px;color:var(--ink-soft);font-family:var(--font-ui);font-size:.7rem;font-weight:800;white-space:nowrap}
.library-sort select{min-width:174px;padding:7px 31px 7px 12px;border-radius:10px}
.library-status{margin:0 2px 11px;color:var(--ink-faint);font-family:var(--font-ui);font-size:.68rem}
.book-card{position:relative;isolation:isolate;overflow:hidden}
.book-card[hidden]{display:none!important}
.book-territory-crest{
  position:absolute;z-index:1;top:12px;right:12px;width:40px;height:40px;object-fit:contain;opacity:.94;
  filter:drop-shadow(0 4px 5px rgba(40,20,10,.18))
}
.book-stage,.book-copy{position:relative;z-index:2}
.book-stage{height:172px;perspective:1000px}
.book{
  width:112px;height:160px;transform:none;filter:none;
  box-shadow:10px 13px 18px rgba(44,25,13,.2);border-radius:3px 8px 8px 3px
}
.book-card:hover .book,.book-card:focus-within .book{transform:translateY(-2px)}
.book-cover{transform:translateZ(1px);box-shadow:inset 3px 0 rgba(255,255,255,.06)}
.book-cover small{font-size:.55rem}.book-cover strong{font-size:.8rem}.book-cover em{font-size:.5rem}

.citation-dialog{
  width:min(520px,calc(100% - 30px));padding:0;border:1px solid var(--line-strong);border-radius:20px;color:var(--ink);background:var(--surface-strong);box-shadow:0 28px 90px rgba(0,0,0,.42)
}
.citation-dialog::backdrop{background:rgba(14,10,8,.72);backdrop-filter:blur(4px)}
.citation-dialog-card{padding:clamp(24px,5vw,36px)}
.citation-dialog-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:17px;border-radius:50%;color:#fff;background:var(--accent);font-family:var(--font-display);font-size:1.2rem}
.citation-dialog h2{margin:0 0 10px;font-size:clamp(1.5rem,1.3rem + .7vw,1.9rem)}
.citation-dialog p{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.65;text-align:justify}
.citation-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}
.citation-dialog-actions button,.citation-dialog-actions a{font-family:var(--font-ui);font-size:.74rem;font-weight:850}

@media(max-width:850px){
  .hero-editorial{grid-template-columns:1fr;gap:16px}
  .hero-editorial p,.hero-editorial p:first-child,.hero-editorial p:last-child{padding:0}
  .hero-editorial p+p{padding-top:16px;border-left:0;border-top:1px solid var(--line)}
  .library-toolbar{align-items:stretch;flex-direction:column}.library-sort{justify-content:space-between}.library-sort select{flex:1;min-width:0}
}
@media(max-width:590px){
  .home-heading h1{font-size:clamp(2rem,9.4vw,2.8rem)}
  .breadcrumbs{gap:5px;padding:6px 8px}.breadcrumb-back{width:32px;padding:0;justify-content:center}.breadcrumb-back span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .book-territory-crest{width:34px;height:34px}.book-stage{transform:none}.book{width:96px;height:139px}.book-cover{padding:13px 9px}.book-cover strong{font-size:.68rem}
  .library-filters{display:grid;grid-template-columns:1fr 1fr}.library-filters button{width:100%}
  .citation-dialog-actions{align-items:stretch;flex-direction:column-reverse}.citation-dialog-actions .button{width:100%}
}

/* V7 — accueil éditorial, territoires recentrés et cartes-livres. */
.home-heading h1{
  max-width:1060px;font-size:clamp(2.15rem,1.88rem + 1.15vw,2.85rem);line-height:1.08;letter-spacing:-.038em
}
.hero-editorial{
  display:block;max-width:1000px;margin-top:clamp(22px,2.8vw,34px);padding-top:clamp(20px,2.5vw,28px)
}
.hero-editorial p,.hero-editorial p:first-child,.hero-editorial p:last-child{
  padding:0;border:0;font-size:clamp(.98rem,.94rem + .14vw,1.04rem);line-height:1.72
}
.hero-editorial p+p{margin-top:1.05em;padding:0;border:0}

.territory-stage{grid-template-columns:minmax(0,2fr) minmax(270px,.62fr);gap:14px;align-items:start}
.territory-paper{display:block}
.territory-title-gap{height:14px}
.territory-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,235px);align-items:start;gap:clamp(25px,4vw,48px)}
.territory-body .prose{max-width:none;margin:0}
.territory-crest{align-self:start;margin:0}
.region-reading{
  align-self:start;min-height:0;padding:18px;border-color:color-mix(in srgb,var(--line) 78%,transparent);
  background:transparent;box-shadow:none
}
.region-reading-head{margin-bottom:11px}
.region-reading-head h2{font-size:clamp(1.22rem,1.12rem + .35vw,1.45rem)}
.region-study{min-height:68px;padding:10px 11px;background:color-mix(in srgb,var(--surface-muted) 72%,transparent)}
.region-study:hover{background:var(--surface-muted)}
.region-study-copy strong{margin:0;font-size:.96rem}
.region-study-copy small{margin-top:4px;color:var(--ink-faint);font-size:.59rem}
.region-study-arrow{
  width:18px;height:18px;background:var(--accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7-1.5-1.5L13 12 7.5 6.5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7-1.5-1.5L13 12 7.5 6.5z'/%3E%3C/svg%3E") center/contain no-repeat
}

.article-nav{gap:8px;margin-top:12px}
.article-nav a{
  min-height:64px;padding:11px 13px;border-color:color-mix(in srgb,var(--line) 78%,transparent);
  background:transparent;box-shadow:none
}
.article-nav a[aria-current="page"]{border-color:var(--line-strong);background:color-mix(in srgb,var(--surface-muted) 74%,var(--bg))}
.territory-switcher{grid-template-columns:repeat(2,minmax(0,1fr));max-width:590px;margin-left:auto}
.territory-switcher a{display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:10px;min-height:58px}
.territory-switcher img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.16))}
.territory-switcher b{margin:0;font-size:.98rem}
.territory-switcher-chevron{
  width:17px;height:17px;background:var(--accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7-1.5-1.5L13 12 7.5 6.5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7-1.5-1.5L13 12 7.5 6.5z'/%3E%3C/svg%3E") center/contain no-repeat
}

.download-callout.study-book-card{
  display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:20px;
  margin:30px 0 12px;padding:17px 18px;border-color:var(--line);background:var(--surface-muted);overflow:hidden
}
.study-book-card .book-stage{width:132px;height:164px;transform:none}
.study-book-card .book{width:106px;height:151px}
.study-book-card .download-copy{align-self:center;gap:3px}
.study-book-card .download-copy>span{color:var(--gold);font-size:.62rem}
.study-book-card .download-copy>strong{font-size:1.22rem;line-height:1.24}
.study-book-card .download-copy>small{margin-top:3px;font-size:.72rem;line-height:1.5}
.study-book-card .download-button{align-self:center}

.book{isolation:isolate}
.book-cover{z-index:9;transform:translateZ(5px)}
.book-page,.book-page:nth-of-type(4),.book-page:nth-of-type(5),.book-page:nth-of-type(6){z-index:3!important;transform:translateZ(-6px)}
.book-card:hover .book-cover,.book-card:focus-within .book-cover,
.study-book-card:hover .book-cover,.study-book-card:focus-within .book-cover{transform:translateZ(5px) rotateY(-11deg)}
.book-card:hover .book-page:nth-of-type(4),.book-card:focus-within .book-page:nth-of-type(4),
.study-book-card:hover .book-page:nth-of-type(4),.study-book-card:focus-within .book-page:nth-of-type(4){animation:pageRustle 1.8s ease-in-out infinite!important}
.book-card:hover .book-page:nth-of-type(5),.book-card:focus-within .book-page:nth-of-type(5),
.study-book-card:hover .book-page:nth-of-type(5),.study-book-card:focus-within .book-page:nth-of-type(5){animation:pageRustle 1.8s .25s ease-in-out infinite!important}
.book-card:hover .book-page:nth-of-type(6),.book-card:focus-within .book-page:nth-of-type(6),
.study-book-card:hover .book-page:nth-of-type(6),.study-book-card:focus-within .book-page:nth-of-type(6){animation:pageRustle 1.8s .5s ease-in-out infinite!important}
@keyframes pageRustle{
  0%,100%{transform:translate3d(0,0,-6px) scaleX(1)}
  50%{transform:translate3d(3px,-1px,-6px) scaleX(.975)}
}

@media(max-width:850px){
  .territory-stage{grid-template-columns:1fr}.region-reading{width:100%}
  .territory-body{grid-template-columns:minmax(0,1fr) 190px}
  .download-callout.study-book-card{grid-template-columns:115px minmax(0,1fr)}
  .study-book-card .book-stage{width:115px}.study-book-card .download-button{grid-column:2;justify-self:start}
}
@media(max-width:590px){
  .home-heading h1{font-size:clamp(1.9rem,8.1vw,2.35rem)}
  .territory-body{display:block}.territory-crest{width:170px;margin:24px auto 0}
  .territory-switcher{grid-template-columns:1fr;max-width:none}
  .download-callout.study-book-card{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:15px}
  .study-book-card .book-stage{width:88px;height:132px}.study-book-card .book{width:82px;height:119px}
  .study-book-card .book-cover{padding:11px 8px}.study-book-card .book-cover strong{font-size:.58rem}
  .study-book-card .download-button{grid-column:1/-1;width:100%}
}
@media(prefers-reduced-motion:reduce){
  .book-card .book-page,.study-book-card .book-page{animation:none!important}
}

/* V8 — accueil et bibliothèque réunis, premier écran raccourci. */
.home-main{padding-top:14px}
.home-hero{
  margin-bottom:14px;padding:clamp(21px,2.7vw,32px) clamp(25px,3.4vw,42px);
  border-radius:21px
}
.home-heading h1{
  max-width:1030px;font-size:clamp(1.95rem,1.72rem + .92vw,2.5rem);line-height:1.07
}
.hero-editorial-compact{
  max-width:1110px;margin-top:clamp(14px,1.6vw,19px);padding-top:clamp(13px,1.5vw,17px)
}
.hero-editorial-compact p,.hero-editorial-compact p:first-child,.hero-editorial-compact p:last-child{
  font-size:clamp(.93rem,.9rem + .1vw,.99rem);line-height:1.58
}
.hero-editorial-compact p+p{margin-top:.65em}
.territories-section{margin-bottom:30px}
.territories-section .section-heading{margin-bottom:8px}
.territories-section .section-heading h2{font-size:clamp(1.45rem,1.3rem + .6vw,1.85rem)}
.territory-card{
  min-height:202px;grid-template-columns:112px minmax(0,1fr);gap:17px;padding:16px 17px;border-radius:17px
}
.territory-card img{width:112px;height:112px}
.territory-card h3{font-size:clamp(1.3rem,1.12rem + .5vw,1.62rem)}
.territory-card small{margin:4px 0 12px}
.territory-cta{min-height:38px;padding:7px 8px 7px 13px;font-size:.71rem}
.territory-cta:after{width:23px;height:23px;flex-basis:23px;background-size:14px}
.territory-context{
  margin-top:15px;padding:17px clamp(18px,2.4vw,28px);border:1px solid var(--line);border-radius:15px;
  color:var(--ink-soft);background:var(--surface-muted)
}
.territory-context p{
  max-width:112ch;margin:0 auto;font-size:clamp(.91rem,.88rem + .1vw,.97rem);line-height:1.66;
  text-align:justify;text-align-last:left
}
.territory-context strong{color:var(--ink);font-weight:700}
html[data-theme="parchment"] .territory-context{
  --ink:#2b2018;--ink-soft:#675747;--line:#d8c5a7;--surface-muted:#f7edda;
  color:var(--ink);background:linear-gradient(145deg,#fffdf7,#f3e2bf)
}
.home-library{margin-top:0;scroll-margin-top:92px}
.home-method{width:var(--page);margin:0 auto 30px;padding:clamp(28px,4vw,48px)}
.home-method h2{margin:0;font-size:clamp(1.7rem,1.45rem + .8vw,2.25rem)}
.home-method .prose{max-width:960px}
.home-method .prose p{font-size:clamp(.94rem,.91rem + .1vw,1rem);line-height:1.72}

@media(max-width:1050px){
  .territory-card{grid-template-columns:94px minmax(0,1fr);padding:15px;gap:14px}
  .territory-card img{width:94px;height:94px}
  .territory-cta{font-size:.66rem}
}
@media(max-width:850px){
  .home-hero{padding:24px}
  .territory-card{grid-template-columns:126px minmax(0,1fr);min-height:185px;padding:17px}
  .territory-card img{width:126px;height:126px}
  .territory-context p{text-align:left}
}
@media(max-width:590px){
  .home-heading h1{font-size:clamp(1.75rem,7.8vw,2.18rem)}
  .home-hero{padding:21px 19px}
  .hero-editorial-compact p,.hero-editorial-compact p:first-child,.hero-editorial-compact p:last-child{text-align:left}
  .territory-card{grid-template-columns:86px minmax(0,1fr);min-height:164px;padding:14px;gap:13px}
  .territory-card img{width:86px;height:86px}
  .territory-cta{white-space:normal;text-align:center}
  .territory-context{padding:16px}
  .home-method{padding:28px 21px}
}

/* V9 — territoires harmonisés, actions PDF et nouveau sélecteur de thème. */
html[data-theme="light"]{
  --header:rgba(18,14,11,.97);
  --header-ink:#f5ead7
}
html[data-theme="light"] .site-header{border-bottom-color:#3b2c22}
.site-header .menu-btn{
  color:var(--header-ink);border-color:color-mix(in srgb,var(--header-ink) 24%,transparent);
  background:color-mix(in srgb,var(--header-ink) 8%,transparent)
}

.theme-menu{position:relative;z-index:4;order:2;margin-left:6px}
.theme-menu-trigger{
  min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--header-ink) 24%,transparent);border-radius:11px;
  color:var(--header-ink);background:color-mix(in srgb,var(--header-ink) 8%,transparent);cursor:pointer
}
.theme-menu-trigger:hover,.theme-menu.is-open .theme-menu-trigger{background:color-mix(in srgb,var(--header-ink) 15%,transparent)}
.theme-menu-trigger-icon,.theme-menu-option-icon{display:grid;place-items:center}
.theme-menu svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-menu-current{font-family:var(--font-ui);font-size:.7rem;font-weight:850;text-transform:capitalize}
.theme-menu-chevron{
  width:12px;height:12px;background:currentColor;transition:transform .18s ease;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6z'/%3E%3C/svg%3E") center/contain no-repeat
}
.theme-menu.is-open .theme-menu-chevron{transform:rotate(180deg)}
.theme-menu-panel{
  position:absolute;top:calc(100% + 10px);right:0;width:238px;padding:9px;border:1px solid var(--line-strong);
  border-radius:15px;color:var(--ink);background:var(--surface-strong);box-shadow:0 22px 55px rgba(0,0,0,.28)
}
.theme-menu-panel[hidden]{display:none}
.theme-menu-title{
  display:block;padding:5px 8px 8px;color:var(--ink-faint);font-family:var(--font-ui);font-size:.62rem;
  font-weight:850;letter-spacing:.12em;text-transform:uppercase
}
.theme-menu-option{
  width:100%;min-height:53px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;
  padding:7px 8px;border:1px solid transparent;border-radius:11px;color:var(--ink);background:transparent;text-align:left;cursor:pointer
}
.theme-menu-option:hover{border-color:var(--line);background:var(--surface-muted)}
.theme-menu-option.is-active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}
.theme-menu-option-icon{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.theme-menu-option-copy{display:grid;gap:1px}
.theme-menu-option-copy strong{font-family:var(--font-ui);font-size:.73rem;font-weight:850}
.theme-menu-option-copy small{color:var(--ink-soft);font-family:var(--font-ui);font-size:.62rem}
.theme-menu-check{width:16px;height:16px;border:1px solid var(--line-strong);border-radius:50%}
.theme-menu-option.is-active .theme-menu-check{border:5px solid var(--accent)}

.dropcap::first-letter{
  float:none!important;-webkit-initial-letter:normal!important;initial-letter:normal!important;
  margin:0 .04em 0 0!important;color:var(--accent);font-size:1.62em!important;line-height:1!important;vertical-align:-.04em
}

@media(min-width:1051px){
  .territory-stage{
    height:740px;grid-template-columns:minmax(0,1fr) minmax(340px,370px);gap:18px;align-items:stretch
  }
  .territory-stage>.territory-paper,.territory-stage>.region-reading{height:740px;min-height:740px}
  .territory-stage>.territory-paper{overflow:auto;scrollbar-width:thin}
}
.territory-paper{padding:clamp(30px,3.5vw,48px)}
.territory-body{grid-template-columns:minmax(0,1fr) minmax(180px,215px);gap:clamp(28px,3vw,42px)}
.region-reading{
  align-self:stretch;padding:28px 24px;border-color:var(--line);background:var(--surface-strong);box-shadow:var(--shadow-sm)
}
.region-reading-head{margin-bottom:18px}
.region-reading-head h2{font-size:clamp(1.5rem,1.32rem + .52vw,1.82rem);line-height:1.15}
.region-study{min-height:96px;padding:15px 14px;gap:13px;border-color:var(--line-strong);background:var(--surface-muted)}
.region-study-mark{width:42px;height:42px;font-size:.82rem}
.region-study-copy strong{font-size:1.08rem;line-height:1.28}
.region-study-copy small{margin-top:5px;font-size:.64rem}
.region-study-arrow{width:20px;height:20px}
.territory-switcher{
  width:100%;max-width:none;margin:15px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px
}
.territory-switcher a{grid-template-columns:50px minmax(0,1fr) 20px;min-height:74px;padding:10px 16px}
.territory-switcher img{width:50px;height:50px}
.territory-switcher b{font-size:1.05rem}

.download-callout.study-book-card{grid-template-columns:132px minmax(0,1fr) minmax(154px,auto)}
.study-file-actions{display:grid;align-content:center;gap:8px;min-width:154px}
.consult-button,.study-file-actions .download-button{
  width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;
  border-radius:999px;font-family:var(--font-ui);font-size:.72rem;font-weight:850;text-decoration:none;white-space:nowrap
}
.consult-button{border:1px solid var(--line-strong);color:var(--ink);background:var(--surface)}
.consult-button:hover{border-color:var(--accent);color:var(--accent)}
.consult-button:after{
  content:"";width:14px;height:14px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4h6v6h-2V7.4l-7.3 7.3-1.4-1.4L16.6 6H14zM5 5h6v2H7v10h10v-4h2v6H5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4h6v6h-2V7.4l-7.3 7.3-1.4-1.4L16.6 6H14zM5 5h6v2H7v10h10v-4h2v6H5z'/%3E%3C/svg%3E") center/contain no-repeat
}

@media(max-width:1050px){
  .theme-menu-current{display:none}
  .theme-menu-trigger{width:38px;justify-content:center;padding:7px}
  .theme-menu-chevron{display:none}
  .territory-stage{height:auto;grid-template-columns:1fr;min-height:0}
  .territory-stage>.territory-paper,.territory-stage>.region-reading{height:auto;min-height:0}
}
@media(max-width:850px){
  .theme-menu{margin-left:auto}
  .download-callout.study-book-card{grid-template-columns:115px minmax(0,1fr)}
  .study-file-actions{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
}
@media(max-width:590px){
  .theme-menu-panel{position:fixed;top:68px;right:13px;left:13px;width:auto}
  .territory-switcher{grid-template-columns:1fr}
  .download-callout.study-book-card{grid-template-columns:88px minmax(0,1fr)}
  .study-file-actions{grid-column:1/-1;grid-template-columns:1fr}
}

/* V10 — accueil éditorial, carnet, navigation d’étude et gabarits plus compacts. */
.header-inner{gap:8px}
.site-header .main-nav{flex:0 1 auto}
.site-header .main-nav a{padding-inline:8px}
.theme-menu{flex:0 0 92px;margin-left:6px}
.theme-menu-trigger{width:92px;justify-content:space-between}
.theme-menu-current{text-transform:none}

.home-main{padding-top:22px}
.home-hero{position:relative;isolation:isolate;margin-bottom:0;padding:clamp(30px,3.8vw,48px)}
.home-hero:before,.home-hero:after{
  content:"";position:absolute;width:36px;height:36px;border-color:color-mix(in srgb,var(--gold) 58%,transparent);pointer-events:none
}
.home-hero:before{top:15px;left:15px;border-top:1px solid;border-left:1px solid;border-radius:8px 0 0}
.home-hero:after{right:15px;bottom:15px;border-right:1px solid;border-bottom:1px solid;border-radius:0 0 8px}
.home-heading h1{max-width:1050px;font-size:clamp(1.85rem,1.6rem + 1.15vw,2.65rem);line-height:1.1}
.hero-editorial-compact{max-width:1080px;margin-top:20px;padding-top:18px}
.hero-editorial-compact p,.hero-editorial-compact p:first-child,.hero-editorial-compact p:last-child{line-height:1.68}
.ornamental-divider{
  width:var(--page);display:flex;align-items:center;gap:16px;margin:22px auto;color:var(--gold);font-family:var(--font-display);font-size:1.2rem
}
.ornamental-divider:before,.ornamental-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}
.territories-section{margin-bottom:38px}
.territories-section .section-heading{margin-bottom:12px}
.territory-context{margin:0 0 18px;padding:20px clamp(21px,2.7vw,34px)}
.territory-context p{max-width:none;line-height:1.72}
.territory-cards{gap:16px}
.territory-card{box-shadow:0 14px 38px rgba(0,0,0,.16)}
.territory-card:hover{transform:translateY(-3px)}
.home-method{
  position:relative;margin-bottom:38px;padding:clamp(34px,4.3vw,56px);scroll-margin-top:92px;overflow:hidden
}
.home-method:before{
  content:"❧";position:absolute;top:20px;right:28px;color:color-mix(in srgb,var(--gold) 55%,transparent);font-family:var(--font-display);font-size:2rem
}
.home-method h2{margin-bottom:24px}
.home-method .prose{max-width:none}
.home-method .prose p{max-width:none;font-size:clamp(.97rem,.94rem + .12vw,1.04rem);line-height:1.78}
.carnet-teaser{
  width:var(--page);display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:22px;
  margin:0 auto 38px;padding:clamp(23px,3vw,34px);border:1px solid var(--line);border-radius:20px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--surface-strong) 96%,var(--gold)),var(--surface-muted));box-shadow:var(--shadow-sm)
}
.carnet-ornament{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--line-strong);border-radius:50%;color:var(--gold);font-size:1.35rem}
.carnet-teaser .eyebrow{margin:0 0 4px;color:var(--gold)}
.carnet-teaser h2{margin:0;font-size:clamp(1.45rem,1.25rem + .7vw,1.9rem)}
.carnet-teaser p:not(.eyebrow){margin:5px 0 0;color:var(--ink-soft);font-size:.94rem;line-height:1.6}
.newsletter{margin-bottom:48px}

.library-heading h1{margin:0;font-size:clamp(1.8rem,1.55rem + .9vw,2.45rem)}

.study-paper .prose{max-width:none}
.study-paper .prose>p{max-width:none!important}
.study-paper .prose>.article-crest{
  float:none;position:absolute;z-index:2;top:0;right:0;width:112px;height:112px;margin:0;padding:8px;
  border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-muted) 84%,transparent);
  object-fit:contain;filter:drop-shadow(0 9px 11px rgba(59,34,17,.16))
}
.study-paper .prose>h1{max-width:calc(100% - 145px);min-height:105px;margin-bottom:4px}
.study-paper .prose>.eyebrow{max-width:calc(100% - 145px)}
.study-paper .download-callout{width:100%}
.study-paper .study-book-card .download-copy>strong{white-space:nowrap}
.study-paper :is(h2,[id]){scroll-margin-top:152px}
.study-section-nav{
  position:sticky;z-index:6;top:78px;display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:9px 10px;
  border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-strong) 92%,transparent);
  box-shadow:0 10px 28px rgba(0,0,0,.13);backdrop-filter:blur(10px)
}
.study-section-nav-label{flex:0 0 auto;padding:0 7px;color:var(--ink-faint);font-family:var(--font-ui);font-size:.63rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.study-section-nav-links{display:flex;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:thin}
.study-section-nav a{
  flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;padding:6px 10px;border:1px solid transparent;border-radius:999px;
  color:var(--ink-soft);font-family:var(--font-ui);font-size:.68rem;font-weight:800;text-decoration:none;white-space:nowrap
}
.study-section-nav a:hover,.study-section-nav a[aria-current="location"]{border-color:var(--line);color:var(--ink);background:var(--accent-soft)}

@media(min-width:1051px){
  .territory-stage{height:560px;grid-template-columns:minmax(0,1fr) minmax(400px,430px);gap:18px}
  .territory-stage>.territory-paper,.territory-stage>.region-reading{height:560px;min-height:560px}
  .territory-stage>.territory-paper{overflow:hidden}
}
.territory-paper{padding:clamp(28px,2.7vw,38px)}
.territory-title-gap{height:8px}
.territory-body{grid-template-columns:minmax(0,1fr) minmax(165px,195px);gap:clamp(24px,2.7vw,36px)}
.territory-paper .prose p{font-size:.96rem;line-height:1.58}
.region-reading{padding:25px 22px}
.region-reading-head h2,.region-study-copy strong{white-space:nowrap}
.region-reading-head h2{font-size:clamp(1.38rem,1.25rem + .45vw,1.68rem)}
.region-study{min-height:88px;padding:13px 12px}
.region-study-copy strong{font-size:1rem}
.territory-switcher{margin-top:12px}
.territory-switcher a{min-height:68px}

.contact-layout{display:block;max-width:980px;margin-inline:auto}
.contact-panel h1{white-space:nowrap}

.newsletter-dialog{
  width:min(520px,calc(100% - 30px));padding:0;border:1px solid var(--line-strong);border-radius:20px;color:var(--ink);
  background:var(--surface-strong);box-shadow:0 28px 90px rgba(0,0,0,.42)
}
.newsletter-dialog::backdrop{background:rgba(14,10,8,.72);backdrop-filter:blur(4px)}
.newsletter-dialog-card{position:relative;display:grid;gap:16px;padding:clamp(25px,5vw,38px)}
.newsletter-dialog-card .eyebrow{margin:0;color:var(--gold)}
.newsletter-dialog-card h2{margin:-7px 0 0;font-size:clamp(1.55rem,1.35rem + .7vw,1.95rem)}
.newsletter-dialog-card>p:not(.eyebrow){margin:0;color:var(--ink-soft);line-height:1.65}
.newsletter-dialog-card .form-field{display:grid;gap:7px}
.newsletter-dialog-card .form-field>span{font-family:var(--font-ui);font-size:.73rem;font-weight:850}
.newsletter-dialog-card input[type="email"]{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;color:var(--ink);background:var(--surface);font:1rem var(--font-body)}
.newsletter-dialog-card .form-consent{display:flex;grid-column:auto}
.newsletter-dialog-card .button{width:100%}
.dialog-close{position:absolute;top:13px;right:13px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;color:var(--ink-soft);background:var(--surface);font-size:1.35rem;cursor:pointer}
.newsletter-form-status{padding:11px 13px;border-left:3px solid var(--gold);background:var(--surface-muted);font-family:var(--font-ui);font-size:.75rem}

.flying-parchment:nth-child(1){animation-duration:7.1s}
.flying-parchment:nth-child(2){animation-duration:7.8s}
.flying-parchment:nth-child(3){animation-duration:6.7s}
.flying-parchment:nth-child(4){animation-duration:7.5s}
.flying-parchment:nth-child(5){animation-duration:6.4s}
@keyframes flyPaperA{0%,100%{transform:translate3d(-8px,-4px,0) rotate(-10deg)}35%{transform:translate3d(25px,12px,0) rotate(-3deg)}70%{transform:translate3d(6px,28px,0) rotate(5deg)}}
@keyframes flyPaperB{0%,100%{transform:translate3d(6px,-8px,0) rotate(11deg)}40%{transform:translate3d(-32px,17px,0) rotate(3deg)}72%{transform:translate3d(-12px,30px,0) rotate(-4deg)}}
@keyframes flyPaperC{0%,100%{transform:translate3d(-5px,8px,0) rotate(8deg)}36%{transform:translate3d(22px,-28px,0) rotate(1deg)}74%{transform:translate3d(38px,-7px,0) rotate(-5deg)}}
@keyframes flyPaperD{0%,100%{transform:translate3d(8px,5px,0) rotate(-12deg)}38%{transform:translate3d(-26px,-24px,0) rotate(-4deg)}75%{transform:translate3d(-40px,8px,0) rotate(4deg)}}
@keyframes fallPaper{0%{transform:translate3d(-4vw,-15vh,0) rotate(-14deg)}50%{transform:translate3d(5vw,52vh,0) rotate(18deg)}100%{transform:translate3d(-2vw,125vh,0) rotate(52deg)}}

@media(max-width:1160px){
  .site-header .main-nav a{padding-inline:6px;font-size:.72rem}
  .theme-menu{flex-basis:86px}.theme-menu-trigger{width:86px}
}
@media(max-width:1050px){
  .theme-menu{flex:0 0 38px}.theme-menu-trigger{width:38px}
  .region-reading-head h2,.region-study-copy strong{white-space:normal}
}
@media(max-width:850px){
  .carnet-teaser{grid-template-columns:48px minmax(0,1fr)}
  .carnet-ornament{width:48px;height:48px}
  .carnet-teaser .button{grid-column:1/-1;justify-self:start}
  .study-section-nav{top:70px;align-items:flex-start;flex-direction:column;gap:6px}
  .study-section-nav-links{width:100%}
  .study-paper .prose>.article-crest{position:static;float:none;width:120px;height:120px;margin:0 auto 18px}
  .study-paper .prose>h1,.study-paper .prose>.eyebrow{max-width:none;min-height:0}
  .study-paper .study-book-card .download-copy>strong{white-space:normal}
}
@media(max-width:590px){
  .ornamental-divider{margin-block:17px}.home-method{padding:29px 21px}.home-method:before{top:12px;right:17px}
  .carnet-teaser{grid-template-columns:1fr;padding:22px}.carnet-ornament{display:none}
  .contact-panel h1{white-space:normal}
  .study-section-nav-label{display:none}.study-section-nav{padding:7px}
}

/* V11 — pages d’erreur statiques servies par Nginx. */
.error-main{min-height:clamp(520px,calc(100svh - 285px),760px)}
.error-card{padding:clamp(34px,5vw,58px)}
.error-card .prose{max-width:620px}
.error-card .error-code{
  display:inline-flex;margin:0 auto 14px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:999px;
  color:var(--gold);background:var(--surface-muted);font-family:var(--font-ui);font-size:.7rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase
}
.error-card h1{margin:0 auto 15px;text-wrap:balance}
.error-card p:not(.error-code){max-width:540px;margin-inline:auto;text-align:center;text-align-last:center}
.error-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:25px}
.error-actions .button{min-width:150px}
.error-actions button{cursor:pointer}
.error-403 .error-card{border-top:3px solid #b88a49}
.error-500 .error-card,.error-502 .error-card{border-top:3px solid var(--accent)}
.error-503 .error-card{border-top:3px solid var(--gold)}
@media(max-width:520px){
  .error-actions{align-items:stretch;flex-direction:column}.error-actions .button{width:100%}
}

/* V14 — harmonisation éditoriale, navigation latérale et formulaire de contact. */

/* Une seule identité visuelle pour toutes les études. */
.region-study-mark{
  display:block!important;
  width:46px!important;
  height:46px!important;
  flex:0 0 46px;
  border:0!important;
  border-radius:50%;
  background:transparent!important;
  object-fit:contain;
  filter:drop-shadow(0 5px 7px rgba(49,25,14,.16));
}

/* Les grands parchemins partagent désormais le même cadre. */
.home-hero,.paper{
  border:1px solid var(--line-strong);
  border-radius:18px;
  background:var(--paper-gradient);
}
.home-hero{overflow:hidden}
.home-hero:before{
  content:""!important;
  position:absolute!important;
  inset:9px!important;
  width:auto!important;
  height:auto!important;
  border:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important;
  border-radius:12px!important;
  pointer-events:none;
}
.home-hero:after{content:none!important}
.home-method:before{content:none!important}
.home-method h2{
  margin:0 0 24px;
  font-size:clamp(2.25rem,1.8rem + 1.35vw,3.25rem);
  line-height:1.05;
}

/* Le futur carnet doit être immédiatement identifiable comme une rubrique à venir. */
.carnet-status{
  display:inline-flex;
  width:max-content;
  margin:0 0 8px;
  padding:6px 10px;
  border:1px solid color-mix(in srgb,var(--accent) 72%,var(--line));
  border-radius:999px;
  color:#fff;
  background:var(--accent);
  font-family:var(--font-ui);
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}
.carnet-status-center{margin-inline:auto}
.carnet-teaser p:not(.eyebrow):not(.carnet-status){margin-top:7px}
.carnet-teaser p strong{color:var(--ink)}

/* Actions d'étude : consulter devient l'action primaire, télécharger la secondaire. */
.study-paper .download-button,
.study-file-actions .download-button{
  border-color:var(--line-strong)!important;
  color:var(--ink)!important;
  background:var(--surface)!important;
}
.study-paper .download-button:hover,
.study-file-actions .download-button:hover{
  border-color:var(--accent)!important;
  color:var(--accent)!important;
  background:var(--surface)!important;
}
.consult-button{
  border-color:var(--accent)!important;
  color:#fff!important;
  background:var(--accent)!important;
}
.consult-button:hover{
  border-color:var(--accent-hover)!important;
  color:#fff!important;
  background:var(--accent-hover)!important;
}

/* Navigation de section placée dans la marge gauche des parchemins. */
.page-rail{
  width:min(1460px,calc(100% - 32px));
}
.study-rail-layout{
  display:grid;
  grid-template-columns:190px minmax(0,1240px);
  gap:18px;
  align-items:start;
  justify-content:center;
}
.study-section-nav{
  position:sticky;
  top:88px;
  display:grid;
  align-items:start;
  gap:8px;
  margin:0;
  padding:14px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--surface-strong) 94%,transparent);
  box-shadow:0 10px 28px rgba(0,0,0,.12);
  backdrop-filter:blur(10px);
}
.study-section-nav-label{
  padding:0 7px 7px;
  border-bottom:1px solid var(--line);
}
.study-section-nav-links{
  display:grid;
  width:100%;
  gap:2px;
  overflow:visible;
}
.study-section-nav a{
  width:100%;
  min-height:36px;
  justify-content:flex-start;
  padding:8px 9px;
  border:0;
  border-left:3px solid transparent;
  border-radius:0;
  white-space:normal;
  line-height:1.25;
}
.study-section-nav a:hover,
.study-section-nav a[aria-current="location"]{
  border-color:var(--accent);
  color:var(--ink);
  background:var(--accent-soft);
}
.study-paper :is(h2,[id]){scroll-margin-top:100px}

/* Même logique pour Mentions légales et Confidentialité : rail dans la marge. */
.legal-layout{
  display:grid;
  grid-template-columns:190px minmax(0,1240px);
  gap:18px;
  align-items:start;
  justify-content:center;
}
.legal-nav{
  position:sticky;
  top:88px;
  width:auto;
  padding:12px 10px 14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-strong);
  overflow:hidden;
}
.legal-nav a{
  padding:9px 9px 9px 10px;
  border-left:3px solid transparent;
  border-radius:0!important;
}
.legal-nav a:hover{border-left-color:var(--line-strong)}
.legal-nav a[aria-current="location"]{
  border-left-color:var(--accent)!important;
  border-radius:0!important;
  color:var(--ink);
  background:var(--accent-soft);
  box-shadow:none!important;
}
.legal-nav:before{
  content:"";
  position:absolute;
  top:14px;
  bottom:14px;
  left:7px;
  width:3px;
  height:auto;
  border-radius:999px;
  background:var(--line);
}
.legal-nav:after{
  content:"";
  position:absolute;
  top:14px;
  bottom:auto;
  left:7px;
  width:3px;
  height:calc(100% - 28px);
  border-radius:999px;
  background:var(--accent);
  transform:scaleY(var(--section-scale));
  transform-origin:center top;
  transition:transform .25s ease;
}

/* Formulaire de contact : états, champs conditionnels et anti-spam. */
.required-star{color:var(--accent);font-weight:900}
.required-note{
  grid-column:1/-1;
  margin:-4px 0 0;
  color:var(--ink-faint);
  font-family:var(--font-ui);
  font-size:.67rem;
}
.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.study-select-field[hidden]{display:none!important}
.captcha-field small{
  color:var(--ink-faint);
  font-family:var(--font-ui);
  font-size:.68rem;
  line-height:1.45;
}
.captcha-row{
  display:grid;
  grid-template-columns:minmax(170px,1fr) 100px 42px;
  align-items:center;
  gap:8px;
}
.captcha-question{
  min-height:45px;
  display:flex;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--ink);
  background:var(--surface-muted);
  font-family:var(--font-ui);
  font-size:.78rem;
  font-weight:800;
}
.captcha-row input{min-width:0;text-align:center}
.captcha-refresh{
  width:42px;
  height:45px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  color:var(--ink);
  background:var(--surface);
  font-size:1.15rem;
  cursor:pointer;
}
.captcha-refresh:hover{border-color:var(--accent);color:var(--accent)}
.form-status[data-status="success"]{border-left-color:#6d9a78;color:var(--ink);background:color-mix(in srgb,#6d9a78 13%,var(--surface-muted))}
.form-status[data-status="error"]{border-left-color:var(--accent);color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,var(--surface-muted))}
.form-submit:disabled{opacity:.58;cursor:not-allowed;transform:none}

@media(max-width:1220px){
  .page-rail{width:var(--page)}
  .study-rail-layout,.legal-layout{grid-template-columns:1fr}
  .study-section-nav,.legal-nav{
    position:static;
    width:100%;
    margin:0 0 12px;
  }
  .study-section-nav-links{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:4px}
  .legal-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .legal-nav:before,.legal-nav:after{display:none}
}
@media(max-width:590px){
  .study-section-nav-links,.legal-nav{grid-template-columns:1fr}
  .study-section-nav-label{display:block}
  .captcha-row{grid-template-columns:minmax(0,1fr) 82px 42px}
  .captcha-question{grid-column:1/-1}
}

/* V15 — accueil réorganisé, parchemins harmonisés et actions d'étude clarifiées. */

/* Accueil : premier écran plus éditorial et plus lisible, sans modifier les textes. */
.home-main{padding-top:18px}
.home-hero{
  display:grid;
  grid-template-columns:minmax(300px,.88fr) minmax(0,1.32fr);
  align-items:center;
  gap:clamp(34px,4.8vw,72px);
  min-height:340px;
  margin-bottom:20px;
  padding:clamp(32px,4vw,52px) clamp(34px,4.8vw,62px);
  box-shadow:0 28px 72px rgba(0,0,0,.25);
  isolation:isolate;
}
html[data-theme="parchment"] .home-hero{
  background:
    radial-gradient(circle at 12% 18%,rgba(209,167,98,.18),transparent 27%),
    radial-gradient(circle at 93% 88%,rgba(135,55,47,.08),transparent 31%),
    linear-gradient(145deg,#fffdf8 0%,#f8ecd6 58%,#eed6ae 100%);
}
.home-hero:before{z-index:4}
.home-hero:after{
  content:""!important;
  position:absolute;
  z-index:0;
  width:310px;
  height:310px;
  right:-120px;
  top:-145px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(194,95,82,.14),rgba(209,167,98,.07) 42%,transparent 70%);
  filter:blur(1px);
  pointer-events:none;
  animation:heroGlow 8s ease-in-out infinite alternate;
}
.home-heading,.hero-editorial-compact{position:relative;z-index:2}
.home-heading{align-self:center;padding-right:clamp(8px,1.5vw,22px)}
.home-heading:after{
  content:"";
  display:block;
  width:min(170px,52%);
  height:2px;
  margin-top:24px;
  background:linear-gradient(90deg,var(--accent),var(--gold),transparent);
}
.home-heading h1{
  max-width:560px;
  font-size:clamp(2.45rem,2.05rem + 1.45vw,3.55rem);
  line-height:1.03;
  letter-spacing:-.047em;
}
.hero-editorial-compact{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  max-width:none;
  margin:0;
  padding:0 0 0 clamp(26px,3vw,44px);
  border-top:0;
  border-left:1px solid color-mix(in srgb,var(--line-strong) 78%,transparent);
}
.hero-editorial-compact p,
.hero-editorial-compact p:first-child,
.hero-editorial-compact p:last-child{
  margin:0;
  padding:0;
  border:0;
  color:var(--ink-soft);
  font-size:clamp(.96rem,.93rem + .14vw,1.04rem);
  line-height:1.72;
}
.hero-editorial-compact p:first-child{color:color-mix(in srgb,var(--ink) 82%,var(--ink-soft));font-size:clamp(1rem,.96rem + .16vw,1.08rem)}
.hero-editorial-compact p+p{
  margin-top:20px;
  padding-top:19px;
  border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent);
}
@keyframes heroGlow{
  from{transform:translate3d(0,0,0) scale(.94);opacity:.68}
  to{transform:translate3d(-28px,24px,0) scale(1.08);opacity:1}
}

/* Le bloc territoires gagne de la place verticale et devient plus facile à parcourir. */
.territories-section{
  display:grid;
  grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);
  gap:18px 30px;
  margin-bottom:38px;
}
.territories-section .section-heading{
  align-self:center;
  margin:0;
}
.territories-section .section-heading h2{font-size:clamp(1.8rem,1.5rem + .9vw,2.45rem);line-height:1.08}
.territory-context{
  margin:0;
  padding:18px clamp(20px,2.3vw,30px);
  border-left:3px solid var(--accent);
  border-radius:0 15px 15px 0;
}
.territory-context p{font-size:.94rem;line-height:1.68}
.territory-cards{grid-column:1/-1;margin-top:2px}
.territory-card{min-height:226px}

/* Le parchemin « Les études » reprend le même langage que les pages de territoire. */
.home-method{
  margin-bottom:38px;
  padding:clamp(32px,3.2vw,44px);
  border:1px solid var(--line-strong);
  border-radius:18px;
  background:var(--paper-gradient);
  box-shadow:var(--shadow-md);
}
.home-method h2{
  margin:0;
  font-size:clamp(2.55rem,2.08rem + 1.15vw,3.35rem);
  line-height:1.03;
}
.home-method .territory-title-gap{height:22px}
.home-method .prose{max-width:none;margin:0}
.home-method .prose p{max-width:none;font-size:.98rem;line-height:1.72}
.home-method:after{content:none!important}

/* Carnet : suppression du gros badge « Bientôt disponible » et présentation plus élégante. */
.carnet-teaser{
  position:relative;
  overflow:hidden;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:22px;
  margin-bottom:38px;
  padding:clamp(24px,2.8vw,34px);
  border-color:color-mix(in srgb,var(--gold) 34%,var(--line));
  background:
    linear-gradient(115deg,color-mix(in srgb,var(--surface-strong) 97%,var(--gold)),var(--surface-muted));
}
.carnet-teaser:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(var(--gold),var(--accent));
}
.carnet-teaser:after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-70px;
  top:-105px;
  border:1px solid color-mix(in srgb,var(--gold) 24%,transparent);
  border-radius:50%;
  box-shadow:0 0 0 22px color-mix(in srgb,var(--gold) 7%,transparent),0 0 0 46px color-mix(in srgb,var(--gold) 4%,transparent);
  pointer-events:none;
}
.carnet-ornament{
  position:relative;
  z-index:1;
  width:54px;
  height:54px;
  border-radius:14px;
  background:color-mix(in srgb,var(--gold) 8%,transparent);
  transition:transform .25s ease,border-color .25s ease;
}
.carnet-teaser:hover .carnet-ornament{transform:rotate(4deg) scale(1.04);border-color:var(--gold)}
.carnet-teaser-copy{position:relative;z-index:1}
.carnet-teaser h2{font-size:clamp(1.55rem,1.3rem + .7vw,2rem)}
.carnet-teaser p:not(.eyebrow):not(.carnet-status){margin-top:7px;max-width:780px}
.carnet-teaser .button{position:relative;z-index:1}

/* Page du carnet : même message, mais sans pastille ni parchemins volants. */
.carnet-construction .flying-parchment{display:none!important}
.carnet-construction{
  min-height:calc(100vh - 190px);
  display:grid;
  place-items:center;
  padding:clamp(32px,6vw,72px) 16px;
  background:
    radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--gold) 8%,transparent),transparent 42%);
}
.carnet-construction .error-card{
  width:min(860px,100%);
  margin:0;
  padding:clamp(38px,6vw,70px);
  text-align:left;
}
.carnet-construction .error-card h1{
  max-width:700px;
  margin:0 0 18px;
  font-size:clamp(2.35rem,1.9rem + 1.55vw,3.65rem);
}
.carnet-construction .error-card h1:after{
  content:"";
  display:block;
  width:88px;
  height:2px;
  margin-top:18px;
  background:linear-gradient(90deg,var(--accent),var(--gold),transparent);
}
.carnet-construction .error-card p{max-width:690px;font-size:1.02rem;line-height:1.72}

/* Pages d'étude : le livre, les informations et les actions forment maintenant un seul bloc lisible. */
.study-paper .download-callout.study-book-card{
  grid-template-columns:128px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:14px 24px;
  margin:32px 0 10px;
  padding:20px 22px;
  border:1px solid var(--line);
  border-radius:17px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--surface-muted) 90%,var(--gold)),var(--surface-muted));
}
.study-paper .study-book-card .book-stage{
  grid-column:1;
  grid-row:1/3;
  width:128px;
  height:170px;
  align-self:center;
}
.study-paper .study-book-card .book{width:108px;height:154px}
.study-paper .study-book-card .download-copy{
  grid-column:2;
  grid-row:1;
  align-self:end;
  min-width:0;
  padding:1px 0 14px;
  border-bottom:1px solid var(--line);
}
.study-paper .study-book-card .download-copy>span{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.study-paper .study-book-card .download-copy>strong{
  display:block;
  margin-top:4px;
  white-space:normal;
  font-size:clamp(1.24rem,1.12rem + .35vw,1.48rem);
  line-height:1.18;
}
.study-paper .study-book-card .download-copy>small{display:block;margin-top:6px;font-size:.74rem;line-height:1.45}
.study-paper .study-file-actions{
  grid-column:2;
  grid-row:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(145px,190px));
  justify-content:start;
  align-items:center;
  gap:9px;
  min-width:0;
}
.study-paper .consult-button,
.study-paper .study-file-actions .download-button{
  min-height:43px;
  border-radius:10px;
  padding:9px 14px;
}
.study-paper .consult-button{box-shadow:0 7px 16px color-mix(in srgb,var(--accent) 22%,transparent)}

/* Bibliothèque : mêmes priorités visuelles pour les deux actions. */
.book-copy{display:flex;min-height:100%;flex-direction:column;justify-content:center}
.book-copy h3{margin-bottom:13px}
.book-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  width:100%;
  margin-top:auto;
  padding-top:2px;
}
.book-action{min-height:40px;padding:8px 10px;border-radius:10px;text-align:center}
.book-action-primary{box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 20%,transparent)}
.book-action-secondary:before{
  content:"";
  width:14px;
  height:14px;
  margin-right:5px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v11m0 0 4-4m-4 4-4-4M5 19h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v11m0 0 4-4m-4 4-4-4M5 19h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* L'icône choisie reste unique sur toutes les listes d'études. */
.region-study-mark{
  width:48px!important;
  height:48px!important;
  flex-basis:48px!important;
  filter:drop-shadow(0 5px 7px rgba(49,25,14,.14));
}

@media(max-width:960px){
  .home-hero{grid-template-columns:1fr;gap:25px;min-height:0;padding:30px}
  .home-heading{padding-right:0}
  .home-heading h1{max-width:800px}
  .hero-editorial-compact{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}
  .home-heading:after{margin-top:18px}
  .territories-section{grid-template-columns:1fr;gap:12px}
  .territory-context,.territory-cards{grid-column:1}
  .territory-context{border-left-width:2px}
  .carnet-teaser{grid-template-columns:54px minmax(0,1fr)}
  .carnet-teaser .button{grid-column:2;justify-self:start}
}
@media(max-width:700px){
  .home-hero{padding:26px 22px}
  .home-heading h1{font-size:clamp(2.12rem,9vw,2.75rem)}
  .hero-editorial-compact p,.hero-editorial-compact p:first-child{font-size:.96rem;text-align:left}
  .territory-context p{text-align:left}
  .home-method{padding:29px 22px}
  .home-method h2{font-size:clamp(2.15rem,9vw,2.65rem)}
  .carnet-teaser{grid-template-columns:1fr;padding:23px 21px}
  .carnet-ornament{display:none}
  .carnet-teaser .button{grid-column:1}
  .study-paper .download-callout.study-book-card{grid-template-columns:92px minmax(0,1fr);gap:12px 16px;padding:16px}
  .study-paper .study-book-card .book-stage{width:92px;height:137px}
  .study-paper .study-book-card .book{width:84px;height:121px}
  .study-paper .study-file-actions{grid-column:1/-1;grid-row:3;grid-template-columns:1fr 1fr}
  .book-actions{grid-template-columns:1fr}
}
@media(max-width:470px){
  .study-paper .download-callout.study-book-card{grid-template-columns:1fr;text-align:left}
  .study-paper .study-book-card .book-stage{grid-column:1;grid-row:1;width:100%;height:138px;justify-items:start;padding-left:3px}
  .study-paper .study-book-card .download-copy{grid-column:1;grid-row:2}
  .study-paper .study-file-actions{grid-column:1;grid-row:3;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .home-hero:after{animation:none!important}
  .carnet-teaser:hover .carnet-ornament{transform:none}
}

/* V16 — correction de l'accueil, retour des animations du carnet et doubles filets. */

/* Accueil : revenir à une composition horizontale et respirante, sans le grand titre en colonne. */
.home-hero{
  display:block;
  min-height:0;
  margin-bottom:18px;
  padding:clamp(34px,4vw,54px) clamp(38px,5vw,68px) clamp(32px,3.8vw,48px);
  overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,.22);
}
html[data-theme="parchment"] .home-hero{
  background:
    radial-gradient(circle at 88% 9%,rgba(194,95,82,.085),transparent 23%),
    radial-gradient(circle at 7% 100%,rgba(209,167,98,.13),transparent 27%),
    linear-gradient(145deg,#fffdf8 0%,#fbf2e1 62%,#f2dfbd 100%);
}
.home-heading{
  position:relative;
  z-index:2;
  padding:0 0 clamp(20px,2.3vw,29px);
  border-bottom:1px solid color-mix(in srgb,var(--line-strong) 62%,transparent);
}
.home-heading:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:clamp(105px,15vw,190px);
  height:2px;
  margin:0;
  background:linear-gradient(90deg,var(--accent),var(--gold),transparent);
  transform-origin:left center;
  animation:welcomeRule 6.5s ease-in-out infinite alternate;
}
.home-heading h1{
  max-width:1100px;
  margin:0;
  font-size:clamp(2.55rem,2.08rem + 1.65vw,3.65rem);
  line-height:1.05;
  letter-spacing:-.038em;
  text-wrap:balance;
}
.hero-editorial-compact{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.52fr) minmax(260px,.68fr);
  gap:clamp(28px,4vw,58px);
  max-width:none;
  margin:0;
  padding:clamp(24px,2.7vw,34px) 0 0;
  border:0;
}
.hero-editorial-compact p,
.hero-editorial-compact p:first-child,
.hero-editorial-compact p:last-child{
  margin:0;
  padding:0;
  border:0;
  color:color-mix(in srgb,var(--ink) 84%,var(--ink-soft));
  font-size:clamp(.98rem,.95rem + .12vw,1.05rem);
  line-height:1.72;
}
.hero-editorial-compact p+p{
  position:relative;
  margin:0;
  padding:2px 0 2px clamp(22px,2.6vw,34px);
  border:0;
  color:var(--ink-soft);
}
.hero-editorial-compact p+p:before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  bottom:2px;
  width:2px;
  background:linear-gradient(var(--gold),color-mix(in srgb,var(--accent) 72%,var(--gold)));
}
.home-hero:after{
  content:""!important;
  position:absolute;
  z-index:0;
  width:270px;
  height:270px;
  right:-105px;
  top:-130px;
  border:1px solid color-mix(in srgb,var(--gold) 18%,transparent);
  border-radius:50%;
  background:transparent;
  box-shadow:
    0 0 0 26px color-mix(in srgb,var(--gold) 4%,transparent),
    0 0 0 58px color-mix(in srgb,var(--accent) 2.7%,transparent);
  filter:none;
  opacity:.75;
  pointer-events:none;
  animation:welcomeOrbit 10s ease-in-out infinite alternate;
}
@keyframes welcomeRule{
  from{transform:scaleX(.72);opacity:.72}
  to{transform:scaleX(1);opacity:1}
}
@keyframes welcomeOrbit{
  from{transform:translate3d(8px,-5px,0) rotate(-4deg);opacity:.56}
  to{transform:translate3d(-18px,17px,0) rotate(5deg);opacity:.9}
}

/* Double filet identique aux autres grands parchemins sur « Les études ». */
.home-method{position:relative;overflow:hidden}
.home-method:before{
  content:""!important;
  position:absolute!important;
  inset:9px!important;
  width:auto!important;
  height:auto!important;
  border:1px solid color-mix(in srgb,var(--line) 55%,transparent)!important;
  border-radius:12px!important;
  background:none!important;
  pointer-events:none!important;
  z-index:0!important;
}
.home-method>*{position:relative;z-index:1}

/* Les cartes d'études ont elles aussi un double filet discret. */
.region-study,.study-card{position:relative;overflow:hidden}
.region-study:before,.study-card:before{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid color-mix(in srgb,var(--line) 46%,transparent);
  border-radius:calc(17px - 5px);
  pointer-events:none;
  z-index:0;
}
.region-study>* , .study-card>*{position:relative;z-index:1}

/* Page du carnet : rétablissement des parchemins animés autour du contenu. */
.carnet-construction .flying-parchment{display:block!important}
.carnet-construction .flying-parchment:nth-child(1){animation:flyPaperA 7.1s ease-in-out infinite}
.carnet-construction .flying-parchment:nth-child(2){animation:flyPaperB 7.8s -1.6s ease-in-out infinite}
.carnet-construction .flying-parchment:nth-child(3){animation:flyPaperC 6.7s -4s ease-in-out infinite}
.carnet-construction .flying-parchment:nth-child(4){animation:flyPaperD 7.5s -3.2s ease-in-out infinite}
.carnet-construction .flying-parchment:nth-child(5){animation:fallPaper 6.4s -2s linear infinite}
.carnet-construction .error-card{z-index:3}

@media(max-width:960px){
  .home-hero{display:block;padding:31px 30px}
  .home-heading{padding-right:0}
  .home-heading h1{max-width:900px}
  .hero-editorial-compact{
    grid-template-columns:1fr;
    gap:18px;
    padding-top:24px;
    border:0;
  }
  .hero-editorial-compact p+p{
    padding:17px 0 0;
    border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent);
  }
  .hero-editorial-compact p+p:before{content:none}
}
@media(max-width:700px){
  .home-hero{padding:27px 22px}
  .home-heading h1{font-size:clamp(2.08rem,9vw,2.78rem);line-height:1.06}
  .hero-editorial-compact p,.hero-editorial-compact p:first-child,.hero-editorial-compact p:last-child{font-size:.96rem;text-align:left}
  .region-study:before{inset:4px}
}
@media(prefers-reduced-motion:reduce){
  .home-heading:after,.home-hero:after{animation:none!important}
}

/* V17 — accueil au-dessus de la ligne de flottaison, rail légal allégé, clair par défaut. */

/* Accueil desktop : composition éditoriale plus compacte pour afficher le bloc territoires en entier
   sur un écran 16:9 courant sans sacrifier la lisibilité. */
@media (min-width:961px){
  .home-main{padding-top:16px}
  .home-hero{
    margin-bottom:0;
    padding:26px clamp(34px,4vw,52px) 24px;
    border-radius:18px;
    box-shadow:0 16px 42px rgba(72,48,27,.10);
  }
  .home-heading{padding-bottom:17px}
  .home-heading h1{
    max-width:1080px;
    font-size:clamp(2.28rem,1.86rem + 1.25vw,3.05rem);
    line-height:1.04;
    letter-spacing:-.035em;
  }
  .home-heading:after{width:clamp(95px,12vw,150px)}
  .hero-editorial-compact{
    grid-template-columns:minmax(0,1.65fr) minmax(250px,.62fr);
    gap:clamp(24px,3vw,40px);
    padding-top:18px;
  }
  .hero-editorial-compact p,
  .hero-editorial-compact p:first-child,
  .hero-editorial-compact p:last-child{
    font-size:.92rem;
    line-height:1.55;
  }
  .hero-editorial-compact p+p{padding-left:22px}
  .home-hero:after{width:220px;height:220px;right:-82px;top:-112px}

  .ornamental-divider{margin:12px auto 13px;gap:12px;font-size:1rem}

  .territories-section{
    grid-template-columns:minmax(205px,.45fr) minmax(0,1.55fr);
    gap:12px 24px;
    margin-bottom:28px;
  }
  .territories-section .section-heading{align-self:center}
  .territories-section .section-heading h2{
    max-width:210px;
    font-size:clamp(1.6rem,1.38rem + .65vw,2rem);
    line-height:1.04;
  }
  .territory-context{
    min-height:0;
    padding:13px 20px;
    border-left-width:2px;
    border-radius:0 12px 12px 0;
  }
  .territory-context p{font-size:.84rem;line-height:1.48}
  .territory-cards{gap:12px;margin-top:0}
  .territory-card{
    min-height:148px;
    grid-template-columns:92px minmax(0,1fr);
    gap:15px;
    padding:15px 16px;
    border-radius:15px;
    box-shadow:0 10px 26px rgba(72,48,27,.08);
  }
  .territory-card img{width:92px;height:92px}
  .territory-card h3{font-size:clamp(1.2rem,1.05rem + .35vw,1.45rem);line-height:1.08}
  .territory-card small{margin:4px 0 10px;font-size:.61rem}
  .territory-cta{min-height:34px;padding:7px 10px;font-size:.66rem}
}

/* Sur les grands écrans peu hauts, on resserre encore très légèrement la zone d'accueil. */
@media (min-width:1100px) and (max-height:820px){
  .home-main{padding-top:11px}
  .home-hero{padding-top:21px;padding-bottom:20px}
  .home-heading{padding-bottom:14px}
  .home-heading h1{font-size:clamp(2.12rem,1.8rem + 1.05vw,2.78rem)}
  .hero-editorial-compact{padding-top:14px;gap:28px}
  .hero-editorial-compact p,
  .hero-editorial-compact p:first-child,
  .hero-editorial-compact p:last-child{font-size:.87rem;line-height:1.48}
  .ornamental-divider{margin:8px auto 9px}
  .territories-section{gap:9px 20px;margin-bottom:22px}
  .territory-context{padding:10px 18px}
  .territory-context p{font-size:.8rem;line-height:1.42}
  .territory-card{min-height:136px;grid-template-columns:82px minmax(0,1fr);padding:13px 14px}
  .territory-card img{width:82px;height:82px}
  .territory-card small{margin-bottom:8px}
  .territory-cta{min-height:31px;padding:6px 9px}
}

/* Mentions légales & confidentialité : suppression du rail/progress bar en doublon.
   Un seul repère rouge, porté par le lien actif, suffit. */
.legal-nav{
  overflow:visible;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow-sm);
}
.legal-nav:before,.legal-nav:after{content:none!important;display:none!important}
.legal-nav a{
  position:relative;
  padding:9px 11px;
  border-left:2px solid transparent;
  border-radius:0 8px 8px 0!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.legal-nav a:hover{border-left-color:color-mix(in srgb,var(--accent) 45%,transparent);transform:translateX(1px)}
.legal-nav a[aria-current="location"]{
  border-left-color:var(--accent)!important;
  border-radius:0 8px 8px 0!important;
  background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface-strong));
  box-shadow:none!important;
}

@media(max-width:960px){
  .legal-nav{box-shadow:none}
  .legal-nav a{border-left-width:2px}
}

/* V18 — accueil rééquilibré : hiérarchie éditoriale claire, territoires regroupés. */
@media (min-width:961px){
  .home-main{padding-top:18px}
  .home-hero{
    display:grid!important;
    grid-template-columns:minmax(400px,.88fr) minmax(0,1.28fr)!important;
    align-items:center;
    gap:clamp(42px,4.5vw,72px)!important;
    margin-bottom:20px!important;
    padding:clamp(30px,3vw,42px) clamp(38px,4.2vw,58px)!important;
    min-height:250px;
    box-shadow:0 18px 44px rgba(67,45,27,.10)!important;
  }
  .home-heading{align-self:center;padding:0!important}
  .home-heading h1{
    max-width:570px!important;
    font-size:clamp(2.35rem,1.78rem + 1.25vw,3.12rem)!important;
    line-height:1.035!important;
    letter-spacing:-.035em!important;
    text-wrap:balance;
  }
  .home-heading:after{
    width:112px!important;
    height:1px!important;
    margin-top:20px!important;
    opacity:.9;
  }
  .hero-editorial-compact{
    display:block!important;
    max-width:700px!important;
    margin:0!important;
    padding:0 0 0 clamp(28px,3vw,42px)!important;
    border-left:1px solid color-mix(in srgb,var(--line-strong) 76%,transparent)!important;
  }
  .hero-editorial-compact p,
  .hero-editorial-compact p:first-child,
  .hero-editorial-compact p:last-child{
    font-size:clamp(.95rem,.91rem + .12vw,1.03rem)!important;
    line-height:1.62!important;
    text-align:left!important;
  }
  .hero-editorial-compact p+p{
    margin-top:17px!important;
    padding:15px 0 0!important;
    border-top:1px solid color-mix(in srgb,var(--line) 74%,transparent)!important;
    color:var(--ink-soft)!important;
  }
  .hero-editorial-compact p+p:before{display:none!important}
  .home-hero:after{
    width:220px!important;height:220px!important;right:-105px!important;top:-122px!important;
    opacity:.48!important;
  }

  .ornamental-divider{display:none!important}

  .territories-section{
    position:relative;
    display:grid!important;
    grid-template-columns:230px minmax(0,1fr)!important;
    grid-template-areas:"title context" "cards cards";
    gap:18px 30px!important;
    margin:0 auto 32px!important;
    padding:24px 26px 22px!important;
    border:1px solid var(--line-strong);
    border-radius:18px;
    background:var(--paper-gradient);
    box-shadow:0 14px 38px rgba(67,45,27,.08);
    overflow:hidden;
  }
  .territories-section:before{
    content:"";position:absolute;inset:9px;border:1px solid color-mix(in srgb,var(--line) 52%,transparent);
    border-radius:12px;pointer-events:none;
  }
  .territories-section>*{position:relative;z-index:1}
  .territories-section .section-heading{grid-area:title;align-self:center;margin:0!important;padding-left:8px}
  .territories-section .section-heading h2{
    max-width:200px!important;margin:0!important;
    font-size:clamp(1.75rem,1.5rem + .55vw,2.08rem)!important;
    line-height:1.03!important;
  }
  .territory-context{
    grid-area:context;
    align-self:center;
    margin:0!important;
    padding:4px 0 4px 26px!important;
    border:0!important;
    border-left:1px solid color-mix(in srgb,var(--line-strong) 70%,transparent)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .territory-context p{margin:0!important;font-size:.86rem!important;line-height:1.52!important;text-align:left!important}
  .territory-cards{grid-area:cards;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px!important;margin:0!important}
  .territory-card{
    min-height:126px!important;
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:16px!important;
    padding:15px 17px!important;
    border:1px solid color-mix(in srgb,var(--line) 88%,transparent)!important;
    border-radius:14px!important;
    background:color-mix(in srgb,var(--surface-strong) 86%,transparent)!important;
    box-shadow:0 7px 18px rgba(67,45,27,.06)!important;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
  }
  .territory-card:hover{transform:translateY(-2px);border-color:var(--gold)!important;box-shadow:0 12px 24px rgba(67,45,27,.10)!important}
  .territory-card img{width:78px!important;height:78px!important;filter:drop-shadow(0 7px 8px rgba(49,25,14,.13))}
  .territory-card h3{font-size:clamp(1.18rem,1.06rem + .24vw,1.4rem)!important;line-height:1.08!important}
  .territory-card small{margin:4px 0 9px!important;font-size:.6rem!important}
  .territory-cta{min-height:31px!important;padding:6px 10px!important;font-size:.63rem!important}
}

@media (min-width:1100px) and (max-height:820px){
  .home-main{padding-top:12px}
  .home-hero{min-height:224px;padding-top:26px!important;padding-bottom:26px!important;margin-bottom:15px!important}
  .home-heading h1{font-size:clamp(2.18rem,1.7rem + 1.12vw,2.82rem)!important}
  .hero-editorial-compact p,.hero-editorial-compact p:first-child,.hero-editorial-compact p:last-child{font-size:.9rem!important;line-height:1.52!important}
  .hero-editorial-compact p+p{margin-top:13px!important;padding-top:12px!important}
  .territories-section{gap:14px 26px!important;padding:20px 23px 19px!important;margin-bottom:25px!important}
  .territory-context p{font-size:.81rem!important;line-height:1.44!important}
  .territory-card{min-height:112px!important;grid-template-columns:68px minmax(0,1fr)!important;padding:12px 14px!important}
  .territory-card img{width:68px!important;height:68px!important}
  .territory-card small{margin-bottom:7px!important}
  .territory-cta{min-height:29px!important;padding:5px 9px!important}
}
.study-paper h1[id]{scroll-margin-top:100px}

/* V19 — accueil en flux vertical : aucun texte éditorial n'est mis en colonnes. */
@media (min-width:961px){
  .home-main{padding-top:16px}

  /* Bloc d'accueil : titre, puis texte. Lecture naturelle de haut en bas. */
  .home-hero{
    display:block!important;
    min-height:0!important;
    margin:0 auto 18px!important;
    padding:30px clamp(38px,4vw,58px) 27px!important;
    border-radius:18px!important;
    box-shadow:0 16px 40px rgba(67,45,27,.09)!important;
  }
  .home-heading{
    padding:0 0 18px!important;
    margin:0!important;
    border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  }
  .home-heading h1{
    max-width:1120px!important;
    margin:0!important;
    font-size:clamp(2.48rem,2.02rem + 1.12vw,3.18rem)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
    text-wrap:balance;
  }
  .home-heading:after{
    display:block!important;
    width:118px!important;
    height:2px!important;
    margin:18px 0 -20px!important;
    border:0!important;
    border-radius:99px!important;
    background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--gold) 56%,transparent),transparent)!important;
    transform-origin:left center;
  }
  .hero-editorial-compact{
    display:block!important;
    max-width:1080px!important;
    margin:0!important;
    padding:20px 0 0!important;
    border:0!important;
  }
  .hero-editorial-compact p,
  .hero-editorial-compact p:first-child,
  .hero-editorial-compact p:last-child{
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    color:var(--ink)!important;
    font-size:clamp(.94rem,.9rem + .12vw,1.02rem)!important;
    line-height:1.58!important;
    text-align:left!important;
  }
  .hero-editorial-compact p+p{
    max-width:880px!important;
    margin-top:12px!important;
    padding-top:11px!important;
    border-top:1px solid color-mix(in srgb,var(--line) 64%,transparent)!important;
    color:var(--ink-soft)!important;
  }
  .hero-editorial-compact p+p:before{display:none!important}
  .home-hero:after{
    width:205px!important;
    height:205px!important;
    right:-80px!important;
    top:-105px!important;
    opacity:.32!important;
  }

  .ornamental-divider{display:none!important}

  /* Territoires : titre > texte > cartes. Pas de colonne latérale. */
  .territories-section{
    display:block!important;
    margin:0 auto 28px!important;
    padding:22px 26px 23px!important;
    border:1px solid var(--line-strong)!important;
    border-radius:18px!important;
    background:var(--paper-gradient)!important;
    box-shadow:0 12px 32px rgba(67,45,27,.07)!important;
    overflow:hidden;
  }
  .territories-section:before{
    content:""!important;
    position:absolute!important;
    inset:9px!important;
    border:1px solid color-mix(in srgb,var(--line) 50%,transparent)!important;
    border-radius:12px!important;
    pointer-events:none!important;
  }
  .territories-section .section-heading{
    display:block!important;
    margin:0!important;
    padding:0 10px 10px!important;
  }
  .territories-section .section-heading h2{
    max-width:none!important;
    margin:0!important;
    font-size:clamp(1.86rem,1.6rem + .55vw,2.18rem)!important;
    line-height:1.05!important;
  }
  .territories-section .section-heading h2:after{
    content:"";
    display:block;
    width:72px;
    height:1px;
    margin-top:10px;
    background:linear-gradient(90deg,var(--accent),transparent);
  }
  .territory-context{
    display:block!important;
    margin:0 10px 16px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .territory-context p{
    max-width:1120px!important;
    margin:0!important;
    padding:0!important;
    font-size:.86rem!important;
    line-height:1.5!important;
    text-align:left!important;
  }
  .territory-cards{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:13px!important;
    margin:0!important;
    padding:0!important;
  }
  .territory-card{
    min-height:122px!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:15px!important;
    padding:14px 16px!important;
    border:1px solid color-mix(in srgb,var(--line) 90%,transparent)!important;
    border-radius:14px!important;
    background:color-mix(in srgb,var(--surface-strong) 88%,transparent)!important;
    box-shadow:0 6px 16px rgba(67,45,27,.055)!important;
  }
  .territory-card:hover{
    transform:translateY(-2px)!important;
    border-color:var(--gold)!important;
    box-shadow:0 11px 24px rgba(67,45,27,.095)!important;
  }
  .territory-card img{width:76px!important;height:76px!important}
  .territory-card h3{font-size:clamp(1.16rem,1.05rem + .24vw,1.38rem)!important;line-height:1.08!important}
  .territory-card small{margin:4px 0 8px!important;font-size:.6rem!important}
  .territory-cta{min-height:30px!important;padding:5px 10px!important;font-size:.62rem!important}
}

@media (min-width:1100px) and (max-height:820px){
  .home-main{padding-top:11px}
  .home-hero{padding-top:24px!important;padding-bottom:21px!important;margin-bottom:14px!important}
  .home-heading{padding-bottom:15px!important}
  .home-heading h1{font-size:clamp(2.28rem,1.9rem + .95vw,2.9rem)!important}
  .home-heading:after{margin-top:14px!important;margin-bottom:-17px!important}
  .hero-editorial-compact{padding-top:16px!important}
  .hero-editorial-compact p,.hero-editorial-compact p:first-child,.hero-editorial-compact p:last-child{font-size:.89rem!important;line-height:1.46!important}
  .hero-editorial-compact p+p{margin-top:9px!important;padding-top:8px!important}
  .territories-section{padding:17px 21px 18px!important;margin-bottom:22px!important}
  .territories-section .section-heading{padding-bottom:7px!important}
  .territories-section .section-heading h2{font-size:1.72rem!important}
  .territories-section .section-heading h2:after{margin-top:7px}
  .territory-context{margin-bottom:12px!important}
  .territory-context p{font-size:.79rem!important;line-height:1.4!important}
  .territory-card{min-height:105px!important;grid-template-columns:64px minmax(0,1fr)!important;padding:11px 13px!important}
  .territory-card img{width:64px!important;height:64px!important}
  .territory-card small{margin-bottom:6px!important}
  .territory-cta{min-height:28px!important;padding:4px 9px!important}
}

/* V20 — respiration de l'accueil : la section « Les études » commence après le premier écran. */
@media (min-width:961px){
  .territories-section{
    margin-bottom:0!important;
  }
  .home-method#etudes{
    margin-top:clamp(130px,20vh,210px)!important;
  }
}

@media (max-width:960px){
  .home-method#etudes{
    margin-top:56px!important;
  }
}

/* V21 — accueil : premier écran composé, respiration utile et traits de titres unifiés. */
@media (min-width:961px){
  .home-main{padding-top:16px!important}
  .home-intro-stage{
    width:100%;
    min-height:calc(100svh - 70px);
    display:flex;
    flex-direction:column;
  }

  .home-hero{
    flex:0 0 auto;
    margin:0 auto 18px!important;
    padding:28px clamp(38px,4vw,58px) 25px!important;
    box-shadow:0 16px 42px rgba(67,45,27,.09)!important;
  }
  .home-heading{
    padding:0!important;
    margin:0!important;
    border:0!important;
  }
  .home-heading:after{display:none!important}
  .home-heading h1{
    max-width:1120px!important;
    font-size:clamp(2.42rem,1.98rem + 1.08vw,3.08rem)!important;
    line-height:1.025!important;
  }
  .home-heading h1:after,
  .territories-section .section-heading h2:after,
  .home-method#etudes>h2:after{
    content:""!important;
    display:block!important;
    width:82px!important;
    height:2px!important;
    margin:14px 0 0!important;
    border:0!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,var(--accent) 0%,color-mix(in srgb,var(--gold) 70%,var(--accent)) 58%,transparent 100%)!important;
    opacity:.95!important;
  }
  .hero-editorial-compact{
    max-width:1120px!important;
    padding:15px 0 0!important;
  }
  .hero-editorial-compact p,
  .hero-editorial-compact p:first-child,
  .hero-editorial-compact p:last-child{
    font-size:clamp(.92rem,.89rem + .1vw,.99rem)!important;
    line-height:1.52!important;
  }
  .hero-editorial-compact p:first-child{max-width:1070px!important}
  .hero-editorial-compact p+p{
    position:relative;
    max-width:1030px!important;
    margin-top:10px!important;
    padding:9px 14px 9px 17px!important;
    border:0!important;
    border-left:2px solid color-mix(in srgb,var(--accent) 82%,transparent)!important;
    border-radius:0 8px 8px 0!important;
    background:linear-gradient(90deg,color-mix(in srgb,var(--accent-soft) 48%,transparent),transparent 74%)!important;
  }

  .territories-section{
    flex:0 0 auto;
    margin:0 auto!important;
    padding:21px 24px 22px!important;
    box-shadow:0 14px 36px rgba(67,45,27,.075)!important;
  }
  .territories-section .section-heading{
    margin:0!important;
    padding:0 9px 9px!important;
  }
  .territories-section .section-heading h2{
    font-size:clamp(1.78rem,1.55rem + .5vw,2.06rem)!important;
  }
  .territories-section .section-heading h2:after{margin-top:10px!important}
  .territory-context{
    margin:0 9px 14px!important;
  }
  .territory-context p{
    max-width:1140px!important;
    font-size:.84rem!important;
    line-height:1.48!important;
  }
  .territory-cards{gap:15px!important}
  .territory-card{
    min-height:132px!important;
    grid-template-columns:86px minmax(0,1fr)!important;
    gap:17px!important;
    padding:15px 17px!important;
    overflow:hidden;
  }
  .territory-card:before{
    content:"";
    position:absolute;
    left:0;top:18px;bottom:18px;width:2px;
    border-radius:0 2px 2px 0;
    background:linear-gradient(180deg,transparent,var(--accent),var(--gold),transparent);
    opacity:.58;
    transform:scaleY(.4);
    transition:transform .25s ease,opacity .25s ease;
  }
  .territory-card:hover:before{transform:scaleY(1);opacity:.9}
  .territory-card img{width:86px!important;height:86px!important}
  .territory-card h3{font-size:clamp(1.2rem,1.08rem + .25vw,1.42rem)!important}
  .territory-card small{margin:4px 0 9px!important}

  /* L'espace avant Les études devient une transition généalogique, pas un vide. */
  .home-transition{
    position:relative;
    flex:1 1 180px;
    min-height:165px;
    max-height:300px;
    width:var(--page);
    margin:0 auto;
    overflow:hidden;
    pointer-events:none;
  }
  .home-transition:before{
    content:"";
    position:absolute;
    inset:0 7% 0;
    background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--gold) 10%,transparent),transparent 62%);
    opacity:.65;
  }
  .genealogy-bridge{
    position:absolute;
    inset:0;
    width:100%;height:100%;
    overflow:visible;
  }
  .bridge-shadow,.bridge-line{
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
  }
  .bridge-shadow{
    stroke:color-mix(in srgb,var(--gold) 28%,transparent);
    stroke-width:5;
    opacity:.18;
  }
  .bridge-line{
    stroke:color-mix(in srgb,var(--line-strong) 72%,var(--gold));
    stroke-width:1.15;
    opacity:.52;
    animation:genealogyBreath 5.6s ease-in-out infinite;
  }
  .bridge-node{
    fill:var(--surface-strong);
    stroke:color-mix(in srgb,var(--gold) 58%,var(--accent));
    stroke-width:1.3;
    vector-effect:non-scaling-stroke;
    opacity:.9;
  }
  .bridge-diamond{
    fill:color-mix(in srgb,var(--paper) 75%,var(--surface-strong));
    stroke:color-mix(in srgb,var(--accent) 70%,var(--gold));
    stroke-width:1.25;
    vector-effect:non-scaling-stroke;
    opacity:.8;
  }
  .bridge-star{
    fill:color-mix(in srgb,var(--gold) 70%,var(--accent));
    opacity:.55;
  }
  @keyframes genealogyBreath{0%,100%{opacity:.42}50%{opacity:.68}}
  @media (prefers-reduced-motion:reduce){.bridge-line{animation:none;opacity:.55}}

  .home-method#etudes{
    margin-top:0!important;
  }
  .home-method#etudes>h2{margin-bottom:0!important}
  .home-method#etudes .territory-title-gap{height:18px!important}
}

@media (min-width:1100px) and (max-height:820px){
  .home-intro-stage{min-height:calc(100svh - 64px)}
  .home-hero{padding-top:22px!important;padding-bottom:20px!important;margin-bottom:13px!important}
  .home-heading h1{font-size:clamp(2.18rem,1.82rem + .86vw,2.72rem)!important}
  .home-heading h1:after{margin-top:10px!important}
  .hero-editorial-compact{padding-top:11px!important}
  .hero-editorial-compact p,.hero-editorial-compact p:first-child,.hero-editorial-compact p:last-child{font-size:.87rem!important;line-height:1.43!important}
  .hero-editorial-compact p+p{margin-top:7px!important;padding-top:6px!important;padding-bottom:6px!important}
  .territories-section{padding:16px 20px 17px!important}
  .territories-section .section-heading{padding-bottom:6px!important}
  .territories-section .section-heading h2{font-size:1.65rem!important}
  .territories-section .section-heading h2:after{margin-top:6px!important}
  .territory-context{margin-bottom:10px!important}
  .territory-context p{font-size:.78rem!important;line-height:1.38!important}
  .territory-card{min-height:104px!important;grid-template-columns:66px minmax(0,1fr)!important;padding:10px 13px!important}
  .territory-card img{width:66px!important;height:66px!important}
  .home-transition{min-height:130px;max-height:220px}
}

@media (max-width:960px){
  .home-intro-stage{min-height:0;display:block}
  .home-transition{height:56px;margin:2px auto 18px;width:var(--page);position:relative;overflow:hidden}
  .genealogy-bridge{display:none}
  .home-transition:after{
    content:"";position:absolute;left:50%;top:7px;bottom:7px;width:1px;
    background:linear-gradient(180deg,transparent,var(--line-strong),transparent);
  }
  .home-method#etudes{margin-top:0!important}
}

/* V22 — le premier écran est occupé par les territoires, sans transition artificielle. */
@media (min-width:961px){
  .home-intro-stage{
    min-height:calc(100svh - 68px)!important;
    padding-bottom:22px;
    box-sizing:border-box;
  }

  .home-transition{display:none!important}

  .home-hero{
    flex:0 0 auto!important;
    margin-bottom:16px!important;
  }

  .ornamental-divider{
    flex:0 0 auto;
    margin-block:7px 12px!important;
  }

  .territories-section{
    flex:1 1 auto!important;
    display:grid!important;
    grid-template-rows:auto auto minmax(178px,1fr)!important;
    align-content:stretch!important;
    padding:27px 30px 28px!important;
    margin:0 auto!important;
    min-height:0!important;
    box-shadow:0 16px 38px rgba(67,45,27,.08)!important;
  }

  .territories-section .section-heading{
    padding:0 4px 12px!important;
  }
  .territories-section .section-heading h2{
    font-size:clamp(2rem,1.72rem + .62vw,2.42rem)!important;
    line-height:1.06!important;
  }

  .territory-context{
    margin:0 4px 20px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .territory-context p{
    max-width:1180px!important;
    font-size:clamp(.9rem,.86rem + .1vw,.98rem)!important;
    line-height:1.58!important;
  }

  .territory-cards{
    align-self:stretch!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    margin:0!important;
  }
  .territory-card{
    height:100%!important;
    min-height:178px!important;
    grid-template-columns:122px minmax(0,1fr)!important;
    align-items:center!important;
    gap:24px!important;
    padding:21px 24px!important;
    border-radius:16px!important;
  }
  .territory-card:before{display:none!important}
  .territory-card img{
    width:122px!important;
    height:122px!important;
  }
  .territory-card h3{
    font-size:clamp(1.45rem,1.25rem + .38vw,1.76rem)!important;
    line-height:1.08!important;
  }
  .territory-card small{
    margin:5px 0 15px!important;
    font-size:.66rem!important;
  }
  .territory-cta{
    min-height:37px!important;
    padding:7px 10px 7px 14px!important;
    font-size:.7rem!important;
  }

  .home-method#etudes{
    margin-top:0!important;
  }
}

@media (min-width:1100px) and (max-height:820px){
  .home-intro-stage{min-height:calc(100svh - 62px)!important;padding-bottom:16px}
  .home-hero{margin-bottom:11px!important}
  .ornamental-divider{margin-block:3px 8px!important}
  .territories-section{
    grid-template-rows:auto auto minmax(145px,1fr)!important;
    padding:20px 24px 21px!important;
  }
  .territories-section .section-heading{padding-bottom:8px!important}
  .territories-section .section-heading h2{font-size:1.82rem!important}
  .territory-context{margin-bottom:13px!important}
  .territory-context p{font-size:.82rem!important;line-height:1.43!important}
  .territory-card{
    min-height:145px!important;
    grid-template-columns:94px minmax(0,1fr)!important;
    gap:18px!important;
    padding:16px 18px!important;
  }
  .territory-card img{width:94px!important;height:94px!important}
  .territory-card h3{font-size:1.34rem!important}
  .territory-card small{margin-bottom:10px!important}
  .territory-cta{min-height:32px!important;padding:5px 9px 5px 12px!important;font-size:.65rem!important}
}

@media (max-width:960px){
  .home-transition{display:none!important}
  .home-method#etudes{margin-top:42px!important}
}

/* V23 — les territoires occupent l'espace utile, sans zone vide forcée. */
@media (min-width:961px){
  .home-intro-stage{
    min-height:0!important;
    display:block!important;
    padding-bottom:0!important;
  }

  .home-hero{
    margin-bottom:16px!important;
  }

  .territories-section{
    flex:none!important;
    min-height:0!important;
    height:auto!important;
    grid-template-rows:auto auto auto!important;
    align-content:start!important;
    padding:27px 30px 30px!important;
    margin-bottom:0!important;
  }

  .territory-cards{
    align-self:auto!important;
    margin-top:4px!important;
  }

  .territory-card{
    height:228px!important;
    min-height:228px!important;
    grid-template-columns:132px minmax(0,1fr)!important;
    gap:24px!important;
    padding:22px 24px!important;
  }
  .territory-card img{
    width:132px!important;
    height:132px!important;
  }
  .territory-card-copy{
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-width:0!important;
  }
  .territory-card h3{
    font-size:clamp(1.5rem,1.28rem + .42vw,1.8rem)!important;
  }
  .territory-card small{
    margin:6px 0 18px!important;
  }

  .home-method#etudes{
    margin-top:64px!important;
  }
}

@media (min-width:1100px) and (max-height:820px){
  .territory-card{
    height:205px!important;
    min-height:205px!important;
    grid-template-columns:116px minmax(0,1fr)!important;
  }
  .territory-card img{width:116px!important;height:116px!important}
  .home-method#etudes{margin-top:54px!important}
}

/* V24 — territoires : on utilise la hauteur avec le contenu, jamais avec du vide. */
@media (min-width:961px){
  .home-intro-stage{
    min-height:0!important;
    height:auto!important;
    display:block!important;
    padding-bottom:0!important;
  }

  .home-transition{display:none!important}

  .territories-section{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    align-content:start!important;
    min-height:0!important;
    height:fit-content!important;
    max-height:none!important;
    flex:none!important;
    padding:30px 30px 31px!important;
    margin:0 auto!important;
    overflow:visible!important;
  }

  .territories-section .section-heading{
    grid-column:1!important;
    padding:0 4px 13px!important;
    margin:0!important;
  }
  .territories-section .section-heading h2{
    font-size:clamp(2rem,1.72rem + .62vw,2.42rem)!important;
    line-height:1.06!important;
  }

  .territory-context{
    grid-column:1!important;
    margin:0 4px 22px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .territory-context p{
    max-width:1180px!important;
    font-size:clamp(.91rem,.87rem + .1vw,.99rem)!important;
    line-height:1.58!important;
  }

  .territory-cards{
    grid-column:1!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:18px!important;
    margin:0!important;
  }
  .territory-card{
    height:286px!important;
    min-height:286px!important;
    max-height:none!important;
    grid-template-columns:148px minmax(0,1fr)!important;
    align-items:center!important;
    gap:25px!important;
    padding:25px 25px!important;
    border-radius:16px!important;
    box-sizing:border-box!important;
  }
  .territory-card:before{display:none!important}
  .territory-card img{
    width:148px!important;
    height:148px!important;
  }
  .territory-card-copy{
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-width:0!important;
  }
  .territory-card h3{
    font-size:clamp(1.55rem,1.3rem + .45vw,1.88rem)!important;
    line-height:1.08!important;
  }
  .territory-card small{
    margin:6px 0 20px!important;
    font-size:.68rem!important;
  }
  .territory-cta{
    width:max-content!important;
    min-height:39px!important;
    padding:8px 10px 8px 15px!important;
    font-size:.71rem!important;
  }

  /* Une séparation normale suffit : plus de grand espace vide entre les blocs. */
  .home-method#etudes{
    margin-top:38px!important;
  }
}

@media (min-width:1100px) and (max-height:820px){
  .territories-section{
    padding:22px 24px 24px!important;
  }
  .territories-section .section-heading{padding-bottom:9px!important}
  .territory-context{margin-bottom:15px!important}
  .territory-context p{font-size:.82rem!important;line-height:1.43!important}
  .territory-card{
    height:218px!important;
    min-height:218px!important;
    grid-template-columns:116px minmax(0,1fr)!important;
    gap:19px!important;
    padding:18px 19px!important;
  }
  .territory-card img{width:116px!important;height:116px!important}
  .territory-card h3{font-size:1.4rem!important}
  .territory-card small{margin-bottom:12px!important}
  .home-method#etudes{margin-top:32px!important}
}

/* V25 — correction robuste du bloc « Les territoires étudiés ».
   Les anciens grid-area des versions précédentes provoquaient le chevauchement titre/texte. */
@media (min-width:961px){
  .territories-section{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    padding:26px 30px 30px!important;
    margin:0 auto!important;
    overflow:hidden!important;
  }

  .territories-section .section-heading,
  .territory-context,
  .territory-cards{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
  }

  .territories-section .section-heading{
    display:block!important;
    margin:0!important;
    padding:0 8px 12px!important;
  }
  .territories-section .section-heading h2{
    max-width:none!important;
    margin:0!important;
    font-size:clamp(2rem,1.72rem + .62vw,2.42rem)!important;
    line-height:1.05!important;
  }
  .territories-section .section-heading h2:after{
    margin-top:11px!important;
  }

  .territory-context{
    display:block!important;
    margin:0 8px 22px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .territory-context p{
    max-width:1160px!important;
    margin:0!important;
    font-size:clamp(.9rem,.87rem + .1vw,.98rem)!important;
    line-height:1.56!important;
  }

  .territory-cards{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    margin:0!important;
    padding:0!important;
  }
  .territory-card{
    height:226px!important;
    min-height:226px!important;
    grid-template-columns:122px minmax(0,1fr)!important;
    align-items:center!important;
    gap:24px!important;
    padding:22px 24px!important;
    border-radius:16px!important;
  }
  .territory-card img{
    width:122px!important;
    height:122px!important;
  }
  .territory-card-copy{
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  .territory-card h3{
    margin:0!important;
    font-size:clamp(1.45rem,1.25rem + .34vw,1.72rem)!important;
    line-height:1.08!important;
  }
  .territory-card small{
    margin:6px 0 15px!important;
  }
  .territory-cta{
    max-width:100%!important;
    width:max-content!important;
    min-height:36px!important;
    white-space:nowrap!important;
  }

  .home-method#etudes{
    margin-top:38px!important;
  }
}

@media (min-width:1100px) and (max-height:820px){
  .territories-section{padding:20px 24px 23px!important}
  .territories-section .section-heading{padding-bottom:8px!important}
  .territories-section .section-heading h2{font-size:1.86rem!important}
  .territory-context{margin-bottom:14px!important}
  .territory-context p{font-size:.81rem!important;line-height:1.42!important}
  .territory-card{
    height:180px!important;
    min-height:180px!important;
    grid-template-columns:102px minmax(0,1fr)!important;
    gap:18px!important;
    padding:16px 18px!important;
  }
  .territory-card img{width:102px!important;height:102px!important}
  .territory-card h3{font-size:1.34rem!important}
  .territory-card small{margin-bottom:10px!important}
  .territory-cta{min-height:32px!important;font-size:.65rem!important}
  .home-method#etudes{margin-top:34px!important}
}

/* V25 final — correctif de cascade : aucun chevauchement dans « Les territoires étudiés ». */
@media (min-width:961px){
  .territories-section .section-heading,
  .territories-section .territory-context,
  .territories-section .territory-cards{
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    position:static!important;
    float:none!important;
    transform:none!important;
    width:auto!important;
  }

  .territories-section .section-heading{
    margin:0!important;
    padding:0 8px 13px!important;
  }
  .territories-section .territory-context{
    margin:0 8px 22px!important;
    padding:0!important;
  }
  .territories-section .territory-cards{
    margin:0!important;
    padding:0!important;
  }

  /* On garde la vraie présence demandée pour les territoires : la hauteur est occupée par les cartes, pas par du vide. */
  .territory-card{
    height:286px!important;
    min-height:286px!important;
    grid-template-columns:148px minmax(0,1fr)!important;
    gap:25px!important;
    padding:25px!important;
  }
  .territory-card img{width:148px!important;height:148px!important}
  .territory-card h3{font-size:clamp(1.55rem,1.3rem + .45vw,1.88rem)!important}
  .territory-card small{margin:6px 0 20px!important;font-size:.68rem!important}
  .territory-cta{min-height:39px!important;padding:8px 10px 8px 15px!important;font-size:.71rem!important}
}

@media (min-width:1100px) and (max-height:820px){
  .territory-card{
    height:218px!important;
    min-height:218px!important;
    grid-template-columns:116px minmax(0,1fr)!important;
    gap:19px!important;
    padding:18px 19px!important;
  }
  .territory-card img{width:116px!important;height:116px!important}
  .territory-card h3{font-size:1.4rem!important}
  .territory-card small{margin-bottom:12px!important}
}


/* Cloudflare Turnstile — formulaire de contact */
.turnstile-wrap{min-height:70px;display:flex;align-items:center;overflow:visible}.turnstile-wrap iframe{max-width:100%}

/* Correctif thème parchemin — bloc Territoires */
html[data-theme="parchment"] .territories-section{
  --ink:#2b2018;
  --ink-soft:#675747;
  --ink-faint:#88735b;
  --line:#d8c5a7;
  --line-strong:#bca07a;
  --accent:#87372f;
  --gold:#956b32;
  color:var(--ink);
}

html[data-theme="parchment"] .territories-section .section-heading h2{
  color:var(--ink)!important;
}


/* Genealdebert — préférences cookies */
.privacy-cookie-actions{
  margin-top:1.35rem;
}

.privacy-cookie-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.65rem 1rem;
  border:1px solid var(--line-strong, #bca07a);
  border-radius:5px;
  background:transparent;
  color:var(--ink, #2b2018);
  font:600 .86rem/1.2 var(--font-ui, Inter, "Segoe UI", Arial, sans-serif);
  cursor:pointer;
  transition:
    background .15s ease,
    border-color .15s ease,
    color .15s ease;
}

.privacy-cookie-button:hover{
  border-color:var(--accent, #87372f);
  background:rgba(135,55,47,.07);
  color:var(--accent, #87372f);
}

.privacy-cookie-button:focus-visible{
  outline:3px solid rgba(135,55,47,.22);
  outline-offset:3px;
}
/* Fin préférences cookies */


/* Genealdebert - gestion cookies confidentialite */
.ga-cookie-preferences {
  margin-top: 2.5rem;
}

.ga-cookie-preferences-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: .75rem;
  padding: .72rem 1.05rem;
  border: 1px solid #9b7653;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.ga-cookie-preferences-button:hover {
  background: rgba(120, 80, 45, .08);
}

.ga-cookie-preferences-button:focus-visible {
  outline: 3px solid rgba(120, 80, 45, .25);
  outline-offset: 3px;
}


/* =========================================================
   GENEALDEBERT — RESPONSIVE FINAL
   ========================================================= */


/* ---------------------------------------------------------
   BACKDROP GLOBAL
   --------------------------------------------------------- */

.ga-ui-backdrop {
  position: fixed;
  top: 72px;
  right: 0;
  bottom: 0;
  left: 0;

  background: rgba(18, 14, 11, 0);

  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  z-index: 800;

  transition:
    opacity .25s ease,
    background-color .25s ease,
    backdrop-filter .3s ease,
    -webkit-backdrop-filter .3s ease,
    visibility 0s linear .3s;
}

.ga-ui-backdrop.is-visible {
  background: rgba(18, 14, 11, .10);

  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);

  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transition:
    opacity .25s ease,
    background-color .25s ease,
    backdrop-filter .3s ease,
    -webkit-backdrop-filter .3s ease,
    visibility 0s;
}


/* Header au-dessus du backdrop */
.site-header {
  z-index: 900 !important;
}


/* Thème desktop */
.theme-menu {
  position: relative;
  z-index: 1000 !important;
}

.theme-menu-panel {
  z-index: 1100 !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 768px) {

  /* ===== HEADER ===== */

  .site-header {
    /*
     * Le blur permanent du header provoquait
     * les captures Android noires.
     */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    background: rgba(18, 14, 11, .97) !important;

    box-shadow:
      0 1px 0 rgba(255,255,255,.05),
      0 7px 20px rgba(0,0,0,.10) !important;
  }

  .header-inner {
    display: flex !important;
    align-items: center !important;
    width: var(--page) !important;
    min-height: 68px !important;
    gap: 8px !important;
  }

  .brand {
    order: 1 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin-right: auto !important;
  }

  /* Choix du thème */
  .theme-menu {
    order: 2 !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    margin: 0 !important;
  }

  .theme-menu-trigger {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;

    padding: 0 !important;

    display: grid !important;
    place-items: center !important;
  }

  .theme-menu-current,
  .theme-menu-chevron {
    display: none !important;
  }

  /* Hamburger */
  .menu-btn {
    order: 3 !important;

    display: grid !important;
    place-items: center !important;

    flex: 0 0 40px !important;

    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;

    margin: 0 !important;

    color: var(--header-ink) !important;
  }


  /* ===== MENU MOBILE ===== */

  .site-header .main-nav {
    display: none !important;

    position: fixed !important;

    top: 68px !important;
    left: 8px !important;
    right: 8px !important;

    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 80px) !important;

    margin: 0 !important;
    padding: 8px !important;

    flex-direction: column !important;
    align-items: stretch !important;
    gap: 3px !important;

    overflow-y: auto !important;

    color: var(--ink) !important;
    background: var(--surface-strong) !important;

    border: 1px solid var(--line) !important;
    border-radius: 0 0 16px 16px !important;

    box-shadow: 0 14px 30px rgba(0,0,0,.16) !important;

    z-index: 1100 !important;
  }

  .site-header .main-nav.open {
    display: flex !important;
  }

  .site-header .main-nav a {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 12px 14px !important;

    color: var(--ink) !important;
    background: transparent !important;

    border-radius: 9px !important;

    font-size: .82rem !important;
    line-height: 1.3 !important;
    text-align: left !important;

    opacity: 1 !important;
  }

  .site-header .main-nav a:hover,
  .site-header .main-nav a[aria-current="page"] {
    color: var(--ink) !important;
    background: var(--surface-muted) !important;
  }


  /* ===== THEME MOBILE ===== */

  .theme-menu-panel {
    position: fixed !important;

    top: 68px !important;
    left: 8px !important;
    right: 8px !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;

    z-index: 1100 !important;
  }


  /* ===== BACKDROP MOBILE ===== */

  .ga-ui-backdrop {
    top: 68px;
  }


  /* ===== NEWSLETTER ===== */

  .newsletter {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;

    width: 100% !important;

    gap: 20px !important;
    padding: 22px 18px !important;
  }

  .newsletter-copy,
  .newsletter-action {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .newsletter-copy h2 {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 12px !important;

    font-size: clamp(2rem, 9vw, 2.65rem) !important;
    line-height: 1.05 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .newsletter-copy > p {
    width: 100% !important;
    max-width: none !important;

    margin-right: 0 !important;

    line-height: 1.55 !important;
  }

  .newsletter-points {
    display: flex !important;
    flex-wrap: wrap !important;

    gap: 8px !important;

    margin: 16px 0 0 !important;
  }

  .newsletter-points li {
    width: auto !important;
    max-width: 100% !important;
  }

  .newsletter-action {
    display: block !important;

    height: auto !important;
    min-height: 0 !important;

    padding: 18px !important;

    box-sizing: border-box !important;
  }

  #newsletter .ga-newsletter-wrap {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
  }

  #newsletter .ga-newsletter-form,
  #newsletter .ga-newsletter-brevo-shell,
  #newsletter #sib-form-container,
  #newsletter #sib-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;

    box-sizing: border-box !important;
  }

  #newsletter .ga-newsletter-form .entry__field,
  #newsletter .ga-newsletter-form .entry__field .input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    box-sizing: border-box !important;
  }

}


/* Accessibilité */
@media (prefers-reduced-motion: reduce) {

  .ga-ui-backdrop {
    transition: none !important;
  }

}

/* =========================================================
   MENU MOBILE — LISIBILITE + FORMAT COMPACT
   ========================================================= */

@media (max-width: 768px) {

  .site-header .main-nav {
    /* panneau compact */
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 8px !important;
    gap: 2px !important;

    /* couleur explicitement définie */
    background: #fffdf9 !important;
    color: #33271f !important;

    border: 1px solid rgba(126, 88, 57, .25) !important;
    border-radius: 0 0 16px 16px !important;

    align-content: initial !important;
    justify-content: flex-start !important;
  }

  .site-header .main-nav a,
  .site-header .main-nav a:link,
  .site-header .main-nav a:visited {
    display: block !important;

    flex: none !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    padding: 12px 14px !important;
    margin: 0 !important;

    color: #33271f !important;
    opacity: 1 !important;

    background: transparent !important;

    font-size: .82rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    text-shadow: none !important;
  }

  .site-header .main-nav a[aria-current="page"] {
    background: #f4eee5 !important;
    color: #7c382f !important;
  }

}


/* =========================================================
   BACKDROP — PRIORITE VISUELLE
   ========================================================= */

.ga-ui-backdrop {
  z-index: 850 !important;
}

.ga-ui-backdrop.is-visible {
  opacity: 1 !important;
  visibility: visible !important;

  background: rgba(25, 18, 13, .13) !important;

  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

.site-header {
  z-index: 900 !important;
}

.site-header .main-nav,
.theme-menu,
.theme-menu-panel {
  z-index: 1100 !important;
}

/* =========================================================
   MENU MOBILE — FINITION COMPACTE
   ========================================================= */

@media (max-width: 768px) {

  .site-header .main-nav {
    padding: 8px !important;
    gap: 0 !important;
  }

  .site-header .main-nav a,
  .site-header .main-nav a:link,
  .site-header .main-nav a:visited {
    padding: 11px 14px !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
  }

}

/* =========================================================
   BOUTONS THEME / MENU — FINITION MOBILE
   ========================================================= */

@media (max-width: 768px) {

  .theme-menu-trigger,
  .menu-btn {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    border-radius: 11px !important;
  }

  .theme-menu-trigger {
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
  }

  .theme-menu-trigger svg {
    width: 19px !important;
    height: 19px !important;
  }

  .menu-btn {
    font-size: 1.15rem !important;
    line-height: 1 !important;
  }

}

/* =========================================================
   THEME MOBILE — CENTRAGE REEL DE L'ICONE
   ========================================================= */

@media (max-width: 768px) {

  .theme-menu-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    gap: 0 !important;
  }

  .theme-menu-trigger-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .theme-menu-trigger-icon svg {
    display: block !important;

    width: 19px !important;
    height: 19px !important;

    margin: 0 !important;

    transform: translateX(1px) !important;
  }

}

/* =========================================================
   HARMONISATION PANNEAUX MOBILE — MENU / THEME
   ========================================================= */

@media (max-width: 768px) {

  .site-header .main-nav,
  .theme-menu-panel {
    position: fixed !important;

    top: 68px !important;
    left: 12px !important;
    right: 12px !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 12px !important;

    background: #fffdf9 !important;

    border: 1px solid rgba(126, 88, 57, .22) !important;
    border-radius: 16px !important;

    box-shadow:
      0 14px 32px rgba(0,0,0,.16),
      0 1px 0 rgba(255,255,255,.65) inset !important;

    overflow: hidden !important;

    z-index: 1100 !important;
  }

  /* Navigation */
  .site-header .main-nav {
    gap: 2px !important;
  }

  .site-header .main-nav a {
    padding: 12px 14px !important;
    border-radius: 10px !important;
  }

  /* Thème */
  .theme-menu-panel {
    gap: 8px !important;
  }

}

/* =========================================================
   MENU MOBILE — TITRE + TYPOGRAPHIE
   ========================================================= */

@media (max-width: 768px) {

  /* Titre identique à "CHOISIR L'APPARENCE" */
  .site-header .main-nav::before {
    content: "MENU";

    display: block !important;

    padding: 2px 12px 9px !important;
    margin: 0 !important;

    color: #7b6a5b !important;

    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    letter-spacing: .11em !important;
    text-transform: uppercase !important;
  }

  /* Liens plus grands et plus confortables */
  .site-header .main-nav a,
  .site-header .main-nav a:link,
  .site-header .main-nav a:visited {
    padding: 13px 14px !important;

    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }

  /* Élément actif */
  .site-header .main-nav a[aria-current="page"] {
    font-weight: 750 !important;
  }


  /* Texte du sélecteur d'apparence légèrement agrandi */
  .theme-menu-panel {
    font-size: 1rem !important;
  }

  .theme-menu-panel strong,
  .theme-menu-panel b {
    font-size: 1rem !important;
  }

}

/* =========================================================
   TITRES PANNEAUX — MENU / APPARENCE
   ========================================================= */

@media (max-width: 768px) {

  /* MENU : même traitement que CHOISIR L'APPARENCE */
  .site-header .main-nav::before {
    content: "MENU" !important;

    display: block !important;

    margin: 0 2px 8px !important;
    padding: 2px 10px 10px !important;

    font-family: inherit !important;
    font-size: .86rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    letter-spacing: .10em !important;
    text-transform: uppercase !important;

    color: #6f5542 !important;

    border-bottom: 1px solid rgba(126, 88, 57, .20) !important;
  }

  /* CHOISIR L'APPARENCE :
     titre légèrement plus présent */
  .theme-menu-panel > :first-child {
    font-family: inherit !important;
    font-size: .86rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    letter-spacing: .10em !important;
    text-transform: uppercase !important;

    color: #6f5542 !important;
  }

}

/* =========================================================
   TITRES MENU / APPARENCE — TYPO CORRIGEE
   ========================================================= */

@media (max-width: 768px) {

  .site-header .main-nav::before {
    font-family: var(--font-ui), system-ui, -apple-system, BlinkMacSystemFont,
                 "Segoe UI", sans-serif !important;

    font-size: .82rem !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
    line-height: 1.2 !important;

    color: #806b59 !important;

    margin: 0 2px 7px !important;
    padding: 3px 10px 9px !important;

    border-bottom: 1px solid rgba(126, 88, 57, .16) !important;
  }

  .theme-menu-panel > :first-child {
    font-family: var(--font-ui), system-ui, -apple-system, BlinkMacSystemFont,
                 "Segoe UI", sans-serif !important;

    font-size: .82rem !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
    line-height: 1.2 !important;

    color: #806b59 !important;
  }

}

/* =========================================================
   MENU / APPARENCE — HARMONISATION FINALE
   ========================================================= */

@media (max-width: 768px) {

  /* ----- TITRE MENU ----- */

  .site-header .main-nav::before {
    content: "MENU" !important;

    display: block !important;

    margin: 0 2px 8px !important;
    padding: 3px 10px 10px !important;

    font-family: var(--font-ui) !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;

    color: #806b59 !important;

    border-bottom: 1px solid rgba(126, 88, 57, .18) !important;
  }


  /* ----- TITRE CHOISIR L'APPARENCE ----- */

  .theme-menu-title,
  .theme-menu-panel > :first-child {
    display: block !important;

    margin: 0 2px 8px !important;
    padding: 3px 10px 10px !important;

    font-family: var(--font-ui) !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;

    color: #806b59 !important;

    border-bottom: 1px solid rgba(126, 88, 57, .18) !important;
  }


  /* ----- CLAIR / PARCHEMIN / SOMBRE ----- */

  .theme-menu-option-copy strong {
    font-size: .95rem !important;
    font-weight: 750 !important;

    /* Annule l'éventuelle transformation en minuscules */
    text-transform: none !important;
  }

  /* Première lettre visuellement en capitale */
  .theme-menu-option-copy strong::first-letter {
    text-transform: uppercase !important;
  }

}

/* =========================================================
   PANNEAUX MENU / APPARENCE — STYLE COMMUN PC + MOBILE
   ========================================================= */

/* Titres */
.site-header .main-nav::before,
.theme-menu-title {
  display: block !important;

  margin: 0 2px 8px !important;
  padding: 3px 10px 10px !important;

  font-family: var(--font-ui) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;

  letter-spacing: .09em !important;
  text-transform: uppercase !important;

  color: #806b59 !important;

  border-bottom: 1px solid rgba(126, 88, 57, .18) !important;
}

/* Titre artificiel du menu */
.site-header .main-nav::before {
  content: "MENU";
}

/* Options thème */
.theme-menu-option-copy strong {
  font-size: .95rem !important;
  font-weight: 750 !important;
  text-transform: none !important;
}

/* Coque commune des panneaux ouverts */
.site-header .main-nav.open,
.theme-menu-panel {
  background: #fffdf9 !important;

  border: 1px solid rgba(126, 88, 57, .22) !important;
  border-radius: 16px !important;

  box-shadow:
    0 14px 32px rgba(0,0,0,.16),
    0 1px 0 rgba(255,255,255,.65) inset !important;
}


/* =========================================================
   DESKTOP UNIQUEMENT
   ========================================================= */

@media (min-width: 769px) {

  /*
   * Sur desktop la navigation principale reste horizontale :
   * on ne lui affiche donc PAS le titre MENU en permanence.
   */
  .site-header .main-nav:not(.open)::before {
    display: none !important;
  }

  .theme-menu-panel {
    padding: 12px !important;
  }

}


/* =========================================================
   MOBILE UNIQUEMENT
   ========================================================= */

@media (max-width: 768px) {

  .site-header .main-nav::before {
    display: block !important;
  }

}

/* Sous-libellés du choix d'apparence — PC + mobile */
.theme-menu-option-copy small {
  font-size: .70rem !important;
  line-height: 1.35 !important;
}

/* =========================================================
   ACCUEIL MOBILE — CONFORT DE LECTURE
   ========================================================= */

@media (max-width: 768px) {

  .home-hero p,
  .home-heading p,
  .hero-editorial-compact p {
    line-height: 1.72 !important;
  }

}

/* =========================================================
   APPARENCE — HARMONISATION PC + MOBILE
   ========================================================= */

.theme-menu-panel {
  padding: 12px !important;
  background: #fffdf9 !important;

  border: 1px solid rgba(126, 88, 57, .22) !important;
  border-radius: 16px !important;

  box-shadow:
    0 14px 32px rgba(0,0,0,.16),
    inset 0 1px rgba(255,255,255,.65) !important;
}

/* Petit titre */
.theme-menu-title {
  margin: 0 2px 8px !important;
  padding: 4px 10px 11px !important;

  font-family: var(--font-ui) !important;
  font-size: .84rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;

  letter-spacing: .09em !important;
  text-transform: uppercase !important;

  color: #806b59 !important;

  border-bottom: 1px solid rgba(126,88,57,.18) !important;
}

/* Options */
.theme-menu-option-copy strong {
  font-family: var(--font-ui) !important;
  font-size: .95rem !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;

  text-transform: none !important;
}

/* Fond lumineux / Papier... / Lecture nocturne */
.theme-menu-option-copy small {
  font-family: var(--font-ui) !important;
  font-size: .70rem !important;
  line-height: 1.4 !important;
}

/* Espacement régulier des options */
.theme-menu-option {
  min-height: 54px !important;
}

/* =========================================================
   NOTES DE BAS DE PAGE
   ========================================================= */

.page-footnote {
  margin-top: 28px;
  padding-top: 12px;
  border-top: 1px solid var(--line-strong);
  max-width: 680px;
}

.page-footnote p {
  margin: 0;
  font-family: var(--font-ui);
  font-size: .78rem;
  line-height: 1.55;
  color: var(--ink-soft);
}

.page-footnote sup {
  font-size: .68em;
  font-weight: 800;
  color: var(--ink);
}

.page-footnote em {
  color: var(--ink);
}

@media (max-width: 768px) {
  .page-footnote {
    margin-top: 22px;
    padding-top: 10px;
  }

  .page-footnote p {
    font-size: .76rem;
    line-height: 1.6;
  }
}

/* =========================================================
   PAYS BASQUE — NOTE DE BAS DE PAGE / HAUTEUR DE CARTE
   ========================================================= */

/* La carte doit pouvoir grandir avec la note */
.territory-intro,
.territory-hero,
.territory-stage,
.territory-content {
  height: auto !important;
  min-height: 0;
}

/* Note plus propre */
.page-footnote {
  clear: both !important;
  width: 100% !important;
  max-width: none !important;

  margin-top: 26px !important;
  padding-top: 12px !important;

  border-top: 1px solid rgba(126, 88, 57, .42) !important;
}

.page-footnote p {
  margin: 0 !important;
  font-size: .78rem !important;
  line-height: 1.5 !important;
}

/* Évite que le contenu suivant remonte dans la note */
.page-footnote + * {
  margin-top: 18px !important;
}

/* =========================================================
   PAYS BASQUE — HAUTEUR FINALE DES DEUX PANNEAUX PC
   ========================================================= */

@media (min-width: 1025px) {

  body:has(.territory-paper h1:first-child) .territory-stage {
    height: 610px !important;
    min-height: 610px !important;
    align-items: stretch !important;
  }

  body:has(.territory-paper h1:first-child) .territory-stage > .territory-paper,
  body:has(.territory-paper h1:first-child) .territory-stage > .region-reading {
    height: 610px !important;
    min-height: 610px !important;
  }

  body:has(.territory-paper h1:first-child) .territory-stage > .territory-paper {
    overflow: hidden !important;
  }

  .page-footnote {
    margin-top: 22px !important;
    padding-top: 10px !important;
    padding-bottom: 4px !important;
  }
}


/* =========================================================
   NOTES — NUMEROS D'APPEL STRICTEMENT IDENTIQUES
   ========================================================= */

.territory-paper .prose sup,
.page-footnote sup {
  font-family: var(--font-ui) !important;
  font-size: .68em !important;
  font-weight: 800 !important;
  line-height: 0 !important;

  position: relative !important;
  top: -.35em !important;
  vertical-align: baseline !important;

  color: var(--ink) !important;
  font-style: normal !important;
}


/* =========================================================
   APPELS DE NOTE — 1 STRICTEMENT IDENTIQUES
   ========================================================= */

.territory-paper .prose sup,
.page-footnote sup {
  font-family: var(--font-ui), system-ui, sans-serif !important;

  /* Taille et poids strictement identiques */
  font-size: .68rem !important;
  font-weight: 700 !important;

  /* Position strictement identique */
  line-height: 1 !important;
  vertical-align: super !important;
  position: static !important;

  color: var(--ink) !important;
  font-style: normal !important;

  /* Aucun espacement parasite */
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
