/* ============================================================
   NHOIR — Design system marié au logo
   Noir profond + or luminescent + serif cérémonial
   ============================================================ */
:root{
  --black:#0A0807;
  --black-2:#141110;
  --dark:#1F1A14;
  --dark-2:#2B241B;
  --brown:#2B1F15;
  --brown-2:#4A372A;
  --gold:#C8923F;
  --gold-2:#E2B469;
  --gold-deep:#9E7128;
  --red:#9C3A2C;
  --ivory:#F2E8D5;
  --paper:#FAF1DE;
  --taupe:#8A7560;
  --taupe-2:#6B5947;
  --ink:#0A0807;
  --mute:#8A7560;
  --cream:#F2E8D5;
  --line: rgba(200,146,63,0.18);
  --line-dark: rgba(255,253,247,0.10);
  --glass: rgba(20,17,16,0.72);
  --glass-light: rgba(255,253,247,0.72);
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.14);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.20), 0 12px 32px rgba(0,0,0,0.18);
  --shadow-lg: 0 8px 30px rgba(0,0,0,0.28), 0 24px 60px rgba(0,0,0,0.24);
  --glow-gold: 0 0 32px rgba(200,146,63,0.45), 0 0 64px rgba(200,146,63,0.18);
  --serif: 'Fraunces', Georgia, 'Times New Roman', serif;
  --sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);color:var(--cream);background:var(--black);line-height:1.6;
  -webkit-font-smoothing:antialiased;letter-spacing:-0.005em;min-height:100vh;
  background:
    radial-gradient(700px 500px at 15% 10%, rgba(200,146,63,0.16), transparent 60%),
    radial-gradient(600px 400px at 85% 0%, rgba(156,58,44,0.10), transparent 65%),
    radial-gradient(800px 600px at 50% 95%, rgba(200,146,63,0.08), transparent 70%),
    linear-gradient(180deg, #0A0807 0%, #141110 50%, #0A0807 100%);
  background-attachment:fixed;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:opacity .2s, color .2s}
ul{list-style:none}

/* ─── NAV STICKY ─── */
nav.top{
  position:sticky;top:0;z-index:100;
  background:rgba(10,8,7,.86);
  backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);
  padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-bottom:1px solid rgba(200,146,63,.18);
}
nav.top .logo-wrap{display:flex;align-items:center;gap:12px;text-decoration:none}
nav.top .logo-mark{
  width:56px;height:42px;border-radius:8px;
  background:url("logo.png") center/cover no-repeat #0A0807;
  /* Halo doré lumineux comme la photo rétroéclairée */
  box-shadow:
    0 0 14px rgba(226,180,105,.55),
    0 0 28px rgba(200,146,63,.4),
    0 4px 12px rgba(0,0,0,.4),
    inset 0 0 0 1px rgba(200,146,63,.42);
  transition:box-shadow .3s ease;
}
nav.top .logo-wrap:hover .logo-mark{
  box-shadow:
    0 0 20px rgba(226,180,105,.75),
    0 0 40px rgba(200,146,63,.55),
    0 4px 14px rgba(0,0,0,.4),
    inset 0 0 0 1px rgba(200,146,63,.55);
}
nav.top .logo{
  font-family:var(--serif);font-weight:900;font-size:22px;color:var(--cream);letter-spacing:.06em;line-height:1;
}
nav.top .logo span{color:var(--gold-2);font-style:italic}
nav.top ul{display:flex;gap:4px;flex-wrap:wrap}
nav.top a.link{
  color:rgba(242,232,213,.72);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;
  padding:8px 12px;border-radius:999px;transition:all .2s cubic-bezier(.4,0,.2,1);
}
nav.top a.link:hover{background:rgba(200,146,63,.12);color:var(--gold-2)}
nav.top a.link.active{color:var(--gold-2);background:rgba(200,146,63,.16);border:1px solid rgba(200,146,63,.32)}
nav.top .cta{
  background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--black);
  padding:9px 18px;border-radius:999px;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px rgba(200,146,63,.28);
}
nav.top .cta:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(200,146,63,.42)}

/* ─── LANG SWITCH ─── */
.lang-switch{display:flex;gap:2px;background:rgba(20,17,16,.6);border:1px solid rgba(200,146,63,.22);border-radius:999px;padding:3px;backdrop-filter:blur(8px)}
.lang-switch button{background:transparent;border:none;border-radius:999px;padding:5px 9px;cursor:pointer;font-size:11px;font-weight:700;color:rgba(242,232,213,.55);letter-spacing:.06em;transition:all .18s}
.lang-switch button.on{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--black);box-shadow:0 2px 8px rgba(200,146,63,.32)}
.lang-switch button:hover:not(.on){color:var(--gold-2)}

/* ─── LAYOUT ─── */
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
section{padding:96px 0;position:relative}
.hero{padding:120px 0 64px;position:relative}

/* ─── HERO LOGO (rond, dominant — RENDU LUMINEUX/NÉON DORÉ comme signalétique murale rétroéclairée) ─── */
.hero-logo{
  width:280px;height:280px;border-radius:50%;
  background:url("logo.png") center/cover no-repeat #0A0807;
  margin-bottom:40px;
  /* Halo doré multi-couches pour effet rétroéclairé chaud */
  box-shadow:
    0 0 60px rgba(226,180,105,.55),
    0 0 120px rgba(200,146,63,.45),
    0 0 200px rgba(200,146,63,.30),
    0 0 280px rgba(200,146,63,.18),
    0 16px 48px rgba(0,0,0,.55);
  transition:transform .5s cubic-bezier(.4,0,.2,1), box-shadow .5s cubic-bezier(.4,0,.2,1);
  position:relative;
  animation:logoBreathe 4s ease-in-out infinite;
}
@keyframes logoBreathe{
  0%,100%{
    box-shadow:
      0 0 60px rgba(226,180,105,.55),
      0 0 120px rgba(200,146,63,.45),
      0 0 200px rgba(200,146,63,.30),
      0 0 280px rgba(200,146,63,.18),
      0 16px 48px rgba(0,0,0,.55);
  }
  50%{
    box-shadow:
      0 0 80px rgba(226,180,105,.7),
      0 0 160px rgba(200,146,63,.55),
      0 0 240px rgba(200,146,63,.38),
      0 0 320px rgba(200,146,63,.22),
      0 16px 48px rgba(0,0,0,.55);
  }
}
.hero-logo::after{
  content:"";position:absolute;inset:-20px;border-radius:50%;
  background:radial-gradient(circle,rgba(226,180,105,.18) 0%,transparent 70%);
  pointer-events:none;
  filter:blur(8px);
}
.hero-logo:hover{
  transform:scale(1.04);
  box-shadow:
    0 0 100px rgba(226,180,105,.8),
    0 0 200px rgba(200,146,63,.65),
    0 0 300px rgba(200,146,63,.45),
    0 0 400px rgba(200,146,63,.28),
    0 24px 64px rgba(0,0,0,.6);
  animation-play-state:paused;
}
/* Hero logo XL pour la page d'accueil */
.hero-logo.xl{width:360px;height:360px}
@media(max-width:900px){
  .hero-logo{width:200px;height:200px;margin-bottom:32px}
  .hero-logo.xl{width:240px;height:240px}
}

/* ─── DISPLAY ─── */
.kicker{
  display:inline-block;color:var(--gold-2);font-size:11px;letter-spacing:.22em;font-weight:700;
  text-transform:uppercase;margin-bottom:24px;padding:7px 18px;
  background:rgba(200,146,63,.08);border:1px solid rgba(200,146,63,.25);border-radius:999px;
}
h1.display{
  font-family:var(--serif);font-weight:700;font-size:clamp(48px,9vw,128px);line-height:.95;
  letter-spacing:-0.025em;color:var(--cream);
  font-variation-settings:"opsz" 144;
}
h1.display .accent{color:var(--gold-2);font-style:italic;font-weight:400}
h1.display .red{color:#D4554A;font-style:italic;font-weight:400}
.lead{
  font-size:clamp(17px,1.8vw,20px);color:rgba(242,232,213,.78);line-height:1.6;max-width:700px;margin-top:28px;
}
.eyebrow{
  font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.2vw,26px);color:var(--gold-2);
  margin-top:32px;font-weight:400;
}
.eyebrow::before{
  content:"";display:inline-block;width:48px;height:1px;background:var(--gold);margin-right:16px;vertical-align:middle;
}

/* ─── HEADINGS ─── */
h2{
  font-family:var(--serif);font-weight:700;font-size:clamp(32px,5vw,56px);line-height:1.05;
  letter-spacing:-0.02em;color:var(--cream);
}
h2 .accent{color:var(--gold-2);font-style:italic;font-weight:400}
h3{
  font-family:var(--serif);font-weight:700;font-size:clamp(22px,2.6vw,30px);line-height:1.18;color:var(--cream);
  letter-spacing:-0.01em;
}
h4{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--cream);line-height:1.2}
.section-kicker{
  display:inline-block;color:var(--gold-2);font-size:11px;letter-spacing:.22em;font-weight:700;
  text-transform:uppercase;margin-bottom:20px;position:relative;padding-left:34px;
}
.section-kicker::before{
  content:"";position:absolute;left:0;top:50%;width:24px;height:1px;background:var(--gold);
}

/* ─── CARDS (dark glass) ─── */
.card{
  background:rgba(20,17,16,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(200,146,63,.18);border-radius:22px;padding:32px;box-shadow:var(--shadow-md);
  transition:all .3s cubic-bezier(.4,0,.2,1);
}
.card:hover{transform:translateY(-3px);border-color:rgba(200,146,63,.35);box-shadow:var(--shadow-lg)}

/* ─── LIGHT SECTION (rare contrast) ─── */
.light-section{
  background:linear-gradient(180deg,#F2E8D5,#FAF1DE);
  color:var(--brown);padding:120px 0;border-radius:32px;position:relative;overflow:hidden;
}
.light-section h2,.light-section h3,.light-section h4{color:var(--brown)}
.light-section .lead{color:var(--taupe-2)}
.light-section .section-kicker{color:var(--gold-deep)}
.light-section .section-kicker::before{background:var(--gold-deep)}

/* ─── TWO-COL ─── */
.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}
.two-col.reverse{grid-template-columns:1.4fr 1fr}

/* ─── BUTTONS ─── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:999px;font-weight:700;font-size:13.5px;letter-spacing:.04em;
  cursor:pointer;border:none;text-decoration:none;text-transform:uppercase;
  transition:all .2s cubic-bezier(.4,0,.2,1);
}
.btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--black);box-shadow:0 6px 18px rgba(200,146,63,.32)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(200,146,63,.5)}
.btn.ghost{background:transparent;color:var(--gold-2);border:1.5px solid rgba(200,146,63,.4)}
.btn.ghost:hover{background:rgba(200,146,63,.12);border-color:var(--gold);transform:translateY(-1px)}
.btn.dark{background:linear-gradient(135deg,var(--brown),var(--brown-2));color:var(--cream);box-shadow:0 6px 18px rgba(0,0,0,.28)}

/* ─── BENTO ─── */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:48px}
.bento .b-card{
  background:rgba(20,17,16,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(200,146,63,.18);border-radius:22px;padding:28px;box-shadow:var(--shadow-md);
  transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;
}
.bento .b-card:hover{transform:translateY(-3px);border-color:rgba(200,146,63,.4);box-shadow:var(--shadow-lg)}
.bento .b-card.gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--black);border-color:transparent}
.bento .b-card.gold h3,.bento .b-card.gold h4{color:var(--black)}
.bento .b-card.red{background:linear-gradient(135deg,var(--red),#B85040);color:var(--cream);border-color:transparent}
.bento .b-card.red h3,.bento .b-card.red h4{color:var(--cream)}
.bento .b-card.light{background:linear-gradient(160deg,#F2E8D5,#FAF1DE);color:var(--brown);border-color:transparent}
.bento .b-card.light h3,.bento .b-card.light h4{color:var(--brown)}
.bento .c-12{grid-column:span 12}
.bento .c-8{grid-column:span 8}
.bento .c-6{grid-column:span 6}
.bento .c-4{grid-column:span 4}
.bento .c-3{grid-column:span 3}

/* ─── TIMELINE ─── */
.timeline{margin-top:48px;border-left:1px solid rgba(200,146,63,.25);padding-left:32px}
.timeline-item{padding-bottom:48px;position:relative}
.timeline-item::before{
  content:"";position:absolute;left:-40px;top:6px;width:16px;height:16px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 4px rgba(200,146,63,.16), 0 0 12px rgba(200,146,63,.4);
}
.timeline-item .year{font-family:var(--serif);font-style:italic;font-weight:700;font-size:28px;color:var(--gold-2);line-height:1}
.timeline-item h3{margin:8px 0 12px}
.timeline-item p{font-size:15.5px;line-height:1.7;color:rgba(242,232,213,.72)}

/* ─── QUOTE ─── */
blockquote.q{
  background:rgba(20,17,16,.5);border-left:3px solid var(--gold);
  padding:32px 36px;border-radius:0 22px 22px 0;margin:32px 0;
  font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.5;color:var(--cream);
  font-weight:300;
}
blockquote.q cite{
  display:block;margin-top:20px;font-style:normal;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold-2);font-weight:600;
}

/* ─── H LIST ─── */
.h-list{list-style:none;margin-top:32px}
.h-list li{
  display:grid;grid-template-columns:60px 240px 1fr;gap:24px;align-items:center;
  padding:24px 0;border-bottom:1px solid rgba(200,146,63,.16);
  transition:padding-left .25s ease;
}
.h-list li:hover{padding-left:8px}
.h-list li:last-child{border-bottom:none}
.h-list .num{
  font-family:var(--serif);font-style:italic;font-weight:700;font-size:20px;color:var(--gold-2);letter-spacing:.1em;
}
.h-list .word{
  font-family:var(--serif);font-weight:700;font-size:clamp(22px,2.6vw,30px);color:var(--cream);letter-spacing:.04em;
}
.h-list .word::first-letter{
  color:#D4554A;font-style:italic;font-weight:900;
}
/* H rouge utilitaire — signature de marque */
.hred{color:#D4554A;font-style:italic;font-weight:800}
.h-list .desc{font-style:italic;font-size:15px;line-height:1.65;color:rgba(242,232,213,.72)}

/* ─── FOOTER ─── */
footer{
  background:linear-gradient(180deg,#0A0807,#141110);color:rgba(242,232,213,.72);
  padding:80px 0 32px;margin-top:120px;border-top:1px solid rgba(200,146,63,.18);
}
footer .wrap{padding:0 32px}
footer .top-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(200,146,63,.12)}
footer .brand-block{display:flex;align-items:center;gap:14px;margin-bottom:20px}
footer .brand-block .mark{width:64px;height:48px;border-radius:10px;background:url("logo.png") center/cover no-repeat var(--black);box-shadow:0 0 18px rgba(226,180,105,.5),0 0 36px rgba(200,146,63,.32),0 4px 12px rgba(0,0,0,.4),inset 0 0 0 1px rgba(200,146,63,.42)}
footer h2.footer-logo{font-family:var(--serif);font-weight:900;font-size:32px;color:var(--cream)}
footer h2.footer-logo span{color:var(--gold-2);font-style:italic}
footer .baseline{font-style:italic;color:var(--gold-2);margin-bottom:18px;font-family:var(--serif);font-size:16px}
footer h5{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);font-weight:700;margin-bottom:14px}
footer ul li{padding:5px 0;font-size:13.5px}
footer ul li a{color:rgba(242,232,213,.6);transition:color .2s}
footer ul li a:hover{color:var(--gold-2)}
footer .h-words-foot{margin-top:20px;font-size:10.5px;color:var(--gold-2);letter-spacing:.22em;font-style:italic;opacity:.7}
footer .legal{margin-top:32px;padding:20px 0 0;border-top:1px solid rgba(200,146,63,.08);font-size:11.5px;color:rgba(242,232,213,.5);line-height:1.7;max-width:900px}
footer .legal a{color:var(--gold-2);border-bottom:1px dotted rgba(200,146,63,.4)}
footer .legal a:hover{color:var(--gold)}
footer .bottom-row{padding-top:28px;display:flex;justify-content:space-between;font-size:11.5px;color:rgba(242,232,213,.4);flex-wrap:wrap;gap:14px}
footer p.intro{font-size:14px;line-height:1.7;color:rgba(242,232,213,.65);max-width:380px}

/* ─── UTILS ─── */
.pill{
  display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;
  background:rgba(200,146,63,.08);border:1px solid rgba(200,146,63,.25);color:var(--gold-2);
  font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
}
.pill.gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--black);border:none}
.pill.dark{background:var(--brown);color:var(--cream);border:none}
.divider{height:1px;background:rgba(200,146,63,.18);margin:64px 0;border:none}
.gold-line{height:1px;width:60px;background:var(--gold);margin:0 0 24px}

/* ─── DECORATIVE CIRCLES (logo motif) ─── */
.circle-deco{
  position:absolute;border-radius:50%;border:1px solid rgba(200,146,63,.12);
  pointer-events:none;
}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{box-shadow:0 0 32px rgba(200,146,63,.45),0 0 64px rgba(200,146,63,.18)}50%{box-shadow:0 0 48px rgba(200,146,63,.6),0 0 96px rgba(200,146,63,.28)}}
.fade-up{animation:fadeUp .7s cubic-bezier(.4,0,.2,1) backwards}
.fade-up.delay-1{animation-delay:.1s}
.fade-up.delay-2{animation-delay:.2s}
.fade-up.delay-3{animation-delay:.3s}
.hero-logo{animation:fadeUp .8s cubic-bezier(.4,0,.2,1) backwards, pulse 4s ease-in-out 1s infinite}

/* ─── HAMBURGER MENU (mobile/tablette) ─── */
.nav-toggle{
  display:none;
  background:transparent;border:none;cursor:pointer;
  width:42px;height:42px;
  flex-direction:column;gap:5px;
  align-items:center;justify-content:center;padding:0;
  margin-left:auto;
}
.nav-toggle span{
  display:block;width:24px;height:2px;background:var(--gold-2);
  transition:transform .25s,opacity .2s;border-radius:2px;
}
nav.top.nav-open .nav-toggle span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
nav.top.nav-open .nav-toggle span:nth-child(2){opacity:0}
nav.top.nav-open .nav-toggle span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ─── RESPONSIVE TABLETTE (max 1024px) ─── */
@media(max-width:1024px){
  .wrap{padding:0 28px}
  .bento{grid-template-columns:repeat(2,1fr);gap:18px}
  .bento .c-12{grid-column:span 2}
  .bento .c-8,.bento .c-6,.bento .c-4,.bento .c-3{grid-column:span 1}
  footer .top-row{grid-template-columns:1fr 1fr;gap:32px}
}

/* ─── RESPONSIVE MOBILE/TABLETTE (max 900px) ─── */
@media(max-width:900px){
  nav.top{padding:12px 18px;flex-wrap:wrap;gap:10px}
  nav.top .logo-wrap{gap:10px}
  nav.top .logo-mark{width:38px;height:38px}
  nav.top .logo{font-size:18px}
  nav.top .nav-toggle{display:flex}
  nav.top ul{
    display:none;
    position:fixed;top:64px;left:0;right:0;
    background:rgba(10,8,7,.97);backdrop-filter:saturate(160%) blur(20px);
    -webkit-backdrop-filter:saturate(160%) blur(20px);
    flex-direction:column;gap:2px;
    padding:24px 18px 32px;
    border-top:1px solid rgba(200,146,63,.2);
    max-height:calc(100vh - 64px);overflow-y:auto;
    z-index:99;
  }
  nav.top.nav-open ul{display:flex;animation:slideDown .25s cubic-bezier(.4,0,.2,1)}
  @keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  nav.top ul li{width:100%}
  nav.top a.link{display:block;padding:14px 18px;border-radius:14px;font-size:13.5px;text-align:left}
  nav.top a.link.active{background:rgba(200,146,63,.18);border:1px solid rgba(200,146,63,.4)}
  nav.top > div:last-child{margin-left:0;flex-wrap:wrap}
  nav.top .lang-switch{order:2}
  nav.top .cta{order:3}
  .wrap{padding:0 20px}
  section{padding:60px 0}
  .hero{padding:80px 0 40px;min-height:auto}
  .hero-logo{width:160px;height:160px;margin-bottom:28px}
  .hero-logo.xl{width:200px;height:200px}
  .two-col,.two-col.reverse{grid-template-columns:1fr;gap:32px}
  .bento{grid-template-columns:1fr;gap:14px}
  .bento .c-12,.bento .c-8,.bento .c-6,.bento .c-4,.bento .c-3{grid-column:span 1}
  footer{padding:60px 0 32px}
  footer .top-row{grid-template-columns:1fr 1fr;gap:28px}
  footer .bottom-row{flex-direction:column;align-items:flex-start;gap:14px}
  .h-list li{grid-template-columns:40px 1fr;gap:14px}
  .h-list .desc{grid-column:2;padding-top:6px;font-size:13.5px}
  .h-list .word{font-size:20px}
  .light-section,.dark-section{border-radius:0;padding:50px 0}
  blockquote.q{padding:22px 24px;font-size:18px}
  h1.display{font-size:clamp(36px,8vw,52px)}
  h2{font-size:clamp(26px,6vw,36px)}
  .lead{font-size:16px}
}

/* ─── RESPONSIVE MOBILE FIN (max 560px) ─── */
@media(max-width:560px){
  nav.top{padding:10px 14px}
  nav.top .logo{font-size:16px}
  nav.top .logo-mark{width:34px;height:34px}
  nav.top .cta{padding:8px 12px;font-size:11px}
  .wrap{padding:0 16px}
  section{padding:48px 0}
  .hero{padding:60px 0 30px}
  .hero-logo{width:140px;height:140px}
  .hero-logo.xl{width:180px;height:180px}
  h1.display{font-size:clamp(30px,9vw,42px);letter-spacing:.01em}
  h2{font-size:clamp(22px,7vw,30px)}
  .lead{font-size:15px}
  footer .top-row{grid-template-columns:1fr;gap:24px}
  .btn{padding:11px 18px;font-size:13px}
  .h-words-foot{font-size:9.5px;letter-spacing:.16em;line-height:1.7}
  .section-kicker{font-size:11px}
}

/* ============================================================
   PAGE-SPECIFIC OVERRIDES — adapter les CSS inline au thème sombre
   ============================================================ */

/* Equipe : profile cards */
.profile .avatar{box-shadow:0 12px 36px rgba(0,0,0,.5), 0 0 24px rgba(200,146,63,.18)!important}
.profile .role-tag{color:var(--gold-2)!important}
.profile.terra .role-tag{color:#D4554A!important}
.profile h2{color:var(--cream)!important}
.profile .subtitle{color:var(--gold-2)!important}
.profile p{color:rgba(242,232,213,.78)!important}
.profile p strong{color:var(--gold-2)!important}
.profile .chapter{background:rgba(20,17,16,.55)!important;border-left:3px solid var(--gold)!important;border-radius:0 14px 14px 0!important;backdrop-filter:blur(8px)}
.profile.terra .chapter{border-left-color:#D4554A!important}
.profile .chapter h4{color:var(--gold-2)!important}
.profile.terra .chapter h4{color:#D4554A!important}
.profile .chapter p{color:rgba(242,232,213,.72)!important}

/* Programme : day-card, acte-card, stat-card */
.day-card{background:rgba(20,17,16,.55)!important;border:1px solid rgba(200,146,63,.18)!important;border-top:5px solid var(--gold)!important;backdrop-filter:blur(10px)}
.day-card.red{border-top-color:#D4554A!important}
.day-card.dark{border-top-color:var(--gold-deep)!important}
.day-card h3{color:var(--cream)!important}
.day-card .day-label{color:var(--gold-2)!important}
.day-card .schedule li{border-bottom:1px solid rgba(200,146,63,.12)!important}
.day-card .time{color:var(--gold-2)!important}
.day-card .activity{color:rgba(242,232,213,.7)!important}
.acte-card{background:rgba(20,17,16,.55)!important;border:1px solid rgba(200,146,63,.18)!important;border-top:3px solid var(--gold)!important;backdrop-filter:blur(8px)}
.acte-card:nth-child(2){border-top-color:#D4554A!important}
.acte-card:nth-child(3){border-top-color:var(--gold-deep)!important}
.acte-card .num{color:var(--gold-2)!important}
.acte-card:nth-child(2) .num{color:#D4554A!important}
.acte-card:nth-child(3) .num{color:var(--gold-deep)!important}
.acte-card h4{color:var(--cream)!important}
.stat-card{background:rgba(20,17,16,.55)!important;border:1px solid rgba(200,146,63,.18)!important;backdrop-filter:blur(8px)}
.stat-card .num{color:var(--gold-2)!important}
.stat-card .lbl{color:rgba(242,232,213,.6)!important}

/* Gastronomie : zone-card */
.zone-card{background:rgba(20,17,16,.55)!important;border:1px solid rgba(200,146,63,.18)!important;border-top:5px solid var(--gold)!important;backdrop-filter:blur(10px)}
.zone-card.red{border-top-color:#D4554A!important}
.zone-card.dark{border-top-color:var(--gold-deep)!important}
.zone-card.brick{border-top-color:var(--red)!important}
.zone-card h3{color:var(--cream)!important}
.zone-card .count{color:var(--gold-2)!important}
.zone-card.red .count{color:#D4554A!important}
.zone-card p{color:rgba(242,232,213,.7)!important}

/* Atlas : cat-card */
.cat-card{background:rgba(20,17,16,.55)!important;border:1px solid rgba(200,146,63,.18)!important;border-top:5px solid var(--gold)!important;backdrop-filter:blur(10px)}
.cat-card.red{border-top-color:#D4554A!important}
.cat-card.dark{border-top-color:var(--gold-deep)!important}
.cat-card.brick{border-top-color:var(--red)!important}
.cat-card h3{color:var(--cream)!important}
.cat-card p{color:rgba(242,232,213,.7)!important}
.step h4{color:var(--cream)!important}
.step p{color:rgba(242,232,213,.7)!important}
.step .n{color:var(--gold-2)!important}

/* Hero h1 default for sub pages without display class */
section.hero h1.display{color:var(--cream)}

/* Generic darkening of inline paragraphs that referenced taupe-2 */
p[style*="taupe-2"]{color:rgba(242,232,213,.78)!important}
p[style*="taupe"]{color:rgba(242,232,213,.78)!important}

/* Dark-section legacy (utilisé par manifeste.html) */
.dark-section{
  background:linear-gradient(135deg,#0A0807 0%,#141110 50%,#0A0807 100%);
  border:1px solid rgba(200,146,63,.18);
  padding:80px 32px;border-radius:32px;position:relative;overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.dark-section::before{content:"";position:absolute;top:-200px;right:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(200,146,63,.16) 0%,transparent 70%);pointer-events:none}
.dark-section .container{position:relative;z-index:2;max-width:1100px;margin:0 auto}
.dark-section h2{color:var(--cream)}
.dark-section .lead{color:rgba(242,232,213,.78)}
.dark-section .section-kicker{color:var(--gold-2)}
.dark-section .section-kicker::before{background:var(--gold-2)}
