:root {
  --ukg-paper: #0c0f14;
  --ukg-ink: #e9ecf1;
  --ukg-muted: #bac3cf;
  --ukg-brass: #c6a35a;
  --ukg-deep-navy: #0a1324;
  --ukg-emerald: #2d7d65;
  --ukg-crimson: #a6353a;

  --ukg-font-display: "Gloock", serif;
  --ukg-font-text: "Hanken Grotesk", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;

  --ukg-maxw: 1280px;
  --ukg-gutter: 24px;
  --ukg-radius-xs: 8px;
  --ukg-radius-sm: 12px;
  --ukg-radius-md: 18px;
  --ukg-shadow-sm: 0 6px 18px rgba(0,0,0,.25);
  --ukg-shadow-md: 0 14px 40px rgba(0,0,0,.35);

  --ukg-lead-1: 1.4;
  --ukg-lead-2: 1.6;

  --ukg-focus: 0 0 0 3px rgba(198,163,90,.4), 0 0 0 6px rgba(233,236,241,.18);
}
@media (max-width: 640px) {
  :root { --ukg-gutter: 18px; }
}

/* Reset */
*, *::before, *::after { box-sizing: border-box }
html:focus-within { scroll-behavior: smooth }
html, body { height: 100% }
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0 }
ul[role="list"], ol[role="list"] { list-style: none; margin: 0; padding: 0 }
img, picture, video, canvas, svg { display: block; max-width: 100% }
input, button, textarea, select { font: inherit; color: inherit }
a { color: inherit; text-decoration: none }
button { border: 0; background: transparent; cursor: pointer }
table { border-collapse: collapse; border-spacing: 0 }
:focus { outline: none }
:focus-visible { box-shadow: var(--ukg-focus) }

/* Base */
body.ukg-body.shell-crown {
  background-color: #0b0f17;
  background-image:
    radial-gradient(1400px 920px at 50% -20%, rgba(198,163,90,.06), transparent 72%),
    radial-gradient(1600px 1020px at 110% -10%, rgba(45,125,101,.08), transparent 78%),
    linear-gradient(180deg, var(--ukg-deep-navy) 0%, var(--ukg-paper) 100%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-attachment: fixed, fixed, scroll;
  background-position: center top, right top, center top;
  color: var(--ukg-ink);
  font-family: var(--ukg-font-text);
  line-height: var(--ukg-lead-2);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


.ukg-gridline {
  width: min(100%, var(--ukg-maxw));
  margin-inline: auto;
  padding-inline: var(--ukg-gutter);
}

h1, .ukg-h1 { font-family: var(--ukg-font-display); font-size: clamp(32px, 4vw, 56px); line-height: 1.1 }
h2, .ukg-h2 { font-family: var(--ukg-font-display); font-size: clamp(26px, 3vw, 40px); line-height: 1.15 }
h3, .ukg-h3 { font-family: var(--ukg-font-display); font-size: clamp(22px, 2.4vw, 32px); line-height: 1.2 }

.ukg-text { font-size: clamp(16px, 1.4vw, 18px) }
.ukg-dim { color: var(--ukg-muted) }

.ukg-card {
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(6px);
  border-radius: var(--ukg-radius-md);
  box-shadow: var(--ukg-shadow-sm);
}

.ukg-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  font-weight: 600;
  border-radius: var(--ukg-radius-sm);
  background: linear-gradient(135deg, rgba(45,125,101,.85), rgba(45,125,101,.55));
  border: 1px solid rgba(45,125,101,.55);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ukg-cta:focus-visible, .ukg-cta:hover { transform: translateY(-1px); box-shadow: var(--ukg-shadow-md) }

.ukg-note { font-size: 14px; color: var(--ukg-muted) }

.ukg-hide { display: none !important }
.ukg-visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto }
  * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important }
}

/* ========== Crown Topbar ========== */
.crown-topbar { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(7px) }
.crown-topbar::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,19,36,.85), rgba(12,15,20,.60));
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.crown-topbar__row {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr auto; align-items: center;
  min-height: 72px;
}
.crown-topbar__brand { display: inline-flex; align-items: center; gap: 14px }
@media (max-width: 440px) {
  .crown-topbar__brand {
    display: none;
  }
}
.crown-topbar__emblem {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: var(--ukg-radius-sm);
}
.crown-topbar__emblem .ti { font-size: 22px }
.crown-topbar__tagline {
  font-family: var(--ukg-font-display);
  font-size: 18px; letter-spacing: .4px;
}
.crown-topbar__nav { display: flex; align-items: center; gap: 12px }
@media (max-width: 440px) {
  .crown-topbar__nav {
    justify-content: center;
  }
}
.crown-topbar__cta .ti { font-size: 18px }

/* ========== Crown Hero ========== */
.crown-hero {
  position: relative; overflow: hidden;
  padding: clamp(48px, 8vw, 120px) 0;
  isolation: isolate;
}
.crown-hero::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(700px 420px at 15% 20%, rgba(198,163,90,.14), transparent 60%),
    radial-gradient(900px 560px at 85% 10%, rgba(45,125,101,.18), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.0));
  z-index: -1;
}
.crown-hero--night::after {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(1100px 680px at 50% 110%, rgba(10,19,36,.65), transparent 60%);
  z-index: -1;
}
.crown-hero__wrap { display: grid; gap: 22px; max-width: 980px }
.crown-hero__title { letter-spacing: .2px }
.crown-hero__lede { max-width: 720px }
.crown-hero__perks {
  display: flex; flex-wrap: wrap; gap: 12px;
  margin-top: 4px;
}
.crown-hero__perk { padding: 10px 12px }
.crown-hero__perk .ti { font-size: 18px }

/* ========== Catalog wrapper ========== */
.ledger-catalog { padding: clamp(40px, 7vw, 90px) 0 }
.ledger-catalog__board {
  display: grid; gap: 18px;
}

/* ========== Ledger Card ========== */
.ledger-card {
  position: relative; overflow: hidden;
  display: grid;
  grid-template-columns: minmax(220px, 360px) 1fr;
  gap: 22px;
  padding: 18px;
}
@media (max-width: 860px) {
  .ledger-card { grid-template-columns: 1fr }
}

.ledger-card__spine {
  position: absolute; inset: 0 auto 0 0; width: 8px;
  background: linear-gradient(180deg, rgba(198,163,90,.9), rgba(45,125,101,.9));
  border-radius: 0 8px 8px 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.15);
}

.ledger-card--editors {
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(198,163,90,.28);
}

.ledger-card__brand {
  display: grid; align-content: center; gap: 14px;
  padding-left: 12px;
}
.ledger-card__logo { width: 156px; height: auto; margin: 0 auto; filter: drop-shadow(0 8px 20px rgba(0,0,0,.45)) }
.ledger-card__meta { display: flex; align-items: center; justify-content: center;  gap: 12px; flex-wrap: wrap }
.ledger-card__flag { padding: 8px 12px }
.ledger-card__rating { display: inline-flex; align-items: center; gap: 6px }
.ledger-card__rating .ti { font-size: 18px; color: var(--ukg-brass) }
.ledger-card__score { font-weight: 700; opacity: .9 }

.ledger-card__main {
  display: grid; align-content: start; gap: 14px;
}
.ledger-card__desc {
  font-weight: 600; letter-spacing: .2px;
}
.ledger-card__bonus {
  display: grid; gap: 2px;
  background: linear-gradient(135deg, rgba(198,163,90,.13), rgba(45,125,101,.10));
  border: 1px dashed rgba(198,163,90,.35);
  padding: 12px; border-radius: var(--ukg-radius-sm);
}
.ledger-card__bonus-lead {
  font-size: clamp(20px, 2.8vw, 26px);
  font-weight: 700; letter-spacing: .2px;
}
.ledger-card__bonus-extra { color: var(--ukg-muted); font-weight: 600 }

.ledger-card__actions {
  display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center;
}
@media (max-width: 520px) {
  .ledger-card__actions { grid-template-columns: 1fr }
}
.ledger-card__cta .ti { font-size: 18px }
.ledger-card__disclaimer { line-height: 1.4 }

/* Small polish */
.ledger-card__cta:hover { transform: translateY(-1px); box-shadow: var(--ukg-shadow-md) }

/* ========== Wayfinder Steps (How to use) ========== */
.wayfinder-steps { padding: clamp(40px, 7vw, 96px) 0 }
.wayfinder-steps__head { display: grid; gap: 10px; margin-bottom: 16px }
.wayfinder-steps__lede { max-width: 860px }

.wayfinder-steps__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 14px;
}
@media (max-width: 1100px) { .wayfinder-steps__list { grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 640px)  { .wayfinder-steps__list { grid-template-columns: 1fr } }

.wayfinder-steps__item {
  display: grid; grid-template-columns: 52px 1fr; gap: 12px;
  padding: 16px; border: 1px solid rgba(255,255,255,.06);
}
.wayfinder-steps__icon {
  display: grid; place-items: center;
  width: 52px; height: 52px; border-radius: var(--ukg-radius-sm);
  background: linear-gradient(135deg, rgba(198,163,90,.18), rgba(45,125,101,.14));
  border: 1px solid rgba(198,163,90,.28);
}
.wayfinder-steps__icon .ti { font-size: 22px; color: var(--ukg-ink) }
.wayfinder-steps__name { letter-spacing: .2px }
.wayfinder-steps__copy { color: var(--ukg-ink) }
.wayfinder-steps__note { margin-top: 12px }

/* ========== Veritas Guide (Methodology & advice) ========== */
.veritas-guide { padding: clamp(36px, 6.5vw, 90px) 0 }
.veritas-guide__head { display: grid; gap: 10px; margin-bottom: 16px }
.veritas-guide__wrap { display: grid; gap: 16px }
.veritas-guide__stack { display: grid; gap: 10px }

.veritas-guide__item {
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--ukg-radius-md);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  overflow: hidden;
}

.veritas-guide__q {
  width: 100%;
  display: grid;
  grid-template-columns: 28px 1fr 24px;
  align-items: center;
  gap: 12px;
  padding: 16px 16px;
  text-align: left;
  color: var(--ukg-ink);
}
.veritas-guide__q .ti { font-size: 20px }
.veritas-guide__chev { transition: transform .2s ease }

.veritas-guide__item.is-open .veritas-guide__chev { transform: rotate(180deg) }
.veritas-guide__a {
  padding: 0 16px 16px 56px;
  color: var(--ukg-ink);
}

.veritas-guide__foot { margin-top: 6px }

/* subtle focus */
.veritas-guide__q:focus-visible,
.wayfinder-steps__item:focus-within { box-shadow: var(--ukg-focus) }

.regis-seals { padding: clamp(36px, 6.5vw, 90px) 0 }
.regis-seals__wrap { display: grid; gap: 16px }
.regis-seals__head { display: grid; gap: 8px }
.regis-seals__lede { max-width: 860px }

.regis-seals__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 980px) { .regis-seals__grid { grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 640px) { .regis-seals__grid { grid-template-columns: 1fr } }

.regis-card {
  padding: 18px;
  display: grid;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.06);
  transition: transform .15s ease, box-shadow .15s ease;
}
.regis-card:hover { transform: translateY(-1px); box-shadow: var(--ukg-shadow-md) }

.regis-card__figure {
  width: 100%; height: auto;
  border-radius: var(--ukg-radius-sm);
  background: linear-gradient(135deg, rgba(198,163,90,.18), rgba(45,125,101,.14));
  border: 1px solid rgba(198,163,90,.28);
  display: grid; place-items: center;
}
.regis-card__img { width: 100%; height: auto; filter: drop-shadow(0 8px 18px rgba(0,0,0,.35)) }

.regis-card__name { letter-spacing: .2px }
.regis-card__desc { color: var(--ukg-ink) }

.regis-seals__note { margin-top: 4px }

/* ===== Footer ===== */
.crown-foot__disclaimer {
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border-top: 1px solid rgba(255,255,255,.06);
}
.crown-foot__container { padding: 18px var(--ukg-gutter) }
.crown-foot__notice { color: var(--ukg-ink); opacity: .88 }

.crown-foot__help { padding-top: 10px; padding-bottom: 10px }
.crown-foot__helpgrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
  align-items: center;
  justify-items: start;
}
@media (max-width: 900px) { .crown-foot__helpgrid { grid-template-columns: repeat(2, 1fr) } }
@media (max-width: 520px) { .crown-foot__helpgrid { grid-template-columns: 1fr } }

.crown-foot__helplink {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  border-radius: var(--ukg-radius-sm);
  background: linear-gradient(135deg, rgba(198,163,90,.13), rgba(45,125,101,.10));
  border: 1px solid rgba(198,163,90,.28);
  transition: transform .15s ease, box-shadow .15s ease;
}
.crown-foot__helplink:hover { transform: translateY(-1px); box-shadow: var(--ukg-shadow-md) }
.crown-foot__helplink img { display: block; height: auto }

.crown-foot__linksrow {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.06);
}
@media (max-width: 640px) {
  .crown-foot__linksrow { grid-template-columns: 1fr; justify-items: start }
}
.crown-foot__links { display: inline-flex; gap: 10px; align-items: center }
.crown-foot__link { color: var(--ukg-ink); opacity: .9 }
.crown-foot__link:hover { text-decoration: underline }
.crown-foot__dot { opacity: .5 }
.crown-foot__copy { display: inline-flex; gap: 8px; align-items: center; opacity: .85 }
.crown-foot__copy .ti { font-size: 18px }

/* ===== Cookie Panel ===== */
.oak-cookiepanel {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  padding: 10px;
  pointer-events: none;
}
.oak-cookiepanel__wrap {
  pointer-events: auto;
  max-width: 1120px; margin: 0 auto;
  display: grid; grid-template-columns: 42px 1fr auto; gap: 12px;
  padding: 14px; border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(10,19,36,.92), rgba(12,15,20,.88));
  border-radius: var(--ukg-radius-md);
}
@media (max-width: 760px) {
  .oak-cookiepanel__wrap { grid-template-columns: 32px 1fr; }
  .oak-cookiepanel__cta { grid-column: 1 / -1 }
}
.oak-cookiepanel__icon { display: grid; place-items: center }
.oak-cookiepanel__icon .ti { font-size: 22px }
.oak-cookiepanel__copy { color: var(--ukg-ink) }
.oak-cookiepanel__cta { display: inline-flex; gap: 10px; justify-self: end }
.oak-cookiepanel__btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 14px; border-radius: var(--ukg-radius-sm);
  border: 1px solid rgba(255,255,255,.12);
}
.oak-cookiepanel__btn--decline { background: rgba(255,255,255,.08) }

/* hidden state */
.oak-cookiepanel.is-hidden { display: none }

/* ===== Age Gate ===== */
.sage-agegate {
  position: fixed; inset: 0; z-index: 70;
  display: grid; place-items: center;
}
.sage-agegate__veil {
  position: absolute; inset: 0;
  background: rgba(5, 8, 14, .9);
  backdrop-filter: blur(4px);
}
.sage-agegate__modal {
  position: relative; z-index: 1;
  width: min(680px, 94vw);
  padding: 18px;
  border: 1px solid rgba(198,163,90,.28);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.sage-agegate__head { display: grid; gap: 8px; margin-bottom: 10px }
.sage-agegate__crest {
  width: 48px; height: 48px; border-radius: var(--ukg-radius-sm);
  display: grid; place-items: center; margin-bottom: 6px;
  border: 1px solid rgba(198,163,90,.3);
}
.sage-agegate__crest .ti { font-size: 22px }
.sage-agegate__actions {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 10px;
}
@media (max-width: 520px) {
  .sage-agegate__actions { grid-template-columns: 1fr }
}
.sage-agegate__btn {
  display: inline-flex; align-items: center; gap: 10px; justify-content: center;
  padding: 12px 16px; border-radius: var(--ukg-radius-sm);
  border: 1px solid rgba(255,255,255,.12);
}
.sage-agegate__btn--no { background: rgba(255,255,255,.08) }
.sage-agegate__note { margin-top: 8px }

/* hidden state */
.sage-agegate.is-hidden { display: none }
