/* ==========================================================================
   SurValeur V2 — la coque commune
   En-tête avec menus par profil, menu mobile, recherche globale, pied de page,
   barre de lecture, sommaire flottant et retour en haut.
   Toutes les classes sont préfixées « sv- » : la coque se pose sur n'importe
   quelle page, y compris les pages autonomes (guide, guide-landing), sans
   entrer en conflit avec leurs propres styles.
   ========================================================================== */
:root {
  --creme:#F0E4D0; --dore:#A87F3D; --bleu-tech:#4FC3E8; --gris-pierre:#6B6F76; --terracotta:#C76B3B;
  --parchemin:#FBF6EE; --parchemin-creux:#F6EDDF; --encre:#241F19; --encre-douce:#4A4238;
  --dore-profond:#6E4F1E; --dore-bouton:#AE843F; --dore-clair:#C79B52; --gris-texte:#5E6268;
  --gris-clair:#8E97A0; --terre-profonde:#9A4E27; --ardoise:#1C2126; --ardoise-haute:#262D34;
  --ardoise-nuit:#14181C; --pierre-claire:#DCD4C6; --pierre-voile:rgba(107,111,118,.18);
  --font-titre:"Fraunces","Iowan Old Style",Georgia,"Times New Roman",serif;
  --font-texte:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-data:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --sv-h:76px;
  --sv-gouttiere:clamp(1rem,.5rem + 2.4vw,3rem);
  --sv-ease:cubic-bezier(.22,1,.36,1);
}
@media (max-width:900px){ :root{ --sv-h:64px; } }

html.lenis, html.lenis body { height:auto; }
.lenis.lenis-smooth { scroll-behavior:auto !important; }
.lenis.lenis-stopped { overflow:hidden; }

.sv-sr { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.sv-saut { position:absolute; left:-9999px; top:0; z-index:200; background:var(--ardoise); color:var(--creme); padding:.8rem 1.2rem; font:600 .95rem/1 var(--font-texte); }
.sv-saut:focus { left:.6rem; top:.6rem; }

/* --------------------------------------------------------------------------
   Boutons de la coque
   -------------------------------------------------------------------------- */
.sv-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:.78rem 1.15rem; border:0; border-radius:2px; cursor:pointer;
  font:600 .86rem/1 var(--font-texte); letter-spacing:.01em; text-decoration:none; white-space:nowrap;
  position:relative; overflow:hidden; isolation:isolate; transition:color .45s var(--sv-ease);
}
.sv-btn::after { content:""; position:absolute; inset:0; z-index:-1; transform:scaleY(0); transform-origin:bottom; transition:transform .5s var(--sv-ease); }
.sv-btn:hover::after, .sv-btn:focus-visible::after { transform:scaleY(1); }
.sv-btn--or { background:var(--dore-bouton); color:var(--encre); }
.sv-btn--or::after { background:var(--creme); }
.sv-btn--or:hover { color:var(--encre); }
.sv-btn--ligne { background:transparent; color:inherit; box-shadow:inset 0 0 0 1px currentColor; }
.sv-btn--ligne::after { background:currentColor; opacity:.12; }
.sv-btn .sv-fl { transition:transform .45s var(--sv-ease); }
.sv-btn:hover .sv-fl { transform:translateX(4px); }

/* --------------------------------------------------------------------------
   En-tête
   Transparent sur un fond sombre, il se pose en bandeau dès que la page
   défile, clair ou sombre selon la section qui passe dessous.
   -------------------------------------------------------------------------- */
.sv-entete {
  position:fixed; inset:0 0 auto 0; z-index:120; color:var(--creme);
  font-family:var(--font-texte);
  transition:color .45s ease, background-color .45s ease, box-shadow .45s ease, transform .5s var(--sv-ease);
}
.sv-entete__barre {
  height:var(--sv-h); display:flex; align-items:center; gap:clamp(.8rem,.4rem + 1.4vw,2rem);
  padding-inline:var(--sv-gouttiere); position:relative; z-index:2;
}
.sv-entete.is-dark-solid { background:rgba(20,24,28,.82); backdrop-filter:saturate(1.4) blur(16px); -webkit-backdrop-filter:saturate(1.4) blur(16px); box-shadow:0 1px 0 rgba(240,228,208,.06); }
.sv-entete.is-light { color:var(--encre); background:rgba(251,246,238,.86); backdrop-filter:saturate(1.4) blur(16px); -webkit-backdrop-filter:saturate(1.4) blur(16px); box-shadow:0 1px 0 rgba(36,31,25,.07); }
.sv-entete.est-masque { transform:translateY(-100%); }
.sv-entete.menu-ouvert { color:var(--creme); background:var(--ardoise-nuit); box-shadow:none; transform:none; }

.sv-marque { display:flex; align-items:center; gap:.7rem; color:inherit; text-decoration:none; flex:none; }
.sv-marque img { width:34px; height:auto; }
.sv-marque span { display:flex; flex-direction:column; font:500 1.22rem/1 var(--font-titre); letter-spacing:-.01em; }
.sv-marque small { font:400 .66rem/1.2 var(--font-texte); letter-spacing:.02em; opacity:.62; margin-top:.3rem; white-space:nowrap; }
@media (max-width:1360px){ .sv-marque small { display:none; } }

.sv-nav { margin-inline:auto; }
.sv-nav > ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:clamp(.1rem,.1rem + .5vw,.7rem); }
.sv-nav__lien {
  display:inline-flex; align-items:center; gap:.4rem; padding:.6rem .7rem; border:0; background:none; cursor:pointer;
  font:500 .9rem/1 var(--font-texte); color:inherit; text-decoration:none; white-space:nowrap; position:relative; opacity:.86;
  transition:opacity .3s;
}
.sv-nav__lien:hover, .sv-nav__lien[aria-expanded="true"], .sv-nav__lien[aria-current="page"] { opacity:1; }
.sv-nav__lien::after { content:""; position:absolute; left:.7rem; right:.7rem; bottom:.25rem; height:1px; background:var(--dore-clair); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--sv-ease); }
.sv-nav__lien:hover::after, .sv-nav__lien[aria-expanded="true"]::after, .sv-nav__lien[aria-current="page"]::after { transform:scaleX(1); }
.sv-entete.is-light .sv-nav__lien::after { background:var(--dore); }
.sv-nav__lien svg { width:9px; height:9px; transition:transform .45s var(--sv-ease); }
.sv-nav__lien[aria-expanded="true"] svg { transform:rotate(180deg); }

.sv-entete__outils { display:flex; align-items:center; gap:.6rem; flex:none; }
.sv-chercher {
  display:inline-flex; align-items:center; gap:.55rem; height:2.5rem; padding:0 .8rem; cursor:pointer;
  background:transparent; color:inherit; border:1px solid currentColor; border-radius:2px; opacity:.8;
  font:500 .8rem/1 var(--font-texte); transition:opacity .3s, background-color .3s;
}
.sv-chercher:hover { opacity:1; background:rgba(127,127,127,.08); }
.sv-chercher svg { width:15px; height:15px; }
.sv-chercher kbd { font:500 .64rem/1 var(--font-data); letter-spacing:.06em; padding:.25rem .35rem; border:1px solid currentColor; border-radius:2px; opacity:.6; }
.sv-entete .sv-btn { padding:.72rem 1rem; }

.sv-burger { display:none; width:2.6rem; height:2.6rem; border:1px solid currentColor; border-radius:2px; background:none; color:inherit; cursor:pointer; position:relative; opacity:.85; }
.sv-burger span { position:absolute; left:.7rem; right:.7rem; height:1.5px; background:currentColor; transition:transform .45s var(--sv-ease), top .45s var(--sv-ease); }
.sv-burger span:first-child { top:1.02rem; } .sv-burger span:last-child { top:1.5rem; }
.sv-burger[aria-expanded="true"] span:first-child { top:1.26rem; transform:rotate(45deg); }
.sv-burger[aria-expanded="true"] span:last-child { top:1.26rem; transform:rotate(-45deg); }

@media (max-width:1180px){ .sv-chercher span, .sv-chercher kbd { display:none; } .sv-chercher { width:2.5rem; justify-content:center; padding:0; } }
@media (max-width:1060px){
  .sv-nav { display:none; }
  .sv-burger { display:inline-block; }
  .sv-entete__outils { margin-left:auto; }
}
@media (max-width:520px){ .sv-entete .sv-btn--or { display:none; } }

/* --------------------------------------------------------------------------
   Grands menus par profil
   -------------------------------------------------------------------------- */
.sv-mega {
  position:absolute; left:0; right:0; top:100%; z-index:1;
  background:var(--ardoise-nuit); color:var(--creme);
  border-top:1px solid rgba(240,228,208,.08); border-bottom:1px solid rgba(199,155,82,.35);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.6);
  clip-path:inset(0 0 100% 0); visibility:hidden;
  transition:clip-path .55s var(--sv-ease), visibility 0s linear .55s;
}
.sv-mega.est-ouvert { clip-path:inset(0 0 0 0); visibility:visible; transition:clip-path .6s var(--sv-ease), visibility 0s; }
.sv-mega__grille {
  max-width:1320px; margin-inline:auto; padding:2.4rem var(--sv-gouttiere) 2.6rem;
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1.5fr) minmax(0,.95fr); gap:clamp(1.5rem,1rem + 2vw,3.2rem);
}
.sv-mega__intro figure { margin:0 0 1.3rem; aspect-ratio:16/9; overflow:hidden; position:relative; }
.sv-mega__intro img { width:100%; height:100%; object-fit:cover; transform:scale(1.08); transition:transform 1.4s var(--sv-ease); }
.sv-mega.est-ouvert .sv-mega__intro img { transform:scale(1); }
.sv-mega__intro figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(20,24,28,.55)); }
.sv-mega__sur { font:500 .68rem/1 var(--font-data); letter-spacing:.18em; text-transform:uppercase; color:var(--dore-clair); margin:0 0 .7rem; }
.sv-mega__titre { font:300 1.75rem/1.1 var(--font-titre); letter-spacing:-.02em; margin:0 0 .7rem; }
.sv-mega__titre em { font-style:italic; color:var(--dore-clair); }
.sv-mega__intro p:last-child { margin:0; font-size:.9rem; line-height:1.55; color:#B9B2A6; }
.sv-mega__liens { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 1.6rem; align-content:start; }
.sv-mega__liens a {
  display:block; padding:.95rem 0 .95rem; border-top:1px solid rgba(240,228,208,.09); color:inherit; text-decoration:none;
  transition:padding .45s var(--sv-ease);
}
.sv-mega__liens a:hover, .sv-mega__liens a:focus-visible { padding-left:.5rem; }
.sv-mega__liens b { display:flex; align-items:center; gap:.5rem; font:400 1.04rem/1.25 var(--font-titre); color:var(--creme); }
.sv-mega__liens b::after { content:"→"; font-family:var(--font-texte); font-size:.8rem; color:var(--dore-clair); opacity:0; transform:translateX(-4px); transition:opacity .35s, transform .45s var(--sv-ease); }
.sv-mega__liens a:hover b::after { opacity:1; transform:none; }
.sv-mega__liens span { display:block; margin-top:.3rem; font-size:.8rem; line-height:1.45; color:#9E978B; }
.sv-mega__carte {
  display:flex; flex-direction:column; justify-content:space-between; gap:1.4rem; padding:1.6rem 1.5rem;
  background:linear-gradient(160deg,rgba(199,155,82,.16),rgba(199,155,82,.03) 60%); border:1px solid rgba(199,155,82,.32);
  color:inherit; text-decoration:none; transition:border-color .4s, transform .6s var(--sv-ease);
}
.sv-mega__carte:hover { border-color:var(--dore-clair); transform:translateY(-3px); }
.sv-mega__carte small { font:500 .66rem/1 var(--font-data); letter-spacing:.18em; text-transform:uppercase; color:var(--dore-clair); }
.sv-mega__carte strong { display:block; font:300 1.5rem/1.15 var(--font-titre); margin:.7rem 0 .6rem; }
.sv-mega__carte p { margin:0; font-size:.86rem; line-height:1.5; color:#B9B2A6; }
.sv-mega__carte .sv-btn { align-self:flex-start; }
.sv-mega__chiffre { font:300 3.2rem/1 var(--font-titre); color:var(--dore-clair); letter-spacing:-.03em; }

.sv-voile { position:fixed; inset:0; z-index:110; background:rgba(10,12,14,.45); opacity:0; visibility:hidden; transition:opacity .5s, visibility 0s linear .5s; }
.sv-voile.est-visible { opacity:1; visibility:visible; transition:opacity .5s; }

/* --------------------------------------------------------------------------
   Menu mobile
   -------------------------------------------------------------------------- */
.sv-mobile {
  position:fixed; inset:var(--sv-h) 0 0 0; z-index:1; background:var(--ardoise-nuit); color:var(--creme);
  overflow-y:auto; overscroll-behavior:contain; padding:1rem var(--sv-gouttiere) 2.5rem;
  clip-path:inset(0 0 100% 0); visibility:hidden;
  transition:clip-path .6s var(--sv-ease), visibility 0s linear .6s;
}
.sv-mobile.est-ouvert { clip-path:inset(0 0 0 0); visibility:visible; transition:clip-path .6s var(--sv-ease), visibility 0s; }
.sv-mobile details { border-bottom:1px solid rgba(240,228,208,.1); }
.sv-mobile summary, .sv-mobile__lien {
  list-style:none; display:flex; justify-content:space-between; align-items:center; padding:1.15rem 0; cursor:pointer;
  font:300 1.55rem/1.1 var(--font-titre); color:var(--creme); text-decoration:none;
}
.sv-mobile__lien { border-bottom:1px solid rgba(240,228,208,.1); }
.sv-mobile summary::-webkit-details-marker { display:none; }
.sv-mobile summary::after { content:"+"; font:300 1.6rem/1 var(--font-titre); color:var(--dore-clair); transition:transform .45s var(--sv-ease); }
.sv-mobile details[open] summary::after { transform:rotate(45deg); }
.sv-mobile ul { list-style:none; margin:0 0 1rem; padding:0; }
.sv-mobile li a { display:block; padding:.6rem 0 .6rem .9rem; border-left:1px solid rgba(199,155,82,.35); color:#CFC7B8; text-decoration:none; font-size:.98rem; }
.sv-mobile li a:hover { color:var(--creme); border-left-color:var(--dore-clair); }
.sv-mobile__actions { display:grid; gap:.7rem; margin-top:2rem; }
.sv-mobile__actions .sv-btn { padding:1rem; font-size:.95rem; }

/* --------------------------------------------------------------------------
   Recherche globale
   -------------------------------------------------------------------------- */
.sv-recherche { position:fixed; inset:0; z-index:300; display:flex; justify-content:center; align-items:flex-start; padding:10vh 1rem 1rem; }
.sv-recherche[hidden] { display:none; }
.sv-recherche__fond { position:absolute; inset:0; background:rgba(14,17,20,.7); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); animation:sv-fondu .3s ease both; }
.sv-recherche__boite {
  position:relative; width:min(46rem,100%); max-height:78vh; display:flex; flex-direction:column;
  background:var(--parchemin); color:var(--encre); border-top:3px solid var(--dore); border-radius:3px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.65); overflow:hidden; animation:sv-monte .45s var(--sv-ease) both;
}
@keyframes sv-fondu { from { opacity:0; } }
@keyframes sv-monte { from { opacity:0; transform:translateY(18px) scale(.985); } }
.sv-recherche__champ { display:flex; align-items:center; gap:.8rem; padding:1rem 1.2rem; border-bottom:1px solid var(--pierre-claire); }
.sv-recherche__champ svg { width:20px; height:20px; color:var(--dore-profond); flex:none; }
.sv-recherche__champ input { flex:1; min-width:0; border:0; background:none; outline:none; font:400 1.2rem/1.3 var(--font-titre); color:var(--encre); }
.sv-recherche__champ button { border:1px solid var(--pierre-claire); background:none; border-radius:2px; padding:.35rem .5rem; font:500 .68rem/1 var(--font-data); color:var(--gris-texte); cursor:pointer; }
.sv-recherche__res { overflow-y:auto; padding:.5rem 0 .8rem; }
.sv-recherche__groupe { font:500 .66rem/1 var(--font-data); letter-spacing:.16em; text-transform:uppercase; color:var(--dore-profond); padding:1rem 1.2rem .4rem; }
.sv-recherche__item { display:block; padding:.75rem 1.2rem; text-decoration:none; color:inherit; border-left:3px solid transparent; }
.sv-recherche__item[aria-selected="true"], .sv-recherche__item:hover { background:var(--parchemin-creux); border-left-color:var(--dore); }
.sv-recherche__item b { display:block; font:500 1rem/1.3 var(--font-titre); }
.sv-recherche__item span { display:block; margin-top:.2rem; font-size:.84rem; line-height:1.45; color:var(--encre-douce); }
.sv-recherche__item mark { background:rgba(199,155,82,.3); color:inherit; padding:0 .1em; }
.sv-recherche__vide { padding:1.2rem; color:var(--gris-texte); font-size:.92rem; }
.sv-recherche__pied { display:flex; gap:1.2rem; padding:.7rem 1.2rem; border-top:1px solid var(--pierre-claire); font:500 .66rem/1 var(--font-data); letter-spacing:.08em; color:var(--gris-texte); }
.sv-recherche__suggestions { display:flex; flex-wrap:wrap; gap:.5rem; padding:.4rem 1.2rem 1rem; }
.sv-recherche__suggestions a { font-size:.84rem; padding:.45rem .7rem; border:1px solid var(--pierre-claire); border-radius:2px; color:var(--encre-douce); text-decoration:none; }
.sv-recherche__suggestions a:hover { border-color:var(--dore); color:var(--encre); }

/* --------------------------------------------------------------------------
   Barre de lecture, sommaire flottant, retour en haut
   -------------------------------------------------------------------------- */
.sv-lecture { position:fixed; left:0; top:0; z-index:130; height:2px; width:100%; background:var(--dore-clair); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.sv-flottant { position:fixed; right:var(--sv-gouttiere); bottom:1.2rem; z-index:90; display:flex; gap:.5rem; align-items:flex-end; }
.sv-flottant button {
  display:inline-flex; align-items:center; gap:.5rem; height:2.8rem; padding:0 1rem; border:0; border-radius:2px; cursor:pointer;
  background:var(--ardoise); color:var(--creme); font:500 .78rem/1 var(--font-data); letter-spacing:.08em; text-transform:uppercase;
  box-shadow:0 14px 30px -14px rgba(0,0,0,.6), inset 0 0 0 1px rgba(240,228,208,.14); opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity .45s, transform .55s var(--sv-ease), background-color .3s;
}
.sv-flottant.est-visible button { opacity:1; transform:none; pointer-events:auto; }
.sv-flottant button:hover { background:#2E363E; }
.sv-flottant .sv-haut { width:2.8rem; padding:0; justify-content:center; }
.sv-flottant svg { width:14px; height:14px; }
.sv-sommaire {
  position:fixed; right:var(--sv-gouttiere); bottom:4.6rem; z-index:91; width:min(22rem,calc(100vw - 2rem)); max-height:60vh; overflow:auto;
  background:var(--parchemin); color:var(--encre); border-top:3px solid var(--dore); border-radius:2px; padding:1.1rem 0 .8rem;
  box-shadow:0 30px 70px -25px rgba(0,0,0,.55);
  opacity:0; transform:translateY(10px); visibility:hidden; transition:opacity .35s, transform .45s var(--sv-ease), visibility 0s linear .45s;
}
.sv-sommaire.est-ouvert { opacity:1; transform:none; visibility:visible; transition:opacity .35s, transform .45s var(--sv-ease); }
.sv-sommaire p { margin:0 1.2rem .6rem; font:500 .66rem/1 var(--font-data); letter-spacing:.16em; text-transform:uppercase; color:var(--dore-profond); }
.sv-sommaire ol { list-style:none; margin:0; padding:0; counter-reset:s; }
.sv-sommaire a { display:grid; grid-template-columns:2rem 1fr; padding:.55rem 1.2rem; font-size:.88rem; line-height:1.35; color:var(--encre-douce); text-decoration:none; border-left:2px solid transparent; counter-increment:s; }
.sv-sommaire a::before { content:counter(s,decimal-leading-zero); font:500 .7rem/1.6 var(--font-data); color:var(--gris-texte); }
.sv-sommaire a:hover { background:var(--parchemin-creux); color:var(--encre); }
.sv-sommaire a.est-actif { border-left-color:var(--dore); color:var(--encre); background:var(--parchemin-creux); }
.sv-sommaire a.est-actif::before { color:var(--dore-profond); }

/* --------------------------------------------------------------------------
   Pied de page
   -------------------------------------------------------------------------- */
.sv-pied { background:var(--ardoise-nuit); color:#B9C0C7; font-family:var(--font-texte); font-size:.92rem; position:relative; overflow:hidden; }
.sv-pied a { color:inherit; }
.sv-pied__haut { max-width:1320px; margin-inline:auto; padding:clamp(4.5rem,3rem + 6vw,8.5rem) var(--sv-gouttiere) clamp(3rem,2rem + 3vw,5rem); display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:2rem; align-items:end; }
.sv-pied__accroche { margin:0; font:300 clamp(2.2rem,1.3rem + 3.6vw,4.8rem)/1.02 var(--font-titre); letter-spacing:-.03em; color:var(--creme); font-variation-settings:"opsz" 144; }
.sv-pied__accroche em { font-style:italic; color:var(--dore-clair); }
.sv-pied__actions { display:flex; flex-wrap:wrap; gap:.7rem; justify-content:flex-end; }
.sv-pied__actions .sv-btn { padding:1rem 1.3rem; font-size:.92rem; }
.sv-pied__actions .sv-btn--ligne { color:var(--creme); }
.sv-pied__pont { display:block; width:100%; height:auto; color:var(--dore-clair); }
.sv-pied__pont path { fill:none; stroke:currentColor; stroke-width:1; vector-effect:non-scaling-stroke; }
.sv-pied__pont .sv-pile { stroke:rgba(240,228,208,.18); }
.sv-pied__grille { max-width:1320px; margin-inline:auto; padding:3rem var(--sv-gouttiere) 2.5rem; display:grid; grid-template-columns:1.3fr repeat(4,minmax(0,1fr)) minmax(17rem,1.5fr); gap:2rem; }
.sv-pied__marque { display:flex; align-items:center; gap:.7rem; font:400 1.25rem/1 var(--font-titre); color:var(--creme); text-decoration:none; margin-bottom:1rem; }
.sv-pied__marque img { width:34px; }
.sv-pied__grille > div:first-child p { margin:0; font-size:.86rem; line-height:1.55; max-width:28ch; }
.sv-pied h2 { font:500 .68rem/1 var(--font-data); letter-spacing:.16em; text-transform:uppercase; color:var(--dore-clair); margin:0 0 1.1rem; }
.sv-pied ul { list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.sv-pied ul a { text-decoration:none; color:#C3BCB0; transition:color .3s; }
.sv-pied ul a:hover { color:var(--creme); }
.sv-pied .site-footer__lettre { grid-column:auto; grid-row:auto; max-width:none; margin:0; padding:1.4rem; background:var(--ardoise-haute); border:1px solid rgba(199,155,82,.3); border-radius:2px; }
.sv-pied .site-footer__lettre h2 { margin-bottom:.5rem; }
.sv-pied .lettre-titre { font:300 1.35rem/1.2 var(--font-titre); color:var(--creme); margin:0 0 .4rem; }
.sv-pied .lettre-texte p { margin:0 0 1rem; font-size:.84rem; }
.sv-pied .lettre-label, .sv-pied .lettre-pot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.sv-pied .lettre-champs { display:grid; gap:.55rem; }
.sv-pied .lettre-champs input { width:100%; box-sizing:border-box; padding:.85rem .9rem; font:inherit; color:var(--creme); background:transparent; border:1px solid rgba(240,228,208,.25); border-radius:2px; }
.sv-pied .lettre-champs input:focus { outline:none; border-color:var(--dore-clair); }
.sv-pied .lettre-champs input[aria-invalid="true"] { border-color:#E8A48C; }
.sv-pied .lettre-champs .btn { width:100%; justify-content:center; display:inline-flex; padding:.85rem; border:0; border-radius:2px; background:var(--dore-bouton); color:var(--encre); font:600 .88rem/1 var(--font-texte); cursor:pointer; }
.sv-pied .lettre-champs .btn:hover { background:var(--creme); }
.sv-pied .lettre-statut { margin:.7rem 0 0; color:var(--creme); font-size:.85rem; }
.sv-pied .lettre-statut--err { color:#F0B8A8; }
.sv-pied .lettre-mention { margin:.7rem 0 0; font-size:.74rem; line-height:1.5; color:var(--gris-clair); }
.sv-pied__bas { max-width:1320px; margin-inline:auto; padding:1.4rem var(--sv-gouttiere) 2rem; border-top:1px solid rgba(240,228,208,.08); display:flex; flex-wrap:wrap; justify-content:space-between; gap:.8rem 1.6rem; font:400 .74rem/1.5 var(--font-data); letter-spacing:.04em; color:#7D848B; }
.sv-pied__bas nav { display:flex; flex-wrap:wrap; gap:1.2rem; }
.sv-pied__bas a { text-decoration:none; }
.sv-pied__bas a:hover { color:var(--creme); }
@media (max-width:1180px){ .sv-pied__grille { grid-template-columns:repeat(4,minmax(0,1fr)); } .sv-pied__grille > div:first-child, .sv-pied__grille > .site-footer__lettre { grid-column:span 2; } }
@media (max-width:760px){
  .sv-pied__haut { grid-template-columns:1fr; } .sv-pied__actions { justify-content:flex-start; }
  .sv-pied__grille { grid-template-columns:1fr 1fr; } .sv-pied__grille > div:first-child, .sv-pied__grille > .site-footer__lettre { grid-column:1 / -1; }
}

@media (prefers-reduced-motion:reduce){
  .sv-mega, .sv-mobile, .sv-sommaire, .sv-entete, .sv-btn::after { transition:none !important; }
  .sv-recherche__fond, .sv-recherche__boite { animation:none; }
}
@media print { .sv-entete, .sv-pied, .sv-flottant, .sv-sommaire, .sv-lecture { display:none !important; } }
