:root {
  --demo-ink: #171714;
  --demo-charcoal: #22231f;
  --demo-ivory: #f3eee4;
  --demo-paper: #fffdf8;
  --demo-gold: #b8924d;
  --demo-gold-light: #dabc7d;
  --demo-warm: #9b442d;
  --demo-warm-on-dark: #dabc7d;
  --demo-warm-on-gold: #6a2e1b;
  --demo-muted: #746f65;
  --demo-line: rgba(76, 68, 53, .18);
  --demo-serif: "Playfair Display", Georgia, serif;
  --demo-sans: "DM Sans", "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

.package-home {
  margin: 0;
  color: var(--demo-ink);
  background: var(--demo-ivory);
  font: 400 16px/1.65 var(--demo-sans);
  -webkit-font-smoothing: antialiased;
}

.package-home a { color: inherit; }
.warm-accent { color: var(--demo-warm); font-style: inherit; }
.package-hero .warm-accent,
.package-note .warm-accent,
.package-card-dark .warm-accent { color: var(--demo-warm-on-dark); }
.package-card-gold .warm-accent { color: var(--demo-warm-on-gold); }
.package-home :focus-visible,
.demo-package-back:focus-visible { outline: 3px solid var(--demo-gold-light); outline-offset: 4px; }

.package-hero {
  min-height: 700px;
  padding: 0 clamp(1.3rem, 5vw, 5rem) clamp(4rem, 8vw, 7rem);
  color: var(--demo-ivory);
  background:
    radial-gradient(circle at 79% 34%, rgba(218, 188, 125, .14), transparent 23rem),
    repeating-linear-gradient(135deg, transparent 0 42px, rgba(255,255,255,.018) 42px 43px),
    var(--demo-charcoal);
}

.package-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 92px;
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.package-mark { display: flex; gap: .75rem; align-items: center; font-weight: 700; text-decoration: none; }
.package-mark span { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; color: var(--demo-gold-light); border: 1px solid rgba(218,188,125,.5); font: 700 .68rem/1 var(--demo-sans); letter-spacing: .08em; }
.package-status { color: #aaa69d; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }

.package-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
  gap: clamp(3rem, 9vw, 9rem);
  align-items: end;
  max-width: 1320px;
  min-height: 540px;
  margin: 0 auto;
  padding-top: clamp(4rem, 8vw, 8rem);
}

.package-kicker, .package-index, .package-card-type { margin: 0 0 1rem; color: var(--demo-gold-light); font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.package-hero h1 { max-width: 900px; margin: 0; font: 700 clamp(3.5rem, 8vw, 7.6rem)/.92 var(--demo-serif); letter-spacing: -.05em; }
.package-hero h1 em { color: var(--demo-warm-on-dark); font-weight: 600; }
.package-lead { max-width: 760px; margin: 2rem 0 0; color: #cbc6bc; font-size: clamp(1rem, 1.6vw, 1.28rem); }
.package-note { padding: 1.6rem; border-top: 3px solid var(--demo-gold); background: rgba(255,255,255,.055); }
.package-note > span { display: block; color: #a9a49b; font-size: .67rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.package-note strong { display: block; margin: .55rem 0 .75rem; font: 600 1.65rem/1.2 var(--demo-serif); }
.package-note p { margin: 0; color: #c9c4ba; font-size: .84rem; }

.package-main { width: min(100% - 2.6rem, 1320px); margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) 0; }
.package-intro, .package-section-head { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(320px, 1fr); gap: clamp(2rem, 8vw, 8rem); align-items: end; }
.package-intro { padding-bottom: clamp(3rem, 6vw, 6rem); border-bottom: 1px solid var(--demo-line); }
.package-index { color: #8b6b32; }
.package-intro h2, .package-section-head h2 { margin: 0; font: 700 clamp(2.2rem, 4vw, 4.4rem)/1.02 var(--demo-serif); letter-spacing: -.035em; }
.package-intro > p, .package-section-head > p { margin: 0; color: var(--demo-muted); font-size: 1.03rem; }

.package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: clamp(3rem, 6vw, 6rem) 0 clamp(5rem, 9vw, 9rem); }
.package-card { position: relative; min-height: 430px; padding: clamp(2rem, 4vw, 4rem); overflow: hidden; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.package-card:hover { transform: translateY(-5px); box-shadow: 0 25px 55px rgba(37,33,26,.14); }
.package-card-number { position: absolute; top: 1.5rem; right: 1.7rem; font: 700 4rem/1 var(--demo-serif); opacity: .12; }
.package-card h3 { max-width: 520px; margin: 3.5rem 0 1rem; font: 700 clamp(2rem, 4vw, 4rem)/1 var(--demo-serif); letter-spacing: -.03em; }
.package-card p { max-width: 530px; margin: 0; opacity: .75; }
.package-card > strong { position: absolute; bottom: 2.2rem; left: clamp(2rem, 4vw, 4rem); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.package-home .package-card-dark { color: var(--demo-ivory); background: var(--demo-charcoal); }
.package-card-gold { color: #241d12; background: var(--demo-gold-light); }
.package-card-gold .package-card-type { color: #6b4c17; }

.package-ladder { margin-top: 1rem; }
.package-section-head { margin-bottom: 3rem; }
.package-tier { display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; min-height: 210px; padding: 2.1rem 2rem; border-top: 1px solid var(--demo-line); }
.package-tier:last-child { border-bottom: 1px solid var(--demo-line); }
.package-tier-focus { background: rgba(255,253,248,.68); box-shadow: inset 4px 0 0 var(--demo-gold); }
.package-tier header span { display: block; color: var(--demo-muted); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.package-tier header strong { display: block; margin-top: .45rem; color: #896a31; font: 700 2.7rem/1 var(--demo-serif); }
.package-tier h3 { margin: 0 0 .45rem; font: 700 clamp(1.45rem, 2.4vw, 2.3rem)/1.1 var(--demo-serif); }
.package-tier p { max-width: 680px; margin: 0; color: var(--demo-muted); }
.package-tier nav { display: grid; gap: .7rem; min-width: 205px; }
.package-tier nav a { padding: .8rem 1rem; border: 1px solid #9a7a3f; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-align: center; text-decoration: none; text-transform: uppercase; transition: background .18s ease, color .18s ease; }
.package-tier nav a:hover { color: white; background: var(--demo-charcoal); border-color: var(--demo-charcoal); }

.package-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 2rem clamp(1.3rem, 5vw, 5rem); color: #9f9b92; background: var(--demo-charcoal); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.package-footer p { margin: 0; }

.demo-package-back {
  position: fixed;
  z-index: 9999;
  top: 1rem;
  right: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .68rem .92rem;
  color: #fffdf8 !important;
  border: 1px solid rgba(218,188,125,.55);
  border-radius: 999px;
  background: rgba(31,32,29,.93);
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
  font: 700 .68rem/1 var(--demo-sans) !important;
  letter-spacing: .06em;
  text-decoration: none !important;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.demo-package-back:hover { color: #171714 !important; background: var(--demo-gold-light); }
.internal-reference { color: #665f54; border-bottom: 1px dotted #9f8c68; }
.internal-reference small { color: #8d7447; font-size: .72em; font-weight: 700; text-transform: uppercase; }

@media (max-width: 860px) {
  .package-hero { min-height: auto; }
  .package-hero-grid, .package-intro, .package-section-head { grid-template-columns: 1fr; }
  .package-hero-grid { min-height: auto; }
  .package-note { max-width: 520px; }
  .package-grid { grid-template-columns: 1fr; }
  .package-card { min-height: 390px; }
  .package-tier { grid-template-columns: 1fr; gap: 1.2rem; }
  .package-tier nav { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .package-nav { align-items: flex-start; gap: 1rem; padding: 1rem 0; }
  .package-status { max-width: 130px; text-align: right; }
  .package-hero h1 { font-size: clamp(3.1rem, 17vw, 5rem); }
  .package-main { width: min(100% - 1.5rem, 1320px); }
  .package-card { min-height: 410px; }
  .package-tier { padding-inline: 1.1rem; }
  .package-tier nav { grid-template-columns: 1fr; }
  .package-footer { flex-direction: column; }
  .demo-package-back { top: .65rem; right: .65rem; padding: .58rem .72rem; font-size: .58rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

@media print {
  .demo-package-back { display: none !important; }
}
