Outiref

Code source de l'URL : https://www.guide-beaute.com

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="Guide Beauté votre référence experte en soins visage, routines anti-âge, beauté naturelle & chirurgie esthétique. Conseils de spécialistes, tests produits, avis vérifiés.">
  <meta name="robots" content="index, follow">
  <meta property="og:title" content="Guide Beauté : Soins, Anti-âge & Bien-être | Le Guide Expert">
  <meta property="og:description" content="Découvrez les meilleures routines beauté, soins anti-âge, conseils d'expertes et avis produits 100% vérifiés. Votre allié beauté au quotidien.">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://www.guide-beaute.com/">
  <meta property="og:image" content="https://www.guide-beaute.com/images/guide-beaute-og.jpg">
  <meta property="og:locale" content="fr_FR">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Guide Beauté — Soins, Anti-âge & Bien-être">
  <meta name="twitter:description" content="Votre référence experte en beauté naturelle, soins du visage et bien-être féminin.">
  <link rel="canonical" href="https://www.guide-beaute.com/">
  <title>Guide Beauté : Soins Visage, Anti-âge & Bien-être</title>

  <!-- Preconnect to Google Fonts for performance -->
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap" rel="stylesheet">

  <!-- Schema.org structured data (E-E-A-T signals) -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "Guide Beauté",
    "url": "https://www.guide-beaute.com",
    "description": "Guide expert en soins beauté, anti-âge, bien-être et esthétique médicale pour femmes",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://www.guide-beaute.com/recherche?q={search_term_string}",
      "query-input": "required name=search_term_string"
    },
    "publisher": {
      "@type": "Organization",
      "name": "Guide Beauté",
      "logo": {
        "@type": "ImageObject",
        "url": "https://www.guide-beaute.com/images/logo.png"
      }
    }
  }
  </script>

  <style>
    /* ===== CSS CUSTOM PROPERTIES ===== */
    :root {
      --c-cream:    #faf6f1;
      --c-rose:     #e8c4b8;
      --c-blush:    #d4968a;
      --c-terracotta: #b5614e;
      --c-deep:     #2c1a15;
      --c-charcoal: #3d2b25;
      --c-warm:     #7a5347;
      --c-gold:     #c9a96e;
      --c-goldlt:   #e8d5b0;
      --c-sage:     #8a9e8c;
      --c-sage-lt:  #d5e0d6;
      --c-white:    #ffffff;
      --c-light:    #f5ede8;

      --f-display: 'Cormorant Garamond', Georgia, serif;
      --f-body:    'Jost', sans-serif;

      --r-sm:  .5rem;
      --r-md:  1rem;
      --r-lg:  2rem;
      --r-xl:  4rem;

      --transition: .35s cubic-bezier(.4,0,.2,1);
      --shadow-soft: 0 4px 32px rgba(44,26,21,.08);
      --shadow-card: 0 8px 48px rgba(44,26,21,.12);
    }

    /* ===== RESET & BASE ===== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }
    body {
      font-family: var(--f-body);
      background: var(--c-cream);
      color: var(--c-deep);
      line-height: 1.7;
      overflow-x: hidden;
    }
    img { display: block; max-width: 100%; height: auto; }
    a { color: inherit; text-decoration: none; }
    ul { list-style: none; }
    button { cursor: pointer; border: none; background: none; font-family: inherit; }

    /* ===== UTILITY ===== */
    .container {
      max-width: 1280px;
      margin-inline: auto;
      padding-inline: clamp(1rem, 4vw, 3rem);
    }
    .section-label {
      display: inline-block;
      font-family: var(--f-body);
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--c-blush);
      margin-bottom: .75rem;
    }
    .section-title {
      font-family: var(--f-display);
      font-size: clamp(2rem, 4vw, 3.2rem);
      font-weight: 400;
      line-height: 1.15;
      color: var(--c-deep);
    }
    .section-title em { font-style: italic; color: var(--c-blush); }
    .section-intro {
      font-size: 1rem;
      color: var(--c-warm);
      max-width: 540px;
      margin-top: .75rem;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .85rem 2rem;
      font-family: var(--f-body);
      font-size: .8rem;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      border-radius: 50px;
      transition: var(--transition);
    }
    .btn-primary {
      background: var(--c-deep);
      color: var(--c-cream);
    }
    .btn-primary:hover {
      background: var(--c-terracotta);
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(181,97,78,.3);
    }
    .btn-outline {
      border: 1.5px solid var(--c-deep);
      color: var(--c-deep);
    }
    .btn-outline:hover {
      background: var(--c-deep);
      color: var(--c-cream);
      transform: translateY(-2px);
    }
    .btn-gold {
      background: var(--c-gold);
      color: var(--c-deep);
    }
    .btn-gold:hover {
      background: var(--c-terracotta);
      color: var(--c-white);
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(201,169,110,.4);
    }
    .tag {
      display: inline-block;
      padding: .2rem .75rem;
      background: var(--c-light);
      color: var(--c-warm);
      border-radius: 50px;
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    /* ===== TOP BAR ===== */
    .topbar {
      background: var(--c-deep);
      color: var(--c-goldlt);
      text-align: center;
      font-size: .72rem;
      letter-spacing: .1em;
      padding: .55rem 1rem;
    }
    .topbar a { color: var(--c-gold); text-decoration: underline; }

    /* ===== HEADER / NAV ===== */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(250,246,241,.95);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(232,196,184,.3);
      transition: box-shadow var(--transition);
    }
    .site-header.scrolled { box-shadow: var(--shadow-soft); }

    .nav-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      height: 72px;
    }
    .logo {
      font-family: var(--f-display);
      font-size: 1.65rem;
      font-weight: 600;
      letter-spacing: .03em;
      color: var(--c-deep);
      flex-shrink: 0;
    }
    .logo span { color: var(--c-blush); }

    /* Desktop nav */
    .nav-links {
      display: flex;
      align-items: center;
      gap: 0;
    }
    .nav-item {
      position: relative;
    }
    .nav-link {
      display: block;
      padding: .5rem 1rem;
      font-size: .8rem;
      font-weight: 500;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--c-charcoal);
      transition: color var(--transition);
      white-space: nowrap;
    }
    .nav-link:hover, .nav-item.active > .nav-link { color: var(--c-terracotta); }

    /* Dropdown */
    .dropdown {
      position: absolute;
      top: calc(100% + .5rem);
      left: 50%;
      transform: translateX(-50%) translateY(8px);
      min-width: 220px;
      background: var(--c-white);
      border-radius: var(--r-md);
      box-shadow: var(--shadow-card);
      padding: .75rem 0;
      opacity: 0;
      pointer-events: none;
      transition: opacity .2s, transform .2s;
    }
    .nav-item:hover .dropdown {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
    }
    .dropdown a {
      display: flex;
      align-items: center;
      gap: .5rem;
      padding: .6rem 1.25rem;
      font-size: .82rem;
      color: var(--c-charcoal);
      transition: background var(--transition), color var(--transition);
    }
    .dropdown a:hover { background: var(--c-light); color: var(--c-terracotta); }
    .dropdown-icon { font-size: 1rem; }

    /* Nav actions */
    .nav-actions {
      display: flex;
      align-items: center;
      gap: .75rem;
      flex-shrink: 0;
    }
    .nav-search-btn {
      width: 38px; height: 38px;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      background: var(--c-light);
      color: var(--c-charcoal);
      font-size: 1rem;
      transition: var(--transition);
    }
    .nav-search-btn:hover { background: var(--c-rose); }

    /* Burger */
    .burger {
      display: none;
      flex-direction: column;
      gap: 5px;
      width: 36px;
      height: 36px;
      align-items: center;
      justify-content: center;
      border-radius: var(--r-sm);
      background: var(--c-light);
      transition: var(--transition);
    }
    .burger span {
      display: block;
      width: 20px;
      height: 2px;
      background: var(--c-deep);
      border-radius: 2px;
      transition: var(--transition);
      transform-origin: center;
    }
    .burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
    .burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* Mobile menu */
    .mobile-nav {
      display: none;
      position: fixed;
      inset: 0;
      top: 73px;
      background: var(--c-cream);
      z-index: 99;
      overflow-y: auto;
      padding: 1.5rem var(--container-px, 1.5rem) 4rem;
      transform: translateX(100%);
      transition: transform .35s cubic-bezier(.4,0,.2,1);
    }
    .mobile-nav.open { transform: translateX(0); }
    .mobile-nav-section { margin-bottom: 2rem; }
    .mobile-nav-section h3 {
      font-family: var(--f-body);
      font-size: .65rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--c-blush);
      margin-bottom: .75rem;
      padding-bottom: .5rem;
      border-bottom: 1px solid var(--c-rose);
    }
    .mobile-nav-link {
      display: block;
      padding: .75rem 0;
      font-size: 1.1rem;
      font-family: var(--f-display);
      color: var(--c-deep);
      border-bottom: 1px solid rgba(232,196,184,.25);
    }
    .mobile-nav-link:last-child { border-bottom: none; }

    /* ===== HERO ===== */
    .hero {
      min-height: 92vh;
      display: grid;
      grid-template-columns: 1fr 1fr;
      position: relative;
      overflow: hidden;
    }
    .hero-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(3rem, 8vw, 6rem) clamp(1.5rem, 5vw, 5rem);
      position: relative;
      z-index: 2;
    }
    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      background: var(--c-light);
      border: 1px solid var(--c-rose);
      border-radius: 50px;
      padding: .4rem 1rem;
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--c-blush);
      margin-bottom: 1.5rem;
      width: fit-content;
    }
    .hero-badge::before {
      content: '';
      width: 6px; height: 6px;
      background: var(--c-blush);
      border-radius: 50%;
      animation: pulse 2s infinite;
    }
    @keyframes pulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: .6; transform: scale(1.3); }
    }
    .hero-title {
      font-family: var(--f-display);
      font-size: clamp(3rem, 6vw, 5.5rem);
      font-weight: 300;
      line-height: 1.08;
      color: var(--c-deep);
      margin-bottom: 1.5rem;
    }
    .hero-title .accent {
      font-style: italic;
      color: var(--c-terracotta);
      display: block;
    }
    .hero-desc {
      font-size: 1.05rem;
      color: var(--c-warm);
      max-width: 460px;
      margin-bottom: 2.5rem;
      line-height: 1.8;
    }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 3rem; }

    .hero-stats {
      display: flex;
      gap: 2rem;
      flex-wrap: wrap;
    }
    .stat {
      display: flex;
      flex-direction: column;
    }
    .stat-num {
      font-family: var(--f-display);
      font-size: 2.2rem;
      font-weight: 600;
      color: var(--c-deep);
      line-height: 1;
    }
    .stat-label {
      font-size: .72rem;
      font-weight: 500;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--c-warm);
      margin-top: .15rem;
    }

    /* Hero image side */
    .hero-visual {
      position: relative;
      overflow: hidden;
    }
    .hero-img-wrap {
      position: absolute;
      inset: 0;
    }
    .hero-img-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center top;
      filter: saturate(.92);
    }
    /* Decorative overlay */
    .hero-img-wrap::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(250,246,241,.15) 0%, transparent 50%);
      z-index: 1;
    }
    /* Floating card on hero */
    .hero-card {
      position: absolute;
      bottom: 2.5rem;
      left: -2rem;
      background: var(--c-white);
      border-radius: var(--r-md);
      box-shadow: var(--shadow-card);
      padding: 1rem 1.25rem;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: .75rem;
      min-width: 220px;
      animation: float 4s ease-in-out infinite;
    }
    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-8px); }
    }
    .hero-card-icon { font-size: 1.8rem; }
    .hero-card-text { font-size: .78rem; }
    .hero-card-text strong { display: block; color: var(--c-deep); font-weight: 600; font-size: .85rem; }
    .hero-card-text span { color: var(--c-warm); }

    /* Decorative bg element */
    .hero-bg-circle {
      position: absolute;
      right: -15%;
      top: -10%;
      width: 600px; height: 600px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(232,196,184,.2) 0%, transparent 70%);
      pointer-events: none;
    }

    /* ===== TRUST BAR ===== */
    .trust-bar {
      background: var(--c-deep);
      padding: 1.5rem 0;
    }
    .trust-bar-inner {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 1rem 3rem;
    }
    .trust-item {
      display: flex;
      align-items: center;
      gap: .6rem;
      color: var(--c-goldlt);
      font-size: .78rem;
      font-weight: 500;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .trust-item span:first-child { font-size: 1.1rem; }

    /* ===== FEATURED CATEGORIES ===== */
    .categories { padding: 6rem 0 5rem; }
    .categories-header {
      text-align: center;
      max-width: 600px;
      margin-inline: auto;
      margin-bottom: 3.5rem;
    }
    .categories-header .section-intro { margin-inline: auto; text-align: center; }

    .cat-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.25rem;
    }
    .cat-card {
      position: relative;
      border-radius: var(--r-lg);
      overflow: hidden;
      aspect-ratio: 3/4;
      cursor: pointer;
      group: true;
    }
    .cat-card img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform .6s cubic-bezier(.4,0,.2,1);
    }
    .cat-card:hover img { transform: scale(1.06); }
    .cat-card::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(44,26,21,.75) 0%, rgba(44,26,21,.1) 60%, transparent 100%);
      transition: opacity var(--transition);
    }
    .cat-card:hover::after { opacity: .85; }
    .cat-card-body {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 1.5rem;
      z-index: 2;
      transform: translateY(0);
      transition: transform var(--transition);
    }
    .cat-card:hover .cat-card-body { transform: translateY(-6px); }
    .cat-card-label {
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--c-rose);
      margin-bottom: .25rem;
    }
    .cat-card-title {
      font-family: var(--f-display);
      font-size: 1.4rem;
      font-weight: 400;
      color: var(--c-white);
      line-height: 1.2;
    }
    .cat-card-arrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px; height: 32px;
      background: var(--c-blush);
      border-radius: 50%;
      color: var(--c-white);
      font-size: .8rem;
      margin-top: .75rem;
      opacity: 0;
      transform: translateX(-8px);
      transition: opacity .2s .05s, transform .2s .05s;
    }
    .cat-card:hover .cat-card-arrow { opacity: 1; transform: translateX(0); }
    /* Large featured card */
    .cat-card.featured { aspect-ratio: unset; grid-row: span 2; }

    /* ===== EDITORIAL STRIP ===== */
    .editorial-strip {
      background: var(--c-light);
      padding: 2.5rem 0;
      overflow: hidden;
    }
    .strip-track {
      display: flex;
      gap: 3rem;
      align-items: center;
      animation: strip-scroll 30s linear infinite;
      white-space: nowrap;
      width: max-content;
    }
    @keyframes strip-scroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    .strip-track:hover { animation-play-state: paused; }
    .strip-item {
      display: flex;
      align-items: center;
      gap: 1rem;
      font-family: var(--f-display);
      font-size: 1.1rem;
      font-style: italic;
      color: var(--c-warm);
      flex-shrink: 0;
    }
    .strip-dot {
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--c-blush);
      flex-shrink: 0;
    }

    /* ===== FEATURED ARTICLES ===== */
    .articles { padding: 6rem 0; }
    .articles-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 3rem;
      gap: 1rem;
      flex-wrap: wrap;
    }
    .articles-grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr;
      gap: 1.5rem;
      align-items: start;
    }
    /* Main article (large) */
    .article-card {
      border-radius: var(--r-lg);
      overflow: hidden;
      background: var(--c-white);
      box-shadow: var(--shadow-soft);
      transition: transform var(--transition), box-shadow var(--transition);
    }
    .article-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow-card);
    }
    .article-img {
      position: relative;
      overflow: hidden;
    }
    .article-img img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform .5s ease;
    }
    .article-card:hover .article-img img { transform: scale(1.04); }
    .article-card.main .article-img { height: 340px; }
    .article-card:not(.main) .article-img { height: 200px; }
    .article-body { padding: 1.5rem; }
    .article-meta {
      display: flex;
      align-items: center;
      gap: .75rem;
      margin-bottom: .75rem;
    }
    .article-author {
      display: flex;
      align-items: center;
      gap: .4rem;
      font-size: .72rem;
      color: var(--c-warm);
    }
    .article-author img {
      width: 24px; height: 24px;
      border-radius: 50%;
      object-fit: cover;
    }
    .article-date { font-size: .7rem; color: #999; }
    .article-title {
      font-family: var(--f-display);
      font-size: 1.4rem;
      font-weight: 400;
      line-height: 1.25;
      color: var(--c-deep);
      margin-bottom: .5rem;
      transition: color var(--transition);
    }
    .article-card.main .article-title { font-size: 1.8rem; }
    .article-card:hover .article-title { color: var(--c-terracotta); }
    .article-excerpt { font-size: .87rem; color: var(--c-warm); line-height: 1.7; margin-bottom: 1rem; }
    .article-read-more {
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--c-terracotta);
      display: flex;
      align-items: center;
      gap: .4rem;
    }
    .article-read-more::after {
      content: '→';
      transition: transform var(--transition);
    }
    .article-card:hover .article-read-more::after { transform: translateX(4px); }
    /* Expert badge */
    .expert-badge {
      position: absolute;
      top: 1rem;
      right: 1rem;
      background: var(--c-deep);
      color: var(--c-goldlt);
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: .3rem .75rem;
      border-radius: 50px;
    }

    /* ===== ROUTINE BUILDER (interactive) ===== */
    .routine { padding: 6rem 0; background: var(--c-deep); position: relative; overflow: hidden; }
    .routine::before {
      content: '';
      position: absolute;
      right: -200px; top: -200px;
      width: 600px; height: 600px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(181,97,78,.15) 0%, transparent 70%);
    }
    .routine-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
      position: relative;
      z-index: 1;
    }
    .routine-content .section-label { color: var(--c-blush); }
    .routine-content .section-title { color: var(--c-cream); }
    .routine-content .section-intro { color: var(--c-goldlt); opacity: .8; }

    .skin-quiz {
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(232,196,184,.2);
      border-radius: var(--r-lg);
      padding: 2.5rem;
    }
    .quiz-step { display: none; }
    .quiz-step.active { display: block; }
    .quiz-title {
      font-family: var(--f-display);
      font-size: 1.4rem;
      color: var(--c-cream);
      margin-bottom: 1.5rem;
      font-style: italic;
    }
    .quiz-options {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: .75rem;
      margin-bottom: 1.5rem;
    }
    .quiz-opt {
      padding: .85rem 1rem;
      border: 1.5px solid rgba(232,196,184,.25);
      border-radius: var(--r-md);
      color: var(--c-goldlt);
      font-size: .85rem;
      text-align: center;
      cursor: pointer;
      transition: var(--transition);
      background: transparent;
    }
    .quiz-opt:hover, .quiz-opt.selected {
      border-color: var(--c-blush);
      background: rgba(232,196,184,.1);
      color: var(--c-rose);
    }
    .quiz-progress {
      display: flex;
      gap: .4rem;
      margin-bottom: 1.5rem;
    }
    .quiz-dot {
      height: 3px;
      flex: 1;
      background: rgba(255,255,255,.15);
      border-radius: 3px;
      transition: background .3s;
    }
    .quiz-dot.done { background: var(--c-blush); }

    .routine-result {
      display: none;
      text-align: center;
    }
    .routine-result.show { display: block; }
    .result-type {
      font-family: var(--f-display);
      font-size: 2rem;
      font-style: italic;
      color: var(--c-rose);
      margin-bottom: .5rem;
    }
    .result-desc { color: var(--c-goldlt); font-size: .9rem; margin-bottom: 1.5rem; }

    /* ===== EXPERTS SECTION (E-E-A-T) ===== */
    .experts { padding: 6rem 0; }
    .experts-header { text-align: center; max-width: 600px; margin-inline: auto; margin-bottom: 3.5rem; }
    .experts-header .section-intro { margin-inline: auto; text-align: center; }

    .experts-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
    }
    .expert-card {
      background: var(--c-white);
      border-radius: var(--r-lg);
      overflow: hidden;
      box-shadow: var(--shadow-soft);
      transition: transform var(--transition), box-shadow var(--transition);
      text-align: center;
    }
    .expert-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow-card);
    }
    .expert-img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      object-position: top center;
    }
    .expert-body { padding: 1.25rem 1rem; }
    .expert-name {
      font-family: var(--f-display);
      font-size: 1.15rem;
      font-weight: 400;
      color: var(--c-deep);
      margin-bottom: .15rem;
    }
    .expert-title {
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--c-blush);
      margin-bottom: .75rem;
    }
    .expert-bio { font-size: .82rem; color: var(--c-warm); line-height: 1.6; margin-bottom: 1rem; }
    .expert-creds {
      display: flex;
      flex-wrap: wrap;
      gap: .4rem;
      justify-content: center;
    }
    .expert-cred {
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      background: var(--c-light);
      color: var(--c-warm);
      padding: .2rem .6rem;
      border-radius: 50px;
    }

    /* ===== PRODUCT SELECTION ===== */
    .products { padding: 6rem 0; background: var(--c-light); }
    .products-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 3rem;
      flex-wrap: wrap;
      gap: 1rem;
    }
    .products-tabs {
      display: flex;
      gap: .5rem;
      flex-wrap: wrap;
    }
    .tab-btn {
      padding: .5rem 1.25rem;
      border-radius: 50px;
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--c-warm);
      background: transparent;
      border: 1.5px solid transparent;
      transition: var(--transition);
    }
    .tab-btn.active, .tab-btn:hover {
      background: var(--c-white);
      color: var(--c-deep);
      border-color: var(--c-rose);
      box-shadow: var(--shadow-soft);
    }
    .products-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.25rem;
    }
    .product-card {
      background: var(--c-white);
      border-radius: var(--r-lg);
      overflow: hidden;
      transition: transform var(--transition), box-shadow var(--transition);
    }
    .product-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-card);
    }
    .product-img-wrap {
      position: relative;
      aspect-ratio: 1;
      overflow: hidden;
      background: var(--c-cream);
    }
    .product-img-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform .5s ease;
    }
    .product-card:hover .product-img-wrap img { transform: scale(1.05); }
    .product-badge {
      position: absolute;
      top: .75rem;
      left: .75rem;
      background: var(--c-terracotta);
      color: var(--c-white);
      font-size: .65rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: .25rem .65rem;
      border-radius: 50px;
    }
    .product-body { padding: 1rem; }
    .product-brand { font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--c-blush); }
    .product-name { font-family: var(--f-display); font-size: 1.1rem; color: var(--c-deep); margin: .15rem 0 .4rem; }
    .product-stars { color: var(--c-gold); font-size: .85rem; letter-spacing: .05em; }
    .product-reviews { font-size: .7rem; color: #999; margin-left: .3rem; }
    .product-price {
      display: flex;
      align-items: center;
      gap: .6rem;
      margin-top: .5rem;
    }
    .price-current { font-weight: 600; font-size: 1rem; color: var(--c-deep); }
    .price-old { font-size: .85rem; color: #aaa; text-decoration: line-through; }

    /* ===== TESTIMONIALS ===== */
    .testimonials { padding: 6rem 0; }
    .testimonials-header { text-align: center; max-width: 540px; margin-inline: auto; margin-bottom: 3.5rem; }
    .testimonials-header .section-intro { margin-inline: auto; text-align: center; }

    .testimonials-track-wrap { overflow: hidden; }
    .testimonials-track {
      display: flex;
      gap: 1.5rem;
      transition: transform .5s cubic-bezier(.4,0,.2,1);
    }
    .testimonial-card {
      flex: 0 0 calc(33.33% - 1rem);
      background: var(--c-white);
      border-radius: var(--r-lg);
      padding: 2rem;
      box-shadow: var(--shadow-soft);
      position: relative;
    }
    .testimonial-card::before {
      content: '\201C';
      font-family: var(--f-display);
      font-size: 5rem;
      color: var(--c-rose);
      line-height: .8;
      position: absolute;
      top: 1rem;
      right: 1.5rem;
      opacity: .4;
    }
    .testimonial-stars { color: var(--c-gold); font-size: 1rem; margin-bottom: .75rem; }
    .testimonial-text { font-size: .92rem; color: var(--c-charcoal); line-height: 1.75; margin-bottom: 1.25rem; font-style: italic; }
    .testimonial-author { display: flex; align-items: center; gap: .75rem; }
    .testimonial-author img {
      width: 44px; height: 44px;
      border-radius: 50%;
      object-fit: cover;
      border: 2px solid var(--c-rose);
    }
    .testimonial-name { font-weight: 600; font-size: .88rem; color: var(--c-deep); }
    .testimonial-info { font-size: .72rem; color: var(--c-warm); }
    .testimonial-verified {
      display: inline-flex;
      align-items: center;
      gap: .3rem;
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--c-sage);
      margin-top: .2rem;
    }

    .testimonials-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      margin-top: 2rem;
    }
    .testi-btn {
      width: 44px; height: 44px;
      border-radius: 50%;
      border: 1.5px solid var(--c-rose);
      background: transparent;
      color: var(--c-deep);
      font-size: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: var(--transition);
    }
    .testi-btn:hover { background: var(--c-rose); color: var(--c-white); }
    .testi-dots {
      display: flex;
      gap: .4rem;
    }
    .testi-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: var(--c-rose);
      opacity: .4;
      cursor: pointer;
      transition: var(--transition);
    }
    .testi-dot.active { opacity: 1; transform: scale(1.25); background: var(--c-terracotta); }

    /* ===== NEWSLETTER ===== */
    .newsletter {
      background: linear-gradient(135deg, var(--c-deep) 0%, #3d1c15 100%);
      padding: 6rem 0;
      position: relative;
      overflow: hidden;
    }
    .newsletter::before {
      content: '';
      position: absolute;
      left: -100px; bottom: -100px;
      width: 500px; height: 500px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(201,169,110,.1) 0%, transparent 70%);
    }
    .newsletter-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
      position: relative;
      z-index: 1;
    }
    .newsletter-content .section-label { color: var(--c-blush); }
    .newsletter-content .section-title { color: var(--c-cream); }
    .newsletter-desc { color: var(--c-goldlt); opacity: .8; margin-top: .75rem; margin-bottom: 2rem; }
    .newsletter-perks { display: flex; flex-direction: column; gap: .75rem; }
    .perk {
      display: flex;
      align-items: center;
      gap: .75rem;
      color: var(--c-goldlt);
      font-size: .87rem;
    }
    .perk-icon {
      width: 32px; height: 32px;
      border-radius: 50%;
      background: rgba(255,255,255,.08);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .9rem;
      flex-shrink: 0;
    }
    .nl-form { display: flex; flex-direction: column; gap: 1rem; }
    .nl-row { display: flex; gap: .75rem; }
    .nl-input {
      flex: 1;
      padding: .95rem 1.25rem;
      background: rgba(255,255,255,.08);
      border: 1.5px solid rgba(232,196,184,.2);
      border-radius: 50px;
      color: var(--c-cream);
      font-family: var(--f-body);
      font-size: .9rem;
      outline: none;
      transition: border-color var(--transition);
    }
    .nl-input::placeholder { color: rgba(250,246,241,.4); }
    .nl-input:focus { border-color: var(--c-blush); }
    .nl-privacy { font-size: .72rem; color: rgba(250,246,241,.4); }
    .nl-privacy a { color: var(--c-gold); }

    /* ===== FOOTER ===== */
    .site-footer {
      background: #1a0f0c;
      color: var(--c-goldlt);
      padding: 5rem 0 2rem;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 3rem;
      padding-bottom: 3rem;
      border-bottom: 1px solid rgba(255,255,255,.07);
    }
    .footer-brand .logo { margin-bottom: 1rem; }
    .footer-desc { font-size: .85rem; color: rgba(250,246,241,.5); line-height: 1.7; max-width: 280px; margin-bottom: 1.5rem; }
    .footer-social { display: flex; gap: .75rem; }
    .social-link {
      width: 36px; height: 36px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.12);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--c-goldlt);
      font-size: .9rem;
      transition: var(--transition);
    }
    .social-link:hover { background: var(--c-blush); border-color: var(--c-blush); color: var(--c-white); }
    .footer-col h4 {
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--c-cream);
      margin-bottom: 1.25rem;
    }
    .footer-col ul { display: flex; flex-direction: column; gap: .6rem; }
    .footer-col ul li a {
      font-size: .85rem;
      color: rgba(250,246,241,.5);
      transition: color var(--transition);
    }
    .footer-col ul li a:hover { color: var(--c-blush); }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-top: 1.5rem;
      flex-wrap: wrap;
      gap: 1rem;
    }
    .footer-bottom p { font-size: .78rem; color: rgba(250,246,241,.3); }
    .footer-legal { display: flex; gap: 1.5rem; }
    .footer-legal a { font-size: .78rem; color: rgba(250,246,241,.3); transition: color var(--transition); }
    .footer-legal a:hover { color: var(--c-blush); }

    /* ===== SCROLL TO TOP ===== */
    .scroll-top {
      position: fixed;
      bottom: 2rem;
      right: 2rem;
      width: 44px; height: 44px;
      background: var(--c-deep);
      color: var(--c-cream);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: var(--shadow-card);
      z-index: 50;
      transition: var(--transition);
      opacity: 0;
      transform: translateY(10px);
      pointer-events: none;
    }
    .scroll-top.visible {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
    .scroll-top:hover { background: var(--c-terracotta); transform: translateY(-3px); }

    /* ===== ANIMATIONS (Intersection Observer driven) ===== */
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .6s ease, transform .6s ease;
    }
    .reveal.in-view {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal-delay-1 { transition-delay: .1s; }
    .reveal-delay-2 { transition-delay: .2s; }
    .reveal-delay-3 { transition-delay: .3s; }
    .reveal-delay-4 { transition-delay: .4s; }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 1100px) {
      .cat-grid { grid-template-columns: repeat(2, 1fr); }
      .cat-card.featured { grid-row: auto; }
      .articles-grid { grid-template-columns: 1fr 1fr; }
      .article-card.main { grid-column: span 2; }
      .experts-grid { grid-template-columns: repeat(2, 1fr); }
      .products-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 900px) {
      .hero { grid-template-columns: 1fr; min-height: auto; }
      .hero-visual { display: none; }
      .hero-content { padding: 5rem 1.5rem 3rem; min-height: 85vh; }
      .hero-bg-circle { display: none; }
      .routine-inner { grid-template-columns: 1fr; gap: 3rem; }
      .newsletter-inner { grid-template-columns: 1fr; gap: 3rem; }
    }
    @media (max-width: 768px) {
      .nav-links { display: none; }
      .burger { display: flex; }
      .mobile-nav { display: block; }
      .articles-grid { grid-template-columns: 1fr; }
      .article-card.main { grid-column: auto; }
      .article-card.main .article-img { height: 240px; }
      .testimonial-card { flex: 0 0 100%; }
      .trust-bar-inner { gap: .75rem 1.5rem; }
      .cat-grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
      .experts-grid { grid-template-columns: 1fr 1fr; }
      .products-grid { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
      .nl-row { flex-direction: column; }
      .quiz-options { grid-template-columns: 1fr; }
    }
    @media (max-width: 480px) {
      .cat-grid { grid-template-columns: 1fr; }
      .experts-grid { grid-template-columns: 1fr; }
      .products-grid { grid-template-columns: 1fr 1fr; }
      .hero-stats { gap: 1.5rem; }
    }

    /* ===== SEARCH OVERLAY ===== */
    .search-overlay {
      position: fixed;
      inset: 0;
      background: rgba(44,26,21,.6);
      backdrop-filter: blur(8px);
      z-index: 200;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      padding-top: 15vh;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s;
    }
    .search-overlay.open { opacity: 1; pointer-events: auto; }
    .search-box {
      background: var(--c-white);
      border-radius: var(--r-lg);
      padding: 2rem;
      width: 90%;
      max-width: 600px;
      box-shadow: 0 32px 80px rgba(44,26,21,.3);
    }
    .search-box-inner {
      display: flex;
      align-items: center;
      gap: .75rem;
      border-bottom: 2px solid var(--c-rose);
      padding-bottom: .75rem;
      margin-bottom: 1.25rem;
    }
    .search-icon { font-size: 1.2rem; color: var(--c-blush); }
    .search-input {
      flex: 1;
      border: none;
      outline: none;
      font-family: var(--f-display);
      font-size: 1.3rem;
      color: var(--c-deep);
    }
    .search-input::placeholder { color: var(--c-rose); }
    .search-close { font-size: .9rem; color: var(--c-warm); cursor: pointer; }
    .search-suggestions h4 { font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: var(--c-blush); margin-bottom: .75rem; }
    .search-tags { display: flex; flex-wrap: wrap; gap: .5rem; }
  </style>
</head>
<body>

<!-- ===== TOP BAR ===== -->
<div class="topbar" role="banner">
  ✨ Nouveau : Notre guide <strong>Routine Anti-âge 40+</strong> est en ligne — <a href="/anti-age">Lire maintenant</a>
</div>

<!-- ===== HEADER ===== -->
<header class="site-header" id="site-header" role="banner">
  <div class="container">
    <nav class="nav-inner" role="navigation" aria-label="Navigation principale">
      <a href="/" class="logo" aria-label="Guide Beauté - Accueil">Guide <span>Beauté</span></a>

      <!-- Desktop nav -->
      <ul class="nav-links" role="list">
        <li class="nav-item">
          <a href="/soins-visage" class="nav-link">Soins Visage</a>
          <div class="dropdown" role="menu">
            <a href="/soins-visage/anti-age" role="menuitem"><span class="dropdown-icon">✦</span>Anti-âge & Rides</a>
            <a href="/soins-visage/hydratation" role="menuitem"><span class="dropdown-icon">✦</span>Hydratation</a>
            <a href="/soins-visage/eclat" role="menuitem"><span class="dropdown-icon">✦</span>Éclat & Teint</a>
            <a href="/soins-visage/acne" role="menuitem"><span class="dropdown-icon">✦</span>Acné & Pores</a>
            <a href="/soins-visage/contour-yeux" role="menuitem"><span class="dropdown-icon">✦</span>Contour des Yeux</a>
          </div>
        </li>
        <li class="nav-item">
          <a href="/corps-bien-etre" class="nav-link">Corps & Bien-être</a>
          <div class="dropdown" role="menu">
            <a href="/corps-bien-etre/minceur" role="menuitem"><span class="dropdown-icon">✦</span>Minceur & Raffermissement</a>
            <a href="/corps-bien-etre/cellulite" role="menuitem"><span class="dropdown-icon">✦</span>Anti-cellulite</a>
            <a href="/corps-bien-etre/massage" role="menuitem"><span class="dropdown-icon">✦</span>Massage & Relaxation</a>
            <a href="/corps-bien-etre/sport-beaute" role="menuitem"><span class="dropdown-icon">✦</span>Sport & Beauté</a>
          </div>
        </li>
        <li class="nav-item">
          <a href="/esthetique-medicale" class="nav-link">Esthétique Méd.</a>
          <div class="dropdown" role="menu">
            <a href="/esthetique-medicale/injections" role="menuitem"><span class="dropdown-icon">✦</span>Injections & Botox</a>
            <a href="/esthetique-medicale/chirurgie-visage" role="menuitem"><span class="dropdown-icon">✦</span>Chirurgie du Visage</a>
            <a href="/esthetique-medicale/chirurgie-corps" role="menuitem"><span class="dropdown-icon">✦</span>Chirurgie du Corps</a>
            <a href="/esthetique-medicale/laser-lumiere" role="menuitem"><span class="dropdown-icon">✦</span>Laser & Lumière Pulsée</a>
            <a href="/esthetique-medicale/trouver-chirurgien" role="menuitem"><span class="dropdown-icon">✦</span>Trouver un Chirurgien</a>
          </div>
        </li>
        <li class="nav-item">
          <a href="/cheveux-ongles" class="nav-link">Cheveux & Ongles</a>
          <div class="dropdown" role="menu">
            <a href="/cheveux-ongles/soin-cheveux" role="menuitem"><span class="dropdown-icon">✦</span>Soins Capillaires</a>
            <a href="/cheveux-ongles/colorations" role="menuitem"><span class="dropdown-icon">✦</span>Colorations & Balayage</a>
            <a href="/cheveux-ongles/chute-cheveux" role="menuitem"><span class="dropdown-icon">✦</span>Chute de Cheveux</a>
            <a href="/cheveux-ongles/onglerie" role="menuitem"><span class="dropdown-icon">✦</span>Onglerie</a>
          </div>
        </li>
        <li class="nav-item">
          <a href="/makeup" class="nav-link">Maquillage</a>
          <div class="dropdown" role="menu">
            <a href="/makeup/teint" role="menuitem"><span class="dropdown-icon">✦</span>Fond de Teint & BB Cream</a>
            <a href="/makeup/yeux" role="menuitem"><span class="dropdown-icon">✦</span>Yeux</a>
            <a href="/makeup/levres" role="menuitem"><span class="dropdown-icon">✦</span>Lèvres</a>
            <a href="/makeup/tendances" role="menuitem"><span class="dropdown-icon">✦</span>Tendances Saison</a>
          </div>
        </li>
        <li class="nav-item">
          <a href="/tests-produits" class="nav-link">Tests Produits</a>
        </li>
        <li class="nav-item">
          <a href="/blog" class="nav-link">Blog</a>
        </li>
      </ul>

      <div class="nav-actions">
        <button class="nav-search-btn" id="searchBtn" aria-label="Rechercher">🔍</button>
        <a href="/newsletter" class="btn btn-primary" style="display:none" aria-label="S'inscrire à la newsletter" id="nav-cta">S'abonner</a>
        <button class="burger" id="burgerBtn" aria-label="Menu" aria-expanded="false" aria-controls="mobileNav">
          <span></span><span></span><span></span>
        </button>
      </div>
    </nav>
  </div>

  <!-- Mobile nav -->
  <nav class="mobile-nav" id="mobileNav" aria-label="Menu mobile" role="navigation">
    <div class="mobile-nav-section">
      <h3>Soins & Beauté</h3>
      <a href="/soins-visage" class="mobile-nav-link">Soins Visage</a>
      <a href="/soins-visage/anti-age" class="mobile-nav-link">Anti-âge & Rides</a>
      <a href="/corps-bien-etre" class="mobile-nav-link">Corps & Bien-être</a>
      <a href="/makeup" class="mobile-nav-link">Maquillage</a>
      <a href="/cheveux-ongles" class="mobile-nav-link">Cheveux & Ongles</a>
    </div>
    <div class="mobile-nav-section">
      <h3>Esthétique Médicale</h3>
      <a href="/esthetique-medicale/injections" class="mobile-nav-link">Injections & Botox</a>
      <a href="/esthetique-medicale/chirurgie-visage" class="mobile-nav-link">Chirurgie du Visage</a>
      <a href="/esthetique-medicale/chirurgie-corps" class="mobile-nav-link">Chirurgie du Corps</a>
      <a href="/esthetique-medicale/trouver-chirurgien" class="mobile-nav-link">Trouver un Chirurgien</a>
    </div>
    <div class="mobile-nav-section">
      <h3>Ressources</h3>
      <a href="/tests-produits" class="mobile-nav-link">Tests Produits</a>
      <a href="/blog" class="mobile-nav-link">Blog & Conseils</a>
      <a href="/experts" class="mobile-nav-link">Nos Expertes</a>
      <a href="/newsletter" class="mobile-nav-link">Newsletter Beauté</a>
    </div>
  </nav>
</header>

<!-- ===== SEARCH OVERLAY ===== -->
<div class="search-overlay" id="searchOverlay" role="dialog" aria-modal="true" aria-label="Recherche">
  <div class="search-box">
    <div class="search-box-inner">
      <span class="search-icon">🔍</span>
      <input type="search" class="search-input" placeholder="Rechercher un soin, un produit…" id="searchInput" autocomplete="off">
      <button class="search-close" id="searchClose" aria-label="Fermer la recherche">✕</button>
    </div>
    <div class="search-suggestions">
      <h4>Recherches populaires</h4>
      <div class="search-tags">
        <a href="/soins-visage/anti-age" class="tag">Anti-âge</a>
        <a href="/soins-visage/hydratation" class="tag">Crème hydratante</a>
        <a href="/esthetique-medicale/injections" class="tag">Botox</a>
        <a href="/corps-bien-etre/cellulite" class="tag">Anti-cellulite</a>
        <a href="/cheveux-ongles/chute-cheveux" class="tag">Chute de cheveux</a>
        <a href="/makeup/teint" class="tag">Fond de teint</a>
        <a href="/soins-visage/acne" class="tag">Soins acné</a>
      </div>
    </div>
  </div>
</div>

<main id="main-content">

  <!-- ===== HERO ===== -->
  <section class="hero" aria-label="Section principale">
    <div class="hero-bg-circle"></div>
    <div class="hero-content">
      <div class="hero-badge">Mis à jour Juin 2026</div>
      <h1 class="hero-title">
        La beauté,<br>
        <span class="accent">c'est un art</span>
        qui se maîtrise.
      </h1>
      <p class="hero-desc">
        Conseils d'expertes, routines personnalisées, avis produits vérifiés et guides esthétique médicale. Tout ce dont vous avez besoin pour rayonner — à chaque étape de votre vie.
      </p>
      <div class="hero-actions">
        <a href="/test-peau" class="btn btn-primary" aria-label="Découvrir ma routine personnalisée">Mon Diagnostic Peau ✦</a>
        <a href="/blog" class="btn btn-outline" aria-label="Lire nos derniers articles">Nos Articles</a>
      </div>
      <div class="hero-stats" role="list" aria-label="Nos chiffres clés">
        <div class="stat" role="listitem">
          <span class="stat-num" data-target="840">0</span>
          <span class="stat-label">Articles Experts</span>
        </div>
        <div class="stat" role="listitem">
          <span class="stat-num" data-target="120">0</span>
          <span class="stat-label">Produits Testés</span>
        </div>
        <div class="stat" role="listitem">
          <span class="stat-num" data-target="38">0</span>
          <span class="stat-label">Spécialistes</span>
        </div>
      </div>
    </div>

    <!-- Hero visual (right column) -->
    <div class="hero-visual" aria-hidden="true">
      <div class="hero-img-wrap">
        <img
          src="https://images.unsplash.com/photo-1596462502278-27bfdc403348?w=900&q=80&auto=format&fit=crop"
          alt="Femme élégante appliquant un soin visage naturel"
          width="900" height="1200"
          loading="eager"
          fetchpriority="high"
        >
      </div>
      <!-- Floating card -->
      <div class="hero-card" role="complementary" aria-label="Article mis en avant">
        <span class="hero-card-icon">🌿</span>
        <div class="hero-card-text">
          <strong>Nouveau Guide</strong>
          <span>Routine anti-âge naturelle 40+</span>
        </div>
      </div>
    </div>
  </section>

  <!-- ===== TRUST BAR ===== -->
  <aside class="trust-bar" aria-label="Nos engagements">
    <div class="trust-bar-inner">
      <div class="trust-item"><span>✓</span><span>Contenus Vérifiés par des Médecins</span></div>
      <div class="trust-item"><span>✓</span><span>Produits Testés en Laboratoire</span></div>
      <div class="trust-item"><span>✓</span><span>Avis Lecteurs 100% Authentiques</span></div>
      <div class="trust-item"><span>✓</span><span>Mise à Jour Continue 2026</span></div>
      <div class="trust-item"><span>✓</span><span>Sans Publicité Déguisée</span></div>
    </div>
  </aside>

  <!-- ===== CATEGORIES ===== -->
  <section class="categories" aria-labelledby="cat-heading">
    <div class="container">
      <div class="categories-header reveal">
        <span class="section-label">Explorez</span>
        <h2 class="section-title" id="cat-heading">Votre univers <em>beauté</em> complet</h2>
        <p class="section-intro">Du soin quotidien aux gestes experts, découvrez toutes nos rubriques.</p>
      </div>

      <div class="cat-grid">
        <!-- Featured large -->
        <div class="cat-card featured reveal reveal-delay-1" role="article">
          <img
            src="https://images.unsplash.com/photo-1570172619644-dfd03ed5d881?w=600&q=80&auto=format&fit=crop"
            alt="Soins visage anti-âge - femme appliquant une crème"
            width="600" height="800"
            loading="lazy"
          >
          <div class="cat-card-body">
            <p class="cat-card-label">★ Incontournable</p>
            <a href="/soins-visage/anti-age">
              <h3 class="cat-card-title">Soins<br>Anti-âge</h3>
              <span class="cat-card-arrow">→</span>
            </a>
          </div>
        </div>

        <div class="cat-card reveal reveal-delay-2" role="article">
          <img
            src="https://images.unsplash.com/photo-1522337360788-8b13dee7a37e?w=400&q=80&auto=format&fit=crop"
            alt="Maquillage tendance - palette de teintes naturelles"
            width="400" height="533"
            loading="lazy"
          >
          <div class="cat-card-body">
            <p class="cat-card-label">Tendances</p>
            <a href="/makeup">
              <h3 class="cat-card-title">Maquillage</h3>
              <span class="cat-card-arrow">→</span>
            </a>
          </div>
        </div>

        <div class="cat-card reveal reveal-delay-3" role="article">
          <img
            src="https://images.unsplash.com/photo-1559757175-0eb30cd8c063?w=400&q=80&auto=format&fit=crop"
            alt="Bien-être corps - rituel spa et massage"
            width="400" height="533"
            loading="lazy"
          >
          <div class="cat-card-body">
            <p class="cat-card-label">Rituels</p>
            <a href="/corps-bien-etre">
              <h3 class="cat-card-title">Corps &<br>Bien-être</h3>
              <span class="cat-card-arrow">→</span>
            </a>
          </div>
        </div>

        <div class="cat-card reveal reveal-delay-2" role="article">
          <img
            src="https://images.unsplash.com/photo-1634449571010-02389ed0f9b0?w=400&q=80&auto=format&fit=crop"
            alt="Esthétique médicale - médecin esthétique consultation"
            width="400" height="533"
            loading="lazy"
          >
          <div class="cat-card-body">
            <p class="cat-card-label">Guide Expert</p>
            <a href="/esthetique-medicale">
              <h3 class="cat-card-title">Esthétique<br>Médicale</h3>
              <span class="cat-card-arrow">→</span>
            </a>
          </div>
        </div>

        <div class="cat-card reveal reveal-delay-3" role="article">
          <img
            src="https://images.unsplash.com/photo-1522338242992-e1a54906a8da?w=400&q=80&auto=format&fit=crop"
            alt="Soins capillaires - cheveux brillants et sains"
            width="400" height="533"
            loading="lazy"
          >
          <div class="cat-card-body">
            <p class="cat-card-label">Cheveux</p>
            <a href="/cheveux-ongles">
              <h3 class="cat-card-title">Cheveux<br>& Ongles</h3>
              <span class="cat-card-arrow">→</span>
            </a>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- ===== EDITORIAL STRIP ===== -->
  <div class="editorial-strip" aria-hidden="true">
    <div class="strip-track">
      <!-- Duplicated for infinite loop -->
      <span class="strip-item"><span class="strip-dot"></span> Routine du matin</span>
      <span class="strip-item"><span class="strip-dot"></span> Glow naturel</span>
      <span class="strip-item"><span class="strip-dot"></span> Anti-âge doux</span>
      <span class="strip-item"><span class="strip-dot"></span> Peaux sensibles</span>
      <span class="strip-item"><span class="strip-dot"></span> Clean beauty</span>
      <span class="strip-item"><span class="strip-dot"></span> SPF & protection</span>
      <span class="strip-item"><span class="strip-dot"></span> Soins biorésorbables</span>
      <span class="strip-item"><span class="strip-dot"></span> Ingrédients actifs</span>
      <span class="strip-item"><span class="strip-dot"></span> Beauté holistique</span>
      <span class="strip-item"><span class="strip-dot"></span> Routine du matin</span>
      <span class="strip-item"><span class="strip-dot"></span> Glow naturel</span>
      <span class="strip-item"><span class="strip-dot"></span> Anti-âge doux</span>
      <span class="strip-item"><span class="strip-dot"></span> Peaux sensibles</span>
      <span class="strip-item"><span class="strip-dot"></span> Clean beauty</span>
      <span class="strip-item"><span class="strip-dot"></span> SPF & protection</span>
      <span class="strip-item"><span class="strip-dot"></span> Soins biorésorbables</span>
      <span class="strip-item"><span class="strip-dot"></span> Ingrédients actifs</span>
      <span class="strip-item"><span class="strip-dot"></span> Beauté holistique</span>
    </div>
  </div>

  <!-- ===== ARTICLES ===== -->
  <section class="articles" aria-labelledby="articles-heading">
    <div class="container">
      <div class="articles-header">
        <div class="reveal">
          <span class="section-label">À Lire</span>
          <h2 class="section-title" id="articles-heading">Nos derniers <em>articles experts</em></h2>
        </div>
        <a href="/blog" class="btn btn-outline reveal">Tout voir</a>
      </div>

      <div class="articles-grid">
        <!-- Main article -->
        <article class="article-card main reveal" itemscope itemtype="https://schema.org/Article">
          <div class="article-img">
            <img
              src="https://images.unsplash.com/photo-1487412947147-5cebf100ffc2?w=800&q=80&auto=format&fit=crop"
              alt="Femme 40 ans avec belle peau grâce à routine anti-âge"
              width="800" height="340"
              loading="lazy"
              itemprop="image"
            >
            <span class="expert-badge">✓ Validé par une dermatologue</span>
          </div>
          <div class="article-body">
            <div class="article-meta">
              <span class="tag">Anti-âge</span>
              <div class="article-author" itemprop="author" itemscope itemtype="https://schema.org/Person">
                <img src="https://i.pravatar.cc/48?img=47" alt="Dr. Sophie Martin" width="24" height="24" loading="lazy">
                <span itemprop="name">Dr. Sophie Martin</span>
              </div>
              <span class="article-date">
                <time itemprop="datePublished" datetime="2026-05-28">28 mai 2026</time>
              </span>
            </div>
            <h3 class="article-title" itemprop="headline">
              <a href="/soins-visage/anti-age/routine-40-ans">Routine Anti-âge 40 ans : les 7 gestes que les dermatologues recommandent vraiment</a>
            </h3>
            <p class="article-excerpt" itemprop="description">
              Acide hyaluronique, rétinol, SPF… La dermatologue Sophie Martin démêle le vrai du faux et compose pour vous une routine personnalisée en fonction de votre type de peau. Résultats visibles en 4 semaines.
            </p>
            <span class="article-read-more">Lire l'article</span>
          </div>
        </article>

        <!-- Article 2 -->
        <article class="article-card reveal reveal-delay-1" itemscope itemtype="https://schema.org/Article">
          <div class="article-img">
            <img
              src="https://images.unsplash.com/photo-1512290923902-8a9f81dc236c?w=500&q=80&auto=format&fit=crop"
              alt="Crème hydratante naturelle - textures et ingrédients"
              width="500" height="200"
              loading="lazy"
              itemprop="image"
            >
          </div>
          <div class="article-body">
            <div class="article-meta">
              <span class="tag">Tests Produits</span>
              <span class="article-date"><time datetime="2026-05-20">20 mai 2026</time></span>
            </div>
            <h3 class="article-title" itemprop="headline">
              <a href="/tests-produits/meilleures-cremes-hydratantes-2026">Test : les 10 meilleures crèmes hydratantes testées en laboratoire (2026)</a>
            </h3>
            <p class="article-excerpt">Notre équipe a passé 60 produits au crible pendant 8 semaines. Voici le classement objectif.</p>
            <span class="article-read-more">Lire l'article</span>
          </div>
        </article>

        <!-- Article 3 -->
        <article class="article-card reveal reveal-delay-2" itemscope itemtype="https://schema.org/Article">
          <div class="article-img">
            <img
              src="https://images.unsplash.com/photo-1616394584738-fc6e612e71b9?w=500&q=80&auto=format&fit=crop"
              alt="Injection botox médecin consultation esthétique"
              width="500" height="200"
              loading="lazy"
              itemprop="image"
            >
            <span class="expert-badge">✓ Validé Médical</span>
          </div>
          <div class="article-body">
            <div class="article-meta">
              <span class="tag">Esthétique Méd.</span>
              <span class="article-date"><time datetime="2026-05-15">15 mai 2026</time></span>
            </div>
            <h3 class="article-title" itemprop="headline">
              <a href="/esthetique-medicale/injections/botox-guide-complet">Botox : tout ce qu'il faut savoir avant de se lancer (prix, risques, durée)</a>
            </h3>
            <p class="article-excerpt">Notre guide médical complet pour décider en toute connaissance de cause, avec l'avis de 5 chirurgiens esthétiques.</p>
            <span class="article-read-more">Lire l'article</span>
          </div>
        </article>
      </div>
    </div>
  </section>

  <!-- ===== SKIN QUIZ / ROUTINE BUILDER ===== -->
  <section class="routine" aria-labelledby="routine-heading">
    <div class="container">
      <div class="routine-inner">
        <div class="routine-content reveal">
          <span class="section-label">Personnalisé</span>
          <h2 class="section-title" id="routine-heading">Votre <em>routine</em><br>sur-mesure</h2>
          <p class="section-intro">Répondez à 4 questions et découvrez la routine beauté parfaite pour votre peau. Créé avec nos dermatologues partenaires.</p>
          <br><br>
          <div style="display:flex; flex-direction:column; gap:.75rem;">
            <div style="display:flex; align-items:center; gap:.75rem; color: var(--c-goldlt);">
              <span style="font-size:1.3rem;">🎯</span>
              <span style="font-size:.9rem;">Résultats personnalisés en 2 minutes</span>
            </div>
            <div style="display:flex; align-items:center; gap:.75rem; color: var(--c-goldlt);">
              <span style="font-size:1.3rem;">👩‍⚕️</span>
              <span style="font-size:.9rem;">Validé par des dermatologues</span>
            </div>
            <div style="display:flex; align-items:center; gap:.75rem; color: var(--c-goldlt);">
              <span style="font-size:1.3rem;">🌿</span>
              <span style="font-size:.9rem;">Produits sélectionnés sans parabène ni perturbateur endocrinien</span>
            </div>
          </div>
        </div>

        <!-- Skin Quiz Widget -->
        <div class="skin-quiz reveal reveal-delay-2" role="form" aria-label="Quiz diagnostic peau">
          <div class="quiz-progress" role="progressbar" aria-valuemin="0" aria-valuemax="4" aria-valuenow="1">
            <div class="quiz-dot done" id="qd1"></div>
            <div class="quiz-dot" id="qd2"></div>
            <div class="quiz-dot" id="qd3"></div>
            <div class="quiz-dot" id="qd4"></div>
          </div>

          <!-- Step 1 -->
          <div class="quiz-step active" id="qs1">
            <p class="quiz-title">Quel est votre type de peau ?</p>
            <div class="quiz-options">
              <button class="quiz-opt" data-step="1" data-val="normale">Normale</button>
              <button class="quiz-opt" data-step="1" data-val="seche">Sèche</button>
              <button class="quiz-opt" data-step="1" data-val="mixte">Mixte</button>
              <button class="quiz-opt" data-step="1" data-val="grasse">Grasse</button>
            </div>
          </div>

          <!-- Step 2 -->
          <div class="quiz-step" id="qs2">
            <p class="quiz-title">Votre principale préoccupation ?</p>
            <div class="quiz-options">
              <button class="quiz-opt" data-step="2" data-val="rides">Rides & Anti-âge</button>
              <button class="quiz-opt" data-step="2" data-val="eclat">Éclat & Teint terne</button>
              <button class="quiz-opt" data-step="2" data-val="acne">Acné & Pores</button>
              <button class="quiz-opt" data-step="2" data-val="hydrat">Déshydratation</button>
            </div>
          </div>

          <!-- Step 3 -->
          <div class="quiz-step" id="qs3">
            <p class="quiz-title">Votre tranche d'âge ?</p>
            <div class="quiz-options">
              <button class="quiz-opt" data-step="3" data-val="20s">20 – 30 ans</button>
              <button class="quiz-opt" data-step="3" data-val="30s">30 – 40 ans</button>
              <button class="quiz-opt" data-step="3" data-val="40s">40 – 50 ans</button>
              <button class="quiz-opt" data-step="3" data-val="50+">50 ans et +</button>
            </div>
          </div>

          <!-- Step 4 -->
          <div class="quiz-step" id="qs4">
            <p class="quiz-title">Votre budget mensuel ?</p>
            <div class="quiz-options">
              <button class="quiz-opt" data-step="4" data-val="eco">Moins de 30€</button>
              <button class="quiz-opt" data-step="4" data-val="mid">30€ – 80€</button>
              <button class="quiz-opt" data-step="4" data-val="prem">80€ – 150€</button>
              <button class="quiz-opt" data-step="4" data-val="lux">150€ et plus</button>
            </div>
          </div>

          <!-- Result -->
          <div class="routine-result" id="quizResult">
            <div class="result-type" id="resultType">Votre routine : Éclat & Jeunesse</div>
            <p class="result-desc" id="resultDesc">Basée sur vos réponses, voici notre programme sur-mesure validé par nos experts.</p>
            <a href="/routine-sur-mesure" class="btn btn-gold" style="width:100%; justify-content:center;">Voir ma routine complète ✦</a>
          </div>
        </div>
      </div>
    </div>
  </section>

  <!-- ===== EXPERTS (E-E-A-T) ===== -->
  <section class="experts" aria-labelledby="experts-heading">
    <div class="container">
      <div class="experts-header reveal">
        <span class="section-label">Notre Équipe</span>
        <h2 class="section-title" id="experts-heading">Des <em>expertes</em> à votre service</h2>
        <p class="section-intro">Chaque article de Guide Beauté est rédigé ou validé par un professionnel de santé ou un expert beauté certifié. C'est notre engagement.</p>
      </div>

      <div class="experts-grid">
        <article class="expert-card reveal reveal-delay-1" itemscope itemtype="https://schema.org/Person">
          <img
            class="expert-img"
            src="https://i.pravatar.cc/300?img=47"
            alt="Dr. Sophie Martin, Dermatologue"
            width="300" height="200"
            loading="lazy"
            itemprop="image"
          >
          <div class="expert-body">
            <h3 class="expert-name" itemprop="name">Dr. Sophie Martin</h3>
            <p class="expert-title" itemprop="jobTitle">Dermatologue — Paris</p>
            <p class="expert-bio" itemprop="description">15 ans d'expérience en dermatologie esthétique. Spécialiste des peaux matures et du traitement des hyperpigmentations.</p>
            <div class="expert-creds">
              <span class="expert-cred">Anti-âge</span>
              <span class="expert-cred">Laser</span>
              <span class="expert-cred">CPCP</span>
            </div>
          </div>
        </article>

        <article class="expert-card reveal reveal-delay-2" itemscope itemtype="https://schema.org/Person">
          <img
            class="expert-img"
            src="https://i.pravatar.cc/300?img=44"
            alt="Isabelle Renard, Cosméticienne Clinique"
            width="300" height="200"
            loading="lazy"
            itemprop="image"
          >
          <div class="expert-body">
            <h3 class="expert-name" itemprop="name">Isabelle Renard</h3>
            <p class="expert-title" itemprop="jobTitle">Cosméticienne Clinique</p>
            <p class="expert-bio" itemprop="description">Formulatrice de soins naturels et clean beauty. Co-autrice de "La peau, miroir de santé" (Éditions Albin Michel).</p>
            <div class="expert-creds">
              <span class="expert-cred">Clean Beauty</span>
              <span class="expert-cred">Formulation</span>
            </div>
          </div>
        </article>

        <article class="expert-card reveal reveal-delay-3" itemscope itemtype="https://schema.org/Person">
          <img
            class="expert-img"
            src="https://i.pravatar.cc/300?img=32"
            alt="Dr. Camille Leroux, Chirurgienne Esthétique"
            width="300" height="200"
            loading="lazy"
            itemprop="image"
          >
          <div class="expert-body">
            <h3 class="expert-name" itemprop="name">Dr. Camille Leroux</h3>
            <p class="expert-title" itemprop="jobTitle">Chirurgienne Esthétique</p>
            <p class="expert-bio" itemprop="description">Chirurgienne plasticienne certifiée. Expertise en lifting, rhinoplastie et interventions mini-invasives. Membre de la SOFCEP.</p>
            <div class="expert-creds">
              <span class="expert-cred">Chirurgie</span>
              <span class="expert-cred">SOFCEP</span>
            </div>
          </div>
        </article>

        <article class="expert-card reveal reveal-delay-4" itemscope itemtype="https://schema.org/Person">
          <img
            class="expert-img"
            src="https://i.pravatar.cc/300?img=25"
            alt="Marie Dupont, Experte Maquillage & Colorimétrie"
            width="300" height="200"
            loading="lazy"
            itemprop="image"
          >
          <div class="expert-body">
            <h3 class="expert-name" itemprop="name">Marie Dupont</h3>
            <p class="expert-title" itemprop="jobTitle">Maquilleuse Professionnelle</p>
            <p class="expert-bio" itemprop="description">20 ans en backstage fashion weeks et cinema. Colorimétrie & techniques personnalisées pour toutes carnations.</p>
            <div class="expert-creds">
              <span class="expert-cred">Makeup</span>
              <span class="expert-cred">Colorimétrie</span>
            </div>
          </div>
        </article>
      </div>

      <div style="text-align:center; margin-top:3rem;" class="reveal">
        <a href="/experts" class="btn btn-outline">Rencontrer toute l'équipe</a>
      </div>
    </div>
  </section>

  <!-- ===== PRODUCTS ===== -->
  <section class="products" aria-labelledby="products-heading">
    <div class="container">
      <div class="products-header">
        <div class="reveal">
          <span class="section-label">Sélection 2026</span>
          <h2 class="section-title" id="products-heading">Produits <em>testés</em> & approuvés</h2>
        </div>
        <div class="products-tabs reveal" role="tablist" aria-label="Catégories de produits">
          <button class="tab-btn active" role="tab" aria-selected="true" data-tab="visage">Visage</button>
          <button class="tab-btn" role="tab" aria-selected="false" data-tab="corps">Corps</button>
          <button class="tab-btn" role="tab" aria-selected="false" data-tab="cheveux">Cheveux</button>
          <button class="tab-btn" role="tab" aria-selected="false" data-tab="makeup">Makeup</button>
        </div>
      </div>

      <div class="products-grid" role="list">
        <article class="product-card reveal reveal-delay-1" role="listitem" itemscope itemtype="https://schema.org/Product">
          <div class="product-img-wrap">
            <img
              src="https://images.unsplash.com/photo-1556228578-8c89e6adf883?w=400&q=80&auto=format&fit=crop"
              alt="Crème anti-âge luxe en flacon blanc"
              width="400" height="400"
              loading="lazy"
              itemprop="image"
            >
            <span class="product-badge">Coup de ♥</span>
          </div>
          <div class="product-body">
            <p class="product-brand" itemprop="brand">La Mer</p>
            <h3 class="product-name" itemprop="name">Crème de La Mer</h3>
            <div>
              <span class="product-stars">★★★★★</span>
              <span class="product-reviews">(482 avis)</span>
            </div>
            <div class="product-price">
              <span class="price-current" itemprop="price">189€</span>
            </div>
          </div>
        </article>

        <article class="product-card reveal reveal-delay-2" role="listitem" itemscope itemtype="https://schema.org/Product">
          <div class="product-img-wrap">
            <img
              src="https://images.unsplash.com/photo-1598440947619-2c35fc9aa908?w=400&q=80&auto=format&fit=crop"
              alt="Sérum vitamine C en compte-gouttes ambré"
              width="400" height="400"
              loading="lazy"
              itemprop="image"
            >
            <span class="product-badge">Meilleure vente</span>
          </div>
          <div class="product-body">
            <p class="product-brand" itemprop="brand">The Ordinary</p>
            <h3 class="product-name" itemprop="name">Sérum Vitamine C 23%</h3>
            <div>
              <span class="product-stars">★★★★☆</span>
              <span class="product-reviews">(1 204 avis)</span>
            </div>
            <div class="product-price">
              <span class="price-current" itemprop="price">13,90€</span>
              <span class="price-old">17€</span>
            </div>
          </div>
        </article>

        <article class="product-card reveal reveal-delay-3" role="listitem" itemscope itemtype="https://schema.org/Product">
          <div class="product-img-wrap">
            <img
              src="https://images.unsplash.com/photo-1620916566398-39f1143ab7be?w=400&q=80&auto=format&fit=crop"
              alt="Huile sèche corps dorée en flacon vaporisateur"
              width="400" height="400"
              loading="lazy"
              itemprop="image"
            >
          </div>
          <div class="product-body">
            <p class="product-brand" itemprop="brand">Nuxe</p>
            <h3 class="product-name" itemprop="name">Huile Prodigieuse® Or</h3>
            <div>
              <span class="product-stars">★★★★★</span>
              <span class="product-reviews">(3 871 avis)</span>
            </div>
            <div class="product-price">
              <span class="price-current" itemprop="price">28,50€</span>
            </div>
          </div>
        </article>

        <article class="product-card reveal reveal-delay-4" role="listitem" itemscope itemtype="https://schema.org/Product">
          <div class="product-img-wrap">
            <img
              src="https://images.unsplash.com/photo-1571781926291-c477ebfd024b?w=400&q=80&auto=format&fit=crop"
              alt="Masque tissu hydratant - soin visage coréen"
              width="400" height="400"
              loading="lazy"
              itemprop="image"
            >
            <span class="product-badge">Nouveau</span>
          </div>
          <div class="product-body">
            <p class="product-brand" itemprop="brand">Avène</p>
            <h3 class="product-name" itemprop="name">Masque Cicalfate Repair+</h3>
            <div>
              <span class="product-stars">★★★★☆</span>
              <span class="product-reviews">(268 avis)</span>
            </div>
            <div class="product-price">
              <span class="price-current" itemprop="price">22€</span>
              <span class="price-old">25€</span>
            </div>
          </div>
        </article>
      </div>

      <div style="text-align:center; margin-top:2.5rem;" class="reveal">
        <a href="/tests-produits" class="btn btn-outline">Tous nos tests produits →</a>
      </div>
    </div>
  </section>

  <!-- ===== TESTIMONIALS ===== -->
  <section class="testimonials" aria-labelledby="testi-heading">
    <div class="container">
      <div class="testimonials-header reveal">
        <span class="section-label">Témoignages</span>
        <h2 class="section-title" id="testi-heading">Elles nous font <em>confiance</em></h2>
        <p class="section-intro">Plus de 42 000 lectrices nous font confiance chaque mois. Voici leurs retours authentiques.</p>
      </div>

      <div class="testimonials-track-wrap">
        <div class="testimonials-track" id="testiTrack">
          <div class="testimonial-card" itemscope itemtype="https://schema.org/Review">
            <div class="testimonial-stars">★★★★★</div>
            <p class="testimonial-text" itemprop="reviewBody">"Grâce à la routine anti-âge recommandée par Dr. Martin, ma peau a retrouvé un éclat que je n'avais plus depuis mes 30 ans. Les conseils sont clairs, les produits accessibles. Je recommande à toutes mes amies !"</p>
            <div class="testimonial-author">
              <img src="https://i.pravatar.cc/88?img=12" alt="Claire B." width="44" height="44" loading="lazy">
              <div>
                <p class="testimonial-name" itemprop="author">Claire B.</p>
                <p class="testimonial-info">Lectrice depuis 3 ans · Lyon</p>
                <p class="testimonial-verified">✓ Avis vérifié</p>
              </div>
            </div>
          </div>

          <div class="testimonial-card" itemscope itemtype="https://schema.org/Review">
            <div class="testimonial-stars">★★★★★</div>
            <p class="testimonial-text" itemprop="reviewBody">"Le guide sur le botox m'a permis de poser les bonnes questions à mon médecin. J'ai trouvé un praticien recommandé via votre annuaire et tout s'est parfaitement passé. Un site de confiance !"</p>
            <div class="testimonial-author">
              <img src="https://i.pravatar.cc/88?img=9" alt="Nathalie D." width="44" height="44" loading="lazy">
              <div>
                <p class="testimonial-name" itemprop="author">Nathalie D.</p>
                <p class="testimonial-info">Lectrice depuis 5 ans · Paris</p>
                <p class="testimonial-verified">✓ Avis vérifié</p>
              </div>
            </div>
          </div>

          <div class="testimonial-card" itemscope itemtype="https://schema.org/Review">
            <div class="testimonial-stars">★★★★★</div>
            <p class="testimonial-text" itemprop="reviewBody">"Le quiz de diagnostic peau m'a bluffée. Ma routine suggérée est parfaitement adaptée à mes 50 ans et à ma peau sèche. En 6 semaines, mes collègues m'ont demandé ce que je faisais différemment !"</p>
            <div class="testimonial-author">
              <img src="https://i.pravatar.cc/88?img=21" alt="Sylvie M." width="44" height="44" loading="lazy">
              <div>
                <p class="testimonial-name" itemprop="author">Sylvie M.</p>
                <p class="testimonial-info">Lectrice depuis 2 ans · Bordeaux</p>
                <p class="testimonial-verified">✓ Avis vérifié</p>
              </div>
            </div>
          </div>

          <div class="testimonial-card" itemscope itemtype="https://schema.org/Review">
            <div class="testimonial-stars">★★★★☆</div>
            <p class="testimonial-text" itemprop="reviewBody">"J'apprécie énormément la rigueur scientifique des articles. Chaque affirmation est sourcée et validée par un médecin. C'est rare sur le web beauté et ça fait toute la différence !"</p>
            <div class="testimonial-author">
              <img src="https://i.pravatar.cc/88?img=28" alt="Émilie R." width="44" height="44" loading="lazy">
              <div>
                <p class="testimonial-name" itemprop="author">Émilie R.</p>
                <p class="testimonial-info">Lectrice depuis 4 ans · Nantes</p>
                <p class="testimonial-verified">✓ Avis vérifié</p>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="testimonials-nav" aria-label="Navigation témoignages">
        <button class="testi-btn" id="testiPrev" aria-label="Témoignage précédent">←</button>
        <div class="testi-dots" role="list">
          <div class="testi-dot active" data-idx="0" role="listitem"></div>
          <div class="testi-dot" data-idx="1" role="listitem"></div>
        </div>
        <button class="testi-btn" id="testiNext" aria-label="Témoignage suivant">→</button>
      </div>
    </div>
  </section>

  <!-- ===== NEWSLETTER ===== -->
  <section class="newsletter" aria-labelledby="nl-heading">
    <div class="container">
      <div class="newsletter-inner">
        <div class="newsletter-content reveal">
          <span class="section-label">Newsletter</span>
          <h2 class="section-title" id="nl-heading">La beauté <em>experte</em><br>dans votre boîte mail</h2>
          <p class="newsletter-desc">Rejoignez 42 000 abonnées qui reçoivent chaque semaine les meilleurs conseils beauté, soins anti-âge et nouveautés produits.</p>
          <div class="newsletter-perks">
            <div class="perk"><div class="perk-icon">🎁</div> Le guide PDF "30 soins naturels maison" offert à l'inscription</div>
            <div class="perk"><div class="perk-icon">📧</div> 1 email par semaine, pas de spam, désinscription en 1 clic</div>
            <div class="perk"><div class="perk-icon">🔒</div> Vos données restent confidentielles (RGPD)</div>
          </div>
        </div>
        <div class="reveal reveal-delay-2">
          <form class="nl-form" id="nlForm" novalidate aria-label="Formulaire d'inscription newsletter">
            <div class="nl-row">
              <input type="text" class="nl-input" placeholder="Votre prénom" autocomplete="given-name" required aria-label="Votre prénom">
            </div>
            <div class="nl-row">
              <input type="email" class="nl-input" placeholder="Votre adresse email" autocomplete="email" required aria-label="Votre adresse email" id="nlEmail">
              <button type="submit" class="btn btn-gold" aria-label="S'abonner à la newsletter">Je m'abonne</button>
            </div>
            <p class="nl-privacy">En vous inscrivant, vous acceptez nos <a href="/confidentialite">conditions de confidentialité</a>. Désinscription possible à tout moment.</p>
          </form>
          <div id="nlSuccess" style="display:none; text-align:center; padding:2rem 0;">
            <div style="font-size:2.5rem; margin-bottom:.5rem;">💌</div>
            <p style="font-family:var(--f-display); font-size:1.5rem; color:var(--c-cream); font-style:italic;">Bienvenue dans la communauté !</p>
            <p style="color:var(--c-goldlt); font-size:.9rem; margin-top:.5rem;">Votre guide PDF arrive dans quelques minutes.</p>
          </div>
        </div>
      </div>
    </div>
  </section>

</main>

<!-- ===== FOOTER ===== -->
<footer class="site-footer" role="contentinfo">
  <div class="container">
    <div class="footer-grid">
      <div class="footer-brand">
        <a href="/" class="logo" aria-label="Guide Beauté - Accueil">Guide <span>Beauté</span></a>
        <p class="footer-desc">Votre référence experte en soins beauté, anti-âge et esthétique médicale. Contenus validés par des professionnels de santé depuis 2018.</p>
        <div class="footer-social" aria-label="Nos réseaux sociaux">
          <a href="https://instagram.com/guidebeaute" class="social-link" aria-label="Instagram Guide Beauté" target="_blank" rel="noopener">📸</a>
          <a href="https://tiktok.com/@guidebeaute" class="social-link" aria-label="TikTok Guide Beauté" target="_blank" rel="noopener">♪</a>
          <a href="https://pinterest.com/guidebeaute" class="social-link" aria-label="Pinterest Guide Beauté" target="_blank" rel="noopener">📌</a>
          <a href="https://youtube.com/guidebeaute" class="social-link" aria-label="YouTube Guide Beauté" target="_blank" rel="noopener">▶</a>
        </div>
      </div>
      <div class="footer-col">
        <h4>Soins & Beauté</h4>
        <ul>
          <li><a href="/soins-visage/anti-age">Anti-âge & Rides</a></li>
          <li><a href="/soins-visage/hydratation">Hydratation</a></li>
          <li><a href="/soins-visage/eclat">Éclat du Teint</a></li>
          <li><a href="/soins-visage/acne">Soins Acné</a></li>
          <li><a href="/corps-bien-etre">Corps & Bien-être</a></li>
          <li><a href="/makeup">Maquillage</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>Esthétique Médicale</h4>
        <ul>
          <li><a href="/esthetique-medicale/injections">Injections & Botox</a></li>
          <li><a href="/esthetique-medicale/chirurgie-visage">Chirurgie Visage</a></li>
          <li><a href="/esthetique-medicale/chirurgie-corps">Chirurgie Corps</a></li>
          <li><a href="/esthetique-medicale/laser-lumiere">Laser & IPL</a></li>
          <li><a href="/esthetique-medicale/trouver-chirurgien">Annuaire Chirurgiens</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h4>Guide Beauté</h4>
        <ul>
          <li><a href="/a-propos">À Propos</a></li>
          <li><a href="/experts">Notre Équipe Experte</a></li>
          <li><a href="/tests-produits">Tests Produits</a></li>
          <li><a href="/blog">Blog & Conseils</a></li>
          <li><a href="/newsletter">Newsletter</a></li>
          <li><a href="/contact">Contact</a></li>
        </ul>
      </div>
    </div>
    <div class="footer-bottom">
      <p>© 2026 Guide Beauté — Tous droits réservés.</p>
      <nav class="footer-legal" aria-label="Liens légaux">
        <a href="/mentions-legales">Mentions légales</a>
        <a href="/confidentialite">Politique de confidentialité</a>
        <a href="/cookies">Gestion des cookies</a>
        <a href="/sitemap.xml">Sitemap</a>
      </nav>
    </div>
  </div>
</footer>

<!-- ===== SCROLL TO TOP ===== -->
<button class="scroll-top" id="scrollTop" aria-label="Retour en haut de page">↑</button>

<!-- ===== JAVASCRIPT ===== -->
<script>
(function() {
  'use strict';

  /* ---- Sticky header shadow ---- */
  const header = document.getElementById('site-header');
  const navCta = document.getElementById('nav-cta');
  window.addEventListener('scroll', () => {
    const s = window.scrollY > 60;
    header.classList.toggle('scrolled', s);
    if (navCta) navCta.style.display = s ? 'inline-flex' : 'none';
  }, { passive: true });

  /* ---- Burger menu ---- */
  const burger = document.getElementById('burgerBtn');
  const mobileNav = document.getElementById('mobileNav');
  burger.addEventListener('click', () => {
    const open = burger.classList.toggle('open');
    mobileNav.classList.toggle('open', open);
    burger.setAttribute('aria-expanded', open);
    document.body.style.overflow = open ? 'hidden' : '';
  });
  // Close on outside click
  document.addEventListener('click', (e) => {
    if (!header.contains(e.target) && mobileNav.classList.contains('open')) {
      burger.classList.remove('open');
      mobileNav.classList.remove('open');
      burger.setAttribute('aria-expanded', 'false');
      document.body.style.overflow = '';
    }
  });

  /* ---- Search overlay ---- */
  const searchBtn = document.getElementById('searchBtn');
  const searchOverlay = document.getElementById('searchOverlay');
  const searchClose = document.getElementById('searchClose');
  const searchInput = document.getElementById('searchInput');
  searchBtn.addEventListener('click', () => {
    searchOverlay.classList.add('open');
    setTimeout(() => searchInput.focus(), 100);
  });
  const closeSearch = () => searchOverlay.classList.remove('open');
  searchClose.addEventListener('click', closeSearch);
  searchOverlay.addEventListener('click', (e) => { if (e.target === searchOverlay) closeSearch(); });
  document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeSearch(); });

  /* ---- Hero counter animation ---- */
  const counters = document.querySelectorAll('[data-target]');
  const runCounters = () => {
    counters.forEach(el => {
      const target = +el.dataset.target;
      const suffix = target >= 100 ? '+' : '+';
      let current = 0;
      const step = Math.ceil(target / 60);
      const tick = () => {
        current = Math.min(current + step, target);
        el.textContent = current + suffix;
        if (current < target) requestAnimationFrame(tick);
      };
      tick();
    });
  };
  // Trigger when hero is visible
  const heroObs = new IntersectionObserver((entries) => {
    if (entries[0].isIntersecting) { runCounters(); heroObs.disconnect(); }
  }, { threshold: .3 });
  const heroSection = document.querySelector('.hero');
  if (heroSection) heroObs.observe(heroSection);

  /* ---- Scroll reveal (Intersection Observer) ---- */
  const revealObs = new IntersectionObserver((entries) => {
    entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in-view'); revealObs.unobserve(e.target); } });
  }, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' });
  document.querySelectorAll('.reveal').forEach(el => revealObs.observe(el));

  /* ---- Skin Quiz ---- */
  const quizData = {};
  let currentStep = 1;
  const totalSteps = 4;

  document.querySelectorAll('.quiz-opt').forEach(btn => {
    btn.addEventListener('click', () => {
      const step = +btn.dataset.step;
      // Mark selected
      btn.closest('.quiz-options').querySelectorAll('.quiz-opt').forEach(b => b.classList.remove('selected'));
      btn.classList.add('selected');
      quizData[step] = btn.dataset.val;

      setTimeout(() => {
        if (step < totalSteps) {
          document.getElementById('qs' + step).classList.remove('active');
          currentStep = step + 1;
          document.getElementById('qs' + currentStep).classList.add('active');
          // Update progress dots
          document.getElementById('qd' + currentStep).classList.add('done');
          document.querySelector('.quiz-progress').setAttribute('aria-valuenow', currentStep);
        } else {
          // Show result
          document.getElementById('qs' + step).style.display = 'none';
          const result = document.getElementById('quizResult');
          result.classList.add('show');
          // Compose result text
          const concerns = { rides: 'Anti-âge & Éclat', eclat: 'Glow & Luminosité', acne: 'Pureté & Équilibre', hydrat: 'Hydratation Intense' };
          document.getElementById('resultType').textContent = 'Votre routine : ' + (concerns[quizData[2]] || 'Beauté Complète');
          document.getElementById('resultDesc').textContent = 'Basée sur vos réponses, voici notre programme sur-mesure pour une peau ' + btn.dataset.val + ', validé par nos experts.';
        }
      }, 280);
    });
  });

  /* ---- Testimonials slider ---- */
  const track = document.getElementById('testiTrack');
  const dots = document.querySelectorAll('.testi-dot');
  let testiIdx = 0;
  const cards = track ? track.querySelectorAll('.testimonial-card') : [];
  const isMobile = () => window.innerWidth < 769;
  const getVisibleCount = () => isMobile() ? 1 : (window.innerWidth < 1100 ? 2 : 3);

  const setSlide = (idx) => {
    const vis = getVisibleCount();
    const maxIdx = Math.ceil(cards.length / vis) - 1;
    testiIdx = Math.max(0, Math.min(idx, maxIdx));
    const pct = testiIdx * (100 / vis);
    track.style.transform = 'translateX(-' + pct + '%)';
    dots.forEach((d, i) => d.classList.toggle('active', i === testiIdx));
  };

  document.getElementById('testiPrev')?.addEventListener('click', () => setSlide(testiIdx - 1));
  document.getElementById('testiNext')?.addEventListener('click', () => setSlide(testiIdx + 1));
  dots.forEach(d => d.addEventListener('click', () => setSlide(+d.dataset.idx)));
  // Auto-play
  let autoPlay = setInterval(() => setSlide(testiIdx + 1 > (isMobile() ? cards.length - 1 : 1) ? 0 : testiIdx + 1), 5000);
  track?.parentElement.addEventListener('mouseenter', () => clearInterval(autoPlay));
  track?.parentElement.addEventListener('mouseleave', () => { autoPlay = setInterval(() => setSlide(testiIdx + 1 > (isMobile() ? cards.length - 1 : 1) ? 0 : testiIdx + 1), 5000); });

  /* ---- Products tabs (visual toggle only, no fetch) ---- */
  document.querySelectorAll('.tab-btn').forEach(btn => {
    btn.addEventListener('click', () => {
      document.querySelectorAll('.tab-btn').forEach(b => { b.classList.remove('active'); b.setAttribute('aria-selected', 'false'); });
      btn.classList.add('active');
      btn.setAttribute('aria-selected', 'true');
    });
  });

  /* ---- Newsletter form ---- */
  const nlForm = document.getElementById('nlForm');
  const nlSuccess = document.getElementById('nlSuccess');
  nlForm?.addEventListener('submit', (e) => {
    e.preventDefault();
    const email = document.getElementById('nlEmail').value;
    if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
      document.getElementById('nlEmail').style.borderColor = '#e57373';
      return;
    }
    nlForm.style.display = 'none';
    nlSuccess.style.display = 'block';
  });

  /* ---- Scroll to top ---- */
  const scrollTopBtn = document.getElementById('scrollTop');
  window.addEventListener('scroll', () => {
    scrollTopBtn.classList.toggle('visible', window.scrollY > 500);
  }, { passive: true });
  scrollTopBtn.addEventListener('click', () => window.scrollTo({ top: 0, behavior: 'smooth' }));

  /* ---- Reduce motion support ---- */
  if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
    document.querySelectorAll('.strip-track, .hero-card').forEach(el => {
      el.style.animation = 'none';
    });
  }

})();
</script>

</body>
</html>