
:root{--ink:#171714;--paper:#f4f0e7;--cream:#fbf8f1;--rust:#9f3f28;--gold:#c49a57;--moss:#465044;--line:rgba(23,23,20,.16);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-head{position:sticky;top:0;z-index:20;background:rgba(244,240,231,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font:700 27px/1 var(--serif);letter-spacing:.16em}.brand i{color:var(--rust);font-style:normal}.nav-links{display:flex;gap:24px;align-items:center}.nav-links a{text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 10px}.hero{min-height:650px;display:grid;align-items:end;background-image:linear-gradient(90deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.04) 100%),var(--hero);background-position:center;background-size:cover;background-repeat:no-repeat;color:white}.hero-inner{padding:100px 0 74px;max-width:810px}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:bold}.hero h1{font:400 clamp(55px,9vw,116px)/.88 var(--serif);letter-spacing:-.045em;margin:22px 0}.hero p{max-width:660px;font:20px/1.55 var(--serif)}.hero-actions{display:flex;gap:13px;margin-top:34px}.btn{display:inline-block;text-decoration:none;border:1px solid currentColor;padding:13px 18px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:bold}.btn.fill{background:var(--rust);border-color:var(--rust);color:white}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:92px 0}.intro h2,.section-head h2{font:400 clamp(38px,5vw,70px)/1 var(--serif);margin:0}.intro p{font-size:18px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:35px}.number{padding:20px 8px}.number b{display:block;font:38px var(--serif);color:var(--rust)}.filters{padding:64px 0 18px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.search{width:min(340px,100%);border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 2px;font-size:15px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}.chip{border:1px solid var(--line);border-radius:99px;background:transparent;padding:9px 14px;font-size:12px;cursor:pointer}.chip.active{background:var(--ink);color:white}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:100px}.card{position:relative;background:var(--cream);border:1px solid var(--line);border-top:4px solid var(--rust);min-width:0;min-height:310px;transition:.25s;overflow:hidden}.card::after{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(159,63,40,.18);border-radius:50%;right:-48px;bottom:-48px}.card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(35,25,15,.12);background:#fffdf8}.card-body{position:relative;z-index:1;padding:31px 28px;display:flex;min-height:306px;flex-direction:column}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--rust);font-weight:bold}.card h3{font:400 29px/1.08 var(--serif);margin:18px 0 12px}.card p{font-size:14px;color:#4c4a44;margin-bottom:24px}.read{width:max-content;margin-top:auto;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:bold;text-decoration:none;border-bottom:1px solid}.empty{display:none;padding:60px 0}.archive-banner{position:relative;width:100%;aspect-ratio:2048/672;background-position:center;background-size:cover;background-repeat:no-repeat}.archive-banner-link{position:absolute;left:27.2%;top:70.4%;width:12.4%;height:15.8%;display:block;border-radius:2px}.archive-banner-link:focus-visible{outline:4px solid white;outline-offset:4px}.foot{background:var(--ink);color:#eee8dc;padding:65px 0}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.foot h3{font:42px var(--serif);margin:0}.foot a{color:inherit}.article-hero{padding:86px 0 64px;border-bottom:1px solid var(--line)}.article-hero h1{font:400 clamp(46px,7vw,88px)/.98 var(--serif);letter-spacing:-.035em;max-width:1000px;margin:20px 0}.dek{font:22px/1.5 var(--serif);max-width:760px}.article-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-top:28px}.article-layout{display:grid;grid-template-columns:180px minmax(0,720px);gap:65px;padding:70px 0 100px;justify-content:center}.toc{position:sticky;top:105px;align-self:start;font-size:12px}.toc a{display:block;text-decoration:none;padding:8px 0;border-bottom:1px solid var(--line)}.article-body{font:19px/1.8 var(--serif)}.article-body h2{font:400 39px/1.1 var(--serif);margin:58px 0 18px}.article-body h2:first-child{margin-top:0}.article-body p:first-of-type::first-letter{float:left;font-size:80px;line-height:.78;padding:10px 10px 0 0;color:var(--rust)}.pull{font:italic 29px/1.35 var(--serif);border-left:4px solid var(--rust);padding:10px 0 10px 24px;margin:45px 0}.article-nav{border-top:1px solid var(--line);padding:30px 0;display:flex;justify-content:space-between;gap:20px}.article-nav a{text-decoration:none;max-width:45%;font:20px var(--serif)}.note{background:#ebe4d7;padding:26px;margin-top:50px;font:15px/1.6 var(--sans)}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.intro{grid-template-columns:1fr;gap:25px}.article-layout{grid-template-columns:1fr}.toc{position:static;display:none}.foot-grid{grid-template-columns:1fr}.nav-links{display:none}.menu{display:block}.nav-links.open{position:absolute;display:flex;flex-direction:column;align-items:flex-start;left:0;right:0;top:74px;background:var(--paper);padding:25px 20px;border-bottom:1px solid var(--line)}}@media(max-width:620px){.shell{width:min(100% - 28px,1180px)}.hero{min-height:590px;background-position:68% center}.hero h1{font-size:58px}.hero p{max-width:310px}.grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.numbers{grid-template-columns:1fr}.number{border-bottom:1px solid var(--line)}.article-hero{padding-top:55px}.article-hero h1{font-size:48px}.article-body{font-size:18px}.article-body h2{font-size:34px}}

/* IBEJI.BLOG French homepage */
.hero-copy{position:relative;z-index:2;padding:clamp(7rem,14vw,13rem) 0;max-width:760px}.hero-copy h1{font-size:clamp(3rem,7vw,6.8rem);line-height:.92;margin:.35em 0;color:#fff}.hero-copy p{max-width:650px;color:#eee;font-size:1.15rem;line-height:1.7}.hero-link{display:inline-block;margin-top:1.5rem;color:#d5aa62;text-transform:uppercase;letter-spacing:.12em}.intro{padding:7rem 0;background:#f3efe6}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem}.intro h2,.archive h2{font-size:clamp(2.2rem,4vw,4rem);margin:.2em 0}.intro p{font-size:1.08rem;line-height:1.8}.archive{padding:7rem 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem}.filters button{border:1px solid #b9ab91;background:transparent;padding:.65rem .9rem;cursor:pointer}.filters button.active{background:#171513;color:#fff}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.card{border-top:1px solid #9d7d47;background:#f5f1e9;min-height:310px}.card a{display:flex;flex-direction:column;height:100%;padding:1.5rem;color:inherit;text-decoration:none}.card-top{display:flex;justify-content:space-between;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:#826a42}.card h2{font-size:1.65rem;line-height:1.12;margin:1.6rem 0 .8rem}.card p{line-height:1.65;color:#4c4944}.card b{margin-top:auto;padding-top:1.2rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.card[hidden]{display:none}@media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:1.5rem}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{align-items:start;flex-direction:column}}@media(max-width:620px){.card-grid{grid-template-columns:1fr}.hero-copy{padding:7rem 0}.intro,.archive{padding:4rem 0}}

.fr-banner{position:relative;min-height:420px;background:#080706 url('ibeji-fr-archive-banner.png') center/cover no-repeat;overflow:hidden}.fr-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,#050505 43%,rgba(5,5,5,.88) 55%,rgba(5,5,5,.08) 78%)}.fr-banner>a{position:relative;z-index:2;display:block;min-height:420px;color:#fff;text-decoration:none}.fr-banner-content{padding-top:64px;padding-bottom:64px}.fr-banner-content h2{font-size:clamp(3rem,6vw,5.8rem);line-height:.9;max-width:760px;margin:.25em 0}.fr-banner-content p{max-width:690px;font-size:1.05rem;line-height:1.7;color:#ddd}.fr-banner-content strong{display:inline-block;margin-top:1rem;padding:1rem 1.5rem;background:#c89b52;color:#0b0907;letter-spacing:.12em;font-size:.82rem}@media(max-width:900px){.fr-banner:before{background:rgba(5,5,5,.8)}.fr-banner-content p{max-width:620px}}@media(max-width:620px){.fr-banner,.fr-banner>a{min-height:470px}.fr-banner{background-position:68% center}.fr-banner-content h2{font-size:3rem}}

.fr-banner{position:relative;min-height:420px;background:#080706 url('ibeji-fr-archive-banner.png') center/cover no-repeat;overflow:hidden}.fr-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,#050505 43%,rgba(5,5,5,.88) 55%,rgba(5,5,5,.08) 78%)}.fr-banner>a{position:relative;z-index:2;display:block;min-height:420px;color:#fff;text-decoration:none}.fr-banner-content{padding-top:64px;padding-bottom:64px}.fr-banner-content h2{font-size:clamp(3rem,6vw,5.8rem);line-height:.9;max-width:760px;margin:.25em 0}.fr-banner-content p{max-width:690px;font-size:1.05rem;line-height:1.7;color:#ddd}.fr-banner-content strong{display:inline-block;margin-top:1rem;padding:1rem 1.5rem;background:#c89b52;color:#0b0907;letter-spacing:.12em;font-size:.82rem}@media(max-width:900px){.fr-banner:before{background:rgba(5,5,5,.8)}.fr-banner-content p{max-width:620px}}@media(max-width:620px){.fr-banner,.fr-banner>a{min-height:470px}.fr-banner{background-position:68% center}.fr-banner-content h2{font-size:3rem}}


/* Composition révisée — accueil IBEJI.BLOG */
.hero .hero-copy{
  width:min(47vw,760px);
  max-width:none;
  margin-left:clamp(34px,4.5vw,92px);
  margin-right:0;
  padding:clamp(6rem,12vw,11rem) 0 5.5rem;
}
.hero .hero-copy h1{
  max-width:720px;
  font:400 clamp(3.3rem,5.1vw,6rem)/.92 var(--serif);
  letter-spacing:-.045em;
}
.hero .hero-copy p{max-width:610px}

.intro .intro-grid{
  grid-template-columns:minmax(270px,.9fr) minmax(330px,1.05fr) minmax(310px,.95fr);
  gap:clamp(2.5rem,4.5vw,5rem);
  align-items:center;
}
.intro-heading{align-self:start}
.intro-copy{max-width:500px}
.intro-figure{margin:0;align-self:stretch;min-height:520px;overflow:hidden;background:#d8d4cc}
.intro-figure img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center 52%}

.fr-banner{
  min-height:500px;
  background:#050505 url('ibeji-blog-hero.png') center/cover no-repeat;
}
.fr-banner:before{
  background:linear-gradient(90deg,#050505 0%,#050505 56%,rgba(5,5,5,.98) 62%,rgba(5,5,5,.45) 72%,rgba(5,5,5,0) 86%);
}
.fr-banner>a{min-height:500px}
.fr-banner-content{padding-top:66px;padding-bottom:66px;margin-left:clamp(34px,4.5vw,92px);margin-right:0;width:min(48vw,790px)}
.fr-banner-content h2{
  max-width:720px;
  margin:.24em 0 .28em;
  font:400 clamp(3.25rem,5.2vw,6.2rem)/.88 var(--serif);
  letter-spacing:-.045em;
}
.fr-banner-content p{max-width:660px;font:1.08rem/1.65 var(--sans)}

@media(max-width:1050px){
  .intro .intro-grid{grid-template-columns:.85fr 1.15fr}
  .intro-figure{grid-column:1/-1;min-height:560px}
  .intro-figure img{min-height:560px;object-position:center 48%}
}
@media(max-width:760px){
  .hero .hero-copy{width:calc(100% - 56px);margin-left:28px;padding-bottom:4rem}
  .hero .hero-copy h1{font-size:clamp(3.15rem,14vw,4.8rem)}
  .intro .intro-grid{grid-template-columns:1fr}
  .intro-copy{max-width:none}
  .intro-figure{grid-column:auto;min-height:480px}
  .intro-figure img{min-height:480px}
  .fr-banner{min-height:560px;background-position:68% center}
  .fr-banner:before{background:rgba(5,5,5,.82)}
  .fr-banner>a{min-height:560px}
  .fr-banner-content{width:calc(100% - 56px);margin-left:28px;padding-top:58px}
  .fr-banner-content h2{font-size:clamp(3rem,14vw,4.5rem)}
}
