/* ══════════════════════════════════════════════════════════════
   THÈME « ÎLE ROUGE » — Direction retenue
   Dominante claire lumineuse en continu. Le sombre n'existe qu'en
   voile derrière les photos. Signature : rouge latérite #B0371B.
   Typographie : Fraunces (titres) + Archivo (corps).
   Chargé APRÈS styles.css sur les 9 pages. Marche arrière : retirer ce lien.
   ══════════════════════════════════════════════════════════════ */

:root{
  /* Palette Île Rouge */
  --ink:#26201A;             /* brun-noir : texte principal */
  --dark-ink:#1A120D;        /* brun nuit : voiles photo uniquement */
  --brume:#5A4A3E;
  --warm-gray:#8A7B6C;       /* taupe */
  --cream:#F1E8D8;           /* sable : fonds secondaires, cartes */
  --lin:#FAF6ED;             /* ivoire lumineux : fond principal */

  /* Signature latérite (remplace l'or) */
  --gold:#B0371B;            /* rouge latérite : accent unique */
  --muted-gold:#8C2B14;      /* latérite brûlée : hover, appuis, fonds clairs */
  --champagne:#D97B54;       /* latérite éclaircie : accents SUR PHOTO sombre */
  --accent-rgb:176,55,27;
  --accent-deep-rgb:140,43,20;
  --gold-glow:rgba(176,55,27,.35);
  --gold-faint:rgba(176,55,27,.08);

  /* Secondaires disciplinées */
  --forest:#2E4A33;          /* vert forêt : touches nature */
  --amber:#D9932C;           /* ambre : calendrier */

  /* Typographie */
  --font-serif:'Fraunces',serif;
}

/* ════════ 1 · DOMINANTE CLAIRE CONTINUE ════════ */
body{
  background:var(--lin);
  color:var(--ink);
  font-family:'Archivo',sans-serif;
  background-image:none;
}
/* Les sections claires deviennent la norme : fond transparent, le body porte la lumière */
.chapter-light{background:transparent;}
/* Corps de texte : Archivo remplace DM Sans partout où DM Sans était en dur */
button,input,textarea,select{font-family:'Archivo',sans-serif;}

/* ════════ 2 · NAVIGATION CLAIRE ════════ */
nav.scrolled{background:rgba(250,246,237,.96);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(38,32,26,.08);}
nav.scrolled .nav-links a{color:rgba(38,32,26,.78);}
nav.scrolled .nav-links a:hover{color:var(--gold);}
nav.scrolled .logo-zeno{color:var(--ink);}
nav.scrolled .logo-sub{color:var(--muted-gold);}
nav.scrolled .logo-rule{background:rgba(var(--accent-rgb),.5);}
nav.scrolled .lang-btn{color:rgba(38,32,26,.55);}
nav.scrolled .nav-caret{border-color:rgba(38,32,26,.45);}
nav.scrolled .burger span{background:var(--ink);}
/* Dropdown sous-menu : panneau clair */
.nav-sub{background:rgba(250,246,237,.98);border-color:rgba(var(--accent-rgb),.22);box-shadow:0 18px 44px -18px rgba(38,32,26,.25);}
.nav-sub a{color:rgba(38,32,26,.8);}
.nav-sub a:hover{background:rgba(var(--accent-rgb),.08);color:var(--gold);}
.nav-overlay .ov-sub{color:rgba(217,123,84,.75);}
/* Au repos sur hero photo : la nav reste lisible (texte ivoire sur voile) : inchangé */
.nav-links a::after{background:var(--gold);}
.nav-cta{background:var(--gold);color:var(--lin);border-color:var(--gold);}
.nav-cta:hover{background:var(--muted-gold);box-shadow:0 8px 20px -8px var(--gold-glow);}
/* Menu mobile : voile brun nuit (moment immersif assumé, pas une "section sèche") */
.nav-overlay{background:rgba(26,18,13,.97);}

/* ════════ 3 · TITRES CLAIRS PAR DÉFAUT ════════
   Les composants qui supposaient un fond sombre passent au brun. */
.section-title,.opener-title,.cta-band-title,.mada-cal-title{color:var(--ink);}
.opener-lead{color:rgba(38,32,26,.72);}
.section .prose,.prose{color:rgba(38,32,26,.78);}
/* Fraunces est plus large que Cormorant : léger resserrage */
.hero-title{letter-spacing:0;}
.hero-title em,.opener-title em,.cta-band-title em,.teaser-title em{font-weight:340;}

/* Sur photo (hero, teaser, fiches circuit) : textes ivoire conservés */
.hero-title,.hero .hero-eyebrow~*,.teaser-title,.circ-hero-name{color:#F6F0E4;}
.hero-eyebrow{color:var(--champagne);}

/* ════════ 4 · FOOTER BRUN NUIT : l'ancrage final, distinct de tout le reste ════════ */
footer{background:#1A120D;border-top:2px solid var(--gold);}
footer,footer a,.foot-col a,.foot-col span{color:rgba(242,234,222,.72);}
footer a:hover,.foot-col a:hover{color:var(--champagne);}
footer .logo-zeno,.foot-brand,.foot-logo{color:#F2EADE;}
footer .logo-sub{color:var(--champagne);}
footer .logo-rule{background:rgba(217,123,84,.5);}
.foot-copy,.foot-bottom{color:rgba(242,234,222,.45);}
footer .ic,.foot-social a{color:rgba(242,234,222,.55);}
footer a:hover .ic,.foot-social a:hover{color:var(--champagne);}
.foot-bottom .lang-btn{color:rgba(242,234,222,.55);}
.foot-bottom .lang-btn:hover{color:var(--champagne);}
footer .foot-col-t{color:var(--champagne);}

/* ════════ 5 · CTA BAND CLAIRE (respiration, pas un bloc sombre) ════════ */
.cta-band{background:var(--cream);}
.cta-band::before{background:radial-gradient(ellipse 58% 78% at 50% 50%,rgba(var(--accent-rgb),.09) 0%,transparent 72%);}
.cta-band-title{color:var(--ink);}
.cta-band-title em{color:var(--gold);}
.cta-band .btn{border-color:var(--gold);color:var(--gold);}
.cta-band .btn:hover{background:var(--gold);color:var(--lin);}

/* ════════ 6 · FICHES CIRCUITS EN CLAIR ════════ */
.circ-block-label{color:var(--muted-gold);}
.itin-day-t{color:var(--ink);}
.itin-day-p{color:rgba(38,32,26,.68);}
.itin-num{border-color:rgba(var(--accent-rgb),.4);color:var(--muted-gold);background:transparent;}
.itin-day::before{background:rgba(var(--accent-rgb),.25);}
.itin-day:hover .itin-num{background:var(--gold);color:var(--lin);border-color:var(--gold);}
.circ-price-note,.circ-price-label{color:var(--muted-gold);}
.meta-card{border-color:rgba(var(--accent-rgb),.2);background:rgba(var(--accent-rgb),.035);}
.circ-gallery-cell{background-color:var(--cream);}

/* ════════ 7 · PAGE LÉGALE : EN-TÊTE CLAIR (plus de bloc sombre sec) ════════ */
.legal-header{background:var(--cream);}
.legal-h1{color:var(--ink);}
.legal-eyebrow{color:var(--muted-gold);}

/* ════════ 8 · CALENDRIER DES SAISONS RECOLORÉ ════════
   Ambre / lagon / végétal / taupe : 4 teintes distinctes, latérite préservée pour la signature */
.cal-cell.on1{background:linear-gradient(90deg,#D9932C,#E7AC50);}
.cal-cell.on2{background:#3E6E62;}
.cal-cell.on3{background:#6B8E4E;}
.cal-cell.off{background:#B3A695;}
.cal-leg.l1::before{background:linear-gradient(90deg,#D9932C,#E7AC50);}
.cal-leg.l2::before{background:#3E6E62;}
.cal-leg.l3::before{background:#6B8E4E;}
.cal-leg.l4::before{background:#B3A695;}
.season-card.s1::before{background:linear-gradient(180deg,#D9932C,#E7AC50);}
.season-card.s2::before{background:#3E6E62;}
.season-card.s3::before{background:#B3A695;}
.season-card.s4::before{background:#6B8E4E;}
.season-card.s1 .season-icn{background:rgba(217,147,44,.14);color:#A8701F;}
.season-card.s2 .season-icn{background:rgba(62,110,98,.13);color:#2E5248;}
.season-card.s3 .season-icn{background:rgba(179,166,149,.2);color:#6E6354;}
.season-card.s4 .season-icn{background:rgba(107,142,78,.14);color:#4E6A38;}
.season-card.s2 .season-badge{color:#2E5248;}
.season-card.s3 .season-badge{color:#6E6354;}
.season-card.s4 .season-badge{color:#4E6A38;}

/* ════════ 9 · PRÉSENTATION DES IMAGES : SIGNATURES ÉDITORIALES ════════ */
/* a. Cadre décalé latérite : un filet fin qui déborde du cadre (magazine) */
.story-img,.mada-split-img,.mada-full,.mada-season-img{position:relative;}
.story-img::before,.mada-split-img::before,.mada-season-img::before{
  content:'';position:absolute;inset:0;border:1px solid rgba(var(--accent-rgb),.55);
  border-radius:inherit;transform:translate(14px,14px);pointer-events:none;z-index:-1;
}
/* (désaturation retirée à la demande : les images gardent leur traitement d'origine) */
/* c. Reveal des images éditoriales : voile sable qui se retire (CSS pur, sans dépendance JS) */
@media (prefers-reduced-motion: no-preference){
  .story-img::after,.mada-split-img::after{
    animation:none;
  }
}
@media(max-width:760px){
  /* mobile first : le cadre décalé se replie pour ne rien faire déborder */
  .story-img::before,.mada-split-img::before,.mada-season-img::before{transform:translate(8px,8px);}
}

/* ════════ 10 · BOUTONS & INTERACTIONS ════════ */
.btn{border-color:rgba(var(--accent-rgb),.6);color:var(--gold);}
.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--lin);}
.btn-solid{background:var(--gold);color:var(--lin);}
.btn-solid:hover{background:var(--muted-gold);box-shadow:0 16px 34px -12px var(--gold-glow);}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
::selection{background:rgba(176,55,27,.85);color:var(--lin);}
::-moz-selection{background:rgba(176,55,27,.85);color:var(--lin);}

/* ════════ 11 · ANIMATIONS AFFINÉES ════════ */
:root{--ease-premium:cubic-bezier(.22,1,.36,1);}
.btn,.btn-solid,.nav-links a,.circ-card,.season-card,.app-card,.faq-pill,.to-top{
  transition-timing-function:var(--ease-premium);
}
.circ-card:hover,.season-card:hover{transform:translateY(-6px);}
.to-top{background:var(--ink);}
.to-top:hover{background:var(--gold);}

/* ════════ 12 · DIVERS COHÉRENCE ════════ */
html{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.4) var(--cream);}
::-webkit-scrollbar{width:9px;}
::-webkit-scrollbar-track{background:var(--cream);}
::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.38);border-radius:5px;border:2px solid var(--cream);}
::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.6);}
.sect-rule::before,.sect-rule::after{background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.4));}
.sect-rule::after{background:linear-gradient(90deg,rgba(var(--accent-rgb),.4),transparent);}
.sect-rule-dot{background:rgba(var(--accent-rgb),.5);}

/* Placeholders d'images en attente : sable hachuré chaud */
.lazy-bg:not([style*="background-image"]){background-image:linear-gradient(150deg,#E8DECB 0%,#F1E8D8 55%,#EDE2CE 100%);}

/* ════════ 13 · COMPLÉMENTS FOND CLAIR (textes pensés pour l'ancien fond sombre) ════════ */
/* Liste des circuits (circuits.html) */
.circ-row{color:var(--ink);}
.circ-row-name{color:var(--ink);}
.circ-row-desc{color:rgba(38,32,26,.7);}
/* Bloc prix des fiches */
.circ-price-value{color:var(--ink);}
/* Philosophie (approche) */
.statement-key{color:var(--ink);}
/* KPI Madagascar */
.mada-stat-label{color:rgba(38,32,26,.66);}
.mada-strip-name{color:#F6F0E4;} /* reste sur image : ivoire conservé */
/* Bande CTA */
.cta-band-sub{color:rgba(38,32,26,.62);}
/* Formulaire de contact sur fond clair */
.cf-inp,.cf-ta,.cf-sel{color:var(--ink);border-bottom-color:rgba(38,32,26,.25);}
.cf-inp:focus,.cf-ta:focus,.cf-sel:focus{border-bottom-color:var(--gold);}
.cf-inp::placeholder,.cf-ta::placeholder{color:rgba(38,32,26,.35);}
.cf-sel option{background:var(--lin);color:var(--ink);}
.calt-q{color:rgba(140,43,20,.8);}
/* Nav au repos sur les pages sans hero photo (mentions légales, 404) */
body.page-light nav .logo-zeno,
body.page-light nav .nav-links a{color:var(--ink);}
body.page-light nav .nav-links a:hover{color:var(--gold);}
body.page-light nav .lang-btn{color:rgba(38,32,26,.55);}
body.page-light nav .burger span{background:var(--ink);}

/* ════════ 14 · VOILES PHOTO EN BRUN NUIT (au lieu du bleu-noir) ════════ */
.hero-overlay{background:linear-gradient(to bottom,rgba(26,18,13,.22) 0%,rgba(26,18,13,0) 30%,rgba(26,18,13,.45) 62%,rgba(26,18,13,.93) 100%);}
.circ-hero-veil{background:linear-gradient(to top,rgba(26,18,13,.94) 0%,rgba(26,18,13,.3) 55%,rgba(26,18,13,.5) 100%);}
.teaser-veil,.teaser::before{background-color:rgba(26,18,13,.55);}

/* ════════ 15 · CHASSE AUX TEXTES FANTÔMES (ivoire sur ivoire) ════════
   Tous les composants encore pensés pour l'ancien fond sombre. */

/* Fiches circuits : citation d'ouverture, chapeau, corps de texte */
.circ-accroche{color:rgba(38,32,26,.85);border-left-color:var(--gold);}
.circ-lead{color:rgba(38,32,26,.72);}
.circ-text{color:rgba(38,32,26,.74);}
.circ-text em{color:var(--muted-gold);}

/* Inclus / non inclus */
.incl-col h4{color:var(--muted-gold);}
.incl-col li{color:rgba(38,32,26,.76);border-bottom-color:rgba(var(--accent-deep-rgb),.14);}
.incl-col li.li-ic .ic{color:var(--gold);}
.incl-col.excl li{color:rgba(38,32,26,.55);}
.incl-col.excl li.li-ic .ic{color:rgba(38,32,26,.35);}
.incl-col.excl li::before{background:rgba(38,32,26,.3);}

/* Liste des circuits (circuits.html) : le panneau sombre devient sable */
.circ-row{background:var(--cream);box-shadow:0 24px 60px -34px rgba(38,32,26,.22);}
.circ-row-media::after{background:linear-gradient(90deg,transparent,rgba(38,32,26,.06));}

/* Cartes méthode (approche) */
.app-card-t{color:var(--ink);}
.app-card-p{color:rgba(38,32,26,.72);}

/* Message de succès du formulaire */
.csuccess-t{color:var(--muted-gold);}

/* Bande CTA : hairline haute pour la détacher du contenu ivoire */
.cta-band{border-top:1px solid rgba(var(--accent-rgb),.18);}

/* Contact : colonne gauche (lead + réassurance) sur fond clair */
.ct-lead{color:rgba(38,32,26,.8);}
.ct-trust-item{color:rgba(38,32,26,.68);}


/* ════════ 16 · EN-TÊTES DE PAGE SOBRES (contact, FAQ) ════════ */
.page-head .hero-title{color:var(--ink);}
.page-head .hero-eyebrow{color:var(--gold);}
.page-head .hero-title em{color:var(--muted-gold);}

/* ════════ 17 · SIGNATURES : underline nav, sélection, focus, micro-interactions ════════ */
/* Hairline qui se dessine sous les liens de navigation (desktop) */
.nav-links>li>a{position:relative;}
.nav-links>li>a::after{
  content:"";position:absolute;left:0;right:auto;bottom:-5px;height:1px;width:100%;
  background:currentColor;transform:scaleX(0);transform-origin:right center;
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.nav-links>li>a:hover::after,.nav-links>li>a.active::after{transform:scaleX(1);transform-origin:left center;}

/* Sélection de texte aux couleurs de la maison */
::selection{background:rgba(var(--accent-rgb),.18);color:var(--ink);}

/* Focus clavier élégant */
:focus-visible{outline:2px solid rgba(var(--accent-rgb),.65);outline-offset:3px;border-radius:2px;}

/* La flèche des liens circuits glisse, le label de zone respire */
.circ-row-link{transition:gap .4s cubic-bezier(.22,1,.36,1),color .3s;}
.circ-row:hover .circ-row-link{gap:1.1rem;}
.circ-card-zone,.circ-row-zone{transition:letter-spacing .5s cubic-bezier(.22,1,.36,1),color .3s;}
.circ-card:hover .circ-card-zone,.circ-row:hover .circ-row-zone{letter-spacing:.34em;}


/* ── LOT 3B.2 — photos réelles injectées au build (<picture class="zimg">) ──
   Le conteneur garde sa mise en page ; la photo le remplit en object-fit:cover.
   .has-zimg reprend les règles « image présente » prévues pour les anciens
   placeholders (bordure pointillée et étiquette masquées, voile conservé). */
.zimg{position:absolute;inset:0;display:block;width:100%;height:100%;}
.zimg img{display:block;width:100%;height:100%;object-fit:cover;}
.g-img.has-zimg{position:relative;overflow:hidden;}
.mada-full.has-zimg,.mada-split-img.has-zimg,.mada-season-img.has-zimg,.story-img.has-zimg{border:none;}
.mada-full.has-zimg::after,.mada-split-img.has-zimg::after,.mada-season-img.has-zimg::after,
.story-img.has-zimg::after,.team-photo.has-zimg::after{content:none;}
.mada-split-img.has-zimg::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,18,13,.05),rgba(26,18,13,.18));z-index:1;}

/* LOT 3B.2 correctif — bande « paysages » : photo présente = plus de hachures ni d'étiquette centrale,
   voile bas et légende visibles (mêmes règles que l'ancien état [style*="background-image"]). */
.mada-strip-cell.has-zimg{border:none;}
.mada-strip-cell.has-zimg::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,18,13,.85) 0%,rgba(26,18,13,.1) 55%,transparent 100%);z-index:1;}
.mada-strip-cell.has-zimg .mada-strip-body{opacity:1;}
.mada-strip-cell.has-zimg .mada-strip-placeholder{display:none;}

/* ══ LOT 3B.3 — branding final : masters officiels, bascule nav, footer ══
   Les trois exports partagent un canevas identique (ratio 1,16) : la bascule
   hero ↔ scroll se fait dans la même boîte, sans décalage ni CLS. */
.nav-logo{position:relative;display:block;flex:none;width:60px;height:52px;line-height:0;}
.nav-logo .logo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .35s cubic-bezier(.22,1,.36,1);}
.nav-logo .logo-img--light-bg{opacity:0;}
/* Fond clair (nav au scroll, pages à en-tête clair) → logo foncé : ZENO ink + Ravinala gold */
nav.scrolled .nav-logo .logo-img--light-bg,body.page-light nav .nav-logo .logo-img--light-bg{opacity:1;}
nav.scrolled .nav-logo .logo-img--dark-bg,body.page-light nav .nav-logo .logo-img--dark-bg{opacity:0;}
/* Menu mobile ouvert (overlay brun nuit) → version pour fond sombre, quel que soit l'état de la nav */
nav:has(.nav-burger[aria-expanded="true"]) .nav-logo .logo-img--dark-bg{opacity:1;}
nav:has(.nav-burger[aria-expanded="true"]) .nav-logo .logo-img--light-bg{opacity:0;}
@media(max-width:960px){.nav-logo{width:51px;height:44px;}}
/* Footer: transparent official ivory/gold logo. */
.foot-logo{opacity:1;display:inline-block;line-height:0;}
.foot-logo-img{display:block;width:97px;height:84px;}

/* ══ LOT 3B.3 — micro-QA ══ */
/* Menu mobile : le JS (components.js) pose .is-open ; seul .open était stylé → overlay invisible et page bloquée */
.nav-overlay.is-open{opacity:1;pointer-events:all;}
/* Bande paysages Madagascar : sous-titres (EST · ANDASIBE…) lisibles sur le voile */
.mada-strip-cell.has-zimg .mada-strip-sub{color:rgba(250,246,237,.88);text-shadow:0 1px 2px rgba(26,18,13,.55);}
.mada-strip-cell.has-zimg::before{background:linear-gradient(to top,rgba(26,18,13,.9) 0%,rgba(26,18,13,.6) 32%,rgba(26,18,13,.18) 60%,transparent 100%);}
/* Menu mobile ouvert : le « × » de l'overlay est la seule commande de fermeture (le bouton menu
   de la nav le recouvrait) ; contenu aligné sous la barre du haut et défilable sur petits écrans. */
nav:has(.nav-burger[aria-expanded="true"]) .nav-right{visibility:hidden;}
nav:has(.nav-burger[aria-expanded="true"]){pointer-events:none;}
nav:has(.nav-burger[aria-expanded="true"]) .nav-logo{pointer-events:auto;}
@media(max-width:960px){
  .nav-overlay{justify-content:flex-start;overflow-y:auto;padding:6.5rem 1.5rem 2.5rem;gap:1.7rem;}
}
/* Contraste sur hero : voile brun nuit légèrement renforcé en haut (navigation) et à mi-hauteur
   (surtitre), sans fond derrière les textes ; ombre de texte très légère sur les petits textes. */
.hero-overlay{background:linear-gradient(to bottom,rgba(26,18,13,.64) 0%,rgba(26,18,13,.14) 24%,rgba(26,18,13,.5) 46%,rgba(26,18,13,.7) 66%,rgba(26,18,13,.94) 100%);}
.circ-hero-veil{background:linear-gradient(to top,rgba(26,18,13,.94) 0%,rgba(26,18,13,.42) 55%,rgba(26,18,13,.62) 100%);}
body:not(.page-light) nav:not(.scrolled) .nav-links > li > a,body:not(.page-light) nav:not(.scrolled) .lang-btn{text-shadow:0 1px 3px rgba(26,18,13,.6);}
.hero-eyebrow,.circ-hero-zone{text-shadow:0 1px 3px rgba(26,18,13,.7);}
/* Liens de navigation sur hero : ivoire 88 % ; actif / survol en ivoire plein, l'accent étant porté par le filet latérite éclaircie */
body:not(.page-light) nav:not(.scrolled) .nav-links > li > a{color:rgba(250,246,237,.88);}
body:not(.page-light) nav:not(.scrolled) .nav-links > li > a:hover,body:not(.page-light) nav:not(.scrolled) .nav-links > li > a.active{color:#FAF6ED;}
body:not(.page-light) nav:not(.scrolled) .nav-links > li > a::after{background:var(--champagne);}

/* ══ LOT 3B.3 — correctif final ChatGPT : logo transparent + contraste hero ══ */
/* Le master officiel clair sur fond sombre est maintenant réellement transparent : aucun blend hack. */
body:not(.page-light) .hero-eyebrow,
body:not(.page-light) .circ-hero-zone{color:rgba(250,246,237,.96);}
body:not(.page-light) .hero-eyebrow::before{background:var(--champagne);}
body:not(.page-light) nav:not(.scrolled) .nav-links > li > a{color:rgba(250,246,237,.96);}
body:not(.page-light) nav:not(.scrolled) .nav-links > li > a:hover,
body:not(.page-light) nav:not(.scrolled) .nav-links > li > a.active{color:#FAF6ED;}
body:not(.page-light) nav:not(.scrolled) .nav-caret{border-color:rgba(250,246,237,.72);}
body:not(.page-light) nav:not(.scrolled) .nav-burger span{background:rgba(250,246,237,.82);}
nav.scrolled .nav-burger span,body.page-light nav .nav-burger span{background:var(--ink);}
/* Renforce uniquement la zone haute du hero pour sécuriser le contraste nav sur les ciels clairs. */
.hero-overlay{background:linear-gradient(to bottom,rgba(26,18,13,.72) 0%,rgba(26,18,13,.20) 26%,rgba(26,18,13,.50) 46%,rgba(26,18,13,.70) 66%,rgba(26,18,13,.94) 100%);}

/* LOT 4A: functional fallbacks and keyboard access. */
.nav-overlay{visibility:hidden;}.nav-overlay.is-open{visibility:visible;}
.nav-sub{visibility:hidden;}.nav-links li.has-sub:hover .nav-sub,.nav-links li.has-sub:focus-within .nav-sub{visibility:visible;}
.nav-overlay .ov-sub{color:#E6AC8E;}.nav-overlay .ov-cta{color:#FAF6ED;border-color:#D97B54;}
.nav-overlay .ov-link:hover,.nav-overlay .ov-sub:hover{color:#F1E8D8;}.nav-overlay .nav-close:hover{color:#FAF6ED;}
.to-top:not(.is-visible),.wa-fab:not(.is-on){visibility:hidden;}
.zeno-enhanced .faq-acc-item:not(.open) .faq-acc-body{visibility:hidden;}.zeno-enhanced .faq-acc-item.open .faq-acc-body{visibility:visible;}
.cf-validation{color:#8C2B14;line-height:1.6;margin-top:1rem;}
.hero-pause{position:absolute;z-index:5;right:2rem;bottom:1rem;min-height:44px;min-width:72px;padding:.5rem .8rem;background:rgba(26,18,13,.72);color:#FAF6ED;border:1px solid rgba(250,246,237,.5);border-radius:2px;font:500 11px Archivo,sans-serif;letter-spacing:.08em;cursor:pointer;}
.hero-pause:focus-visible{outline:2px solid #D97B54;outline-offset:3px;}
html:not(.zeno-enhanced) .hero-eyebrow,html:not(.zeno-enhanced) .hero-cta-wrap,html:not(.zeno-enhanced) .circ-card,html:not(.zeno-enhanced) .trust-item,html:not(.zeno-enhanced) .reveal,html:not(.zeno-enhanced) .ed-row,html:not(.zeno-enhanced) .circ-row,html:not(.zeno-enhanced) .circ-back,html:not(.zeno-enhanced) .circ-hero-zone,html:not(.zeno-enhanced) .app-philo,html:not(.zeno-enhanced) .mada-strip-body{opacity:1!important;transform:none!important;}
html:not(.zeno-enhanced) .hero-title .line span,html:not(.zeno-enhanced) .circ-hero-name .line span{transform:none!important;}
html:not(.zeno-enhanced) .faq-acc-body{max-height:none;overflow:visible;visibility:visible;}
html:not(.zeno-enhanced) .faq-search,html:not(.zeno-enhanced) .faq-filters{display:none;}
html:not(.zeno-enhanced) .wa-fab{visibility:visible;opacity:1;transform:none;}
@media(max-width:960px){
html:not(.zeno-enhanced) nav{position:relative;background:#FAF6ED;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem;}
html:not(.zeno-enhanced) nav .nav-links{display:flex;order:3;width:100%;flex-wrap:wrap;gap:1.3rem;}
html:not(.zeno-enhanced) body nav .nav-links>li>a{color:#26201A;text-shadow:none;}
html:not(.zeno-enhanced) nav .nav-burger{display:none;}
html:not(.zeno-enhanced) nav .nav-logo .logo-img--light-bg{opacity:1;}html:not(.zeno-enhanced) nav .nav-logo .logo-img--dark-bg{opacity:0;}
html:not(.zeno-enhanced) nav .nav-caret{border-color:#26201A;}}
/* Readable secondary copy on existing light backgrounds. */
.ed-n,.circ-row-zone .circ-row-days,.circ-row-meta,.itin-note,.mada-kpi-l,.cal-month,.cf-lbl,.cf-note,.cta-band-sub,.cta-quick a,.legal-dl dt,.calt-line,.incl-col h3,.incl-col h4,.incl-col.excl li{color:#5A4A3E;}
.cta-band-inner>p[style]{color:#5A4A3E!important;}
.cf-inp::placeholder,.cf-ta::placeholder,.faq-search input::placeholder{color:#5A4A3E;opacity:1;}
.faq-pill.active{color:#FAF6ED;}.foot-copy{color:rgba(250,246,237,.72);}
.circ-card-zone,.circ-card-meta,.circ-back,.circ-back:hover{color:#FAF6ED;}
.teaser .teaser-p,.teaser .teaser-p em,.teaser .inline-link,.teaser .btn{color:#FAF6ED;}.teaser .btn{border-color:#FAF6ED;}
