/* ========================================================================
   COMPTABLE MAURICE — main.css
   Palette : lin / ivoire / navy nuit / bronze cuivré / sauge
   Typo    : Fraunces (serif) + IBM Plex Sans (body) + IBM Plex Mono (chiffres)
   ======================================================================== */

:root{
  --cmp-bg:         #fff1e5;   /* saumon FT */
  --cmp-surface:    #fce2c9;   /* saumon chaud */
  --cmp-surface-2:  #f7d2ad;
  --cmp-border:     #ebcfb0;
  --cmp-border-soft:#f5dec4;
  --cmp-graphite:   #0d1b2a;   /* navy encre */
  --cmp-graphite-2: #1a2a42;
  --cmp-ink:        #0d1b2a;
  --cmp-muted:      #55637a;
  --cmp-bronze:     #c13816;   /* rouille FT */
  --cmp-bronze-2:   #a62d11;
  --cmp-bronze-soft:#fcd6cb;
  --cmp-sauge:      #556b2f;   /* olive */
  --cmp-sauge-soft: #dde5c7;
  --cmp-white:      #ffffff;
  --cmp-danger:     #a62d11;
  --cmp-success:    #556b2f;

  --cmp-serif:  "Source Serif 4", "Source Serif Pro", Georgia, serif;
  --cmp-sans:   "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
  --cmp-mono:   "Inter", system-ui, sans-serif;
  --cmp-display:"Fraunces", "Source Serif 4", Georgia, serif;

  --cmp-radius-sm: 2px;
  --cmp-radius:    4px;
  --cmp-radius-lg: 6px;
  --cmp-shadow-sm: 0 1px 0 rgba(13,27,42,.06);
  --cmp-shadow:    0 1px 0 rgba(13,27,42,.08), 0 12px 28px rgba(13,27,42,.08);

  --cmp-container: 1220px;
}

/* RESET + BASE ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cmp-bg);
  color:var(--cmp-ink);
  font-family:var(--cmp-sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--cmp-graphite);text-decoration:none;transition:color .18s}
a:hover{color:var(--cmp-bronze)}
h1,h2,h3,h4{font-family:var(--cmp-serif);font-weight:600;line-height:1.1;letter-spacing:-0.015em;color:var(--cmp-graphite);margin:0 0 .6em}
h1{font-size:clamp(2.2rem, 5vw + 0.5rem, 4.8rem);font-weight:600;line-height:1.02;letter-spacing:-0.025em}
h2{font-size:clamp(1.7rem, 2.6vw + 0.8rem, 3rem);font-weight:600;line-height:1.08}
h3{font-size:clamp(1.2rem, 0.9vw + 1rem, 1.55rem);font-weight:600}
h4{font-size:1.1rem;font-weight:600}
p{margin:0 0 1em}
ul,ol{margin:0 0 1.2em;padding-left:1.3em}
li{margin:.25em 0}
blockquote{margin:1.6em 0;padding:1.2em 1.6em;background:var(--cmp-surface);border-left:3px solid var(--cmp-bronze);border-radius:var(--cmp-radius-sm);font-family:var(--cmp-serif);font-size:1.15em;font-style:italic;color:var(--cmp-graphite)}
table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95em}
th,td{text-align:left;padding:.75em 1em;border-bottom:1px solid var(--cmp-border-soft)}
th{font-weight:600;background:var(--cmp-surface);color:var(--cmp-graphite);font-size:.85em;text-transform:uppercase;letter-spacing:.04em}
code{font-family:var(--cmp-mono);font-size:.9em;background:var(--cmp-surface);padding:.1em .35em;border-radius:3px}

:focus-visible{outline:2px solid var(--cmp-bronze);outline-offset:3px;border-radius:3px}

/* CONTAINERS ============================================================== */
.cmp-container{width:100%;max-width:var(--cmp-container);margin:0 auto;padding:0 22px}
.cmp-container-narrow{max-width:820px}
.cmp-section{padding:48px 0}
@media (min-width:720px){.cmp-section{padding:72px 0}}
@media (min-width:960px){.cmp-section{padding:96px 0}}

.cmp-kicker{display:inline-block;font-family:var(--cmp-mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cmp-bronze);margin-bottom:1.1em;font-weight:500}
.cmp-lead{font-size:clamp(1.05rem, 0.4vw + 1rem, 1.22rem);color:var(--cmp-muted);font-weight:400;max-width:60ch;line-height:1.6}
.cmp-eyebrow{color:var(--cmp-bronze);font-family:var(--cmp-mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}

/* HEADER + NAV ============================================================ */
.cmp-header{position:sticky;top:0;z-index:80;background:rgba(251,247,239,.94);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--cmp-border-soft)}
.cmp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:10px 0}
.cmp-brand{display:flex;align-items:center;color:var(--cmp-graphite);text-decoration:none}
.cmp-brand svg{height:34px;width:auto}
.cmp-nav{display:none}
.cmp-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px}
.cmp-nav a{color:var(--cmp-graphite);font-size:.96rem;font-weight:500;position:relative;padding:6px 0}
.cmp-nav a:hover,.cmp-nav .current-menu-item > a,.cmp-nav .current-menu-ancestor > a{color:var(--cmp-bronze)}
.cmp-nav-cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 20px;background:var(--cmp-graphite);color:#fff;border-radius:var(--cmp-radius-sm);font-weight:500;font-size:.95rem;transition:background .18s}
.cmp-nav-cta:hover{background:var(--cmp-bronze);color:#fff}
.cmp-header-cta{display:none}
.cmp-burger{display:inline-flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--cmp-border);border-radius:var(--cmp-radius-sm);cursor:pointer}
.cmp-burger span{display:block;width:20px;height:2px;background:var(--cmp-graphite);transition:transform .25s, opacity .2s}
.cmp-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cmp-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.cmp-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.cmp-mobile-menu{display:none;position:fixed;inset:68px 0 0 0;background:var(--cmp-bg);z-index:70;padding:26px 22px 100px;overflow-y:auto}
.cmp-mobile-menu.is-open{display:block}
.cmp-mobile-menu ul{list-style:none;margin:0;padding:0}
.cmp-mobile-menu > ul > li{border-bottom:1px solid var(--cmp-border-soft)}
.cmp-mobile-menu a{display:block;padding:14px 2px;font-family:var(--cmp-serif);font-size:1.22rem;font-weight:500;color:var(--cmp-graphite)}
.cmp-mobile-menu .sub-menu{padding:0 0 10px 6px}
.cmp-mobile-menu .sub-menu a{font-family:var(--cmp-sans);font-size:1rem;padding:10px 2px;color:var(--cmp-muted);font-weight:400}
.cmp-mobile-cta{display:flex;gap:10px;margin-top:22px}
.cmp-mobile-cta .cmp-btn{flex:1;justify-content:center}

body.menu-open{overflow:hidden}

@media (min-width:960px){
  .cmp-burger{display:none}
  .cmp-nav{display:block}
  .cmp-header-cta{display:inline-flex}
}

/* BUTTONS ================================================================= */
.cmp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 26px;font-family:var(--cmp-sans);font-weight:500;font-size:1rem;letter-spacing:.01em;border-radius:var(--cmp-radius-sm);border:1px solid transparent;cursor:pointer;transition:transform .18s, background .18s, color .18s, border-color .18s;line-height:1}
.cmp-btn-primary{background:var(--cmp-graphite);color:#fff}
.cmp-btn-primary:hover{background:var(--cmp-bronze);color:#fff;transform:translateY(-1px)}
.cmp-btn-bronze{background:var(--cmp-bronze);color:#fff}
.cmp-btn-bronze:hover{background:var(--cmp-bronze-2);color:#fff;transform:translateY(-1px)}
.cmp-btn-ghost{background:transparent;color:var(--cmp-graphite);border-color:var(--cmp-border)}
.cmp-btn-ghost:hover{border-color:var(--cmp-graphite);background:var(--cmp-white);color:var(--cmp-graphite)}
.cmp-btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.cmp-btn-ghost-light:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.cmp-btn-arrow::after{content:"→";font-weight:400;display:inline-block;transition:transform .2s}
.cmp-btn-arrow:hover::after{transform:translateX(3px)}

/* HERO ACCUEIL ============================================================ */
.cmp-hero{padding:48px 0 32px;position:relative;overflow:hidden}
@media (min-width:960px){.cmp-hero{padding:86px 0 70px}}
.cmp-hero-grid{display:grid;gap:40px;grid-template-columns:1fr}
@media (min-width:960px){.cmp-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center}}
.cmp-hero h1{margin:.2em 0 .5em}
.cmp-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.cmp-hero-proof{display:flex;flex-wrap:wrap;gap:22px;margin-top:32px;padding-top:22px;border-top:1px solid var(--cmp-border-soft)}
.cmp-hero-proof-item{font-size:.88rem;color:var(--cmp-muted);display:flex;align-items:center;gap:8px}
.cmp-hero-proof-item strong{color:var(--cmp-graphite);font-weight:600}

/* HERO KPI panel — signature visuelle */
.cmp-kpi-panel{background:var(--cmp-graphite);color:#fff;border-radius:var(--cmp-radius-lg);padding:28px;position:relative;overflow:hidden}
.cmp-kpi-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 10%, rgba(192,146,74,.22), transparent 55%);pointer-events:none}
.cmp-kpi-title{font-family:var(--cmp-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cmp-bronze-2);margin:0 0 18px;font-weight:500;position:relative}
.cmp-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;position:relative}
.cmp-kpi-cell{padding:14px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.cmp-kpi-cell .num{font-family:var(--cmp-serif);font-size:clamp(1.8rem,3vw + 1rem,2.6rem);font-weight:500;line-height:1;letter-spacing:-0.01em;color:#fff;display:block}
.cmp-kpi-cell .num small{font-family:var(--cmp-mono);font-size:.52em;color:var(--cmp-bronze-2);font-weight:500;margin-left:6px;letter-spacing:.04em}
.cmp-kpi-cell .label{font-size:.85rem;color:rgba(255,255,255,.68);margin-top:8px;line-height:1.35;font-weight:400}
.cmp-kpi-source{position:relative;margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-family:var(--cmp-mono);font-size:.7rem;color:rgba(255,255,255,.5);letter-spacing:.04em}

/* BADGES + CHIPS ========================================================== */
.cmp-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--cmp-surface);color:var(--cmp-graphite);font-size:.78rem;font-weight:500;letter-spacing:.02em}
.cmp-chip-bronze{background:var(--cmp-bronze-soft);color:#6e5420}
.cmp-chip-sauge{background:var(--cmp-sauge-soft);color:var(--cmp-sauge)}
.cmp-chip-dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}

/* SERVICES GRID =========================================================== */
.cmp-services-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:36px}
@media (min-width:520px){.cmp-services-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media (min-width:960px){.cmp-services-grid{grid-template-columns:repeat(3,1fr);gap:24px}}

.cmp-service-card{background:#fff;border:1px solid var(--cmp-border-soft);border-radius:var(--cmp-radius);padding:28px;display:flex;flex-direction:column;gap:14px;transition:transform .2s, border-color .2s, box-shadow .2s;position:relative;text-decoration:none;color:inherit;min-height:100%}
.cmp-service-card:hover{transform:translateY(-2px);border-color:var(--cmp-bronze);box-shadow:var(--cmp-shadow)}
.cmp-service-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--cmp-surface);border-radius:var(--cmp-radius-sm);color:var(--cmp-bronze)}
.cmp-service-icon svg{width:24px;height:24px}
.cmp-service-card h3{font-size:1.22rem;margin:0}
.cmp-service-card p{color:var(--cmp-muted);font-size:.95rem;margin:0;flex:1}
.cmp-service-card .more{font-family:var(--cmp-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cmp-bronze);margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px}

/* DOMAINES / 2 COL OR LIST ================================================ */
.cmp-domaines-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:36px}
@media (min-width:720px){.cmp-domaines-grid{grid-template-columns:repeat(2,1fr);gap:22px}}
@media (min-width:960px){.cmp-domaines-grid{grid-template-columns:repeat(3,1fr);gap:24px}}

.cmp-domaine-card{background:var(--cmp-surface);border-radius:var(--cmp-radius);padding:26px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:transform .2s;color:inherit;text-decoration:none}
.cmp-domaine-card:hover{transform:translateY(-2px)}
.cmp-domaine-card::before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--cmp-bronze);transition:width .3s}
.cmp-domaine-card:hover::before{width:8px}
.cmp-domaine-card .tag{font-family:var(--cmp-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cmp-bronze);font-weight:500}
.cmp-domaine-card h3{font-size:1.15rem;margin:0}
.cmp-domaine-card p{margin:0;font-size:.94rem;color:var(--cmp-muted)}

/* TIMELINE FISCALE (signature) ============================================ */
.cmp-timeline{background:var(--cmp-graphite);color:#fff;border-radius:var(--cmp-radius-lg);padding:32px 24px;position:relative;overflow:hidden}
@media (min-width:720px){.cmp-timeline{padding:48px}}
.cmp-timeline h2{color:#fff}
.cmp-timeline .cmp-kicker{color:var(--cmp-bronze-2)}
.cmp-timeline-lead{color:rgba(255,255,255,.75);max-width:58ch;margin-bottom:32px}
.cmp-timeline-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -24px;padding:0 24px 12px;scrollbar-width:thin}
@media (min-width:720px){.cmp-timeline-scroll{margin:0;padding:0 0 12px}}
.cmp-timeline-track{display:grid;grid-template-columns:repeat(12,minmax(150px,1fr));gap:12px;padding-top:28px;position:relative;min-width:100%}
.cmp-timeline-track::before{content:"";position:absolute;top:38px;left:0;right:0;height:1px;background:rgba(255,255,255,.14)}
.cmp-timeline-month{padding:0;position:relative}
.cmp-timeline-month::before{content:"";position:absolute;top:33px;left:14px;width:10px;height:10px;border-radius:50%;background:var(--cmp-bronze);border:2px solid var(--cmp-graphite)}
.cmp-timeline-month .m{font-family:var(--cmp-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cmp-bronze-2);padding:0 0 24px 4px}
.cmp-timeline-month .ev{margin-top:8px;padding:12px 14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--cmp-radius-sm);font-size:.82rem;color:rgba(255,255,255,.85);line-height:1.45}
.cmp-timeline-month .ev strong{display:block;font-weight:600;color:#fff;margin-bottom:3px;font-size:.88rem;font-family:var(--cmp-sans)}
.cmp-timeline-legend{margin-top:20px;display:flex;flex-wrap:wrap;gap:16px;font-family:var(--cmp-mono);font-size:.72rem;color:rgba(255,255,255,.6);letter-spacing:.04em}
.cmp-timeline-legend span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.cmp-timeline-legend .l-tva::before{background:var(--cmp-bronze)}
.cmp-timeline-legend .l-is::before{background:var(--cmp-sauge)}
.cmp-timeline-legend .l-paie::before{background:#d5bfa0}

/* SIMU HONORAIRES ========================================================= */
.cmp-simu{background:var(--cmp-surface);border-radius:var(--cmp-radius-lg);padding:28px;border:1px solid var(--cmp-border-soft)}
@media (min-width:720px){.cmp-simu{padding:40px}}
.cmp-simu h2{margin-top:0}
.cmp-simu-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:24px}
@media (min-width:720px){.cmp-simu-grid{grid-template-columns:1fr 1fr;gap:32px}}
.cmp-simu-field{display:flex;flex-direction:column;gap:8px}
.cmp-simu-field label{font-size:.92rem;font-weight:500;color:var(--cmp-graphite);font-family:var(--cmp-sans)}
.cmp-simu-field .hint{font-size:.8rem;color:var(--cmp-muted)}
.cmp-simu-field select,.cmp-simu-field input{font-family:var(--cmp-sans);font-size:16px;padding:13px 14px;border:1px solid var(--cmp-border);border-radius:var(--cmp-radius-sm);background:#fff;color:var(--cmp-graphite);min-height:48px;transition:border-color .18s, box-shadow .18s}
.cmp-simu-field select:focus,.cmp-simu-field input:focus{border-color:var(--cmp-bronze);outline:none;box-shadow:0 0 0 3px rgba(167,122,47,.15)}
.cmp-simu-result{background:var(--cmp-graphite);color:#fff;border-radius:var(--cmp-radius);padding:24px;margin-top:24px;position:relative;overflow:hidden}
.cmp-simu-result::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 20%, rgba(192,146,74,.2), transparent 50%);pointer-events:none}
.cmp-simu-result-kicker{font-family:var(--cmp-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cmp-bronze-2);margin:0 0 8px;position:relative}
.cmp-simu-result .amount{font-family:var(--cmp-serif);font-size:clamp(1.8rem,3vw + 1rem,2.7rem);font-weight:500;line-height:1.05;color:#fff;display:block;position:relative}
.cmp-simu-result .amount small{display:block;font-family:var(--cmp-mono);font-size:.44em;color:var(--cmp-bronze-2);margin-top:8px;letter-spacing:.04em;font-weight:400}
.cmp-simu-result .disclaimer{font-size:.8rem;color:rgba(255,255,255,.6);margin-top:14px;position:relative;line-height:1.5}

/* WIZARD ================================================================== */
.cmp-wizard{background:#fff;border-radius:var(--cmp-radius-lg);border:1px solid var(--cmp-border-soft);padding:28px;box-shadow:var(--cmp-shadow-sm)}
@media (min-width:720px){.cmp-wizard{padding:40px}}
.cmp-wizard-steps{display:flex;gap:8px;margin-bottom:28px}
.cmp-wizard-step-indicator{flex:1;height:3px;background:var(--cmp-border-soft);border-radius:2px;transition:background .3s}
.cmp-wizard-step-indicator.done,.cmp-wizard-step-indicator.current{background:var(--cmp-bronze)}
.cmp-wizard-step{display:none}
.cmp-wizard-step.active{display:block;animation:cmp-fade .25s ease}
@keyframes cmp-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cmp-wizard-step h3{font-size:1.35rem}
.cmp-wizard-label{font-family:var(--cmp-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cmp-bronze);margin-bottom:8px}
.cmp-wizard-choices{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
@media (min-width:520px){.cmp-wizard-choices{grid-template-columns:repeat(2,1fr)}}
.cmp-wizard-choice{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;background:var(--cmp-surface);border:1px solid transparent;border-radius:var(--cmp-radius-sm);cursor:pointer;transition:all .18s;min-height:60px}
.cmp-wizard-choice:hover{background:var(--cmp-surface-2)}
.cmp-wizard-choice input[type="radio"]{accent-color:var(--cmp-bronze);flex-shrink:0;margin-top:3px;width:18px;height:18px}
.cmp-wizard-choice.selected{border-color:var(--cmp-bronze);background:var(--cmp-bronze-soft)}
.cmp-wizard-choice-text{flex:1}
.cmp-wizard-choice-text strong{display:block;font-weight:600;color:var(--cmp-graphite);font-size:.98rem;margin-bottom:2px}
.cmp-wizard-choice-text span{font-size:.82rem;color:var(--cmp-muted);line-height:1.4}
.cmp-wizard-nav{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.cmp-wizard-nav .cmp-btn{min-width:130px}
.cmp-wizard-lead-form{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px}
@media (min-width:520px){.cmp-wizard-lead-form{grid-template-columns:1fr 1fr}}
.cmp-wizard-lead-form .full{grid-column:1/-1}
.cmp-wizard-lead-form label{font-size:.88rem;font-weight:500;margin-bottom:4px;display:block}
.cmp-wizard-lead-form input,.cmp-wizard-lead-form textarea{width:100%;font-family:var(--cmp-sans);font-size:16px;padding:13px 14px;border:1px solid var(--cmp-border);border-radius:var(--cmp-radius-sm);background:#fff;min-height:48px}
.cmp-wizard-lead-form textarea{min-height:108px;resize:vertical}
.cmp-wizard-recap{background:var(--cmp-surface);border-radius:var(--cmp-radius-sm);padding:20px;margin:22px 0}
.cmp-wizard-recap h4{margin:0 0 10px;font-size:1rem;font-family:var(--cmp-sans);font-weight:600}
.cmp-wizard-recap ul{list-style:none;padding:0;margin:0;font-size:.92rem}
.cmp-wizard-recap li{padding:6px 0;border-bottom:1px dashed var(--cmp-border);display:flex;justify-content:space-between;gap:16px}
.cmp-wizard-recap li:last-child{border-bottom:none}
.cmp-wizard-recap .lbl{color:var(--cmp-muted)}
.cmp-wizard-recap .val{color:var(--cmp-graphite);font-weight:500;text-align:right}

/* FORMS ==================================================================== */
.cmp-form{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:520px){.cmp-form{grid-template-columns:1fr 1fr}}
.cmp-form .full{grid-column:1/-1}
.cmp-form label{font-size:.9rem;font-weight:500;margin-bottom:4px;display:block;color:var(--cmp-graphite)}
.cmp-form input,.cmp-form textarea,.cmp-form select{width:100%;font-family:var(--cmp-sans);font-size:16px;padding:13px 14px;border:1px solid var(--cmp-border);border-radius:var(--cmp-radius-sm);background:#fff;min-height:48px;transition:border-color .18s, box-shadow .18s}
.cmp-form input:focus,.cmp-form textarea:focus,.cmp-form select:focus{border-color:var(--cmp-bronze);outline:none;box-shadow:0 0 0 3px rgba(167,122,47,.15)}
.cmp-form textarea{min-height:140px;resize:vertical}
.cmp-form .help{font-size:.78rem;color:var(--cmp-muted);margin-top:4px}
.cmp-form .cmp-consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--cmp-muted)}
.cmp-form .cmp-consent input{width:18px;height:18px;min-height:auto;flex-shrink:0;margin-top:2px;accent-color:var(--cmp-bronze)}
.cmp-form-alert{padding:14px 18px;border-radius:var(--cmp-radius-sm);margin-bottom:20px;font-size:.95rem}
.cmp-form-alert.success{background:var(--cmp-sauge-soft);color:var(--cmp-success);border:1px solid #b7d0b7}
.cmp-form-alert.error{background:#fbeaea;color:var(--cmp-danger);border:1px solid #f3c5c5}

/* CTA SECTION ============================================================= */
.cmp-cta-section{background:var(--cmp-graphite);color:#fff;border-radius:var(--cmp-radius-lg);padding:38px 26px;text-align:left;position:relative;overflow:hidden}
@media (min-width:720px){.cmp-cta-section{padding:60px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}}
.cmp-cta-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 15%, rgba(192,146,74,.18), transparent 55%);pointer-events:none}
.cmp-cta-section h2{color:#fff;margin-top:0;position:relative}
.cmp-cta-section p{color:rgba(255,255,255,.75);position:relative}
.cmp-cta-section-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;position:relative}

/* FAQ ===================================================================== */
.cmp-faq-list{display:flex;flex-direction:column;gap:10px;margin-top:32px}
.cmp-faq-item{background:#fff;border:1px solid var(--cmp-border-soft);border-radius:var(--cmp-radius);overflow:hidden}
.cmp-faq-item summary{padding:18px 22px;font-weight:500;font-size:1.02rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--cmp-graphite);min-height:56px}
.cmp-faq-item summary::-webkit-details-marker{display:none}
.cmp-faq-item summary::after{content:"+";font-family:var(--cmp-mono);font-size:1.4rem;color:var(--cmp-bronze);transition:transform .25s;line-height:1;flex-shrink:0}
.cmp-faq-item[open] summary::after{transform:rotate(45deg)}
.cmp-faq-item .cmp-faq-body{padding:4px 22px 22px;color:var(--cmp-muted);font-size:.98rem;line-height:1.6}
.cmp-faq-item .cmp-faq-body p:last-child{margin-bottom:0}

/* BLOG MAGAZINE =========================================================== */
.cmp-blog-hero{padding:48px 0 20px}
@media (min-width:720px){.cmp-blog-hero{padding:70px 0 28px}}
.cmp-blog-hero h1{margin-bottom:.4em}

.cmp-featured{margin-top:32px;display:grid;grid-template-columns:1fr;gap:22px;background:#fff;border-radius:var(--cmp-radius-lg);overflow:hidden;border:1px solid var(--cmp-border-soft)}
@media (min-width:720px){.cmp-featured{grid-template-columns:1fr 1fr;gap:0}}
.cmp-featured-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cmp-surface)}
@media (min-width:720px){.cmp-featured-image{aspect-ratio:auto;height:100%;min-height:320px}}
.cmp-featured-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .5s}
.cmp-featured:hover .cmp-featured-image img{transform:scale(1.03)}
.cmp-featured-badge{position:absolute;top:18px;left:18px;background:var(--cmp-bronze);color:#fff;padding:5px 12px;border-radius:var(--cmp-radius-sm);font-family:var(--cmp-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.cmp-featured-body{padding:28px;display:flex;flex-direction:column;gap:12px;justify-content:center}
@media (min-width:720px){.cmp-featured-body{padding:40px}}
.cmp-featured-body .cat{font-family:var(--cmp-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cmp-bronze);font-weight:500}
.cmp-featured-body h2{font-size:clamp(1.5rem,2.4vw + 0.6rem,2.2rem);margin:0}
.cmp-featured-body h2 a{color:var(--cmp-graphite)}
.cmp-featured-body h2 a:hover{color:var(--cmp-bronze)}
.cmp-featured-body .excerpt{color:var(--cmp-muted);font-size:1rem;margin:0;max-width:48ch}
.cmp-featured-body .meta{display:flex;gap:14px;font-size:.82rem;color:var(--cmp-muted);align-items:center;margin-top:4px;flex-wrap:wrap}
.cmp-featured-body .meta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.4;display:inline-block}

.cmp-post-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:44px}
@media (min-width:560px){.cmp-post-grid{grid-template-columns:repeat(2,1fr);gap:28px}}
@media (min-width:960px){.cmp-post-grid{grid-template-columns:repeat(3,1fr);gap:32px}}
.cmp-post-card{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit}
.cmp-post-card-image{aspect-ratio:16/10;overflow:hidden;border-radius:var(--cmp-radius);background:var(--cmp-surface)}
.cmp-post-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cmp-post-card:hover .cmp-post-card-image img{transform:scale(1.04)}
.cmp-post-card .cat{font-family:var(--cmp-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cmp-bronze);font-weight:500}
.cmp-post-card h3{font-size:1.22rem;margin:0;font-weight:500}
.cmp-post-card:hover h3{color:var(--cmp-bronze)}
.cmp-post-card .excerpt{color:var(--cmp-muted);font-size:.93rem;margin:0}
.cmp-post-card .meta{font-size:.8rem;color:var(--cmp-muted);display:flex;gap:10px;align-items:center}

/* SINGLE ARTICLE ========================================================== */
.cmp-single-hero{padding:48px 0 24px;max-width:780px;margin:0 auto}
.cmp-single-hero .cat{font-family:var(--cmp-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cmp-bronze);font-weight:500}
.cmp-single-hero h1{font-size:clamp(1.9rem,3vw + 1rem,3rem);margin:.4em 0}
.cmp-single-hero .meta{display:flex;gap:16px;font-size:.88rem;color:var(--cmp-muted);flex-wrap:wrap}
.cmp-single-feat{margin:24px auto 48px;max-width:1040px}
.cmp-single-feat img{aspect-ratio:21/9;object-fit:cover;border-radius:var(--cmp-radius-lg);width:100%}
.cmp-single-grid{display:grid;grid-template-columns:1fr;gap:40px}
@media (min-width:960px){.cmp-single-grid{grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}}
.cmp-prose{font-size:1.06rem;line-height:1.75;color:var(--cmp-ink);max-width:72ch}
.cmp-prose h2{font-size:clamp(1.4rem,1.6vw + 0.8rem,1.9rem);margin:1.8em 0 .6em}
.cmp-prose h3{font-size:1.3rem;margin:1.6em 0 .5em}
.cmp-prose p{margin:0 0 1.2em}
.cmp-prose ul,.cmp-prose ol{margin:0 0 1.4em;padding-left:1.4em}
.cmp-prose li{margin:.35em 0}
.cmp-prose a{color:var(--cmp-bronze);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.cmp-prose a:hover{color:var(--cmp-bronze-2)}
.cmp-prose aside{background:var(--cmp-surface);border-left:3px solid var(--cmp-bronze);padding:18px 22px;margin:1.8em 0;border-radius:var(--cmp-radius-sm);font-size:.98rem}
.cmp-sidebar{position:sticky;top:88px;display:flex;flex-direction:column;gap:24px}
.cmp-sidebar-card{background:#fff;border:1px solid var(--cmp-border-soft);border-radius:var(--cmp-radius);padding:22px}
.cmp-sidebar-card h4{font-size:1rem;font-family:var(--cmp-sans);font-weight:600;margin:0 0 14px}
.cmp-sidebar-card ul{list-style:none;padding:0;margin:0;font-size:.9rem}
.cmp-sidebar-card li{margin:8px 0}
.cmp-sidebar-card a{color:var(--cmp-graphite)}
.cmp-sidebar-card a:hover{color:var(--cmp-bronze)}

/* PAGE HERO GENERIC ======================================================= */
.cmp-page-hero{padding:40px 0 24px;background:linear-gradient(180deg, var(--cmp-surface) 0%, var(--cmp-bg) 100%);border-bottom:1px solid var(--cmp-border-soft)}
@media (min-width:720px){.cmp-page-hero{padding:72px 0 32px}}
.cmp-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.84rem;color:var(--cmp-muted);margin-bottom:20px;font-family:var(--cmp-mono);letter-spacing:.03em}
.cmp-breadcrumb a{color:var(--cmp-muted)}
.cmp-breadcrumb a:hover{color:var(--cmp-bronze)}
.cmp-breadcrumb .sep{opacity:.5}
.cmp-breadcrumb .current{color:var(--cmp-graphite)}
.cmp-page-hero h1{margin:0}
.cmp-page-hero .cmp-lead{margin-top:18px}

/* SERVICE DETAIL ========================================================== */
.cmp-service-layout{display:grid;grid-template-columns:1fr;gap:38px;margin-top:32px}
@media (min-width:960px){.cmp-service-layout{grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}}
.cmp-service-points{display:grid;grid-template-columns:1fr;gap:16px;margin:28px 0 36px}
@media (min-width:520px){.cmp-service-points{grid-template-columns:repeat(2,1fr)}}
.cmp-service-point{background:#fff;border:1px solid var(--cmp-border-soft);border-radius:var(--cmp-radius);padding:20px;display:flex;gap:14px;align-items:flex-start}
.cmp-service-point .num{font-family:var(--cmp-mono);font-size:.82rem;color:var(--cmp-bronze);font-weight:500;letter-spacing:.04em;flex-shrink:0;width:32px;padding-top:2px}
.cmp-service-point h4{margin:0 0 4px;font-size:1rem;font-family:var(--cmp-sans);font-weight:600}
.cmp-service-point p{margin:0;font-size:.92rem;color:var(--cmp-muted)}

.cmp-price-box{background:var(--cmp-surface);border-radius:var(--cmp-radius);padding:24px;border:1px solid var(--cmp-border-soft)}
.cmp-price-box .price-label{font-family:var(--cmp-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cmp-bronze);margin-bottom:8px;font-weight:500}
.cmp-price-box .price{font-family:var(--cmp-serif);font-size:2rem;font-weight:500;color:var(--cmp-graphite);line-height:1;display:block}
.cmp-price-box .price small{font-family:var(--cmp-mono);font-size:.44em;font-weight:400;color:var(--cmp-muted);margin-left:4px}
.cmp-price-box p{font-size:.88rem;color:var(--cmp-muted);margin:10px 0 16px}
.cmp-price-box .cmp-btn{width:100%}

/* PANORAMA TABLE OF CONTENTS ============================================== */
.cmp-toc{background:var(--cmp-surface);border-radius:var(--cmp-radius);padding:24px;margin:0 0 40px;border-left:3px solid var(--cmp-bronze)}
.cmp-toc h2{font-size:1.05rem;font-family:var(--cmp-sans);margin:0 0 12px;font-weight:600}
.cmp-toc ol{margin:0;padding-left:1.4em;font-size:.94rem}
.cmp-toc li{margin:6px 0}
.cmp-toc a{color:var(--cmp-graphite)}
.cmp-toc a:hover{color:var(--cmp-bronze)}

/* TESTIMONIAL ============================================================= */
.cmp-testimonial{background:var(--cmp-surface);border-radius:var(--cmp-radius-lg);padding:32px 24px;position:relative}
@media (min-width:720px){.cmp-testimonial{padding:52px}}
.cmp-testimonial::before{content:"“";position:absolute;top:10px;left:20px;font-family:var(--cmp-serif);font-size:6rem;color:var(--cmp-bronze);opacity:.25;line-height:1}
.cmp-testimonial blockquote{background:transparent;border:none;padding:0;margin:0 0 20px;font-family:var(--cmp-serif);font-size:clamp(1.2rem, 1.2vw + 1rem, 1.6rem);line-height:1.45;color:var(--cmp-graphite);font-style:normal;font-weight:400;position:relative}
.cmp-testimonial-author{display:flex;align-items:center;gap:14px;position:relative}
.cmp-testimonial-author .name{font-weight:600;color:var(--cmp-graphite);font-size:.96rem}
.cmp-testimonial-author .role{font-size:.84rem;color:var(--cmp-muted)}

/* STAT ROW ================================================================ */
.cmp-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:32px 0}
@media (min-width:720px){.cmp-stat-row{grid-template-columns:repeat(4,1fr);gap:22px}}
.cmp-stat{padding:18px 0;border-top:2px solid var(--cmp-border)}
.cmp-stat .n{font-family:var(--cmp-serif);font-size:clamp(1.7rem,2.8vw + 0.8rem,2.3rem);font-weight:500;color:var(--cmp-graphite);line-height:1;display:block}
.cmp-stat .n small{font-family:var(--cmp-mono);font-size:.52em;color:var(--cmp-bronze);margin-left:6px;letter-spacing:.04em;font-weight:500}
.cmp-stat .l{font-size:.84rem;color:var(--cmp-muted);margin-top:8px;line-height:1.4;display:block}

/* FOOTER ================================================================== */
.cmp-footer{background:var(--cmp-graphite);color:rgba(255,255,255,.68);padding:56px 0 28px;margin-top:60px}
.cmp-footer-grid{display:grid;grid-template-columns:1fr;gap:36px}
@media (min-width:720px){.cmp-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px}}
.cmp-footer h4{color:#fff;font-family:var(--cmp-sans);font-size:.82rem;font-weight:600;margin:0 0 16px;text-transform:uppercase;letter-spacing:.12em}
.cmp-footer ul{list-style:none;margin:0;padding:0;font-size:.92rem}
.cmp-footer li{margin:8px 0}
.cmp-footer a{color:rgba(255,255,255,.7);transition:color .18s}
.cmp-footer a:hover{color:var(--cmp-bronze-2)}
.cmp-footer-about p{font-size:.92rem;color:rgba(255,255,255,.66);margin:0 0 16px;max-width:38ch;line-height:1.6}
.cmp-footer-about .cmp-brand{color:#fff;margin-bottom:16px}
.cmp-footer-bottom{display:flex;flex-direction:column;gap:10px;margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:rgba(255,255,255,.5)}
@media (min-width:720px){.cmp-footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}}

/* UTILITIES =============================================================== */
.cmp-text-center{text-align:center}
.cmp-mb-0{margin-bottom:0}
.cmp-mt-4{margin-top:32px}
.cmp-hide-mobile{display:none}
@media (min-width:720px){.cmp-hide-mobile{display:block}}
.cmp-only-mobile{display:block}
@media (min-width:720px){.cmp-only-mobile{display:none}}

/* Section with alternate background */
.cmp-section-alt{background:var(--cmp-surface)}
.cmp-section-dark{background:var(--cmp-graphite);color:rgba(255,255,255,.75)}
.cmp-section-dark h2,.cmp-section-dark h3{color:#fff}

/* Adjust body for rental banner (mu-plugin pousse déjà 96px, redéclaré ici par sécurité) */
body.sbr-banner-open{padding-bottom:96px}

/* A11y : reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* Table responsive (articles) */
.cmp-prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (min-width:720px){.cmp-prose table{display:table}}

/* ======================================================================
   DIRECTION A — Financial Times éditorial
   Sections signatures : ticker, hero statement, bento services, index domaines
   ====================================================================== */

/* TICKER BAR (bandeau défilant en haut de la home) ==================== */
.cmp-ticker-bar{background:var(--cmp-graphite);color:var(--cmp-bg);overflow:hidden;border-bottom:1px solid rgba(255,241,229,.12)}
.cmp-ticker-bar:hover .cmp-ticker-track{animation-play-state:paused}
.cmp-ticker-track{display:flex;gap:38px;padding:10px 0;white-space:nowrap;font-family:var(--cmp-sans);font-size:.78rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;animation:cmp-ticker 42s linear infinite;width:max-content}
.cmp-ticker-track span{display:inline-flex;align-items:center;gap:12px}
.cmp-ticker-track .sep{color:var(--cmp-bronze);font-size:.6rem}
.cmp-ticker-track strong{color:var(--cmp-bronze);font-weight:600}
@keyframes cmp-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* HERO STATEMENT (pleine largeur, 100% texte) ========================= */
.cmp-hero-statement{padding:56px 0 40px;border-bottom:1px solid var(--cmp-border)}
@media (min-width:720px){.cmp-hero-statement{padding:90px 0 60px}}
.cmp-hero-statement .cmp-eyebrow-line{display:flex;align-items:center;gap:14px;margin-bottom:26px;font-family:var(--cmp-sans);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cmp-bronze);font-weight:600}
.cmp-hero-statement .cmp-eyebrow-line::after{content:"";flex:1;max-width:180px;height:1px;background:var(--cmp-bronze);opacity:.55}
.cmp-statement{font-family:var(--cmp-serif);font-size:clamp(2.2rem, 5vw + 0.8rem, 5.4rem);font-weight:500;line-height:1.02;letter-spacing:-0.028em;color:var(--cmp-graphite);margin:0 0 32px;max-width:22ch}
.cmp-statement em{font-style:italic;color:var(--cmp-bronze);font-weight:500}
.cmp-hero-statement .cmp-lead-xl{font-family:var(--cmp-serif);font-size:clamp(1.1rem, 0.6vw + 1rem, 1.35rem);font-weight:400;color:var(--cmp-graphite);line-height:1.55;max-width:62ch;margin:0 0 36px;opacity:.85}

.cmp-edito-stats{display:grid;grid-template-columns:1fr;gap:22px;padding:34px 0;border-top:1px solid var(--cmp-border);border-bottom:1px solid var(--cmp-border);margin:40px 0 32px}
@media (min-width:560px){.cmp-edito-stats{grid-template-columns:repeat(3,1fr);gap:32px}}
.cmp-edito-stat .num{font-family:var(--cmp-display);font-size:clamp(2.2rem,3.5vw + 0.8rem,3.4rem);font-weight:500;color:var(--cmp-graphite);line-height:.95;display:block;letter-spacing:-0.03em}
.cmp-edito-stat .num sup{font-family:var(--cmp-sans);font-size:.38em;color:var(--cmp-bronze);font-weight:600;vertical-align:super;margin-left:4px;letter-spacing:.04em}
.cmp-edito-stat .src{display:block;font-family:var(--cmp-sans);font-size:.82rem;font-weight:500;color:var(--cmp-graphite);margin-top:10px;padding-top:8px;border-top:1px solid var(--cmp-border-soft);line-height:1.4}
.cmp-edito-stat .src em{font-style:italic;color:var(--cmp-muted);font-family:var(--cmp-serif);font-weight:400}

.cmp-hero-statement .cmp-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:8px}
.cmp-hero-statement .cmp-read-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--cmp-sans);font-size:.94rem;font-weight:500;color:var(--cmp-graphite);border-bottom:1px solid var(--cmp-graphite);padding-bottom:2px}
.cmp-hero-statement .cmp-read-link:hover{color:var(--cmp-bronze);border-color:var(--cmp-bronze)}

/* BENTO services (grille asymétrique) ================================= */
.cmp-bento{display:grid;grid-template-columns:1fr;gap:14px;margin-top:36px}
@media (min-width:720px){.cmp-bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(180px,auto);gap:16px}}
.cmp-bento-card{display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:var(--cmp-white);border:1px solid var(--cmp-border);text-decoration:none;color:var(--cmp-graphite);transition:background .2s, border-color .2s, transform .2s;position:relative;min-height:160px}
.cmp-bento-card:hover{background:var(--cmp-surface);border-color:var(--cmp-graphite);transform:translateY(-1px)}
.cmp-bento-card .tag{font-family:var(--cmp-sans);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cmp-bronze)}
.cmp-bento-card h3{font-family:var(--cmp-serif);font-size:clamp(1.15rem,.8vw + 1rem,1.5rem);margin:10px 0 8px;font-weight:600;line-height:1.12}
.cmp-bento-card p{font-family:var(--cmp-serif);font-size:.98rem;color:var(--cmp-graphite);opacity:.75;margin:0 0 14px;line-height:1.5}
.cmp-bento-card .go{font-family:var(--cmp-sans);font-size:.82rem;font-weight:500;color:var(--cmp-graphite);display:inline-flex;align-items:center;gap:6px;padding-top:10px;border-top:1px solid var(--cmp-border-soft);letter-spacing:.02em}
.cmp-bento-card .go::after{content:"→";transition:transform .2s}
.cmp-bento-card:hover .go::after{transform:translateX(3px)}

.cmp-bento-card.feat{background:var(--cmp-graphite);color:var(--cmp-bg);border-color:var(--cmp-graphite)}
.cmp-bento-card.feat:hover{background:var(--cmp-graphite-2);color:var(--cmp-bg)}
.cmp-bento-card.feat h3{color:var(--cmp-bg);font-size:clamp(1.5rem,1.8vw + 0.8rem,2.1rem)}
.cmp-bento-card.feat p{color:rgba(255,241,229,.75);font-size:1.05rem}
.cmp-bento-card.feat .tag{color:var(--cmp-bronze)}
.cmp-bento-card.feat .go{color:var(--cmp-bg);border-top-color:rgba(255,241,229,.18)}
.cmp-bento-card.feat .num-big{font-family:var(--cmp-display);font-size:clamp(3rem,4vw + 1rem,4.2rem);font-weight:500;line-height:1;color:var(--cmp-bg);display:block;margin-bottom:6px;letter-spacing:-0.03em}
.cmp-bento-card.feat .num-big sup{font-family:var(--cmp-sans);font-size:.35em;color:var(--cmp-bronze);font-weight:600;margin-left:4px;letter-spacing:.04em}
.cmp-bento-card.accent{background:var(--cmp-surface)}
.cmp-bento-card.accent:hover{background:var(--cmp-surface-2)}

@media (min-width:720px){
  .cmp-bento-card.feat{grid-column:span 2;grid-row:span 2}
  .cmp-bento-card.wide{grid-column:span 2}
  .cmp-bento-card.tall{grid-row:span 2}
}

/* INDEX typographique (sommaire magazine pour domaines) =============== */
.cmp-index-header{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;padding-bottom:22px;border-bottom:2px solid var(--cmp-graphite)}
@media (min-width:560px){.cmp-index-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.cmp-index-header h2{margin:0}
.cmp-index-header .cmp-kicker{margin:0}
.cmp-index-header .edition{font-family:var(--cmp-sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cmp-muted);font-weight:500}

.cmp-index-list{list-style:none;margin:0;padding:0}
.cmp-index-list > li{display:grid;grid-template-columns:auto 1fr auto;gap:18px;padding:22px 0;border-bottom:1px solid var(--cmp-border);align-items:start;transition:background .2s}
@media (min-width:560px){.cmp-index-list > li{grid-template-columns:56px 1fr 120px;gap:28px;padding:26px 0;align-items:center}}
.cmp-index-list > li:hover{background:var(--cmp-surface)}
.cmp-index-list > li:hover .cmp-index-go::after{transform:translateX(5px)}
.cmp-index-list > li:last-child{border-bottom:2px solid var(--cmp-graphite)}
.cmp-index-num{font-family:var(--cmp-display);font-size:clamp(1.6rem,2vw + 0.5rem,2.1rem);font-weight:500;color:var(--cmp-bronze);font-style:italic;letter-spacing:0;line-height:1;padding-top:4px}
.cmp-index-entry h3{font-family:var(--cmp-serif);font-size:clamp(1.2rem,.9vw + .9rem,1.55rem);margin:0 0 6px;font-weight:600}
.cmp-index-entry h3 a{color:var(--cmp-graphite)}
.cmp-index-entry h3 a:hover{color:var(--cmp-bronze)}
.cmp-index-entry p{font-family:var(--cmp-serif);font-size:.98rem;color:var(--cmp-muted);margin:0;line-height:1.5;max-width:60ch}
.cmp-index-entry .audience{font-family:var(--cmp-sans);font-size:.76rem;font-weight:500;color:var(--cmp-bronze);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;display:block}
.cmp-index-go{font-family:var(--cmp-sans);font-size:.84rem;font-weight:500;color:var(--cmp-graphite);align-self:center;display:inline-flex;align-items:center;gap:8px;letter-spacing:.02em;padding:6px 0;border-bottom:1px solid var(--cmp-graphite);white-space:nowrap}
.cmp-index-go::after{content:"→";transition:transform .25s}

/* EDITORIAL PULL-QUOTE (grand bloc citation) ========================== */
.cmp-pullquote{border-top:2px solid var(--cmp-graphite);border-bottom:2px solid var(--cmp-graphite);padding:48px 0;margin:40px 0}
.cmp-pullquote blockquote{font-family:var(--cmp-serif);font-size:clamp(1.6rem,2.2vw + 0.8rem,2.6rem);line-height:1.2;font-weight:500;color:var(--cmp-graphite);margin:0;padding:0;background:transparent;border:none;font-style:normal;max-width:22ch}
.cmp-pullquote blockquote::before{content:"“ ";color:var(--cmp-bronze)}
.cmp-pullquote blockquote::after{content:" ”";color:var(--cmp-bronze)}
.cmp-pullquote cite{display:block;margin-top:22px;font-family:var(--cmp-sans);font-size:.84rem;font-weight:500;color:var(--cmp-muted);letter-spacing:.08em;text-transform:uppercase;font-style:normal}
.cmp-pullquote cite::before{content:"— "}

/* RESTYLAGE global : supprimer les ombres arrondies bronze, ajouter une sobriété édito */
.cmp-service-card{border-radius:var(--cmp-radius-sm);box-shadow:none}
.cmp-service-card:hover{transform:none;box-shadow:none;border-color:var(--cmp-graphite);background:var(--cmp-surface)}
.cmp-service-card .cmp-service-icon{background:var(--cmp-bronze-soft);color:var(--cmp-bronze);border-radius:var(--cmp-radius-sm)}
.cmp-domaine-card{border-radius:var(--cmp-radius-sm)}
.cmp-bento-card{border-radius:var(--cmp-radius-sm)}
.cmp-kpi-panel,.cmp-simu-result,.cmp-timeline,.cmp-cta-section{border-radius:var(--cmp-radius-lg)}

/* Section éditoriale accueil : alternance fond */
.cmp-section-bg{background:var(--cmp-bg)}
.cmp-section-paper{background:#fef7ec}
.cmp-section-surface{background:var(--cmp-surface)}
.cmp-section-dark{background:var(--cmp-graphite);color:var(--cmp-bg)}
.cmp-section-dark h2{color:var(--cmp-bg)}
.cmp-section-dark .cmp-kicker{color:var(--cmp-bronze)}
.cmp-section-dark .cmp-lead{color:rgba(255,241,229,.75)}

/* Ajuste titres pour sections actuelles */
.cmp-kicker{color:var(--cmp-bronze);font-family:var(--cmp-sans);font-weight:600}

