:root{
  /* Palette old-gold */
  --bg:#0a0908; --bg-2:#13100d; --paper:#14110e;
  --fg:#f5ecd9; --muted:#d6cdb9;
  --gold:#d8c27a; --gold-2:#caa04a; --gold-3:#8a6b2f;

  --card:rgba(255,255,255,.05); --stroke:rgba(216,194,122,.18);
  --radius:18px; --shadow:0 10px 30px rgba(0,0,0,.35);
  --link:#f3e6c3; --link-hover:#ffd86b;

  --scrollY:0; --parallax:0px;
  --sp-h:232px; --gap:12px;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--fg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background:
    radial-gradient(900px 600px at 10% 0%, rgba(216,194,122,.08), transparent 60%),
    radial-gradient(600px 400px at 100% 10%, rgba(202,160,74,.08), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  line-height:1.65; overflow-x:hidden;
}
a{color:var(--link); text-decoration:none}
a:hover, a:focus-visible{color:var(--link-hover)}
.container{width:min(1100px,100% - 32px); margin:0 auto}

/* Type */
.title,.h2,.fancy,h1,h2,h3{font-family:"Cormorant Garamond", serif}
.fancy{letter-spacing:.5px; color:var(--link-hover)}
.h2{margin:0 0 12px; font-size:26px}

/* Header */
.hdr{
  position:sticky; top:0; z-index:20; backdrop-filter:saturate(140%) blur(10px);
  background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,0));
  border-bottom:1px solid var(--stroke)
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.3px}
.brand-avatar{width:38px; height:38px; border-radius:999px; object-fit:cover; border:1px solid var(--gold-2); box-shadow:0 0 0 3px rgba(202,160,74,.15)}
.brandname{font-family:"Cormorant Garamond", serif; font-size:20px; letter-spacing:.6px}
.navlinks{display:flex; gap:18px; font-weight:700}
.navlinks a{opacity:.95; padding:8px 12px; border-radius:10px; border:1px solid transparent}
.navlinks a:hover, .navlinks a.active{border-color:var(--stroke); background:rgba(255,255,255,.04)}

/* Ornate edges */
.ornate{position:relative; border-image:linear-gradient(90deg, transparent, var(--gold-3), transparent) 1}
.ornate::after{
  content:""; position:absolute; inset:auto 0 -1px 0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(216,194,122,.6), transparent);
}
.ornate-top{position:relative}
.ornate-top::before{
  content:""; position:absolute; inset:-1px 0 auto 0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(216,194,122,.6), transparent);
}

/* Particles: subtle gold dust */
.bg-particles{position:fixed; inset:0; pointer-events:none; z-index:0}
.particle{
  position:absolute; width:5px; height:5px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,216,107,.9) 0%, rgba(255,216,107,.2) 70%, transparent 72%);
  filter:blur(.2px);
  animation:float var(--dur,10s) ease-in-out infinite;
}
@keyframes float{
  0%,100%{ transform: translateY(0) translateX(0) scale(1); opacity:.55; }
  50%   { transform: translateY(-18px) translateX(10px) scale(1.06); opacity:.95; }
}

/* Hero */
.hero{padding:92px 0 32px; display:grid; gap:18px; text-align:center; position:relative; z-index:1}
.hero-image{
  position:relative; background-image:var(--hero, linear-gradient(135deg,#111,#222));
  background-size:cover; background-position:center; border-bottom:1px solid var(--stroke); padding-bottom:42px;
}
.hero-image::before{content:''; position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(9,7,6,.72), rgba(9,7,6,.35))}
.hero-image .inner{position:relative; transform:translateY(calc(var(--parallax) * -0.20))}
.hero.slim{padding:58px 0 10px}
.title{font-size:clamp(30px,6vw,56px); line-height:1.08; margin:0}
.subtitle{color:var(--muted); font-size:clamp(16px,2.5vw,19px); margin:0 auto; max-width:820px}

/* Buttons & pills */
.linkrow{display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:12px}
.linkbtn{
  display:flex; align-items:center; gap:10px; justify-content:center;
  padding:12px 18px; border-radius:999px; border:1px solid var(--stroke);
  background:rgba(255,255,255,.04); font-weight:800; box-shadow:var(--shadow); color:#fff;
  transition:transform .1s ease, box-shadow .2s ease;
}
.linkbtn:hover{transform:translateY(-2px)}
.linkbtn.gold{
  background:linear-gradient(135deg, rgba(216,194,122,.22), rgba(202,160,74,.10));
  box-shadow:0 0 0 1px rgba(216,194,122,.35) inset, var(--shadow);
}
.pill{
  display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:999px;
  border:1px dashed rgba(216,194,122,.35); background:rgba(255,255,255,.03); font-weight:700;
}

/* Sections & cards */
section{padding:28px 0}
.grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
@media (max-width:900px){.grid{grid-template-columns:1fr}}
.card{background:var(--card); border:1px solid var(--stroke); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow)}
.paper{background:
  linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)),
  repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 2px, transparent 2px 4px),
  var(--card)}

/* Ornate divider */
.ornate-divider{
  border:0; height:14px; margin:18px 0 6px;
  background:
    radial-gradient(circle at 50% 50%, rgba(216,194,122,.45), transparent 48%),
    linear-gradient(90deg, transparent, rgba(216,194,122,.22), transparent);
  mask:radial-gradient(circle at 50% 50%, #000 38%, transparent 40%);
}

/* Video / YouTube */
.video iframe{width:100%; aspect-ratio:16/9; border:0; display:block}
.yt-flex{display:grid; grid-template-columns:minmax(0, 2fr) minmax(0, 1fr); gap:12px; align-items:start}
@media (max-width:900px){.yt-flex{grid-template-columns:1fr}}
.yt-list .yt-links{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.yt-list .yt-links a{
  display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:12px;
  border:1px solid var(--stroke); background:rgba(255,255,255,.03); font-weight:700
}
.yt-list .yt-links a.active{
  box-shadow:0 0 0 1px var(--gold) inset; color:var(--link-hover);
}

/* Spotify (vertical, compact + gold frame) */
.spotify-vert{display:grid; grid-template-columns:1fr; gap:var(--gap)}
.spotify-card{
  background:linear-gradient(180deg, rgba(216,194,122,.07), rgba(216,194,122,.03));
  border:1px solid var(--stroke); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow);
  display:flex; flex-direction:column; gap:12px
}
.sp-embed{border-radius:12px; overflow:hidden; background:#0f0d0a; box-shadow:inset 0 0 0 1px rgba(216,194,122,.18)}
.sp-embed iframe{width:100%; height:var(--sp-h); border:0; display:block}
@media (min-width:1100px){:root{--sp-h:400px}}
@media (max-width:520px){:root{--sp-h:400px}}

/* Timeline (concerts) */
.timeline{position:relative; margin-left:10px}
.timeline::before{
  content:""; position:absolute; left:-2px; top:4px; bottom:4px; width:2px;
  background:linear-gradient(180deg, var(--gold-3), transparent)
}
.t-item{display:grid; grid-template-columns:120px 1fr; gap:14px; align-items:start; margin:14px 0}
.t-date{font-family:"Cormorant Garamond", serif; color:var(--link-hover)}
.t-card{border-left:3px solid rgba(216,194,122,.35); padding-left:12px}
.summary{cursor:pointer; list-style:none; font-weight:800; color:var(--link-hover)}
.past-list{margin:10px 0 0 16px; padding:0}

/* Lists */
.ul{margin:0; padding-left:18px; line-height:1.7}

/* Footer */
.ftr{border-top:1px solid var(--stroke); margin-top:24px; padding:22px 0 40px; color:var(--muted); font-size:14px}
.fgrid{display:grid; grid-template-columns:1fr auto; align-items:center}

/* Reveal on scroll */
[data-reveal]{opacity:0; transform:translateY(12px); transition:opacity .6s ease, transform .6s ease}
[data-reveal].revealed{opacity:1; transform:translateY(0)}

/* Motion reduce */
@media (prefers-reduced-motion: reduce){
  .bg-particles{display:none}
  .hero-image .inner{transform:none !important}
  *{animation:none !important; transition:none !important}
}

/* --- nicer feature chips under the hero --- */
.features{
  list-style:none; margin:16px auto 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:12px;
  max-width:980px;
}
.feature{
  padding:14px 16px; font-weight:800; border-radius:24px;
  background:linear-gradient(180deg, rgba(216,194,122,.10), rgba(216,194,122,.04));
  border:1px dashed rgba(216,194,122,.35);
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}

/* --- About section --- */
.about-section{padding-top:10px}
.about-grid{
  display:grid; grid-template-columns: 1fr 1.4fr; gap:16px; align-items:center;
  border-radius:var(--radius); padding:16px;
}
.about-img{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px;
  border:1px solid rgba(216,194,122,.28); box-shadow:var(--shadow);
}
.about-copy p{margin:0 0 10px}

/* centered Spotify CTA */
.cta-center{display:grid; place-items:center; margin-top:14px}
.linkbtn.big{padding:16px 28px; font-size:18px; border-width:2px}



