﻿
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --gold: #C9A84C;
    --gold-light: #E8CB7A;
    --gold-pale: #F5EDD5;
    --gold-dark: #8C6D2A;
    --black: #0D0D0D;
    --off-white: #FAF8F4;
    --gray-muted: #9B9590;
    --gray-light: #F0EDE8;
    --serif: 'Cormorant Garamond', Georgia, serif;
    --sans: 'DM Sans', sans-serif;
  }

  html {
    scroll-behavior: smooth;
    scroll-padding-top: 88px;
    scrollbar-color: var(--gold-dark) #171411;
    scrollbar-width: thin;
  }

  ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }
  ::-webkit-scrollbar-track {
    background: #171411;
  }
  ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--gold-light), var(--gold-dark));
    border: 2px solid #171411;
    border-radius: 999px;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--gold);
  }

  body {
    font-family: var(--sans);
    background: var(--off-white);
    color: var(--black);
    overflow-x: hidden;
    cursor: default;
  }

  a,
  button {
    scroll-margin-top: 88px;
  }


  /* â”€â”€ SECTION BASE â”€â”€ */
  section { padding: 7rem 4rem; }
  .section-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
  }
  .section-eyebrow span {
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--gold-dark);
    font-weight: 500;
  }
  .section-eyebrow-line {
    width: 30px; height: 1px;
    background: var(--gold);
  }
  h2.section-title {
    font-family: var(--serif);
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    font-weight: 300;
    line-height: 1.15;
    letter-spacing: -0.01em;
  }


  /* â”€â”€ ANIMATIONS â”€â”€ */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s ease, transform 0.7s ease;
  }
  .reveal.visible {
    opacity: 1;
    transform: translateY(0);
  }
  .reveal-delay-1 { transition-delay: 0.1s; }
  .reveal-delay-2 { transition-delay: 0.2s; }
  .reveal-delay-3 { transition-delay: 0.3s; }
  .reveal-delay-4 { transition-delay: 0.4s; }


  /* Notification toast */
  #toast {
    position: fixed;
    bottom: 2rem; right: 2rem;
    background: var(--black);
    border: 1px solid var(--gold);
    padding: 1rem 1.5rem;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 0.85rem;
    color: #fff;
    z-index: 999;
    transform: translateY(80px);
    opacity: 0;
    transition: transform 0.4s, opacity 0.4s;
  }
  #toast.show { transform: translateY(0); opacity: 1; }
  #toast svg { color: var(--gold); flex-shrink: 0; }
