/* The campaign and policy pages share the site's official mark, faces and wine-and-gold palette.
   Keep their page-specific layouts in sweepstakes.css and policies.css. */
@font-face {
  font-family: 'Cinzel'; src: url('/assets/fonts/Cinzel-400.woff2') format('woff2');
  font-style: normal; font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'Cinzel'; src: url('/assets/fonts/Cinzel-600.woff2') format('woff2');
  font-style: normal; font-weight: 600; font-display: swap;
}
@font-face {
  font-family: 'Cinzel'; src: url('/assets/fonts/Cinzel-700.woff2') format('woff2');
  font-style: normal; font-weight: 700; font-display: swap;
}
@font-face {
  font-family: 'EB Garamond'; src: url('/assets/fonts/EBGaramond-400.woff2') format('woff2');
  font-style: normal; font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'EB Garamond'; src: url('/assets/fonts/EBGaramond-600.woff2') format('woff2');
  font-style: normal; font-weight: 600; font-display: swap;
}
@font-face {
  font-family: 'EB Garamond'; src: url('/assets/fonts/EBGaramond-400-italic.woff2') format('woff2');
  font-style: italic; font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'DM Sans'; src: url('/assets/fonts/dm-sans.woff2') format('woff2');
  font-style: normal; font-weight: 100 1000; font-display: swap;
}

body.campaign-sweepstakes,
body.campaign-policies {
  --paper: #f4eee1;
  --ink: #1d1913;
  --wine: #6b1e2e;
  --gold: #ab8b4e;
  --line: #cdbb96;
  --deep: #1d1913;
  --navy: #1d1913;
  background: var(--paper);
  color: var(--ink);
  font: 400 1.125rem/1.58 'EB Garamond', Georgia, serif;
  -webkit-font-smoothing: antialiased;
}
body.campaign-sweepstakes h1,
body.campaign-sweepstakes h2,
body.campaign-sweepstakes h3,
body.campaign-policies h1,
body.campaign-policies h2,
body.campaign-policies h3 {
  font-family: 'Cinzel', Georgia, serif;
  font-weight: 400;
  letter-spacing: -.015em;
}
body.campaign-sweepstakes a:focus-visible,
body.campaign-sweepstakes button:focus-visible,
body.campaign-sweepstakes summary:focus-visible,
body.campaign-policies a:focus-visible,
body.campaign-policies summary:focus-visible {
  outline-color: var(--wine);
}

/* The lockup is the same gold SVG and Cinzel name used by the main site. */
body.campaign-sweepstakes .brand,
body.campaign-policies .brand {
  display: inline-flex;
  align-items: center;
  gap: .72rem;
  color: inherit;
  font: 600 clamp(.95rem, 1.35vw, 1.15rem)/1.2 'Cinzel', Georgia, serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
body.campaign-sweepstakes .brand img,
body.campaign-policies .brand img {
  display: block;
  height: 2.05rem;
  width: auto;
  flex: none;
}
body.campaign-sweepstakes .brand span,
body.campaign-policies .brand span { display: inline; }
body.campaign-sweepstakes footer .brand img,
body.campaign-policies footer .brand img { height: 2.2rem; }
body.campaign-sweepstakes footer .brand,
body.campaign-policies footer .brand { color: #f2e9d8; }
body.campaign-sweepstakes > header,
body.campaign-policies > header {
  min-height: 72px;
  padding: 1rem clamp(1.35rem, 5vw, 5rem);
  gap: 1.5rem;
}
body.campaign-sweepstakes > header {
  background: #1d1913;
  border-bottom-color: rgba(201, 171, 110, .28);
}
body.campaign-policies > header {
  background: var(--paper);
  border-bottom-color: var(--line);
}
body.campaign-sweepstakes > header nav,
body.campaign-policies > header > a[data-sweeps-back] {
  font: 600 .72rem/1.3 'Cinzel', Georgia, serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.campaign-sweepstakes > header .nav-order {
  font-family: 'Cinzel', Georgia, serif;
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .12em;
  border-color: var(--gold);
  color: #f2e9d8 !important;
}
body.campaign-sweepstakes > header a:hover,
body.campaign-policies > header a[data-sweeps-back]:hover { color: #d3b071; }
body.campaign-policies > header a[data-sweeps-back] { color: var(--wine); }
body.campaign-policies > header a[data-sweeps-back]:hover { color: #8c2839; }

/* Quiet UI type beside expressive display and reading type. */
body.campaign-sweepstakes :is(.review, .eyebrow, .tag, .hero-launch, .hero-preorder,
  .button, .darkbutton, .watch, .hero-shipping, .hero-entry-count, .hero-caption,
  .facts li, .game-tags, .price-caption, .saving, .shipping-window, .buy-qty,
  .code-toggle, .code-form, .code-say, .buy-say, .step, .muted, .sources,
  .footer-links, .prize-note),
body.campaign-policies :is(.review, .eyebrow, .date, .contents, .note, .owner) {
  font-family: 'DM Sans', system-ui, sans-serif;
}
body.campaign-sweepstakes .eyebrow,
body.campaign-policies .eyebrow { color: var(--gold); }
body.campaign-sweepstakes .hero h1 {
  font-size: clamp(3rem, 4.5vw, 4rem);
  line-height: 1.12;
  letter-spacing: -.025em;
  color: #f4eee1 !important;
}
body.campaign-sweepstakes .hero h1 em {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 1.12em;
  font-weight: 400;
  letter-spacing: -.025em;
  color: #d3b071 !important;
}
body.campaign-sweepstakes .hero .intro {
  font: 400 1.25rem/1.5 'EB Garamond', Georgia, serif;
  color: #e6ddcb !important;
}
body.campaign-sweepstakes :is(.hero-prize, .hero-prize strong, .hero-preorder strong,
  .amount, .footer-tagline, .stepper-btn) { font-family: 'EB Garamond', Georgia, serif; }
body.campaign-sweepstakes .hero-prize { font-size: 1.55rem; }
body.campaign-sweepstakes .hero-prize strong { color: #d3b071; }
body.campaign-sweepstakes .button,
body.campaign-sweepstakes .darkbutton {
  background: var(--wine);
  border-color: var(--wine);
  font-weight: 600;
}
body.campaign-sweepstakes .button:hover,
body.campaign-sweepstakes .darkbutton:hover { background: #8c2839; }
body.campaign-sweepstakes .facts,
body.campaign-sweepstakes .product-section { background: var(--paper); }
body.campaign-sweepstakes .facts strong,
body.campaign-sweepstakes .offer h2,
body.campaign-sweepstakes .entry h3 { color: var(--wine); }
body.campaign-sweepstakes .offer .description,
body.campaign-sweepstakes .entry p,
body.campaign-sweepstakes .faq p,
body.campaign-sweepstakes .muted { color: #4a4034; }
body.campaign-sweepstakes .offer .description { font-size: 1.18rem; line-height: 1.55; }
body.campaign-sweepstakes .entry p,
body.campaign-sweepstakes .faq p { font-size: 1.05rem; line-height: 1.58; }
body.campaign-sweepstakes .band,
body.campaign-sweepstakes #rules { background: #ece2ce; }
body.campaign-sweepstakes .prize-section { background: var(--wine); }
body.campaign-sweepstakes .rules > details > summary { font: 400 1.65rem/1.3 'Cinzel', Georgia, serif; color: var(--wine); }
body.campaign-sweepstakes .rules h3 { font: 600 .9rem/1.5 'DM Sans', system-ui, sans-serif; }
body.campaign-sweepstakes .rules p,
body.campaign-sweepstakes .rules li { font-size: 1.05rem; line-height: 1.64; }
body.campaign-sweepstakes footer { background: #1d1913; font-size: .8rem; }
body.campaign-sweepstakes footer p { color: #d8cdb9; }
body.campaign-sweepstakes footer .footer-tagline { color: #d3b071; }
body.campaign-sweepstakes footer a { color: #d3b071; }

body.campaign-policies .hero { background: #1d1913; }
body.campaign-policies .hero h1 {
  font-size: clamp(2.5rem, 4.2vw, 3.7rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #f4eee1;
}
body.campaign-policies .hero p { font: 400 1.3rem/1.5 'EB Garamond', Georgia, serif; color: #e6ddcb; }
body.campaign-policies .hero .date { font: 400 .73rem/1.5 'DM Sans', system-ui, sans-serif; color: #c4b8a5; }
body.campaign-policies .contents { background: #ece2ce; }
body.campaign-policies .contents a { color: var(--wine); }
body.campaign-policies .quick div { border-top-color: var(--gold); }
body.campaign-policies .quick strong { font: 400 1.12rem/1.35 'Cinzel', Georgia, serif; }
body.campaign-policies .quick p { font: 400 .82rem/1.65 'DM Sans', system-ui, sans-serif; color: #4a4034; }
body.campaign-policies h2 { color: var(--wine); }
body.campaign-policies .note,
body.campaign-policies .owner { background: #ece2ce; }
body.campaign-policies .address { background: #fbf7ee; }
body.campaign-policies footer { background: #1d1913; padding: 2.3rem clamp(1.35rem, 5vw, 5rem); }
body.campaign-policies footer p { font: 400 .82rem/1.7 'DM Sans', system-ui, sans-serif; color: #d8cdb9; }
body.campaign-policies footer a:not(.brand) { color: #d3b071; }

@media (max-width: 760px) {
  body.campaign-sweepstakes > header { gap: .7rem; }
  body.campaign-sweepstakes > header .brand { font-size: .67rem; letter-spacing: .07em; gap: .5rem; }
  body.campaign-sweepstakes > header .brand img { height: 1.8rem; }
  body.campaign-sweepstakes > header .nav-order { min-height: 44px; padding: .65rem .7rem; font-size: .58rem; letter-spacing: .05em; }
  body.campaign-sweepstakes .hero h1 { font-size: clamp(2.1rem, 9vw, 3rem); letter-spacing: -.025em; }
  body.campaign-sweepstakes .hero-prize { font-size: 1.25rem; }
  body.campaign-sweepstakes .hero-prize strong { font-size: 1.7rem; }
  body.campaign-sweepstakes .offer .description { font-size: 1.08rem; }
  body.campaign-sweepstakes .footer-top { gap: 1rem; }
  body.campaign-policies > header { display: flex; padding: 1rem 6%; }
  body.campaign-policies > header .brand { font-size: .7rem; letter-spacing: .06em; gap: .5rem; }
  body.campaign-policies > header .brand img { height: 1.8rem; }
  body.campaign-policies > header > a[data-sweeps-back] { display: inline; margin: 0; font-size: .57rem; letter-spacing: .03em; text-align: right; }
  body.campaign-policies .hero h1 { font-size: clamp(2rem, 8.2vw, 2.7rem); }
}
@media (max-width: 380px) {
  body.campaign-sweepstakes > header .brand,
  body.campaign-policies > header .brand { font-size: .59rem; letter-spacing: .04em; }
  body.campaign-sweepstakes > header .nav-order { padding: .6rem; font-size: .54rem; }
  body.campaign-sweepstakes .hero h1 { font-size: 2rem; }
}
@media (max-width: 350px) {
  /* The full wordmark gets the bar; the preorder button is immediately in the hero. */
  body.campaign-sweepstakes > header nav { display: none; }
  body.campaign-sweepstakes > header .brand { font-size: .7rem; }
}
@media print {
  body.campaign-sweepstakes .brand,
  body.campaign-policies .brand { color: #1d1913 !important; }
  body.campaign-sweepstakes footer,
  body.campaign-policies footer { background: white; color: #1d1913; }
}
