* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --ink: #2a1410; --paper: #fff7ea; --amber: #ffd27a; --coral: #ff7a5c;
  --plum: #5a3b8a; --deep: #241033; --gold: #ffb877;
}
html, body { max-width: 100%; overflow-x: hidden; }
body { background: var(--deep); color: var(--paper);
  font-family: ui-rounded, "Segoe UI", system-ui, -apple-system, sans-serif; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1;
  background: radial-gradient(ellipse at 50% -10%, #6a3a7a 0%, var(--deep) 55%),
              linear-gradient(180deg, transparent 60%, rgba(255,122,92,.14)); }

#topbar { display: flex; align-items: center; justify-content: space-between;
  padding: 14px 22px; position: sticky; top: 0; z-index: 20;
  background: rgba(36,16,51,.82); backdrop-filter: blur: 8px; backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,210,122,.25); }
.logo { font-weight: 900; letter-spacing: 2px; font-size: 16px; color: var(--amber); }
.logo em { color: var(--coral); font-style: normal; }

.cta { display: inline-block; padding: 15px 34px; font-size: 17px; font-weight: 900;
  letter-spacing: 1px; color: var(--ink); text-decoration: none;
  background: linear-gradient(135deg, var(--amber), var(--coral));
  border-radius: 999px; box-shadow: 0 8px 30px rgba(255,140,60,.45); }
.cta:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(255,140,60,.6); }
.cta.small { padding: 8px 20px; font-size: 13px; }

#hero { display: flex; flex-direction: column; align-items: center; gap: 22px;
  padding: 40px 20px 46px; text-align: center; }
#hero h1 { font-size: clamp(34px, 7vw, 64px); letter-spacing: 2px; line-height: 1.05;
  color: var(--paper); text-shadow: 0 4px 30px rgba(255,122,92,.5); }
#hero h1 span { color: var(--coral); }
.tagline { font-size: clamp(15px, 2.6vw, 20px); color: var(--amber);
  margin: 12px 0 22px; max-width: 34ch; margin-inline: auto; }
#hero-preview { width: min(940px, 94vw); height: min(52vh, 460px);
  border-radius: 18px; border: 1px solid rgba(255,210,122,.35);
  box-shadow: 0 18px 60px rgba(0,0,0,.55); background: #f2b06a; }

.band { padding: 46px 22px; max-width: 1080px; margin: 0 auto; }
.band h2 { font-size: clamp(22px, 4vw, 32px); color: var(--amber);
  margin-bottom: 22px; letter-spacing: 1px; }
.band.alt { background: rgba(90,59,138,.22); border-radius: 20px; margin: 22px auto; }

#gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px; }
#gallery img { width: 100%; aspect-ratio: 560/340; object-fit: cover;
  border-radius: 14px; border: 1px solid rgba(255,210,122,.3);
  background: #7a5a70; box-shadow: 0 10px 26px rgba(0,0,0,.4); }

#features { list-style: none; display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; }
#features li { background: rgba(255,247,234,.07); border: 1px solid rgba(255,210,122,.25);
  border-radius: 14px; padding: 14px 16px; font-size: 15px; line-height: 1.45; }

#controls { font-size: 15px; line-height: 1.6; }
.ctrl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px; }
.ctrl-grid div { background: rgba(255,210,122,.10); border: 1px solid rgba(255,210,122,.3);
  border-radius: 14px; padding: 14px 16px; }
.ctrl-grid b { color: var(--coral); letter-spacing: 1px; }

footer { text-align: center; padding: 34px 20px 44px; color: #c9b8a8; font-size: 14px; }
footer a { color: var(--amber); }

@media (max-width: 480px) {
  #hero { padding: 26px 14px 34px; }
  #hero-preview { height: 240px; }
  .cta { padding: 13px 26px; font-size: 15px; }
}
