/*
  AURORA EDITORIAL / visual identity v2
  Distinct editorial structure and styling, intentionally separated from the
  original component baseline for easier future iteration.
*/
:root {
  --ink-900: #20182e;
  --ink-800: #282039;
  --ink-700: #302843;
  --ink-600: #423851;
  --ink-500: #5c536b;
  --aurora-teal: #e95869;
  --aurora-cyan: #ffc8aa;
  --aurora-blue: #7b5dd6;
  --aurora-violet: #e58caa;
  --navy: #282037;
  --teal: #d64f69;
  --teal-deep: #ae365a;
  --green: #397e71;
  --gold: #ffce87;
  --gold-deep: #d99c51;
  --bg: #fbf7f1;
  --surface: #ffffff;
  --surface-2: #f5eee8;
  --surface-3: #ede3e1;
  --text: #2e263b;
  --text-soft: #62586b;
  --text-faint: #756b79;
  --on-dark: #fffaf5;
  --on-dark-soft: #e4d7e4;
  --line: #e8dfe0;
  --line-strong: #d6c7cd;
  --line-dark: rgba(255,255,255,.18);
  --focus: #dd6680;
  --font-display: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fs-900: clamp(2.7rem, 2rem + 3.7vw, 5.5rem);
  --fs-800: clamp(2.1rem, 1.7rem + 2.2vw, 3.55rem);
  --fs-700: clamp(1.55rem, 1.33rem + 1vw, 2.35rem);
  --r-sm: 10px;
  --r-md: 18px;
  --r-lg: 25px;
  --r-xl: 38px;
  --sh-1: 0 6px 24px rgba(47,31,54,.045);
  --sh-2: 0 10px 35px rgba(47,31,54,.095);
  --sh-3: 0 24px 70px rgba(47,31,54,.19);
  --sh-glow: 0 15px 38px rgba(217,78,110,.20);
  --container: 1270px;
  --header-h: 84px;
}
body { background: var(--bg); line-height: 1.7; }
h1,h2,h3,h4 { letter-spacing: -.042em; line-height: 1.115; }
h3,h4 { letter-spacing: -.025em; }
strong { color: inherit; }
.dc-experience-main { overflow: clip; }
.dc-container { padding-inline: clamp(20px, 4vw, 52px); }
.dc-section { padding-block: clamp(72px, 6.5vw, 112px); }
.dc-section--tight { padding-block: clamp(46px, 5vw, 72px); }
.dc-section--alt { background: #f4ede8; }
.dc-section--dark { background: #282037; }
.dc-section--dark p { color: var(--on-dark-soft); }
.dc-section--dark h1,.dc-section--dark h2,.dc-section--dark h3 { color: #fffaf4; }
.dc-grid { gap: clamp(18px, 2.4vw, 30px); }
.dc-heading-module { position: relative; }
.dc-sect-head { max-width: 78ch; margin-bottom: clamp(34px, 4vw, 56px); }
.dc-sect-head h2 { max-width: 20ch; }
.dc-sect-head--center h2 { margin-inline: auto; }
.dc-sect-head p { max-width: 65ch; line-height: 1.75; }
.dc-sect-head--center p { margin-inline: auto; }
.dc-eyebrow { font: 700 .72rem/1.5 var(--font-body); letter-spacing: .17em; text-transform: uppercase; color: var(--teal-deep); gap: 10px; }
.dc-eyebrow .dc-icon { width: 16px; height: 16px; }
.dc-gradient-text { background: linear-gradient(115deg, #cc4068, #9c4f8d); background-clip: text; -webkit-background-clip: text; color: transparent; }

/* Cream navigation with a newly nested menu rail. */
.dc-site-header { background: rgba(255,250,246,.97); border-bottom: 1px solid var(--line); box-shadow: 0 1px 0 rgba(59,42,66,.025); }
.dc-site-header.is-stuck { background: rgba(255,250,246,.98); box-shadow: 0 10px 35px rgba(44,28,53,.09); }
.dc-site-header__bar { min-height: var(--header-h); gap: 24px; }
.dc-brand { gap: 10px; }
.dc-brand__logo { height: 46px; width: auto; }
.dc-brand__text strong { color: var(--navy); font: 700 1.16rem/1.1 var(--font-display); letter-spacing: -.03em; }
.dc-brand__text small { color: #786d7a; font-weight: 600; font-size: .66rem; letter-spacing: .10em; text-transform: uppercase; margin-top: 3px; }
.dc-nav-frame { display: block; border: 1px solid #eae1e1; border-radius: 999px; padding: 4px; background: #fff; }
.dc-nav__list { gap: 0; }
.dc-nav__link { border-radius: 999px; padding: 11px 13px; font-size: .83rem; font-weight: 650; color: #60556b; white-space: nowrap; }
.dc-nav__link:hover { color: var(--navy); background: #f7eff0; }
.dc-nav__link[aria-current="page"] { color: #a63255; background: #fae8e9; }
.dc-site-header__actions { gap: 10px; }
.dc-site-header .dc-badge--age { background: #f5e9e8; color: #9c3a58; border: 1px solid #eddbdc; }
.dc-site-header .dc-btn--on-dark { --btn-fg: var(--navy); box-shadow: inset 0 0 0 1px #e2d6db; background: #fff; }
.dc-nav-toggle { color: var(--navy); border-color: var(--line); }
.dc-nav-toggle:hover { background: #f7e9e9; }
@media (min-width: 980px) { .dc-nav { margin-inline: auto; } }
@media (min-width: 980px) and (max-width: 1170px) { .dc-nav__link { padding-inline: 9px; font-size: .77rem; } .dc-brand__text small { display: none; } .dc-site-header__actions .dc-badge--age { display: none; } }
.dc-mobile-nav { background: #fff9f5; color: var(--text); }
.dc-mobile-nav__body a { color: var(--navy); }
.dc-mobile-nav__body li { border-bottom-color: var(--line); }
.dc-mobile-nav__body a[aria-current="page"] { color: var(--teal-deep); }
.dc-mobile-nav__note { color: var(--text-soft); }

/* Buttons, icons, and interactive components. */
.dc-btn { min-height: 48px; border-radius: 12px; font: 700 .85rem/1.3 var(--font-body); letter-spacing: .012em; box-shadow: none; padding-inline: 23px; }
.dc-btn--lg { min-height: 56px; font-size: .96rem; border-radius: 14px; }
.dc-btn--primary { --btn-bg: #c83b62; --btn-fg: #fff; box-shadow: 0 9px 24px rgba(195,57,99,.18); }
.dc-btn--primary:hover { background: #a82e55; box-shadow: 0 15px 30px rgba(195,57,99,.20); }
.dc-btn--gold { --btn-bg: #ffe1ae; --btn-fg: #47314d; }
.dc-btn--ghost { --btn-fg: var(--navy); box-shadow: inset 0 0 0 1px var(--line-strong); }
.dc-btn--on-dark { --btn-fg: var(--on-dark); box-shadow: inset 0 0 0 1px rgba(255,255,255,.27); }
.dc-section--dark .dc-btn--primary { --btn-bg: #f0a48e; --btn-fg: #352238; }
.dc-icon { width: 1.12em; height: 1.12em; }
.dc-card,.dc-prize,.dc-result,.dc-lotto-card,.dc-accordion,.dc-toc { border-radius: 22px; box-shadow: 0 8px 30px rgba(51,32,58,.045); }
.dc-card { padding: clamp(23px, 2.7vw, 36px); border: 1px solid var(--line); }
.dc-card__icon { width: 49px; height: 49px; background: #f8e5e9; color: var(--teal-deep); border-radius: 15px; }
.dc-card__icon .dc-icon { width: 23px; height: 23px; }
.dc-card h3,.dc-step h3 { font-family: var(--font-display); font-size: clamp(1.2rem,1.05rem + .3vw,1.55rem); }
.dc-card p,.dc-step p { line-height: 1.75; }
.dc-step { padding: 30px 27px 30px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--sh-1); }
.dc-step__num { position: static; margin-bottom: 21px; width: 43px; height: 43px; border-radius: 12px; box-shadow: none; font: 800 1rem var(--font-body); background: #3b294f; color: #fff; }
.dc-badge { border-radius: 9px; }
.dc-badge--age { background: #492e56; }
.dc-accordion { border: 1px solid #e8dfe0; }
.dc-accordion__btn { padding: 23px 27px; font-family: var(--font-body); letter-spacing: -.012em; font-size: 1rem; }
.dc-accordion__btn:hover { background: #fef8f6; }
.dc-accordion__btn .dc-icon { color: var(--teal-deep); }
.dc-accordion__panel p { padding-inline: 27px; }
.dc-note { background: #fff6ee; border-left-color: #d35a74; border-radius: 8px 17px 17px 8px; }
.dc-note--gold { background: #ffefdc; border-color: #d4a060; }
.dc-table-wrap { background: var(--surface); border-radius: 18px; max-width: 100%; }
.dc-prose { max-width: 88ch; }
.dc-prose h2 { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); font-family: var(--font-display); font-size: clamp(1.45rem, 1.2rem + 1vw, 2.08rem); }
.dc-prose h3 { font: 700 1.13rem/1.35 var(--font-body); margin-top: 32px; }
.dc-prose p,.dc-prose li { line-height: 1.85; overflow-wrap: anywhere; }
.dc-prose a { color: #b33960; }
.dc-toc { border: 1px solid var(--line); padding: 20px 24px; }
.dc-toc summary { color: var(--navy); }
.dc-input,.dc-select,textarea.input { background: #fff; border-radius: 12px; }
.dc-input:focus,.dc-select:focus { border-color: var(--teal); box-shadow: 0 0 0 4px rgba(202,67,107,.12); }

/* Hero: wide editorial typography on ivory instead of an aurora banner. */
.dc-hero { padding-block: clamp(70px,6vw,112px) clamp(80px,7vw,125px); background: #fdf8f1; color: var(--text); }
.dc-hero__photo { opacity: .075; z-index: -4; filter: sepia(.5) saturate(.65); }
.dc-hero__veil { background: linear-gradient(100deg, rgba(253,248,241,.98) 10%,rgba(253,248,241,.65)); }
.dc-hero__aurora { opacity: .55; background: radial-gradient(55% 70% at 95% 0%, rgba(248,188,191,.36), transparent 75%), radial-gradient(50% 50% at 0% 100%, rgba(236,196,143,.19), transparent 75%); }
.dc-hero__grid { opacity: .12; background-image: linear-gradient(90deg,#9f7796 1px,transparent 1px),linear-gradient(#9f7796 1px,transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(110deg,transparent 12%,black); }
.dc-hero__stars,.dc-hero__noise { display: none; }
.dc-hero__inner { gap: clamp(40px,6vw,90px); }
.dc-hero__copy { max-width: 700px; }
.dc-hero h1 { color: #2c213e; font-weight: 700; font-size: clamp(3.2rem, 4.5vw, 5.6rem); line-height: 1.065; letter-spacing: -.055em; }
.dc-hero__eyebrow { color: #ae3a5c; border: 1px solid #ead4d9; background: #fff; border-radius: 999px; padding: 8px 14px; margin-bottom: 21px; }
.dc-hero__sub { color: #60576a; max-width: 52ch; font-size: clamp(1rem,1rem + .25vw,1.18rem); }
.dc-hero__copy .dc-hero__sub strong { color: #43364e !important; }
.dc-hero__copy .dc-hero__sub[style] { color: #453c4b !important; }
.dc-hero__copy .dc-hero__sub[style] strong { color: #2c213e !important; }
.dc-hero__assure { color: #706575; margin-top: 30px; font-size: .81rem; }
.dc-hero__assure .dc-icon { color: #c33e62; }
.dc-hero__cta { margin-top: 34px; }
.dc-hero__cta .dc-btn--on-dark { --btn-fg: var(--navy); background: #fff; border: 1px solid #e2d4d7; box-shadow: none; }
.dc-hero__card { background: #30233f; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; padding: clamp(25px,3vw,44px); box-shadow: 22px 24px 0 #f2dce0, 0 34px 80px rgba(66,37,65,.19); transform: rotate(1deg); }
.dc-hero__card::before { content: ""; display: block; position: absolute; inset: 0 0 auto; height: 8px; border-radius: 28px 28px 0 0; background: linear-gradient(90deg,#f5ad93,#e55c88,#a882e1); }
.dc-hero__card-label { color: #f9c69d; font: 750 .73rem/1.4 var(--font-body); letter-spacing: .13em; }
.dc-hero__card-prize { font-size: clamp(2.4rem,2.6vw,3.7rem); font-weight: 700; font-family: var(--font-display); }
.dc-hero__card-sub,.dc-hero__card-foot { color: #e7dce8; }
.dc-hero__balls { gap: 7px; }
.dc-hero__balls .dc-ball { animation: none; }
.dc-ball { --ball-c1: #fff1e8; --ball-c2: #eab1bf; color: #4b2851; box-shadow: inset 0 -3px 5px rgba(103,56,90,.08), 0 4px 12px rgba(34,19,48,.16); }
.dc-ball--grand { --ball-c1: #ffedb6; --ball-c2: #e9ae64; color: #6c3e34; }
.dc-hero .dc-badge--ghost-dark { color: #fff8f2; }
@media (min-width: 900px) { .dc-hero__inner { grid-template-columns: 1.12fr .88fr; } }

/* Geometric cards and an asymmetrical lottery index. */
.dc-prize { background: #fff; padding: clamp(25px,3vw,36px); box-shadow: var(--sh-1); }
.dc-prize--feature { background: #392849; border-color: #392849; }
.dc-prize__tier { font-family: var(--font-body); }
.dc-prize--feature .dc-prize__tier { color: #ffd5a3; }
.dc-prize__reward { font-family: var(--font-display); }
.dc-lotto-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; justify-content: stretch; }
.dc-lotto-grid > .dc-lotto-card { max-width: none; min-width: 0; flex: none; }
.dc-lotto-card { padding: 28px; border-radius: 20px; box-shadow: var(--sh-1); }
.dc-lotto-card::before { height: 0; }
.dc-lotto-card::after { top: -50%; right: -45%; width: 88%; background: radial-gradient(circle, color-mix(in srgb, var(--acc1) 10%, transparent), transparent 70%); }
.dc-lotto-card__badge { border-radius: 13px; box-shadow: none; background: linear-gradient(135deg, color-mix(in srgb,var(--acc1) 80%,#fff), var(--acc2)); }
.dc-lotto-card__name { font: 700 clamp(1.5rem,1.3rem + .8vw,2.1rem)/1.15 var(--font-display); margin-top: 24px; }
.dc-lotto-card__headline { font-size: .9rem; }
.dc-lotto-card__cta { border-top-color: var(--line); }
.dc-lotto-card__cta a { color: #bd4165; }
.dc-lotto-card--flagship { background: #342544; border-color: #342544; }
.dc-lotto-card--flagship .dc-lotto-card__headline { color: #f9c79a; }
.dc-lotto-card--flagship .dc-lotto-card__cta a { color: #f9beaa; }
@media (min-width: 700px) { .dc-lotto-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1120px) { .dc-lotto-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .dc-lotto-grid > .dc-lotto-card--flagship { grid-column: 1/-1; } }
@media (min-width: 1000px) { .dc-lotto-card--flagship { flex-direction: row; } }
.dc-game-jackpot span { color: #ffce9a; }

/* Page mastheads form a separate editorial treatment from landing hero. */
.dc-page-banner { position: relative; padding-block: clamp(50px,5vw,76px); background: #30213f; overflow: hidden; }
.dc-page-banner::after { content: ""; pointer-events: none; position: absolute; width: 530px; height: 530px; right: -130px; top: -265px; border: 85px solid rgba(236,157,156,.11); border-radius: 50%; }
.dc-page-banner .dc-container { position: relative; z-index: 1; }
.dc-page-banner .dc-sect-head { max-width: 920px; margin: 0; }
.dc-page-banner .dc-sect-head h1 { font-size: clamp(2.7rem,2rem + 3vw,4.7rem); line-height: 1.09; }
.dc-page-banner .dc-lead { max-width: 70ch; color: #e7dce8; line-height: 1.8; }
.dc-page-banner .dc-eyebrow { color: #ffd1ae; }
.dc-page-banner .dc-badge--ghost-dark { color: #fff; }
.dc-page-banner + .dc-section:not(.dc-section--dark) { background: #fcf9f5; }
.dc-page-banner + .dc-section:not(.dc-section--dark) > .dc-container { min-width: 0; }
.dc-page-banner + .dc-section:not(.dc-section--dark) .dc-prose { max-width: 88ch; }
.dc-page-banner + .dc-section:not(.dc-section--dark) .dc-prose > :first-child { margin-top: 0; }

/* Data-rich and supporting sections. */
.dc-result { background: white; }
.dc-result__game { font: 700 1.45rem/1.2 var(--font-display); }
.dc-pillar__icon { border-radius: 12px; color: #fac39e; }
.dc-section--dark .dc-card { background: #382d47; border-color: #58475c; color: #fff; }
.dc-section--dark .dc-card p { color: #f2e4eb; }
.dc-ticker { background: #30213f; border-bottom: 0; }
.dc-ticker__label { color: #ffd2a3; }
.dc-ticker .dc-marquee__track span .dc-icon { color: #ffd2a3; }
.dc-cd-unit { border-radius: 14px; background: rgba(255,255,255,.09); }
.dc-site-footer { background: #221a2f; border-top: 1px solid rgba(255,255,255,.07); }
.dc-site-footer .dc-brand__text strong { color: #fffaf5; }
.dc-site-footer .dc-brand__text small { color: #ded0df; }
.dc-footer-col h3 { font: 800 .72rem/1.4 var(--font-body); letter-spacing: .16em; }
.dc-footer-col a { transition: color .2s; }
.dc-footer-col a:hover { color: #ffd0b1; }
.dc-trust { background: #2d223a; }
.dc-trust .dc-eyebrow { color: #f7bca1; }
.dc-cookie,.dc-modal__card,.dc-age-gate__card { background: #322640; }
.dc-age-gate__card,.dc-modal__card { border-radius: 25px; }

/* Visual and typographic safety on small devices. */
@media (max-width: 979px) { .dc-site-header__bar { min-height: 72px; } .dc-site-header__actions .dc-btn { min-height: 40px; padding-inline: 15px; } }
@media (max-width: 699px) {
  .dc-container { padding-inline: 20px; }
  .dc-site-header__actions { gap: 8px; }
  .dc-site-header__actions .dc-badge--age { display: none; }
  .dc-brand__logo { height: 42px; }
  .dc-brand__text strong { font-size: 1.02rem; }
  .dc-brand__text small { font-size: .57rem; }
  .dc-hero { padding-block: 52px 75px; }
  .dc-hero h1 { font-size: clamp(2.85rem,9.3vw,4.3rem); }
  .dc-hero__card { transform: none; box-shadow: 9px 12px 0 #f2dce0, var(--sh-2); padding: 25px 20px; border-radius: 23px; }
  .dc-hero__card::before { border-radius: 23px 23px 0 0; }
  .dc-hero__balls .dc-ball { width: 38px; height: 38px; font-size: .9rem; }
  .dc-hero__cta { gap: 9px; }
  .dc-hero__cta .dc-btn { width: 100%; }
  .dc-section { padding-block: 61px; }
  .dc-section--tight { padding-block: 41px; }
  .dc-step { padding: 25px; }
  .dc-lotto-grid { gap: 14px; }
  .dc-page-banner::after { width: 320px; height: 320px; border-width: 45px; top: -200px; right: -150px; }
  .dc-page-banner .dc-sect-head h1 { font-size: clamp(2.5rem,10vw,3.5rem); }
  .dc-prose { min-width: 0; }
  .dc-prose table { display: block; max-width: 100%; overflow-x: auto; }
}
@media (max-width: 400px) {
  .dc-site-header__actions > .dc-btn--primary { display: none; }
  .dc-hero__card-prize { font-size: 2.1rem; }
  .dc-hero__balls .dc-ball { width: 35px; height: 35px; }
  .dc-hero__assure { gap: 12px; }
}

/* Longer site wordmark: keep header, footer and mobile navigation within their containers. */
.dc-brand__text strong {font-size: clamp(.78rem, 1.05vw, 1.06rem);letter-spacing: -.045em;overflow-wrap: anywhere;}
.dc-mobile-nav__head .dc-brand__text strong {font-size: 1rem;}
.dc-site-footer .dc-brand__text strong {font-size: .98rem;}
@media (max-width: 540px) { .dc-brand__text strong {font-size: .84rem;} .dc-site-header .dc-brand__logo {height: 38px;} }

/* Wrap long unspaced campaign wordmarks safely on narrow screens. */
.dc-hero h1, .dc-page-banner h1, .dc-card h2, .dc-card h3 {overflow-wrap:anywhere;}
