/* ============================================================
   UNIVERS DE MINA — feuille de style partagée
   Thème sombre chaleureux :
     fond brun-espresso profond, sections terre cuite,
     textes crème et accents or.
   Typo : Fraunces (display) + Literata (lecture) + Inter (utilitaire)
   Signature : motif "orbite" — un anneau et des points en écho au
   titre "Univers" et aux 4 mots de la promesse (Grandir, Accomplir,
   Réaliser, Aimer).
   ============================================================ */

:root{
  /* --- Surfaces, du plus sombre au plus clair --- */
  --bg:          #1B1006;   /* fond dominant du site */
  --bg-deep:     #140B03;   /* pied de page */
  --surface:     #26170A;   /* cartes, encadrés */
  --surface-2:   #33200E;   /* sections alternées */
  --terracotta:  #7A3A1C;   /* accent chaud */
  --terracotta-d:#5B2616;   /* bandeaux d'accent */

  /* --- Textes --- */
  --text:        #F6EADA;
  --text-soft:   #D9C2A2;
  --text-dim:    #AC9271;

  /* --- Accents --- */
  --gold:        #D9A441;
  --gold-soft:   #EBCB86;
  --gold-deep:   #A9762A;
  --corail:      #E08A4E;

  /* --- Alias hérités (ancienne nomenclature du site) --- */
  --paper:       #F6EADA;   /* = --text : la couleur claire */
  --paper-dim:   #33200E;
  --ink:         #1B1006;
  --ink-soft:    #D9C2A2;
  --aubergine:   #7A3A1C;
  --aubergine-2: #5B2616;

  --display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --body: "Literata", Georgia, serif;
  --ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --max: 1180px;
  --radius: 2px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; background: var(--bg); }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}

body{
  margin:0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; text-decoration:none; }

.wrap{ max-width: var(--max); margin: 0 auto; padding: 0 32px; }
@media (max-width: 640px){ .wrap{ padding: 0 20px; } }

h1,h2,h3,h4{
  font-family: var(--display);
  font-weight: 600;
  color: var(--text);
  line-height: 1.12;
  margin: 0 0 0.5em;
  letter-spacing: -0.01em;
}
h1{ font-size: clamp(2.4rem, 5vw, 4.1rem); font-weight: 500; }
h2{ font-size: clamp(1.7rem, 3.2vw, 2.5rem); }
h3{ font-size: 1.25rem; font-style: italic; font-weight: 500; }
p{ margin: 0 0 1.1em; color: var(--text-soft); }
strong{ color: var(--text); }

.eyebrow{
  display:flex; align-items:center; gap:10px;
  font-family: var(--ui); font-size: 0.72rem; font-weight:600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 18px;
}
.eyebrow::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background: var(--gold); box-shadow: 0 0 0 3px rgba(217,164,65,0.2);
  flex-shrink:0;
}

/* ---------- Buttons ---------- */
.btn{
  font-family: var(--ui); font-weight:600; font-size:0.86rem;
  letter-spacing: 0.03em;
  display:inline-flex; align-items:center; gap:10px;
  padding: 14px 28px; border-radius: var(--radius);
  border: 1px solid transparent;
  cursor:pointer; transition: all .25s var(--ease);
}
.btn-primary{ background: var(--gold); color: var(--bg); }
.btn-primary:hover{ background: var(--gold-soft); color: var(--bg); transform: translateY(-2px); }
.btn-ghost{ border-color: rgba(246,234,218,0.3); color: var(--text); }
.btn-ghost:hover{ border-color: var(--gold); color: var(--gold-soft); background: rgba(217,164,65,0.1); }
.btn-on-dark{ border-color: rgba(246,234,218,0.4); color: var(--text); }
.btn-on-dark:hover{ background: var(--gold); border-color: var(--gold); color: var(--bg); }

/* ---------- Orbit signature ---------- */
.orbit-divider{
  display:flex; align-items:center; justify-content:center;
  margin: 8px 0 56px;
}
.orbit-divider svg{ width: 220px; height: 22px; }

/* ---------- Header / Nav ---------- */
header.site{
  position: sticky; top:0; z-index: 50;
  background: rgba(27,16,6,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(217,164,65,0.2);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px 0;
}
.brand{
  display:flex; align-items:center; gap:12px;
  font-family: var(--display); font-size:1.15rem; color: var(--text); font-weight:600;
}
.brand .mark{
  width:38px; height:38px; border-radius:50%;
  border: 1px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  position:relative; flex-shrink:0;
}
.brand .mark::after{
  content:""; position:absolute; inset:-6px;
  border: 1px dashed rgba(217,164,65,0.5); border-radius:50%;
  animation: spin 26s linear infinite;
}
.brand .mark span{ font-family: var(--display); font-size:0.95rem; color: var(--gold); }
@keyframes spin{ to{ transform: rotate(360deg); } }

nav.links{ display:flex; align-items:center; gap:34px; }
nav.links a{
  font-family: var(--ui); font-size:0.82rem; font-weight:600;
  letter-spacing:0.08em; color: var(--text-soft);
  padding: 6px 0; position:relative; transition: color .2s;
}
nav.links a:hover{ color: var(--gold-soft); }
nav.links a.current{ color: var(--gold); }
nav.links a.current::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px;
  height:5px; width:5px; margin:0 auto; border-radius:50%; background: var(--gold);
}
.socials-mini{ display:flex; gap:14px; margin-left:8px; }
.socials-mini a{
  width:30px; height:30px; border-radius:50%; border:1px solid rgba(246,234,218,0.25);
  display:flex; align-items:center; justify-content:center; color: var(--text);
  transition: all .2s;
}
.socials-mini a:hover{ background: var(--gold); color: var(--bg); border-color: var(--gold); }
.socials-mini svg{ width:14px; height:14px; }

.nav-toggle{
  display:none; background:none; border:none; cursor:pointer;
  flex-direction:column; gap:5px; padding:8px;
}
.nav-toggle span{ width:22px; height:2px; background: var(--text); }

@media (max-width: 860px){
  .nav-toggle{ display:flex; }
  nav.links{
    position:fixed; inset: 68px 0 0 0; background: var(--surface);
    flex-direction:column; align-items:flex-start; gap:0;
    padding: 20px 24px; transform: translateX(100%);
    transition: transform .35s var(--ease); overflow-y:auto;
  }
  nav.links.open{ transform: translateX(0); }
  nav.links a{ width:100%; padding: 16px 0; border-bottom:1px solid rgba(246,234,218,0.1); font-size:0.95rem; }
  .socials-mini{ margin: 18px 0 0; }
}

/* ---------- Hero ---------- */
.hero{
  padding: 88px 0 70px;
  background:
    radial-gradient(ellipse 700px 420px at 82% -10%, rgba(217,164,65,0.2), transparent 62%),
    radial-gradient(ellipse 620px 460px at 8% 108%, rgba(122,58,28,0.35), transparent 65%),
    var(--bg);
  overflow: hidden;
}
.hero-grid{
  display:grid; grid-template-columns: 1.15fr 0.85fr; gap: 60px; align-items:center;
}
@media (max-width: 900px){ .hero-grid{ grid-template-columns: 1fr; gap:44px; } }

.hero h1{ font-style:italic; }
.hero h1 em{ color: var(--gold); font-style: normal; font-family: var(--display); }
.hero p.lead{ font-size:1.08rem; max-width: 46ch; }
.hero-cta{ display:flex; gap:16px; flex-wrap:wrap; margin-top: 28px; }

.portrait-orbit{ position:relative; max-width:380px; margin: 0 auto; }
.portrait-orbit .ring{
  position:absolute; inset: -22px; border-radius:50%;
  border: 1px dashed rgba(217,164,65,0.55);
  animation: spin 40s linear infinite;
}
.portrait-orbit .ring::before,
.portrait-orbit .ring::after,
.portrait-orbit .dot3,
.portrait-orbit .dot4{
  content:""; position:absolute; width:9px; height:9px; border-radius:50%; background: var(--gold);
  box-shadow: 0 0 0 4px var(--bg);
}
.portrait-orbit .ring::before{ top:-4px; left: 50%; margin-left:-4px; }
.portrait-orbit .ring::after{ bottom:-4px; left:20%; }
.portrait-orbit .dot3{ top: 30%; right:-4px; background: var(--corail); }
.portrait-orbit .dot4{ bottom: 22%; left:-4px; background: var(--terracotta); }
.portrait-orbit img{ border-radius:50%; aspect-ratio:1/1; object-fit:cover; border: 6px solid var(--surface-2); box-shadow: 0 30px 60px -20px rgba(0,0,0,0.6); }
.portrait-caption{ text-align:center; margin-top:22px; font-family: var(--ui); font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color: var(--text-dim); }

/* ---------- Sections generic ---------- */
section{ padding: 84px 0; }
.section-head{ max-width: 640px; margin: 0 0 44px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head.center .eyebrow{ justify-content:center; }

/* Section d'accent terre cuite */
.dark{ background: var(--terracotta-d); color: var(--text); }
.dark h2, .dark h3{ color: var(--text); }
.dark p{ color: rgba(246,234,218,0.82); }
.dark .eyebrow{ color: var(--gold-soft); }
.dark .eyebrow::before{ background: var(--gold-soft); box-shadow: 0 0 0 3px rgba(235,203,134,0.2); }

/* Section alternée légèrement plus claire que le fond */
.soft{ background: var(--surface-2); }

/* ---------- Testimonials ---------- */
.testi-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 26px;
}
@media (max-width: 900px){ .testi-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px){ .testi-grid{ grid-template-columns: 1fr; } }
.testi-card{
  background: var(--surface); border: 1px solid rgba(217,164,65,0.18);
  border-radius: var(--radius); padding: 28px; position:relative;
}
.testi-card .quote-mark{ font-family: var(--display); font-size:2.6rem; color: var(--gold); line-height:0.5; display:block; margin-bottom: 14px; }
.testi-card p{ font-style: italic; color: var(--text); margin-bottom: 18px; font-size:0.98rem; }
.testi-who{ display:flex; align-items:center; gap:12px; }
.testi-who img{ width:42px; height:42px; border-radius:50%; object-fit:cover; }
.testi-who .name{ font-family: var(--ui); font-weight:600; font-size:0.86rem; color: var(--gold-soft); }
.testi-who .place{ font-family: var(--ui); font-size:0.76rem; color: var(--text-dim); }

/* ---------- Bio ---------- */
.bio-grid{ display:grid; grid-template-columns: 0.8fr 1.2fr; gap:56px; align-items:center; }
@media (max-width: 860px){ .bio-grid{ grid-template-columns:1fr; } }
.bio-photo{ position:relative; }
.bio-photo img{ border-radius: var(--radius); box-shadow: 0 30px 60px -30px rgba(0,0,0,0.7); }
.bio-stats{ display:grid; grid-template-columns: repeat(4,1fr); gap:18px; margin-top:36px; }
@media (max-width:620px){ .bio-stats{ grid-template-columns: 1fr 1fr; } }
.stat{ border-top:1px solid rgba(217,164,65,0.3); padding-top:14px; }
.stat .num{ font-family: var(--display); font-size:2rem; color: var(--gold); display:block; }
.stat .label{ font-family: var(--ui); font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color: var(--text-dim); }

/* ---------- Best seller spotlight ---------- */
.spotlight{
  display:grid; grid-template-columns: 0.55fr 1fr; gap: 54px; align-items:center;
}
@media (max-width: 860px){ .spotlight{ grid-template-columns:1fr; } }
.spotlight-cover{ position:relative; }
.spotlight-cover img{ border-radius: var(--radius); box-shadow: 0 40px 70px -30px rgba(0,0,0,0.7); }
.badge-best{
  position:absolute; top:-14px; left:-14px;
  background: var(--gold); color: var(--bg);
  font-family: var(--ui); font-size:0.68rem; font-weight:700; letter-spacing:0.08em;
  padding: 8px 14px; border-radius: 30px; text-transform:uppercase;
}
.spotlight-countries{ display:flex; gap:10px; margin: 18px 0 26px; flex-wrap:wrap; }
.chip{
  font-family: var(--ui); font-size:0.74rem; padding:6px 14px; border-radius:30px;
  border:1px solid rgba(246,234,218,0.35); color: var(--text);
}

/* ---------- Book grid (preview + full) ---------- */
.book-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
@media (max-width: 980px){ .book-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .book-grid{ grid-template-columns: 1fr; } }
.book-card{ display:block; }
.book-card .cover{ overflow:hidden; border-radius: var(--radius); margin-bottom:14px; background: var(--surface);
  aspect-ratio: 2 / 3; }
/* hauteur uniforme : les couvertures n'ont pas toutes les mêmes proportions */
.book-card .cover img{ width:100%; height:100%; object-fit: cover; object-position: center; }
.book-card .cover img{ transition: transform .5s var(--ease); }
.book-card:hover .cover img{ transform: scale(1.05); }
.book-card .cover a{ display:block; }
.book-title{ font-family: var(--display); font-style:italic; font-size:1rem; color: var(--text); margin-bottom:4px; transition: color .2s; }
.book-card:hover .book-title{ color: var(--gold-soft); }

/* ---------- Full book entries (mes-livres.html) ---------- */
.book-entry{
  display:grid; grid-template-columns: 0.42fr 1fr; gap: 46px; align-items:start;
  padding: 54px 0; border-top: 1px solid rgba(217,164,65,0.18);
}
.book-entry:first-of-type{ border-top:none; }
@media (max-width: 780px){ .book-entry{ grid-template-columns:1fr; } }
.book-entry .cover img{ border-radius: var(--radius); box-shadow: 0 26px 50px -22px rgba(0,0,0,0.7); }
.buy-links{ display:flex; gap:12px; flex-wrap:wrap; margin-top: 22px; }
.buy-link{
  font-family: var(--ui); font-size:0.8rem; font-weight:600;
  padding: 11px 20px; border-radius: 30px; border:1px solid rgba(217,164,65,0.4);
  color: var(--text);
  display:inline-flex; align-items:center; gap:8px; transition: all .2s;
}
.buy-link:hover{ background: var(--gold); color: var(--bg); border-color: var(--gold); }
.buy-link:hover .dot{ background: var(--bg); }
.buy-link .dot{ width:6px; height:6px; border-radius:50%; background: var(--gold); transition: background .2s; }

.intro-note{
  background: var(--surface); border-left: 3px solid var(--gold);
  padding: 26px 30px; border-radius: var(--radius); margin-bottom: 60px;
}
.intro-note p{ margin:0; color: var(--text); }
.intro-note strong{ color: var(--gold-soft); }

/* ---------- Services (coming soon) ---------- */
.services-hero{ text-align:center; max-width: 680px; margin: 0 auto 60px; }
.service-list{ list-style:none; margin:0 auto; padding:0; max-width: 640px; display:grid; gap:2px; }
.service-list li{
  display:flex; align-items:center; gap:16px;
  background: var(--surface); padding: 20px 26px; border-radius: var(--radius);
  font-family: var(--ui); font-size:0.95rem; color: var(--text);
}
.service-list li::before{
  content:""; width:8px; height:8px; border-radius:50%; background: var(--gold); flex-shrink:0;
}
.signature-note{ text-align:center; margin-top: 50px; font-family: var(--display); font-style:italic; color: var(--gold-soft); font-size:1.2rem; }

/* ---------- CTA banner ---------- */
.cta-banner{
  text-align:center; padding: 70px 0; background: var(--terracotta-d); color: var(--text);
}
.cta-banner h2{ color: var(--text); }
.cta-banner .eyebrow{ color: var(--gold-soft); }
.cta-banner .eyebrow::before{ background: var(--gold-soft); box-shadow: 0 0 0 3px rgba(235,203,134,0.2); }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items:center; }
@media (max-width: 780px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-card{
  background: var(--surface); border:1px solid rgba(217,164,65,0.25);
  padding: 40px; border-radius: var(--radius); text-align:center;
}
.contact-card .mail{ font-family: var(--display); font-style:italic; font-size:1.3rem; color:var(--gold); }

/* ---------- Footer ---------- */
footer.site{ background: var(--bg-deep); color: var(--text-soft); padding: 64px 0 30px; border-top:1px solid rgba(217,164,65,0.15); }
.footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; margin-bottom: 46px; }
@media (max-width: 700px){ .footer-grid{ grid-template-columns:1fr; gap:30px; } }
footer.site h4{ color: var(--text); font-family: var(--ui); font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:18px; }
footer.site p{ color: rgba(246,234,218,0.6); font-size:0.92rem; }
footer.site ul{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
footer.site a{ color: rgba(246,234,218,0.78); font-size:0.92rem; transition: color .2s; }
footer.site a:hover{ color: var(--gold-soft); }
.footer-bottom{
  border-top: 1px solid rgba(246,234,218,0.12); padding-top: 26px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
  font-family: var(--ui); font-size:0.78rem; color: rgba(246,234,218,0.45);
}
.footer-socials{ display:flex; gap:12px; }
.footer-socials a{
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(246,234,218,0.25);
  display:flex; align-items:center; justify-content:center;
}
.footer-socials svg{ width:14px; height:14px; }
.footer-socials a:hover{ border-color: var(--gold-soft); color: var(--gold-soft); }

/* ---------- Breadcrumb ---------- */
.crumb{ font-family: var(--ui); font-size:0.8rem; color: var(--text-dim); padding: 26px 0 0; }
.crumb a{ color: var(--gold); font-weight:600; }
.crumb .sep{ margin: 0 8px; color: var(--gold-deep); }

.page-head{ padding: 40px 0 20px; }

/* ============================================================
   TIA RELAIS — page conciergerie (tia-relais.html)
   Charte : nuit chaude + or
   ============================================================ */
:root{
  --tia-night: #150C04;
  --tia-night-2: #26170A;
  --tia-gold: #D9A441;
  --tia-gold-light: #EBCB86;
}

.tia-night{ background: var(--tia-night); color: var(--text); }
.tia-night h1,.tia-night h2,.tia-night h3,.tia-night h4{ color: var(--text); }
.tia-night p{ color: rgba(246,234,218,0.78); }
.tia-night .eyebrow{ color: var(--tia-gold-light); }
.tia-night .eyebrow::before{ background: var(--tia-gold-light); box-shadow: 0 0 0 3px rgba(235,203,134,0.2); }

.tia-cream{ background: var(--surface-2); }

/* --- Hero --- */
.tia-hero{
  padding: 76px 0 64px; text-align:center;
  background:
    radial-gradient(ellipse 760px 420px at 50% -12%, rgba(217,164,65,0.26), transparent 62%),
    var(--tia-night);
  color: var(--text);
}
.tia-hero .tia-logo{ width: 128px; margin: 0 auto 26px; }
.tia-hero h1{ color: var(--text); font-style:normal; font-size: clamp(2.1rem, 4.6vw, 3.5rem); }
.tia-hero .tia-sub{
  font-family: var(--display); font-style:italic; font-size: clamp(1.05rem,2vw,1.4rem);
  color: var(--tia-gold-light); margin: 0 0 22px;
}
.tia-hero .tia-lead{ max-width: 62ch; margin: 0 auto 32px; color: rgba(246,234,218,0.8); }
.tia-hero .hero-cta{ justify-content:center; }
.tia-wordmark{
  font-family: var(--ui); font-weight:700; letter-spacing:0.42em;
  text-transform:uppercase; font-size:0.82rem; color: var(--tia-gold);
  margin-bottom: 10px;
}
.tia-place{
  font-family: var(--ui); font-size:0.74rem; letter-spacing:0.2em; text-transform:uppercase;
  color: rgba(246,234,218,0.55); margin-bottom: 30px;
}

.btn-tia{ background: var(--tia-gold); color: var(--tia-night); border-color: var(--tia-gold); }
.btn-tia:hover{ background: var(--tia-gold-light); border-color: var(--tia-gold-light); color: var(--tia-night); transform: translateY(-2px); }
.btn-tia-outline{ border-color: rgba(235,203,134,0.55); color: var(--tia-gold-light); }
.btn-tia-outline:hover{ background: rgba(235,203,134,0.14); border-color: var(--tia-gold-light); }

/* --- Bandeau réassurance --- */
.tia-trust{
  display:grid; grid-template-columns: repeat(3,1fr); gap:1px;
  background: rgba(217,164,65,0.3); border-top:1px solid rgba(217,164,65,0.3);
}
@media (max-width:700px){ .tia-trust{ grid-template-columns:1fr; } }
.tia-trust div{
  background: var(--tia-night-2); padding: 22px 18px; text-align:center;
  font-family: var(--ui); font-size:0.86rem; font-weight:600; letter-spacing:0.04em;
  color: var(--text);
}

/* --- Qui suis-je --- */
.tia-about{ display:grid; grid-template-columns: 0.72fr 1fr; gap:56px; align-items:center; }
@media (max-width:860px){ .tia-about{ grid-template-columns:1fr; gap:36px; } }
.tia-emblem{
  background: var(--surface); border:1px solid rgba(217,164,65,0.22);
  border-radius: var(--radius);
  padding: 46px; display:flex; align-items:center; justify-content:center;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.7);
}
.tia-emblem img{ max-width: 240px; }

/* Portrait de la fondatrice (section « Qui suis-je ») */
.tia-photo{
  margin: 0; border-radius: var(--radius); overflow: hidden;
  border: 1px solid rgba(217,164,65,0.28);
  box-shadow: 0 30px 60px -28px rgba(0,0,0,0.75);
}
.tia-photo img{
  width: 100%; aspect-ratio: 4 / 5;
  object-fit: cover; object-position: 50% 15%;
}
.tia-photo-caption{
  margin: 16px 0 0; text-align: center;
  font-family: var(--ui); font-size: 0.74rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-dim);
}
.tia-callout{
  margin-top: 26px; background: var(--terracotta-d); color: var(--text);
  border-left: 4px solid var(--tia-gold); padding: 26px 30px; border-radius: var(--radius);
}
.tia-callout p{ margin:0; color: rgba(246,234,218,0.9); }
.tia-callout strong{ color: var(--tia-gold-light); }

/* --- 8 domaines --- */
.tia-domains{ display:grid; grid-template-columns: repeat(4,1fr); gap:20px; }
@media (max-width:980px){ .tia-domains{ grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .tia-domains{ grid-template-columns: 1fr; } }
.tia-card{
  background: var(--surface); border:1px solid rgba(217,164,65,0.16);
  border-top: 3px solid var(--tia-gold);
  border-radius: var(--radius); padding: 26px 24px;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.tia-card:hover{ transform: translateY(-4px); box-shadow: 0 22px 40px -24px rgba(0,0,0,0.8); }
.tia-card .ico{ font-size:1.7rem; line-height:1; display:block; margin-bottom:14px; }
.tia-card h3{ font-style:normal; font-family: var(--display); font-size:1.08rem; color: var(--gold-soft); margin-bottom:8px; }
.tia-card p{ font-size:0.92rem; margin:0; }

/* --- Abonnements --- */
.tia-plans{ display:grid; grid-template-columns: repeat(4,1fr); gap:20px; align-items:stretch; }
@media (max-width:980px){ .tia-plans{ grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .tia-plans{ grid-template-columns: 1fr; } }
.tia-plan{
  background: var(--tia-night-2); border:1px solid rgba(217,164,65,0.3);
  border-radius: var(--radius); padding: 30px 26px; display:flex; flex-direction:column;
}
.tia-plan.featured{ border-color: var(--tia-gold); box-shadow: 0 0 0 1px var(--tia-gold) inset; }
.tia-plan .tier{
  font-family: var(--ui); font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  font-size:0.8rem; color: var(--tia-gold-light); margin-bottom: 16px;
}
.tia-plan .scope{ color: var(--text); font-size:0.98rem; margin-bottom: 12px; }
.tia-plan .who{ color: rgba(246,234,218,0.62); font-size:0.88rem; font-style:italic; margin-bottom: 22px; }
.tia-plan .price{
  margin-top:auto; font-family: var(--ui); font-size:0.78rem; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase; color: var(--tia-gold);
  border-top:1px solid rgba(217,164,65,0.28); padding-top:16px;
}
.tia-note{
  max-width: 74ch; margin: 30px auto 0; text-align:center;
  font-size:0.9rem; color: rgba(246,234,218,0.6);
}

/* --- Packs --- */
.tia-packs{ display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .tia-packs{ grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .tia-packs{ grid-template-columns: 1fr; } }
.tia-pack{
  background: var(--surface); border:1px solid rgba(217,164,65,0.14);
  border-left: 3px solid var(--gold-deep);
  border-radius: var(--radius); padding: 26px 24px; position:relative;
  transition: border-left-color .25s var(--ease), transform .25s var(--ease);
}
.tia-pack:hover{ border-left-color: var(--tia-gold); transform: translateY(-3px); }
.tia-pack .ico{ font-size:1.6rem; display:block; margin-bottom:12px; }
.tia-pack h3{ font-style:normal; font-family: var(--display); font-size:1.1rem; color: var(--gold-soft); margin-bottom:8px; }
.tia-pack p{ font-size:0.92rem; margin:0 0 12px; }
.tia-pack .forwho{
  font-family: var(--ui); font-size:0.78rem; color: var(--tia-gold);
  font-weight:600; letter-spacing:0.03em;
}
.badge-free{
  display:inline-flex; align-items:center; gap:8px;
  background: var(--tia-gold); color: var(--tia-night);
  font-family: var(--ui); font-size:0.68rem; font-weight:700; letter-spacing:0.1em;
  text-transform:uppercase; padding:7px 16px; border-radius:30px; margin-bottom:22px;
}

/* --- Étapes --- */
.tia-steps{ display:grid; grid-template-columns: repeat(4,1fr); gap:26px; }
@media (max-width:900px){ .tia-steps{ grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .tia-steps{ grid-template-columns: 1fr; } }
.tia-step{ border-top:2px solid rgba(217,164,65,0.45); padding-top:20px; }
.tia-step .num{
  font-family: var(--display); font-size:2.4rem; line-height:1;
  color: var(--tia-gold); display:block; margin-bottom:12px;
}
.tia-step h3{ font-style:normal; font-family: var(--display); font-size:1.08rem; color: var(--text); margin-bottom:8px; }
.tia-step p{ font-size:0.92rem; margin:0; }
.tia-secret{
  margin: 48px auto 0; max-width: 760px; text-align:center;
  background: var(--terracotta-d); color: var(--text);
  padding: 32px 34px; border-radius: var(--radius);
  border: 1px solid rgba(217,164,65,0.4);
}
.tia-secret h3{ color: var(--tia-gold-light); font-style:normal; font-family: var(--display); margin-bottom:10px; }
.tia-secret p{ margin:0; color: rgba(246,234,218,0.88); }

/* --- Témoignages Tia --- */
.tia-testi{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .tia-testi{ grid-template-columns:1fr; } }
.tia-testi article{
  background: var(--tia-night-2); border:1px solid rgba(217,164,65,0.22);
  border-radius: var(--radius); padding: 30px 28px;
}
.tia-testi .stars{ color: var(--tia-gold); letter-spacing:0.18em; margin-bottom:16px; display:block; }
.tia-testi p{ font-style:italic; color: var(--text); font-size:0.98rem; margin-bottom:18px; }
.tia-testi .who{
  font-family: var(--ui); font-size:0.8rem; color: rgba(246,234,218,0.55);
  border-top:1px solid rgba(217,164,65,0.2); padding-top:14px;
}

/* --- Contact Tia --- */
.tia-reach{ max-width: 620px; margin: 0 auto; text-align:center; }
.tia-reach > p{ margin-bottom: 30px; }
.tia-reach .btn{ justify-content:center; }

.tia-or{
  text-align:center; font-family: var(--ui); font-size:0.76rem; letter-spacing:0.24em;
  text-transform:uppercase; color: rgba(246,234,218,0.45); margin: 22px 0;
}
.tia-wa{
  display:block; background: var(--tia-gold); color: var(--tia-night);
  border-radius: var(--radius); padding: 26px 28px; text-align:center;
  transition: background .2s, transform .2s;
}
.tia-wa:hover{ background: var(--tia-gold-light); transform: translateY(-2px); }
.tia-wa .big{ font-family: var(--ui); font-weight:700; font-size:1.02rem; display:block; margin-bottom:6px; }
.tia-wa .small{ font-family: var(--ui); font-size:0.82rem; opacity:0.8; }
.tia-infos{ list-style:none; margin:36px 0 0; padding:0; display:grid; gap:1px; background: rgba(217,164,65,0.25); border:1px solid rgba(217,164,65,0.25); }
.tia-infos li{
  background: var(--tia-night-2); padding: 16px 20px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; text-align:left;
  font-family: var(--ui); font-size:0.88rem; color: var(--text);
}
.tia-infos li span:first-child{ color: rgba(246,234,218,0.6); }
.tia-infos a{ color: var(--tia-gold-light); }

/* --- Lien de menu Tia Relais --- */
nav.links a.nav-tia{ color: var(--gold); }
nav.links a.nav-tia:hover, nav.links a.nav-tia.current{ color: var(--gold-soft); }

/* ------------------------------------------------------------
   Correctif menu mobile
   Le `backdrop-filter` du header crée un bloc conteneur pour les
   éléments `position:fixed` : le panneau du menu se retrouvait
   limité à la hauteur du header. On l'ancre désormais sous le
   header en `position:absolute`.
   ------------------------------------------------------------ */
@media (max-width: 860px){
  header.site{ backdrop-filter: none; background: var(--bg); }
  nav.links{
    position: absolute;
    inset: auto auto auto 0;
    top: 100%; right: 0; bottom: auto; left: 0;
    height: auto; max-height: calc(100vh - 80px);
    padding: 8px 24px 24px;
    background: var(--surface);
    box-shadow: 0 24px 40px -20px rgba(0,0,0,0.85);
    border-bottom: 1px solid rgba(217,164,65,0.25);
  }
}

/* ============================================================
   Boutons WhatsApp & blocs de contact
   ============================================================ */
.wa-ico{ width:17px; height:17px; flex-shrink:0; }
.btn-wa{ background: var(--gold); color: var(--bg); border-color: var(--gold); }
.btn-wa:hover{ background: var(--gold-soft); border-color: var(--gold-soft); color: var(--bg); transform: translateY(-2px); }

.contact-actions{ display:grid; gap:14px; justify-items:center; margin-top: 24px; }
.contact-or{
  font-family: var(--ui); font-size:0.72rem; letter-spacing:0.24em;
  text-transform:uppercase; color: var(--text-dim); margin: 4px 0;
}
.contact-card .wa-note{
  font-family: var(--ui); font-size:0.8rem; color: var(--text-dim); margin: 10px 0 0;
}

/* ============================================================
   Page Services — offre d'assistance
   ============================================================ */
.svc-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .svc-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .svc-grid{ grid-template-columns: 1fr; } }
.svc-card{
  background: var(--surface); border:1px solid rgba(217,164,65,0.16);
  border-top: 3px solid var(--gold);
  border-radius: var(--radius); padding: 28px 26px;
  display:flex; flex-direction:column;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.svc-card:hover{ transform: translateY(-4px); box-shadow: 0 22px 40px -24px rgba(0,0,0,0.8); }
.svc-card .ico{ font-size:1.7rem; line-height:1; display:block; margin-bottom:14px; }
.svc-card h3{ font-style:normal; font-family: var(--display); font-size:1.1rem; color: var(--gold-soft); margin-bottom:10px; }
.svc-card p{ font-size:0.94rem; margin:0 0 16px; }
.svc-card .ask{
  margin-top:auto; font-family: var(--ui); font-size:0.78rem; font-weight:600;
  letter-spacing:0.04em; color: var(--gold); display:inline-flex; align-items:center; gap:7px;
  transition: color .2s;
}
.svc-card .ask:hover{ color: var(--gold-soft); }

.svc-steps{ display:grid; grid-template-columns: repeat(3,1fr); gap:30px; }
@media (max-width:760px){ .svc-steps{ grid-template-columns: 1fr; } }
.svc-step{ border-top:2px solid rgba(217,164,65,0.45); padding-top:20px; }
.svc-step .num{
  font-family: var(--display); font-size:2.4rem; line-height:1;
  color: var(--gold); display:block; margin-bottom:12px;
}
.svc-step h3{ font-style:normal; font-family: var(--display); font-size:1.08rem; color: var(--text); margin-bottom:8px; }
.svc-step p{ font-size:0.93rem; margin:0; }

.svc-formats{ display:grid; grid-template-columns: repeat(3,1fr); gap:2px; max-width:900px; margin:0 auto; }
@media (max-width:760px){ .svc-formats{ grid-template-columns: 1fr; } }
.svc-formats div{
  background: var(--surface); padding: 26px 24px; border-radius: var(--radius);
}
.svc-formats h4{
  font-family: var(--ui); font-size:0.76rem; letter-spacing:0.12em; text-transform:uppercase;
  color: var(--gold); margin-bottom:10px;
}
.svc-formats p{ margin:0; font-size:0.92rem; }

.svc-for{
  background: var(--terracotta-d); border-radius: var(--radius);
  padding: 34px 38px; margin-top: 10px;
}
.svc-for h3{ font-style:normal; font-family: var(--display); color: var(--gold-soft); margin-bottom:16px; }
.svc-for ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.svc-for li{
  display:flex; align-items:flex-start; gap:12px;
  color: rgba(246,234,218,0.9); font-size:0.96rem;
}
.svc-for li::before{
  content:""; width:7px; height:7px; border-radius:50%; background: var(--gold-soft);
  flex-shrink:0; margin-top:9px;
}

.svc-cta-actions{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:26px; }

/* ------------------------------------------------------------
   Correctif : défilement horizontal parasite sur mobile
   Le panneau du menu fermé était déporté hors écran par
   translateX(100%), ce qui doublait la largeur de la page et
   créait un défilement latéral. Il s'ouvre désormais par un
   fondu-descente qui reste dans les limites de l'écran.
   ------------------------------------------------------------ */
html{ overflow-x: clip; }

@media (max-width: 860px){
  nav.links{
    transform: translateY(-10px);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: transform .28s var(--ease), opacity .28s var(--ease), visibility 0s linear .28s;
  }
  nav.links.open{
    transform: translateY(0);
    opacity: 1; visibility: visible; pointer-events: auto;
    transition: transform .28s var(--ease), opacity .28s var(--ease), visibility 0s;
  }
}
