/* ============================================
   VERTE · Système de design v1.0
   Charte officielle Verte v1.1 — Avril 2026
   ============================================ */
:root{
  --cream:#F4EFE6;
  --cream-2:#ECE7DC;
  --white:#FFFFFF;
  --sage:#3B5749;
  --sage-2:#445F52;
  --sage-soft:#5E7B6E;
  --sage-light:#D6DFD9;
  --terracotta:#C76F4A;
  --terracotta-soft:#E5B6A2;
  --text:#1A1A1A;
  --muted:#8C8378;
  --border:#D5CFC0;
  --border-soft:#ECE7DC;
  --radius-sm:8px;
  --radius:16px;
  --radius-lg:24px;
  --radius-xl:32px;
  --pill:999px;
  --shadow-sm:0 2px 8px rgba(59,87,73,.06);
  --shadow:0 12px 32px rgba(59,87,73,.08);
  --shadow-lg:0 24px 60px rgba(59,87,73,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:17px;scroll-behavior:smooth}
body{background:var(--cream);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
.serif,h1,h2,h3,h4,blockquote,.punchline{font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;letter-spacing:-0.015em;font-weight:400}
.container{max-width:1180px;margin:0 auto;padding:0 28px}
.container-narrow{max-width:820px;margin:0 auto;padding:0 28px}
section{padding:7rem 0}
.section-cream{background:var(--cream)}
.section-white{background:var(--white)}
.section-cream-2{background:var(--cream-2)}
.section-sage{background:var(--sage);color:var(--cream)}
.section-marron{background:var(--terracotta);color:var(--cream)}
.label{display:inline-block;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--sage);font-weight:600;margin-bottom:1.2rem;background:var(--sage-light);padding:0.4rem 0.9rem;border-radius:var(--pill)}
.label.dark{color:var(--cream);background:rgba(244,239,230,0.15)}
.eyebrow{display:block;font-style:italic;color:rgba(244,239,230,0.85);font-size:1.1rem;margin-bottom:1.2rem;font-family:ui-serif,Georgia,serif}

/* TOPBAR (au-dessus du header) */
.topbar{background:var(--sage);color:var(--cream);font-size:0.78rem;line-height:1;padding:0;border-bottom:1px solid rgba(244,239,230,.1)}
.topbar-wrap{max-width:1280px;margin:0 auto;padding:0.55rem 28px;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.topbar-left,.topbar-right{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.tb-item{color:rgba(244,239,230,.82);text-decoration:none;letter-spacing:0.02em;transition:color .15s}
.tb-item:hover{color:var(--terracotta)}
.tb-badge{display:inline-flex;align-items:center;gap:0.45rem;color:var(--cream);text-decoration:none;background:rgba(244,239,230,0.08);padding:0.32rem 0.7rem;border-radius:var(--pill);font-weight:600;letter-spacing:0.02em;border:1px solid rgba(244,239,230,0.15);transition:background .15s}
.tb-badge:hover{background:rgba(199,111,74,0.2);border-color:var(--terracotta)}
.tb-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7DCC8E;animation:pulse 2s infinite}
@media(max-width:880px){
  .topbar{display:none}
}

/* HEADER */
header{position:sticky;top:0;background:rgba(244,239,230,0.94);backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid var(--border-soft)}
.header-wrap{display:flex;justify-content:space-between;align-items:center;padding:1rem 28px;max-width:1280px;margin:0 auto;gap:1.5rem}
.logo{font-family:ui-serif,Georgia,serif;font-size:1.5rem;color:var(--sage);text-decoration:none;font-weight:500;letter-spacing:-0.02em;flex-shrink:0}
.logo .dot{color:var(--terracotta)}
nav{flex:1}
.nav-list{display:flex;gap:1.4rem;list-style:none;align-items:center;margin:0;padding:0;justify-content:center}
.nav-list > li{position:relative}
.nav-list > li > a{color:var(--text);text-decoration:none;font-size:0.92rem;transition:color 0.2s;padding:0.5rem 0;display:inline-block;font-weight:500}
.nav-list > li > a:hover{color:var(--terracotta)}
.nav-list > li > a[aria-current="page"]{color:var(--sage);border-bottom:2px solid var(--terracotta)}
/* Triggers de sous-menu non-cliquables (À propos, Nos prestations, Villes) */
.nav-list > li > .nav-trigger{color:var(--text);font-size:0.92rem;padding:0.5rem 0;display:inline-block;font-weight:500;cursor:default;user-select:none;transition:color 0.2s}
.nav-list > li > .nav-trigger:hover,.nav-list > li > .nav-trigger:focus{color:var(--terracotta);outline:none}
/* Dropdown CSS-only */
.has-dropdown > a::after,.has-dropdown > .nav-trigger::after{content:" ▾";font-size:0.7em;color:var(--muted);margin-left:0.2em}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-4px);min-width:240px;background:var(--cream);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow);padding:0.6rem 0;list-style:none;margin:0;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:101}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dropdown li{margin:0}
.dropdown a{display:block;padding:0.5rem 1.2rem;color:var(--text);text-decoration:none;font-size:0.9rem;transition:background .12s,color .12s;white-space:nowrap}
.dropdown a:hover{background:var(--sage-light);color:var(--sage)}
.dropdown-cols{min-width:540px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;padding:0.8rem}
.dropdown-cols a{padding:0.4rem 0.8rem;border-radius:var(--radius-sm);font-size:0.86rem}
/* Burger menu (mobile) — checkbox hack, sans JS */
.nav-toggle-input{display:none}
.nav-toggle{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;border-radius:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--sage);border-radius:2px;transition:all .25s}
.header-cta{display:flex;gap:0.5rem;align-items:center;flex-shrink:0}

/* BOUTONS */
.btn,.btn-primary,.btn-secondary,.btn-light{display:inline-block;text-decoration:none;font-size:0.95rem;padding:0.85rem 1.6rem;border-radius:var(--pill);transition:all 0.25s;cursor:pointer;border:1px solid transparent;font-family:inherit;letter-spacing:0.01em}
.btn-primary{background:var(--sage);color:var(--cream);border-color:var(--sage)}
.btn-primary:hover{background:var(--terracotta);border-color:var(--terracotta);transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-secondary{background:transparent;color:var(--sage);border-color:var(--sage)}
.btn-secondary:hover{background:var(--sage);color:var(--cream)}
.btn-light{background:var(--cream);color:var(--sage);border-color:var(--cream)}
.btn-light:hover{background:var(--terracotta);color:var(--cream);border-color:var(--terracotta)}
.btn-sm{padding:0.6rem 1.2rem;font-size:0.88rem}
.btn-arrow::after{content:' →';display:inline-block;transition:transform 0.2s}
.btn-arrow:hover::after{transform:translateX(4px)}

/* FIL D'ARIANE */
.crumbs{padding:1.2rem 28px 0;font-size:.85rem;color:var(--muted);max-width:1180px;margin:0 auto}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--terracotta)}
.crumbs span{color:var(--border);margin:0 .4rem}

/* PAGE HERO STANDARD (services / piliers / villes / articles) */
.page-hero{padding:6rem 0 4rem;background:linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 100%);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--terracotta) 50%,transparent 100%);opacity:.45}
.page-hero::after{content:"·";position:absolute;top:1.6rem;right:2rem;font-size:3.5rem;color:var(--terracotta);opacity:.3;line-height:1;font-family:ui-serif,Georgia,serif}
.page-hero h1{font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;font-weight:400;font-size:clamp(2.2rem,4.6vw,3.6rem);color:var(--sage);line-height:1.08;letter-spacing:-0.028em;margin-bottom:1.4rem;max-width:24ch}
.page-hero h1 .dot{color:var(--terracotta)}
.page-hero .lead{font-size:1.18rem;color:var(--text);max-width:64ch;line-height:1.6;margin-bottom:1.4rem}
.page-hero .meta{font-family:ui-serif,Georgia,serif;font-style:italic;color:var(--muted);font-size:.95rem;margin-top:1rem;display:inline-block;padding:.4rem .8rem;background:rgba(199,111,74,.08);border-radius:var(--pill);border:1px solid rgba(199,111,74,.18)}
/* Petit ornement décoratif sous le label de hero */
.page-hero .label{position:relative}

/* PROSE (article / pilier / méthodo) */
.prose{font-size:1.05rem;line-height:1.75}
.prose p{margin-bottom:1.4rem;max-width:64ch}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:3rem 0 1rem;color:var(--sage);line-height:1.2}
.prose h2 .dot{color:var(--terracotta)}
.prose h3{font-size:clamp(1.25rem,2vw,1.5rem);margin:2rem 0 .8rem;color:var(--text);line-height:1.3}
.prose ul,.prose ol{margin:1rem 0 1.4rem 1.4rem;max-width:62ch}
.prose ul li,.prose ol li{margin-bottom:.5rem}
.prose blockquote{font-family:ui-serif,Georgia,serif;font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--sage);border-left:3px solid var(--terracotta);padding:.5rem 0 .5rem 1.5rem;margin:2rem 0;max-width:62ch}
.prose blockquote cite{display:block;font-style:normal;font-size:.85rem;color:var(--muted);margin-top:.6rem;font-family:ui-sans-serif,system-ui,sans-serif;letter-spacing:.05em}
.prose strong{font-weight:600;color:var(--sage)}
.prose em{font-style:italic}
.prose a{color:var(--sage);text-decoration:underline;text-decoration-color:var(--terracotta-soft);text-underline-offset:.2em}
.prose a:hover{color:var(--terracotta);text-decoration-color:var(--terracotta)}
.prose .stamp{text-align:center;font-size:1.4rem;color:var(--terracotta);margin:3rem 0 1rem;line-height:1}

/* ENCART « CHEZ VERTE » */
.card-verte{background:var(--sage);color:var(--cream);padding:2rem 2.4rem;border-radius:var(--radius-lg);margin:2.5rem 0;max-width:62ch}
.card-verte h4{font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta-soft);font-weight:600;margin-bottom:1rem;font-family:ui-sans-serif,system-ui,sans-serif}
.card-verte p{margin:0;font-size:1rem;line-height:1.6;color:var(--cream)}

/* ENCART « POUR ALLER PLUS LOIN » */
.further{background:var(--white);border:1px solid var(--border-soft);padding:2rem 2.4rem;border-radius:var(--radius-lg);margin:3rem 0;max-width:62ch}
.further h4{font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:1rem;font-family:ui-sans-serif,system-ui,sans-serif}
.further .src-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--terracotta);font-weight:600;margin-top:1.4rem;margin-bottom:.6rem}
.further ul{margin:0;list-style:none;padding:0}
.further li{padding-left:1.2rem;position:relative;margin-bottom:.5rem;font-size:.95rem}
.further li::before{content:"·";color:var(--terracotta);font-weight:700;position:absolute;left:0;top:-.1em;font-size:1.2rem}
.further a{color:var(--sage);text-decoration:underline;text-decoration-color:var(--terracotta-soft)}
.further a:hover{color:var(--terracotta)}

/* FAQ (CSS-only, accordion via <details>) */
.faq-list{max-width:74ch;margin:2.5rem 0;background:var(--white);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.faq-list details{border-bottom:1px solid var(--border-soft);padding:0;transition:background .15s}
.faq-list details:last-child{border-bottom:0}
.faq-list details[open]{background:var(--cream)}
.faq-list summary{font-family:ui-serif,Georgia,serif;font-size:1.15rem;color:var(--sage);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-weight:500;padding:1.4rem 1.8rem;gap:1rem;transition:color .15s}
.faq-list summary:hover{color:var(--terracotta)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--terracotta);font-weight:300;font-size:1.6rem;line-height:1;transition:transform .25s;flex-shrink:0;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(199,111,74,.1);border:1px solid rgba(199,111,74,.2)}
.faq-list details[open] summary::after{transform:rotate(45deg);background:var(--terracotta);color:var(--cream);border-color:var(--terracotta)}
.faq-list details p{margin:0 1.8rem 1.4rem;font-size:1rem;line-height:1.65;color:var(--text);max-width:none}

/* CTA-BOX (fin de page) */
.cta-box{background:var(--sage);color:var(--cream);text-align:center;padding:4rem 28px;border-radius:var(--radius-xl);margin:4rem auto;max-width:880px}
.cta-box h2{font-size:clamp(1.6rem,3vw,2.4rem);color:var(--cream);margin-bottom:1rem;line-height:1.15}
.cta-box h2 .dot{color:var(--terracotta)}
.cta-box p{color:rgba(244,239,230,.85);max-width:54ch;margin:0 auto 2rem;font-size:1.05rem;line-height:1.55}
.cta-box .btn-light{background:var(--cream);color:var(--sage)}
.cta-box .btn-light:hover{background:var(--terracotta);color:var(--cream)}

/* PRE-FOOTER */
.pre-footer{text-align:center;padding:8rem 28px;background:linear-gradient(180deg,var(--cream-2) 0%,var(--cream) 100%)}
.pre-footer p{font-family:ui-serif,Georgia,serif;font-size:2.6rem;font-style:italic;color:var(--sage);max-width:800px;margin:0 auto;line-height:1.3;letter-spacing:-0.015em}
.pre-footer p .dot{color:var(--terracotta);font-style:normal}

/* FOOTER (6 colonnes méga-maillé) */
footer{background:var(--sage);color:var(--cream);padding:5rem 0 2.5rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(244,239,230,0.15);margin-bottom:2.5rem}
.footer-implant{font-size:0.85rem;color:rgba(244,239,230,0.7);line-height:1.7;margin-bottom:1.2rem}
.footer-implant a{color:rgba(244,239,230,0.85);text-decoration:underline;text-decoration-color:rgba(199,111,74,0.4);white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
.footer-implant a:hover{color:var(--terracotta)}
.ft-strong{color:var(--terracotta)!important;font-weight:600}
.ft-strong:hover{color:var(--cream)!important}
.footer-brand .footer-logo{font-family:ui-serif,Georgia,serif;font-size:2rem;color:var(--cream);margin-bottom:1rem;display:block;font-weight:500;text-decoration:none}
.footer-brand .footer-logo .dot{color:var(--terracotta)}
.footer-brand p{color:rgba(244,239,230,0.7);font-size:0.95rem;line-height:1.6;margin-bottom:1.5rem;max-width:380px}
.footer-brand p.footer-implant{max-width:none}
.footer-tech{font-family:ui-monospace,monospace;font-size:0.78rem;color:rgba(244,239,230,0.6);background:rgba(244,239,230,0.05);padding:0.6rem 1rem;border-radius:var(--pill);display:inline-flex;gap:0.5rem;align-items:center;border:1px solid rgba(244,239,230,0.1)}
.footer-tech .tech-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7DCC8E;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
.footer-col h4{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.15em;color:rgba(244,239,230,0.5);margin-bottom:1.2rem;font-weight:600}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:0.7rem}
.footer-col a{color:var(--cream);text-decoration:none;font-size:0.93rem;transition:color 0.2s}
.footer-col a:hover{color:var(--terracotta)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}
.footer-signature{font-family:ui-serif,Georgia,serif;font-style:italic;font-size:0.95rem;color:rgba(244,239,230,0.85);max-width:480px}
.footer-legal{font-size:0.78rem;color:rgba(244,239,230,0.45);display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-legal a{color:rgba(244,239,230,0.45);text-decoration:none;transition:color 0.2s}
.footer-legal a:hover{color:var(--cream)}

/* ===== COMPOSANTS GRAPHIQUES PAGES INTERNES ===== */

/* Bandeau "preuves chiffres" full-width (top des pages services) */
.proof-band{background:var(--sage);color:var(--cream);padding:3rem 0;margin:0}
.proof-band .container{max-width:1180px}
.proof-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;text-align:center}
.proof-band .pb-num{font-family:ui-serif,Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--terracotta);line-height:1;margin-bottom:0.4rem;font-weight:500}
.proof-band .pb-lab{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.15em;color:rgba(244,239,230,0.7);font-weight:600}

/* Encadré « engagement contractuel » signature Verte */
.engagement-box{
  background:linear-gradient(135deg,var(--sage) 0%,var(--sage-2) 100%);
  color:var(--cream);
  padding:2.5rem 3rem;
  border-radius:var(--radius-xl);
  margin:3rem 0;
  position:relative;
  overflow:hidden;
}
.engagement-box::before{
  content:"·";
  position:absolute;
  top:-1rem;
  right:1.4rem;
  font-size:6rem;
  color:var(--terracotta);
  line-height:1;
  opacity:0.3;
}
.engagement-box .label{background:rgba(199,111,74,0.2);color:var(--terracotta);}
.engagement-box h3{font-family:ui-serif,Georgia,serif;font-size:1.6rem;color:var(--cream);font-weight:400;margin-bottom:1rem;line-height:1.2}
.engagement-box h3 .dot{color:var(--terracotta)}
.engagement-box p{color:rgba(244,239,230,0.92);font-size:1.05rem;line-height:1.6;margin-bottom:0.8rem}
.engagement-box p:last-child{margin-bottom:0}
.engagement-box strong{color:#FFFFFF;font-weight:700;background:var(--terracotta);padding:0.15em 0.55em;border-radius:6px;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,0.15)}

/* Mini-carte France (pages villes) — UN seul point allumé */
.minimap-section{background:var(--cream-2);padding:4rem 0;border-top:1px solid var(--border-soft)}
.minimap-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:980px;margin:0 auto}
.minimap-text h3{font-family:ui-serif,Georgia,serif;font-size:1.6rem;color:var(--sage);margin-bottom:0.8rem}
.minimap-text h3 .dot{color:var(--terracotta)}
.minimap-text p{color:var(--text);line-height:1.6;margin-bottom:0.8rem}
.minimap-wrap{position:relative;width:100%;max-width:380px;margin:0 auto;aspect-ratio:1/1;filter:drop-shadow(2px 4px 6px rgba(59,87,73,.12))}
.minimap-wrap svg{width:100%;height:100%}
.minimap-wrap .mm-fr{fill:var(--cream);stroke:var(--sage);stroke-width:8;stroke-linejoin:round}
.minimap-wrap .mm-pin{fill:var(--terracotta);animation:mm-pulse 2.4s ease-out infinite;transform-origin:center}
.minimap-wrap .mm-label{font-family:ui-serif,Georgia,serif;font-style:italic;font-size:14px;fill:var(--sage);font-weight:500}
@keyframes mm-pulse{
  0%{r:8;opacity:1}
  70%{r:18;opacity:0}
  100%{r:8;opacity:0}
}

/* Cards visuelles avec icônes (piliers, services secondaires) */
.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.5rem 0}
.icon-card{background:var(--white);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:2rem 1.6rem;transition:transform .25s,box-shadow .25s,border-color .25s;text-align:left}
.icon-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--sage)}
.icon-card .ic-icon{width:48px;height:48px;border-radius:12px;background:rgba(199,111,74,0.12);color:var(--terracotta);display:flex;align-items:center;justify-content:center;font-family:ui-serif,Georgia,serif;font-size:1.4rem;margin-bottom:1.2rem;font-weight:500}
.icon-card h4{font-family:ui-serif,Georgia,serif;font-size:1.2rem;color:var(--sage);margin-bottom:0.6rem;font-weight:500;line-height:1.3}
.icon-card p{font-size:0.92rem;color:var(--text);line-height:1.55;margin:0}

/* Bandeau "Découvrez aussi" — bas de page contextuel */
.discover-band{background:var(--cream);padding:4rem 0;border-top:1px solid var(--border-soft)}
.discover-band h3{font-family:ui-serif,Georgia,serif;font-size:1.6rem;color:var(--sage);margin-bottom:0.4rem;text-align:center}
.discover-band h3 .dot{color:var(--terracotta)}
.discover-band .sub{text-align:center;color:var(--muted);font-style:italic;margin-bottom:2rem;font-size:1rem}
.discover-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1180px;margin:0 auto;padding:0 28px}
.discover-card{background:var(--white);border:1px solid var(--border-soft);border-radius:var(--radius);padding:1.4rem 1.2rem;text-decoration:none;transition:all .2s;display:block}
.discover-card:hover{transform:translateY(-2px);border-color:var(--sage);box-shadow:var(--shadow-sm)}
.discover-card .dc-cat{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--terracotta);font-weight:600;margin-bottom:0.4rem;display:block}
.discover-card .dc-title{font-family:ui-serif,Georgia,serif;font-size:1.05rem;color:var(--sage);line-height:1.3;display:block}

/* FORMULAIRE AUDIT — élargi v3 (Sébastien feedback : raplapla, augmenter largeur) */
.audit-grid{display:grid;grid-template-columns:0.7fr 1.3fr;gap:5rem;align-items:start;max-width:1180px;margin:0 auto}
.audit-text{padding-top:0.5rem}
.audit-form-wrap{background:var(--white);padding:3.2rem 3.5rem 2.8rem;border-radius:var(--radius-xl);box-shadow:var(--shadow);border:1px solid var(--border-soft);width:100%}
.audit-form-wrap h3{font-size:1.85rem !important;margin-bottom:0.6rem !important}
.audit-form-wrap .form-sub{font-size:1.02rem !important;margin-bottom:2rem !important}
.audit-form{gap:1.4rem}
.audit-form input,.audit-form textarea{font-size:1.05rem;padding:1.15rem 1.3rem !important;border-radius:var(--radius)}
.audit-form textarea{min-height:140px !important}
.audit-form button{padding:1.1rem 2.4rem !important;font-size:1.05rem !important;align-self:stretch !important;text-align:center}
/* Container des sections audit/contact — élargi pour le formulaire */
.audit-section,section.section-cream:has(.audit-grid){background:var(--cream-2)}
.section-cream:has(.audit-grid) > .container,
.section-cream:has(.audit-grid) > .container-narrow{max-width:1180px}
@media(max-width:980px){
  .audit-grid{grid-template-columns:1fr;gap:2.5rem}
  .audit-form-wrap{padding:2rem 2rem 1.6rem}
}
.audit-form-wrap h3{font-family:ui-serif,Georgia,serif;font-size:1.5rem;color:var(--sage);margin-bottom:0.4rem;font-weight:500}
.audit-form-wrap .form-sub{color:var(--muted);font-size:0.92rem;margin-bottom:1.6rem;font-style:italic}
.form-msg{padding:0.9rem 1.1rem;border-radius:var(--radius-sm);margin-bottom:1.4rem;font-size:0.92rem}
.form-msg-ok{background:#E8F0E9;border:1px solid var(--sage);color:var(--sage)}
.form-msg-ko{background:#FCE8E0;border:1px solid var(--terracotta);color:var(--terracotta)}
.audit-form{display:flex;flex-direction:column;gap:1rem}
.form-row{display:flex;flex-direction:column;gap:0.4rem}
.form-row label{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);font-weight:600}
.audit-form input,.audit-form textarea{padding:0.85rem 1rem;border:1px solid var(--border);background:var(--cream);color:var(--text);font-size:0.95rem;font-family:inherit;border-radius:var(--radius);transition:border-color .15s,background .15s}
.audit-form input:focus,.audit-form textarea:focus{outline:none;border-color:var(--sage);background:var(--white)}
.audit-form textarea{resize:vertical;min-height:96px}
.audit-form button{margin-top:0.6rem;align-self:flex-start}
.form-rgpd{font-size:0.78rem;color:var(--muted);line-height:1.5;margin-top:0.6rem}
.form-rgpd a{color:var(--sage);text-decoration:underline}

/* RESPONSIVE */
@media(max-width:1080px){
  .footer-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem}
  .footer-brand{grid-column:1 / -1}
}
@media(max-width:980px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .footer-brand{grid-column:1 / -1}
  .audit-grid{grid-template-columns:1fr;gap:2.5rem}
  /* Menu mobile : burger */
  .nav-toggle{display:flex}
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--border-soft);box-shadow:var(--shadow);padding:1rem;z-index:99}
  .nav-toggle-input:checked ~ nav{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:0.4rem}
  .nav-list > li{width:100%}
  .nav-list > li > a{padding:0.8rem 1rem;border-radius:var(--radius-sm)}
  .nav-list > li > a:hover{background:var(--sage-light)}
  .has-dropdown > a::after{content:" +";font-size:1em}
  .dropdown{position:static;transform:none;opacity:1;pointer-events:auto;box-shadow:none;border:0;background:transparent;padding:0 0 0 1rem;min-width:0}
  .dropdown-cols{display:flex;flex-direction:column;gap:0;min-width:0}
  .has-dropdown > .dropdown{display:none}
  .has-dropdown:focus-within > .dropdown{display:block}
  .nav-toggle-input:checked ~ nav .dropdown{display:block}
  .header-cta{display:none}
}
@media(max-width:680px){
  html{font-size:16px}
  section{padding:5rem 0}
  .pre-footer{padding:5rem 24px}
  .pre-footer p{font-size:1.7rem}
  .footer-grid{grid-template-columns:1fr}
  .audit-form-wrap{padding:1.8rem}
}

/* ============================================================
   ÉTAPE 3 — COMPOSANTS PAGES INTERNES ENRICHIES
   Containers larges, layout 2 colonnes, comparatifs, big-quote sage,
   sommaire latéral, fact-box, "trouvez la différence" terracotta.
   ============================================================ */

/* Container medium (1080px) — pour les pages services/piliers/villes/articles */
.container-mid{max-width:1180px;margin:0 auto;padding:0 28px}

/* Layout 2 colonnes : sommaire latéral + corps */
.with-toc{display:grid;grid-template-columns:240px minmax(0,1fr);gap:4rem;align-items:start;max-width:1180px;margin:0 auto;padding:0 28px}
.with-toc .toc-side{position:sticky;top:6rem;font-size:.9rem;line-height:1.5;border-left:1px solid var(--border-soft);padding-left:1.2rem}
.with-toc .toc-side .toc-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--terracotta);font-weight:600;margin-bottom:1rem}
.with-toc .toc-side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.with-toc .toc-side a{color:var(--muted);text-decoration:none;display:block;padding:.15rem 0;line-height:1.4;transition:color .15s,border-color .15s;border-left:2px solid transparent;padding-left:.6rem;margin-left:-.6rem}
.with-toc .toc-side a:hover{color:var(--terracotta);border-color:var(--terracotta)}
.with-toc .toc-side a.is-current{color:var(--sage);border-color:var(--terracotta);font-weight:500}

/* Prose élargie (pour layout 2 cols : on supprime la limite à 62-64ch) */
.prose-wide{font-size:1.05rem;line-height:1.75}
.prose-wide p{margin-bottom:1.4rem;max-width:74ch}
.prose-wide h2{font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;font-size:clamp(1.85rem,3.4vw,2.7rem);margin:4.5rem 0 1.2rem;color:var(--sage);line-height:1.12;letter-spacing:-0.02em;font-weight:400;scroll-margin-top:5rem;padding-top:1.2rem;position:relative;max-width:24ch}
.prose-wide h2::before{content:"";position:absolute;top:0;left:0;width:2.4rem;height:2px;background:var(--terracotta);border-radius:1px}
.prose-wide h2 .dot{color:var(--terracotta)}
.prose-wide h2:first-child{margin-top:0}
/* H2 centré (text-align:center inline) — barre terracotta centrée et max-width auto */
.prose-wide h2[style*="center"]{max-width:none;margin-left:auto;margin-right:auto}
.prose-wide h2[style*="center"]::before{left:50%;transform:translateX(-50%)}
/* Composants imbriqués qui réinitialisent les styles spécifiques de .prose-wide h2/h3 */
.prose-wide .cta-box h2,
.prose-wide .engagement-box h3,
.prose-wide .diff-section h2,
.prose-wide .big-quote-sage blockquote{
  max-width:none;
  padding-top:0;
}
.prose-wide .cta-box h2::before,
.prose-wide .engagement-box h3::before,
.prose-wide .diff-section h2::before{
  display:none;
}
.prose-wide .cta-box h2{color:var(--cream);text-align:center;margin:0 auto 1rem}
.prose-wide .engagement-box h3{color:var(--cream)}
.prose-wide .diff-section h2{color:var(--cream);margin:0 auto 1rem;text-align:center}
.prose-wide h3{font-family:ui-serif,Georgia,serif;font-size:clamp(1.3rem,2.2vw,1.55rem);margin:2.4rem 0 .8rem;color:var(--text);line-height:1.3;font-weight:500}
.prose-wide h3 .dot{color:var(--terracotta)}
.prose-wide ul,.prose-wide ol{margin:1rem 0 1.6rem 1.4rem;max-width:72ch}
.prose-wide ul li,.prose-wide ol li{margin-bottom:.6rem}
.prose-wide blockquote{font-family:ui-serif,Georgia,serif;font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--sage);border-left:3px solid var(--terracotta);padding:.5rem 0 .5rem 1.5rem;margin:2rem 0;max-width:72ch}
.prose-wide strong{font-weight:600;color:var(--sage)}
.prose-wide em{font-style:italic}
.prose-wide a{color:var(--sage);text-decoration:underline;text-decoration-color:var(--terracotta-soft);text-underline-offset:.2em}
.prose-wide a:hover{color:var(--terracotta);text-decoration-color:var(--terracotta)}
.prose-wide .stamp{text-align:center;font-size:1.4rem;color:var(--terracotta);margin:3rem 0 1rem;line-height:1}

/* Lead intro plus marqué — premier paragraphe sur fond clair */
.prose-wide .lead-intro{font-family:ui-serif,Georgia,serif;font-size:1.25rem;line-height:1.55;color:var(--sage);margin-bottom:2rem;max-width:74ch;font-weight:400}
.prose-wide .lead-intro strong{color:var(--terracotta);font-weight:500}

/* Big quote sage — citation full-width sur fond sauge */
.big-quote-sage{background:var(--sage);color:var(--cream);padding:5rem 0;margin:5rem 0;text-align:center;position:relative}
.big-quote-sage::before{content:"";position:absolute;left:50%;top:1.5rem;width:4rem;height:1px;background:var(--terracotta);transform:translateX(-50%)}
.big-quote-sage blockquote{font-family:ui-serif,Georgia,serif;font-style:italic;font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.3;max-width:880px;margin:0 auto;padding:0 28px;color:var(--cream);letter-spacing:-0.01em;border:0}
.big-quote-sage blockquote cite{display:block;font-style:normal;font-size:.85rem;color:rgba(244,239,230,.7);margin-top:1.6rem;letter-spacing:.18em;text-transform:uppercase;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:600}

/* Tableau comparatif "site classique vs Verte" */
.compare-table{margin:3rem 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-sm)}
.compare-table .ct-head{display:grid;grid-template-columns:1.4fr 1fr 1fr;background:var(--sage);font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:rgba(244,239,230,.65)}
.compare-table .ct-head > div{padding:1.2rem 1.3rem;border-bottom:1px solid rgba(244,239,230,.15);position:relative}
.compare-table .ct-head .ct-crit{color:rgba(244,239,230,.55)}
.compare-table .ct-head .ct-them{color:rgba(244,239,230,.65)}
.compare-table .ct-head .ct-us{color:var(--terracotta);background:rgba(199,111,74,.12);border-bottom:1px solid var(--terracotta)}
.compare-table .ct-head .ct-us::before{content:"·";display:inline-block;color:var(--terracotta);font-size:1.4rem;line-height:0;margin-right:.4rem;vertical-align:middle}
.compare-table .ct-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;border-bottom:1px solid var(--border-soft);transition:background .15s}
.compare-table .ct-row:last-child{border-bottom:0}
.compare-table .ct-row:hover{background:rgba(168,184,156,.06)}
.compare-table .ct-row > div{padding:1.3rem 1.5rem;font-size:.96rem;line-height:1.55;display:flex;align-items:center}
.compare-table .ct-row .ct-crit{font-weight:500;color:var(--sage);background:var(--cream-2)}
.compare-table .ct-row .ct-them{color:var(--muted);font-style:italic}
.compare-table .ct-row .ct-us{color:var(--text);font-weight:500;background:rgba(168,184,156,.12);border-left:2px solid rgba(199,111,74,.4);padding-left:1.6rem}
.compare-table .ct-row .ct-us strong{color:var(--terracotta);font-weight:600;display:inline-block;margin-left:.15em;margin-right:.05em;padding:0 .1em}
@media(max-width:780px){
  .compare-table .ct-head,.compare-table .ct-row{grid-template-columns:1fr}
  .compare-table .ct-head .ct-crit,.compare-table .ct-row .ct-crit{font-weight:600;color:var(--sage);padding-bottom:.4rem}
  .compare-table .ct-head > div,.compare-table .ct-row > div{padding:.6rem 1.2rem}
  .compare-table .ct-head .ct-them::before{content:"Habituellement : ";font-weight:600;color:var(--muted)}
  .compare-table .ct-head .ct-us::before{content:"Chez Verte : ";font-weight:600;color:var(--sage)}
}

/* Section "Trouvez la différence" terracotta — pattern home */
.diff-section{background:var(--terracotta);color:var(--cream);padding:6rem 0;margin:5rem 0;position:relative;overflow:hidden}
.diff-section::before{content:"·";position:absolute;top:1.6rem;left:50%;transform:translateX(-50%);font-size:3.5rem;color:rgba(244,239,230,.35);font-family:ui-serif,Georgia,serif;line-height:1}
.diff-section .container-mid{max-width:1080px;text-align:center}
.diff-section > .container-mid > .diff-grid{text-align:left}
.diff-section .label{background:rgba(244,239,230,.18);color:var(--cream);border:1px solid rgba(244,239,230,.25)}
.diff-section h2{font-family:ui-serif,Georgia,serif;font-size:clamp(1.9rem,3.8vw,2.8rem);color:var(--cream);line-height:1.12;margin-bottom:1rem;font-weight:400;letter-spacing:-0.02em;max-width:24ch;margin-left:auto;margin-right:auto}
.diff-section h2 .dot{color:var(--cream);text-decoration:underline;text-decoration-color:var(--cream);text-decoration-thickness:3px;text-underline-offset:6px}
.diff-section .lead{font-size:1.18rem;color:rgba(244,239,230,.94);max-width:60ch;line-height:1.55;margin:0 auto 3rem}
.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.diff-col{background:rgba(244,239,230,.06);border:1px solid rgba(244,239,230,.15);border-radius:var(--radius-lg);padding:2rem 1.8rem;backdrop-filter:blur(2px)}
.diff-col.col-us{background:rgba(244,239,230,.14);border-color:rgba(244,239,230,.32)}
.diff-col h3{font-family:ui-serif,Georgia,serif;font-size:1.25rem;color:var(--cream);margin:-.4rem 0 1.2rem;font-weight:500;border-bottom:1px solid rgba(244,239,230,.3);padding-bottom:.8rem;display:flex;align-items:center;gap:.6rem}
.diff-col.col-them h3::before{content:"✕";color:rgba(244,239,230,.6);font-size:.9em}
.diff-col.col-us h3::before{content:"✓";color:var(--cream);font-size:.9em;font-weight:700}
.diff-col ul{list-style:none;margin:0;padding:0}
.diff-col li{padding:.7rem 0 .7rem 1.6rem;position:relative;font-size:.96rem;line-height:1.55;color:rgba(244,239,230,.92);border-bottom:1px solid rgba(244,239,230,.08)}
.diff-col li:last-child{border-bottom:0}
.diff-col li::before{content:"·";position:absolute;left:.4rem;top:.45rem;color:var(--cream);font-weight:700;font-size:1.4rem}
.diff-col.col-them li{color:rgba(244,239,230,.72)}
.diff-col.col-us li{color:var(--cream)}
.diff-col.col-us li strong{color:var(--cream);font-weight:600}
@media(max-width:780px){
  .diff-grid{grid-template-columns:1fr;gap:2.5rem}
}

/* Fact-box — encart fait/chiffre saillant inline dans la prose */
.fact-box{background:linear-gradient(135deg,var(--white) 0%,var(--cream) 100%);border:1px solid var(--border);border-left:4px solid var(--terracotta);padding:1.8rem 2rem;margin:2.5rem 0;border-radius:0 var(--radius-lg) var(--radius-lg) 0;max-width:74ch;box-shadow:var(--shadow-sm);position:relative}
.fact-box::after{content:"·";position:absolute;top:.4rem;right:1rem;color:var(--terracotta);font-size:2.2rem;line-height:1;opacity:.4;font-family:ui-serif,Georgia,serif}
.fact-box .fb-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--terracotta);font-weight:600;margin-bottom:.5rem;display:block}
.fact-box .fb-num{font-family:ui-serif,Georgia,serif;font-size:2.2rem;color:var(--sage);line-height:1.05;margin-bottom:.6rem;font-weight:500;display:block;letter-spacing:-0.02em}
.fact-box p{font-size:.97rem;color:var(--text);line-height:1.6;margin:0;max-width:none}

/* Section EcoIndex badge — pattern home (gros A 92/100) */
.eco-badge-row{display:flex;align-items:center;gap:1.6rem;background:var(--cream);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:1.6rem 2rem;margin:2.5rem 0;max-width:74ch}
.eco-badge-row .eb-letter{font-family:ui-serif,Georgia,serif;font-size:4.5rem;color:var(--terracotta);line-height:1;font-weight:500;flex-shrink:0}
.eco-badge-row .eb-text h4{font-family:ui-serif,Georgia,serif;font-size:1.2rem;color:var(--sage);margin-bottom:.3rem;font-weight:500}
.eco-badge-row .eb-text p{font-size:.92rem;color:var(--text);line-height:1.5;margin:0;max-width:none}

/* Stats strip inline (3 ou 4 chiffres alignés) */
.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin:2.5rem 0;padding:2rem 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
.stats-strip .ss-item{text-align:center}
.stats-strip .ss-num{font-family:ui-serif,Georgia,serif;font-size:clamp(1.8rem,3.2vw,2.4rem);color:var(--terracotta);line-height:1;margin-bottom:.4rem;font-weight:500;display:block}
.stats-strip .ss-lab{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sage);font-weight:600;display:block}
.stats-strip .ss-sub{font-size:.85rem;color:var(--muted);margin-top:.3rem;font-style:italic;display:block;line-height:1.4}

/* Sommaire mobile (sticky en haut, sur mobile uniquement) */
@media(max-width:980px){
  .with-toc{display:block;padding:0 28px}
  .with-toc .toc-side{position:relative;top:0;border-left:0;border:1px solid var(--border-soft);padding:1.2rem 1.4rem;border-radius:var(--radius);margin-bottom:2rem;background:var(--white)}
  .stats-strip{grid-template-columns:repeat(2,1fr);gap:1.5rem}
}

/* Reading-time meta */
.reading-meta{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin:1rem 0 0;padding-top:.8rem;border-top:1px solid var(--border-soft);max-width:74ch}
.reading-meta span{display:inline-flex;align-items:center;gap:.4rem}
.reading-meta strong{color:var(--sage);font-weight:600}

/* Sources inline (cite après une donnée) */
.prose-wide .src{font-size:.78rem;color:var(--muted);font-style:italic;background:var(--cream-2);padding:.15rem .55rem;border-radius:4px;margin-left:.4rem;font-family:ui-sans-serif,system-ui,sans-serif;letter-spacing:0;text-transform:none;font-weight:500}

/* TL;DR box GEO-extractable (en début de pilier/article) */
.tldr-box{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--sage);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:2rem 2.2rem;margin:2.5rem 0 3.5rem;max-width:74ch;position:relative;box-shadow:var(--shadow-sm)}
.tldr-box::before{content:"·";position:absolute;top:.4rem;right:1.4rem;color:var(--terracotta);font-size:3rem;line-height:1;font-family:ui-serif,Georgia,serif}
.tldr-box .tldr-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--terracotta);font-weight:600;margin-bottom:1rem;display:inline-block;padding:.3rem .8rem;background:rgba(199,111,74,.1);border-radius:var(--pill);border:1px solid rgba(199,111,74,.2)}
.tldr-box p{font-size:1.04rem;line-height:1.65;color:var(--text);margin:0 0 .9rem;max-width:none}
.tldr-box p:last-child{margin-bottom:0}
.tldr-box strong{color:var(--sage);font-weight:600}

/* Petits ajustements responsive complémentaires */
@media(max-width:680px){
  .big-quote-sage{padding:3.5rem 0;margin:3rem 0}
  .big-quote-sage blockquote{font-size:1.4rem}
  .diff-section{padding:3.5rem 0;margin:3rem 0}
  .stats-strip{grid-template-columns:1fr 1fr;gap:1rem;padding:1.4rem 0}
  .eco-badge-row{flex-direction:column;text-align:center;align-items:center;gap:.8rem;padding:1.4rem}
}

/* ============================================================
   MANIFESTE-HERO — Design « livre ouvert » repris de la home
   Utilisé en tête de la page /manifeste/ (Lot 1B)
   ============================================================ */
.manifesto-hero{background:var(--sage);color:var(--cream);position:relative;overflow:hidden;padding:6rem 0}
.manifesto-hero::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:rgba(199,111,74,0.1);border-radius:50%;pointer-events:none}
.manifesto-hero::after{content:'';position:absolute;bottom:-150px;left:-150px;width:380px;height:380px;background:rgba(168,184,156,0.08);border-radius:50%;pointer-events:none}
.manifesto-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;max-width:1180px;margin:0 auto;padding:0 28px}
.manifesto-hero .label{background:rgba(244,239,230,0.12);color:var(--cream);border:1px solid rgba(244,239,230,.18)}
.manifesto-hero h1{font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;font-size:clamp(2rem,3.6vw,2.8rem);color:var(--cream);margin-bottom:1.4rem;line-height:1.12;font-weight:400;letter-spacing:-0.02em;max-width:16ch;overflow-wrap:break-word}
.manifesto-hero blockquote{font-size:clamp(1.05rem,1.8vw,1.2rem);max-width:42ch;overflow-wrap:break-word}
.manifesto-hero .lead{max-width:42ch;font-size:1rem}
.manifesto-hero h1 .dot{color:var(--terracotta)}
.manifesto-hero blockquote{font-family:ui-serif,Georgia,serif;font-size:1.35rem;font-style:italic;line-height:1.5;color:var(--cream);margin:0 0 2rem;border-left:3px solid var(--terracotta);padding-left:1.5rem;opacity:.95;max-width:none}
.manifesto-hero blockquote cite{display:block;font-style:normal;font-size:.85rem;color:rgba(244,239,230,.7);margin-top:.8rem;letter-spacing:.15em;text-transform:uppercase;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:600}
.manifesto-hero .lead{color:rgba(244,239,230,.85);margin-bottom:2rem;font-size:1.08rem;line-height:1.6;max-width:48ch}
.manifesto-hero .btn-light{background:var(--cream);color:var(--sage);border-color:var(--cream)}
.manifesto-hero .btn-light:hover{background:var(--terracotta);color:var(--cream);border-color:var(--terracotta)}

.book-stage{display:flex;justify-content:center;align-items:center;perspective:1400px}
.book{position:relative;width:340px;height:460px;background:linear-gradient(135deg,#F5EFE0 0%,#E8DFC8 100%);border-radius:3px 12px 12px 3px;box-shadow:0 30px 60px rgba(0,0,0,.4),0 12px 24px rgba(0,0,0,.25),inset 0 0 0 1px rgba(45,74,61,.08);transform:rotateY(-12deg) rotateX(3deg);transform-style:preserve-3d;transition:transform .4s ease}
.book:hover{transform:rotateY(-8deg) rotateX(2deg) scale(1.02)}
.book::before{content:'';position:absolute;left:14px;top:0;bottom:0;width:1px;background:rgba(45,74,61,.15);z-index:2}
.book-pages{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:3px 8px 8px 3px;pointer-events:none;box-shadow:inset 0 -1px 0 rgba(0,0,0,.06)}
.book-pages.b1{transform:translateZ(-3px);background:#E8DFC8}
.book-pages.b2{transform:translateZ(-6px);background:#E0D6BC}
.book-pages.b3{transform:translateZ(-9px);background:#D8CDAE}
.book-pages.b4{transform:translateZ(-12px);background:#CFC29F}
.book-pages.b5{transform:translateZ(-15px);background:#C5B791}
.book-overlay{position:absolute;inset:30px 30px 30px 40px;display:flex;flex-direction:column;justify-content:space-between}
.book-cat{color:rgba(45,74,61,.55);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;font-weight:700;font-family:ui-sans-serif,system-ui,sans-serif}
.book-circle{width:14px;height:14px;border-radius:50%;background:var(--terracotta);position:absolute;top:30px;right:30px;box-shadow:0 0 0 4px rgba(199,111,74,.18)}
.book-center{display:flex;flex-direction:column;gap:.7rem;margin-top:auto;margin-bottom:auto}
.book-title{color:var(--sage);font-family:ui-serif,Georgia,serif;font-size:2.6rem;line-height:1;letter-spacing:.01em;font-weight:500;margin:0}
.book-title .dot{color:var(--terracotta)}
.book-divider{width:48px;height:2px;background:var(--terracotta);border-radius:2px}
.book-subtitle{color:rgba(45,74,61,.7);font-style:italic;font-size:.9rem;font-family:ui-serif,Georgia,serif;margin:0}
.book-edition{color:rgba(45,74,61,.45);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;text-align:center;font-weight:600;margin:0}

@media(max-width:980px){
  .manifesto-hero-grid{grid-template-columns:1fr;gap:3.5rem}
  .book{width:280px;height:380px}
  .book-title{font-size:2.1rem}
}

/* ============================================================
   PRINT STYLESHEET — Préserve les couleurs en PDF / impression
   Sans cette règle, les fonds sage / terracotta / crème disparaissent
   et le rendu PDF devient fade. -webkit-print-color-adjust force le
   respect des fonds par les navigateurs Chrome / Safari / Edge.
   ============================================================ */
@media print{
  *,*::before,*::after{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
    color-adjust:exact !important;
  }
  html,body{background:var(--cream) !important}
  /* Ne pas casser les grilles à l'impression */
  .compare-table .ct-head,.compare-table .ct-row,
  .diff-grid,.with-toc,.proof-band-grid,.stats-strip,.icon-grid,
  .footer-grid,.audit-grid,.minimap-grid,.discover-grid{
    display:grid !important;
  }
  /* Sommaire latéral inutile en print */
  .toc-side{display:none !important}
  .with-toc{grid-template-columns:1fr !important;gap:0 !important;padding:0 28px !important}
  /* Topbar/header/CTA buttons cachés en print pour gagner de la place */
  .topbar,header .header-cta,.nav-toggle{display:none !important}
  header{position:static !important;background:var(--cream) !important;box-shadow:none !important;border-bottom:1px solid var(--border)}
  /* Liens en print : retirer le surlignage terracotta qui devient flou */
  a{text-decoration:none !important;color:inherit !important}
  /* Forcer fond sage / terracotta sur les sections clés */
  .proof-band,footer,.cta-box,.engagement-box,.big-quote-sage,.compare-table .ct-head{background:var(--sage) !important;color:var(--cream) !important}
  .diff-section{background:var(--terracotta) !important;color:var(--cream) !important}
  .page-hero{background:var(--cream-2) !important}
  .section-cream{background:var(--cream) !important}
  .section-white,.faq-list,.fact-box,.tldr-box,.further,.compare-table{background:var(--white) !important}
  /* Éviter les coupures malheureuses */
  .compare-table,.diff-section,.engagement-box,.cta-box,.fact-box,.tldr-box,
  .faq-list details,.icon-card,.eco-badge-row{
    page-break-inside:avoid;
    break-inside:avoid;
  }
  h1,h2,h3{page-break-after:avoid;break-after:avoid}
  /* Fond clair derrière le sommaire */
  section{padding:2.5rem 0 !important}
}
