
    /* ═══════════════════════════════════════════════════════
       DESIGN SYSTEM — Ivoire & Émeraude
       ═══════════════════════════════════════════════════════ */
    :root {
      --ivory: #FAF6EF;
      --ivory-deep: #F3EDE1;
      --paper: #FFFFFF;
      --ink: #15251F;
      --muted: #5D6B63;
      --faint: #8A958E;

      --emerald: #0C5B45;
      --emerald-dark: #08402F;
      --emerald-soft: #E5F0EB;
      --gold: #B8892F;
      --gold-deep: #96690F;
      --gold-soft: #F7EEDC;

      --line: #E6DECF;
      --radius: 20px;
      --radius-sm: 12px;

      --shadow-sm: 0 2px 8px rgba(21, 37, 31, 0.06);
      --shadow-md: 0 12px 32px rgba(21, 37, 31, 0.10);
      --shadow-lg: 0 24px 60px rgba(21, 37, 31, 0.14);

      --font-display: 'Fraunces', Georgia, serif;
      --font-body: 'Inter', system-ui, sans-serif;
      --font-arabic: 'Amiri', serif;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 90px;
    }

    body {
      background: var(--ivory);
      color: var(--ink);
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.65;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    ::selection { background: var(--emerald); color: #FFF; }

    .container {
      width: 100%;
      max-width: 1160px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }

    section { padding: 5.5rem 0; }

    h1, h2, h3 {
      font-family: var(--font-display);
      font-weight: 600;
      letter-spacing: -0.01em;
      line-height: 1.15;
    }

    a { color: var(--emerald); }

    .pattern-bg {
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: 0.5;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23D9CDB4' stroke-width='1' opacity='0.45'%3E%3Cpath d='M48 8l11.3 28.7L88 48 59.3 59.3 48 88 36.7 59.3 8 48l28.7-11.3z'/%3E%3C/g%3E%3C/svg%3E");
      -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.9), transparent 75%);
      mask-image: linear-gradient(180deg, rgba(0,0,0,0.9), transparent 75%);
    }

    .section-head {
      max-width: 660px;
      margin: 0 auto 3.5rem;
      text-align: center;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--gold-deep);
      margin-bottom: 1rem;
    }
    .eyebrow::before, .eyebrow::after {
      content: "";
      width: 22px; height: 1px;
      background: var(--gold);
      opacity: 0.6;
    }
    .section-head h2 {
      font-size: clamp(1.9rem, 4vw, 2.6rem);
      margin-bottom: 0.9rem;
    }
    .section-head h2 em, .left-head h2 em {
      font-style: italic;
      color: var(--emerald);
    }
    .section-head p {
      color: var(--muted);
      font-size: 1.05rem;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.55rem;
      padding: 0.85rem 1.7rem;
      border-radius: 999px;
      font-family: var(--font-body);
      font-size: 0.95rem;
      font-weight: 600;
      text-decoration: none;
      border: 1px solid transparent;
      cursor: pointer;
      transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    }
    .btn-primary {
      background: var(--emerald);
      color: #FFF;
      box-shadow: 0 10px 24px rgba(12, 91, 69, 0.28);
    }
    .btn-primary:hover {
      background: var(--emerald-dark);
      transform: translateY(-2px);
      box-shadow: 0 14px 32px rgba(12, 91, 69, 0.34);
    }
    .btn-outline {
      background: transparent;
      color: var(--ink);
      border-color: var(--line);
    }
    .btn-outline:hover {
      border-color: var(--emerald);
      color: var(--emerald);
      transform: translateY(-2px);
    }
    .btn-gold {
      background: var(--gold);
      color: #FFF;
      box-shadow: 0 10px 24px rgba(184, 137, 47, 0.3);
    }
    .btn-gold:hover {
      background: var(--gold-deep);
      transform: translateY(-2px);
    }

    /* ═══ HEADER ═══ */
    header {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 200;
      background: rgba(250, 246, 239, 0.85);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid transparent;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }
    header.scrolled {
      border-bottom-color: var(--line);
      box-shadow: var(--shadow-sm);
    }

    /* Première section : dégage le header fixe */
    .first-section { padding-top: 9.5rem; }

    /* Bouton « Commander » flottant, visible partout */
    .order-fab {
      position: fixed;
      right: 1.4rem;
      bottom: 1.4rem;
      z-index: 190;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.9rem 1.55rem;
      border-radius: 999px;
      background: var(--gold);
      color: #FFF;
      font-family: var(--font-body);
      font-weight: 700;
      font-size: 0.95rem;
      text-decoration: none;
      box-shadow: 0 12px 30px rgba(150, 105, 15, 0.42);
      transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }
    .order-fab svg { width: 17px; height: 17px; }
    .order-fab:hover {
      background: var(--gold-deep);
      transform: translateY(-3px);
      box-shadow: 0 16px 38px rgba(150, 105, 15, 0.52);
    }
    .nav-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 74px;
    }
    .logo {
      display: inline-flex;
      align-items: center;
      gap: 0.65rem;
      text-decoration: none;
      color: var(--ink);
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 1.3rem;
    }
    .logo-mark {
      width: 38px; height: 38px;
      border-radius: 11px;
      background: var(--emerald);
      object-fit: cover;
      flex-shrink: 0;
    }
    .logo span { color: var(--emerald); }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 1.9rem;
      list-style: none;
    }
    .nav-links a:not(.btn) {
      text-decoration: none;
      color: var(--muted);
      font-size: 0.92rem;
      font-weight: 500;
      transition: color 0.2s ease;
    }
    .nav-links a:not(.btn):hover { color: var(--emerald); }
    .nav-links .btn { padding: 0.55rem 1.25rem; font-size: 0.88rem; }

    .nav-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0.5rem;
      color: var(--ink);
    }

    @media (max-width: 880px) {
      .nav-toggle { display: block; }
      .nav-links {
        position: fixed;
        top: 74px; left: 0; right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: var(--ivory);
        border-bottom: 1px solid var(--line);
        box-shadow: var(--shadow-md);
        padding: 0.75rem 1.5rem 1.25rem;
        display: none;
      }
      .nav-links.open { display: flex; }
      .nav-links li { padding: 0.65rem 0; }
      .nav-links .btn { margin-top: 0.5rem; }
    }

    /* ═══ HERO ═══ */
    .hero {
      position: relative;
      padding: 5rem 0;
    }
    .hero-grid {
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 4rem;
      align-items: center;
    }
    .bismillah {
      font-family: var(--font-arabic);
      font-size: 1.35rem;
      color: var(--gold-deep);
      margin-bottom: 1.2rem;
    }
    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background: var(--emerald-soft);
      color: var(--emerald);
      border: 1px solid rgba(12, 91, 69, 0.15);
      font-size: 0.8rem;
      font-weight: 600;
      padding: 0.4rem 0.95rem;
      border-radius: 999px;
      margin-bottom: 1.4rem;
    }
    .hero-badge .dot {
      width: 7px; height: 7px;
      border-radius: 50%;
      background: var(--emerald);
      animation: pulse 2.4s infinite;
    }
    @keyframes pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(12, 91, 69, 0.35); }
      50% { box-shadow: 0 0 0 6px rgba(12, 91, 69, 0); }
    }
    .hero h1 {
      font-size: clamp(2.4rem, 5.2vw, 3.6rem);
      margin-bottom: 1.3rem;
    }
    .hero h1 em {
      font-style: italic;
      color: var(--emerald);
    }
    .hero-text {
      color: var(--muted);
      font-size: 1.08rem;
      max-width: 540px;
      margin-bottom: 2rem;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.9rem;
      margin-bottom: 2.6rem;
    }
    .trust-row {
      display: flex;
      flex-wrap: wrap;
      gap: 1.4rem;
      color: var(--faint);
      font-size: 0.85rem;
      font-weight: 500;
    }
    .trust-row span {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
    }
    .trust-row svg { color: var(--gold); flex-shrink: 0; }

    .hero-visual { position: relative; }
    .product-stage {
      position: relative;
      background: linear-gradient(160deg, #FFFFFF 0%, var(--ivory-deep) 100%);
      border: 1px solid var(--line);
      border-radius: 28px;
      box-shadow: var(--shadow-lg);
      padding: 3rem 2.5rem 2.5rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      overflow: hidden;
    }
    .product-stage::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23E0D5BE' stroke-width='1' opacity='0.5'%3E%3Cpath d='M36 6l8.5 21.5L66 36 44.5 44.5 36 66 27.5 44.5 6 36l21.5-8.5z'/%3E%3C/g%3E%3C/svg%3E");
      opacity: 0.6;
      pointer-events: none;
    }
    .device {
      position: relative;
      width: min(280px, 70vw);
      aspect-ratio: 1;
      border-radius: 34px;
      background: linear-gradient(150deg, #8a5a32 0%, #6B3A1E 55%, #54290F 100%);
      box-shadow:
        inset 0 2px 4px rgba(255, 255, 255, 0.18),
        inset 0 -6px 16px rgba(0, 0, 0, 0.3),
        0 30px 50px rgba(40, 22, 8, 0.3);
      display: grid;
      place-items: center;
    }
    .device-mandala {
      width: 62%;
      aspect-ratio: 1;
      color: #E4C982;
      filter: drop-shadow(0 0 14px rgba(216, 180, 90, 0.3));
      animation: mandala-spin 60s linear infinite;
    }
    @keyframes mandala-spin {
      to { transform: rotate(360deg); }
    }
    .device-led {
      position: absolute;
      left: 12%; right: 12%; bottom: -8px;
      height: 16px;
      border-radius: 999px;
      background: radial-gradient(ellipse at center, rgba(56, 178, 172, 0.85), rgba(56, 178, 172, 0) 70%);
      filter: blur(6px);
      animation: led-breathe 4s ease-in-out infinite;
    }
    @keyframes led-breathe {
      0%, 100% { opacity: 0.4; }
      50% { opacity: 1; }
    }
    .hero-chip {
      position: absolute;
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: 14px;
      box-shadow: var(--shadow-md);
      padding: 0.7rem 1rem;
      font-size: 0.8rem;
      display: flex;
      align-items: center;
      gap: 0.6rem;
      z-index: 2;
    }
    .hero-chip strong { font-size: 0.88rem; }
    .hero-chip small { color: var(--muted); display: block; line-height: 1.3; }
    .chip-prayer { top: 8%; left: -1.8rem; }
    .chip-sync { bottom: 10%; right: -1.5rem; }
    .chip-icon {
      width: 34px; height: 34px;
      border-radius: 10px;
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .chip-icon.green { background: var(--emerald-soft); color: var(--emerald); }
    .chip-icon.gold { background: var(--gold-soft); color: var(--gold-deep); }

    @media (max-width: 980px) {
      .hero { padding-top: 3rem; }
      .first-section { padding-top: 7rem; }
      .hero-grid { grid-template-columns: 1fr; gap: 3rem; }
      .hero-visual { max-width: 460px; margin: 0 auto; width: 100%; }
      .chip-prayer { left: -0.4rem; }
      .chip-sync { right: -0.4rem; }
    }
    @media (max-width: 560px) {
      .order-fab { right: 1rem; bottom: 1rem; padding: 0.8rem 1.3rem; font-size: 0.9rem; }
    }

    /* ═══ LE RITUEL (timeline) ═══ */
    .ritual { background: var(--emerald-dark); color: #F2F7F4; }
    .ritual .eyebrow { color: #D8B45A; }
    .ritual .eyebrow::before, .ritual .eyebrow::after { background: #D8B45A; }
    .ritual .section-head h2 { color: #FFF; }
    .ritual .section-head h2 em { color: #7BC9A8; }
    .ritual .section-head p { color: rgba(242, 247, 244, 0.7); }
    .ritual-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.4rem;
    }
    .ritual-card {
      position: relative;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: var(--radius);
      padding: 2rem 1.8rem;
    }
    .ritual-step {
      font-family: var(--font-display);
      font-style: italic;
      font-size: 0.95rem;
      color: #D8B45A;
      margin-bottom: 0.9rem;
    }
    .ritual-card h3 { font-size: 1.25rem; margin-bottom: 0.6rem; }
    .ritual-card p { color: rgba(242, 247, 244, 0.72); font-size: 0.93rem; }
    .ritual-visual {
      height: 56px;
      border-radius: var(--radius-sm);
      margin-bottom: 1.4rem;
      position: relative;
      overflow: hidden;
      background: rgba(0, 0, 0, 0.25);
    }
    .rv-light {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 120%, rgba(0, 150, 136, 0.8), transparent 70%);
      animation: led-breathe 4s ease-in-out infinite;
    }
    .rv-sound {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
    }
    .rv-sound i {
      width: 4px;
      border-radius: 2px;
      background: #D8B45A;
      animation: eq 1.2s ease-in-out infinite;
    }
    .rv-sound i:nth-child(1) { height: 14px; animation-delay: 0s; }
    .rv-sound i:nth-child(2) { height: 28px; animation-delay: 0.15s; }
    .rv-sound i:nth-child(3) { height: 20px; animation-delay: 0.3s; }
    .rv-sound i:nth-child(4) { height: 32px; animation-delay: 0.45s; }
    .rv-sound i:nth-child(5) { height: 16px; animation-delay: 0.6s; }
    .rv-sound i:nth-child(6) { height: 26px; animation-delay: 0.75s; }
    .rv-sound i:nth-child(7) { height: 12px; animation-delay: 0.9s; }
    @keyframes eq {
      0%, 100% { transform: scaleY(0.5); }
      50% { transform: scaleY(1); }
    }
    .rv-duaa {
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
      font-family: var(--font-arabic);
      font-size: 1.5rem;
      color: #D8B45A;
    }
    @media (max-width: 880px) {
      .ritual-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
    }

    /* ═══ HORAIRES : DEUX MODES ═══ */
    .modes-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.6rem;
      max-width: 960px;
      margin: 0 auto;
    }
    .mode-card {
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: 24px;
      padding: 2.4rem 2.2rem;
    }
    .mode-tag {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.74rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      padding: 0.35rem 0.9rem;
      border-radius: 999px;
      margin-bottom: 1.3rem;
    }
    .mode-tag.green { background: var(--emerald-soft); color: var(--emerald); }
    .mode-tag.gold { background: var(--gold-soft); color: var(--gold-deep); }
    .mode-card h3 { font-size: 1.4rem; margin-bottom: 0.7rem; }
    .mode-card > p { color: var(--muted); font-size: 0.95rem; margin-bottom: 1.3rem; }
    .mode-list { list-style: none; display: grid; gap: 0.7rem; }
    .mode-list li {
      display: flex;
      gap: 0.6rem;
      align-items: flex-start;
      font-size: 0.91rem;
      color: var(--muted);
    }
    .mode-list li strong { color: var(--ink); font-weight: 600; }
    .mode-list svg { color: var(--emerald); flex-shrink: 0; margin-top: 4px; }
    .modes-note {
      max-width: 960px;
      margin: 1.6rem auto 0;
      background: var(--emerald-soft);
      border: 1px solid rgba(12, 91, 69, 0.15);
      border-radius: var(--radius-sm);
      padding: 1rem 1.4rem;
      font-size: 0.92rem;
      color: var(--emerald);
      display: flex;
      gap: 0.7rem;
      align-items: flex-start;
    }
    .modes-note svg { flex-shrink: 0; margin-top: 3px; }
    @media (max-width: 820px) {
      .modes-grid { grid-template-columns: 1fr; }
    }

    /* ═══ AMBIANCES LUMINEUSES ═══ */
    .scenes { background: var(--paper); border-block: 1px solid var(--line); }
    .scenes-layout {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: center;
    }
    .left-head .eyebrow { justify-content: flex-start; }
    .left-head .eyebrow::before { display: none; }
    .left-head h2 {
      font-size: clamp(1.8rem, 3.6vw, 2.4rem);
      margin-bottom: 0.9rem;
    }
    .left-head > p { color: var(--muted); font-size: 1.02rem; margin-bottom: 1.5rem; }
    .scene-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
    }
    .scene-chip {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      background: var(--ivory);
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 0.45rem 1rem;
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--muted);
    }
    .scene-chip i {
      width: 12px; height: 12px;
      border-radius: 50%;
      flex-shrink: 0;
    }
    .sc-prayer i { background: #00BFA5; animation: led-breathe 4s ease-in-out infinite; }
    .sc-breath i { background: #4FC3F7; animation: led-breathe 4s ease-in-out infinite; }
    .sc-candle i { background: #FFB74D; animation: flicker 0.8s ease-in-out infinite; }
    .sc-hue i { background: linear-gradient(135deg, #F06292, #BA68C8, #4FC3F7); }
    .sc-fade i { background: linear-gradient(90deg, #81C784, #FFD54F); }
    .sc-fixed i { background: #9575CD; }
    @keyframes flicker {
      0%, 100% { opacity: 1; }
      40% { opacity: 0.55; }
      60% { opacity: 0.85; }
    }
    .button-note {
      margin-top: 1.8rem;
      display: flex;
      gap: 0.9rem;
      align-items: flex-start;
      background: var(--ivory);
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      padding: 1.1rem 1.3rem;
    }
    .button-note .b-icon {
      width: 40px; height: 40px;
      border-radius: 50%;
      background: var(--emerald-soft);
      color: var(--emerald);
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .button-note strong { display: block; font-size: 0.94rem; }
    .button-note span { color: var(--muted); font-size: 0.87rem; }

    .scenes-visual {
      position: relative;
      border-radius: 24px;
      background: #0E1A16;
      border: 1px solid var(--line);
      box-shadow: var(--shadow-lg);
      padding: 2.6rem 2rem;
      display: flex;
      flex-direction: column;
      gap: 1.2rem;
    }
    .scene-row {
      display: flex;
      align-items: center;
      gap: 1rem;
    }
    .scene-row .label {
      width: 96px;
      font-size: 0.76rem;
      font-weight: 600;
      color: rgba(242, 247, 244, 0.6);
      flex-shrink: 0;
      text-align: right;
    }
    .led-strip {
      flex: 1;
      display: flex;
      gap: 6px;
    }
    .led-strip i {
      flex: 1;
      aspect-ratio: 1;
      max-width: 18px;
      border-radius: 50%;
      background: var(--led, #00BFA5);
      box-shadow: 0 0 10px var(--led, #00BFA5);
    }
    .strip-prayer i { --led: #00BFA5; animation: led-breathe 4s ease-in-out infinite; }
    .strip-breath i { --led: #4FC3F7; animation: led-breathe 4s ease-in-out infinite; }
    .strip-candle i { --led: #FFB74D; animation: flicker 0.9s ease-in-out infinite; }
    .strip-candle i:nth-child(odd) { animation-delay: 0.35s; }
    .strip-candle i:nth-child(3n) { animation-delay: 0.6s; }
    .strip-hue i { animation: hue-cycle 8s linear infinite; }
    .strip-hue i:nth-child(2n) { animation-delay: -2s; }
    .strip-hue i:nth-child(3n) { animation-delay: -4s; }
    @keyframes hue-cycle {
      0% { background: #F06292; box-shadow: 0 0 10px #F06292; }
      33% { background: #BA68C8; box-shadow: 0 0 10px #BA68C8; }
      66% { background: #4FC3F7; box-shadow: 0 0 10px #4FC3F7; }
      100% { background: #F06292; box-shadow: 0 0 10px #F06292; }
    }
    @media (max-width: 980px) {
      .scenes-layout { grid-template-columns: 1fr; gap: 2.5rem; }
      .scene-row .label { width: 80px; }
    }

    /* ═══ AUDIO ═══ */
    .audio-layout {
      display: grid;
      grid-template-columns: 0.95fr 1.05fr;
      gap: 4rem;
      align-items: center;
    }
    .audio-visual {
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: 24px;
      box-shadow: var(--shadow-md);
      padding: 1.8rem;
    }
    .audio-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 0.95rem 1.1rem;
      border-radius: var(--radius-sm);
      border: 1px solid var(--line);
      background: var(--ivory);
      margin-bottom: 0.7rem;
      font-size: 0.88rem;
    }
    .audio-row:last-child { margin-bottom: 0; }
    .audio-row .p-name { font-weight: 600; display: flex; align-items: center; gap: 0.6rem; }
    .audio-row .p-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
    .audio-row .p-track { color: var(--muted); font-size: 0.82rem; text-align: right; }
    .audio-row .p-track b { color: var(--gold-deep); font-weight: 600; }
    .feature-list {
      list-style: none;
      display: grid;
      gap: 1.1rem;
      margin-top: 1.6rem;
    }
    .feature-list li { display: flex; gap: 0.85rem; align-items: flex-start; }
    .feature-list .f-icon {
      width: 38px; height: 38px;
      border-radius: 11px;
      background: var(--gold-soft);
      color: var(--gold-deep);
      display: grid;
      place-items: center;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .feature-list strong { display: block; font-size: 0.97rem; }
    .feature-list span { color: var(--muted); font-size: 0.89rem; }
    @media (max-width: 980px) {
      .audio-layout { grid-template-columns: 1fr; gap: 2.5rem; }
    }

    /* ═══ INSTALLATION ═══ */
    .install { background: var(--paper); border-block: 1px solid var(--line); }
    .install-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.3rem;
    }
    .install-card {
      background: var(--ivory);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 1.8rem 1.5rem;
      position: relative;
    }
    .install-num {
      width: 40px; height: 40px;
      border-radius: 50%;
      background: var(--emerald);
      color: #FFF;
      font-family: var(--font-display);
      font-size: 1.05rem;
      font-weight: 600;
      display: grid;
      place-items: center;
      margin-bottom: 1.1rem;
    }
    .install-card h3 {
      font-size: 1.02rem;
      font-family: var(--font-body);
      font-weight: 700;
      margin-bottom: 0.5rem;
    }
    .install-card p { color: var(--muted); font-size: 0.88rem; }
    @media (max-width: 980px) {
      .install-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 600px) {
      .install-grid { grid-template-columns: 1fr; }
    }

    /* ═══ CONFIGURATEUR ═══ */
    .configurator-panel {
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 2rem;
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: 26px;
      box-shadow: var(--shadow-md);
      padding: 2rem;
    }
    .config-viewport {
      position: relative;
      background: linear-gradient(165deg, var(--ivory) 0%, var(--ivory-deep) 100%);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      min-height: 380px;
      overflow: hidden;
    }
    #canvas3d { position: absolute; inset: 0; }
    .viewport-hint {
      position: absolute;
      bottom: 0.9rem;
      left: 50%;
      transform: translateX(-50%);
      font-size: 0.75rem;
      color: var(--faint);
      background: rgba(255, 255, 255, 0.8);
      border: 1px solid var(--line);
      padding: 0.3rem 0.85rem;
      border-radius: 999px;
      pointer-events: none;
      white-space: nowrap;
    }
    .config-controls {
      display: flex;
      flex-direction: column;
      gap: 1.6rem;
      justify-content: center;
    }
    .control-label {
      display: block;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 0.7rem;
    }
    .swatches { display: flex; gap: 0.7rem; flex-wrap: wrap; }
    .swatch {
      width: 38px; height: 38px;
      border-radius: 50%;
      border: 2px solid var(--line);
      cursor: pointer;
      transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
      padding: 0;
    }
    .swatch:hover { transform: scale(1.1); }
    .swatch.active {
      border-color: var(--emerald);
      box-shadow: 0 0 0 3px rgba(12, 91, 69, 0.18);
    }
    .control-note {
      font-size: 0.85rem;
      color: var(--muted);
      margin-top: 0.55rem;
    }
    .pill-options { display: flex; flex-wrap: wrap; gap: 0.55rem; }
    .pill-btn {
      background: var(--ivory);
      border: 1px solid var(--line);
      color: var(--muted);
      font-family: var(--font-body);
      font-size: 0.85rem;
      font-weight: 600;
      padding: 0.5rem 1.05rem;
      border-radius: 999px;
      cursor: pointer;
      transition: all 0.2s ease;
    }
    .pill-btn:hover { border-color: var(--emerald); color: var(--emerald); }
    .pill-btn.active {
      background: var(--emerald);
      border-color: var(--emerald);
      color: #FFF;
    }
    @media (max-width: 980px) {
      .configurator-panel { grid-template-columns: 1fr; }
      .config-viewport { min-height: 320px; }
    }

    /* ═══ APPLICATION ═══ */
    .app-section { background: var(--paper); border-block: 1px solid var(--line); }
    .app-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: center;
    }
    .app-tabs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
      margin: 1.8rem 0 2rem;
    }
    .app-tab {
      background: var(--ivory);
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      padding: 1.2rem 1.3rem;
    }
    .app-tab .t-head {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      font-weight: 700;
      font-size: 0.95rem;
      margin-bottom: 0.4rem;
    }
    .app-tab .t-head svg { color: var(--emerald); flex-shrink: 0; }
    .app-tab p { color: var(--muted); font-size: 0.85rem; }

    .phone {
      width: min(300px, 82vw);
      margin: 0 auto;
      background: #0A0F16;
      border-radius: 42px;
      padding: 0.55rem;
      box-shadow: var(--shadow-lg);
    }
    .phone-screen {
      background: #0B1521;
      border-radius: 36px;
      overflow: hidden;
      color: #EAF3EE;
      display: flex;
      flex-direction: column;
    }

    /* ── En-tête émeraude ── */
    .ph-header {
      background: linear-gradient(165deg, #11724F 0%, #0A4A37 100%);
      padding: 0.7rem 1.1rem 1.5rem;
      position: relative;
    }
    .ph-header::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.05) 0 2px, transparent 2px),
                        radial-gradient(circle at 70% 60%, rgba(255,255,255,0.04) 0 2px, transparent 2px),
                        radial-gradient(circle at 88% 20%, rgba(255,255,255,0.05) 0 2px, transparent 2px);
      background-size: 80px 80px;
      pointer-events: none;
    }
    .ph-status {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 0.62rem;
      font-weight: 600;
      color: #EAF3EE;
      margin-bottom: 0.9rem;
    }
    .ph-status-icons { display: flex; align-items: center; gap: 0.3rem; }
    .ph-batt {
      border: 1px solid rgba(255,255,255,0.6);
      border-radius: 3px;
      padding: 0 2px;
      font-size: 0.5rem;
    }
    .ph-brand {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      margin-bottom: 1.4rem;
    }
    .ph-logo {
      width: 30px; height: 30px;
      border-radius: 50%;
      background: rgba(255,255,255,0.12);
      display: grid; place-items: center;
      color: #9FE8C9;
    }
    .ph-brand-name { font-weight: 700; font-size: 1rem; color: #fff; }
    .ph-wifi-pill {
      margin-left: auto;
      display: flex; align-items: center; gap: 0.3rem;
      background: rgba(255,255,255,0.1);
      border-radius: 999px;
      padding: 0.25rem 0.5rem;
      color: #9FE8C9;
    }
    .ph-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: #34D8A8;
      animation: pulse 2.4s infinite;
    }
    .ph-next-label {
      font-size: 0.72rem;
      color: rgba(234,243,238,0.65);
      margin-bottom: 0.1rem;
    }
    .ph-next-name {
      font-family: var(--font-display);
      font-size: 2.1rem;
      font-weight: 700;
      color: #fff;
      line-height: 1.05;
      margin-bottom: 0.7rem;
    }
    .ph-pills { display: flex; gap: 0.4rem; }
    .ph-pill {
      display: inline-flex; align-items: center; gap: 0.3rem;
      background: rgba(0,0,0,0.22);
      border-radius: 999px;
      padding: 0.3rem 0.6rem;
      font-size: 0.68rem;
      font-weight: 600;
      color: #CFE9DD;
    }
    .ph-pill-gold {
      background: rgba(224,169,58,0.18);
      color: #ECC56A;
    }

    /* ── Corps sombre ── */
    .ph-body { padding: 1rem 0.9rem 0.4rem; flex: 1; }
    .ph-card {
      display: flex;
      align-items: center;
      gap: 0.7rem;
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.07);
      border-radius: 14px;
      padding: 0.7rem 0.8rem;
      margin-bottom: 0.7rem;
    }
    .ph-icon {
      width: 34px; height: 34px;
      border-radius: 10px;
      display: grid; place-items: center;
      flex-shrink: 0;
    }
    .ph-icon-gold    { background: rgba(224,169,58,0.16);  color: #E0A93A; }
    .ph-icon-emerald { background: rgba(52,216,168,0.15);  color: #34D8A8; }
    .ph-icon-fajr    { background: rgba(120,110,230,0.22); color: #A9A6F2; }
    .ph-icon-dhuhr   { background: rgba(200,160,50,0.18);  color: #E7C25A; }
    .ph-icon-asr     { background: rgba(200,110,60,0.2);   color: #ED9A5E; }
    .ph-date { display: flex; flex-direction: column; line-height: 1.3; }
    .ph-date-greg { font-size: 0.78rem; color: rgba(234,243,238,0.85); font-weight: 500; }
    .ph-date-hij  { font-size: 0.82rem; color: #E0A93A; font-weight: 700; }
    .ph-mosque-txt { display: flex; flex-direction: column; line-height: 1.3; }
    .ph-mosque-title { font-size: 0.85rem; color: #34D8A8; font-weight: 700; }
    .ph-mosque-sub   { font-size: 0.68rem; color: rgba(234,243,238,0.5); }
    .ph-chevron { margin-left: auto; color: #34D8A8; font-size: 1.1rem; }
    .ph-mosque { border-color: rgba(52,216,168,0.22); }
    .ph-today-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 0.4rem 0.2rem 0.7rem;
    }
    .ph-today { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: #fff; }
    .ph-adjust { display: inline-flex; align-items: center; gap: 0.3rem; color: #34D8A8; font-size: 0.78rem; font-weight: 600; }
    .ph-prayer {
      display: flex;
      align-items: center;
      gap: 0.7rem;
      background: rgba(255,255,255,0.035);
      border: 1px solid rgba(255,255,255,0.06);
      border-radius: 14px;
      padding: 0.6rem 0.8rem;
      margin-bottom: 0.6rem;
    }
    .ph-prayer-name { font-size: 0.92rem; font-weight: 500; color: #EAF3EE; }
    .ph-prayer-time { margin-left: auto; font-size: 1.1rem; font-weight: 700; color: #fff; }

    /* ── Barre d'onglets ── */
    .ph-tabbar {
      display: flex;
      justify-content: space-around;
      padding: 0.7rem 0.4rem;
      background: #0A1018;
      border-top: 1px solid rgba(255,255,255,0.06);
    }
    .ph-tab {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.2rem;
      font-size: 0.6rem;
      color: rgba(234,243,238,0.45);
    }
    .ph-tab.active { color: #34D8A8; font-weight: 700; }
    @media (max-width: 980px) {
      .app-grid { grid-template-columns: 1fr; gap: 3rem; }
      .app-tabs { grid-template-columns: 1fr; }
    }

    /* ═══ FIABILITÉ / TECHNIQUE ═══ */
    .reliability-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.4rem;
      margin-bottom: 3rem;
    }
    .rel-card {
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 1.8rem;
      transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    }
    .rel-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-md);
      border-color: rgba(12, 91, 69, 0.25);
    }
    .rel-icon {
      width: 46px; height: 46px;
      border-radius: 13px;
      background: var(--emerald-soft);
      color: var(--emerald);
      display: grid;
      place-items: center;
      margin-bottom: 1.1rem;
    }
    .rel-card:nth-child(even) .rel-icon {
      background: var(--gold-soft);
      color: var(--gold-deep);
    }
    .rel-card h3 {
      font-size: 1.08rem;
      margin-bottom: 0.55rem;
      font-family: var(--font-body);
      font-weight: 700;
      letter-spacing: 0;
    }
    .rel-card p { color: var(--muted); font-size: 0.9rem; }
    @media (max-width: 880px) {
      .reliability-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 600px) {
      .reliability-grid { grid-template-columns: 1fr; }
    }

    .specs-table {
      max-width: 860px;
      margin: 0 auto;
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      overflow: hidden;
    }
    .spec-row {
      display: grid;
      grid-template-columns: 220px 1fr;
      gap: 1rem;
      padding: 1rem 1.6rem;
      font-size: 0.92rem;
      border-bottom: 1px solid var(--line);
    }
    .spec-row:last-child { border-bottom: none; }
    .spec-row:nth-child(odd) { background: var(--ivory); }
    .spec-row dt { font-weight: 700; color: var(--ink); }
    .spec-row dd { color: var(--muted); }
    @media (max-width: 600px) {
      .spec-row { grid-template-columns: 1fr; gap: 0.2rem; }
    }

    /* ═══ OFFRES ═══ */
    .pricing { background: var(--paper); border-block: 1px solid var(--line); }
    .pricing-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.6rem;
      max-width: 860px;
      margin: 0 auto;
    }
    .price-card {
      position: relative;
      background: var(--ivory);
      border: 1px solid var(--line);
      border-radius: 24px;
      padding: 2.4rem 2.2rem;
      display: flex;
      flex-direction: column;
    }
    .price-card.featured {
      background: var(--emerald-dark);
      border-color: var(--emerald-dark);
      color: #F2F7F4;
      box-shadow: var(--shadow-lg);
    }
    .featured-badge {
      position: absolute;
      top: -14px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--gold);
      color: #FFF;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      padding: 0.4rem 1.1rem;
      border-radius: 999px;
      white-space: nowrap;
    }
    .price-card h3 { font-size: 1.3rem; margin-bottom: 0.4rem; }
    .price-sub { color: var(--muted); font-size: 0.9rem; margin-bottom: 1.4rem; }
    .price-card.featured .price-sub { color: rgba(242, 247, 244, 0.65); }
    .price-amount {
      font-family: var(--font-display);
      font-size: 2.6rem;
      font-weight: 600;
      line-height: 1;
      margin-bottom: 0.3rem;
    }
    .price-amount small {
      display: block;
      font-family: var(--font-body);
      font-size: 0.82rem;
      font-weight: 500;
      color: var(--muted);
      margin-top: 0.5rem;
    }
    .price-card.featured .price-amount small { color: rgba(242, 247, 244, 0.6); }
    .price-list {
      list-style: none;
      display: grid;
      gap: 0.7rem;
      margin: 1.6rem 0 2rem;
      flex-grow: 1;
    }
    .price-list li {
      display: flex;
      gap: 0.6rem;
      align-items: flex-start;
      font-size: 0.92rem;
    }
    .price-list svg { color: var(--emerald); flex-shrink: 0; margin-top: 4px; }
    .price-card.featured .price-list svg { color: #7BC9A8; }
    .price-card.featured .btn-primary {
      background: var(--gold);
      box-shadow: 0 10px 24px rgba(184, 137, 47, 0.35);
    }
    .price-card.featured .btn-primary:hover { background: var(--gold-deep); }
    @media (max-width: 760px) {
      .pricing-grid { grid-template-columns: 1fr; }
    }

    /* ═══ FAQ ═══ */
    .faq-list { max-width: 760px; margin: 0 auto; }
    .faq-item {
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      margin-bottom: 0.8rem;
      overflow: hidden;
    }
    .faq-q {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      background: none;
      border: none;
      font-family: var(--font-body);
      font-size: 0.99rem;
      font-weight: 600;
      color: var(--ink);
      text-align: left;
      padding: 1.15rem 1.4rem;
      cursor: pointer;
    }
    .faq-q .chev {
      flex-shrink: 0;
      color: var(--emerald);
      transition: transform 0.3s ease;
    }
    .faq-item.open .faq-q .chev { transform: rotate(180deg); }
    .faq-a {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease;
    }
    .faq-a p {
      padding: 0 1.4rem 1.3rem;
      color: var(--muted);
      font-size: 0.93rem;
    }

    /* ═══ CTA & FOOTER ═══ */
    .cta-band {
      position: relative;
      background: var(--emerald-dark);
      border-radius: 28px;
      padding: 3.8rem 2.5rem;
      text-align: center;
      color: #F2F7F4;
      overflow: hidden;
    }
    .cta-band .pattern-bg {
      opacity: 0.18;
      -webkit-mask-image: none;
      mask-image: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1'%3E%3Cpath d='M48 8l11.3 28.7L88 48 59.3 59.3 48 88 36.7 59.3 8 48l28.7-11.3z'/%3E%3C/g%3E%3C/svg%3E");
    }
    .cta-band .bismillah { color: #D8B45A; }
    .cta-band h2 {
      font-size: clamp(1.7rem, 3.4vw, 2.3rem);
      margin-bottom: 0.9rem;
      position: relative;
    }
    .cta-band p {
      color: rgba(242, 247, 244, 0.75);
      max-width: 520px;
      margin: 0 auto 2rem;
      position: relative;
    }
    .cta-band .actions {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 0.9rem;
      position: relative;
    }
    .cta-band .btn-outline {
      color: #F2F7F4;
      border-color: rgba(255, 255, 255, 0.3);
    }
    .cta-band .btn-outline:hover { border-color: #FFF; color: #FFF; }

    footer { padding: 4rem 0 2.5rem; }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr;
      gap: 3rem;
      padding-bottom: 2.5rem;
      border-bottom: 1px solid var(--line);
    }
    .footer-brand p {
      color: var(--muted);
      font-size: 0.9rem;
      max-width: 320px;
      margin-top: 1rem;
    }
    .footer-col h4 {
      font-family: var(--font-body);
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--faint);
      margin-bottom: 1.1rem;
    }
    .footer-col ul { list-style: none; display: grid; gap: 0.7rem; }
    .footer-col a {
      text-decoration: none;
      color: var(--muted);
      font-size: 0.92rem;
      transition: color 0.2s ease;
    }
    .footer-col a:hover { color: var(--emerald); }
    .footer-bottom {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      padding-top: 2rem;
      color: var(--faint);
      font-size: 0.84rem;
    }
    .footer-bottom .arabic {
      font-family: var(--font-arabic);
      color: var(--gold-deep);
    }
    @media (max-width: 760px) {
      .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    }

    /* ─── Animations d'apparition ─── */
    .reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .reveal.visible { opacity: 1; transform: none; }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .reveal { opacity: 1; transform: none; transition: none; }
      .device-mandala, .device-led, .rv-light, .rv-sound i,
      .strip-prayer i, .strip-breath i, .strip-candle i, .strip-hue i,
      .sc-prayer i, .sc-breath i, .sc-candle i { animation: none; }
    }


    /* ═══════════════════════════════════════════════════════
       MENU BURGER + MULTI-PAGES
       ═══════════════════════════════════════════════════════ */
    main > section:first-child { padding-top: 9.5rem; }

    .burger {
      position: fixed;
      top: 15px; right: 18px;
      z-index: 320;
      display: inline-flex;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      width: 46px; height: 46px;
      padding: 11px;
      background: rgba(250, 246, 239, 0.7);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      border: 1px solid var(--line);
      border-radius: 14px;
      cursor: pointer;
      transition: background 0.2s ease;
    }
    .burger:hover { background: var(--paper); }
    .burger span {
      display: block;
      height: 2px; width: 100%;
      background: var(--ink);
      border-radius: 2px;
      transition: transform 0.3s ease, opacity 0.2s ease;
    }
    body.menu-open .burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    body.menu-open .burger span:nth-child(2) { opacity: 0; }
    body.menu-open .burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .menu-overlay {
      position: fixed;
      inset: 0;
      z-index: 300;
      background: rgba(250, 246, 239, 0.97);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.35s ease, visibility 0.35s ease;
    }
    body.menu-open .menu-overlay { opacity: 1; visibility: visible; }
    body.menu-open { overflow: hidden; }

    .menu-nav {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.3rem;
      width: min(460px, 86vw);
      text-align: center;
    }
    .menu-nav > a, .menu-group-toggle {
      font-family: var(--font-display);
      font-size: clamp(1.5rem, 5vw, 1.9rem);
      font-weight: 600;
      color: var(--ink);
      text-decoration: none;
      padding: 0.45rem 0;
      background: none; border: none; cursor: pointer;
      transition: color 0.2s ease;
    }
    .menu-nav > a:hover, .menu-group-toggle:hover,
    .menu-nav > a.active { color: var(--emerald); }

    .menu-group { width: 100%; }
    .menu-group-toggle {
      display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
      width: 100%;
    }
    .menu-group-toggle svg { width: 20px; height: 20px; transition: transform 0.3s ease; }
    .menu-group.open .menu-group-toggle svg { transform: rotate(180deg); }
    .menu-sub {
      max-height: 0; overflow: hidden;
      transition: max-height 0.4s ease;
      display: flex; flex-direction: column; gap: 0.1rem;
    }
    .menu-group.open .menu-sub { max-height: 360px; }
    .menu-sub a {
      font-family: var(--font-body);
      font-size: 1.08rem;
      color: var(--muted);
      text-decoration: none;
      padding: 0.4rem 0;
      transition: color 0.2s ease;
    }
    .menu-sub a:hover, .menu-sub a.active { color: var(--emerald); }
    .menu-cta {
      margin-top: 1.2rem;
      font-family: var(--font-body) !important;
      font-size: 1rem !important;
      padding: 0.8rem 2rem;
      border-radius: 999px;
    }
    .menu-arabic {
      margin-top: 1.6rem;
      font-family: var(--font-arabic);
      color: var(--gold-deep);
      font-size: 1.2rem;
    }


    /* ═══ PAGES LÉGALES ═══ */
    .legal-body { max-width: 760px; margin: 0 auto; }
    .legal-body h3 {
      font-family: var(--font-display);
      font-size: 1.2rem;
      color: var(--emerald);
      margin: 2rem 0 0.6rem;
    }
    .legal-body p { color: var(--muted); margin-bottom: 0.85rem; }
    .legal-body strong { color: var(--ink); }

    /* ═══ PAGE D'ACCUEIL : scène 3D + gros bouton ═══ */
    .home-stage {
      position: relative;
      border-radius: 28px;
      background: radial-gradient(120% 100% at 50% 18%, #FFFFFF 0%, var(--ivory-deep) 72%);
      border: 1px solid var(--line);
      box-shadow: var(--shadow-md);
      overflow: hidden;
    }
    #home-3d {
      width: 100%;
      height: min(58vh, 460px);
      min-height: 320px;
      cursor: grab;
    }
    #home-3d:active { cursor: grabbing; }
    .home-stage .viewport-hint {
      position: absolute;
      bottom: 0.9rem; left: 50%;
      transform: translateX(-50%);
    }
    .btn-lg { padding: 1.05rem 2.3rem; font-size: 1.08rem; }
    @media (max-width: 560px) {
      .btn-lg { width: 100%; }
      .hero-actions { width: 100%; }
    }

    /* ═══════════════════════════════════════════════════════
       ACCUEIL — bouton géant central
       ═══════════════════════════════════════════════════════ */
    .home-hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 6rem 1.5rem 3rem;
    }
    .home-hero-inner {
      position: relative;
      max-width: 900px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .home-title {
      font-family: var(--font-display);
      font-size: clamp(2rem, 5vw, 3.2rem);
      line-height: 1.1;
      margin-bottom: 1rem;
    }
    .home-title em { font-style: italic; color: var(--emerald); }
    .home-sub {
      color: var(--muted);
      font-size: clamp(1rem, 2.2vw, 1.2rem);
      max-width: 560px;
      margin: 0 auto 3.5rem;
    }
    .giant-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      padding: 2.2rem 4.5rem;
      background: var(--emerald);
      color: #FFF;
      font-family: var(--font-body);
      font-weight: 700;
      font-size: clamp(1.5rem, 3.5vw, 2.4rem);
      text-decoration: none;
      border-radius: 999px;
      box-shadow: 0 20px 50px rgba(12, 91, 69, 0.38);
      transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }
    .giant-btn svg { width: 1.2em; height: 1.2em; }
    .giant-btn:hover {
      background: var(--emerald-dark);
      transform: translateY(-4px) scale(1.02);
      box-shadow: 0 28px 64px rgba(12, 91, 69, 0.46);
    }
    @media (max-width: 560px) {
      .giant-btn { width: 100%; padding: 1.6rem 1.5rem; gap: 0.6rem; }
    }

    /* ─── Liste d'attente / précommandes ─── */
    .waitlist {
      background: var(--emerald);
      color: #FFF;
      padding: 5.5rem 1.5rem;
    }
    .waitlist-inner {
      max-width: 640px;
      margin: 0 auto;
      text-align: center;
    }
    .waitlist .eyebrow { color: var(--gold-soft); }
    .waitlist .eyebrow::before, .waitlist .eyebrow::after { background: rgba(247, 238, 220, 0.5); }
    .waitlist-title {
      font-family: var(--font-display);
      font-weight: 600;
      font-size: clamp(2rem, 5vw, 3rem);
      line-height: 1.1;
      margin: 0 0 1.1rem;
    }
    .waitlist-title em { color: var(--gold-soft); font-style: italic; }
    .waitlist-sub {
      color: rgba(255, 255, 255, 0.82);
      font-size: 1.08rem;
      line-height: 1.6;
      margin: 0 auto 2.4rem;
      max-width: 520px;
    }
    .waitlist-fields {
      display: flex;
      gap: 0.7rem;
      justify-content: center;
      flex-wrap: wrap;
    }
    .waitlist-fields input {
      flex: 1 1 200px;
      min-width: 0;
      padding: 1rem 1.2rem;
      font-family: var(--font-body);
      font-size: 1rem;
      color: var(--ink);
      background: #FFF;
      border: 1px solid transparent;
      border-radius: var(--radius-sm);
      outline: none;
      transition: box-shadow 0.2s ease;
    }
    .waitlist-fields input::placeholder { color: var(--faint); }
    .waitlist-fields input:focus { box-shadow: 0 0 0 3px var(--gold-soft); }
    .waitlist-fields .btn-gold {
      flex: 0 0 auto;
      padding: 1rem 1.6rem;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      cursor: pointer;
      border: none;
      font-size: 1rem;
    }
    .waitlist-note {
      margin: 1.2rem auto 0;
      font-size: 0.85rem;
      color: rgba(255, 255, 255, 0.62);
      max-width: 460px;
    }
    .waitlist-note a { color: var(--gold-soft); text-decoration: underline; }
    .waitlist-success[hidden] { display: none; }
    .waitlist-success {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.9rem;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(247, 238, 220, 0.3);
      border-radius: var(--radius);
      padding: 1.6rem 2rem;
      max-width: 480px;
      margin: 0 auto;
      text-align: left;
    }
    .waitlist-success svg {
      width: 34px; height: 34px;
      flex-shrink: 0;
      color: var(--gold-soft);
    }
    .waitlist-success p { margin: 0; line-height: 1.5; }
    @media (max-width: 560px) {
      .waitlist { padding: 4rem 1.3rem; }
      .waitlist-fields .btn-gold { width: 100%; justify-content: center; }
    }
