:root{
  --ink:#0b0d10;
  --ink90:#0f1217;
  --ink2:#1b2028;
  --gold:#d4af37;
  --gold2:#b99222;
  --muted:#a9b0bb;
  --white:#ffffff;
  --shadow: 0 12px 40px rgba(0,0,0,.35);
}

*{ box-sizing:border-box; }
body{ font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial; }
.font-title{ font-family: Sora, Inter, system-ui; }

.bg-ink{ background: radial-gradient(1200px 600px at 20% -10%, rgba(212,175,55,.16), transparent 60%), var(--ink); }
.bg-ink-90{ background: var(--ink90); }
.border-ink-2{ border-color: var(--ink2) !important; }

.text-muted-2{ color: var(--muted); }
.link-light-2{ color: rgba(255,255,255,.82); text-decoration:none; }
.link-light-2:hover{ color: #fff; text-decoration: underline; }

.brand-mark{
  width: 14px; height: 14px; border-radius: 4px;
  background: linear-gradient(135deg, var(--gold), #fff2b8);
  box-shadow: 0 0 0 3px rgba(212,175,55,.15);
}

.btn-gold{
  background: linear-gradient(135deg, var(--gold), #ffe9a0);
  color: #1a1a1a; border: 0; font-weight: 700;
  box-shadow: 0 10px 30px rgba(212,175,55,.18);
}
.btn-gold:hover{ filter: brightness(.98); transform: translateY(-1px); }
.btn-outline-gold{
  border: 1px solid rgba(212,175,55,.7);
  color: #fff;
}
.btn-outline-gold:hover{
  background: rgba(212,175,55,.12);
  border-color: rgba(212,175,55,1);
}

.card-glass{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  box-shadow: var(--shadow);
}

.section{ padding: 72px 0; }
.section-title{ letter-spacing: -.02em; }
.badge-soft{
  background: rgba(212,175,55,.12);
  border: 1px solid rgba(212,175,55,.30);
  color: #ffe9a0;
}

.hero{
  position: relative;
  min-height: 78vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.72), rgba(0,0,0,.70)),
    radial-gradient(900px 480px at 30% 20%, rgba(212,175,55,.18), transparent 60%);
  z-index:1;
}
.hero-media{
  position:absolute; inset:0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  filter: saturate(1.05);
}
.hero-content{ position:relative; z-index:2; }
.hero-kicker{ color: rgba(255,255,255,.78); }

.card-hover{
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.card-hover:hover{
  transform: translateY(-4px);
  border-color: rgba(212,175,55,.30);
}

.grid-masonry{
  column-count: 1;
  column-gap: 16px;
}
@media(min-width: 576px){ .grid-masonry{ column-count: 2; } }
@media(min-width: 992px){ .grid-masonry{ column-count: 3; } }

.masonry-item{
  break-inside: avoid;
  margin-bottom: 16px;
}
.photo-tile{
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
}
.photo-tile img{ width: 100%; height:auto; display:block; }

.input-dark, .select-dark{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color:#fff;
}
.input-dark::placeholder{ color: rgba(255,255,255,.55); }
