/* Nile Active v12 — preservation-first refinements only. */
:root {
  --na-v12-deep: #053b22;
  --na-v12-green: #075f36;
  --na-v12-green-bright: #0d7547;
  --na-v12-cream: #f9ecc7;
  --na-v12-red: #d6272c;
  --na-v12-gold: #d8b233;
  --na-v12-blue: #35a7d6;
  --na-v12-display: var(--font-display, Anton, Impact, "Arial Narrow", sans-serif);
  --na-v12-body: var(--font-body, Archivo, Arial, Helvetica, sans-serif);
  --na-v12-arabic: var(--font-arabic, Amiri, serif);
}

/* Race Day — same visual language, true compact airline-ticket proportions. */
.race-day-overlay {
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  overflow: hidden !important;
}

.race-day-dialog {
  width: min(980px, calc(100vw - 36px)) !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

.race-day-ticket {
  width: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
  border: 1px solid rgba(216, 178, 51, .58) !important;
  border-radius: 24px !important;
  background: var(--na-v12-deep) !important;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .48), 0 0 0 1px rgba(249, 236, 199, .08) !important;
}

.race-day-ticket-strip {
  min-height: 52px !important;
  padding: 7px 17px !important;
  background: linear-gradient(100deg, #a8161d, var(--na-v12-red) 52%, #b71f24) !important;
}

.race-day-ticket-logo { width: 92px !important; height: auto !important; }
.race-day-ticket-document { font-size: 8px !important; letter-spacing: .14em !important; }
.race-day-ticket-utilities { gap: 16px !important; }
.race-day-ticket-utilities span { font-size: 8px !important; }
.race-day-ticket-utilities small { font-size: 6px !important; }
.race-day-close { width: 38px !important; height: 38px !important; }

.race-day-ticket-body {
  height: 368px !important;
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1.58fr) minmax(276px, .66fr) !important;
  overflow: hidden !important;
}

.race-day-ticket-main {
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 18px 24px 14px !important;
  color: var(--na-v12-cream) !important;
  background:
    radial-gradient(circle at 10% 92%, rgba(53,167,214,.13), transparent 28%),
    repeating-linear-gradient(125deg, transparent 0 28px, rgba(249,236,199,.026) 28px 29px, transparent 29px 58px),
    linear-gradient(145deg, #032b19, #053b22 56%, #0a5632) !important;
}

.race-day-ticket-heading { margin-bottom: 3px !important; }
.race-day-kicker { font-size: 8px !important; letter-spacing: .18em !important; }
.race-day-ticket-sequence { font-size: 8px !important; }
.race-day-dialog h2 {
  margin: 3px 0 4px !important;
  font-size: clamp(45px, 5.4vw, 68px) !important;
  line-height: .82 !important;
  letter-spacing: -.015em !important;
}

.na-ticket-route {
  margin: 0 0 6px !important;
  font-size: 7px !important;
}

.na-ticket-route__line i {
  width: 0 !important;
  height: 0 !important;
  bottom: 1px !important;
  color: var(--na-v12-gold);
  background: transparent !important;
  box-shadow: none !important;
  animation: naV12TicketFlight 5.4s ease-in-out infinite alternate !important;
}

.na-ticket-route__line i::before {
  content: "✈";
  position: absolute;
  left: -7px;
  top: -10px;
  font-size: 13px;
  line-height: 1;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.3));
}

.race-day-ticket-race {
  grid-template-columns: .78fr 1.22fr !important;
  gap: 7px !important;
  margin: 0 0 6px !important;
}

.race-day-ticket-date,
.race-day-ticket-campaign {
  min-height: 48px !important;
  padding: 8px 11px !important;
  border-radius: 10px !important;
}

.race-day-ticket-race span { font-size: 7px !important; }
.race-day-ticket-race strong { margin-top: 3px !important; font-size: 20px !important; }

.race-day-ticket-details {
  gap: 7px !important;
  margin: 0 0 5px !important;
}

.race-day-ticket-details div {
  min-height: 38px !important;
  padding: 7px 10px !important;
  border-radius: 9px !important;
}

.race-day-ticket-details dt { font-size: 7px !important; }
.race-day-ticket-details dd { margin-top: 2px !important; font-size: 12px !important; }
.race-day-description { margin: 5px 0 0 !important; font-size: 10px !important; line-height: 1.35 !important; }

.race-day-links {
  gap: 7px !important;
  margin: 7px 0 0 !important;
}

.race-day-links a {
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 13px !important;
  border: 1px solid rgba(249,236,199,.35) !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  text-decoration: none !important;
}

.race-day-signup {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px !important;
  margin-top: 7px !important;
}

.race-day-signup-field,
.race-day-signup button {
  min-height: 38px !important;
  border-radius: 10px !important;
}

.race-day-signup-field { padding: 4px 10px !important; }
.race-day-signup-label { font-size: 6px !important; }
.race-day-signup input { font-size: 10px !important; }
.race-day-signup button { padding: 0 14px !important; font-size: 8px !important; }
.race-day-message { min-height: 11px !important; margin: 3px 0 0 !important; font-size: 7px !important; }
.race-day-beta-note { margin: 1px 0 0 !important; font-size: 6px !important; line-height: 1.25 !important; }

.race-day-ticket-stub {
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 16px 17px 12px !important;
  color: var(--na-v12-cream) !important;
  border-left: 1px dashed rgba(249,236,199,.36) !important;
  background:
    radial-gradient(circle at 88% 7%, rgba(216,178,51,.18), transparent 28%),
    repeating-linear-gradient(0deg, rgba(249,236,199,.035) 0 1px, transparent 1px 7px),
    linear-gradient(145deg, #0a6740, #075f36 58%, #043a25) !important;
}

.race-day-ticket-stub::before,
.race-day-ticket-stub::after { background: #06180f !important; }
.race-day-ticket-perforation { border-left-color: rgba(249,236,199,.38) !important; }
.race-day-ticket-stub-head { padding-bottom: 8px !important; border-color: rgba(216,178,51,.48) !important; }
.race-day-ticket-stub-head span,
.race-day-ticket-code span,
.race-day-barcode-caption { color: rgba(249,236,199,.58) !important; }
.race-day-ticket-stub-head strong { color: var(--na-v12-cream) !important; font-size: 21px !important; }

.race-day-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin: 9px 0 !important;
}

.race-day-unit {
  min-height: 57px !important;
  padding: 5px !important;
  border: 1px solid rgba(216,178,51,.48) !important;
  border-radius: 9px !important;
  background: rgba(249,236,199,.055) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.race-day-unit strong { color: var(--na-v12-cream) !important; font-size: 29px !important; }
.race-day-unit span { color: var(--na-v12-gold) !important; font-size: 6px !important; }
.race-day-ticket-stub-meta { gap: 4px 8px !important; margin-top: 3px !important; }
.race-day-ticket-stub-meta span { padding: 4px 0 !important; border-color: rgba(249,236,199,.16) !important; color: var(--na-v12-cream) !important; font-size: 8px !important; }
.race-day-ticket-stub-meta small { color: rgba(249,236,199,.52) !important; font-size: 5px !important; }
.race-day-ticket-code { margin-top: 6px !important; padding-top: 6px !important; }
.race-day-ticket-code strong { color: var(--na-v12-gold) !important; font-size: 13px !important; }
.race-day-barcode { height: 24px !important; margin-top: 6px !important; background-color: rgba(249,236,199,.86) !important; }
.race-day-barcode-caption { margin-top: 3px !important; font-size: 5px !important; }

/* Landing sticker — refined acrylic campaign credential, not a blob. */
.v3-hero-sticker {
  width: clamp(178px, 16vw, 228px) !important;
  min-height: 148px !important;
  aspect-ratio: auto !important;
  place-content: end start !important;
  gap: 5px !important;
  padding: 42px 22px 20px !important;
  border: 1px solid rgba(249,236,199,.30) !important;
  border-radius: 28px 28px 28px 8px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.18), transparent 42%),
    linear-gradient(145deg, rgba(4,49,30,.82), rgba(10,109,66,.56)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.17), 0 24px 64px rgba(0,0,0,.30) !important;
  backdrop-filter: blur(26px) saturate(1.28) !important;
  -webkit-backdrop-filter: blur(26px) saturate(1.28) !important;
  text-align: left !important;
  transform: rotate(-2.5deg) !important;
  transition: transform .34s cubic-bezier(.2,.8,.2,1), box-shadow .34s ease !important;
}

.v3-hero-sticker::before {
  content: "FOUNDING / 01";
  position: absolute;
  left: 21px;
  top: 17px;
  color: var(--na-v12-gold);
  font: 900 7px/1 var(--na-v12-body);
  letter-spacing: .18em;
}

.v3-hero-sticker::after {
  content: "↗";
  position: absolute;
  right: 16px;
  top: 13px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(249,236,199,.32);
  border-radius: 50%;
  color: var(--na-v12-cream);
  background: rgba(249,236,199,.08);
  font: 900 13px/1 var(--na-v12-body);
}

.v3-hero-sticker:hover {
  transform: rotate(-1deg) translateY(-5px) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 32px 78px rgba(0,0,0,.36) !important;
}

.v3-hero-sticker small { color: rgba(249,236,199,.61) !important; font-size: 7px !important; }
.v3-hero-sticker strong { font-size: clamp(29px, 3vw, 43px) !important; line-height: .82 !important; }
.v3-hero-sticker span { color: var(--na-v12-gold) !important; font-size: 7px !important; }
.v3-hero-sticker__cta {
  width: max-content;
  margin-top: 7px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(249,236,199,.48);
  color: var(--na-v12-cream);
  font: italic 400 11px/1 var(--na-v12-display);
  letter-spacing: .07em;
  text-transform: uppercase;
}

/* Movement Passports — improve the existing object, do not redesign the module. */
.na-race-wall__item { position: relative; }
.na-race-wall__item::after {
  content: "CLICK / OPEN";
  position: absolute;
  z-index: 18;
  right: 13px;
  top: 13px;
  padding: 7px 9px;
  border: 1px solid rgba(249,236,199,.36);
  border-radius: 999px;
  color: var(--na-v12-cream);
  background: var(--na-v12-red);
  box-shadow: 0 8px 22px rgba(214,39,44,.25);
  font: italic 400 9px/1 var(--na-v12-display);
  letter-spacing: .08em;
  transform: rotate(5deg);
  pointer-events: none;
}

.na-passport-card__cover-leaf {
  border: 1px solid rgba(216,178,51,.46) !important;
  border-radius: 18px 10px 10px 18px !important;
  box-shadow: inset 12px 0 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10), 16px 22px 46px rgba(3,31,19,.24) !important;
}

.na-passport-card__cover-leaf::after {
  inset: 12px !important;
  border: 1px solid rgba(216,178,51,.52) !important;
  border-radius: 12px !important;
  box-shadow: inset 0 0 0 4px rgba(249,236,199,.025) !important;
}

.na-v11-cover-credential {
  padding: 24px 25px 22px 31px !important;
}

.na-v11-cover-top b { font-size: 20px !important; letter-spacing: .025em !important; }
.na-v11-cover-top small { max-width: 98px !important; font-size: 6px !important; line-height: 1.3 !important; }
.na-v11-cover-emblem { width: 68px !important; height: 44px !important; margin: clamp(18px, 3vw, 36px) auto 9px !important; }
.na-v11-cover-title { font-size: clamp(28px, 3vw, 43px) !important; line-height: .84 !important; letter-spacing: .025em !important; }
.na-v11-cover-rule { width: 48% !important; margin: 13px auto 10px !important; }
.na-v11-cover-runner { font-size: clamp(18px, 2vw, 29px) !important; }
.na-v11-cover-details { margin-top: auto !important; padding-top: 11px !important; border-top: 1px solid currentColor !important; opacity: .72 !important; }
.na-v11-cover-details i { font-size: 6px !important; }

.na-stamp {
  position: relative;
  overflow: hidden;
  border-width: 2px !important;
  background: rgba(255,255,255,.06);
  filter: saturate(.9) contrast(1.05);
  mix-blend-mode: multiply;
}

.na-stamp::after {
  content: "";
  position: absolute;
  inset: -12px;
  opacity: .20;
  background-image: radial-gradient(circle, currentColor 0 1px, transparent 1.5px);
  background-size: 7px 7px;
  transform: rotate(12deg);
  pointer-events: none;
}

/* Footer translation — Arabic resolves into English slowly. */
footer .r {
  position: relative !important;
  width: min(280px, 42vw) !important;
  min-height: 38px !important;
  display: block !important;
  overflow: hidden !important;
  text-align: right !important;
}

footer .r > span {
  position: absolute;
  inset: 0 0 auto auto;
  display: flex !important;
  min-height: 38px;
  align-items: center;
  justify-content: flex-end;
  white-space: nowrap;
  will-change: opacity, transform, filter;
}

footer .r .ar {
  font-family: var(--na-v12-arabic) !important;
  font-size: 25px !important;
  animation: naV12ArabicResolve 9s ease-in-out infinite;
}

footer .r > span:not(.ar) {
  font-family: var(--na-v12-display) !important;
  font-size: 18px !important;
  font-style: italic;
  letter-spacing: .03em;
  text-transform: uppercase;
  animation: naV12EnglishResolve 9s ease-in-out infinite;
}

/* Small global motion polish without changing composition. */
[data-motion-reveal], .reveal {
  transition-timing-function: cubic-bezier(.2,.72,.2,1) !important;
}

@keyframes naV12TicketFlight {
  0%, 8% { left: 2%; opacity: 0; transform: translateY(1px) rotate(-3deg); }
  18% { opacity: 1; }
  88% { opacity: 1; }
  100% { left: 96%; opacity: 0; transform: translateY(-1px) rotate(3deg); }
}

@keyframes naV12ArabicResolve {
  0%, 35% { opacity: 1; transform: translateY(0); filter: blur(0); }
  48%, 82% { opacity: 0; transform: translateY(-8px); filter: blur(7px); }
  94%, 100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes naV12EnglishResolve {
  0%, 37% { opacity: 0; transform: translateY(9px); filter: blur(7px); }
  51%, 82% { opacity: 1; transform: translateY(0); filter: blur(0); }
  94%, 100% { opacity: 0; transform: translateY(9px); filter: blur(7px); }
}

@media (max-width: 820px) {
  .v3-hero-sticker { width: 154px !important; min-height: 116px !important; padding: 35px 15px 14px !important; }
  .v3-hero-sticker::before { left: 14px; top: 13px; }
  .v3-hero-sticker::after { right: 11px; top: 9px; width: 23px; height: 23px; }
}

@media (max-width: 680px) {
  .race-day-overlay { align-items: center !important; padding: 8px !important; }
  .race-day-dialog { width: min(372px, calc(100vw - 16px)) !important; }
  .race-day-ticket { border-radius: 18px !important; }
  .race-day-ticket-strip { min-height: 42px !important; padding: 5px 10px !important; }
  .race-day-ticket-logo { width: 70px !important; }
  .race-day-ticket-document, .race-day-ticket-utilities { display: none !important; }
  .race-day-close { width: 32px !important; height: 32px !important; }
  .race-day-ticket-body { height: auto !important; max-height: calc(100svh - 58px) !important; grid-template-columns: 1fr !important; }
  .race-day-ticket-main { padding: 12px 14px 10px !important; }
  .race-day-dialog h2 { margin-right: 0 !important; font-size: clamp(34px, 11vw, 44px) !important; }
  .race-day-kicker, .race-day-ticket-sequence { font-size: 6px !important; }
  .na-ticket-route { margin-bottom: 4px !important; }
  .race-day-ticket-race { gap: 5px !important; margin-bottom: 4px !important; }
  .race-day-ticket-date, .race-day-ticket-campaign { min-height: 40px !important; padding: 6px 8px !important; }
  .race-day-ticket-race strong { font-size: 15px !important; }
  .race-day-ticket-details div { min-height: 32px !important; padding: 5px 7px !important; }
  .race-day-ticket-details dd { font-size: 10px !important; }
  .race-day-description, .race-day-beta-note { display: none !important; }
  .race-day-links { margin-top: 5px !important; }
  .race-day-links a { min-height: 31px !important; padding: 0 10px !important; font-size: 8px !important; }
  .race-day-signup { margin-top: 5px !important; }
  .race-day-signup-field, .race-day-signup button { min-height: 34px !important; }
  .race-day-ticket-stub { padding: 9px 12px 8px !important; border-left: 0 !important; border-top: 1px dashed rgba(249,236,199,.35) !important; }
  .race-day-ticket-stub::before, .race-day-ticket-stub::after, .race-day-ticket-perforation { display: none !important; }
  .race-day-ticket-stub-head { display: none !important; }
  .race-day-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 4px !important; margin: 0 0 6px !important; }
  .race-day-unit { min-height: 43px !important; }
  .race-day-unit strong { font-size: 21px !important; }
  .race-day-ticket-stub-meta { grid-template-columns: 1fr 1fr !important; }
  .race-day-ticket-stub-meta span:nth-child(n+3) { display: none !important; }
  .race-day-ticket-code { margin-top: 3px !important; padding-top: 3px !important; }
  .race-day-barcode { height: 17px !important; margin-top: 3px !important; }
  footer .r { width: 100% !important; max-width: 250px; }
}

@media (max-height: 680px) and (min-width: 681px) {
  .race-day-dialog { width: min(870px, calc(100vw - 28px)) !important; }
  .race-day-ticket-body { height: 340px !important; }
  .race-day-ticket-main { padding-top: 13px !important; padding-bottom: 10px !important; }
  .race-day-dialog h2 { font-size: 54px !important; }
  .race-day-description, .race-day-beta-note { display: none !important; }
  .race-day-ticket-stub { padding-top: 12px !important; }
  .race-day-unit { min-height: 50px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .na-ticket-route__line i,
  footer .r .ar,
  footer .r > span:not(.ar) { animation: none !important; }
  .na-ticket-route__line i { left: 50% !important; opacity: 1 !important; }
  footer .r { width: auto !important; min-width: 0 !important; height: auto !important; overflow: visible !important; }
  footer .r > span { position: static !important; min-height: 0 !important; display: inline !important; opacity: 1 !important; filter: none !important; transform: none !important; }
  footer .r .ar::after { content: " · "; }
  .v3-hero-sticker, .v3-hero-sticker:hover { transform: none !important; }
}
