:root {
  --pack-bg: #080b16;
  --pack-panel: rgba(18, 22, 35, .88);
  --pack-gold: #c9a554;
  --pack-light: #eed486;
  --pack-text: rgba(245, 237, 216, .84);
  --pack-muted: rgba(245, 237, 216, .58);
  --pack-line: rgba(201, 165, 84, .22);
}

body.pack-page {
  background: radial-gradient(circle at 50% 4rem, rgba(201, 165, 84, .14), transparent 34rem), var(--pack-bg);
  color: var(--pack-text);
}

.pack-shell { width: min(1080px, calc(100% - 2rem)); margin: 0 auto; padding: 2rem 0 5rem; }
.pack-back { color: var(--pack-muted); font: .7rem 'Cinzel', serif; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
.pack-back:hover,
.pack-back:focus-visible { color: var(--pack-light); }
.pack-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; padding: clamp(3rem, 8vw, 7rem) 0 3rem; }
.pack-visual { position: relative; }
.pack-visual::before { content: ''; position: absolute; inset: 12% 8%; background: rgba(201, 165, 84, .12); border-radius: 50%; filter: blur(45px); }
.pack-visual img { position: relative; display: block; width: 100%; height: auto; border: 1px solid rgba(184, 140, 72, .32); border-radius: 12px; filter: drop-shadow(0 28px 36px rgba(0,0,0,.52)); }
.pack-kicker { color: var(--pack-gold); font: .72rem 'Cinzel', serif; letter-spacing: .28em; text-transform: uppercase; }
.pack-copy h1 { margin: .8rem 0 1rem; color: var(--pack-light); font: 400 clamp(2.4rem, 7vw, 5rem)/1 'Cinzel Decorative', 'Cinzel', serif; }
.pack-lead { color: var(--pack-muted); font-size: 1.02rem; line-height: 1.8; }
.pack-price { display: flex; gap: 1rem; align-items: baseline; margin: 1.6rem 0; }
.pack-price strong { color: var(--pack-light); font: 400 2.2rem 'Cinzel', serif; }
.pack-price span { color: var(--pack-muted); text-decoration: line-through; }
.pack-cta { display: inline-flex; padding: 1rem 1.35rem; border: 1px solid var(--pack-gold); background: linear-gradient(135deg, #d2ad57, #9b7128); color: #11131b; font: 600 .72rem 'Cinzel', serif; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.pack-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
.pack-card { padding: 1.5rem; background: var(--pack-panel); border: 1px solid var(--pack-line); border-radius: 14px; }
.pack-card h2 { margin: 0 0 .7rem; color: var(--pack-gold); font: 500 .95rem 'Cinzel', serif; letter-spacing: .1em; text-transform: uppercase; }
.pack-card p,
.pack-card li { color: var(--pack-text); font-size: .9rem; line-height: 1.7; }
.pack-card ul { margin: 0; padding-left: 1.2rem; }
.pack-note { margin-top: 1.2rem; padding: 1.2rem 1.4rem; border-left: 2px solid var(--pack-gold); color: var(--pack-muted); line-height: 1.7; }
.pack-note a { color: var(--pack-light); }

@media (max-width: 760px) {
  .pack-hero { grid-template-columns: 1fr; padding-top: 3rem; }
  .pack-visual { order: -1; }
  .pack-price { flex-direction: column; gap: .35rem; align-items: flex-start; }
  .pack-grid { grid-template-columns: 1fr; }
}
