/* Inlined (reorg Phase 3): nile-motion-1..5 (was @import shell). URL unchanged. */
/* ==================================================================
   Nile Active — premium motion draft v3
   Experimental layer only. Stable shared styles remain in nile.css.
   ================================================================== */

:root{
  --na-green:#1E613A;
  --na-deep:#053B22;
  --na-cream:#F9ECC7;
  --na-red:#D6272C;
  --na-gold:#D8B233;
  --na-blue:#35A7D6;
  --na-blue-light:#8DDCF4;
  --nile-pointer-x:50%;
  --nile-pointer-y:25%;
  --nile-magnetic-x:0px;
  --nile-magnetic-y:0px;
}

.motion-draft{background:var(--na-deep)}
.motion-draft *{scroll-margin-top:96px}
.motion-draft button,.motion-draft input,.motion-draft textarea,.motion-draft select{font:inherit}
.motion-draft button{color:inherit}
.motion-draft [hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.motion-draft::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.34;
  background:radial-gradient(440px circle at var(--nile-pointer-x) var(--nile-pointer-y),rgba(53,167,214,.2),transparent 68%);
  mix-blend-mode:screen;
}

[data-motion-surface]{position:relative;isolation:isolate;overflow:clip}
[data-motion-surface]>*{position:relative;z-index:1}
[data-motion-surface]::before{
  content:"";
  position:absolute;
  inset:-28%;
  z-index:0;
  pointer-events:none;
  opacity:.46;
  background:
    radial-gradient(circle at 18% 28%,rgba(214,39,44,.28),transparent 24%),
    radial-gradient(circle at 76% 18%,rgba(216,178,51,.26),transparent 25%),
    radial-gradient(circle at 72% 76%,rgba(53,167,214,.22),transparent 28%),
    radial-gradient(circle at var(--nile-pointer-x) var(--nile-pointer-y),rgba(249,236,199,.16),transparent 22%);
  filter:saturate(1.08);
  animation:nileMeshDrift 18s ease-in-out infinite alternate;
}
[data-motion-surface]::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    repeating-linear-gradient(0deg,rgba(249,236,199,.13) 0 1px,transparent 1px 6px),
    linear-gradient(rgba(53,167,214,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(53,167,214,.18) 1px,transparent 1px),
    radial-gradient(circle,rgba(216,178,51,.54) 0 1px,transparent 1.5px);
  background-size:auto,56px 56px,56px 56px,13px 13px;
  mask-image:linear-gradient(180deg,transparent,black 16%,black 84%,transparent);
}
.cream-section[data-motion-surface]::before,.motion-race-wall-section::before,.motion-store-section::before{
  opacity:.56;
  background:
    radial-gradient(circle at 16% 20%,rgba(214,39,44,.2),transparent 23%),
    radial-gradient(circle at 84% 10%,rgba(216,178,51,.24),transparent 24%),
    radial-gradient(circle at 72% 84%,rgba(53,167,214,.18),transparent 24%),
    radial-gradient(circle at var(--nile-pointer-x) var(--nile-pointer-y),rgba(30,97,58,.13),transparent 20%);
}
.cream-section[data-motion-surface]::after,.motion-race-wall-section::after,.motion-store-section::after{opacity:.11;filter:saturate(.8)}
.motion-hero[data-motion-surface]::before{
  inset:0;
  opacity:1;
  filter:none;
  background:
    radial-gradient(70% 82% at 83% 16%,rgba(249,236,199,.08),transparent 55%),
    radial-gradient(70% 76% at 12% 92%,rgba(214,39,44,.24),transparent 58%),
    radial-gradient(36% 52% at var(--nile-pointer-x) var(--nile-pointer-y),rgba(53,167,214,.16),transparent 70%);
  animation:nileHeroLight 14s ease-in-out infinite alternate;
}
.motion-hero[data-motion-surface]::after{opacity:.14;mix-blend-mode:screen}
.motion-campaign::before{transform:rotate(-3deg)}
.motion-river-section::before,.impact-river-full::before{opacity:.7;background:radial-gradient(circle at 72% 44%,rgba(53,167,214,.34),transparent 30%),radial-gradient(circle at 14% 76%,rgba(214,39,44,.22),transparent 24%),radial-gradient(circle at 82% 12%,rgba(216,178,51,.22),transparent 22%)}
.motion-map-section::after{opacity:.24;background-size:auto,34px 34px,34px 34px,11px 11px}
.motion-leaderboard-section::before{background:radial-gradient(circle at 12% 10%,rgba(216,178,51,.28),transparent 22%),radial-gradient(circle at 86% 78%,rgba(214,39,44,.3),transparent 25%),radial-gradient(circle at 54% 40%,rgba(53,167,214,.16),transparent 30%)}
.motion-final-section::before{opacity:.7}

[data-motion-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
[data-motion-reveal].is-visible{opacity:1;transform:none}
[data-magnetic]{--nile-magnetic-x:0px;--nile-magnetic-y:0px;transform:translate3d(var(--nile-magnetic-x),var(--nile-magnetic-y),0);will-change:transform}
[data-magnetic]:focus-visible{outline:3px solid var(--na-gold);outline-offset:4px}
.beta-note{margin:20px 0 0;color:rgba(249,236,199,.68);font-size:12px;font-weight:800;line-height:1.5;letter-spacing:.04em}
.beta-note-dark{color:rgba(5,59,34,.72)}

/* Race day countdown */
.race-day-launch{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:78;
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(249,236,199,.52);
  border-radius:999px;
  background:var(--na-red);
  color:var(--na-cream);
  box-shadow:0 14px 42px rgba(5,59,34,.34);
  cursor:pointer;
  font-family:Anton,Impact,sans-serif!important;
  font-size:14px!important;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.race-day-launch::before{content:"";width:8px;height:8px;display:inline-block;margin-right:9px;border-radius:50%;background:var(--na-gold);box-shadow:0 0 0 6px rgba(216,178,51,.18);animation:nilePulse 1.8s ease-in-out infinite}
.race-day-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:rgba(1,16,9,.76);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.race-day-overlay[aria-hidden="true"]{display:none}
.race-day-dialog{
  position:relative;
  width:min(980px,calc(100vw - 32px));
  max-height:min(760px,calc(100svh - 32px));
  overflow:auto;
  border:1px solid rgba(249,236,199,.42);
  border-radius:24px;
  padding:clamp(24px,4vw,46px);
  background:
    radial-gradient(circle at 86% 10%,rgba(216,178,51,.28),transparent 26%),
    radial-gradient(circle at 8% 92%,rgba(5,59,34,.24),transparent 25%),
    linear-gradient(125deg,#B91520 0%,var(--na-red) 52%,#E44436 100%);
  color:var(--na-cream);
  box-shadow:0 32px 120px rgba(0,0,0,.46);
  isolation:isolate;
}
.race-day-dialog::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:.2;background:repeating-linear-gradient(0deg,rgba(249,236,199,.2) 0 1px,transparent 1px 6px),linear-gradient(90deg,transparent,rgba(216,178,51,.26),transparent);background-size:auto,220% 100%;animation:nileShine 8s linear infinite}
.race-day-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border:1px solid rgba(249,236,199,.42);border-radius:50%;background:rgba(5,59,34,.16);color:var(--na-cream);cursor:pointer;font-size:24px!important;line-height:1}
.race-day-dialog h2,.race-day-dialog h3{font-family:Anton,Impact,sans-serif;font-style:italic;text-transform:uppercase}
.race-day-dialog h2{max-width:780px;margin:5px 56px 10px 0;font-size:clamp(46px,7vw,92px);line-height:.9;letter-spacing:.02em}
.race-day-dialog p{max-width:760px;color:rgba(249,236,199,.86);font-weight:700;line-height:1.5}
.race-day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}
.race-day-unit{min-width:0;padding:18px 12px;border-radius:14px;background:rgba(5,59,34,.24);border:1px solid rgba(249,236,199,.24);text-align:center;box-shadow:inset 0 1px 0 rgba(249,236,199,.15)}
.race-day-unit strong{display:block;font-family:Anton,Impact,sans-serif;font-size:clamp(35px,5vw,58px);font-style:italic;line-height:1;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.race-day-unit span{display:block;margin-top:7px;color:rgba(249,236,199,.72);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.race-day-signup{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;margin-top:20px}
.race-day-signup input{min-width:0;height:52px;padding:0 16px;border:1px solid rgba(249,236,199,.5);border-radius:999px;background:rgba(249,236,199,.12);color:var(--na-cream);outline:none}
.race-day-signup input::placeholder{color:rgba(249,236,199,.58)}
.race-day-signup input:focus{border-color:var(--na-gold);box-shadow:0 0 0 4px rgba(216,178,51,.18)}
.race-day-signup button,.race-day-dialog .btn{border:1px solid var(--na-gold);background:var(--na-cream);color:var(--na-deep);box-shadow:0 12px 28px rgba(119,54,0,.18);cursor:pointer}
.race-day-message{min-height:22px;margin:10px 0 0!important;color:var(--na-cream)!important;font-size:13px}

/* Merch preview */
.motion-store-drop{position:relative}
.motion-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.motion-product-card{position:relative;overflow:hidden;border:1px solid rgba(5,59,34,.17);border-radius:18px;background:rgba(249,236,199,.82);box-shadow:0 20px 60px rgba(5,59,34,.1);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.motion-product-card:hover{transform:translateY(-6px);border-color:rgba(214,39,44,.4);box-shadow:0 28px 80px rgba(5,59,34,.16),0 10px 40px rgba(53,167,214,.14)}
.motion-product-frame{position:relative;height:260px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 84%,rgba(53,167,214,.24),transparent 42%),linear-gradient(150deg,#F5F0DD,#E8E5D8)}
.motion-product-frame::after{content:"";position:absolute;left:15%;right:15%;bottom:10%;height:18px;border-radius:50%;background:rgba(53,167,214,.26);filter:blur(9px);transform:scaleX(.8);transition:transform .3s ease,opacity .3s ease}
.motion-product-card:hover .motion-product-frame::after{transform:scaleX(1.06);opacity:.72}
.motion-product-frame img{position:relative;z-index:1;display:block;width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(5,59,34,.2));animation:nileProductDrift 5s ease-in-out infinite}
.motion-product-body{padding:20px}
.motion-product-body h3{margin:0;font-family:Anton,Impact,sans-serif;font-size:clamp(26px,3vw,38px);font-style:italic;line-height:.95;text-transform:uppercase;color:var(--na-deep)}
.motion-product-body p{margin:10px 0 0;color:rgba(5,59,34,.72);font-size:14px;font-weight:750;line-height:1.45}
.store-motion-draft [data-store-motion] .product-card{will-change:transform}
.store-motion-draft [data-store-motion] .product-card:hover{box-shadow:0 30px 80px rgba(5,59,34,.15),0 18px 50px rgba(53,167,214,.16)}

/* Training preview */
.training-stamp-section{max-width:1440px}
.training-stamp-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:28px;align-items:center;padding:clamp(24px,4vw,42px);border:1px solid rgba(249,236,199,.22);border-radius:22px;background:linear-gradient(135deg,rgba(5,59,34,.88),rgba(30,97,58,.74));box-shadow:0 28px 86px rgba(0,0,0,.24)}
.training-stamp-card p{max-width:680px;color:rgba(249,236,199,.8);font-weight:700;line-height:1.55}
.training-stamp-card .btn{margin-top:18px;border:0;cursor:pointer}
.training-stamp-stage{min-height:250px;display:grid;place-items:center;border:1px dashed rgba(249,236,199,.3);border-radius:18px;background:rgba(249,236,199,.06);perspective:800px}
.passport-stamp{display:inline-grid;place-items:center;min-width:150px;min-height:86px;padding:14px;border:5px double currentColor;border-radius:50%;color:var(--na-red);font-family:Anton,Impact,sans-serif;font-size:30px;font-style:italic;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-8deg);filter:contrast(1.05);opacity:.32}
.training-stamp.is-stamped{opacity:1;animation:nileStampHit .64s cubic-bezier(.16,.78,.28,1) both}

.impact-river-full{margin:30px 54px 20px;max-width:1332px;border-radius:24px;background:linear-gradient(145deg,#02170D,#053B22 58%,#1E613A);color:var(--na-cream);border:1px solid rgba(249,236,199,.2);box-shadow:0 28px 90px rgba(5,59,34,.2)}
.impact-river-full .section-lede{color:rgba(249,236,199,.76)}

/* UK campaign atlas */
.uk-campaign-map__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);gap:clamp(20px,4vw,48px);align-items:center}
.uk-campaign-map__visual{position:relative;width:min(100%,650px);aspect-ratio:560/780;justify-self:center;border-radius:28px;filter:drop-shadow(0 28px 50px rgba(0,0,0,.24));overflow:hidden}
.uk-campaign-map__svg{display:block;width:100%;height:100%}
.uk-campaign-map__city-layer{position:absolute;inset:0;pointer-events:none}
.uk-campaign-map__city{width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;z-index:3}
.uk-campaign-map__city-pulse,.uk-campaign-map__city-core{position:absolute;inset:50% auto auto 50%;display:block;border-radius:50%;transform:translate(-50%,-50%)}
.uk-campaign-map__city-pulse{width:28px;height:28px;border:2px solid rgba(249,236,199,.72);animation:nileMapPulse 2.2s ease-out infinite}
.uk-campaign-map__city-core{width:11px;height:11px;background:rgba(249,236,199,.58);border:2px solid var(--na-cream);box-shadow:0 0 16px rgba(249,236,199,.42)}
.uk-campaign-map__city--active .uk-campaign-map__city-core{background:var(--na-red);box-shadow:0 0 20px rgba(214,39,44,.9)}
.uk-campaign-map__city--building .uk-campaign-map__city-core{background:var(--na-gold);box-shadow:0 0 20px rgba(216,178,51,.82)}
.uk-campaign-map__city.is-active{z-index:4}
.uk-campaign-map__city.is-active .uk-campaign-map__city-pulse{width:34px;height:34px;border-color:var(--na-gold)}
.uk-campaign-map__city:focus-visible{outline:3px solid var(--na-gold);outline-offset:3px}
.uk-campaign-map__route{stroke-dashoffset:1;stroke-dasharray:.07 .045;animation:nileRouteMarch 4.2s linear infinite}
.uk-campaign-map__route-pulse{transform-origin:center;transform-box:fill-box;animation:nileRingPulse 2s ease-out infinite}
.uk-campaign-map__detail-column{display:grid;gap:16px}
.uk-campaign-map__widget{min-height:330px;padding:clamp(24px,3vw,36px);border:1px solid rgba(249,236,199,.24);border-radius:20px;background:linear-gradient(145deg,rgba(3,35,20,.92),rgba(30,97,58,.72));color:var(--na-cream);box-shadow:0 24px 72px rgba(0,0,0,.22);outline:none}

.uk-campaign-map__widget-eyebrow,.uk-campaign-map__beta-note{margin:0;color:rgba(249,236,199,.58);font-size:11px;font-weight:900;letter-spacing:.24em;text-transform:uppercase}
.uk-campaign-map__widget-name{margin:28px 0 0;font-family:Anton,Impact,sans-serif;font-size:clamp(42px,5vw,70px);font-style:italic;line-height:.92;text-transform:uppercase}
.uk-campaign-map__widget-status{display:inline-flex;margin:14px 0 0;padding:7px 11px;border:1px solid rgba(249,236,199,.24);border-radius:999px;color:var(--na-gold);font-weight:900}
.uk-campaign-map__widget-status[data-tone="active"]{color:var(--na-cream);background:rgba(214,39,44,.3);border-color:rgba(214,39,44,.7)}
.uk-campaign-map__widget-summary{margin:18px 0 0;color:rgba(249,236,199,.78);font-weight:750;line-height:1.55}
.uk-campaign-map__widget-cta{min-height:46px;margin-top:24px;padding:0 18px;border:1px solid var(--na-gold);border-radius:999px;background:var(--na-red);color:var(--na-cream);cursor:pointer;font-family:Anton,Impact,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.uk-campaign-map__beta-note{font-size:10px;line-height:1.5;letter-spacing:.05em;text-transform:none}
.uk-campaign-map__city-list{display:none}
.uk-campaign-map__city-list-title{font-family:Anton,Impact,sans-serif;font-style:italic;text-transform:uppercase}
.uk-campaign-map__city-list-button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:10px 12px;border:1px solid rgba(249,236,199,.18);border-radius:12px;background:rgba(249,236,199,.06);color:var(--na-cream);cursor:pointer;text-align:left}
.uk-campaign-map__city-list-button.is-active{border-color:var(--na-gold);background:rgba(216,178,51,.14)}
.uk-campaign-map__city-list-name{font-weight:900}
.uk-campaign-map__city-list-status{color:rgba(249,236,199,.6);font-size:12px}

/* Nile impact river */
.nile-river{display:grid;gap:16px;min-width:0}
.nile-river--full{grid-template-columns:minmax(0,1fr) minmax(220px,.36fr);align-items:stretch}
.nile-river--homepage{grid-template-columns:1fr}
.nile-river__visual{min-width:0;overflow:hidden;border:1px solid rgba(249,236,199,.2);border-radius:24px;background:var(--na-deep);box-shadow:0 28px 80px rgba(0,0,0,.28)}
.nile-river__svg{display:block;width:100%;height:auto}
.nile-river__water{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.9s cubic-bezier(.18,.8,.22,1)}
.nile-river.is-visible .nile-river__water{stroke-dashoffset:0}
.nile-river__water--route{transition-delay:.42s}
.nile-river__water--tributary{transition-delay:.68s}
.nile-river__current{animation:nileCurrent 4.8s linear infinite}
.nile-river__node{cursor:pointer;outline:none}
.nile-river__node-label{paint-order:stroke fill;stroke:rgba(5,59,34,.9);stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.nile-river__node-pulse{transform-origin:center;transform-box:fill-box;animation:nileRingPulse 2.4s ease-out infinite}
.nile-river__node.is-active .nile-river__node-pulse{stroke-width:4;filter:drop-shadow(0 0 7px currentColor)}
.nile-river__node:focus-visible .nile-river__node-hit{stroke:var(--na-gold);stroke-width:3}
.nile-river__widget{padding:20px;border:1px solid rgba(249,236,199,.2);border-radius:18px;background:linear-gradient(145deg,rgba(249,236,199,.1),rgba(53,167,214,.08));color:var(--na-cream)}
.nile-river__widget-eyebrow{margin:0;color:var(--na-blue-light);font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.nile-river__widget-title{margin:12px 0 0;font-family:Anton,Impact,sans-serif;font-size:clamp(27px,3vw,42px);font-style:italic;line-height:.96;text-transform:uppercase}
.nile-river__widget-detail{margin:12px 0 0;color:rgba(249,236,199,.74);font-size:13px;font-weight:750;line-height:1.5}
.nile-river__beta-note{margin:18px 0 0;color:rgba(249,236,199,.5);font-size:10px;line-height:1.5}
.nile-river--homepage .nile-river__widget{display:grid;grid-template-columns:minmax(150px,.36fr) 1fr;gap:8px 20px;align-items:start}
.nile-river--homepage .nile-river__widget-eyebrow{grid-column:1/-1}
.nile-river--homepage .nile-river__widget-title{margin-top:4px}
.nile-river--homepage .nile-river__widget-detail{margin-top:4px}
.nile-river--homepage .nile-river__beta-note{grid-column:1/-1;margin-top:4px}

/* Race Wall passport covers */
.na-component-beta-note,.na-passport-beta-note{margin:18px 0 0;color:rgba(5,59,34,.62);font-size:11px;font-weight:800;line-height:1.5}
.na-race-wall__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);perspective:1300px}
.na-race-wall__item{min-width:0;perspective:1100px}
.na-passport-card{position:relative;width:100%;min-height:430px;overflow:hidden;padding:24px;border:0;border-radius:17px;background:linear-gradient(145deg,#032E1B,#053B22 58%,#0B5030);color:var(--na-cream);box-shadow:0 22px 54px rgba(5,59,34,.22);cursor:pointer;text-align:left;transform-style:preserve-3d;transform-origin:left center;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.na-passport-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background:repeating-linear-gradient(30deg,rgba(249,236,199,.16) 0 1px,transparent 1px 8px),radial-gradient(circle at 80% 15%,rgba(216,178,51,.28),transparent 27%)}
.na-passport-card__border{position:absolute;inset:11px;border:2px double rgba(216,178,51,.64);border-radius:11px;pointer-events:none}
.na-passport-card__shine{position:absolute;top:-30%;left:-65%;width:44%;height:160%;background:linear-gradient(90deg,transparent,rgba(249,236,199,.16),transparent);transform:rotate(16deg);transition:left .65s ease}
.na-passport-card:hover,.na-passport-card:focus-visible{transform:translateY(-10px) rotateY(-7deg);box-shadow:18px 30px 70px rgba(5,59,34,.28)}
.na-passport-card:hover .na-passport-card__shine,.na-passport-card:focus-visible .na-passport-card__shine{left:120%}
.na-passport-card:focus-visible{outline:4px solid var(--na-gold);outline-offset:5px}
.na-passport-card>*{position:relative;z-index:1}
.na-passport-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.na-passport-card__logo{width:126px;height:58px;object-fit:contain;object-position:right center}
.na-passport-seal{display:inline-grid;place-items:center;width:46px;height:46px;border:2px solid var(--na-gold);border-radius:50%;color:var(--na-gold);font-family:Anton,Impact,sans-serif;letter-spacing:.08em}
.na-birds-emblem{display:block;width:96px;height:62px;margin:30px auto 14px;fill:none;stroke:var(--na-gold);stroke-width:2}
.na-passport-card__title,.na-passport-card__runner,.na-passport-card__type,.na-passport-card__metrics,.na-passport-card__status,.na-passport-card__hint{display:block}
.na-passport-card__title{text-align:center;color:var(--na-gold);font-family:Anton,Impact,sans-serif;font-size:clamp(27px,3vw,40px);font-style:italic;letter-spacing:.04em;text-transform:uppercase}
.na-passport-card__runner{margin-top:22px;font-family:Anton,Impact,sans-serif;font-size:clamp(31px,3.4vw,48px);font-style:italic;line-height:.95;text-transform:uppercase}
.na-passport-card__type{margin-top:6px;color:rgba(249,236,199,.62);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.na-passport-card__metrics{display:grid;gap:6px;margin-top:20px;color:rgba(249,236,199,.86);font-size:13px;line-height:1.4}
.na-passport-card__stamp{position:absolute;right:20px;bottom:64px;padding:9px 11px;border:3px double var(--na-red);border-radius:50%;color:#FF837E;font-family:Anton,Impact,sans-serif;font-size:12px;letter-spacing:.06em;transform:rotate(-9deg);animation:nileStampBreathe 3s ease-in-out infinite}
.na-passport-card__status{position:absolute;left:24px;bottom:25px;color:var(--na-gold);font-size:12px;font-weight:900;text-transform:uppercase}
.na-passport-card__hint{position:absolute;right:24px;bottom:24px;color:rgba(249,236,199,.62);font-size:11px;font-weight:800}

/* Passport modal and paper spreads */
body.na-passport-is-open{overflow:hidden}
.na-passport-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(1,15,8,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.na-passport-dialog{width:min(1480px,calc(100vw - 30px));max-height:calc(100svh - 30px);overflow:auto;border:1px solid rgba(249,236,199,.3);border-radius:22px;background:#082A1A;color:var(--na-cream);box-shadow:0 36px 140px rgba(0,0,0,.58)}
.na-passport-toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 20px;border-bottom:1px solid rgba(249,236,199,.16);background:rgba(5,59,34,.95);backdrop-filter:blur(12px)}
.na-passport-toolbar p{margin:0;color:rgba(249,236,199,.54);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.na-passport-toolbar h2{margin:4px 0 0;font-family:Anton,Impact,sans-serif;font-size:clamp(24px,3vw,38px);font-style:italic;line-height:1;text-transform:uppercase}
.na-passport-close{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid rgba(249,236,199,.28);border-radius:999px;background:transparent;color:var(--na-cream);cursor:pointer;font-weight:900;text-transform:uppercase}
.na-passport-close span:first-child{font-size:24px;line-height:1}
.na-passport-close:focus-visible{outline:3px solid var(--na-gold);outline-offset:3px}
.na-passport-book{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:690px;margin:18px;perspective:1800px;transform-style:preserve-3d;filter:drop-shadow(0 22px 28px rgba(0,0,0,.22))}
.na-passport-page{position:relative;min-width:0;overflow:auto;padding:clamp(22px,2.5vw,36px);background:
  linear-gradient(rgba(249,236,199,.93),rgba(249,236,199,.93)),
  repeating-radial-gradient(circle at 10% 20%,rgba(5,59,34,.12) 0 1px,transparent 1px 5px);
  color:var(--na-deep);box-shadow:inset 0 0 70px rgba(90,65,15,.08)}
.na-page-left{border-radius:15px 2px 2px 15px}
.na-page-right{border-radius:2px 15px 15px 2px}
.na-passport-crease{position:absolute;left:50%;top:0;bottom:0;z-index:3;width:18px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(90deg,rgba(5,59,34,.18),rgba(255,255,255,.42),rgba(5,59,34,.2));mix-blend-mode:multiply}
.na-passport-book.is-turning-forward .na-page-right{transform-origin:left center;animation:nilePageForward .42s ease-in both}
.na-passport-book.is-turning-back .na-page-left{transform-origin:right center;animation:nilePageBack .42s ease-in both}
.na-passport-page__mast{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding-bottom:14px;border-bottom:2px solid rgba(5,59,34,.16)}
.na-passport-page__mast h3,.na-stamp-page__head h3,.na-sponsor-grid-head h3,.na-sponsor-form__head h3{margin:2px 0 0;font-family:Anton,Impact,sans-serif;font-size:clamp(28px,3vw,43px);font-style:italic;line-height:.95;text-transform:uppercase}
.na-passport-kicker{margin:0;color:rgba(5,59,34,.58);font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.na-passport-logo{width:98px;height:45px;object-fit:contain}
.na-passport-page__mast .na-birds-emblem{width:72px;height:46px;margin:0;stroke:var(--na-deep)}
.na-identity-layout{display:grid;grid-template-columns:minmax(150px,.35fr) 1fr;gap:20px;margin-top:20px}
.na-passport-photo{position:relative;min-height:235px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(5,59,34,.35);border-radius:9px;background:linear-gradient(145deg,rgba(5,59,34,.12),rgba(53,167,214,.12));text-align:center}
.na-passport-photo img{width:100%;height:100%;object-fit:cover}
.na-runner-avatar{font-family:Anton,Impact,sans-serif;font-size:74px;font-style:italic;color:var(--na-deep)}
.na-photo-placeholder{position:absolute;left:8px;right:8px;bottom:9px;color:rgba(5,59,34,.58);font-size:9px;font-weight:900;text-transform:uppercase}
.na-photo-stamp{position:absolute;right:8px;top:8px;padding:5px;border:2px solid var(--na-red);border-radius:50%;color:var(--na-red);font-family:Anton,Impact,sans-serif;transform:rotate(8deg)}
.na-identity-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}
.na-identity-field{min-width:0;padding:9px 10px;border-bottom:1px solid rgba(5,59,34,.25);background:rgba(255,255,255,.16)}
.na-identity-field dt{color:rgba(5,59,34,.52);font-size:8px;font-weight:900;letter-spacing:.14em}

.na-identity-field dd{margin:3px 0 0;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.na-distance-statement{display:block;margin-top:16px;padding:10px 12px;border-left:5px solid var(--na-red);background:rgba(214,39,44,.08);font-family:Anton,Impact,sans-serif;font-size:21px;font-style:italic;text-transform:uppercase}
.na-runner-story{margin:12px 0 0;color:rgba(5,59,34,.76);font-size:12px;font-weight:700;line-height:1.45}
.na-machine-detail{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:10px;border-top:1px dashed rgba(5,59,34,.35);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.06em}
.na-page-corner{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid rgba(5,59,34,.28);border-radius:999px;background:var(--na-deep);color:var(--na-cream);cursor:pointer;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.na-page-corner--next{right:16px;bottom:14px}
.na-page-corner--previous{left:16px;bottom:14px}
.na-page-corner:focus-visible{outline:3px solid var(--na-red);outline-offset:3px}
.na-passport-mobile-hint{display:none;margin:0 20px 18px;color:rgba(249,236,199,.62);font-size:11px}

/* Stamps and rewards */
.na-stamp-page__head,.na-sponsor-grid-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(5,59,34,.22)}
.na-stamp-progress,.na-sponsor-grid-head>strong{max-width:190px;padding:8px 10px;border:1px solid rgba(5,59,34,.2);border-radius:999px;background:rgba(5,59,34,.07);font-size:9px;line-height:1.35;text-align:center}
.na-stamp-collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}
.na-stamp{min-height:72px;display:grid;place-items:center;padding:7px;border:3px double currentColor;color:var(--na-red);text-align:center;transform:rotate(var(--stamp-rotation));transform-origin:center;font-family:Anton,Impact,sans-serif;line-height:1;opacity:.86}
.na-stamp strong{font-size:clamp(12px,1.3vw,18px);letter-spacing:.03em}
.na-stamp small{display:block;margin-top:3px;font-family:Archivo,sans-serif;font-size:7px;letter-spacing:.06em}
.na-stamp--green{color:var(--na-green)}
.na-stamp--circle{border-radius:50%}
.na-stamp--rectangle{border-radius:5px}
.na-stamp--date{border-radius:50% 10% 50% 12%}
.na-stamp.is-armed{opacity:0;transform:translateY(-42px) scale(1.25) rotate(var(--stamp-rotation))}
.na-stamp.is-stamping{animation:nilePassportStamp .28s cubic-bezier(.18,.82,.25,1) both}
.na-stamp.is-stamped{opacity:.86;transform:rotate(var(--stamp-rotation))}
.na-rewards{margin-top:16px}
.na-reward-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:7px 0 0;padding:0;list-style:none}
.na-reward{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid rgba(5,59,34,.16);border-radius:8px;background:rgba(5,59,34,.04)}
.na-reward__mark{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:var(--na-deep);color:var(--na-cream)}
.na-reward strong,.na-reward small{display:block;font-size:8px;line-height:1.3}
.na-reward small{margin-top:2px;color:rgba(5,59,34,.5)}
.na-reward.is-locked{opacity:.5;filter:grayscale(.5)}

/* Sponsor-a-KM */
.na-sponsor-grid-page{padding-bottom:64px}
.na-km-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-height:510px;overflow:auto;margin-top:14px;padding-right:4px}
.na-km-tile{min-width:0;min-height:96px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:3px;padding:8px;border:1px solid rgba(5,59,34,.24);border-radius:8px;text-align:left;font-size:8px;line-height:1.2}
button.na-km-tile{cursor:pointer}
.na-km-tile__number{font-family:Anton,Impact,sans-serif;font-size:14px;font-style:italic;letter-spacing:.04em}
.na-km-tile strong{font-size:8px;overflow-wrap:anywhere}
.na-km-tile small{font-size:8px}
.na-km-tile.is-sponsored{background:var(--na-deep);border-color:var(--na-deep);color:var(--na-cream)}
.na-km-tile.is-available{background:rgba(255,255,255,.22);color:var(--na-deep);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.na-km-tile.is-available:hover{transform:translateY(-2px);border-color:var(--na-red)}
.na-km-tile.is-selected{border:2px solid var(--na-red);box-shadow:0 0 0 3px rgba(216,178,51,.32),0 9px 20px rgba(5,59,34,.12)}
.na-km-tile:focus-visible{outline:3px solid var(--na-gold);outline-offset:2px}
.na-sponsor-form-page{padding-bottom:28px}
.na-sponsor-form__head p{margin:8px 0 0;color:rgba(5,59,34,.68);font-size:11px;font-weight:700;line-height:1.4}
.na-sponsor-types{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 0;padding:12px;border:1px solid rgba(5,59,34,.18);border-radius:10px}
.na-sponsor-types legend{padding:0 6px;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.na-sponsor-types label{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:rgba(5,59,34,.07);font-size:9px;font-weight:800}
.na-sponsor-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.na-sponsor-fields label{display:grid;gap:5px;color:rgba(5,59,34,.7);font-size:9px;font-weight:900;text-transform:uppercase}
.na-sponsor-fields input,.na-sponsor-fields textarea{width:100%;min-width:0;border:1px solid rgba(5,59,34,.28);border-radius:8px;padding:9px 10px;background:rgba(255,255,255,.32);color:var(--na-deep);outline:none;text-transform:none}
.na-sponsor-fields input:focus,.na-sponsor-fields textarea:focus{border-color:var(--na-red);box-shadow:0 0 0 3px rgba(214,39,44,.12)}
.na-sponsor-message{grid-column:1/-1}
.na-amount-field{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid rgba(5,59,34,.28);border-radius:8px;background:rgba(255,255,255,.32)}
.na-amount-field b{padding-left:10px}
.na-amount-field input{border:0;background:transparent}
.na-message-presets{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.na-message-presets button{padding:6px 8px;border:1px solid rgba(5,59,34,.22);border-radius:999px;background:transparent;color:var(--na-deep);cursor:pointer;font-size:8px;font-weight:800}
.na-message-presets button:hover{background:rgba(216,178,51,.17)}
.na-sponsor-continue{width:100%;min-height:43px;margin-top:12px;border:0;border-radius:999px;background:var(--na-red);color:var(--na-cream);cursor:pointer;font-family:Anton,Impact,sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.na-sponsor-disclaimer{margin:9px 0 0;padding:9px;border-left:4px solid var(--na-red);background:rgba(214,39,44,.08);font-size:9px;font-weight:800;line-height:1.4}

/* Leaderboard */
.na-leaderboard-shell{overflow:hidden;border:1px solid rgba(249,236,199,.2);border-radius:20px;background:rgba(3,34,20,.72);box-shadow:0 28px 80px rgba(0,0,0,.24)}
.na-leaderboard-tabs{display:flex;gap:7px;overflow-x:auto;padding:12px;border-bottom:1px solid rgba(249,236,199,.14)}
.na-leaderboard-tab{flex:0 0 auto;min-height:40px;padding:0 13px;border:1px solid rgba(249,236,199,.18);border-radius:999px;background:transparent;color:rgba(249,236,199,.68);cursor:pointer;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.na-leaderboard-tab.is-active{border-color:var(--na-red);background:var(--na-red);color:var(--na-cream);box-shadow:0 0 24px rgba(214,39,44,.26)}
.na-leaderboard-tab:focus-visible{outline:3px solid var(--na-gold);outline-offset:2px}
.na-leaderboard-panel{padding:8px 12px 12px}
.na-leaderboard-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.na-leaderboard-row>button,.na-leaderboard-row>div{width:100%;display:grid;grid-template-columns:54px minmax(150px,1.5fr) minmax(110px,.8fr) minmax(110px,.8fr) auto;gap:12px;align-items:center;min-height:64px;padding:10px 12px;border:1px solid rgba(249,236,199,.1);border-radius:12px;background:rgba(249,236,199,.045);color:var(--na-cream);text-align:left}
.na-leaderboard-row>button{cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.na-leaderboard-row>button:hover,.na-leaderboard-row>button:focus-visible{transform:translateX(4px);border-color:rgba(216,178,51,.6);background:linear-gradient(90deg,rgba(214,39,44,.16),rgba(216,178,51,.09));box-shadow:0 8px 26px rgba(214,39,44,.12);outline:none}
.na-leaderboard-rank{font-family:Anton,Impact,sans-serif;font-size:24px;font-style:italic;color:rgba(249,236,199,.48)}
.na-leaderboard-row.is-top-rank .na-leaderboard-rank{color:var(--na-gold);text-shadow:0 0 16px rgba(216,178,51,.5)}
.na-leaderboard-name{font-family:Anton,Impact,sans-serif;font-size:clamp(20px,2.3vw,31px);font-style:italic;line-height:1;text-transform:uppercase}
.na-leaderboard-primary{font-weight:900;color:var(--na-gold)}
.na-leaderboard-secondary{color:rgba(249,236,199,.62);font-size:11px;font-weight:800}
.na-leaderboard-open{color:rgba(249,236,199,.52);font-size:9px;font-weight:900;text-transform:uppercase}
.motion-leaderboard-section .na-component-beta-note{padding:0 12px 12px;color:rgba(249,236,199,.48)}

/* Countdown/store finishing details */
html.race-day-is-open{overflow:hidden}
.race-day-pulse{position:absolute;z-index:-1;width:14px;height:14px;border:3px solid var(--na-gold);border-radius:50%;animation:nileRingPulse 2.2s ease-out infinite}
.race-day-pulse-one{right:11%;top:18%}.race-day-pulse-two{left:8%;bottom:14%;animation-delay:.8s}
.race-day-kicker{margin:0!important;color:var(--na-gold)!important;font-size:11px!important;font-weight:900!important;letter-spacing:.25em;text-transform:uppercase}
.race-day-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:12px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.race-day-meta strong{padding:7px 10px;border-radius:999px;background:var(--na-cream);color:var(--na-red)}
.race-day-meta span{color:rgba(249,236,199,.78)}
.race-day-description{margin:16px 0 0!important}
.race-day-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}
.race-day-links a{color:var(--na-cream);border-bottom:2px solid var(--na-gold);font-family:Anton,Impact,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.motion-store-header{max-width:680px;margin-bottom:22px}
.motion-store-kicker{margin:0;color:var(--na-red);font-size:10px;font-weight:900;letter-spacing:.24em;text-transform:uppercase}
.motion-store-title{margin:7px 0 0;font-family:Anton,Impact,sans-serif;font-size:clamp(38px,5vw,66px);font-style:italic;line-height:.95;text-transform:uppercase;color:var(--na-deep)}
.motion-store-copy{margin:11px 0 0;color:rgba(5,59,34,.7);font-weight:750;line-height:1.5}
.motion-product-mark{position:relative;z-index:1;display:grid;place-items:center;width:126px;height:126px;border:4px double var(--na-deep);border-radius:50%;color:var(--na-deep);font-family:Anton,Impact,sans-serif;font-size:44px;font-style:italic}
.motion-product-badge{position:absolute;left:13px;top:13px;z-index:2;padding:6px 9px;border-radius:999px;background:var(--na-red);color:var(--na-cream);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

.motion-product-kicker{margin:0!important;color:var(--na-red)!important;font-size:9px!important;font-weight:900!important;letter-spacing:.16em;text-transform:uppercase}
.motion-product-title{margin:6px 0 0!important}
.motion-product-copy{min-height:42px}
.motion-product-status{display:inline-flex;margin-top:11px;padding:6px 8px;border-radius:999px;background:rgba(5,59,34,.07);color:rgba(5,59,34,.66);font-size:9px;font-weight:900;text-transform:uppercase}
.motion-product-action{width:100%;min-height:42px;margin-top:14px;border:1px solid var(--na-deep);border-radius:999px;background:var(--na-deep);color:var(--na-cream);cursor:pointer;font-family:Anton,Impact,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.motion-store-note,.motion-store-feedback{margin:14px 0 0;color:rgba(5,59,34,.6);font-size:11px;font-weight:800;line-height:1.45}
.motion-store-feedback{min-height:18px;color:var(--na-red)}
.motion-product-orbit{position:absolute;border:1px solid rgba(53,167,214,.4);border-radius:50%;pointer-events:none}.motion-product-orbit-one{width:170px;height:60px;transform:rotate(-12deg)}.motion-product-orbit-two{width:150px;height:150px;border-color:rgba(216,178,51,.35);transform:rotate(22deg)}
.motion-product-ripple{position:absolute;width:70%;height:20%;left:15%;bottom:8%;border:2px solid rgba(53,167,214,.28);border-radius:50%;animation:nileRipple 3.2s ease-out infinite}

@keyframes nileMapPulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(.5)}80%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}
@keyframes nileRingPulse{0%{opacity:.9;transform:scale(.55)}80%,100%{opacity:0;transform:scale(1.7)}}
@keyframes nileRouteMarch{to{stroke-dashoffset:-1}}
@keyframes nileCurrent{to{stroke-dashoffset:-.9}}
@keyframes nileStampBreathe{0%,100%{opacity:.72;transform:rotate(-9deg) scale(.98)}50%{opacity:1;transform:rotate(-7deg) scale(1.03)}}
@keyframes nilePageForward{0%{transform:rotateY(0);opacity:1}70%{opacity:.65}100%{transform:rotateY(-88deg);opacity:0}}
@keyframes nilePageBack{0%{transform:rotateY(0);opacity:1}70%{opacity:.65}100%{transform:rotateY(88deg);opacity:0}}
@keyframes nilePassportStamp{0%{opacity:0;transform:translateY(-42px) scale(1.28) rotate(var(--stamp-rotation))}62%{opacity:1;transform:translateY(4px) scale(.94) rotate(var(--stamp-rotation))}100%{opacity:.86;transform:translateY(0) scale(1) rotate(var(--stamp-rotation))}}
@keyframes nileRipple{0%{opacity:.65;transform:scale(.65)}100%{opacity:0;transform:scale(1.25)}}
@keyframes nileMeshDrift{0%{transform:translate3d(-3%,-2%,0) rotate(-2deg) scale(1.02)}100%{transform:translate3d(4%,3%,0) rotate(2deg) scale(1.08)}}
@keyframes nileHeroLight{0%{transform:translate3d(-1%,0,0) scale(1.01)}100%{transform:translate3d(1.5%,1%,0) scale(1.04)}}
@keyframes nilePulse{0%,100%{transform:scale(.88);opacity:.64}50%{transform:scale(1.18);opacity:1}}
@keyframes nileShine{to{background-position:0,220% 0}}
@keyframes nileProductDrift{0%,100%{transform:translateY(2px) rotate(-.35deg)}50%{transform:translateY(-6px) rotate(.35deg)}}
@keyframes nileStampHit{0%{opacity:0;transform:translateY(-54px) scale(1.34) rotate(-3deg)}56%{opacity:1;transform:translateY(5px) scale(.94) rotate(-9deg)}72%{transform:translateY(-2px) scale(1.03) rotate(-7deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(-8deg)}}

@media(max-width:1100px){
  .uk-campaign-map__layout{grid-template-columns:minmax(0,1fr) minmax(240px,.58fr);gap:22px}
  .na-race-wall__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .na-passport-book{min-height:760px}
  .na-stamp-collection{grid-template-columns:repeat(3,minmax(0,1fr))}
  .na-km-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .na-leaderboard-row>button,.na-leaderboard-row>div{grid-template-columns:48px minmax(140px,1.2fr) minmax(100px,.7fr) minmax(100px,.7fr)}
  .na-leaderboard-open{display:none}
}

@media(max-width:900px){
  .motion-product-grid{grid-template-columns:1fr 1fr}
  .training-stamp-card{grid-template-columns:1fr}
  .training-stamp-stage{min-height:210px}
  .impact-river-full{margin:20px 22px}
  .uk-campaign-map__layout{grid-template-columns:1fr}
  .uk-campaign-map__visual{width:min(100%,570px)}
  .uk-campaign-map__detail-column{grid-template-columns:1fr 1fr;align-items:start}
  .uk-campaign-map__city-list{display:grid;gap:7px;padding:16px;border:1px solid rgba(249,236,199,.16);border-radius:18px;background:rgba(3,32,19,.52)}
  .uk-campaign-map__city-list-title{margin:0 0 5px;color:var(--na-cream)}
  .nile-river--full{grid-template-columns:1fr}
  .na-passport-book{min-height:820px}
  .na-passport-page{padding:22px}
  .na-passport-page__mast{grid-template-columns:auto 1fr auto}
  .na-passport-page__mast .na-birds-emblem{display:none}
}

@media(max-width:760px){
  .na-race-wall__grid{grid-template-columns:1fr}
  .na-passport-card{min-height:400px}
  .na-passport-overlay{padding:0}
  .na-passport-dialog{width:100%;height:100svh;max-height:none;border:0;border-radius:0}
  .na-passport-toolbar{padding:10px 12px}
  .na-passport-toolbar p{display:none}
  .na-passport-toolbar h2{font-size:21px}
  .na-passport-close{min-height:40px;padding:0 11px}
  .na-passport-close span:last-child{display:none}
  .na-passport-book{grid-template-columns:1fr;gap:10px;min-height:0;margin:8px;filter:none}
  .na-passport-page{overflow:visible;border-radius:12px!important;padding:18px 15px 58px}
  .na-passport-crease{display:none}
  .na-passport-book.is-turning-forward .na-page-right,.na-passport-book.is-turning-back .na-page-left{animation:none}
  .na-passport-mobile-hint{display:block;margin:0 12px 14px}
  .na-passport-page__mast{grid-template-columns:auto 1fr;gap:9px}
  .na-passport-logo{grid-column:2;width:88px;justify-self:end}
  .na-passport-page__mast .na-birds-emblem{display:none}
  .na-identity-layout{grid-template-columns:1fr}
  .na-passport-photo{min-height:210px}
  .na-identity-fields{grid-template-columns:1fr 1fr}
  .na-machine-detail{display:grid}
  .na-stamp-collection{grid-template-columns:repeat(3,minmax(0,1fr))}
  .na-reward-list{grid-template-columns:1fr}
  .na-km-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:none}
  .na-km-tile{min-height:88px}
  .na-sponsor-fields{grid-template-columns:1fr}
  .na-sponsor-message{grid-column:auto}
  .na-leaderboard-tabs{padding:9px}
  .na-leaderboard-panel{padding:6px 8px 10px}
  .na-leaderboard-row>button,.na-leaderboard-row>div{grid-template-columns:38px minmax(0,1fr) auto;gap:7px;min-height:72px;padding:9px}
  .na-leaderboard-rank{grid-row:1/3;font-size:20px}
  .na-leaderboard-name{font-size:20px}
  .na-leaderboard-primary{grid-column:3;grid-row:1;font-size:11px;text-align:right}
  .na-leaderboard-secondary{grid-column:2/4;grid-row:2;font-size:9px}
  .na-leaderboard-open{display:none}
  .uk-campaign-map__detail-column{grid-template-columns:1fr}
  .uk-campaign-map__widget{min-height:260px}
  .nile-river--homepage .nile-river__widget{grid-template-columns:1fr}
  .nile-river--homepage .nile-river__widget>*{grid-column:auto}
}

@media(max-width:680px){
  .race-day-overlay{padding:12px;align-items:end}
  .race-day-dialog{width:100%;max-height:calc(100svh - 24px);border-radius:20px;padding:24px 18px}
  .race-day-dialog h2{font-size:clamp(40px,13vw,62px);margin-right:42px}
  .race-day-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:18px 0}
  .race-day-unit{padding:13px 4px}
  .race-day-unit strong{font-size:clamp(29px,9vw,42px);letter-spacing:.02em}
  .race-day-unit span{font-size:8px;letter-spacing:.08em}
  .race-day-signup{grid-template-columns:1fr}
  .race-day-signup button{width:100%}
  .race-day-launch{right:12px;bottom:12px}
  .motion-product-grid{grid-template-columns:1fr}
  .motion-product-frame{height:230px}
  .impact-river-full{margin:16px 12px;padding:30px 16px}
  .uk-campaign-map__city{width:30px;height:30px}
  .uk-campaign-map__city-pulse{width:24px;height:24px}
  .na-identity-fields{grid-template-columns:1fr}
  .na-stamp-collection{grid-template-columns:repeat(2,minmax(0,1fr))}
  .na-km-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .motion-draft *,
  .motion-draft *::before,
  .motion-draft *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  [data-motion-reveal],.reveal{opacity:1!important;transform:none!important}
  [data-route-draw]{stroke-dasharray:none!important;stroke-dashoffset:0!important}
  [data-magnetic]{transform:none!important}
}

