
:root {
  --coral:      #FB926B;
  --mint:       #BAFAEE;
  --periwinkle: #BFCCFB;
  --cream:      #FEECC2;
  --cream-mid:  #fbefd3;
  --rose:       #FFCEEC;
  --body-bg:    #f6f6f6;
  --hero-bg:    #BFCCFB;
  --ink:        #161616;
  --ink-70:     rgba(22,22,22,.7);
  --ink-45:     rgba(22,22,22,.45);
  --ink-20:     rgba(22,22,22,.2);
  --dark-btn:   #2b2b2b;
  --mid:        #d0d0d0;
  --white:      #ffffff;
  --display: 'Bricolage Grotesque', system-ui, sans-serif;
  --sans: 'Lato', system-ui, sans-serif;
  --r-grid:     14px;
  /* couleurs par type */
  --c-analyse:  #FB926B; /* coral */
  --c-etude:    #BFCCFB; /* periwinkle */
  --c-billet:   #FEECC2; /* cream */
  --c-revue:    #FFCEEC; /* rose */
  --c-media:    #BAFAEE; /* mint */
  --c-outil:    #CDB8FF; /* lavender */
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family: var(--sans);background:var(--body-bg);color:var(--ink);cursor:none;font-size:16.8px;line-height:1.6;font-weight:400}

/* ── CURSOR ── */
#cur{width:9px;height:9px;background:var(--coral);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .12s,background .2s;mix-blend-mode:multiply}
#cur-r{width:30px;height:30px;border:1.5px solid rgba(251,146,107,.4);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .3s cubic-bezier(.23,1,.32,1)}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1rem 3.5rem;background:rgba(246,246,246,.97);backdrop-filter:blur(16px);border-bottom:1.5px solid var(--mid)}
.logo{font-family: var(--sans);font-size:1.2rem;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.04em}
.logo em{font-style:normal;color:var(--coral)}
.nav-menu{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-menu a{text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);opacity:.35;transition:opacity .2s}
.nav-menu a:hover,.nav-menu a.active{opacity:1}
.nav-btn{background:var(--ink)!important;color:#fff!important;padding:.42rem 1.2rem;border-radius:0!important;opacity:1!important;border:1.5px solid var(--ink)!important;transition:background .18s!important;font-weight:700!important}
.nav-btn:hover{background:var(--coral)!important;border-color:var(--coral)!important}
.nav-secondary{display:flex;gap:1.2rem}
.nav-secondary a{text-decoration:none;font-size:.83rem;font-weight:500;color:var(--ink-45);transition:color .2s}
.nav-secondary a:hover{color:var(--coral)}

/* ── HERO ── */
.page-hero{background:var(--hero-bg);border-bottom:1.5px solid var(--ink);padding-top:4.8rem}
.hero-inner{max-width:1560px;margin:0 auto;padding:3.5rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}
.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-45);margin-bottom:1.6rem}
.breadcrumb a{text-decoration:none;color:var(--ink-45)}.breadcrumb a:hover{color:var(--ink)}
.active-crumb{color:var(--ink)}
h1.page-title{font-family: var(--sans);font-size:clamp(2.8rem,5vw,5rem);font-weight:700;letter-spacing:-.05em;line-height:1.0;margin-bottom:1.1rem;color:var(--ink)}
h1.page-title em{font-style:normal;color:#fff}
.hero-desc{font-size:1.08rem;font-weight:400;line-height:1.78;color:var(--ink-70);max-width:50ch}

/* Bento stats — right side of hero */
.hero-stats-box{background-color:rgba(255,255,255,.82);background-image:radial-gradient(circle,rgba(22,22,22,.12) 1px,transparent 1px);background-size:18px 18px;border:1.5px solid rgba(22,22,22,.28);border-radius:16px;padding:2rem;box-shadow:3px 4px 0 rgba(0,0,0,.14)}
.hsb-label{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem}
.hsb-label::before{content:'';width:20px;height:2px;background:var(--coral)}
.stats-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--mid)}
.sb-cell{background:var(--white);padding:1.1rem 1.2rem}
.sb-n{font-size:2.3rem;font-weight:700;letter-spacing:-.04em;line-height:1;margin-bottom:.2rem}
.sb-l{font-size:.78rem;font-weight:600;color:var(--ink-45);letter-spacing:.04em;text-transform:uppercase}
.sc-a .sb-n{color:#7a3015} /* coral text */
.sc-e .sb-n{color:#1a3080} /* blue text */
.sc-b .sb-n{color:#7a5500} /* cream text */
.sc-r .sb-n{color:#8a1050} /* rose text */
.sc-m .sb-n{color:#0a5c50} /* mint text */
.sc-o .sb-n{color:#3a1080} /* lavender text */

/* ── TYPE TABS ── */
.type-tabs{max-width:1560px;margin:0 auto;padding:0 3.5rem;border-bottom:1.5px solid var(--ink)}
.tabs-row{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none;margin-top:0}
.tabs-row::-webkit-scrollbar{display:none}
.tab{display:flex;align-items:center;gap:.5rem;padding:.9rem 1.4rem;cursor:pointer;white-space:nowrap;border:none;border-bottom:3px solid transparent;margin-bottom:-1.5px;background:none;font-family: var(--sans);font-size:.88rem;font-weight:600;color:var(--ink-45);transition:all .15s;letter-spacing:-.01em}
.tab:hover{color:var(--ink);background:rgba(22,22,22,.03)}
.tab.on{color:var(--ink);border-bottom-color:var(--ink)}
.tab-dot{width:9px;height:9px;flex-shrink:0;border:1.5px solid rgba(0,0,0,.2)}
.tab.on .tab-dot{border-color:rgba(0,0,0,.4)}
.tab-name{transition:opacity .15s}
.tab-count{font-size:.78rem;opacity:.35;margin-left:.2rem;font-weight:700}
.tab.on .tab-count{opacity:.6}

/* ── BODY LAYOUT ── */
.body-wrap{max-width:1560px;margin:0 auto;padding:3rem 3.5rem 5rem;display:grid;grid-template-columns:240px 1fr;gap:3rem;align-items:start}

/* ── SIDEBAR ── */
.sidebar{position:sticky;top:5.5rem}
.sidebar-title{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45);margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1.5px solid var(--mid)}
/* Search */
.sb-search{position:relative;margin-bottom:1.5rem}
.sb-search input{width:100%;background:var(--white);border:1.5px solid var(--ink);border-radius:0;padding:.8rem .9rem .8rem 2.5rem;font-family: var(--sans);font-size:.92rem;font-weight:500;color:var(--ink);outline:none;transition:box-shadow .2s}
.sb-search input::placeholder{color:var(--ink-45);font-weight:400}
.sb-search input:focus{box-shadow:3px 3px 0 rgba(251,146,107,.3)}
.sb-search svg{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:var(--ink-45);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
/* Cat list */
.cat-list{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.5rem}
.cat-btn{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border-radius:0;border:1.5px solid #3a3a3a;background:var(--white);font-family: var(--sans);font-size:.92rem;font-weight:600;color:var(--dark-btn);cursor:pointer;transition:all .15s;text-align:left;width:100%}
.cat-btn:hover{background:var(--body-bg);border-color:var(--ink);color:var(--ink)}
.cat-btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cat-dot{width:9px;height:9px;flex-shrink:0;border-radius:0;border:1.5px solid rgba(0,0,0,.2)}
.cat-btn.on .cat-dot{border-color:rgba(255,255,255,.35)}
.cat-count{margin-left:auto;font-size:.8rem;font-weight:700;opacity:.4}
.cat-btn.on .cat-count{opacity:.65}
/* Year select */
.year-sel{width:100%;background:var(--white);border:1.5px solid #3a3a3a;border-radius:0;padding:.72rem .9rem;font-family: var(--sans);font-size:.92rem;font-weight:600;color:var(--dark-btn);outline:none;cursor:pointer;margin-bottom:1rem}
/* Reset */
.sb-reset{display:none;width:100%;background:none;border:1.5px solid var(--mid);border-radius:0;padding:.65rem;font-family: var(--sans);font-size:.87rem;font-weight:700;color:var(--ink-45);cursor:pointer;transition:all .18s;margin-top:.5rem}
.sb-reset.show{display:block}
.sb-reset:hover{border-color:var(--coral);color:var(--coral)}
/* Active filter tags */
.active-tags:not(:empty){display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}
.atag{display:inline-flex;align-items:center;gap:.4rem;background:var(--coral);color:#fff;font-size:.82rem;font-weight:700;padding:.25rem .8rem;border-radius:0;border:1.5px solid var(--ink)}
.atag button{background:none;border:none;cursor:pointer;color:#fff;display:flex;padding:0;opacity:.7;transition:opacity .2s}
.atag button:hover{opacity:1}
.atag button svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round}

/* ── RESULTS ZONE ── */
.results-zone{}
.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;flex-wrap:wrap;gap:.8rem}
.rh-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.rh-count{font-size:.96rem;font-weight:600;color:var(--ink-45)}
.rh-count strong{color:var(--ink);font-weight:700}
.sort-sel{background:var(--white);border:1.5px solid #3a3a3a;border-radius:0;padding:.45rem .85rem;font-family: var(--sans);font-size:.9rem;font-weight:600;color:var(--dark-btn);outline:none;cursor:pointer}

/* ── GRID WRAP ── */
.grid-wrap{background:var(--cream-mid);border-radius:var(--r-grid);padding:1.2rem;border:1.5px solid #c9b98a}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}

/* ── CARD ── */
.card{background:var(--white);padding:1.8rem 1.8rem 1.4rem;display:flex;flex-direction:column;cursor:pointer;border:1.5px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 #c8c8c8;transition:box-shadow .22s cubic-bezier(.23,1,.32,1),transform .22s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #c8c8c8}
.card:hover .card-arr{opacity:1;transform:translateX(3px)}
.card:hover .card-title{color:var(--coral)}
/* barre couleur top par type */
.card[data-type="analyse"]::before{background:var(--c-analyse)}
.card[data-type="etude"]::before{background:var(--c-etude)}
.card[data-type="billet"]::before{background:var(--c-billet)}
.card[data-type="revue"]::before{background:var(--c-revue)}
.card[data-type="media"]::before{background:var(--c-media)}
.card[data-type="outil"]::before{background:var(--c-outil)}

.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.9rem;gap:.8rem}
/* badge type — même style que fc-cat-badge du catalogue */
.card-badge{font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.22rem .7rem;border-radius:0;white-space:nowrap;flex-shrink:0;border:1.5px solid rgba(0,0,0,.2)}
.card[data-type="analyse"] .card-badge{background:var(--c-analyse);color:#7a3015}
.card[data-type="etude"]   .card-badge{background:var(--c-etude);color:#1a3080}
.card[data-type="billet"]  .card-badge{background:var(--c-billet);color:#7a5500}
.card[data-type="revue"]   .card-badge{background:var(--c-revue);color:#8a1050}
.card[data-type="media"]   .card-badge{background:var(--c-media);color:#0a5c50}
.card[data-type="outil"]   .card-badge{background:var(--c-outil);color:#3a1080}
.card-num{font-size:.82rem;font-weight:700;color:var(--ink-45)}

.card-theme{font-size:.82rem;font-weight:600;color:var(--ink-45);margin-bottom:.55rem;display:flex;align-items:center;gap:.4rem}
.card-theme::before{content:'';width:7px;height:7px;border-radius:0;background:var(--ink-20);flex-shrink:0;border:1px solid rgba(0,0,0,.15)}

.card-title{font-family: var(--display);font-size:1.18rem;font-weight:700;letter-spacing:-.025em;line-height:1.28;margin-bottom:.5rem;color:var(--ink);transition:color .18s}
.card-sub{font-size:.96rem;font-weight:500;font-style:italic;color:var(--ink-45);margin-bottom:.7rem;line-height:1.4}
.card-desc{font-size:.93rem;font-weight:400;line-height:1.68;color:var(--ink-70);flex:1;margin-bottom:.9rem}

/* Tags (outils) */
.card-tags{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.8rem}
.ctag{font-size:.76rem;font-weight:600;background:var(--body-bg);border:1.5px solid var(--mid);color:var(--ink-45);padding:.18rem .55rem;border-radius:0}

/* Footer card : auteurs + date + flèche */
.card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.85rem;border-top:1.5px solid var(--mid)}
.card-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.card-authors{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.auth-icon{width:12px;height:12px;stroke:var(--ink-45);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.auth-name{font-size:.86rem;font-weight:600;color:var(--ink-70)}
.auth-sep{font-size:.86rem;font-weight:600;color:var(--ink-45)}
.card-date{font-size:.8rem;font-weight:500;color:var(--ink-45)}
.card-format{font-size:.8rem;font-weight:600;color:var(--ink-45)}
.card-arr{width:28px;height:28px;border:1.5px solid var(--ink);background:var(--body-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .2s,transform .2s,background .18s}
.card-arr svg{width:12px;height:12px;stroke:var(--ink);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.card:hover .card-arr{background:var(--coral);border-color:var(--coral)}
.card:hover .card-arr svg{stroke:#fff}

/* No results */
.no-results{display:none;text-align:center;padding:5rem 2rem;grid-column:1/-1;background:var(--white);border:1.5px solid var(--ink)}
.no-results.show{display:block}
.nr-icon{width:52px;height:52px;background:var(--body-bg);border:1.5px solid var(--mid);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.nr-icon svg{width:22px;height:22px;stroke:var(--ink-45);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nr-title{font-size:1.45rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.02em;opacity:.6}
.nr-sub{font-size:1rem;font-weight:500;opacity:.4;line-height:1.7}
.nr-sub button{color:var(--coral);background:none;border:none;cursor:pointer;font-family: var(--sans);font-size:.9rem;font-weight:700;text-decoration:underline}

/* Pagination */
.pagination{display:flex;align-items:center;gap:.4rem;padding-top:2rem;justify-content:center;flex-wrap:wrap}
.pg{min-width:38px;height:38px;padding:0 .5rem;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s;background:var(--white);border:1.5px solid #3a3a3a;color:var(--dark-btn);font-family: var(--sans)}
.pg:hover{background:var(--body-bg);border-color:var(--ink)}
.pg.on{background:var(--ink);border-color:var(--ink);color:#fff}
.pg-dots{padding:0 .3rem;opacity:.3;font-size:.85rem}

/* CTA newsletter */
.cta-strip{background:var(--rose);border:1.5px solid var(--ink);padding:2rem 2.5rem;margin-top:1.5rem;display:flex;align-items:center;gap:2rem;box-shadow:4px 4px 0 #c8c8c8}
.cta-icon{width:46px;height:46px;background:rgba(22,22,22,.08);border:1.5px solid rgba(22,22,22,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cta-icon svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cta-txt .cta-title{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.2rem}
.cta-txt .cta-sub{font-size:.95rem;font-weight:500;opacity:.55}
.cta-btn{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:.5rem;background:var(--ink);color:#fff;padding:.8rem 1.6rem;border-radius:0;text-decoration:none;font-size:.93rem;font-weight:700;transition:background .18s;border:1.5px solid var(--ink)}
.cta-btn:hover{background:var(--coral);border-color:var(--coral)}
.cta-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* Contact strip */
.contact-strip{background:var(--ink);padding:2rem 2.5rem;margin-top:.8rem;display:flex;align-items:center;gap:2rem;color:#fff}
.cs-text{flex:1}
.cs-title{font-size:1.18rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.2rem}
.cs-sub{font-size:.95rem;font-weight:400;opacity:.4}
.cs-btn{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3);padding:.72rem 1.5rem;border-radius:0;text-decoration:none;font-size:.93rem;font-weight:700;transition:background .18s,border-color .18s;white-space:nowrap;flex-shrink:0}
.cs-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55)}

/* Footer */
footer{background:var(--ink)!important;color:rgba(255,255,255,.85)!important;border-top:1.5px solid var(--ink);padding:4rem 0 2.5rem;margin-top:5rem}
.ft{max-width:1560px;margin:0 auto;padding:0 3.5rem}
.ft-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.3fr;gap:4rem;padding-bottom:3rem;border-bottom:1.5px solid rgba(22,22,22,.12);margin-bottom:2rem}
.ft-brand .logo{display:block;margin-bottom:1rem}
.ft-brand p{font-size:.9rem;line-height:1.75;color:var(--ink-70);max-width:28ch;margin-bottom:1.5rem}
.ft-social{display:flex;gap:.5rem}
.ft-sc{width:30px;height:30px;background:rgba(22,22,22,.07);border:1.5px solid rgba(22,22,22,.2);display:flex;align-items:center;justify-content:center;transition:background .2s;text-decoration:none}
.ft-sc:hover{background:var(--ink)}.ft-sc svg{width:13px;height:13px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ft-sc:hover svg{stroke:#fff}
.ft-col h4{font-size:.77rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45);margin-bottom:1rem}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.ft-col ul a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--ink-70);transition:color .2s}
.ft-col ul a:hover{color:var(--ink)}
.ft-nl input{width:100%;background:var(--white);border:1.5px solid var(--ink);border-radius:0;padding:.72rem .9rem;color:var(--ink);font-family: var(--sans);font-size:.9rem;margin-bottom:.6rem;outline:none;font-weight:500}
.ft-nl input::placeholder{color:var(--ink-45)}.ft-nl input:focus{box-shadow:3px 3px 0 rgba(251,146,107,.3)}
.ft-nl button{width:100%;background:var(--ink);color:#fff;border:1.5px solid var(--ink);border-radius:0;padding:.72rem;font-family: var(--sans);font-size:.9rem;font-weight:700;cursor:pointer;transition:background .18s}
.ft-nl button:hover{background:var(--coral);border-color:var(--coral)}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.ft-copy{font-size:.8rem;font-weight:500;color:var(--ink-45)}
.ft-legal{display:flex;gap:1.8rem}
.ft-legal a{font-size:.8rem;font-weight:500;color:var(--ink-45);text-decoration:none;transition:color .2s}.ft-legal a:hover{color:var(--ink)}

@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.card{animation:fadeUp .3s both}
.card:nth-child(1){animation-delay:.03s}.card:nth-child(2){animation-delay:.06s}
.card:nth-child(3){animation-delay:.09s}.card:nth-child(4){animation-delay:.12s}
.card:nth-child(5){animation-delay:.15s}.card:nth-child(6){animation-delay:.18s}
.card:nth-child(7){animation-delay:.21s}.card:nth-child(8){animation-delay:.24s}
.card:nth-child(9){animation-delay:.27s}.card:nth-child(10){animation-delay:.30s}
.card:nth-child(11){animation-delay:.33s}.card:nth-child(12){animation-delay:.36s}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--body-bg)}
::-webkit-scrollbar-thumb{background:var(--mid)}::-webkit-scrollbar-thumb:hover{background:var(--coral)}

/* ── HERO STATS FIX ── */
.hero-stats-box {
  background: var(--white);
  padding: 2rem;
  border: 1.5px solid var(--ink);
  box-shadow: 6px 6px 0 rgba(22,22,22,.12);
  align-self: center;
}
.hs-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-45);
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.hs-label::before { content: ''; width: 22px; height: 2px; background: var(--coral); }
.hs-objectifs{list-style:none;display:flex;flex-direction:column;gap:.85rem;margin-top:.2rem}
.hs-objectifs li{font-size:1.08rem;line-height:1.6;color:var(--ink);padding-left:1.1rem;position:relative}
.hs-objectifs li::before{content:'•';position:absolute;left:0;color:var(--coral);font-weight:700}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.stat-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.stat-n {
  font-family: 'Bricolage Grotesque', var(--display), sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  color: var(--coral);
}
.stat-l {
  font-size: .78rem;
  color: var(--ink-soft);
  margin-top: .3rem;
  font-weight: 500;
}

/* ══════════════════════════════════════════
   RESPONSIVE — 768px
══════════════════════════════════════════ */
@media(max-width:768px){
  .hero-inner{grid-template-columns:1fr;gap:2rem;padding:2.5rem 1.25rem 2rem}
  .stats-bento{grid-template-columns:1fr 1fr}
  .body-wrap{grid-template-columns:1fr;padding:1.5rem 1.25rem 3rem;gap:1.5rem}
  .sidebar{position:static}
  .cards-grid{grid-template-columns:1fr 1fr;gap:.75rem}
  .footer-top{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:.6rem}
}
@media(max-width:480px){
  .cards-grid{grid-template-columns:1fr}
  .stats-bento{grid-template-columns:1fr}
}
