  /* ============ TOKENS ============ */
  :root{
    --bordeaux:#6b1212;
    --bordeaux-2:#8f1c1c;
    --bordeaux-soft:#fbeceb;
    --ink:#141210;
    --ink-2:#211d19;
    --cream:#f3efe6;
    --paper:#faf7f1;
    --stone:#726b60;
    --stone-invert:#c9c0b2;
    --line: rgba(20,18,16,.13);
    --line-invert: rgba(243,239,230,.16);

    --font-display: "Fraunces", serif;
    --font-body: "Inter", sans-serif;

    --wrap: 1180px;
    --pad: clamp(1.25rem, 4vw, 3rem);

    --ease: cubic-bezier(.16,.84,.44,1);
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  }

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ margin:0; padding:0; list-style:none; }
  h1,h2,h3,p{ margin:0; }
  button{ font-family:inherit; cursor:pointer; }

  .wrap{ max-width:var(--wrap); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

  .eyebrow{
    display:flex; align-items:center; gap:.6em;
    font-family:var(--font-body);
    font-size:.72rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--bordeaux);
    font-weight:600;
    margin-bottom:1.1rem;
  }
  .eyebrow::before{
    content:"";
    width:26px; height:1px;
    background:var(--bordeaux);
    display:inline-block;
  }
  .section--dark .eyebrow{ color:var(--cream); }
  .section--dark .eyebrow::before{ background:var(--cream); }

  h2.title{
    font-family:var(--font-display);
    font-weight:500;
    font-size:clamp(1.9rem, 3.6vw, 3.1rem);
    line-height:1.12;
    letter-spacing:-.01em;
  }
  em{ font-style:italic; color:var(--bordeaux); }
  .section--dark em{ color:var(--bordeaux); }

  .btn{
    display:inline-flex; align-items:center; gap:.55rem;
    padding:.95rem 1.7rem;
    font-size:.82rem;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    border-radius:2px;
    border:1px solid transparent;
    transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  }
  .btn--solid{ background:var(--bordeaux); color:var(--cream); }
  .btn--solid:hover{ background:var(--ink); transform:translateY(-2px); }
  .btn--ghost{ border-color:var(--line); color:var(--ink); }
  .btn--ghost:hover{ border-color:var(--bordeaux); color:var(--bordeaux); transform:translateY(-2px); }
  .section--dark .btn--ghost{ border-color:var(--line-invert); color:var(--cream); }
  .section--dark .btn--ghost:hover{ border-color:var(--bordeaux); color:var(--bordeaux); }

  /* ============ REVEAL ============ */
  .reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
  .reveal.is-visible{ opacity:1; transform:translateY(0); }
  .reveal-stagger > *{ opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
  .reveal-stagger.is-visible > *{ opacity:1; transform:translateY(0); }
  .reveal-stagger.is-visible > *:nth-child(1){ transition-delay:.05s; }
  .reveal-stagger.is-visible > *:nth-child(2){ transition-delay:.16s; }
  .reveal-stagger.is-visible > *:nth-child(3){ transition-delay:.27s; }
  .reveal-stagger.is-visible > *:nth-child(4){ transition-delay:.38s; }

  /* ============ NAV ============ */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:1.35rem 0;
    transition:padding .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease);
    border-bottom:1px solid transparent;
  }
  .nav.is-scrolled{
    padding:.85rem 0;
    background:rgba(250,247,241,.86);
    backdrop-filter:blur(10px);
    border-color:var(--line);
  }
  .nav__row{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
  .nav__logo{
    font-family:var(--font-display);
    font-size:1.02rem;
    letter-spacing:.06em;
    font-weight:500;
  }
  .nav__logo span{ color:var(--bordeaux); }
  .nav__links{ display:flex; align-items:center; gap:2.1rem; }
  .nav__links a{
    font-size:.78rem; letter-spacing:.09em; text-transform:uppercase; font-weight:600;
    color:var(--ink); position:relative; padding-bottom:3px;
  }
  .nav__links a::after{
    content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--bordeaux);
    transition:width .35s var(--ease);
  }
  .nav__links a:hover::after{ width:100%; }
  .nav__insta{ border:1px solid var(--line); border-radius:50%; width:34px; height:34px; display:flex; align-items:center; justify-content:center; transition:border-color .3s, transform .3s; }
  .nav__insta:hover{ border-color:var(--bordeaux); transform:translateY(-2px); }
  .nav__toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px; }
  .nav__toggle span{ width:22px; height:1.5px; background:var(--ink); display:block; }

  @media (max-width: 860px){
    .nav__links{
      position:fixed; inset:0 0 0 auto; width:min(78vw,320px); height:100vh;
      background:var(--ink); flex-direction:column; align-items:flex-start; justify-content:center;
      gap:1.9rem; padding:2rem 2.4rem;
      transform:translateX(100%); transition:transform .5s var(--ease);
    }
    .nav__links.is-open{ transform:translateX(0); }
    .nav__links a{ color:var(--cream); font-size:1rem; }
    .nav__toggle{ display:flex; z-index:110; }
    .nav__toggle.is-open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
    .nav__toggle.is-open span:nth-child(2){ opacity:0; }
    .nav__toggle.is-open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
    .nav__insta{ display:none; }
  }

  /* ============ HERO ============ */
  .hero{
    position:relative;
    min-height:100svh;
    display:flex; align-items:flex-end;
    padding-top:8rem; padding-bottom:0;
    background:
      linear-gradient(180deg, rgba(20,18,16,.15) 0%, rgba(20,18,16,.55) 78%, rgba(20,18,16,.86) 100%),
      radial-gradient(120% 90% at 20% 0%, #2a221f 0%, #171310 55%, #100d0b 100%);
    color:var(--cream);
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 5px);
    mix-blend-mode:overlay;
    pointer-events:none;
  }
  .index {
    background-image:url('/img/hero1.png'); 
    background-size:cover; 
    background-position:center;
  }
@media (max-width: 860px){
  .index {
    background-position:center right !important;
  }
}

  .hero__grain{
    position:absolute; inset:0; opacity:.35; pointer-events:none;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
  }
  .hero__inner{ position:relative; z-index:2; width:100%; padding-bottom:3.4rem; }
  .hero__kicker{
    display:flex; align-items:center; gap:.7em; margin-bottom:1.6rem;
    font-size:.75rem; letter-spacing:.24em; text-transform:uppercase; color:var(--bordeaux); font-weight:600;
  }
  .hero__kicker::before{ content:""; width:30px; height:1px; background:var(--bordeaux); }
  .hero h1{
    font-family:var(--font-display);
    font-weight:400;
    font-size:clamp(2.6rem, 7vw, 6rem);
    line-height:1.03;
    letter-spacing:-.015em;
    max-width:15ch;
  }
  .hero h1 em{ color:var(--bordeaux); font-weight:400; }
  .hero__sub{
    max-width:44ch;
    margin-top:1.8rem;
    font-size:1.05rem;
    color:var(--stone-invert);
  }
  .hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.6rem; }
  .hero__actions .btn--ghost{ border-color:var(--line-invert); color:var(--cream); }
  .hero__actions .btn--ghost:hover{ border-color:var(--bordeaux); color:var(--bordeaux); }

  /* ticker */
  .ticker{
    position:relative; z-index:2;
    border-top:1px solid var(--line-invert);
    overflow:hidden;
    padding:1.1rem 0;
    margin-top:3.6rem;
    background:rgba(20,18,16,.35);
  }
  .ticker__track{
    display:flex; width:max-content;
    gap:6px;
    animation:ticker 26s linear infinite;
  }
  .ticker__track span{
    font-family:var(--font-display);
    font-style:italic;
    font-size:1.05rem;
    color:var(--stone-invert);
    white-space:nowrap;
  }

  @keyframes ticker{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

  /* ============ SECTION SHELLS ============ */
  .section{ padding:clamp(4.5rem,9vw,7.5rem) 0; }
  .section--cream{ background:var(--cream); }
  .section--paper{ background:var(--paper); }
  .section--dark{ background:linear-gradient(180deg,#171310,#100d0b); color:var(--cream); }
  .section--dark .stone{ color:var(--stone-invert); }
  .stone{ color:var(--stone); }
  .hairline{ border-top:1px solid var(--line); }
  .section--dark.hairline{ border-top-color:var(--line-invert); }

  /* ============ PROFIL ============ */
  .profil{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,6vw,5rem); align-items:start; }
  .profil__text p{ margin-top:1.35rem; max-width:52ch; color:var(--stone); font-size:1.02rem; }
  .stat-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; margin-top:2.8rem; padding-top:2.2rem; border-top:1px solid var(--line); }
  .stat-row dt{ font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--bordeaux); font-weight:600; margin-bottom:.5rem; }
  .stat-row dd{ margin:0; font-family:var(--font-display); font-size:1.15rem; }

  /* comp-card / frame signature */
  .frame{
    position:relative;
    aspect-ratio:4/5;
    background:
      radial-gradient(120% 100% at 15% 10%, #2c2521 0%, #1a1512 60%, #120e0c 100%);
    border:1px solid var(--line);
  }
  .frame::before, .frame::after,
  .frame i::before, .frame i::after{
    content:""; position:absolute; width:22px; height:22px; border:1px solid rgba(243,239,230,.55);
  }
  .frame::before{ top:14px; left:14px; border-right:none; border-bottom:none; }
  .frame::after{ top:14px; right:14px; border-left:none; border-bottom:none; }
  .frame i{ position:absolute; inset:0; }
  .frame i::before{ bottom:14px; left:14px; border-right:none; border-top:none; }
  .frame i::after{ bottom:14px; right:14px; border-left:none; border-top:none; }
  .frame__mono{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display); font-size:5.5rem; color:rgba(243,239,230,.16); font-weight:400;
    letter-spacing:.02em;
  }
  .frame__tag{
    position:absolute; left:14px; bottom:14px; right:14px;
    display:flex; justify-content:space-between; align-items:flex-end;
    font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--cream);
    padding-top:.7rem; border-top:1px solid rgba(243,239,230,.3);
  }
  .frame__tag b{ font-family:var(--font-display); font-style:italic; font-size:.95rem; font-weight:400; text-transform:none; letter-spacing:0; display:block; margin-bottom:.15rem;}
  .frame__note{ margin-top:1rem; font-size:.74rem; color:var(--stone); text-align:center; }

  /* ============ DOMAINES ============ */
  .domaines-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; margin-bottom:3.2rem; }
  .domaines-head p{ max-width:40ch; color:var(--stone); }
  .domaines-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  .domaine-card{ background:var(--paper); padding:2.6rem 2.2rem; display:flex; flex-direction:column; min-height:340px; }
  .domaine-card__num{ font-family:var(--font-display); font-style:italic; font-size:1rem; color:var(--bordeaux); margin-bottom:1.6rem; }
  .domaine-card__label{ font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--stone); font-weight:600; margin-bottom:.6rem; }
  .domaine-card h3{ font-family:var(--font-display); font-weight:500; font-size:1.35rem; margin-bottom:.9rem; }
  .domaine-card p{ color:var(--stone); font-size:.94rem; flex:1; }

  @media (max-width:860px){
    .domaines-grid{ grid-template-columns:1fr; }
    .domaine-card{ min-height:auto; }
  }

  /* ============ COLLABORATIONS ============ */
  .collab{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2.5rem,6vw,5rem); }
  .collab__list{ display:grid; grid-template-columns:1fr 1fr; gap:.1rem 2rem; }
  .collab__list li{
    display:flex; gap:.85rem; align-items:flex-start;
    padding:.85rem 0; border-bottom:1px solid var(--line);
    font-size:.95rem;
  }
  .collab__list li::before{ content:"✦"; color:var(--bordeaux); font-size:.7rem; margin-top:.35rem; }
  @media (max-width:640px){ .collab__list{ grid-template-columns:1fr; } }

  /* ============ MOODBOARD / PORTFOLIO PLACEHOLDER ============ */
  .moodboard{ display:grid; grid-template-columns:repeat(6,1fr); gap:.6rem; }
  .moodboard__tile{
    position:relative; aspect-ratio:3/4; overflow:hidden;
    background:linear-gradient(155deg,#241d1a,#141110 65%);
    border:1px solid var(--line-invert);
  }
  .moodboard__tile:nth-child(2n){ background:linear-gradient(155deg,#2c1414,#171010 65%); }
  .moodboard__tile span{
    position:absolute; left:10px; bottom:10px; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--stone-invert);
  }
  .moodboard__tile:nth-child(1){ grid-column:span 2; grid-row:span 2; }
  .moodboard__tile:nth-child(4){ grid-column:span 2; }
  @media (max-width:760px){
    .moodboard{ grid-template-columns:repeat(3,1fr); }
    .moodboard__tile:nth-child(1){ grid-column:span 3; grid-row:span 1; aspect-ratio:16/9; }
    .moodboard__tile:nth-child(4){ grid-column:span 1; }
  }

  /* ============ STATEMENT ============ */
  .statement{ text-align:center; }
  .statement blockquote{
    font-family:var(--font-display); font-style:italic; font-weight:400;
    font-size:clamp(1.6rem,4vw,2.6rem); line-height:1.35; max-width:22ch; margin:0 auto;
  }
  .statement cite{ display:block; margin-top:2rem; font-style:normal; font-size:.75rem; letter-spacing:.16em; text-transform:uppercase; color:var(--bordeaux); }

  /* ============ FAQ ============ */
  .faq{ max-width:820px; }
  .faq-item{ border-top:1px solid var(--line); padding:1.6rem 0; }
  .faq-item:last-child{ border-bottom:1px solid var(--line); }
  .faq-item__q{
    display:flex; justify-content:space-between; align-items:center; gap:1rem;
    font-family:var(--font-display); font-size:1.12rem; font-weight:500; cursor:pointer;
    background:none; border:none; width:100%; text-align:left; color:var(--ink); padding:0;
  }
  .faq-item__q .plus{ position:relative; width:16px; height:16px; flex:none; }
  .faq-item__q .plus::before, .faq-item__q .plus::after{ content:""; position:absolute; background:var(--bordeaux); transition:transform .35s var(--ease); }
  .faq-item__q .plus::before{ left:0; top:50%; width:16px; height:1.5px; transform:translateY(-50%); }
  .faq-item__q .plus::after{ top:0; left:50%; width:1.5px; height:16px; transform:translateX(-50%); }
  .faq-item.is-open .plus::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
  .faq-item__a{
    max-height:0; overflow:hidden; transition:max-height .45s var(--ease), opacity .4s var(--ease), margin-top .4s var(--ease);
    opacity:0; color:var(--stone); font-size:.96rem; max-width:62ch;
  }
  .faq-item.is-open .faq-item__a{ margin-top:1rem; opacity:1; }

  /* ============ CONTACT ============ */
  .contact{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2.5rem,6vw,5rem); align-items:end; }
  .contact h2{ max-width:14ch; }
  .contact p{ margin-top:1.4rem; max-width:42ch; color:var(--stone-invert); }
  .contact__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.4rem; }
  .contact__cards{ display:grid; gap:1px; background:var(--line-invert); border:1px solid var(--line-invert); }
  .contact__card{ background:#171310; padding:1.6rem 1.8rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; transition:background .3s; }
  .contact__card:hover{ background:#1f1a16; }
  .contact__card b{ display:block; font-family:var(--font-display); font-size:1.05rem; font-weight:400; margin-bottom:.25rem; }
  .contact__card span{ font-size:.78rem; color:var(--stone-invert); }
  .contact__card .arrow{ color:var(--bordeaux); font-size:1.1rem; transition:transform .3s var(--ease); }
  .contact__card:hover .arrow{ transform:translate(4px,-4px); }

  @media (max-width:900px){
    .profil, .collab, .contact{ grid-template-columns:1fr; }
    .contact{ align-items:start; }
  }

  /* ============ FOOTER ============ */
  footer{ background:#100d0b; color:var(--stone-invert); padding:3.4rem 0 2.2rem; }
  .footer__top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:2rem; padding-bottom:2.2rem; border-bottom:1px solid var(--line-invert); }
  .footer__brand{ font-family:var(--font-display); font-size:1.3rem; color:var(--cream); }
  .footer__brand small{ display:block; font-family:var(--font-body); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--stone-invert); margin-top:.5rem; }
  .footer__links{ display:flex; gap:2rem; flex-wrap:wrap; }
  .footer__links a{ font-size:.8rem; letter-spacing:.05em; }
  .footer__links a:hover{ color:var(--bordeaux); }
  .footer__bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:.8rem; padding-top:1.6rem; font-size:.75rem; }

  section h2{ max-width:16ch; }

  /* ============ PAGE HEADER (sous-pages) ============ */
  .page-header{
    position:relative;
    padding-top:9.5rem;
    padding-bottom:4.5rem;
    background:
      linear-gradient(180deg, rgba(20,18,16,.5) 0%, rgba(20,18,16,.88) 100%),
      radial-gradient(120% 90% at 20% 0%, #2a221f 0%, #171310 55%, #100d0b 100%);
    color:var(--cream);
    overflow:hidden;
  }
  .page-header::before{
    content:"";
    position:absolute; inset:0; opacity:.35; pointer-events:none;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
  }
  .page-header__inner{ position:relative; z-index:2; }
  .breadcrumb{
    display:flex; align-items:center; gap:.5em;
    font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
    color:var(--stone-invert); margin-bottom:2rem; font-weight:500;
  }
  .breadcrumb a{ color:var(--stone-invert); transition:color .3s; }
  .breadcrumb a:hover{ color:var(--bordeaux); }
  .breadcrumb .sep{ opacity:.5; }
  .breadcrumb .current{ color:var(--cream); }
  .page-header h1{
    font-family:var(--font-display); font-weight:400;
    font-size:clamp(2.3rem, 5.4vw, 4.2rem);
    line-height:1.08; letter-spacing:-.01em; max-width:16ch;
  }
  .page-header h1 em{ color:var(--cream); font-style:italic; font-weight:400; }
  .page-header__inner .eyebrow { color: var(--cream); }
  .page-header__inner .eyebrow::before { background: var(--cream); }
  .page-header__sub{ margin-top:1.5rem; max-width:56ch; font-size:1.05rem; color:var(--stone-invert); }
  .page-header__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.4rem; }
  .page-header__actions .btn--ghost{ border-color:var(--line-invert); color:var(--cream); }
  .page-header__actions .btn--ghost:hover{ border-color:var(--bordeaux); color:var(--bordeaux); }

  /* ============ TIMELINE (parcours) ============ */
  .timeline{ display:flex; flex-direction:column; }
  .timeline-item{
    display:grid; grid-template-columns:110px 1fr; gap:2rem;
    padding:2.6rem 0; border-top:1px solid var(--line);
  }
  .timeline-item:last-child{ border-bottom:1px solid var(--line); }
  .timeline-item__num{ font-family:var(--font-display); font-style:italic; font-size:1.6rem; color:var(--bordeaux); }
  .timeline-item__label{ font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--stone); font-weight:600; margin-bottom:.7rem; }
  .timeline-item h3{ font-family:var(--font-display); font-weight:500; font-size:1.5rem; margin-bottom:.9rem; }
  .timeline-item p{ color:var(--stone); max-width:60ch; font-size:.98rem; }
  @media (max-width:640px){
    .timeline-item{ grid-template-columns:1fr; gap:.7rem; }
  }

  /* ============ VALUES GRID ============ */
  .values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.6rem; }
  .value-item__num{ font-family:var(--font-display); font-style:italic; font-size:1.1rem; color:var(--bordeaux); margin-bottom:1.4rem; }
  .value-item h3{ font-family:var(--font-display); font-weight:500; font-size:1.3rem; margin-bottom:.8rem; }
  .value-item p{ color:var(--stone-invert); font-size:.94rem; }
  @media (max-width:860px){
    .values-grid{ grid-template-columns:1fr; gap:2.2rem; }
  }

  /* ============ CTA BAND ============ */
  .cta-band{ display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
  .cta-band h2{ max-width:18ch; }
  .cta-band__actions{ display:flex; gap:1rem; flex-wrap:wrap; }

  /* ============ DOMAIN BLOCKS (page domaines) ============ */
  .domain-block{
    display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,5rem); align-items:center;
    padding:clamp(3.5rem,7vw,6rem) 0;
  }
  .domain-block + .domain-block{ border-top:1px solid var(--line); }
  .domain-block--reverse .domain-block__text{ order:2; }
  .domain-block--reverse .domain-block__visual{ order:1; }
  .domain-block__num{ font-family:var(--font-display); font-style:italic; font-size:1.1rem; color:var(--bordeaux); margin-bottom:1rem; }
  .domain-block__text p{ color:var(--stone); max-width:52ch; margin-top:1.1rem; }
  .domain-block__cols{ display:grid; grid-template-columns:1fr 1fr; gap:1.8rem; margin-top:2.2rem; }
  .domain-block__col-label{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--bordeaux); font-weight:600; margin-bottom:.9rem; }
  .domain-block__col ul{ display:flex; flex-direction:column; gap:.6rem; }
  .domain-block__col li{ font-size:.9rem; color:var(--ink); padding-left:1.1rem; position:relative; }
  .domain-block__col li::before{ content:"—"; position:absolute; left:0; color:var(--bordeaux); }
  @media (max-width:760px){
    .domain-block{ grid-template-columns:1fr; }
    .domain-block--reverse .domain-block__text{ order:1; }
    .domain-block--reverse .domain-block__visual{ order:2; }
    .domain-block__cols{ grid-template-columns:1fr; }
  }

  .domain-visual{
    position:relative; aspect-ratio:4/5;
    background:radial-gradient(120% 100% at 15% 10%, #241d1a 0%, #171310 60%, #100d0b 100%);
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  .domain-visual__icon{ opacity:.5; }
  .domain-visual__label{
    position:absolute; left:14px; bottom:14px; right:14px;
    font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--stone-invert);
    padding-top:.7rem; border-top:1px solid rgba(243,239,230,.25);
  }

  /* ============ DASH LIST (utilitaire) ============ */
  .dash-list{ display:flex; flex-direction:column; gap:.65rem; }
  .dash-list li{ font-size:.92rem; color:var(--ink); padding-left:1.15rem; position:relative; }
  .dash-list li::before{ content:"—"; position:absolute; left:0; color:var(--bordeaux); }
  .section--dark .dash-list li{ color:var(--cream); }

  /* ============ COLLAB GRID (page collaborations) ============ */
  .collab-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
  .collab-grid--wide{ grid-template-columns:repeat(4,1fr); }
  .collab-card{ background:var(--paper); padding:2.4rem 2rem; display:flex; flex-direction:column; }
  .collab-card__num{ font-family:var(--font-display); font-style:italic; font-size:1rem; color:var(--bordeaux); margin-bottom:1.2rem; }
  .collab-card h3{ font-family:var(--font-display); font-weight:500; font-size:1.2rem; margin-bottom:1.3rem; }
  @media (max-width:860px){
    .collab-grid, .collab-grid--wide{ grid-template-columns:1fr; }
  }

  /* ============ GALLERY (page univers) ============ */
  .gallery-filters{ display:flex; gap:.7rem; flex-wrap:wrap; margin-top:2rem; }
  .gallery-filter{
    padding:.6rem 1.2rem; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
    border:1px solid var(--line-invert); color:var(--stone-invert); border-radius:999px;
    background:none; transition:border-color .3s, color .3s;
  }
  .gallery-filter.is-active, .gallery-filter:hover{ border-color:var(--cream); color:var(--bordeaux); background: var(--cream); }

  .gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin-top:2.6rem; }
  .gallery-grid .moodboard__tile{ transition:opacity .35s var(--ease); }
  .gallery-grid .moodboard__tile[data-cat]{ aspect-ratio:3/4; }
  @media (max-width:760px){
    .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  }
