/* Base */
* { box-sizing: border-box; }
:root { --gold:#facc15; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
#quote { scroll-margin-top: 80px; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: .5rem; }

/* Hero background gradient */
.hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(250,204,21,.12), transparent 40%),
    radial-gradient(circle at 80% 0, rgba(250,204,21,.06), transparent 40%);
}

/* Buttons */
.btn-primary {
  display:inline-flex; align-items:center; justify-content:center;
  padding:.75rem 1.5rem; border-radius:1rem;
  font-weight:600; background:var(--gold); color:#000;
  box-shadow: 0 10px 25px rgba(250,204,21,.2);
  transition: transform .15s ease;
}
.btn-primary:hover { transform: scale(1.02); }

.btn-secondary {
  display:inline-flex; align-items:center; justify-content:center;
  padding:.75rem 1.5rem; border-radius:1rem;
  font-weight:600; color:#fff;
  border:1px solid rgb(64 64 64 / 1); /* neutral-700 */
  background:transparent;
}
.btn-secondary:hover { background: rgba(23,23,23,.6); } /* neutral-900/60 */

/* Inputs */
.input {
  width:100%; padding:.75rem 1rem; border-radius:.75rem;
  background:#0a0a0a; /* neutral-950 */
  border:1px solid rgb(38 38 38 / 1); /* neutral-800 */
  color:#fff;
}
.input::placeholder { color: rgb(163 163 163 / 1); } /* neutral-400 */

/* Cards / text */
.card {
  border:1px solid rgb(38 38 38 / 1);
  background: rgba(23,23,23,.4);
  border-radius:1rem; padding:1.25rem;
}
.muted { color: rgb(163 163 163 / 1); font-size:.9rem; }
.link { text-decoration: underline; text-underline-offset: 4px; }

/* Gallery */
.gallery {
  width:100%; aspect-ratio:1 / 1; object-fit:cover;
  border:1px solid rgb(38 38 38 / 1);
  border-radius:1rem; background:#0a0a0a;
}
