    :root {
      /* Brand color tokens — extracted from the Isa La$h identity */
      --color-primary:       #9B1B6E;  /* magenta/berinjela — cor de identidade */
      --color-primary-dark:  #7A1454;  /* hover, texto sobre fundo claro */
      --color-primary-light: #C93B94;  /* destaques, gradientes */
      --color-bg:            #FAF8F7;  /* fundo principal — off-white quente */
      --color-text:          #1A1418;  /* texto principal — quase-preto tom vinho */
      --color-surface:       #E8DFE3;  /* cards, divisores, fundos secundários */
      --color-accent:        #C9A15A;  /* dourado — ícones, linhas, detalhes */
      --color-rose:          #E7C6D6;
      --color-rose-soft:     #F3E4EC;
      --color-lavender-soft: #EFE2EA;
    }

    body { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; color: var(--color-text); }
    .font-display { font-family: 'Fraunces', Georgia, serif; }
    .container-px { padding-left: 1.25rem; padding-right: 1.25rem; }
    @media (min-width: 768px) { .container-px { padding-left: 2rem; padding-right: 2rem; } }
    @media (min-width: 1024px) { .container-px { padding-left: 3rem; padding-right: 3rem; } }

    .aurora {
      background:
        radial-gradient(60% 60% at 20% 20%, rgba(155,27,110,0.10) 0%, transparent 60%),
        radial-gradient(50% 50% at 80% 10%, rgba(201,59,148,0.12) 0%, transparent 55%),
        radial-gradient(55% 55% at 70% 80%, rgba(232,223,227,0.9) 0%, transparent 60%),
        radial-gradient(45% 45% at 30% 90%, rgba(243,228,236,0.9) 0%, transparent 55%);
    }

    .glass {
      background: rgba(255,255,255,0.55);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }

    .reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.8s cubic-bezier(0.22,1,0.36,1), transform 0.8s cubic-bezier(0.22,1,0.36,1); }

    section[id], [id^="top"] { scroll-margin-top: 6rem; }
    .skip-link { position: absolute; left: 1rem; top: -3rem; z-index: 100; transition: top 0.2s; }
    .skip-link:focus { top: 1rem; }
    .reveal.in { opacity: 1; transform: translateY(0); }

    .display-xl {
      font-family: 'Fraunces', Georgia, serif;
      font-weight: 300;
      letter-spacing: -0.03em;
      line-height: 0.98;
      font-size: clamp(3.2rem, 9vw, 8rem);
    }
    .hairline { height: 1px; background: linear-gradient(to right, transparent, rgba(155,27,110,0.35), transparent); }
    .label-eyebrow { font-size: 0.7rem; letter-spacing: 0.32em; text-transform: uppercase; }
    .label-eyebrow::before { content: ''; display: inline-block; width: 1.75rem; height: 2px; background: var(--color-accent); vertical-align: middle; margin-right: 0.75rem; }
    .clamp-4 { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
    .clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .lb-img { cursor: zoom-in; transition: transform 0.4s cubic-bezier(0.22,1,0.36,1); }
    [data-lightbox] .lb-img:hover { transform: scale(1.04); }
    [data-lightbox] figure { position: relative; }
    [data-lightbox] figure::after {
      content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
      background: linear-gradient(to top, rgba(20,8,16,0.55) 0%, rgba(20,8,16,0.12) 35%, transparent 65%);
    }
    .lb-zoom {
      position: absolute; top: 0.75rem; right: 0.75rem; z-index: 5;
      width: 2.25rem; height: 2.25rem; border-radius: 9999px;
      display: grid; place-items: center; color: #fff;
      background: rgba(20,8,16,0.45); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
      opacity: 0; transform: scale(0.85); transition: opacity 0.3s, transform 0.3s;
      pointer-events: none;
    }
    [data-lightbox] figure:hover .lb-zoom,
    [data-lightbox] figure:focus-within .lb-zoom { opacity: 1; transform: scale(1); }

    .hero-slider { position: relative; }
    .hero-slider::after {
      content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; z-index: 2;
      background: linear-gradient(to top, rgba(20,8,16,0.45) 0%, rgba(20,8,16,0.12) 40%, transparent 70%);
    }
    .lightbox { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 1.5rem; background: rgba(74,15,52,0.92); }
    .lightbox.open { display: flex; }
    .lightbox img { max-width: 100%; max-height: 85vh; border-radius: 1rem; box-shadow: 0 30px 80px -30px rgba(0,0,0,0.6); }
    .lightbox button { position: absolute; top: 1.25rem; right: 1.25rem; width: 2.75rem; height: 2.75rem; border-radius: 9999px; background: rgba(255,255,255,0.15); color: #fff; font-size: 1.5rem; line-height: 1; display: grid; place-items: center; cursor: pointer; transition: background 0.2s; }
    .lightbox button:hover { background: rgba(255,255,255,0.3); }
    .lightbox button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
    @keyframes wa-pulse {
      0%   { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55); }
      70%  { box-shadow: 0 0 0 18px rgba(37, 211, 102, 0); }
      100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
    }
    .wa-float { background: #25D366; animation: wa-pulse 2.4s cubic-bezier(0.22,1,0.36,1) infinite; }
    .wa-float:hover { background: #1EBE5B; }
    @media (prefers-reduced-motion: reduce) {
      .wa-float { animation: none; }
    }

    @media (prefers-reduced-motion: reduce) {
      * { animation: none !important; transition: none !important; }
      html { scroll-behavior: auto; }
      .reveal { opacity: 1; transform: none; }
      .hero-slide { transition: none !important; }
    }
