@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap');

/* ============================================================================
   CHÂTEAU DE MÉRY — CHARTE
   Palette dérivée des armes (source unique de vérité).

   Palette PRÉLEVÉE sur le panneau/blason (valeurs réelles, échantillonnées).
   Cette couche « JETONS » reste l'unique endroit à modifier ; tout le site suit.

   Discipline (non négociable, c'est ce qui empêche l'effet « cirque ») :
   • OR      → boutons d'action UNIQUEMENT. Jamais en aplat de fond.
   • AZUR    → registre institutionnel : bandeaux, libellés, patrimoine.
   • GUEULES → < 1 % de la surface : badges d'état et compte à rebours.
   • PARCHEMIN porte le corps ; l'azur ne fait que ponctuer.
   ========================================================================= */

:root{
  /* ---- JETONS (prélevés sur les armes) ---- */
  --parchemin:#F4ECD9;        /* fond — clair dérivé du fauve des lévriers (#FFD99A) */
  --parchemin-tint:#EADFC6;   /* bandes secondaires */
  --encre:#241412;            /* encre réelle des armes : texte + surfaces sombres */
  --encre-soft:#5B5044;       /* corps de texte */
  --azur:#06649A;             /* azur de l'écu central : registre institutionnel */
  --or:#FCBA42;               /* or des rayures/bannière : ACTION, et rien d'autre */
  --or-deep:#E39F24;          /* survol des boutons */
  --gueules:#D41618;          /* gueules des armes : accent vif < 1 % — badges, compte à rebours */
  --rule:#E0D4BC;             /* filets */

  /* ---- ALIAS de compatibilité ----
     L'ancien HTML de Cosme (y compris les styles inline var(--moss-light),
     var(--clay), var(--stone-dark)) continue de fonctionner sans retouche. */
  --stone:var(--parchemin-tint);
  --stone-dark:#EBC98A;       /* or clair : sur-titres sur héros sombre, sous-marque nav */
  --ink:var(--encre);
  --ink-soft:var(--encre-soft);
  --moss:var(--azur);         /* bandeau de don, appel au don, nav pleine */
  --moss-light:var(--gueules);/* badges « Inscriptions ouvertes » */
  --clay:var(--azur);         /* libellés de section, années timeline, focus */
  --paper:var(--parchemin);

  --wrap:1180px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px;}

/* ---------- BANDEAU DE DON ---------- */
/* Bande azur institutionnelle ; l'unique action de la bande est en OR. */
.donate-bar{background:var(--moss);color:var(--paper);font-size:14px;padding:10px 24px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;text-align:center;}
.donate-bar strong{font-weight:600;}
.donate-bar .btn-small{background:var(--or);color:var(--encre);padding:6px 16px;border-radius:2px;font-weight:600;font-size:13px;white-space:nowrap;transition:transform .15s ease,background .15s ease;}
.donate-bar .btn-small:hover{background:var(--or-deep);transform:translateY(-1px);}

/* ---------- NAVIGATION ---------- */
.site-nav{position:absolute;top:0;left:0;right:0;z-index:20;}
.site-nav.solid{position:relative;background:var(--encre);}
.nav-inner{max-width:var(--wrap);margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;}
.brand{font-family:'Fraunces',serif;font-size:20px;font-weight:500;color:var(--paper);}
.brand span{display:block;font-family:'Inter',sans-serif;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--stone-dark);margin-top:2px;}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{font-size:14px;font-weight:500;color:var(--paper);position:relative;padding-bottom:4px;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--or);transition:width .25s ease;}
.nav-links a:hover::after,.nav-links a.current::after{width:100%;}
.nav-toggle{display:none;background:none;border:none;color:var(--paper);font-size:24px;cursor:pointer;z-index:30;}

/* ---------- HERO ---------- */
.hero{position:relative;height:100vh;min-height:620px;display:flex;align-items:flex-end;background-size:cover;background-position:center 62%;}
.hero.page{height:52vh;min-height:380px;}
.hero-content{max-width:var(--wrap);margin:0 auto;padding:0 32px 88px;width:100%;}
.hero.page .hero-content{padding-bottom:56px;}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--stone-dark);margin-bottom:18px;}
.hero h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(40px,6.5vw,84px);line-height:1.03;color:var(--paper);max-width:860px;letter-spacing:-0.01em;}
.hero.page h1{font-size:clamp(34px,5vw,58px);}
.hero-sub{margin-top:22px;max-width:500px;font-size:16px;color:var(--stone);}
.hero-actions{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- BOUTONS ---------- */
.btn{display:inline-block;padding:14px 30px;font-size:14px;font-weight:600;border-radius:2px;transition:transform .18s ease,background .18s ease,opacity .18s ease;}
/* OR = action principale. Texte encre (l'or ne porte pas le blanc lisiblement). */
.btn-primary{background:var(--or);color:var(--encre);}
.btn-primary:hover{background:var(--or-deep);transform:translateY(-2px);}
.btn-ghost{border:1px solid rgba(242,234,217,0.55);color:var(--paper);}
.btn-ghost:hover{background:rgba(242,234,217,0.12);}
.btn-dark{border:1px solid var(--encre);color:var(--encre);}
.btn-dark:hover{background:var(--encre);color:var(--paper);}

/* ---------- SECTIONS ---------- */
.band{padding:96px 0;}
.band.tint{background:var(--stone);}
.band.dark{background:var(--encre);color:var(--stone);}
/* Libellé de section : petit filet azur — la structure encode, elle ne décore pas. */
.label{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--azur);margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.label::before{content:'';width:22px;height:2px;background:var(--azur);display:inline-block;}
.band.dark .label{color:var(--stone-dark);}
.band.dark .label::before{background:var(--stone-dark);}
h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.12;letter-spacing:-0.01em;}
h3{font-family:'Fraunces',serif;font-weight:500;font-size:22px;line-height:1.25;}
.lede{font-size:18px;color:var(--ink-soft);max-width:620px;margin-top:20px;}
.band.dark .lede{color:var(--stone-dark);}
p.body{margin-top:18px;max-width:660px;color:var(--ink-soft);}
.band.dark p.body{color:var(--stone-dark);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.narrow{gap:48px;}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:52px;}
.card{background:var(--paper);border:1px solid var(--rule);padding:32px;border-radius:2px;}
.band.tint .card{background:var(--paper);}
.card h3{margin-bottom:12px;}
.card p{font-size:15px;color:var(--ink-soft);}

.figure figcaption{font-size:13px;color:var(--ink-soft);margin-top:10px;}

.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:32px;margin-top:52px;}
.stat{border-top:2px solid var(--azur);padding-top:20px;}
.band.dark .stat{border-color:var(--stone-dark);}
.stat .num{font-family:'Fraunces',serif;font-size:40px;font-weight:500;line-height:1;color:var(--azur);}
.band.dark .stat .num{color:var(--paper);}
.stat .cap{font-size:14px;color:var(--ink-soft);margin-top:8px;}
.band.dark .stat .cap{color:var(--stone-dark);}

.timeline{margin-top:48px;border-top:1px solid var(--rule);}
.timeline div{display:grid;grid-template-columns:150px 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--rule);}
.timeline .yr{font-family:'Fraunces',serif;font-size:20px;color:var(--azur);}
.timeline p{color:var(--ink-soft);font-size:15px;}

.list-plain{list-style:none;margin-top:28px;}
.list-plain li{padding:14px 0;border-bottom:1px solid var(--rule);color:var(--ink-soft);font-size:15px;}
.band.dark .list-plain li{border-color:rgba(216,190,134,0.3);color:var(--stone-dark);}

/* ---------- APPEL AU DON ---------- */
/* Bande azur institutionnelle ; l'action reste en OR. */
.cta{background:var(--moss);color:var(--paper);padding:88px 0;text-align:center;}
.cta h2{color:var(--paper);}
.cta p{max-width:560px;margin:20px auto 0;color:var(--stone);}
.cta .btn-primary{margin-top:32px;}

/* ---------- PIED DE PAGE ---------- */
footer{background:var(--encre);color:var(--stone-dark);padding:64px 0 32px;font-size:14px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;}
footer h4{font-family:'Fraunces',serif;font-size:18px;color:var(--paper);font-weight:500;margin-bottom:14px;}
footer ul{list-style:none;}
footer li{padding:5px 0;}
footer a:hover{color:var(--paper);}
.foot-base{border-top:1px solid rgba(216,190,134,0.22);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .split,.cards,.stat-row,.foot-grid{grid-template-columns:1fr;gap:36px;}
  .band{padding:64px 0;}
  .timeline div{grid-template-columns:1fr;gap:8px;}
}
@media (max-width:820px){
  .nav-links{position:fixed;top:0;right:0;height:100vh;width:min(78vw,320px);background:var(--encre);flex-direction:column;justify-content:center;gap:30px;padding:32px;transform:translateX(100%);transition:transform .3s ease;}
  .nav-links.open{transform:translateX(0);}
  .nav-toggle{display:block;}
  .hero-content{padding-bottom:56px;}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}

/* ---------- CARTES DE CAMP ---------- */
.camp-card{padding:0;overflow:hidden;display:flex;flex-direction:column;position:relative;}
.camp-thumb{width:100%;height:180px;object-fit:cover;}
/* GUEULES : le seul rouge de la page, sur le badge d'état. */
.camp-card .badge{position:absolute;top:14px;left:14px;color:var(--paper);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:2px;}
.camp-card h3{margin:24px 32px 0;}
.camp-card h3 a:hover{color:var(--azur);}
.camp-card > p{margin:10px 32px 0;font-size:15px;color:var(--ink-soft);}
.camp-card .meta-list{list-style:none;margin:22px 32px 0;border-top:1px solid var(--rule);}
.camp-card .meta-list li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:14px;}
.camp-card .meta-list li span{color:var(--ink-soft);}
/* margin-top:auto → tous les boutons « Voir le séjour » s'alignent en bas,
   quelle que soit la longueur du texte. Corrige les boutons à hauteurs inégales. */
.camp-card > p:last-child{margin:auto 32px 32px;}

/* ---------- INTÉGRATION FORMULAIRE DE PAIEMENT ---------- */
.embed-frame{margin-top:40px;background:var(--paper);border:1px solid var(--rule);border-radius:2px;overflow:hidden;min-height:420px;}
.embed-frame iframe{display:block;width:100%;border:none;}
.embed-placeholder{padding:80px 32px;text-align:center;color:var(--ink-soft);}
.embed-placeholder p:first-child{font-family:'Fraunces',serif;font-size:20px;color:var(--ink);margin-bottom:12px;}
.embed-placeholder code{background:var(--stone);padding:2px 7px;border-radius:2px;font-size:13px;}

/* ---------- FORMULAIRE DE CONTACT ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px;max-width:680px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field.full{grid-column:1 / -1;}
.field label{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
.field input,.field select,.field textarea{font-family:'Inter',sans-serif;font-size:15px;padding:12px 14px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--azur);outline-offset:-1px;border-color:var(--azur);}
.field textarea{min-height:130px;resize:vertical;}
.form-note{font-size:13px;color:var(--ink-soft);margin-top:18px;max-width:680px;}
@media (max-width:700px){.form-grid{grid-template-columns:1fr;}}

/* ---------- ÉTATS DU FORMULAIRE ---------- */
.form-state{margin-top:32px;max-width:680px;padding:28px 32px;border-radius:2px;border-left:3px solid;}
.form-state h3{margin-bottom:8px;}
.form-state p{font-size:15px;color:var(--ink-soft);}
.form-state a{text-decoration:underline;}
/* Succès en azur (calme), erreur en gueules (le rouge est fait pour ça). */
.form-state.ok{background:var(--stone);border-color:var(--azur);}
.form-state.ko{background:#F6E7E3;border-color:var(--gueules);}
#contact-submit{border:none;cursor:pointer;font-family:'Inter',sans-serif;}
#contact-submit:disabled{opacity:.55;cursor:wait;transform:none;}

/* ---------- CONSIGNE AVANT FORMULAIRE ---------- */
.consigne{margin-top:32px;max-width:660px;padding:20px 26px;background:var(--paper);border-left:3px solid var(--azur);border-radius:2px;}
.consigne p:first-child{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--azur);margin-bottom:6px;}
.consigne p:last-child{font-size:16px;color:var(--ink);}

/* ============================================================================
   AJOUT 26/08 — FICHE CAMP : WIDGET COLLANT + CONVERSION TÉLÉPHONE
   Raison : 90 % des parents appellent avant d'inscrire. L'interlocuteur doit
   être visible en permanence, pas relégué en pied de page.
   ========================================================================= */

.camp-layout{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:56px;align-items:start;}
.camp-aside{position:sticky;top:24px;}

.camp-widget{background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:26px 28px;}
.band.tint .camp-widget{background:var(--paper);}
.cw-head{font-family:'Fraunces',serif;font-size:19px;line-height:1.3;}
.cw-head span{color:var(--ink-soft);font-weight:400;}
.cw-facts{list-style:none;margin-top:16px;}
.cw-facts li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding:8px 0;font-size:14.5px;line-height:1.45;}
.cw-facts .ico{color:var(--azur);font-size:14px;line-height:1.5;}
.cw-sep{border:none;border-top:1px solid var(--rule);margin:20px 0;}

.cw-person{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;}
.cw-avatar{width:52px;height:52px;border-radius:50%;background:var(--azur);color:var(--paper);
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:18px;}
.cw-avatar img{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.cw-person .nm{font-weight:600;font-size:15px;line-height:1.3;}
.cw-person .rl{font-size:13.5px;color:var(--ink-soft);margin-top:2px;}
.cw-lines{margin-top:12px;font-size:14.5px;}
.cw-lines a{display:block;padding:4px 0;color:var(--azur);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;}
.cw-lines a:hover{color:var(--encre);}
.cw-lines .tel{font-weight:600;font-size:16px;}

.camp-widget .btn{display:block;width:100%;text-align:center;margin-top:22px;}
.cw-note{font-size:12.5px;color:var(--ink-soft);margin-top:11px;text-align:center;line-height:1.5;}

@media (max-width:980px){
  .camp-layout{grid-template-columns:1fr;gap:36px;}
  .camp-aside{position:static;order:-1;}
}

/* ---------- BARRE D'ACTION MOBILE ----------
   Le trafic arrive par WhatsApp, donc sur téléphone : la colonne de droite
   n'existe pas. Un appel doit rester à un pouce de distance. */
.mobile-cta{display:none;}
@media (max-width:820px){
  .mobile-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(36,20,18,.97);}
  .mobile-cta a{display:flex;align-items:center;justify-content:center;gap:7px;
    padding:13px 8px;border-radius:2px;font-size:14.5px;font-weight:600;line-height:1.2;text-align:center;}
  .mobile-cta .m-call{background:var(--paper);color:var(--encre);}
  .mobile-cta .m-go{background:var(--or);color:var(--encre);}
  body.has-mobile-cta{padding-bottom:78px;}
}

/* ---------- BANDEAU CAMPS SUR L'ACCUEIL ---------- */
.urgency{display:inline-flex;align-items:center;gap:9px;background:var(--gueules);color:var(--paper);
  font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:2px;}
.help-line{margin-top:40px;padding:22px 26px;background:var(--paper);border:1px solid var(--rule);
  border-left:3px solid var(--azur);border-radius:2px;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:space-between;gap:16px;}
.help-line p{font-size:15px;color:var(--ink-soft);margin:0;}
.help-line strong{color:var(--ink);}
.help-line .tel-big{font-family:'Fraunces',serif;font-size:22px;color:var(--azur);white-space:nowrap;}
.cw-alt{margin-top:18px;padding-top:15px;border-top:1px solid var(--rule);font-size:13.5px;color:var(--ink-soft);line-height:1.55;}
.cw-alt a{color:var(--azur);text-decoration:underline;text-underline-offset:2px;}
.cw-alt strong{color:var(--ink);display:block;margin-bottom:3px;}

/* ============================================================================
   PAGE « NOUS SOUTENIR » — paliers d'engagement et questions
   Portage de l'architecture rhétorique travaillée le 25/08 sur la charte
   du site (nav, pied de page, bandes, boutons), au lieu d'une page isolée.

   INTERRUPTEUR DE PHASE — pour masquer le bloc récurrent jusqu'à novembre,
   décommenter la ligne suivante :
   #amis, .amis-link { display:none !important; }

   INTERRUPTEUR FISCAL — pour neutraliser d'un coup toutes les mentions de
   réduction d'impôt, décommenter la ligne suivante :
   .fiscal, .fiscal-note { display:none !important; }
   ========================================================================= */

.paliers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px;align-items:stretch;}
.palier{background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:28px 24px;
  display:flex;flex-direction:column;position:relative;}
.palier--phare{border:2px solid var(--azur);}
.palier-badge{position:absolute;top:-11px;left:22px;background:var(--gueules);color:var(--paper);
  font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:4px 10px;border-radius:2px;}
.palier-montant{font-family:'Fraunces',serif;font-size:38px;line-height:1;color:var(--azur);}
.palier-freq{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;}
.palier-total{font-size:14px;color:var(--ink-soft);margin-top:16px;line-height:1.5;}
.palier .fiscal{font-size:13px;color:var(--azur);margin-top:8px;}
.palier .btn{margin-top:auto;padding-top:12px;padding-bottom:12px;text-align:center;
  margin-top:22px;display:block;width:100%;}
.fiscal-note{font-size:13.5px;color:var(--ink-soft);margin-top:32px;max-width:760px;line-height:1.6;}

.montants{list-style:none;margin-top:26px;max-width:420px;}
.montants li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;
  border-bottom:1px solid var(--rule);font-size:15px;}
.montants b{font-family:'Fraunces',serif;font-size:19px;font-weight:500;}
.montants span{color:var(--ink-soft);font-size:14px;}

.questions{margin-top:44px;max-width:820px;border-top:1px solid var(--rule);}
.questions details{border-bottom:1px solid var(--rule);}
.questions summary{cursor:pointer;padding:20px 0;font-family:'Fraunces',serif;font-size:18px;
  list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;}
.questions summary::-webkit-details-marker{display:none;}
.questions summary::after{content:'+';color:var(--azur);font-family:'Inter',sans-serif;font-size:22px;line-height:1;}
.questions details[open] summary::after{content:'–';}
.questions details p{font-size:15px;color:var(--ink-soft);padding:0 0 22px;max-width:680px;line-height:1.65;}
.questions details a{color:var(--azur);text-decoration:underline;}

.piliers{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:52px;}
.piliers h3{color:var(--paper);margin-bottom:12px;}
.piliers p{font-size:15px;color:var(--stone-dark);}

@media (max-width:980px){.paliers{grid-template-columns:repeat(2,1fr);}}
@media (max-width:900px){.piliers{grid-template-columns:1fr;gap:28px;}}
@media (max-width:600px){.paliers{grid-template-columns:1fr;}}

/* ============================================================================
   AJOUT 26/08 (2) — LISIBILITÉ
   Le corps de texte était trop petit pour un lectorat de donateurs, souvent
   plus âgé que le lectorat parents. Tailles relevées de 1 à 2,5 px selon le
   rôle, interlignes détendus, encre du corps assombrie. Bloc en fin de
   feuille : il surcharge volontairement les règles ci-dessus, pour qu'on
   voie d'un coup d'œil ce qui a bougé.
   ========================================================================= */

:root{ --encre-soft:#4E4438; }        /* corps de texte : un cran plus dense */

body{font-size:17px;line-height:1.68;}
.lede{font-size:20px;line-height:1.6;max-width:660px;}
p.body{font-size:17px;line-height:1.68;}
.label{font-size:13px;}
.hero-sub{font-size:18px;line-height:1.6;max-width:560px;}
.card p{font-size:16.5px;line-height:1.6;}
.list-plain li{font-size:16.5px;line-height:1.62;padding:16px 0;}
.stat .cap{font-size:15px;}
.timeline p{font-size:16.5px;}
footer{font-size:15px;}
footer li{padding:6px 0;}
.foot-base{font-size:14px;}
.cw-facts li{font-size:15.5px;}
.camp-card > p{font-size:16.5px;}
.camp-card .meta-list li{font-size:15px;padding:10px 0;}
.questions summary{font-size:19px;}
.questions details p{font-size:16.5px;}
.help-line p{font-size:16.5px;}
.form-note,.cw-note{font-size:13.5px;}

/* ---------- LES TROIS PILIERS, NUMÉROTÉS ----------
   Registre du dossier donateurs : chiffres romains, filets, respiration.
   Chiffres en AZUR pour respecter la discipline de la charte (l'or reste
   réservé à l'action). Pour les passer en or, remplacer var(--azur) par
   var(--or-deep) sur .num-rom — une seule ligne. */
.piliers-num{margin-top:52px;border-top:1px solid var(--rule);max-width:880px;}
.piliers-num > div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:24px;
  padding:30px 0;border-bottom:1px solid var(--rule);align-items:start;}
.piliers-num .num-rom{font-family:'Fraunces',serif;font-size:36px;line-height:.95;color:var(--azur);}
.piliers-num h3{font-size:23px;margin-bottom:10px;}
.piliers-num p{font-size:16.5px;color:var(--ink-soft);line-height:1.62;max-width:660px;}
.closing{font-family:'Fraunces',serif;font-size:clamp(21px,2.4vw,27px);line-height:1.4;
  margin-top:44px;max-width:820px;}
@media (max-width:700px){
  .piliers-num > div{grid-template-columns:48px minmax(0,1fr);gap:16px;}
  .piliers-num .num-rom{font-size:28px;}
}

/* ============================================================================
   AJOUT 26/08 (3) — POIDS VISUEL DE LA RÉDUCTION D'IMPÔT, ET L'ÉQUIPE
   Le coût réel était en 13 px sous un montant brut en 38 px. Un donateur ne
   convertit pas « 66 % », il convertit « 100 € me coûtent 34 € ».
   Tout reste sous la classe .fiscal : l'interrupteur les neutralise d'un coup.
   ========================================================================= */

.fiscal-hero{margin-top:52px;background:var(--azur);color:var(--parchemin);
  padding:38px 42px;border-radius:2px;max-width:840px;}
.fiscal-hero .fh-label{font-size:13px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--or);margin-bottom:16px;}
.fiscal-hero .fh-big{font-family:'Fraunces',serif;font-size:clamp(25px,3.1vw,36px);line-height:1.24;}
.fiscal-hero .fh-big em{font-style:normal;color:var(--or);}
.fiscal-hero .fh-note{font-size:15.5px;margin-top:20px;color:var(--stone-dark);
  max-width:660px;line-height:1.6;}
@media (max-width:600px){.fiscal-hero{padding:28px 24px;}}

/* le coût réel monte au même rang que le montant brut */
.palier-reel{margin-top:14px;padding-top:13px;border-top:1px solid var(--rule);
  font-size:15px;color:var(--azur);line-height:1.4;}
.palier-reel b{font-family:'Fraunces',serif;font-size:23px;font-weight:500;display:block;}
.montants .fiscal{color:var(--azur);font-weight:600;font-size:15px;}


/* ============================================================================
   AJOUT 26/08 (4) — CONTENU DES FICHES CAMPS
   Blocs de l'anatomie de vente : liste « Au programme » sur deux colonnes,
   accroche en deux temps, encadré « Ce camp est fait pour lui si… ».
   ========================================================================= */

.list-plain.cols{columns:2;column-gap:44px;}
.list-plain.cols li{break-inside:avoid;}
@media (max-width:700px){.list-plain.cols{columns:1;}}

/* Accroche en deux temps — la question du parent, puis la réponse. */
.duo{margin-top:56px;}
.duo-q,.duo-r{font-family:'Fraunces',serif;font-weight:500;
  font-size:clamp(24px,3vw,34px);line-height:1.15;letter-spacing:-0.01em;}
.duo-r{color:var(--azur);margin-top:36px;}

/* « Ce camp est fait pour lui si… » — le tri par profil, pas par prix. */
.fit-box{margin-top:52px;max-width:660px;padding:26px 30px;background:var(--paper);
  border:1px solid var(--rule);border-left:3px solid var(--azur);border-radius:2px;}
.fit-box .fit-head{font-size:12px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--azur);margin-bottom:14px;}
.fit-box ul{list-style:none;}
.fit-box li{padding:7px 0;font-size:16px;color:var(--ink-soft);line-height:1.55;}
.fit-box li::before{content:'—';color:var(--azur);margin-right:10px;}
