    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    a[href^="tel"] { color: inherit !important; text-decoration: none !important; }

    :root {
      --bg: #15110C;
      --bg-elevated: #131110;
      --bg-card: #1A1715;
      --gold: #C9A84C;
      --gold-soft: #D4B86A;
      --gold-dim: rgba(201, 168, 76, 0.55);
      --gold-glow: rgba(201, 168, 76, 0.06);
      --accent: #C9A84C;
      --accent-hover: #B5942E;
      --text: #EDE8E0;
      --text-secondary: #9A938A;
      --text-dim: #5E5850;
      --border: rgba(201, 168, 76, 0.10);
      --font-sans: 'Jost', -apple-system, sans-serif;
      --font-display: 'Jost', -apple-system, sans-serif;
      --font-body: 'Jost', -apple-system, sans-serif;
      --safe-bottom: env(safe-area-inset-bottom, 0px);
      --header-h: 96px;
    }

    ::selection { background: rgba(201, 168, 76, 0.25); color: var(--text); }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

    body {
      font-family: var(--font-body);
      background: var(--bg);
      color: var(--text);
      -webkit-font-smoothing: antialiased;
      min-height: 100vh;
      min-height: 100dvh;
      position: relative;
      overflow-x: hidden;
    }

    /* NIENTE overlay grana a tutto schermo (stesso fix di base.css del sito).
       ⚠️ NON reintrodurre un `position: fixed; inset: 0` full-screen: su iOS Safari
       espone una sottile striscia di contenuto sul bordo ALTO durante lo scroll
       (bug "striscia fantasma sopra l'header"). Era presente anche qui su prenota. */

