/* Champagne & Chips v2 Velvet Salon
   Layout: a paneled salon wall. Rose wainscot bands with gilded frames, cream editorial rooms, a deep bordeaux footer like velvet curtains.
   Single committed look (the brand has no dark mode), every color set explicitly. */
:root {
  --bordeaux: #8E2346;
  --bordeaux-deep: #5E1A2B;
  --rose: #E7B9B5;
  --velvet-rose: #B5726B;
  --cream: #F6EDE3;
  --ink: #4A1F2A;
  --badge-ink: #4A1022;
  --gold: #C9A24A;
  --gold-fill: linear-gradient(100deg, #9A7228 0%, #F5DE97 28%, #B58A34 50%, #F5DE97 72%, #9A7228 100%);
  --gold-rule: linear-gradient(90deg, #9A7228, #F5DE97, #9A7228);
  --gold-badge: linear-gradient(100deg, #C9A24A, #F5DE97, #C9A24A);

  --f-display: "Playfair Display", "Didot", "Bodoni 72", Georgia, serif;
  --f-label: "Cormorant Garamond", "Garamond", Georgia, serif;
  --f-body: "Outfit", "Avenir Next", "Segoe UI", system-ui, sans-serif;

  --s-xs: 4px; --s-sm: 8px; --s-md: 16px; --s-lg: 24px; --s-xl: 40px; --s-2xl: 64px; --s-3xl: 96px;
  --r-pill: 9999px; --r-3xl: 24px; --r-2xl: 16px; --r-xl: 12px;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--f-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--bordeaux); }
:focus-visible { outline: 2px solid var(--bordeaux); outline-offset: 3px; }

.wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
.narrow { max-width: 760px; }

/* ---------- type ---------- */
.eyebrow {
  font-family: var(--f-label);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 4px;
  font-size: 15px;
  color: var(--bordeaux);
  margin: 0;
}
h1, h2, h3 { font-family: var(--f-display); color: var(--bordeaux); margin: 0; text-wrap: balance; line-height: 1.08; }
h1 { font-style: italic; font-weight: 700; font-size: clamp(42px, 7vw, 80px); letter-spacing: -0.5px; }
h2 { font-style: italic; font-weight: 600; font-size: clamp(32px, 4.4vw, 50px); }
h3 { font-style: italic; font-weight: 600; font-size: 25px; line-height: 1.2; }
.title-beats { font-style: normal; font-weight: 700; }
.lede { font-size: clamp(18px, 2vw, 21px); max-width: 34em; margin: 0; }
p { margin: 0; }
.rule { width: 120px; height: 3px; background: var(--gold-rule); border: 0; margin: 0; }

/* ---------- header ---------- */
.site-head { background: var(--rose); border-bottom: 1px solid rgba(142, 35, 70, 0.18); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 21; background: var(--rose); }
.site-head .wrap { display: flex; align-items: center; justify-content: space-between; gap: var(--s-md); flex-wrap: wrap; padding-block: 14px; }
.wordmark { font-family: var(--f-display); font-style: italic; font-weight: 700; font-size: 26px; color: var(--bordeaux); text-decoration: none; line-height: 1; display: inline-flex; flex-direction: column; gap: 6px; }
.wordmark sup { font-family: var(--f-body); font-style: normal; font-weight: 300; font-size: 11px; vertical-align: super; }
.wordmark::after { content: ""; width: 64px; height: 2px; background: var(--gold-rule); }
.nav { display: flex; align-items: center; gap: var(--s-lg); flex-wrap: wrap; }
.nav a { font-size: 15px; font-weight: 500; color: var(--ink); text-decoration: none; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--bordeaux); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 6px; text-decoration-thickness: 2px; }

/* ---------- buttons & badges ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--f-body); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 14px;
  padding: 15px 28px; border-radius: var(--r-pill); text-decoration: none; border: 2px solid var(--bordeaux);
  cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(94, 26, 43, 0.18); }
.btn-primary { background: var(--bordeaux); color: var(--cream); }
.btn-secondary { background: transparent; color: var(--bordeaux); }
.btn-tertiary { background: var(--cream); color: var(--bordeaux); border-color: var(--cream); }
.nav .btn { padding: 10px 20px; font-size: 13px; color: var(--cream); }
.nav .btn:hover { color: var(--cream); text-decoration: none; }

.badge { display: inline-block; font-family: var(--f-body); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; padding: 6px 14px; border-radius: var(--r-pill); }
.badge-gold { background: var(--gold-badge); color: var(--badge-ink); }
.badge-cream { background: var(--cream); color: var(--bordeaux); }
.badge-bordeaux { background: var(--bordeaux); color: var(--cream); }

/* ---------- bands ---------- */
.band { padding-block: var(--s-3xl); }
.band-rose { background: var(--rose); }
.band-cream { background: var(--cream); }
.band-deep { background: var(--bordeaux-deep); color: var(--cream); }
.band-deep h2, .band-deep h3 { color: var(--cream); }
.band-deep .eyebrow { color: var(--gold); }
.section-head { display: grid; gap: var(--s-md); margin-bottom: var(--s-xl); max-width: 720px; }

/* wainscot: the salon paneling, a quiet repeated molding on rose bands */
.wainscot { position: relative; }
.wainscot::before {
  content: ""; position: absolute; inset: 18px; pointer-events: none;
  border: 1px solid rgba(154, 114, 40, 0.45);
  border-radius: 4px;
  box-shadow: inset 0 0 0 7px var(--rose), inset 0 0 0 8px rgba(154, 114, 40, 0.28);
}
.wainscot > .wrap { position: relative; }

/* ---------- hero ---------- */
.hero .wrap { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: var(--s-2xl); align-items: center; padding-block: var(--s-3xl); }
.hero-copy { display: grid; gap: var(--s-lg); min-width: 0; }
.hero-actions { display: flex; gap: var(--s-md); flex-wrap: wrap; align-items: center; }

/* gilded portrait frame */
.frame {
  position: relative; padding: 14px; border-radius: 200px 200px var(--r-3xl) var(--r-3xl);
  background: var(--gold-fill); box-shadow: 0 24px 50px rgba(94, 26, 43, 0.28);
  max-width: 420px; width: 100%; justify-self: center;
}
.frame-inner { border-radius: 188px 188px 14px 14px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--bordeaux-deep); position: relative; max-width: 100%; }
.frame-inner img { width: 100%; height: 100%; object-fit: cover; }
.frame-inner .monogram { position: absolute; inset: 0; display: none; place-items: center; text-align: center; font-family: var(--f-display); font-style: italic; color: var(--gold); }
.frame-inner .monogram span { display: block; font-size: 120px; line-height: 1; background: var(--gold-fill); -webkit-background-clip: text; background-clip: text; color: transparent; }
.frame-inner .monogram small { display: block; font-family: var(--f-label); font-style: normal; font-weight: 600; letter-spacing: 4px; text-transform: uppercase; font-size: 14px; color: var(--cream); margin-top: 8px; }
.frame-inner.no-photo img { display: none; }
.frame-inner.no-photo .monogram { display: grid; }
.nameplate {
  position: absolute; left: 50%; bottom: -18px; transform: translateX(-50%);
  background: var(--gold-badge); color: var(--badge-ink); font-family: var(--f-label); font-weight: 700;
  letter-spacing: 4px; text-transform: uppercase; font-size: 13px; padding: 8px 18px; border-radius: 6px; white-space: nowrap;
  box-shadow: 0 6px 14px rgba(94, 26, 43, 0.25);
}

/* ---------- the doorbell (press for champagne) ---------- */
.doorbell { display: inline-flex; align-items: center; gap: var(--s-md); text-decoration: none; color: var(--bordeaux); }
.doorbell-plate {
  width: 74px; height: 74px; border-radius: 50%; background: var(--gold-fill); display: grid; place-items: center; flex: none;
  box-shadow: 0 6px 14px rgba(94, 26, 43, 0.25), inset 0 0 0 2px rgba(255, 245, 210, 0.6);
}
.doorbell-btn {
  width: 40px; height: 40px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #F6EDE3 0%, #E9D7C6 55%, #C9B29A 100%);
  box-shadow: inset 0 -3px 6px rgba(94, 26, 43, 0.25), 0 2px 3px rgba(94, 26, 43, 0.3); transition: transform .12s ease, box-shadow .12s ease;
}
.doorbell:hover .doorbell-btn, .doorbell:focus-visible .doorbell-btn { transform: scale(0.92); box-shadow: inset 0 3px 6px rgba(94, 26, 43, 0.3); }
.doorbell-label { display: grid; gap: 2px; }
.doorbell-label .eyebrow { font-size: 14px; }
.doorbell-label strong { font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: 20px; }

/* ---------- cards ---------- */
.gilded { background: var(--gold-fill); padding: 3px; border-radius: var(--r-3xl); }
.card { background: var(--cream); border-radius: 21px; padding: var(--s-xl) var(--s-lg); display: grid; gap: var(--s-md); align-content: start; height: 100%; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-lg); }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-lg); }
.card .card-link { font-weight: 600; text-decoration: none; letter-spacing: 1px; text-transform: uppercase; font-size: 13px; margin-top: auto; }
.card .card-link::after { content: " \2192"; }

/* ---------- five pours (a real sequence) ---------- */
.pours { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: pour; }
.pour { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: var(--s-lg); align-items: start; padding-block: var(--s-lg); border-top: 1px solid rgba(181, 114, 107, 0.45); }
.pour:last-child { border-bottom: 1px solid rgba(181, 114, 107, 0.45); }
.pour-dot { width: 52px; height: 52px; border-radius: 50%; background: var(--gold-badge); color: var(--badge-ink); display: grid; place-items: center; font-family: var(--f-display); font-weight: 700; font-size: 22px; box-shadow: 0 4px 10px rgba(94, 26, 43, 0.18); }
.pour h3 { margin-bottom: 6px; }
.pour .tools { font-family: var(--f-label); font-weight: 600; letter-spacing: 2px; text-transform: uppercase; font-size: 14px; color: var(--bordeaux); white-space: nowrap; padding-top: 10px; }
.band-deep .pour { border-color: rgba(201, 162, 74, 0.35); }
.band-deep .pour h3 { color: var(--cream); }
.band-deep .pour .tools { color: var(--gold); }

/* ---------- for / not for ---------- */
.fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-lg); }
.fit-col { padding: var(--s-xl) var(--s-lg); border-radius: var(--r-3xl); display: grid; gap: var(--s-md); align-content: start; }
.fit-yes { background: var(--cream); }
.fit-no { background: transparent; border: 1px solid var(--velvet-rose); }
.fit ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.fit li { padding-left: 28px; position: relative; }
.fit-yes li::before { content: ""; position: absolute; left: 0; top: 9px; width: 14px; height: 14px; border-radius: 50%; background: var(--gold-badge); }
.fit-no li::before { content: ""; position: absolute; left: 2px; top: 15px; width: 12px; height: 2px; background: var(--velvet-rose); }

/* ---------- price / waitlist ---------- */
.offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-2xl); align-items: center; }
.price { display: flex; align-items: baseline; gap: var(--s-md); flex-wrap: wrap; }
.price .amount { font-family: var(--f-display); font-weight: 700; font-size: clamp(56px, 8vw, 88px); line-height: 1; background: var(--gold-fill); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.price .per { color: var(--cream); font-size: 18px; }
.price .was { color: rgba(246, 237, 227, 0.75); text-decoration: line-through; }
.includes { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.includes li { padding-left: 30px; position: relative; }
.includes li::before { content: ""; position: absolute; left: 0; top: 11px; width: 16px; height: 2px; background: var(--gold-rule); }

/* ---------- forms ---------- */
.signup { display: grid; gap: var(--s-md); }
.signup-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-sm); }
.signup label { font-family: var(--f-label); font-weight: 600; letter-spacing: 3px; text-transform: uppercase; font-size: 13px; color: var(--bordeaux); display: grid; gap: 6px; min-width: 0; }
.signup input {
  width: 100%; font: inherit; font-family: var(--f-body); font-size: 16px; letter-spacing: 0; text-transform: none; color: var(--ink);
  background: var(--cream); border: 1px solid var(--velvet-rose); border-radius: var(--r-pill); padding: 13px 20px;
}
.signup input::placeholder { color: rgba(74, 31, 42, 0.55); }
.signup .btn { width: 100%; }
.signup .fine { font-size: 13px; color: rgba(74, 31, 42, 0.75); }
.signup .msg { font-size: 15px; font-weight: 500; }
.signup .msg.err { color: var(--bordeaux); }
.signup.done .signup-row, .signup.done .btn, .signup.done .fine, .signup.done label { display: none; }
.thanks { display: grid; gap: 6px; }
.thanks strong { font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: 24px; color: var(--bordeaux); }
.panel-deep-form { background: var(--cream); border-radius: var(--r-3xl); padding: var(--s-xl) var(--s-lg); }

/* ---------- guide covers ---------- */
.guide-cover { aspect-ratio: 4 / 3; border-radius: var(--r-2xl); background: var(--rose); position: relative; overflow: hidden; display: grid; place-items: center; text-align: center; padding: var(--s-lg); max-width: 100%; }
.guide-cover::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(154, 114, 40, 0.55); border-radius: 10px; }
.guide-cover.deep { background: var(--bordeaux-deep); }
.guide-cover.deep .gc-title { color: var(--cream); }
.guide-cover.deep .gc-kicker { color: var(--gold); }
.gc-kicker { font-family: var(--f-label); font-weight: 600; letter-spacing: 3px; text-transform: uppercase; font-size: 12px; color: var(--bordeaux); }
.gc-title { font-family: var(--f-display); font-style: italic; font-weight: 700; font-size: 28px; color: var(--bordeaux); line-height: 1.1; margin-top: 6px; }
.guide-cover .badge { position: absolute; top: 18px; right: 18px; }

/* ---------- agenda (bootcamp) ---------- */
.agenda { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-lg); }
.day { display: grid; gap: var(--s-md); }
.slot { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--s-md); padding-block: var(--s-md); border-top: 1px solid rgba(181, 114, 107, 0.45); }
.slot time { font-family: var(--f-label); font-weight: 700; letter-spacing: 2px; text-transform: uppercase; font-size: 14px; color: var(--bordeaux); padding-top: 3px; }
.slot strong { display: block; font-weight: 600; color: var(--ink); }

/* ---------- about ---------- */
.about { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: var(--s-2xl); align-items: center; }
.about .frame { max-width: 340px; }
.about-copy { display: grid; gap: var(--s-md); min-width: 0; }
.creds { display: flex; gap: var(--s-sm); flex-wrap: wrap; }

/* ---------- faq ---------- */
.faq { display: grid; gap: 0; }
.faq details { border-top: 1px solid rgba(181, 114, 107, 0.45); padding-block: var(--s-md); }
.faq details:last-child { border-bottom: 1px solid rgba(181, 114, 107, 0.45); }
.faq summary { cursor: pointer; font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: 21px; color: var(--bordeaux); list-style: none; display: flex; justify-content: space-between; gap: var(--s-md); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-style: normal; color: var(--velvet-rose); }
.faq details[open] summary::after { content: "\2212"; }
.faq details p { margin-top: var(--s-sm); max-width: 62ch; }

/* ---------- quote strip ---------- */
.promise { text-align: center; display: grid; gap: var(--s-md); justify-items: center; }
.promise p.big { font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(28px, 4vw, 44px); line-height: 1.2; max-width: 22em; text-wrap: balance; }
.band-deep .promise p.big { background: var(--gold-fill); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- footer ---------- */
.site-foot { background: var(--bordeaux-deep); color: var(--cream); padding-block: var(--s-2xl) var(--s-xl); }
.site-foot .wrap { display: grid; gap: var(--s-xl); }
.foot-top { display: flex; justify-content: space-between; gap: var(--s-xl); flex-wrap: wrap; align-items: flex-start; }
.foot-mark { font-family: var(--f-display); font-style: italic; font-weight: 700; font-size: 30px; background: var(--gold-fill); -webkit-background-clip: text; background-clip: text; color: transparent; }
.foot-tag { font-family: var(--f-label); font-weight: 600; letter-spacing: 3px; text-transform: uppercase; font-size: 13px; color: var(--gold); margin-top: 8px; max-width: 30em; }
.foot-links { display: flex; gap: var(--s-xl); flex-wrap: wrap; }
.foot-links div { display: grid; gap: 8px; }
.foot-links a { color: var(--cream); text-decoration: none; font-size: 15px; }
.foot-links a:hover { text-decoration: underline; text-decoration-color: var(--gold); }
.foot-links .eyebrow { color: var(--gold); font-size: 13px; }
.foot-base { border-top: 1px solid rgba(201, 162, 74, 0.35); padding-top: var(--s-md); font-size: 13px; color: rgba(246, 237, 227, 0.75); display: flex; justify-content: space-between; gap: var(--s-md); flex-wrap: wrap; }
.copy-email { background: none; border: 0; padding: 0; font: inherit; color: var(--cream); cursor: pointer; text-align: left; font-size: 15px; }
.copy-email:hover { text-decoration: underline; text-decoration-color: var(--gold); }

/* ---------- entrance ---------- */
@keyframes rise { from { transform: translateY(14px); } to { transform: none; } }
.hero-copy > *, .hero .frame { animation: rise .7s cubic-bezier(.2, .7, .2, 1) both; }
.hero-copy > *:nth-child(2) { animation-delay: .06s; }
.hero-copy > *:nth-child(3) { animation-delay: .12s; }
.hero-copy > *:nth-child(4) { animation-delay: .18s; }
.hero .frame { animation-delay: .1s; }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .hero .wrap, .about, .offer { grid-template-columns: minmax(0, 1fr); gap: var(--s-xl); }
  .hero .frame { order: -1; max-width: 300px; }
  .grid-3 { grid-template-columns: minmax(0, 1fr); }
  .agenda, .fit, .grid-2 { grid-template-columns: minmax(0, 1fr); }
  .about .frame { max-width: 280px; }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .band { padding-block: var(--s-2xl); }
  .hero .wrap { padding-block: var(--s-xl) var(--s-2xl); }
  .wainscot::before { inset: 8px; }
  .nav { gap: var(--s-md); width: 100%; justify-content: space-between; }
  .nav a:not(.btn) { font-size: 14px; }
  .pour { grid-template-columns: 52px minmax(0, 1fr); }
  .pour-dot { width: 44px; height: 44px; font-size: 19px; }
  .pour .tools { grid-column: 2; padding-top: 0; white-space: normal; }
  .signup-row { grid-template-columns: minmax(0, 1fr); }
  .slot { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .frame-inner .monogram span { font-size: 96px; }
}
.card > .badge, .creds .badge { justify-self: start; }
.foot-mark sup { font-family: var(--f-body); font-style: normal; font-weight: 300; font-size: 13px; color: var(--gold); -webkit-text-fill-color: var(--gold); vertical-align: super; }
.nav .btn[aria-current="page"] { color: var(--cream); text-decoration: none; }
.wainscot > .wrap { padding-left: max(48px, env(safe-area-inset-left, 0px)); padding-right: max(48px, env(safe-area-inset-right, 0px)); }
@media (max-width: 640px) { .wainscot > .wrap { padding-left: max(24px, env(safe-area-inset-left, 0px)); padding-right: max(24px, env(safe-area-inset-right, 0px)); } }

/* ---------- guide pages ---------- */
.guide-hero .wrap { padding-block: var(--s-2xl); display: grid; gap: var(--s-md); }
.guide-meta { display: flex; gap: var(--s-sm); flex-wrap: wrap; }
.article { padding-block: var(--s-2xl) var(--s-3xl); }
.article .wrap { max-width: 760px; display: grid; gap: var(--s-lg); }
.article h2 { font-size: clamp(28px, 3.6vw, 38px); margin-top: var(--s-xl); }
.article h3 { margin-top: var(--s-md); }
.article p, .article li { max-width: 65ch; }
.article ul, .article ol { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.step-label { font-family: var(--f-label); font-weight: 700; letter-spacing: 4px; text-transform: uppercase; font-size: 14px; color: var(--velvet-rose); margin-top: var(--s-xl); }
.step-label + h2 { margin-top: 0; }
.prompt { background: var(--gold-fill); padding: 2px; border-radius: var(--r-2xl); }
.prompt-inner { background: #FFFBF6; border-radius: 14px; padding: var(--s-lg); display: grid; gap: var(--s-md); }
.prompt-head { display: flex; justify-content: space-between; align-items: center; gap: var(--s-md); flex-wrap: wrap; }
.prompt-head .eyebrow { font-size: 13px; }
.prompt pre { margin: 0; white-space: pre-wrap; word-wrap: break-word; font-family: var(--f-body); font-size: 15.5px; line-height: 1.65; color: var(--ink); min-width: 0; }
.copy-btn { font-family: var(--f-body); font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; padding: 8px 16px; border-radius: var(--r-pill); border: 1px solid var(--bordeaux); background: transparent; color: var(--bordeaux); cursor: pointer; }
.copy-btn:hover { background: var(--bordeaux); color: var(--cream); }
.hot-tip { background: var(--bordeaux-deep); color: var(--cream); border-radius: var(--r-2xl); padding: var(--s-lg); display: grid; gap: 6px; }
.hot-tip strong { font-family: var(--f-label); font-weight: 700; letter-spacing: 4px; text-transform: uppercase; font-size: 13px; color: var(--gold); }
.table-wrap { overflow-x: auto; border-radius: var(--r-2xl); border: 1px solid rgba(181, 114, 107, 0.45); }
.stack-table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 560px; }
.stack-table th { text-align: left; font-family: var(--f-label); font-weight: 700; letter-spacing: 3px; text-transform: uppercase; font-size: 12px; color: var(--bordeaux); padding: 14px 16px; background: var(--rose); }
.stack-table td { padding: 14px 16px; border-top: 1px solid rgba(181, 114, 107, 0.35); vertical-align: top; }
.stack-table td:last-child { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--bordeaux); white-space: nowrap; }
.signoff { font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: 24px; color: var(--bordeaux); }
.ps { border-top: 1px solid rgba(181, 114, 107, 0.45); padding-top: var(--s-lg); }
