/* ═══════════════════════════════════════════════════════
   AUTREMENT AGENCY AFRICA — STYLESHEET v2.0
   Bleu Minuit #0A2342 · Ecru #E6D5B8 · Blanc cassé #F8F9FA
   Cormorant Garamond · EB Garamond · Tenor Sans
═══════════════════════════════════════════════════════ */

/* ─── VARIABLES ─── */
:root {
  --blanc:     #F8F9FA;
  --nuit:      #0A2342;
  --ecru:      #E6D5B8;
  --ecru-dim:  rgba(230,213,184,.22);
  --nuit-dim:  rgba(10,35,66,.05);
  --blanc-dim: rgba(248,249,250,.08);
  --tr:        .6s cubic-bezier(.25,.46,.45,.94);
  --shadow:    none;
  --font-title: 'Cormorant Garamond', Georgia, serif;
  --font-body:  'EB Garamond', Georgia, serif;
  --font-ui:    'Tenor Sans', sans-serif;
}

/* ─── BASE ─── */
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--blanc);
  color: var(--nuit);
  font-family: var(--font-body);
  font-size: 1.05rem;
  line-height: 1.78;
  cursor: none;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
ul, ol { padding-left: 0; }

/* ─── GRAIN ─── */
body::after {
  content: '';
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: .022;
  pointer-events: none;
  z-index: 8000;
}

/* ─── CURSEUR ─── */
.cursor {
  position: fixed; width: 10px; height: 10px;
  background: var(--ecru); border-radius: 50%;
  pointer-events: none; z-index: 9999;
  transform: translate(-50%,-50%);
  transition: width .3s, height .3s;
}
.cursor-ring {
  position: fixed; width: 36px; height: 36px;
  border: 1px solid var(--nuit); border-radius: 50%;
  pointer-events: none; z-index: 9998;
  transform: translate(-50%,-50%);
  transition: width .35s, height .35s;
}

/* ─── NAVIGATION ─── */
#nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.6rem 3.5rem;
  background: var(--blanc);
  border-bottom: 1px solid transparent;
  transition: border-color .4s, padding .4s;
}
#nav.scrolled { border-color: var(--ecru); padding: 1.1rem 3.5rem; }

.nav-logo {
  font-family: var(--font-ui); font-size: .82rem;
  letter-spacing: .35em; text-transform: uppercase;
  color: var(--nuit); text-decoration: none;
  display: flex; flex-direction: column; gap: .08rem;
}
.nav-logo span {
  font-family: var(--font-title); font-weight: 300;
  font-size: .68rem; letter-spacing: .22em;
  color: var(--ecru); text-transform: uppercase;
}

.nav-menu { display: flex; align-items: center; gap: 2.2rem; list-style: none; }
.nav-menu a {
  font-family: var(--font-ui); font-size: .66rem;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--nuit); text-decoration: none;
  position: relative; transition: color .3s;
}
.nav-menu a::after {
  content: ''; position: absolute; bottom: -3px; left: 0;
  width: 0; height: 1px; background: var(--ecru); transition: width .4s;
}
.nav-menu a:hover::after, .nav-menu a.active::after { width: 100%; }

.nav-cta {
  font-family: var(--font-ui); font-size: .64rem;
  letter-spacing: .26em; text-transform: uppercase;
  color: var(--nuit); border: 1px solid var(--ecru);
  padding: .5rem 1.2rem; text-decoration: none;
  transition: background .3s, color .3s;
}
.nav-cta:hover, .nav-cta.active-cta { background: var(--nuit); color: var(--blanc); }
.nav-cta::after { display: none !important; }

/* Burger */
.nav-burger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 4px;
}
.nav-burger span {
  display: block; width: 24px; height: 1px;
  background: var(--nuit); transition: all .3s;
}
.nav-burger.open span:nth-child(1) { transform: rotate(45deg) translate(4px,4px); }
.nav-burger.open span:nth-child(2) { opacity: 0; }
.nav-burger.open span:nth-child(3) { transform: rotate(-45deg) translate(4px,-4px); }

/* Drawer mobile */
.nav-mobile {
  position: fixed; top: 0; right: -100%;
  width: min(320px,85vw); height: 100vh;
  background: var(--nuit); z-index: 999;
  display: flex; align-items: center; justify-content: center;
  transition: right .4s var(--tr);
  border-left: 1px solid rgba(230,213,184,.15);
}
.nav-mobile.open { right: 0; }
.nav-mobile ul { list-style: none; text-align: center; padding: 0; }
.nav-mobile ul li { margin-bottom: 2rem; }
.nav-mobile ul li a {
  font-family: var(--font-title); font-weight: 300;
  font-size: 1.8rem; color: var(--blanc);
  text-decoration: none; transition: color .3s;
}
.nav-mobile ul li a:hover { color: var(--ecru); }

/* ─── HERO (Accueil) ─── */
.hero {
  height: 100vh;
  background: var(--nuit);
  background-size: cover; background-position: center;
  display: flex; flex-direction: column;
  justify-content: flex-end; padding: 0 3.5rem 5rem;
  position: relative; overflow: hidden;
}
.hero-bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  z-index: 0;
}
.hero-overlay {
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(to top, rgba(10,35,66,.92) 0%, rgba(10,35,66,.5) 60%, rgba(10,35,66,.15) 100%);
}
.hero > *:not(.hero-bg):not(.hero-overlay) { position: relative; z-index: 1; }
.hero-vline {
  position: absolute; top: 0; left: 3.5rem;
  width: 1px; height: 100%; background: var(--ecru-dim); z-index: 1;
}
.hero-vline.r { left: auto; right: 3.5rem; }
.hero-counter {
  position: absolute; top: 50%; right: 3.5rem;
  transform: translateY(-50%); z-index: 1;
  font-family: var(--font-ui); font-size: .56rem;
  letter-spacing: .3em; color: var(--ecru);
  writing-mode: vertical-rl; opacity: .45;
}
.hero-eyebrow {
  font-family: var(--font-ui); font-size: .62rem;
  letter-spacing: .42em; text-transform: uppercase;
  color: var(--ecru); margin-bottom: 2rem;
  opacity: 0; animation: fadeUp .9s ease .3s forwards;
}
.hero-title {
  font-family: var(--font-title); font-weight: 300;
  font-size: clamp(2.8rem,5.5vw,5.2rem); line-height: 1.1;
  color: var(--blanc); max-width: 800px;
  opacity: 0; animation: fadeUp 1s ease .5s forwards;
}
.hero-title em { font-style: italic; color: var(--ecru); }
.hero-sig {
  margin-top: 2.5rem;
  font-family: var(--font-ui); font-size: .56rem;
  letter-spacing: .35em; text-transform: uppercase; color: var(--ecru);
  opacity: 0; animation: fadeUp .8s ease .9s forwards;
}
.hero-scroll {
  position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%); z-index: 1;
  display: flex; flex-direction: column; align-items: center; gap: .6rem;
  font-family: var(--font-ui); font-size: .5rem; letter-spacing: .3em;
  text-transform: uppercase; color: var(--ecru);
  opacity: 0; animation: fadeUp .8s ease 1.2s forwards;
}
.hero-scroll-line {
  width: 1px; height: 40px; background: var(--ecru);
  animation: scrollPulse 1.6s ease-in-out infinite;
}

/* ─── ANCHOR STRIP ─── */
.anchor-strip {
  background: var(--nuit); border-top: 1px solid rgba(230,213,184,.18);
  display: flex; overflow-x: auto; scrollbar-width: none;
}
.anchor-strip::-webkit-scrollbar { display: none; }
.anchor-strip a {
  font-family: var(--font-ui); font-size: .56rem;
  letter-spacing: .26em; text-transform: uppercase;
  color: rgba(248,249,250,.42); text-decoration: none;
  padding: 1.2rem 2.4rem; white-space: nowrap;
  border-right: 1px solid rgba(230,213,184,.1);
  transition: color .3s, background .3s; flex-shrink: 0;
}
.anchor-strip a:hover, .anchor-strip a.active {
  color: var(--ecru); background: rgba(230,213,184,.04);
}

/* ─── PAGE HERO ─── */
.page-hero {
  padding: 140px 3.5rem 5rem;
  background: var(--nuit); min-height: 54vh;
  display: flex; flex-direction: column; justify-content: flex-end;
  position: relative; border-bottom: 1px solid rgba(230,213,184,.18);
}
.page-hero-vline {
  position: absolute; top: 0; left: 3.5rem;
  width: 1px; height: 100%; background: var(--ecru-dim);
}
.page-hero-eyebrow {
  font-family: var(--font-ui); font-size: .58rem;
  letter-spacing: .42em; text-transform: uppercase; color: var(--ecru);
  margin-bottom: 1.6rem;
  opacity: 0; animation: fadeUp .8s ease .2s forwards;
}
.page-hero-title {
  font-family: var(--font-title); font-weight: 300;
  font-size: clamp(2.4rem,4.8vw,4.6rem); line-height: 1.1;
  color: var(--blanc); max-width: 720px;
  opacity: 0; animation: fadeUp 1s ease .4s forwards;
}
.page-hero-title em { font-style: italic; color: var(--ecru); }
.page-hero-intro {
  margin-top: 2rem; max-width: 560px;
  font-family: var(--font-body); font-size: 1.1rem;
  line-height: 1.82; color: rgba(248,249,250,.68);
  opacity: 0; animation: fadeUp .8s ease .6s forwards;
}

/* ─── LAYOUT 2 COL ─── */
.two-col {
  display: grid; grid-template-columns: 1fr 300px;
  border-bottom: 1px solid var(--ecru);
}
.col-main { padding: 6rem 4rem 6rem 3.5rem; }
.col-side {
  border-left: 1px solid var(--ecru); padding: 6rem 2.2rem;
  position: sticky; top: 0; height: 100vh;
  display: flex; flex-direction: column; justify-content: space-between;
  background: var(--blanc);
}

/* ─── TYPOGRAPHIE SECTION ─── */
.lbl {
  font-family: var(--font-ui); font-size: .52rem;
  letter-spacing: .45em; text-transform: uppercase; color: var(--ecru);
  display: block; margin-bottom: 1.4rem;
}
.sec-num {
  font-family: var(--font-ui); font-size: .56rem;
  letter-spacing: .42em; color: var(--ecru);
  margin-bottom: 1.6rem; display: block;
}
.sec-title {
  font-family: var(--font-title); font-weight: 300;
  font-size: clamp(1.9rem,3vw,3.1rem); line-height: 1.16;
  color: var(--nuit); margin-bottom: 2rem; max-width: 540px;
}
.sec-title em { font-style: italic; }
.sec-body {
  font-family: var(--font-body); font-size: 1.08rem;
  line-height: 1.88; color: var(--nuit); opacity: .82;
  max-width: 510px; margin-bottom: 2rem;
}

/* ─── CTA LIGNE ─── */
.cta-line {
  display: inline-flex; align-items: center; gap: 1rem;
  font-family: var(--font-ui); font-size: .62rem;
  letter-spacing: .26em; text-transform: uppercase;
  color: var(--nuit); text-decoration: none; transition: gap .3s;
}
.cta-line::after {
  content: ''; width: 40px; height: 1px;
  background: var(--ecru); transition: width .4s;
}
.cta-line:hover { gap: 1.6rem; }
.cta-line:hover::after { width: 64px; }

/* ─── SIDEBAR ─── */
.side-list { list-style: none; margin-bottom: 2.5rem; }
.side-list li {
  font-family: var(--font-body); font-size: .9rem;
  color: var(--nuit); padding: .42rem 0;
  border-bottom: 1px solid var(--ecru-dim); opacity: .72;
}
.side-contact p {
  font-family: var(--font-body); font-size: .88rem;
  line-height: 1.72; color: var(--nuit); opacity: .62;
}
.side-socials { margin-top: 1rem; display: flex; gap: 1.2rem; }
.side-socials a {
  font-family: var(--font-ui); font-size: .5rem;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--nuit); text-decoration: none; opacity: .42;
  transition: opacity .3s;
}
.side-socials a:hover { opacity: 1; }

/* ─── SEPARATEUR ─── */
.sep { border: none; border-top: 1px solid var(--ecru); margin: 3.5rem 0; }

/* ─── LISTE STYLEE ─── */
.s-list { list-style: none; margin: 2rem 0; }
.s-list li {
  display: flex; gap: 1.2rem; align-items: flex-start;
  padding: .9rem 0; border-bottom: 1px solid var(--ecru-dim);
  font-family: var(--font-body); font-size: 1rem;
  line-height: 1.7; color: var(--nuit); opacity: .82;
}
.s-list li::before {
  content: '—'; color: var(--ecru); flex-shrink: 0;
  font-family: var(--font-title);
}

/* ─── CITATION ─── */
.quote {
  border-left: 1px solid var(--ecru); padding: 1.8rem 2.8rem; margin: 3rem 0;
}
.quote blockquote {
  font-family: var(--font-title); font-style: italic; font-weight: 300;
  font-size: clamp(1.4rem,2vw,2rem); line-height: 1.46;
  color: var(--nuit); margin-bottom: 1.2rem;
}
.quote cite {
  font-family: var(--font-ui); font-size: .56rem;
  letter-spacing: .3em; text-transform: uppercase; color: var(--ecru); font-style: normal;
}

/* ─── CONCEPTS ─── */
.concept-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; margin: 3rem 0; }
.concept-card { padding: 2.6rem 2.2rem; border: 1px solid var(--ecru); margin: -1px; }
.concept-num {
  font-family: var(--font-title); font-weight: 300;
  font-size: 2.4rem; color: var(--ecru); line-height: 1; margin-bottom: .9rem;
}
.concept-title {
  font-family: var(--font-ui); font-size: .6rem;
  letter-spacing: .24em; text-transform: uppercase;
  color: var(--nuit); margin-bottom: .7rem;
}
.concept-body {
  font-family: var(--font-body); font-size: .95rem;
  line-height: 1.75; color: var(--nuit); opacity: .68;
}

/* ─── GRILLE PROFILS ─── */
.profiles-section { padding: 5rem 3.5rem; border-bottom: 1px solid var(--ecru); }
.sec-header { display: flex; align-items: center; gap: 2rem; margin-bottom: 4rem; }
.sec-header::after { content: ''; flex: 1; height: 1px; background: var(--ecru); }
.profiles-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.profile-card { padding: 2.6rem 2.2rem; border-right: 1px solid var(--ecru); border-bottom: 1px solid var(--ecru); }
.profile-card:nth-child(3n) { border-right: none; }
.profile-card:nth-last-child(-n+3) { border-bottom: none; }
.profile-tag { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .4em; text-transform: uppercase; color: var(--ecru); margin-bottom: .9rem; }
.profile-name { font-family: var(--font-title); font-weight: 300; font-size: 1.4rem; line-height: 1.3; color: var(--nuit); margin-bottom: .7rem; }
.profile-detail { font-family: var(--font-body); font-size: .92rem; color: var(--nuit); opacity: .58; line-height: 1.65; }

/* ─── FONDATRICE ─── */
.fondatrice-wrap { display: grid; grid-template-columns: 380px 1fr; min-height: 80vh; border-bottom: 1px solid var(--ecru); }
.fondatrice-visual { background: var(--nuit); display: flex; flex-direction: column; justify-content: flex-end; padding: 3rem; border-right: 1px solid rgba(230,213,184,.2); }
.fondatrice-visual-placeholder { width: 100%; aspect-ratio: 4/5; background: rgba(230,213,184,.06); border: 1px solid rgba(230,213,184,.2); display: flex; align-items: center; justify-content: center; }
.fondatrice-visual-placeholder span { font-family: var(--font-ui); font-size: .54rem; letter-spacing: .3em; text-transform: uppercase; color: rgba(230,213,184,.35); }
.fondatrice-visual-caption { margin-top: 1.8rem; font-family: var(--font-ui); font-size: .52rem; letter-spacing: .28em; text-transform: uppercase; color: var(--ecru); opacity: .5; }
.fondatrice-content { padding: 6rem 5rem 6rem 4.5rem; }
.fondatrice-doctrine { margin: 2.5rem 0; padding: 2rem 2.5rem; border-left: 1px solid var(--ecru); font-family: var(--font-title); font-style: italic; font-size: clamp(1.4rem,2vw,1.9rem); line-height: 1.5; color: var(--nuit); }
.fondatrice-refuses { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--ecru); }

/* ─── ÉTUDES DE CAS ─── */
.cas-grid { display: grid; grid-template-columns: 1fr; }
.cas-card { display: grid; grid-template-columns: 120px 1fr; padding: 3.5rem; border-bottom: 1px solid var(--ecru); transition: background .3s; }
.cas-card:hover { background: var(--nuit-dim); }
.cas-num { font-family: var(--font-title); font-weight: 300; font-size: 3.5rem; color: var(--ecru); line-height: 1; padding-top: .3rem; }
.cas-tag { font-family: var(--font-ui); font-size: .52rem; letter-spacing: .38em; text-transform: uppercase; color: var(--ecru); margin-bottom: 1rem; display: block; }
.cas-title { font-family: var(--font-title); font-weight: 300; font-size: clamp(1.5rem,2.2vw,2rem); line-height: 1.25; color: var(--nuit); margin-bottom: 1.2rem; }
.cas-body { font-family: var(--font-body); font-size: 1rem; line-height: 1.82; color: var(--nuit); opacity: .75; max-width: 620px; }

/* ─── BOUTIQUE ─── */
.boutique-grid { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--ecru); }
.produit-card { padding: 3.5rem 2.8rem; border-right: 1px solid var(--ecru); border-bottom: 1px solid var(--ecru); display: flex; flex-direction: column; transition: background .4s; }
.produit-card:last-child { border-right: none; }
.produit-card:hover { background: var(--nuit-dim); }
.produit-maquette { width: 100%; aspect-ratio: 3/4; background: var(--nuit); margin-bottom: 2rem; display: flex; align-items: flex-end; padding: 1.5rem; position: relative; overflow: hidden; }
.produit-maquette::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: var(--ecru); }
.produit-maquette span { font-family: var(--font-title); font-style: italic; font-weight: 300; font-size: 1.1rem; color: var(--blanc); line-height: 1.3; position: relative; z-index: 1; }
.produit-maquette img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.produit-card:hover .produit-maquette img { transform: scale(1.05); }
.produit-tag { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .38em; text-transform: uppercase; color: var(--ecru); margin-bottom: .8rem; }
.produit-title { font-family: var(--font-title); font-weight: 300; font-size: 1.35rem; line-height: 1.3; color: var(--nuit); margin-bottom: .8rem; }
.produit-desc { font-family: var(--font-body); font-size: .92rem; line-height: 1.72; color: var(--nuit); opacity: .65; flex: 1; margin-bottom: 2rem; }
.produit-format { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .22em; text-transform: uppercase; color: var(--nuit); opacity: .38; margin-bottom: 1.4rem; }
.btn-commander { display: inline-flex; align-items: center; gap: .9rem; font-family: var(--font-ui); font-size: .62rem; letter-spacing: .26em; text-transform: uppercase; color: var(--nuit); text-decoration: none; transition: gap .3s; align-self: flex-start; }
.btn-commander::after { content: ''; width: 32px; height: 1px; background: var(--ecru); transition: width .4s; }
.btn-commander:hover { gap: 1.4rem; }
.btn-commander:hover::after { width: 52px; }

/* ─── PLUME / BLOG ─── */
.plume-grid { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--ecru); }
.article-card { padding: 3.5rem; border-right: 1px solid var(--ecru); border-bottom: 1px solid var(--ecru); text-decoration: none; display: block; transition: background .3s; }
.article-card:nth-child(2n) { border-right: none; }
.article-card:hover { background: var(--nuit-dim); }
.article-cat { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .38em; text-transform: uppercase; color: var(--ecru); margin-bottom: 1rem; display: block; }
.article-date { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .22em; color: var(--nuit); opacity: .35; margin-bottom: 1.2rem; display: block; }
.article-title { font-family: var(--font-title); font-weight: 300; font-size: clamp(1.3rem,2vw,1.9rem); line-height: 1.28; color: var(--nuit); margin-bottom: 1.2rem; }
.article-excerpt { font-family: var(--font-body); font-size: .96rem; line-height: 1.78; color: var(--nuit); opacity: .65; }

/* ─── ARTICLE SINGLE ─── */
.article-hero { padding: 140px 3.5rem 4rem; background: var(--nuit); position: relative; border-bottom: 1px solid rgba(230,213,184,.18); }
.article-hero-vline { position: absolute; top: 0; left: 3.5rem; width: 1px; height: 100%; background: var(--ecru-dim); }
.article-cat-hero { font-family: var(--font-ui); font-size: .56rem; letter-spacing: .4em; text-transform: uppercase; color: var(--ecru); margin-bottom: 1.4rem; display: block; }
.article-title-hero { font-family: var(--font-title); font-weight: 300; font-size: clamp(2rem,4.2vw,4rem); line-height: 1.12; color: var(--blanc); max-width: 760px; }
.article-meta { margin-top: 2rem; display: flex; gap: 3rem; align-items: center; }
.article-meta span { font-family: var(--font-ui); font-size: .52rem; letter-spacing: .28em; text-transform: uppercase; color: var(--ecru); opacity: .55; }
.article-body-wrap p { font-family: var(--font-body); font-size: 1.15rem; line-height: 1.92; color: var(--nuit); margin-bottom: 1.8rem; }
.article-body-wrap h2 { font-family: var(--font-title); font-weight: 300; font-size: clamp(1.5rem,2.2vw,2.2rem); line-height: 1.3; color: var(--nuit); margin: 3rem 0 1.5rem; }
.article-body-wrap blockquote { border-left: 1px solid var(--ecru); padding: 1.5rem 2.5rem; margin: 2.5rem 0; font-family: var(--font-title); font-style: italic; font-size: 1.3rem; line-height: 1.5; color: var(--nuit); }

/* ─── OFFRES ─── */
.offre-section-header { padding: 3.5rem 3.5rem 2rem; border-bottom: 1px solid var(--ecru); display: flex; align-items: baseline; gap: 2rem; }
.offre-section-header::after { content: ''; flex: 1; height: 1px; background: var(--ecru); }
.offre-section-title { font-family: var(--font-title); font-weight: 300; font-size: clamp(1.4rem,2vw,1.9rem); color: var(--nuit); }
.offre-card { padding: 3.2rem 2.6rem; border-right: 1px solid var(--ecru); border-bottom: 1px solid var(--ecru); display: flex; flex-direction: column; position: relative; transition: background .35s; }
.offre-card:hover { background: var(--nuit-dim); }
.offre-badge { position: absolute; top: 1.8rem; right: 1.8rem; font-family: var(--font-ui); font-size: .46rem; letter-spacing: .28em; text-transform: uppercase; background: var(--ecru); color: var(--nuit); padding: .3rem .75rem; }
.offre-num { font-family: var(--font-title); font-weight: 300; font-size: 2.6rem; color: var(--ecru); line-height: 1; margin-bottom: 1rem; }
.offre-categorie { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .38em; text-transform: uppercase; color: var(--ecru); margin-bottom: .7rem; }
.offre-titre { font-family: var(--font-title); font-weight: 300; font-size: 1.5rem; line-height: 1.25; color: var(--nuit); margin-bottom: 1.1rem; }
.offre-desc { font-family: var(--font-body); font-size: .95rem; line-height: 1.75; color: var(--nuit); opacity: .72; flex: 1; margin-bottom: 1.8rem; }
.offre-livrables { list-style: none; margin-bottom: 1.8rem; border-top: 1px solid var(--ecru-dim); padding-top: 1.4rem; }
.offre-livrables li { font-family: var(--font-body); font-size: .9rem; color: var(--nuit); padding: .38rem 0; border-bottom: 1px solid var(--ecru-dim); display: flex; gap: .8rem; opacity: .78; }
.offre-livrables li::before { content: '—'; color: var(--ecru); flex-shrink: 0; font-family: var(--font-title); }
.offre-duree { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .22em; text-transform: uppercase; color: var(--nuit); opacity: .38; margin-bottom: 1.4rem; }
.offre-cta { display: inline-flex; align-items: center; gap: .9rem; font-family: var(--font-ui); font-size: .6rem; letter-spacing: .24em; text-transform: uppercase; color: var(--nuit); text-decoration: none; border: 1px solid var(--ecru); padding: .65rem 1.3rem; transition: background .3s, color .3s; align-self: flex-start; }
.offre-cta:hover { background: var(--nuit); color: var(--blanc); border-color: var(--nuit); }

/* ─── MARQUES ─── */
.marques-grid { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--ecru); }
.marque-card { padding: 3rem 2.5rem; border-right: 1px solid var(--ecru); border-bottom: 1px solid var(--ecru); display: flex; flex-direction: column; transition: background .35s; }
.marque-card:hover { background: var(--nuit-dim); }
.marque-card:nth-child(3n) { border-right: none; }
.marque-visuel { width: 100%; aspect-ratio: 3/2; overflow: hidden; margin-bottom: 2rem; background: var(--nuit); position: relative; }
.marque-visuel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s; }
.marque-card:hover .marque-visuel img { transform: scale(1.05); }
.marque-visuel-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: var(--nuit); }
.marque-visuel-placeholder span { font-family: var(--font-ui); font-size: .52rem; letter-spacing: .3em; text-transform: uppercase; color: rgba(230,213,184,.35); }
.marque-tag { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .4em; text-transform: uppercase; color: var(--ecru); margin-bottom: .8rem; }
.marque-nom { font-family: var(--font-title); font-weight: 300; font-size: 1.5rem; line-height: 1.25; color: var(--nuit); margin-bottom: .8rem; }
.marque-desc { font-family: var(--font-body); font-size: .95rem; line-height: 1.75; color: var(--nuit); opacity: .68; flex: 1; margin-bottom: 1.8rem; }
.marque-liens { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.marque-lien { font-family: var(--font-ui); font-size: .52rem; letter-spacing: .24em; text-transform: uppercase; color: var(--nuit); text-decoration: none; border-bottom: 1px solid var(--ecru); padding-bottom: .2rem; transition: color .3s; }
.marque-lien:hover { color: var(--ecru); border-color: transparent; }
.marque-lien.site { background: var(--nuit); color: var(--blanc); border: none; padding: .5rem 1.1rem; }
.marque-lien.site:hover { background: var(--ecru); color: var(--nuit); }

/* ─── CONTACT ─── */
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--ecru); }
.contact-left { padding: 6rem 4rem 6rem 3.5rem; }
.contact-right { padding: 6rem 3.5rem 6rem 4rem; border-left: 1px solid var(--ecru); }
.contact-detail { margin-top: 3rem; display: flex; flex-direction: column; gap: 1.6rem; }
.detail-item span { display: block; font-family: var(--font-ui); font-size: .52rem; letter-spacing: .35em; text-transform: uppercase; color: var(--ecru); margin-bottom: .35rem; }
.detail-item p, .detail-item a { font-family: var(--font-body); font-size: 1rem; color: var(--nuit); opacity: .78; text-decoration: none; }
.detail-item a:hover { opacity: 1; }
.form-group { margin-bottom: 2rem; }
.form-group label { display: block; font-family: var(--font-ui); font-size: .52rem; letter-spacing: .35em; text-transform: uppercase; color: var(--nuit); margin-bottom: .7rem; opacity: .55; }
.form-group input, .form-group textarea, .form-group select { width: 100%; background: transparent; border: none; border-bottom: 1px solid var(--ecru); padding: .7rem 0; font-family: var(--font-body); font-size: 1rem; color: var(--nuit); outline: none; transition: border-color .3s; appearance: none; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--nuit); }
.form-group textarea { resize: vertical; min-height: 130px; }
.form-submit { background: var(--nuit); border: none; cursor: pointer; padding: 1.1rem 2.8rem; font-family: var(--font-ui); font-size: .62rem; letter-spacing: .3em; text-transform: uppercase; color: var(--blanc); transition: background .3s; }
.form-submit:hover { background: var(--ecru); color: var(--nuit); }
.form-msg { padding: 1rem 1.5rem; margin-bottom: 1.5rem; font-family: var(--font-body); font-size: .95rem; }
.form-msg.ok { border-left: 2px solid var(--ecru); color: var(--nuit); background: rgba(230,213,184,.12); }
.form-msg.err { border-left: 2px solid var(--nuit); color: var(--nuit); background: rgba(10,35,66,.04); }

/* ─── NEWSLETTER ─── */
.nl-section { padding: 6rem 3.5rem; background: var(--nuit); display: flex; justify-content: space-between; align-items: center; gap: 4rem; border-top: 1px solid rgba(230,213,184,.12); }
.nl-title { font-family: var(--font-title); font-weight: 300; font-size: clamp(1.8rem,2.5vw,2.8rem); color: var(--blanc); line-height: 1.2; }
.nl-form { display: flex; flex-shrink: 0; min-width: 380px; }
.nl-form input { flex: 1; background: transparent; border: 1px solid rgba(230,213,184,.28); border-right: none; padding: 1rem 1.4rem; font-family: var(--font-body); font-size: 1rem; color: var(--blanc); outline: none; transition: border-color .3s; }
.nl-form input::placeholder { color: rgba(248,249,250,.28); }
.nl-form input:focus { border-color: var(--ecru); }
.nl-form button { background: var(--ecru); border: none; cursor: pointer; padding: 1rem 1.8rem; font-family: var(--font-ui); font-size: .58rem; letter-spacing: .28em; text-transform: uppercase; color: var(--nuit); transition: background .3s; }
.nl-form button:hover { background: var(--blanc); }

/* ─── FOOTER ─── */
.site-footer { background: var(--nuit); border-top: 1px solid rgba(230,213,184,.1); padding: 4.5rem 3.5rem; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 3.5rem; }
.footer-logo { font-family: var(--font-ui); font-size: .8rem; letter-spacing: .35em; text-transform: uppercase; color: var(--blanc); }
.footer-tagline { font-family: var(--font-title); font-style: italic; font-weight: 300; font-size: 1rem; color: var(--ecru); opacity: .65; margin-top: .3rem; }
.footer-cities { margin-top: .8rem; font-family: var(--font-ui); font-size: .52rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(248,249,250,.3); }
.footer-socials { margin-top: 1.6rem; display: flex; gap: 1.5rem; }
.footer-socials a { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ecru); text-decoration: none; opacity: .52; transition: opacity .3s; }
.footer-socials a:hover { opacity: 1; }
.footer-nav { list-style: none; }
.footer-nav li { margin-bottom: .7rem; }
.footer-nav a { font-family: var(--font-ui); font-size: .56rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(248,249,250,.38); text-decoration: none; transition: color .3s; }
.footer-nav a:hover { color: var(--ecru); }
.footer-addr { font-family: var(--font-body); font-size: .9rem; line-height: 1.85; color: rgba(248,249,250,.4); }
.footer-addr a { color: rgba(230,213,184,.65); text-decoration: none; transition: color .3s; }
.footer-addr a:hover { color: var(--ecru); }
.footer-bottom { background: var(--nuit); border-top: 1px solid rgba(230,213,184,.07); padding: 1.4rem 3.5rem; display: flex; justify-content: space-between; align-items: center; }
.footer-bottom p { font-family: var(--font-ui); font-size: .5rem; letter-spacing: .16em; color: rgba(248,249,250,.16); }

/* ─── IMAGES ─── */
.img-bloc { width: 100%; overflow: hidden; position: relative; }
.img-bloc img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s var(--tr); }
.img-bloc:hover img { transform: scale(1.04); }
.section-img { width: 100%; aspect-ratio: 21/9; overflow: hidden; border-bottom: 1px solid var(--ecru); }
.section-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s; }
.section-img:hover img { transform: scale(1.03); }
.galerie-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2px; border-bottom: 1px solid var(--ecru); }
.galerie-item { overflow: hidden; }
.galerie-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s; }
.galerie-item:hover img { transform: scale(1.06); }
.galerie-item:first-child { aspect-ratio: 4/3; }
.galerie-item:not(:first-child) { aspect-ratio: 1/1; }
.galerie-item.large { grid-column: span 2; aspect-ratio: 2/1; }

/* ─── FAQ ─── */
.faq-item { border-bottom: 1px solid var(--ecru); padding: 1.5rem 0; }
.faq-question { font-family: var(--font-ui); font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--nuit); cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-question::after { content: '+'; font-size: 1.2rem; font-family: var(--font-title); color: var(--ecru); transition: transform .3s; font-weight: 300; }
.faq-item.open .faq-question::after { transform: rotate(45deg); }
.faq-answer { font-family: var(--font-body); font-size: 1rem; line-height: 1.82; color: var(--nuit); opacity: .72; max-height: 0; overflow: hidden; transition: max-height .4s ease, padding .3s; }
.faq-item.open .faq-answer { max-height: 400px; padding-top: 1rem; }

/* ─── ANIMATIONS ─── */
@keyframes fadeUp { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes scrollPulse { 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 51%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.d1{transition-delay:.1s} .d2{transition-delay:.25s} .d3{transition-delay:.42s}

/* ─── RESPONSIVE ─── */
@media (max-width:1024px) {
  .boutique-grid { grid-template-columns:1fr 1fr; }
  .marques-grid { grid-template-columns:1fr 1fr; }
  .marque-card:nth-child(3n) { border-right:1px solid var(--ecru); }
  .marque-card:nth-child(2n) { border-right:none; }
  .offres-grid-3 { grid-template-columns:1fr 1fr !important; }
}
@media (max-width:900px) {
  #nav { padding:1.2rem 1.5rem; }
  .nav-menu { display:none; }
  .nav-burger { display:flex; }
  .two-col { grid-template-columns:1fr; }
  .col-side { display:none; }
  .col-main { padding:4rem 1.5rem; }
  .hero { padding-left:1.5rem; padding-right:1.5rem; }
  .hero-vline { display:none; }
  .page-hero { padding:100px 1.5rem 3.5rem; }
  .concept-grid { grid-template-columns:1fr; }
  .profiles-grid { grid-template-columns:1fr; }
  .profile-card { border-right:none; }
  .fondatrice-wrap { grid-template-columns:1fr; }
  .fondatrice-content { padding:4rem 1.5rem; }
  .cas-card { grid-template-columns:70px 1fr; padding:2.5rem 1.5rem; }
  .boutique-grid { grid-template-columns:1fr; }
  .produit-card { border-right:none; }
  .plume-grid { grid-template-columns:1fr; }
  .article-card:nth-child(2n) { border-right:none; }
  .contact-layout { grid-template-columns:1fr; }
  .contact-right { border-left:none; border-top:1px solid var(--ecru); padding:4rem 1.5rem; }
  .contact-left { padding:4rem 1.5rem; }
  .nl-section { flex-direction:column; padding:4rem 1.5rem; }
  .nl-form { min-width:100%; }
  .site-footer { grid-template-columns:1fr; padding:3rem 1.5rem; }
  .footer-bottom { padding:1.2rem 1.5rem; }
  .marques-grid { grid-template-columns:1fr; }
  .marque-card { border-right:none; }
  .galerie-grid { grid-template-columns:1fr 1fr; }
  .galerie-item:first-child { grid-column:span 2; aspect-ratio:16/9; }
  .profiles-section { padding:4rem 1.5rem; }
  .offre-section-header { padding:2.5rem 1.5rem 1.5rem; }
  .offres-grid-3 { grid-template-columns:1fr !important; }
  .offres-grid-2 { grid-template-columns:1fr !important; }
}
@media (max-width:600px) {
  .galerie-grid { grid-template-columns:1fr; }
  .galerie-item:first-child { grid-column:span 1; }
  .section-img { aspect-ratio:16/9; }
}

/* ═══════════════════════════════════════════════════
   AUTREMENT AI — Interface Chat
═══════════════════════════════════════════════════ */
.aut-msg { display:flex; margin-bottom:.5rem; }
.aut-msg-ai   { justify-content:flex-start; }
.aut-msg-user { justify-content:flex-end; }
.aut-msg-bubble {
  max-width:72%;
  padding:1rem 1.4rem;
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.78;
}
.aut-msg-bubble-ai {
  background:var(--blanc);
  border:1px solid var(--ecru);
  color:var(--nuit);
  border-left:2px solid var(--ecru);
}
.aut-msg-bubble-ai p { margin-bottom:.8rem; }
.aut-msg-bubble-ai p:last-child { margin-bottom:0; }
.aut-msg-bubble-user {
  background:var(--nuit);
  color:var(--blanc);
}
.aut-typing {
  display:inline-flex;
  gap:4px;
  align-items:center;
  padding:.5rem 0;
}
.aut-typing span {
  width:6px; height:6px;
  background:var(--ecru);
  border-radius:50%;
  animation:autTyping 1.2s infinite;
}
.aut-typing span:nth-child(2) { animation-delay:.2s; }
.aut-typing span:nth-child(3) { animation-delay:.4s; }
@keyframes autTyping {
  0%,60%,100% { opacity:.2; transform:translateY(0); }
  30%          { opacity:1;  transform:translateY(-4px); }
}

/* ─── COMMUNITY ─── */
.community-pricing {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  border-bottom:1px solid var(--ecru);
}

/* ─── CARROUSEL HOME ─── */
.autrement-carousel .splide__arrow {
  background:rgba(10,35,66,.6);
  border-radius:0;
  border:1px solid var(--ecru);
  width:44px; height:44px;
}
.autrement-carousel .splide__arrow svg { fill:var(--ecru); }
.autrement-carousel .splide__arrow:hover { background:var(--ecru); }
.autrement-carousel .splide__arrow:hover svg { fill:var(--nuit); }
.autrement-carousel .splide__pagination { bottom:1.2rem; }
.autrement-carousel .splide__pagination__page {
  background:rgba(230,213,184,.35);
  border-radius:0;
  width:22px; height:2px;
  transition:background .3s;
  margin:0 3px;
}
.autrement-carousel .splide__pagination__page.is-active {
  background:var(--ecru);
  transform:none;
}

/* ─── RESPONSIVE AI + COMMUNITY ─── */
@media(max-width:900px) {
  .aut-msg-bubble { max-width:90%; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE COMPLET — MOBILE (< 480px) + TABLETTE (481–900px)
   Couvre : toutes les pages, dashboard, community, offres, marques
═══════════════════════════════════════════════════ */

/* ─── BASE MOBILE UNIVERSELLE ─── */
@media (max-width:900px) {

  /* Cursor — désactivé sur tactile */
  .cursor, .cursor-ring { display:none !important; }
  body { cursor:auto; }

  /* Hero */
  .hero { padding:0 1.2rem 4rem; min-height:92vh; }
  .hero-title { font-size:clamp(2rem,8vw,3.5rem) !important; }
  .hero-sig { font-size:.48rem; }
  .hero-scroll { display:none; }
  .hero-counter { display:none; }

  /* Page hero */
  .page-hero { padding:100px 1.2rem 3rem; min-height:auto; }
  .page-hero-title { font-size:clamp(1.8rem,7vw,3.2rem) !important; }
  .page-hero-vline { left:1.2rem; }
  .page-hero-intro { font-size:1rem; }

  /* Nav */
  #nav { padding:1rem 1.2rem; }
  .nav-logo span { display:none; }

  /* Anchor strip — scroll horizontal */
  .anchor-strip { gap:0; padding:0; white-space:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .anchor-strip a { padding:.9rem 1.2rem; font-size:.5rem; }

  /* Sections padding */
  section, .db-section { padding-left:1.2rem !important; padding-right:1.2rem !important; }
  .sec-title { font-size:clamp(1.5rem,5.5vw,2.4rem) !important; }

  /* Grilles 2-col → 1-col */
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns:1fr 280px"],
  div[style*="grid-template-columns:1fr 300px"],
  div[style*="grid-template-columns:1fr 260px"],
  div[style*="grid-template-columns:380px 1fr"],
  div[style*="grid-template-columns:300px 1fr"],
  section[style*="grid-template-columns:1fr 1fr"],
  section[style*="grid-template-columns:1fr 280px"] {
    display:block !important;
  }
  div[style*="grid-template-columns:1fr 1fr"] > div,
  section[style*="grid-template-columns:1fr 1fr"] > div {
    border-right:none !important;
    border-bottom:1px solid var(--ecru);
    padding:3rem 1.2rem !important;
  }
  div[style*="padding-left:4rem"],
  div[style*="padding-left:2.5rem"],
  div[style*="border-left:1px solid var(--ecru);padding-left"] {
    padding-left:0 !important;
    border-left:none !important;
    border-top:1px solid var(--ecru);
    padding-top:2rem !important;
    margin-top:1.5rem;
  }

  /* Grilles 3-4 col → 1 col */
  div[style*="grid-template-columns:repeat(3"],
  div[style*="grid-template-columns:repeat(4"],
  .concept-grid,
  .profiles-grid,
  .members-grid {
    display:block !important;
  }
  div[style*="grid-template-columns:repeat(3"] > div,
  div[style*="grid-template-columns:repeat(4"] > div {
    border-right:none !important;
    border-bottom:1px solid var(--ecru);
  }

  /* Fondatrice */
  .fondatrice-wrap { display:block !important; }
  .fondatrice-visual { border-right:none !important; min-height:320px; }
  .fondatrice-visual img { aspect-ratio:3/2 !important; object-position:center !important; }
  .fondatrice-content { padding:3rem 1.2rem !important; }

  /* Boutique */
  .boutique-grid { grid-template-columns:1fr !important; }
  .produit-card { border-right:none !important; }

  /* Blog */
  .plume-grid { grid-template-columns:1fr !important; }
  .article-card { border-right:none !important; }

  /* Marques */
  .marques-grid { grid-template-columns:1fr !important; }
  .marque-card { border-right:none !important; }

  /* Galerie */
  .galerie-grid { grid-template-columns:1fr 1fr !important; }
  .galerie-item.large, .galerie-item:first-child { grid-column:span 2 !important; aspect-ratio:16/9 !important; }

  /* Footer */
  .site-footer { grid-template-columns:1fr !important; padding:3rem 1.2rem !important; gap:2rem !important; }
  .footer-bottom { flex-direction:column; gap:.5rem; text-align:center; padding:1rem 1.2rem; }
  .nl-section { flex-direction:column !important; padding:3rem 1.2rem !important; gap:2rem !important; }
  .nl-form { min-width:100% !important; }

  /* Offres */
  .offres-grid-3, .offres-grid-2 { display:block !important; }
  .offres-grid-3 > div, .offres-grid-2 > div { border-right:none !important; border-bottom:1px solid var(--ecru) !important; }

  /* CTA offre sur mesure */
  div[style*="border-left:1px solid var(--ecru);padding-left:4rem"] {
    border-left:none !important;
    border-top:1px solid var(--ecru) !important;
    padding-left:0 !important;
    padding-top:2rem !important;
    margin-top:2rem;
  }

  /* Community modales */
  .com-box { padding:2rem 1.5rem !important; }

  /* Dashboard */
  .db-wrap { display:block !important; padding-top:70px; }
  .db-nav {
    position:static !important;
    height:auto !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    padding:.8rem !important;
    gap:.3rem !important;
    scrollbar-width:none;
  }
  .db-nav::-webkit-scrollbar { display:none; }
  .db-nav-logo { display:none; }
  .db-nav a {
    padding:.5rem .9rem !important;
    border-left:none !important;
    border-bottom:2px solid transparent !important;
    font-size:.48rem !important;
    white-space:nowrap;
    flex-shrink:0;
  }
  .db-nav a.active { border-bottom-color:var(--ecru) !important; }
  .db-header { padding:1.2rem 1.2rem !important; flex-wrap:wrap; gap:.5rem; }
  .db-section { padding:1.5rem 1.2rem !important; }
  .msg-layout { display:block !important; }
  .msg-list {
    border-right:none !important;
    border-bottom:1px solid var(--ecru) !important;
    display:flex !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .msg-list-item { flex-shrink:0; }
  .msg-bubbles { min-height:260px !important; max-height:260px !important; }
  .members-grid { grid-template-columns:1fr 1fr !important; }

  /* Quotes, séparateurs */
  .quote { padding:1.2rem 1.5rem; }
  .quote blockquote { font-size:clamp(1.2rem,4vw,1.6rem); }

  /* Images section */
  .section-img { aspect-ratio:16/9; }
  div[style*="aspect-ratio:21/9"] { aspect-ratio:16/9 !important; }
  div[style*="max-height:580px"], div[style*="max-height:640px"], div[style*="max-height:620px"] { max-height:260px !important; }
  div[style*="max-height:580px"] img, div[style*="max-height:640px"] img { height:260px !important; }

  /* Iframe AI */
  iframe[title="AUTREMENT AI"] { height:480px !important; }

  /* Articles cas */
  .cas-card { grid-template-columns:60px 1fr !important; padding:2rem 1.2rem !important; }
  .cas-content > div[style*="grid-template-columns:repeat(3"] { display:block !important; }
  .cas-content > div[style*="grid-template-columns:repeat(3"] > div { border-right:none; border-bottom:1px solid var(--ecru-dim); padding:.8rem 0; }

  /* Expertises carrousel */
  .autrement-carousel .splide__arrow { width:34px; height:34px; }
}

/* ─── PETIT MOBILE < 480px ─── */
@media (max-width:480px) {
  .page-hero-title { font-size:clamp(1.6rem,6.5vw,2.4rem) !important; }
  .hero-title { font-size:clamp(1.8rem,7.5vw,2.8rem) !important; }
  .sec-title { font-size:clamp(1.4rem,5.5vw,2rem) !important; }

  section, .db-section { padding-left:.9rem !important; padding-right:.9rem !important; }
  #nav { padding:.8rem .9rem; }

  .members-grid { grid-template-columns:1fr !important; }
  .galerie-grid { grid-template-columns:1fr !important; }
  .galerie-item.large, .galerie-item:first-child { grid-column:span 1 !important; }

  .feed-actions { flex-direction:column; align-items:flex-start; }
  .profile-form { gap:1.2rem; }

  .offre-num { font-size:2rem; }
  .offre-titre { font-size:1.3rem; }

  iframe[title="AUTREMENT AI"] { height:420px !important; }

  .com-box { padding:1.8rem 1.2rem !important; }
  .nav-mobile ul li a { font-size:1.5rem; }

  .cas-card { grid-template-columns:1fr !important; }
  .cas-num { display:none; }

  .marque-visuel { aspect-ratio:16/9 !important; }
  .marque-nom { font-size:1.3rem; }

  .boutique-grid .produit-maquette { aspect-ratio:4/3; }

  .footer-socials { gap:1rem; }

  div[style*="grid-template-columns:repeat(4"] > div,
  div[style*="grid-template-columns:repeat(3"] > div {
    padding:1.5rem .9rem !important;
  }
}

/* ─── TABLETTE 481-1024px ─── */
@media (min-width:481px) and (max-width:1024px) {
  .hero { padding:0 2rem 5rem; }
  .page-hero { padding:110px 2rem 4rem; }
  .page-hero-vline { left:2rem; }

  section { padding-left:2rem !important; padding-right:2rem !important; }

  /* Grilles 4-col → 2-col */
  div[style*="grid-template-columns:repeat(4"] {
    grid-template-columns:repeat(2,1fr) !important;
    display:grid !important;
  }
  div[style*="grid-template-columns:repeat(4"] > div:nth-child(2n) { border-right:none !important; }
  div[style*="grid-template-columns:repeat(4"] > div:nth-child(n+3) { border-top:1px solid var(--ecru); }

  /* Grilles 3-col → 2-col (sauf offres) */
  .profiles-grid { grid-template-columns:1fr 1fr !important; display:grid !important; }
  .profile-card:nth-child(2n) { border-right:none !important; }
  .concept-grid { grid-template-columns:1fr 1fr !important; display:grid !important; }

  /* Boutique 2 col */
  .boutique-grid { grid-template-columns:1fr 1fr !important; }
  .produit-card:nth-child(2n) { border-right:none !important; }

  /* Blog 2 col → OK par défaut */

  /* Marques 2 col */
  .marques-grid { grid-template-columns:1fr 1fr !important; }
  .marque-card:nth-child(2n) { border-right:none !important; }
  .marque-card:nth-child(3n) { border-right:1px solid var(--ecru) !important; }

  /* Dashboard */
  .db-nav { padding:1rem !important; }
  .db-nav a { font-size:.52rem !important; padding:.6rem 1rem !important; }
  .members-grid { grid-template-columns:1fr 1fr 1fr !important; }

  /* Footer 2 col */
  .site-footer { grid-template-columns:1fr 1fr !important; }

  /* Fondatrice */
  .fondatrice-wrap { grid-template-columns:280px 1fr !important; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE GLOBAL — MOBILE & TABLETTE
   Breakpoints : 1024px (tablette) · 768px · 480px (mobile)
═══════════════════════════════════════════════════ */

/* ─── TABLETTE ─── */
@media (max-width:1024px) {

  /* Navigation */
  #nav { padding:1.2rem 2rem; }
  .nav-menu { gap:1.5rem; }
  .nav-menu a { font-size:.6rem; }

  /* Hero */
  .hero { padding:0 2rem 4rem; }
  .hero-title { font-size:clamp(2.4rem,6vw,4rem); }

  /* Page hero */
  .page-hero { padding:120px 2rem 3.5rem; }
  .page-hero-title { font-size:clamp(2rem,5vw,3.5rem); }

  /* Layouts 2 colonnes */
  .two-col { grid-template-columns:1fr; }
  .col-side { display:none; }
  .col-main { padding:4rem 2rem; }

  /* Anchor strip */
  .anchor-strip a { padding:1rem 1.5rem; font-size:.5rem; }

  /* Sections padding */
  section[style*="padding:7rem 3.5rem"],
  section[style*="padding:6rem 3.5rem"],
  section[style*="padding:5rem 3.5rem"] {
    padding-left:2rem !important;
    padding-right:2rem !important;
  }

  /* Grilles 4 colonnes → 2 */
  div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns:repeat(2,1fr) !important;
  }
  div[style*="grid-template-columns:repeat(4,1fr)"] > div:nth-child(2n) {
    border-right:none !important;
  }
  div[style*="grid-template-columns:repeat(4,1fr)"] > div {
    border-bottom:1px solid var(--ecru);
  }

  /* Offres */
  .offres-grid-3 { grid-template-columns:1fr !important; }
  .offres-grid-2 { grid-template-columns:1fr !important; }

  /* Boutique */
  .boutique-grid { grid-template-columns:1fr 1fr !important; }

  /* Cas */
  .cas-card { grid-template-columns:80px 1fr; padding:2.5rem 2rem; }

  /* Footer */
  .site-footer { grid-template-columns:1fr 1fr; padding:3rem 2rem; }
  .nl-section { flex-direction:column; padding:4rem 2rem; }
  .nl-form { min-width:100%; }
  .footer-bottom { padding:1.2rem 2rem; flex-direction:column; gap:.5rem; text-align:center; }

  /* Fondatrice */
  .fondatrice-wrap { grid-template-columns:1fr; }
  .fondatrice-content { padding:3.5rem 2rem; }

  /* Marques */
  .marques-grid { grid-template-columns:1fr 1fr !important; }
  .marque-card:nth-child(2n) { border-right:none; }

  /* Dashboard */
  .db-wrap { grid-template-columns:1fr; }
  .db-nav {
    position:static; height:auto;
    flex-direction:row; flex-wrap:nowrap;
    overflow-x:auto; gap:0;
    padding:.5rem 0;
  }
  .db-nav a { padding:.7rem 1.2rem; border-left:none; border-bottom:2px solid transparent; white-space:nowrap; font-size:.5rem; }
  .db-nav .db-nav-logo { display:none; }
  .db-section { padding:1.5rem; }
  .db-header { padding:1.5rem; }
  .members-grid { grid-template-columns:1fr 1fr; }
  .msg-layout { grid-template-columns:1fr; }
  .msg-list { display:flex; overflow-x:auto; border-right:none; border-bottom:1px solid var(--ecru); }
  .msg-list-item { flex-shrink:0; min-width:140px; }
}

/* ─── MOBILE ─── */
@media (max-width:768px) {

  /* Navigation */
  .nav-menu { display:none; }
  .nav-burger { display:flex; }
  #nav { padding:1rem 1.5rem; }

  /* Hero */
  .hero { padding:0 1.5rem 3.5rem; min-height:100svh; }
  .hero-vline, .hero-vline.r { display:none; }
  .hero-title { font-size:clamp(2rem,9vw,3.2rem); }
  .hero-eyebrow { font-size:.58rem; letter-spacing:.3em; }
  .hero-sig { font-size:.5rem; }
  .hero-counter { display:none; }
  .hero-scroll { display:none; }

  /* Page hero */
  .page-hero { padding:100px 1.5rem 3rem; min-height:auto; }
  .page-hero-vline { display:none; }
  .page-hero-title { font-size:clamp(1.8rem,8vw,2.8rem); }
  .page-hero-intro { font-size:.98rem; }

  /* Sections */
  section[style*="padding:7rem"],
  section[style*="padding:6rem"],
  section[style*="padding:5rem"] {
    padding:3.5rem 1.5rem !important;
  }
  div[style*="padding:6rem 3.5rem"],
  div[style*="padding:7rem 3.5rem"],
  div[style*="padding:5rem 3.5rem"] {
    padding:3rem 1.5rem !important;
  }
  div[style*="padding:3rem 2.5rem"],
  div[style*="padding:2.8rem 2.5rem"],
  div[style*="padding:3.2rem 2.6rem"] {
    padding:2rem 1.5rem !important;
  }

  /* Grilles 2 → 1 colonne */
  div[style*="grid-template-columns:1fr 1fr"],
  section[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns:repeat(3,1fr)"],
  section[style*="grid-template-columns:repeat(3,1fr)"],
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns:2fr 1fr 1fr"],
  div[style*="grid-template-columns:1fr 300px"],
  div[style*="grid-template-columns:1fr 280px"],
  section[style*="grid-template-columns:1fr 300px"] {
    display:block !important;
  }
  div[style*="grid-template-columns:1fr 1fr"] > div,
  section[style*="grid-template-columns:1fr 1fr"] > div,
  div[style*="grid-template-columns:repeat(3,1fr)"] > div {
    border-right:none !important;
    border-bottom:1px solid var(--ecru);
  }

  /* Sidebar contact → cachée */
  div[style*="border-left:1px solid var(--ecru);padding-left"] {
    border-left:none !important;
    border-top:1px solid var(--ecru);
    padding-left:0 !important;
    padding-top:2rem !important;
    margin-top:2rem;
  }

  /* Typography responsive */
  .sec-title { font-size:clamp(1.6rem,6vw,2.4rem); }
  .hero-title em, .page-hero-title em, .sec-title em { font-size:inherit; }

  /* Newsletter */
  .nl-section { padding:3rem 1.5rem; }
  .nl-form { flex-direction:column; }
  .nl-form input { border-right:1px solid rgba(230,213,184,.28) !important; margin-bottom:.5rem; }
  .nl-form button { width:100%; }

  /* Footer */
  .site-footer { grid-template-columns:1fr; padding:2.5rem 1.5rem; gap:2.5rem; }
  .footer-nav { display:flex; flex-wrap:wrap; gap:.5rem; }
  .footer-nav li { flex:0 0 auto; }

  /* Boutique */
  .boutique-grid { grid-template-columns:1fr !important; }
  .produit-card { border-right:none; }

  /* Plume */
  .plume-grid { grid-template-columns:1fr; }
  .article-card:nth-child(2n) { border-right:none; }

  /* Profils */
  .profiles-grid { grid-template-columns:1fr; }
  .profile-card { border-right:none !important; }

  /* Concepts */
  .concept-grid { grid-template-columns:1fr !important; }
  .concept-card { border:none; border-bottom:1px solid var(--ecru); }

  /* Marques */
  .marques-grid { grid-template-columns:1fr !important; }
  .marque-card { border-right:none; }

  /* Offres grille */
  div[style*="grid-template-columns:repeat(3,1fr)"] > div {
    border-right:none !important;
    border-bottom:1px solid var(--ecru);
  }

  /* Cas études */
  .cas-card { grid-template-columns:1fr; gap:1rem; padding:2rem 1.5rem; }
  .cas-num { font-size:2.2rem; }
  div[style*="grid-template-columns:repeat(3,1fr);gap:2.5rem"] {
    grid-template-columns:1fr !important;
  }

  /* Dashboard */
  .db-section { padding:1.5rem 1rem; }
  .members-grid { grid-template-columns:1fr; }
  .feed-compose { padding:1.2rem; }
  .msg-bubbles { min-height:250px; max-height:280px; }

  /* Contact */
  section[style*="display:grid;grid-template-columns:1fr 1fr"] { display:block !important; }

  /* Anchor strip */
  .anchor-strip { display:none; }

  /* AI page sidebar → cachée */
  section[style*="grid-template-columns:280px"],
  section[style*="grid-template-columns:260px"] { display:block !important; }
  section[style*="grid-template-columns:280px"] > div:first-child,
  section[style*="grid-template-columns:260px"] > div:first-child { display:none !important; }
  iframe { height:520px !important; }

  /* Single article */
  div[style*="grid-template-columns:1fr 260px"] { display:block !important; }
  div[style*="grid-template-columns:1fr 260px"] > div:last-child { display:none; }

  /* Fondatrice */
  .fondatrice-wrap { display:block !important; }
  .fondatrice-visual { min-height:300px; }
  .fondatrice-doctrine { font-size:1.3rem; }
}

/* ─── MOBILE XS ─── */
@media (max-width:480px) {

  .page-hero-title { font-size:clamp(1.6rem,8.5vw,2.2rem); }
  .hero-title { font-size:clamp(1.8rem,9vw,2.6rem); }
  .sec-title { font-size:1.55rem; }

  .db-nav a { font-size:.46rem; letter-spacing:.12em; padding:.6rem .9rem; }
  .db-header h1 { font-size:1.3rem; }

  .com-box { padding:2rem 1.5rem; }
  .com-cta-bar { padding:1.5rem; }

  .nl-section h3 { font-size:1.4rem; }
  .footer-bottom p { font-size:.42rem; }

  /* Hero fond sur mobile — hauteur viewport correcte */
  .hero { height:100svh; min-height:500px; }
}

/* ─── TABLETTE PORTRAIT ─── */
@media (min-width:769px) and (max-width:1024px) {

  .two-col { grid-template-columns:1fr !important; }

  /* Garder la sidebar dans certains cas */
  .fondatrice-wrap {
    grid-template-columns:280px 1fr !important;
  }
  .fondatrice-content { padding:4rem 3rem; }

  /* 3 colonnes → 2 */
  .profiles-grid { grid-template-columns:1fr 1fr !important; }
  .profile-card:nth-child(2n) { border-right:none !important; }

  /* 4 colonnes → 2 */
  div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns:repeat(2,1fr) !important;
  }
}

/* ─── TOUCH — supprimer curseur custom ─── */
@media (hover:none) and (pointer:coarse) {
  .cursor, .cursor-ring { display:none !important; }
  * { cursor:auto !important; }
  a, button, input, textarea, label, select { cursor:pointer !important; }
}

/* ─── PRINT ─── */
@media print {
  #nav, .nav-mobile, .cursor, .cursor-ring, .hero-scroll,
  .anchor-strip, .nl-section, .site-footer, .footer-bottom { display:none !important; }
  .page-hero { padding-top:2rem; }
}
