/* 05 Night Run: a marine chartplotter. Night (default) and Day palettes as tokens. Brand hexes only. */

/* 05 Night Run. Prefix .nr-. Brand hexes only via aliases and rgba of teal (35,182,199), teal-t1 (63,203,219), ink (13,16,20), ink-2 (22,27,33), volt (194,240,74). */
body[data-concept="05"] { background: var(--nr-bg); }

/* HUD header */
@keyframes nr-scan { 0% { transform: translateX(-160px); } 100% { transform: translateX(100vw); } }

/* Drawer (mobile) */

/* Hero: wave under heavy ink, sonar right of the h1 */
.nr-hero[data-bs-theme] { position: relative; overflow: hidden; min-height: min(92svh, 920px); display: flex; align-items: center; isolation: isolate; }
.nr-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.nr-hero__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(var(--nr-g),.9) 0%, rgba(var(--nr-g),.78) 50%, rgba(var(--nr-g),.94) 100%), linear-gradient(90deg, rgba(var(--nr-g),.6) 0%, rgba(var(--nr-g),0) 70%); }
.nr-hero__scrim::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(var(--nr-a),.06) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--nr-a),.06) 1px, transparent 1px); background-size: 48px 48px; }
.nr-hero__in { position: relative; z-index: 2; padding-top: calc(var(--gap) * 1.2); padding-bottom: calc(var(--gap) * 1.2); }
.nr-hero .eyebrow { display: flex; align-items: center; gap: 10px; }
.nr-hero .eyebrow::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 12px var(--teal); animation: nr-blink 2s step-end infinite; }
body[data-concept="05"] .nr-hero h1 { font-size: clamp(56px, 11vw, 168px); line-height: .9; margin: 0 0 .25em; text-shadow: 0 0 40px rgba(var(--nr-a),.25); }
.nr-hero .lede { max-width: 34ch; font-size: max(14px, clamp(17px, 1.4vw, 22px)); color: var(--bs-body-color); }
.nr-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 22px; }
.nr-hero__trust { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; color: var(--bs-primary-text-emphasis); }
.nr-hero__trust span[aria-hidden] { color: var(--bs-secondary-color); }
.nr-hero__corner { margin: 26px 0 0; display: inline-grid; gap: 2px; padding: 10px 14px; border: 1px solid rgba(var(--nr-a1),.35); border-radius: 6px; background: rgba(var(--nr-g),.6); color: var(--bs-secondary-color); line-height: 1.4; }
.nr-hero__corner b { color: var(--nr-volt); font-weight: 500; font-size: max(14px, 1.25rem); letter-spacing: .06em; }
.nr-sonar { position: absolute; z-index: 0; aspect-ratio: 1; pointer-events: none; left: 50%; top: 50%; width: 125vw; transform: translate(-50%, -50%); opacity: .55; }
.nr-sonar__grid { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(var(--nr-a1),.4); background: repeating-radial-gradient(circle closest-side, transparent 0, transparent calc(25% - 1px), rgba(var(--nr-a1),.22) calc(25% - 1px), rgba(var(--nr-a1),.22) 25%), linear-gradient(rgba(var(--nr-a1),.22), rgba(var(--nr-a1),.22)) center / 1px 100% no-repeat, linear-gradient(rgba(var(--nr-a1),.22), rgba(var(--nr-a1),.22)) center / 100% 1px no-repeat; }
.nr-sonar__ring { position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--nr-acc); opacity: 0; animation: nr-ping 4s cubic-bezier(.2, .6, .3, 1) infinite; }
.nr-sonar__ring:nth-child(3) { animation-delay: 1.33s; }
.nr-sonar__ring:nth-child(4) { animation-delay: 2.66s; }
.nr-sonar__sweep { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, transparent 0deg 285deg, rgba(var(--nr-a),.03) 285deg, rgba(var(--nr-a),.42) 360deg); animation: nr-rotate 6s linear infinite; }
.nr-sonar__dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--nr-acc); box-shadow: 0 0 10px var(--nr-acc); animation: nr-blink 6s step-end infinite; }
.nr-sonar__dot:nth-of-type(1) { left: 62%; top: 30%; }
.nr-sonar__dot:nth-of-type(2) { left: 36%; top: 64%; animation-delay: 2s; }
.nr-sonar__dot:nth-of-type(3) { left: 70%; top: 70%; animation-delay: 4s; }
@keyframes nr-ping { 0% { transform: scale(.12); opacity: .95; } 100% { transform: scale(1); opacity: 0; } }
@keyframes nr-rotate { to { transform: rotate(360deg); } }
@keyframes nr-blink { 0%, 60% { opacity: 1; } 61%, 100% { opacity: .15; } }
.nr-sonar--sm { width: min(120vw, 620px); opacity: .5; }

/* Conditions band (signature mechanic) */
.nr-cond[data-bs-theme] { background: var(--nr-bg2); border-top: 1px solid rgba(var(--nr-a1),.3); border-bottom: 1px solid rgba(var(--nr-a1),.3); }
.nr-cond__in { width: min(1240px, 100% - 32px); margin-inline: auto; padding: 18px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.nr-cond__label { margin: 0; color: var(--bs-primary-text-emphasis); }
.nr-cond__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nr-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(var(--nr-a1),.45); background: rgba(var(--nr-g),.5); color: var(--bs-body-color); font-family: var(--mono); font-size: max(14px, .875rem); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .2s, border-color .2s, color .2s, box-shadow .2s; }
.nr-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--nr-acc); transition: background .2s; }
.nr-chip:hover { border-color: var(--nr-acc); background: rgba(var(--nr-a),.14); }
.nr-chip[aria-pressed="true"] { background: var(--teal); border-color: var(--teal); color: var(--ink); box-shadow: 0 0 20px rgba(var(--nr-a),.45); }
.nr-chip[aria-pressed="true"]::before { background: var(--nr-bg); border-color: var(--ink); }
.nr-chip--clear::before { display: none; }
.nr-chip--clear { border-style: dashed; color: var(--bs-secondary-color); }
.nr-cond__readout { margin: 0; margin-left: auto; color: var(--bs-primary-text-emphasis); }
.nr-cond__readout::before { content: ">"; margin-right: 8px; color: var(--nr-volt); }

/* Contacts (products) on a 48px plotter grid */
.nr-contacts[data-bs-theme] { position: relative; background-color: var(--nr-bg); background-image: linear-gradient(rgba(var(--nr-a),.1) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--nr-a),.1) 1px, transparent 1px); background-size: 48px 48px; background-position: center top; }
.nr-contacts .sec-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 24px; }
.nr-contacts .sec-head p { margin: 0; max-width: 46ch; }
.nr-contact { --bk: rgba(var(--nr-a),.55); position: relative; display: flex; flex-direction: column; height: 100%; padding: 18px; text-decoration: none; color: var(--bs-body-color); border-radius: 6px; --bs-card-bg: rgba(var(--nr-g2),.82); --bs-card-border-color: rgba(var(--nr-a),.18); --bs-card-border-radius: 6px; transform-style: preserve-3d; transition: transform .4s var(--ease), opacity .4s var(--ease), box-shadow .4s var(--ease); }
.nr-contact::before, .nr-contact::after, .nr-contact__frame::before, .nr-contact__frame::after { content: ""; position: absolute; width: 20px; height: 20px; border: 2px solid var(--bk); transition: border-color .3s, width .3s, height .3s; }
.nr-contact::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; border-top-left-radius: 4px; }
.nr-contact::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; border-bottom-right-radius: 4px; }
.nr-contact__frame { position: absolute; inset: 0; pointer-events: none; }
.nr-contact__frame::before { top: -1px; right: -1px; border-left: 0; border-bottom: 0; border-top-right-radius: 4px; }
.nr-contact__frame::after { bottom: -1px; left: -1px; border-right: 0; border-top: 0; border-bottom-left-radius: 4px; }
body[data-concept="05"] .nr-contact:hover { --bk: var(--nr-acc); transform: perspective(900px) rotateX(4deg) rotateY(-6deg) translateY(-6px); box-shadow: 0 24px 44px rgba(var(--nr-sh),.5), 0 0 0 1px rgba(var(--nr-a),.4), 0 0 30px rgba(var(--nr-a),.2); }
.nr-contact:hover::before, .nr-contact:hover::after, .nr-contact:hover .nr-contact__frame::before, .nr-contact:hover .nr-contact__frame::after { width: 32px; height: 32px; }
.nr-contact__tag { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 10px; color: var(--bs-primary-text-emphasis); white-space: nowrap; }
.nr-contact__tag .badge { margin-left: 4px; }
.nr-contact__img { position: relative; aspect-ratio: 1; display: grid; place-items: center; margin: 0 0 12px; border-radius: 4px; background: radial-gradient(circle at 50% 60%, rgba(var(--nr-a),.16), transparent 62%); }
.nr-contact__img img { width: 82%; height: 82%; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(var(--nr-sh),.55)); transition: transform .4s var(--ease); }
.nr-contact:hover .nr-contact__img img { transform: translateZ(30px) scale(1.04); }
.nr-contact h3 { font-size: max(14px, clamp(22px, 1.8vw, 28px)); margin: 0 0 6px; }
.nr-contact__meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 10px; border-top: 1px dashed rgba(var(--nr-a1),.25); }
.nr-contact__stock { color: var(--bs-secondary-color); }
.nr-contact__go { display: inline-flex; align-items: center; gap: 6px; color: var(--bs-primary-text-emphasis); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: max(14px, .875rem); }
.nr-contact__go svg { width: 16px; height: 16px; transition: transform .3s var(--ease); }
.nr-contact:hover .nr-contact__go svg { transform: translateX(4px); }
.nr-contact .price ins { color: var(--bs-body-color); font-weight: 700; }
body.has-cond .nr-contact { opacity: .4; }
body.has-cond .nr-contact.is-match { --bk: var(--nr-acc); opacity: 1; box-shadow: 0 0 0 1px rgba(var(--nr-a),.5), 0 0 34px rgba(var(--nr-a),.35); }
body.has-cond .nr-contact.is-match::before, body.has-cond .nr-contact.is-match::after, body.has-cond .nr-contact.is-match .nr-contact__frame::before, body.has-cond .nr-contact.is-match .nr-contact__frame::after { width: 28px; height: 28px; box-shadow: 0 0 10px rgba(var(--nr-a1),.6); }

/* Range rings (regions) */
.nr-regions[data-bs-theme] { background: var(--nr-bg2); position: relative; overflow: hidden; }
.nr-regions .sec-head p { max-width: 58ch; }
.nr-range { position: relative; width: 100%; border-radius: 12px; border: 1px solid rgba(var(--nr-a1),.4); background: repeating-radial-gradient(circle closest-side, transparent 0, transparent calc(16.66% - 1px), rgba(var(--nr-a1),.22) calc(16.66% - 1px), rgba(var(--nr-a1),.22) 16.66%), linear-gradient(rgba(var(--nr-a1),.22), rgba(var(--nr-a1),.22)) center / 1px 100% no-repeat, linear-gradient(rgba(var(--nr-a1),.22), rgba(var(--nr-a1),.22)) center / 100% 1px no-repeat; }
.nr-range__grid { list-style: none; margin: 0; padding: 14px; display: grid; grid-template-columns: 1fr; gap: 8px; }
.nr-rg { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 10px 14px; border-radius: 8px; border: 1px solid rgba(var(--nr-a1),.3); background: rgba(var(--nr-g),.78); color: var(--bs-body-color); text-decoration: none; transition: border-color .25s, background .25s, box-shadow .25s, transform .25s var(--ease); }
.nr-rg b { font-family: Anton, "Arial Narrow", sans-serif; font-weight: 400; text-transform: uppercase; font-size: max(14px, clamp(17px, 1.5vw, 21px)); line-height: .95; letter-spacing: .01em; }
.nr-rg .mono { color: var(--bs-secondary-color); }
.nr-rg:hover, .nr-rg:focus-visible, .nr-rg.is-active { border-color: var(--nr-acc); background: rgba(var(--nr-a),.18); box-shadow: 0 0 24px rgba(var(--nr-a),.3); color: var(--bs-body-color); }
.nr-range__out { position: relative; margin-top: 16px; min-height: 230px; padding: 20px; border-radius: 8px; border: 1px solid rgba(var(--nr-a1),.35); background: rgba(var(--nr-g),.72); }
.nr-range__out::before { content: "RANGE / PORTS"; display: block; font-family: var(--mono); font-size: max(14px, .875rem); letter-spacing: .14em; color: var(--bs-primary-text-emphasis); margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(var(--nr-a1),.25); }
.nr-ports { display: none; margin: 0; }
.nr-ports.is-active, .nr-regions:not(.has-active) .nr-ports--default { display: block; }
.nr-regions:has(.nr-rg:hover) .nr-ports--default, .nr-regions:has(.nr-rg:hover) .nr-ports.is-active { display: none; }
.nr-regions:has(.nr-rg[data-r="1"]:hover) .nr-ports[data-r="1"], .nr-regions:has(.nr-rg[data-r="2"]:hover) .nr-ports[data-r="2"], .nr-regions:has(.nr-rg[data-r="3"]:hover) .nr-ports[data-r="3"], .nr-regions:has(.nr-rg[data-r="4"]:hover) .nr-ports[data-r="4"], .nr-regions:has(.nr-rg[data-r="5"]:hover) .nr-ports[data-r="5"], .nr-regions:has(.nr-rg[data-r="6"]:hover) .nr-ports[data-r="6"], .nr-regions:has(.nr-rg[data-r="7"]:hover) .nr-ports[data-r="7"], .nr-regions:has(.nr-rg[data-r="8"]:hover) .nr-ports[data-r="8"], .nr-regions:has(.nr-rg[data-r="9"]:hover) .nr-ports[data-r="9"] { display: block; }
.nr-ports h3 { font-size: max(14px, clamp(24px, 2.4vw, 34px)); margin: 0 0 8px; }
.nr-ports__list { margin: 0 0 12px; color: var(--bs-body-color); line-height: 1.9; }
.nr-ports__list span { display: inline-block; margin-right: 10px; }
.nr-ports__list span::before { content: "+"; color: var(--nr-acc); margin-right: 6px; }
.nr-ports p { margin: 0 0 10px; color: var(--bs-secondary-color); }
.nr-ports__links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.nr-ports__links a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 600; }
.nr-ports__links svg { width: 16px; height: 16px; }
.nr-regions__foot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 22px; }

/* Story: typewriter in volt mono, then Anton */
.nr-story[data-bs-theme] { background: var(--nr-bg); position: relative; overflow: hidden; }
.nr-story__fish { position: absolute; right: -4%; bottom: 4%; width: min(60vw, 540px); opacity: .12; pointer-events: none; }
.nr-type { margin: 0 0 1.4rem; font-family: var(--mono); color: var(--nr-volt); font-size: max(14px, clamp(16px, 2vw, 26px)); text-transform: uppercase; letter-spacing: 0; line-height: 1.35; }
.nr-type span { display: block; overflow: hidden; white-space: nowrap; width: 0; animation: nr-type 1.3s steps(var(--n)) forwards; }
.nr-type span:nth-child(2) { animation-delay: 1.4s; }
.nr-type span:nth-child(3) { animation-delay: 2.8s; border-right: .6ch solid var(--nr-volt); animation: nr-type 1.3s steps(var(--n)) 2.8s forwards, nr-caret 1s step-end 4.1s infinite; }
@keyframes nr-type { to { width: calc(var(--n) * 1ch + 2px); } }
@keyframes nr-caret { 50% { border-color: transparent; } }
.nr-story__disp { font-size: max(14px, clamp(30px, 4.4vw, 60px)); margin: 0 0 1rem; max-width: 18ch; }
.nr-story__disp em { font-style: normal; color: var(--bs-primary-text-emphasis); }
.nr-story__lines { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.nr-story__lines li { font-family: var(--mono); font-size: max(14px, .875rem); letter-spacing: .08em; text-transform: uppercase; padding: 8px 12px; border: 1px solid rgba(var(--nr-a1),.35); border-radius: 4px; color: var(--bs-primary-text-emphasis); }
.nr-story__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.nr-story__photos figure { margin: 0; position: relative; border-radius: 6px; overflow: hidden; border: 1px solid rgba(var(--nr-a1),.3); }
.nr-story__photos img { width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; }
.nr-story__photos figcaption { position: absolute; left: 10px; bottom: 10px; padding: 6px 10px; background: rgba(var(--nr-g),.78); border: 1px solid rgba(var(--nr-a1),.35); border-radius: 4px; color: var(--bs-primary-text-emphasis); }
.nr-story__photos figure:nth-child(2) { transform: translateY(32px); }

/* Journal as a terminal */
.nr-journal[data-bs-theme] { background: var(--nr-bg2); }
.nr-term { list-style: none; margin: 0; padding: 12px 0; font-family: var(--mono); border: 1px solid rgba(var(--nr-a1),.35); border-radius: 8px; background: rgba(var(--nr-g),.72); }
.nr-term__bar { display: flex; gap: 8px; align-items: center; padding: 4px 18px 12px; margin-bottom: 6px; border-bottom: 1px solid rgba(var(--nr-a1),.25); color: var(--bs-secondary-color); }
.nr-term__bar i { width: 10px; height: 10px; border-radius: 50%; border: 1px solid var(--nr-acc); }
.nr-term__bar i:first-child { background: var(--teal); border-color: var(--teal); }
.nr-term li a { display: flex; gap: 14px; align-items: baseline; min-height: 48px; padding: 12px 18px; text-decoration: none; color: var(--bs-body-color); font-size: max(14px, 1rem); transition: background .2s, color .2s; }
.nr-term li a:hover, .nr-term li a:focus-visible { background: rgba(var(--nr-a),.14); color: var(--bs-primary-text-emphasis); }
.nr-term__p { color: var(--nr-acc); flex: none; }
.nr-term__i { color: var(--bs-secondary-color); flex: none; font-size: max(14px, .875rem); }
.nr-term__cursor { padding: 10px 18px 4px; color: var(--nr-acc); }
.nr-term__cursor::after { content: ""; display: inline-block; width: .6em; height: 1em; margin-left: 8px; vertical-align: -.15em; background: var(--nr-acc); animation: nr-blink2 1s step-end infinite; }
@keyframes nr-blink2 { 50% { opacity: 0; } }

/* Community in night mode */
.nr-crew[data-bs-theme] { background: var(--nr-bg); }
.nr-crew__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.nr-cam { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 6px; background: var(--nr-bg2); border: 1px solid rgba(var(--nr-a1),.3); }
.nr-cam img { width: 100%; height: 100%; object-fit: cover; display: block; mix-blend-mode: luminosity; opacity: .9; transition: opacity .4s var(--ease), transform .5s var(--ease); }
.nr-cam:hover img, .nr-cam:focus-visible img { mix-blend-mode: normal; opacity: 1; transform: scale(1.03); }
.nr-cam__tag { position: absolute; left: 8px; top: 8px; z-index: 1; padding: 4px 8px; border-radius: 4px; background: rgba(var(--nr-g),.78); border: 1px solid rgba(var(--nr-a1),.35); color: var(--nr-acc); }
.nr-cam__go { position: absolute; left: 8px; right: 8px; bottom: 8px; z-index: 1; padding: 6px 10px; border-radius: 4px; background: rgba(var(--nr-g),.82); color: var(--bs-body-color); font-weight: 600; font-size: max(14px, .875rem); opacity: 0; transform: translateY(6px); transition: opacity .3s, transform .3s var(--ease); }
.nr-cam:hover .nr-cam__go, .nr-cam:focus-visible .nr-cam__go { opacity: 1; transform: none; }
.nr-cam__scan { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(var(--nr-a1),.5); animation: nr-camscan 7s linear infinite; pointer-events: none; }
@keyframes nr-camscan { to { transform: translateY(600px); } }

/* Final CTA */
.nr-final[data-bs-theme] { position: relative; overflow: hidden; background: var(--nr-bg2); text-align: center; isolation: isolate; }
.nr-final .nr-sonar { z-index: -1; }
.nr-final h2 { font-size: max(14px, clamp(44px, 7vw, 110px)); line-height: .9; margin: 0 0 .3em; }
.nr-final p { max-width: 44ch; margin: 0 auto 1.4rem; }
.nr-final__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* Footer on ink-2 */
.nr-footer[data-bs-theme] { background: var(--nr-bg3); border-top: 1px solid rgba(var(--nr-a1),.25); }
.nr-footer__logo img { height: 22px; width: auto; }
.nr-footer h4 { font-size: max(14px, .875rem); font-family: var(--mono) !important; font-weight: 500 !important; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-primary-text-emphasis); margin: 0 0 10px; }
.nr-footer ul { list-style: none; margin: 0; padding: 0; }
.nr-footer ul a { color: var(--bs-body-color); text-decoration: none; display: inline-block; padding: 6px 0; }
.nr-footer ul a:hover { color: var(--bs-primary-text-emphasis); }
.nr-footer__fine { margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(var(--nr-a1),.2); display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: space-between; color: var(--bs-secondary-color); }
.nr-footer__fine a { color: var(--bs-secondary-color); }
.nr-footer__fine a:hover { color: var(--bs-primary-text-emphasis); }
.nr-footer__fine ul { display: flex; flex-wrap: wrap; gap: 6px 16px; }

/* Desktop layers on */
@media (min-width: 768px) {
  .nr-hero__corner { position: absolute; right: 24px; bottom: 24px; margin: 0; text-align: right; }
  .nr-crew__grid { grid-template-columns: repeat(4, 1fr); }
  .nr-regions__wrap { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 24px; align-items: start; }
  .nr-range { aspect-ratio: 1; width: min(100%, 640px); border-radius: 50%; margin-inline: auto; }
  .nr-range__grid { position: absolute; inset: 7%; padding: 0; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 8px; }
  .nr-rg { flex-direction: column; justify-content: center; text-align: center; padding: 10px 8px; gap: 6px; }
  .nr-rg:hover, .nr-rg:focus-visible, .nr-rg.is-active { transform: scale(1.04); }
  .nr-range__out { margin-top: 0; min-height: 320px; }
  .nr-story__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: center; }
  .nr-story__photos { margin-top: 0; }
}
@media (min-width: 992px) {
  .nr-sonar { left: auto; right: max(2vw, calc(50% - 640px)); width: min(52vw, 640px); transform: translateY(-50%); opacity: 1; }
  .nr-hero__corner { right: calc(max(2vw, 50% - 640px) + 8px); }
}

/* Static fallback: every keyframe in this file lands on its end state */
@media (prefers-reduced-motion: reduce) {
  .nr-sonar__ring, .nr-sonar__sweep, .nr-sonar__dot, .nr-hero .eyebrow::before, .nr-type span, .nr-term__cursor::after, .nr-cam__scan, .nr-hud__scan { animation: none !important; }
  .nr-sonar__ring { opacity: .3; transform: scale(.6); }
  .nr-sonar__ring:nth-child(3) { transform: scale(.85); }
  .nr-sonar__ring:nth-child(4) { transform: none; }
  .nr-sonar__sweep { opacity: .5; }
  .nr-type span { width: auto; }
  .nr-type span:nth-child(3) { border-right: 0; }
  .nr-contact:hover, .nr-rg:hover { transform: none; }
}


/* ================================================================ 05 Night Run, interiors */
body[data-concept="05"] [hidden] { display: none !important; }
body[data-concept="05"] .btn { white-space: nowrap; }
body[data-concept="05"] main { background: var(--nr-bg); }

/* Bracket frame: four corners drawn with background images, no extra markup */
.nr-bk { --bc: rgba(var(--nr-a1),.75); --bl: 18px; --bw: 2px; position: relative;
  background-image: linear-gradient(var(--bc), var(--bc)), linear-gradient(var(--bc), var(--bc)), linear-gradient(var(--bc), var(--bc)), linear-gradient(var(--bc), var(--bc)),
    linear-gradient(var(--bc), var(--bc)), linear-gradient(var(--bc), var(--bc)), linear-gradient(var(--bc), var(--bc)), linear-gradient(var(--bc), var(--bc));
  background-repeat: no-repeat;
  background-size: var(--bl) var(--bw), var(--bw) var(--bl), var(--bl) var(--bw), var(--bw) var(--bl), var(--bl) var(--bw), var(--bw) var(--bl), var(--bl) var(--bw), var(--bw) var(--bl);
  background-position: 0 0, 0 0, 100% 0, 100% 0, 0 100%, 0 100%, 100% 100%, 100% 100%; }

/* HUD readout band under the shared nav */
.nr-ro[data-bs-theme] { position: relative; background: var(--nr-bg); border-bottom: 1px solid rgba(var(--nr-a),.35); }
.nr-ro__in { width: min(1440px, 100% - 32px); margin-inline: auto; min-height: 44px; display: flex; align-items: center; gap: 6px 14px; overflow: hidden; color: var(--bs-secondary-color); white-space: nowrap; }
.nr-ro__id { display: inline-flex; align-items: center; gap: 8px; color: var(--nr-acc); flex: none; }
.nr-ro__id i { width: 8px; height: 8px; border-radius: 50%; background: var(--volt); box-shadow: 0 0 10px var(--volt); animation: nr-blink 2s step-end infinite; }
.nr-ro__seg { color: var(--bs-body-color); min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.nr-ro__seg--x, .nr-ro__facts, .nr-ro__clk, .nr-ro__sub { display: none; }
.nr-ro i { font-style: normal; }
.nr-ro__facts i, .nr-ro__cart i { color: var(--bs-secondary-color); }
.nr-ro__clk b { color: var(--nr-volt); font-weight: 500; }
.nr-ro__cart { margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--bs-primary-text-emphasis); text-decoration: none; }
.nr-ro__cart b { color: var(--bs-body-color); font-weight: 500; }
.nr-ro__cart:hover { color: var(--bs-body-color); }
.nr-ro__rule { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; pointer-events: none; }
.nr-ro__scan { position: absolute; left: 0; top: 0; width: 160px; height: 2px; background: linear-gradient(90deg, transparent, var(--nr-acc), transparent); animation: nr-scan 8s linear infinite; }
@keyframes nr-scan { 0% { transform: translateX(-160px); } 100% { transform: translateX(100vw); } }
@media (min-width: 768px) { .nr-ro__seg--x, .nr-ro__clk, .nr-ro__sub { display: inline; } }
@media (min-width: 1200px) { .nr-ro__facts { display: inline; margin-left: auto; } .nr-ro__cart { margin-left: 0; } }

/* Breadcrumbs as a path readout */
.nr-crumbs { margin: 0 0 10px; }
.nr-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; color: var(--bs-secondary-color); }
.nr-crumbs li { display: inline-flex; align-items: center; min-width: 0; }
.nr-crumbs li:first-child::before { content: ">"; color: var(--nr-volt); margin-right: 8px; }
.nr-crumbs li + li::before { content: "/"; margin: 0 8px; color: var(--bs-secondary-color); }
.nr-crumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bs-primary-text-emphasis); text-decoration: none; }
.nr-crumbs a:hover { color: var(--bs-body-color); text-decoration: underline; }
.nr-crumbs span[aria-current] { display: inline-block; max-width: min(42ch, 64vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--bs-body-color); vertical-align: bottom; }

/* Screen title band */
.nr-ph[data-bs-theme] { position: relative; overflow: hidden; isolation: isolate; background: var(--nr-bg); border-bottom: 1px solid rgba(var(--nr-a),.25); }
.nr-ph__grid { position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgba(var(--nr-a),.08) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--nr-a),.08) 1px, transparent 1px); background-size: 48px 48px; }
.nr-ph__in { position: relative; padding-top: clamp(14px, 2.4vw, 28px); padding-bottom: clamp(32px, 5vw, 64px); }
.nr-ph__box { max-width: 980px; padding: clamp(18px, 3vw, 36px); background-color: rgba(var(--nr-g),.55); }
.nr-ph h1 { font-size: clamp(44px, 8vw, 120px); line-height: .9; margin: 0 0 .2em; text-shadow: 0 0 40px rgba(var(--nr-a),.25); }
.nr-ph h1.nr-h1-art { font-size: clamp(36px, 5.2vw, 78px); line-height: .92; }
.nr-ph .lede { max-width: 58ch; margin: 0; color: var(--bs-body-color); }
.nr-ph .lede a { color: var(--nr-acc); }
.nr-ph .eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.nr-ph .eyebrow::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 12px var(--teal); }
.nr-sonar.nr-sonar--ph { left: auto; right: -40vw; top: 50%; width: 90vw; transform: translateY(-50%); opacity: .3; z-index: -1; }
@media (min-width: 992px) { .nr-sonar.nr-sonar--ph { right: max(-4vw, calc(50% - 760px)); width: min(46vw, 600px); opacity: .75; } }
.nr-ph__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; }
.nr-ph__scrim { position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(var(--nr-g),.84) 0%, rgba(var(--nr-g),.7) 55%, rgba(var(--nr-g),.96) 100%), linear-gradient(90deg, rgba(var(--nr-g),.75) 0%, rgba(var(--nr-g),.1) 80%); }
.nr-ph--img .nr-ph__in { padding-top: clamp(20px, 5vw, 80px); padding-bottom: clamp(44px, 8vw, 120px); }
.nr-ph--quiet .nr-ph__box { --bc: rgba(var(--nr-a1),.35); background-color: transparent; }
.nr-ph--quiet h1 { font-size: clamp(40px, 6vw, 84px); text-shadow: none; }
.nr-ph--search .nr-ph__box { max-width: 1000px; }

/* Section heads */
.nr-sh { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 24px; }
.nr-sh h2 { margin: 0; }
.nr-sh .lede { max-width: 56ch; margin-top: 10px; }
.nr-h3 { font-size: clamp(26px, 2.6vw, 36px); margin: 0 0 12px; }
.nr-h2s { font-size: clamp(30px, 3.4vw, 46px); margin: 0 0 16px; }
.wrap.nr-narrow { width: min(860px, 100% - 32px); }

/* Grounds */
.nr-plot[data-bs-theme], .nr-contactsec[data-bs-theme], .nr-mfsec[data-bs-theme], .nr-results[data-bs-theme] { background-color: var(--nr-bg); background-image: linear-gradient(rgba(var(--nr-a),.08) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--nr-a),.08) 1px, transparent 1px); background-size: 48px 48px; }
.nr-rband[data-bs-theme], .nr-spec[data-bs-theme], .nr-wear[data-bs-theme], .nr-timeline[data-bs-theme], .nr-runband[data-bs-theme] { background: var(--nr-bg2); }
.nr-notes[data-bs-theme], .nr-essay[data-bs-theme], .nr-rintro[data-bs-theme], .nr-faqs[data-bs-theme], .nr-doc[data-bs-theme], .nr-article[data-bs-theme], .nr-cover[data-bs-theme], .nr-chapters[data-bs-theme] { background: var(--nr-bg); }
.nr-pnband[data-bs-theme] { background: var(--nr-bg3); border-top: 1px solid rgba(var(--nr-a1),.2); }
.nr-rband[data-bs-theme], .nr-spec[data-bs-theme] { border-top: 1px solid rgba(var(--nr-a1),.25); }

/* Panels and prose */
.nr-panel { position: relative; background-color: rgba(var(--nr-g),.72); border: 1px solid rgba(var(--nr-a1),.2); border-radius: 6px; padding: clamp(18px, 2.4vw, 28px); }
.nr-panel .eyebrow { margin-bottom: .5rem; }
.nr-panel--log { background-color: rgba(var(--nr-g),.82); }
.nr-panel__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.nr-prose { font-family: Barlow, Arial, sans-serif; font-size: 17px; line-height: 1.65; color: var(--bs-body-color); }
.nr-prose > * { max-width: 68ch; }
.nr-prose p, .nr-prose ul, .nr-prose ol { margin: 0 0 1.1em; }
.nr-prose > :last-child { margin-bottom: 0; }
.nr-prose h2 { font-size: clamp(28px, 3vw, 40px); margin: 1.5em 0 .5em; }
.nr-prose h3 { font-size: clamp(22px, 2.2vw, 28px); margin: 1.4em 0 .45em; color: var(--bs-primary-text-emphasis); }
.nr-prose h2:first-child, .nr-prose h3:first-child { margin-top: 0; }
.nr-prose a { color: var(--nr-acc); text-underline-offset: 3px; }
.nr-prose a:hover { color: var(--bs-body-color); }
.nr-prose strong { font-weight: 700; color: var(--nr-hi); }
.nr-prose ul { list-style: none; padding-left: 0; }
.nr-prose ul > li { position: relative; padding-left: 1.5em; margin-bottom: .45em; }
.nr-prose ul > li::before { content: "+"; position: absolute; left: 0; color: var(--nr-acc); font-family: var(--mono); }
.nr-prose ol { padding-left: 1.5em; }
.nr-prose ol > li { margin-bottom: .45em; }
.nr-prose ol > li::marker { color: var(--nr-acc); font-family: var(--mono); }
.nr-prose blockquote { margin: 0 0 1.1em; padding-left: 1em; border-left: 2px solid var(--teal); color: var(--bs-primary-text-emphasis); }
.nr-prose--log h2::before { content: ">"; margin-right: .35em; font-family: var(--mono); font-size: .62em; vertical-align: .14em; color: var(--nr-volt); }
.nr-prose--log h3::before { content: ">>"; margin-right: .4em; font-family: var(--mono); font-size: .62em; vertical-align: .12em; color: var(--nr-acc); }
.nr-prose--legal { font-size: 16px; }
.nr-prose--legal h2 { font-size: clamp(24px, 2.4vw, 32px); }
.nr-prose--legal h2::before { content: none; }
.nr-prose--panel h2 { font-size: clamp(26px, 2.6vw, 34px); }
.nr-table { max-width: 100%; overflow-x: auto; margin: 0 0 1.4em; border: 1px solid rgba(var(--nr-a1),.3); border-radius: 6px; background: rgba(var(--nr-g),.6); }
.nr-table table { margin: 0; min-width: 460px; --bs-table-bg: transparent; --bs-table-color: var(--bs-body-color); --bs-table-border-color: rgba(var(--nr-a1),.2); font-size: 16px; }
.nr-table caption { caption-side: top; padding: 10px 14px; font-family: var(--mono); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--bs-primary-text-emphasis); border-bottom: 1px solid rgba(var(--nr-a1),.3); }
.nr-table th { font-family: var(--mono); font-weight: 500; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--nr-acc); white-space: nowrap; }
.nr-table th, .nr-table td { padding: 10px 14px; }
.nr-table tr:nth-child(even) > td { background: rgba(var(--nr-a),.06); }

/* Product contacts (interior cards) */
.nr-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 576px) { .nr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .nr-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nr-pc { --bs-card-bg: rgba(var(--nr-g2),.88); --bs-card-border-color: rgba(var(--nr-a),.2); }
.nr-pc .nr-contact__tag { white-space: normal; flex-wrap: wrap; align-items: center; }
.nr-pc__img { overflow: hidden; text-decoration: none; }
.nr-pc__img img { grid-area: 1 / 1; }
.nr-contact__img img.nr-pc__alt { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; opacity: 0; filter: none; transition: opacity .35s var(--ease); }
.nr-pc__img:hover img.nr-pc__alt { opacity: 1; }
.nr-pc__t { font-size: max(14px, clamp(22px, 1.8vw, 28px)); margin: 0 0 8px; }
.nr-pc__t a { color: var(--bs-body-color); text-decoration: none; }
.nr-pc__t a:hover { color: var(--bs-primary-text-emphasis); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.nr-pc__act { margin-top: 14px; }
.nr-pc__btn { width: 100%; }
.nr-pc .nr-contact__stock { text-align: right; }
.nr-pc.is-out .nr-pc__main { filter: grayscale(1) brightness(.75) drop-shadow(0 18px 24px rgba(var(--nr-sh),.55)); }
body[data-concept="05"] .nr-pc:hover { transform: none; box-shadow: none; --bk: rgba(var(--nr-a),.55); }
body[data-concept="05"] .nr-pc:hover::before, body[data-concept="05"] .nr-pc:hover::after, body[data-concept="05"] .nr-pc:hover .nr-contact__frame::before, body[data-concept="05"] .nr-pc:hover .nr-contact__frame::after { width: 20px; height: 20px; }
body[data-concept="05"] .nr-pc:hover .nr-contact__img img { transform: none; }
body[data-concept="05"] .nr-pc:has(.nr-pc__img:hover, .nr-pc__t a:hover) { --bk: var(--nr-acc); transform: perspective(900px) rotateX(3deg) rotateY(-5deg) translateY(-5px); box-shadow: 0 24px 44px rgba(var(--nr-sh),.5), 0 0 0 1px rgba(var(--nr-a),.4), 0 0 30px rgba(var(--nr-a),.2); }
body[data-concept="05"] .nr-pc:has(.nr-pc__img:hover, .nr-pc__t a:hover)::before, body[data-concept="05"] .nr-pc:has(.nr-pc__img:hover, .nr-pc__t a:hover)::after { width: 32px; height: 32px; }
body[data-concept="05"] .nr-pc:has(.nr-pc__img:hover) .nr-pc__main { transform: scale(1.05); }
body.has-cond .nr-pc.is-match { opacity: 1; }
.nr-out { display: inline-flex; align-items: center; padding: 2px 8px; border: 1px dashed var(--bs-secondary-color); border-radius: 4px; color: var(--bs-body-color); }
.nr-dot-out { display: inline-block; width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--bs-secondary-color); margin-right: .4em; vertical-align: middle; }
[data-add].is-added { box-shadow: 0 0 0 2px var(--volt), 0 0 24px rgba(var(--nr-v),.5); }
.nr-contacts--coll { padding-top: 0; }
.nr-none { margin: 18px 0 0; padding: 16px; border: 1px dashed rgba(var(--nr-a1),.5); border-radius: 6px; color: var(--bs-body-color); }

/* Collection controls: the Conditions filter, sort and stock toggle */
.nr-cond--coll .nr-cond__in { gap: 10px 18px; }
@media (min-width: 992px) { .nr-cond.nr-cond--coll { position: sticky; top: var(--rn-h); z-index: 30; } }
.nr-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.nr-sel { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: var(--bs-primary-text-emphasis); }
.nr-sel .form-select { width: auto; min-height: 44px; font-size: 16px; background-color: rgba(var(--nr-g),.7); border-color: rgba(var(--nr-a1),.45); color: var(--bs-body-color); }
.nr-sel .form-select:hover { border-color: var(--nr-acc); }
.nr-sw { position: relative; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; cursor: pointer; color: var(--bs-body-color); }
.nr-sw input { position: absolute; left: 0; top: 50%; width: 46px; height: 26px; margin: -13px 0 0; opacity: 0; cursor: pointer; }
.nr-sw__t { position: relative; width: 46px; height: 26px; border-radius: 999px; border: 1px solid rgba(var(--nr-a1),.6); background: rgba(var(--nr-g),.6); transition: background .2s, border-color .2s; }
.nr-sw__t::after { content: ""; position: absolute; top: 4px; left: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--bs-secondary-color); transition: transform .25s var(--ease), background .2s; }
.nr-sw:hover .nr-sw__t { border-color: var(--nr-acc); }
.nr-sw input:checked + .nr-sw__t { background: var(--teal); border-color: var(--teal); }
.nr-sw input:checked + .nr-sw__t::after { transform: translateX(20px); background: var(--nr-bg); }
.nr-sw input:focus-visible + .nr-sw__t { outline: 3px solid var(--teal); outline-offset: 3px; }
.nr-chip { flex: none; white-space: nowrap; }

/* Tabs and chips */
.nr-tabs-wrap { margin-top: 18px; }
.nr-tabs { list-style: none; margin: 0; padding: 0 0 6px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; }
.nr-tabs--wrap { flex-wrap: wrap; overflow: visible; }
.nr-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid rgba(var(--nr-a1),.35); border-radius: 4px; background: rgba(var(--nr-g),.55); color: var(--bs-body-color); text-decoration: none; white-space: nowrap; transition: border-color .2s, background .2s, color .2s; }
.nr-tab span { color: var(--bs-secondary-color); }
.nr-tab:hover { border-color: var(--nr-acc); background: rgba(var(--nr-a),.14); }
.nr-tab[aria-current] { background: var(--teal); border-color: var(--teal); color: var(--ink); }
.nr-tab[aria-current] span { color: var(--ink); }

/* Region band */
.nr-rbs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
@media (min-width: 576px) { .nr-rbs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .nr-rbs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nr-rb { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 56px; padding: 10px 14px; border: 1px solid rgba(var(--nr-a1),.3); border-radius: 6px; background: rgba(var(--nr-g),.6); color: var(--bs-body-color); text-decoration: none; transition: border-color .25s, background .25s, box-shadow .25s; }
.nr-rb b { font-family: Anton, "Arial Narrow", sans-serif; font-weight: 400; text-transform: uppercase; font-size: max(14px, clamp(18px, 1.6vw, 22px)); line-height: 1; }
.nr-rb__n { color: var(--nr-acc); }
.nr-rb__p { color: var(--bs-secondary-color); }
.nr-rb:hover, .nr-rb[aria-current] { border-color: var(--nr-acc); background: rgba(var(--nr-a),.16); box-shadow: 0 0 24px rgba(var(--nr-a),.25); }

/* Collections index */
.nr-colls { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 768px) { .nr-colls { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .nr-colls { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nr-coll { display: flex; flex-direction: column; height: 100%; padding: 14px; border: 1px solid rgba(var(--nr-a),.18); border-radius: 6px; background-color: rgba(var(--nr-g2),.88); color: var(--bs-body-color); text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.nr-coll__n { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 8px; color: var(--bs-primary-text-emphasis); }
.nr-coll__img { aspect-ratio: 1; display: grid; place-items: center; margin: 8px 0; background: radial-gradient(circle at 50% 60%, rgba(var(--nr-a),.18), transparent 62%); }
.nr-coll__img img { width: 78%; height: 78%; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(var(--nr-sh),.5)); transition: transform .4s var(--ease); }
.nr-coll__t { font-family: Anton, "Arial Narrow", sans-serif; font-weight: 400; text-transform: uppercase; font-size: max(14px, clamp(22px, 2vw, 30px)); line-height: .95; }
.nr-coll__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 10px; color: var(--bs-primary-text-emphasis); }
.nr-coll__go svg { width: 16px; height: 16px; transition: transform .3s var(--ease); }
.nr-coll:hover { --bc: var(--volt); border-color: rgba(var(--nr-a1),.6); transform: translateY(-4px); box-shadow: 0 0 30px rgba(var(--nr-a),.25); }
.nr-coll:hover .nr-coll__img img { transform: scale(1.06); }
.nr-coll:hover .nr-coll__go svg { transform: translateX(4px); }

/* Product page */
.nr-pdp[data-bs-theme] { position: relative; isolation: isolate; background: var(--nr-bg); border-bottom: 1px solid rgba(var(--nr-a),.25); }
.nr-pdp .nr-ph__grid { z-index: -1; }
.nr-pdp__wrap { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "gal" "buy"; gap: 14px; padding-top: 6px; padding-bottom: clamp(28px, 4vw, 56px); }
.nr-pdp__head { grid-area: head; min-width: 0; }
.nr-pdp__gal { grid-area: gal; min-width: 0; }
.nr-pdp__buy { grid-area: buy; min-width: 0; scroll-margin-top: calc(var(--rn-h) + 16px); }
@media (min-width: 992px) {
  .nr-pdp__wrap { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-areas: "gal head" "gal buy"; grid-template-rows: auto 1fr; column-gap: clamp(32px, 4vw, 60px); row-gap: 12px; padding-top: 18px; }
  .nr-pdp__buy { align-self: start; }
}
.nr-pdp__tag { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; margin: 0 0 8px; color: var(--bs-primary-text-emphasis); }
.nr-pdp h1 { font-size: clamp(36px, 4.4vw, 64px); line-height: .92; margin: 0 0 12px; }
.nr-pdp__price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 6px; }
.price.nr-price-lg { font-size: max(14px, clamp(20px, 2vw, 26px)); }
.nr-price-lg ins { color: var(--nr-hi); font-weight: 700; }
.nr-pdp__stock { margin: 0; color: var(--bs-body-color); }
.nr-stage { padding: 8px; border: 1px solid rgba(var(--nr-a),.2); border-radius: 8px; background-color: rgba(var(--nr-g2),.7); }
.nr-slide { position: relative; display: none; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 4px; }
.nr-slide.is-on, html.no-js .nr-slide { display: grid; place-items: center; }
html.no-js .nr-slide + .nr-slide { margin-top: 8px; }
@media (min-width: 576px) { .nr-slide { aspect-ratio: 1; } }
.nr-slide--cut { background: radial-gradient(circle at 50% 55%, rgba(var(--nr-a),.22), transparent 62%); }
.nr-slide__cut { position: relative; z-index: 1; width: 70%; height: 70%; object-fit: contain; filter: drop-shadow(0 24px 30px rgba(var(--nr-sh),.6)); animation: nr-bob 6s ease-in-out infinite; }
@keyframes nr-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.nr-slide--photo { background: #FFFFFF; }
.nr-slide--photo img { width: 100%; height: 100%; object-fit: contain; }
.nr-sonar.nr-sonar--pdp { left: 50%; right: auto; top: 50%; width: 94%; transform: translate(-50%, -50%); opacity: .85; z-index: 0; }
.nr-slide figcaption, .nr-hero-fig figcaption, .nr-ch__fig figcaption { position: absolute; left: 10px; top: 10px; z-index: 2; padding: 4px 8px; border: 1px solid rgba(var(--nr-a1),.35); border-radius: 4px; background: rgba(var(--nr-g),.82); color: var(--nr-acc); }
.nr-hero-fig figcaption, .nr-ch__fig figcaption { left: 18px; top: 18px; }
.nr-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 4px; }
.nr-thumb { flex: none; width: 60px; height: 60px; padding: 0; overflow: hidden; border: 1px solid rgba(var(--nr-a1),.3); border-radius: 4px; background: #FFFFFF; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.nr-thumb--cut { background: var(--nr-bg2); }
.nr-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.nr-thumb:hover { border-color: var(--nr-acc); }
.nr-thumb[aria-current="true"] { border: 2px solid var(--teal); box-shadow: 0 0 16px rgba(var(--nr-a),.55); }
@media (min-width: 576px) { .nr-thumb { width: 72px; height: 72px; } }
.nr-lbl { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; margin: 0 0 8px; padding: 0; color: var(--bs-primary-text-emphasis); }
.nr-sizes { min-width: 0; margin: 0 0 14px; padding: 0; border: 0; }
.nr-sizes legend { float: none; width: 100%; font-size: max(14px, .875rem); }
.nr-sizes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 576px) { .nr-sizes__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.nr-size { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 58px; margin: 0; padding: 6px 4px; border: 1px solid rgba(var(--nr-a1),.45); border-radius: 4px; background: rgba(var(--nr-g),.6); text-align: center; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s; }
.nr-size input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.nr-size__v { font-weight: 700; font-size: 17px; }
.nr-size__s { color: var(--bs-secondary-color); letter-spacing: .04em; }
.nr-size:hover { border-color: var(--nr-acc); background: rgba(var(--nr-a),.12); }
.nr-size:has(input:checked) { border-color: var(--teal); background: var(--teal); color: var(--ink); box-shadow: 0 0 20px rgba(var(--nr-a),.4); }
.nr-size:has(input:checked) .nr-size__s { color: var(--ink); }
.nr-size:has(input:focus-visible) { outline: 3px solid var(--teal); outline-offset: 3px; }
.nr-size.is-out, .nr-size.is-out:hover { border-style: dashed; border-color: rgba(var(--nr-gr),.5); background: transparent; color: var(--bs-secondary-color); cursor: not-allowed; }
.nr-size.is-out input { cursor: not-allowed; }
.nr-size.is-out .nr-size__v { text-decoration: line-through; }
.nr-size.is-out .nr-size__s { color: var(--nr-coral); }
.nr-sizelink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 4px; color: var(--nr-acc); }
.nr-sizelink svg { width: 16px; height: 16px; }
.nr-qtyrow { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.nr-qty .nr-lbl { margin-bottom: 6px; }
.nr-step { display: inline-flex; align-items: stretch; height: 56px; overflow: hidden; border: 1px solid rgba(var(--nr-a1),.45); border-radius: 4px; background: rgba(var(--nr-g),.6); }
.nr-step button { display: grid; place-items: center; width: 44px; padding: 0; border: 0; background: transparent; color: var(--bs-body-color); cursor: pointer; transition: background .2s; }
.nr-step button:hover { background: rgba(var(--nr-a),.18); }
.nr-step button svg { width: 16px; height: 16px; }
.nr-step input { width: 52px; border: 0; border-inline: 1px solid rgba(var(--nr-a1),.3); background: transparent; color: var(--bs-body-color); text-align: center; font-family: var(--mono); font-size: 17px; -moz-appearance: textfield; appearance: textfield; }
.nr-step input::-webkit-outer-spin-button, .nr-step input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.nr-step input:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }
.nr-add { flex: 1 1 200px; min-height: 56px; }
.nr-pdp__ship { margin: 14px 0 10px; color: var(--bs-body-color); }
.nr-trust { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.nr-trust li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid rgba(var(--nr-a1),.2); border-radius: 4px; background: rgba(var(--nr-g),.5); font-size: 15px; line-height: 1.25; }
.nr-trust__n { color: var(--nr-acc); }
.nr-soldout { padding: 18px; border: 1px dashed rgba(var(--nr-gr),.5); border-radius: 6px; background-color: rgba(var(--nr-g),.7); }
.nr-soldout__h { margin: 0 0 6px; color: var(--bs-body-color); }
.nr-spec__grid { display: grid; gap: 28px; }
@media (min-width: 992px) { .nr-spec__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); gap: 48px; align-items: start; } }
.nr-spec h2 { margin: 0 0 18px; }
.nr-accs { display: grid; gap: 8px; margin-top: 18px; }
.nr-acc { border: 1px solid rgba(var(--nr-a1),.3); border-radius: 6px; background: rgba(var(--nr-g),.62); }
.nr-acc summary { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 16px; font-weight: 700; font-size: 17px; line-height: 1.3; cursor: pointer; list-style: none; }
.nr-acc summary::-webkit-details-marker { display: none; }
.nr-acc summary::after { content: "+"; margin-left: auto; font-family: var(--mono); font-size: 20px; color: var(--nr-acc); transition: transform .25s var(--ease); }
.nr-acc[open] summary::after { transform: rotate(45deg); }
.nr-acc[open] { border-color: rgba(var(--nr-a1),.6); }
.nr-acc summary:hover { color: var(--bs-primary-text-emphasis); }
.nr-acc summary .mono { color: var(--nr-volt); }
.nr-acc > .nr-prose { padding: 0 16px 16px; }
.nr-built__list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; }
.nr-built__list a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 6px 10px; border: 1px solid rgba(var(--nr-a1),.2); border-radius: 4px; color: var(--bs-body-color); text-decoration: none; transition: background .2s, border-color .2s; }
.nr-built__list a .mono { color: var(--nr-acc); }
.nr-built__list a:hover { border-color: var(--nr-acc); background: rgba(var(--nr-a),.14); }
.nr-mbar-buy { align-items: center; }
.nr-mbar-price { flex: none; display: flex; align-items: center; }
.nr-mbar-price .price { display: flex; flex-direction: column; line-height: 1.2; }
.nr-mbar-price ins { color: var(--nr-hi); font-weight: 700; }
.nr-mcount { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--nr-bg); color: var(--nr-hi); font-family: var(--mono); font-size: 14px; letter-spacing: 0; }

/* Cart toast */
.nr-toast { position: fixed; right: 16px; bottom: 16px; z-index: 70; display: flex; align-items: center; gap: 12px; max-width: min(460px, calc(100% - 32px)); padding: 10px 14px; border: 1px solid var(--teal); border-radius: 6px; background: rgba(var(--nr-g),.96); box-shadow: 0 0 30px rgba(var(--nr-a),.35); opacity: 0; transform: translateY(140%); pointer-events: none; transition: transform .35s var(--ease), opacity .35s var(--ease); }
.nr-toast.is-on { opacity: 1; transform: none; pointer-events: auto; }
.nr-toast__p { flex: none; color: var(--nr-volt); }
.nr-toast a { flex: none; display: inline-flex; align-items: center; min-height: 44px; color: var(--nr-acc); font-weight: 700; white-space: nowrap; }
@media (max-width: 767.98px) { .nr-toast { left: 16px; right: 16px; bottom: 86px; max-width: none; } .nr-toast__p { display: none; } }

/* Regions hub */
.nr-essay { position: relative; overflow: hidden; }
.nr-essay__fish { position: absolute; right: -6%; bottom: 6%; width: min(60vw, 560px); opacity: .1; pointer-events: none; }
.nr-essay h2 { margin: 0 0 18px; }
.nr-portidx { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 576px) { .nr-portidx { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .nr-portidx { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nr-portcol { padding: 16px; border: 1px solid rgba(var(--nr-a),.18); border-radius: 6px; background-color: rgba(var(--nr-g2),.82); }
.nr-portcol__h { display: flex; align-items: baseline; gap: 10px; min-height: 44px; margin-bottom: 6px; color: var(--bs-body-color); text-decoration: none; }
.nr-portcol__h b { font-family: Anton, "Arial Narrow", sans-serif; font-weight: 400; text-transform: uppercase; font-size: max(14px, clamp(20px, 1.8vw, 26px)); line-height: 1; }
.nr-portcol__h .mono { color: var(--nr-acc); }
.nr-portcol__h:hover b { color: var(--bs-primary-text-emphasis); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.nr-portcol ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 12px; color: var(--bs-body-color); }
.nr-portcol li { padding: 3px 0; break-inside: avoid; }
.nr-portcol li::before { content: "+ "; color: var(--nr-acc); }

/* Region page */
.wrap.nr-runband__in { padding-top: 14px; padding-bottom: 10px; }
.nr-run__lbl { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin: 0 0 4px; color: var(--bs-primary-text-emphasis); }
.nr-run__sc { overflow-x: auto; scrollbar-width: thin; }
.nr-run ol { position: relative; list-style: none; margin: 0; padding: 0; min-width: 396px; display: grid; grid-template-columns: repeat(9, minmax(44px, 1fr)); }
.nr-run ol::before { content: ""; position: absolute; left: 5.5%; right: 5.5%; top: 21px; height: 2px; background: rgba(var(--nr-a1),.35); }
.nr-run a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; min-height: 64px; padding: 14px 2px 6px; color: var(--bs-secondary-color); text-align: center; text-decoration: none; }
.nr-run i { position: relative; z-index: 1; width: 14px; height: 14px; border: 2px solid var(--nr-acc); border-radius: 50%; background: var(--nr-bg); transition: border-color .2s; }
.nr-run .is-past i { background: var(--teal); }
.nr-run .is-here i { border-color: var(--volt); background: var(--volt); box-shadow: 0 0 0 6px rgba(var(--nr-v),.18), 0 0 18px var(--volt); animation: nr-pulse 2.4s ease-out infinite; }
@keyframes nr-pulse { 0% { box-shadow: 0 0 0 0 rgba(var(--nr-v),.5), 0 0 18px var(--volt); } 100% { box-shadow: 0 0 0 16px rgba(var(--nr-v),0), 0 0 18px var(--volt); } }
.nr-run__n { font-family: var(--mono); font-size: 14px; letter-spacing: .06em; }
.nr-run__name { display: none; font-size: 14px; font-weight: 600; line-height: 1.2; }
.nr-run .is-here a, .nr-run a:hover { color: var(--bs-body-color); }
.nr-run a:hover i { border-color: var(--volt); }
@media (min-width: 992px) { .nr-run__name { display: block; } .nr-run a { min-height: 92px; } }
.nr-split { display: grid; gap: 28px; }
@media (min-width: 992px) {
  .nr-split { grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr); gap: 56px; align-items: start; }
  .nr-split--faq { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .nr-split--contact { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); }
}
.nr-split h2 { margin: 0 0 16px; }
.nr-readouts { display: grid; gap: 12px; align-content: start; }
.nr-plist { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.nr-plist li { padding: 6px 10px; border: 1px solid rgba(var(--nr-a1),.3); border-radius: 4px; color: var(--bs-body-color); }
.nr-plist li::before { content: "+"; margin-right: 6px; color: var(--nr-acc); }
.nr-plist--sp li::before { content: "~"; }
.nr-two { display: grid; gap: 16px; }
@media (min-width: 768px) { .nr-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nr-logs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 576px) { .nr-logs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .nr-logs { grid-template-columns: repeat(3, minmax(0, 1fr)); } .nr-logs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nr-log { position: relative; display: flex; flex-direction: column; height: 100%; padding: 12px; border: 1px solid rgba(var(--nr-a1),.25); border-radius: 6px; background: rgba(var(--nr-g),.72); color: var(--bs-body-color); text-decoration: none; transition: border-color .25s, box-shadow .25s, transform .25s var(--ease); }
.nr-log__img { position: relative; display: block; aspect-ratio: 16 / 9; margin-bottom: 12px; overflow: hidden; border-radius: 4px; background: var(--nr-bg2); }
.nr-log__img img { display: block; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: luminosity; opacity: .85; transition: opacity .4s var(--ease), transform .5s var(--ease); }
.nr-log__scan { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(var(--nr-a1),.55); animation: nr-camscan 7s linear infinite; pointer-events: none; }
.nr-log__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 8px; color: var(--bs-secondary-color); }
.nr-log__topic { color: var(--nr-acc); }
.nr-log__t { font-size: max(14px, clamp(22px, 1.9vw, 28px)); margin: 0 0 8px; }
.nr-log__ex { display: block; margin-bottom: 12px; color: var(--bs-secondary-color); font-size: 16px; line-height: 1.5; }
.nr-log__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; color: var(--bs-primary-text-emphasis); }
.nr-log__go svg { width: 16px; height: 16px; transition: transform .3s var(--ease); }
.nr-log:hover { border-color: var(--nr-acc); box-shadow: 0 0 28px rgba(var(--nr-a),.25); transform: translateY(-3px); }
.nr-log:hover .nr-log__img img { mix-blend-mode: normal; opacity: 1; transform: scale(1.03); }
.nr-log:hover .nr-log__go svg { transform: translateX(4px); }
.nr-pnband .wrap { padding-top: 28px; padding-bottom: 28px; }
.nr-pn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nr-pn--log { margin-top: 28px; }
.nr-pn__a { display: flex; flex-direction: column; gap: 6px; min-height: 88px; padding: 14px 16px; border: 1px solid rgba(var(--nr-a1),.3); border-radius: 6px; background: rgba(var(--nr-g),.6); color: var(--bs-body-color); text-decoration: none; transition: border-color .25s, background .25s; }
.nr-pn__a .mono { color: var(--nr-acc); }
.nr-pn__a b { font-family: Anton, "Arial Narrow", sans-serif; font-weight: 400; text-transform: uppercase; font-size: max(14px, clamp(18px, 2vw, 28px)); line-height: 1; }
.nr-pn__a--n { align-items: flex-end; text-align: right; }
.nr-pn__a:hover { border-color: var(--nr-acc); background: rgba(var(--nr-a),.14); }
.nr-pn__hub { grid-column: 1 / -1; order: 3; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; color: var(--bs-primary-text-emphasis); text-decoration: none; }
.nr-pn__hub svg { width: 16px; height: 16px; }
.nr-pn__hub:hover { color: var(--bs-body-color); text-decoration: underline; }
@media (min-width: 768px) { .nr-pn { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; } .nr-pn__hub { grid-column: auto; order: 0; padding: 0 12px; } }

/* Long docs: pillar, size guide, shipping, policies */
.nr-doc__grid { display: grid; gap: 24px; }
@media (min-width: 992px) {
  .nr-doc__grid { grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: start; }
  .nr-toc { position: sticky; top: calc(var(--rn-h) + 16px); max-height: calc(100vh - var(--rn-h) - 32px); overflow: auto; }
}
.nr-toc { padding: 14px; border: 1px solid rgba(var(--nr-a1),.3); border-radius: 6px; background: rgba(var(--nr-g),.72); }
.nr-toc__h { margin: 0 0 8px; color: var(--nr-volt); }
.nr-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.nr-toc a { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 44px; padding: 8px 10px; border-left: 2px solid transparent; color: var(--bs-body-color); text-decoration: none; font-size: 15px; line-height: 1.3; transition: background .2s, border-color .2s; }
.nr-toc a .mono { color: var(--nr-acc); }
.nr-toc a:hover { background: rgba(var(--nr-a),.12); }
.nr-toc a[aria-current="true"] { border-left-color: var(--volt); background: rgba(var(--nr-a),.12); }
.nr-sec, .nr-fgroup { scroll-margin-top: calc(var(--rn-h) + 16px); }
.nr-sec + .nr-sec { margin-top: 2.2em; padding-top: 2em; border-top: 1px dashed rgba(var(--nr-a1),.2); }
.nr-sec > h2 { margin-top: 0; }
.nr-fgroup + .nr-fgroup { margin-top: 32px; padding-top: 32px; border-top: 1px dashed rgba(var(--nr-a1),.25); }
.nr-jumps { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }

/* Journal */
.nr-cover__a { display: grid; gap: 20px; color: var(--bs-body-color); text-decoration: none; }
@media (min-width: 992px) { .nr-cover__a { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 44px; align-items: center; } }
.nr-cover__img { position: relative; display: block; padding: 8px; overflow: hidden; border-radius: 6px; }
.nr-cover__img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.nr-cover__img .nr-log__scan { left: 8px; right: 8px; top: 8px; }
.nr-cover__b { display: flex; flex-direction: column; gap: 10px; }
.nr-cover__b .eyebrow { margin: 0; }
.nr-cover h2 { font-size: clamp(34px, 4.4vw, 64px); margin: 0; }
.nr-cover__a:hover h2 { color: var(--bs-primary-text-emphasis); }
.nr-cover__a:hover .nr-log__go svg { transform: translateX(4px); }
.nr-jfilter { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; }
.nr-jfilter__chips { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
@media (min-width: 992px) { .nr-jfilter__chips { flex-wrap: wrap; overflow: visible; } }
.nr-jfilter .nr-cond__readout { margin-left: 0; }
.nr-term__t { display: flex; flex-direction: column; gap: 4px; }
.nr-term__m { display: block; font-size: 14px; color: var(--bs-secondary-color); }

/* Article */
.nr-progress { position: fixed; left: 0; right: 0; top: var(--rn-h); z-index: 45; height: 3px; display: none; transform-origin: 0 50%; transform: scaleX(0); background: var(--nr-acc); box-shadow: 0 0 10px var(--nr-acc); pointer-events: none; }
@supports (animation-timeline: scroll()) { .nr-progress { display: block; animation: nr-grow linear both; animation-timeline: scroll(root); } }
@keyframes nr-grow { to { transform: scaleX(1); } }
.nr-artmeta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 4px 0 8px; color: var(--nr-acc); }
.nr-byline { margin: 0; font-size: 16px; color: var(--bs-secondary-color); }
.nr-byline b { color: var(--bs-body-color); }
.nr-hero-fig { position: relative; margin: 0 0 32px; padding: 8px; border-radius: 6px; }
.nr-hero-fig img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 4px; }
.nr-author { display: flex; align-items: flex-start; gap: 16px; margin-top: 36px; }
.nr-author img { flex: none; width: 56px; height: 56px; }
.nr-author__n { margin: 0; font-size: 18px; font-weight: 700; }
.nr-author__r { margin: 0 0 8px; color: var(--bs-secondary-color); }

/* About */
.nr-ch { display: grid; gap: 20px; align-items: center; padding-block: clamp(16px, 3vw, 36px); }
.nr-ch + .nr-ch { border-top: 1px dashed rgba(var(--nr-a1),.25); }
@media (min-width: 768px) { .nr-ch { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; } .nr-ch--flip .nr-ch__fig { order: 2; } }
.nr-ch__fig { position: relative; margin: 0; padding: 8px; border-radius: 6px; }
.nr-ch__fig img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.nr-ch h2 { margin: 0 0 14px; }
.nr-ch .lede { color: var(--bs-body-color); font-size: max(14px, clamp(17px, 1.3vw, 20px)); margin: 0; }
.nr-story .nr-type { max-width: 30ch; }
.nr-rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
@media (min-width: 768px) { .nr-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nr-rule__n { display: block; margin-bottom: 10px; font-family: Anton, "Arial Narrow", sans-serif; font-size: max(14px, clamp(48px, 6vw, 80px)); line-height: .9; color: rgba(var(--nr-a),.14); -webkit-text-stroke: 1px var(--nr-acc); }
.nr-tl { position: relative; list-style: none; margin: 0; padding: 0; display: grid; }
.nr-tl li { position: relative; margin-left: 7px; padding: 0 0 26px 30px; border-left: 2px solid rgba(var(--nr-a1),.35); }
.nr-tl li i { position: absolute; left: -9px; top: 2px; width: 16px; height: 16px; border: 2px solid var(--nr-acc); border-radius: 50%; background: var(--nr-bg); }
.nr-tl li:last-child i { border-color: var(--volt); background: var(--volt); box-shadow: 0 0 14px var(--volt); }
.nr-tl__y { display: block; margin-bottom: 6px; color: var(--nr-acc); }
.nr-tl p { margin: 0; }
@media (min-width: 992px) {
  .nr-tl { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .nr-tl li { margin-left: 0; padding: 28px 0 0; border-left: 0; border-top: 2px solid rgba(var(--nr-a1),.35); }
  .nr-tl li i { left: 0; top: -9px; }
}

/* Contact */
.nr-helps { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nr-help { display: flex; flex-direction: column; gap: 4px; width: 100%; height: 100%; min-height: 44px; padding: 14px; border: 1px solid rgba(var(--nr-a1),.3); border-radius: 6px; background-color: rgba(var(--nr-g),.72); color: var(--bs-body-color); text-align: left; cursor: pointer; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.nr-help b { font-family: Anton, "Arial Narrow", sans-serif; font-weight: 400; text-transform: uppercase; font-size: max(14px, clamp(18px, 1.6vw, 22px)); line-height: 1; }
.nr-help span:last-child { font-size: 15px; line-height: 1.35; color: var(--bs-secondary-color); }
.nr-help .mono { color: var(--nr-acc); }
.nr-help:hover { border-color: var(--nr-acc); background-color: rgba(var(--nr-a),.12); }
.nr-help[aria-pressed="true"] { --bc: var(--volt); border-color: var(--teal); background-color: rgba(var(--nr-a),.22); box-shadow: 0 0 24px rgba(var(--nr-a),.3); }
.nr-help[aria-pressed="true"] .mono::after { content: " / selected"; color: var(--nr-volt); }
.nr-form { display: grid; gap: 14px; }
.nr-form__row { display: grid; gap: 14px; }
@media (min-width: 576px) { .nr-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nr-field { display: grid; gap: 6px; min-width: 0; }
.nr-field .nr-lbl { margin: 0; }
.nr-form .form-control, .nr-form .form-select, .nr-acct .form-control { min-height: 48px; font-size: 16px; background-color: rgba(var(--nr-g),.85); border-color: rgba(var(--nr-a1),.4); color: var(--bs-body-color); }
.nr-form .form-control:focus, .nr-form .form-select:focus, .nr-acct .form-control:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(var(--nr-a),.3); }
.nr-form [aria-invalid="true"], .nr-acct [aria-invalid="true"] { border-color: var(--coral); }
.nr-err { margin: 0; font-size: 15px; color: var(--nr-coral); }
.nr-err::before { content: "! "; font-family: var(--mono); }
.nr-consent { margin: 0; font-size: 15px; color: var(--bs-secondary-color); }
.nr-consent a { color: var(--nr-acc); }
.nr-form__send { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.nr-sent:focus { outline: 3px solid var(--teal); outline-offset: 3px; }
.nr-email { margin: 0 0 12px; font-family: var(--mono); font-size: max(14px, clamp(16px, 1.6vw, 20px)); word-break: break-all; user-select: all; }
.nr-email a { color: var(--bs-body-color); }
.nr-email a:hover { color: var(--nr-acc); }
.nr-big { margin: 0; font-size: 16px; color: var(--nr-volt); }
.nr-copied { min-height: 1.4em; margin: 8px 0 0; color: var(--nr-volt); }
.nr-stock { margin-top: 12px; color: var(--bs-secondary-color); }

/* Cart: the manifest */
.nr-mf { display: grid; gap: 20px; }
@media (min-width: 992px) { .nr-mf { grid-template-columns: minmax(0, 1.5fr) minmax(0, .9fr); gap: 40px; align-items: start; } .nr-mf__sum { position: sticky; top: calc(var(--rn-h) + 16px); } }
.nr-mf__hd { display: none; }
@media (min-width: 768px) { .nr-mf__hd { display: grid; grid-template-columns: minmax(0, 1fr) 150px 110px; gap: 16px; padding: 0 16px 8px 128px; border-bottom: 1px solid rgba(var(--nr-a1),.3); color: var(--bs-secondary-color); } .nr-mf__hd span:last-child { text-align: right; } }
.nr-line { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "img body body" "step step tot"; align-items: center; gap: 10px 14px; padding: 16px 0; border-bottom: 1px dashed rgba(var(--nr-a1),.25); }
@media (min-width: 768px) { .nr-line { grid-template-columns: 96px minmax(0, 1fr) 150px 110px; grid-template-areas: "img body step tot"; gap: 16px; padding: 18px 16px; } }
.nr-line__img { grid-area: img; display: grid; place-items: center; width: 84px; height: 84px; border: 1px solid rgba(var(--nr-a1),.25); border-radius: 4px; background: radial-gradient(circle at 50% 60%, rgba(var(--nr-a),.2), transparent 65%); }
@media (min-width: 768px) { .nr-line__img { width: 96px; height: 96px; } }
.nr-line__img img { width: 88%; height: 88%; object-fit: contain; }
.nr-line__b { grid-area: body; min-width: 0; }
.nr-line__n { display: block; margin-bottom: 4px; color: var(--nr-acc); }
.nr-line__b h3 { font-size: max(14px, clamp(20px, 2vw, 26px)); margin: 0 0 4px; }
.nr-line__b h3 a { color: var(--bs-body-color); text-decoration: none; }
.nr-line__b h3 a:hover { color: var(--bs-primary-text-emphasis); }
.nr-line__meta { margin: 0; color: var(--bs-secondary-color); }
.nr-line .nr-step { grid-area: step; justify-self: start; height: 48px; }
.nr-line__tot { grid-area: tot; margin: 0; text-align: right; font-family: var(--mono); font-size: 17px; color: var(--nr-hi); }
.nr-line__rm { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-left: -8px; padding: 0 8px; border: 0; background: none; font-family: var(--mono); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--bs-secondary-color); cursor: pointer; }
.nr-line__rm svg { width: 16px; height: 16px; }
.nr-line__rm:hover { color: var(--nr-coral); }
.nr-sum { display: grid; gap: 8px; margin: 0 0 14px; }
.nr-sum div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px dashed rgba(var(--nr-a1),.2); }
.nr-sum dt { font-weight: 400; color: var(--bs-secondary-color); }
.nr-sum dd { margin: 0; text-align: right; }
.nr-sum__big { font-size: 22px; color: var(--nr-hi); }
.nr-free { position: relative; margin: 0 0 16px; padding-bottom: 16px; color: var(--bs-body-color); }
.nr-free::before, .nr-free::after { content: ""; position: absolute; left: 0; bottom: 0; height: 6px; border-radius: 3px; }
.nr-free::before { right: 0; background: rgba(var(--nr-a1),.18); }
.nr-free::after { width: var(--free-pct, 0%); background: var(--teal); box-shadow: 0 0 12px rgba(var(--nr-a),.6); transition: width .5s var(--ease); }
.nr-free.is-free { color: var(--nr-volt); }
.nr-free.is-free::after { background: var(--volt); box-shadow: 0 0 12px var(--volt); }
.nr-secure { margin: 10px 0 6px; text-align: center; color: var(--bs-secondary-color); }
.nr-cont { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--nr-acc); }
.nr-cont svg { width: 16px; height: 16px; }
.nr-mfempty h2 { margin: 0 0 10px; }
.nr-mfempty .nr-tabs { margin-top: 16px; }
.nr-mfempty__grid { margin-top: 28px; }
.nr-noscript { margin: 16px 0 0; padding: 14px; border: 1px dashed rgba(var(--nr-a1),.5); border-radius: 6px; }
.nr-noscript a { color: var(--nr-acc); }

/* Search: the command line */
.nr-cli { max-width: 900px; margin-top: 20px; }
.nr-cli__l { display: block; margin: 0 0 8px; color: var(--nr-volt); }
.nr-cli__row { display: flex; align-items: stretch; overflow: hidden; border: 1px solid var(--teal); border-radius: 6px; background: rgba(var(--nr-g),.88); box-shadow: 0 0 30px rgba(var(--nr-a),.25); }
.nr-cli__row:focus-within { box-shadow: 0 0 0 3px rgba(var(--nr-a),.45), 0 0 40px rgba(var(--nr-a),.35); }
.nr-cli__p { display: grid; place-items: center; padding: 0 2px 0 14px; font-family: var(--mono); font-size: max(14px, clamp(22px, 2.6vw, 34px)); color: var(--nr-acc); }
.nr-cli input { flex: 1; min-width: 0; min-height: 64px; padding: 12px 10px; border: 0; background: transparent; color: var(--bs-body-color); font-family: var(--mono); font-size: max(16px, clamp(18px, 2.4vw, 30px)); caret-color: var(--nr-volt); }
.nr-cli input::placeholder { color: var(--bs-secondary-color); opacity: .8; }
.nr-cli input:focus { outline: none; }
.nr-cli input::-webkit-search-cancel-button { filter: grayscale(1); }
.nr-cli .btn { flex: none; min-height: 64px; border-radius: 0; }
@media (max-width: 575.98px) { .nr-cli .btn { padding-inline: 14px; } }
.nr-cli__hint { margin: 8px 0 0; color: var(--bs-secondary-color); text-transform: none; letter-spacing: .02em; }
.nr-pop { margin-top: 16px; }
.nr-pop > p { margin: 0 0 6px; color: var(--bs-secondary-color); }
.nr-results { min-height: 40vh; }
.nr-results__st { margin: 0 0 18px; }
.nr-rgroup { margin-bottom: 30px; }
.nr-rgroup__h { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px; font-size: max(14px, clamp(26px, 2.6vw, 36px)); }
.nr-rgroup__h::before { content: ">"; font-family: var(--mono); font-size: .6em; color: var(--nr-volt); }
.nr-rgroup__h span { font-family: var(--mono); font-size: 14px; letter-spacing: .08em; color: var(--bs-secondary-color); }
.nr-hits { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
@media (min-width: 768px) { .nr-hits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nr-hit { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 14px; min-height: 64px; padding: 10px 12px; border: 1px solid rgba(var(--nr-a1),.25); border-radius: 6px; background: rgba(var(--nr-g),.72); color: var(--bs-body-color); text-decoration: none; transition: border-color .2s, background .2s; }
.nr-hit--t { grid-template-columns: minmax(0, 1fr); }
.nr-hit__img { display: grid; place-items: center; width: 64px; height: 64px; overflow: hidden; border-radius: 4px; background: radial-gradient(circle at 50% 60%, rgba(var(--nr-a),.2), transparent 65%); }
.nr-hit__img img { width: 100%; height: 100%; object-fit: cover; }
.nr-hit__img--cut img { width: 88%; height: 88%; object-fit: contain; }
.nr-hit b { display: block; font-size: 17px; font-weight: 700; line-height: 1.3; }
.nr-hit small { display: block; margin-top: 2px; font-size: 14px; color: var(--bs-secondary-color); }
.nr-hit mark { padding: 0 2px; border-radius: 2px; background: rgba(var(--nr-v),.2); color: inherit; box-shadow: inset 0 -2px 0 var(--volt); }
.nr-hit:hover { border-color: var(--nr-acc); background: rgba(var(--nr-a),.12); }
.nr-nores { padding: 20px; border: 1px dashed rgba(var(--nr-a1),.5); border-radius: 6px; }
.nr-nores h2 { font-size: max(14px, clamp(28px, 3vw, 40px)); margin: 0 0 8px; }
.nr-nores .nr-tabs { margin-top: 12px; }

/* Account */
.nr-acct { display: grid; gap: 12px; align-content: start; }
.nr-acct__note { margin: 0; color: var(--bs-secondary-color); text-transform: none; letter-spacing: .02em; }
.nr-acct__msg { min-height: 1.4em; margin: 0; color: var(--nr-volt); }

/* 404: signal lost */
.nr-lost__code { margin: 0 0 .05em; font-family: Anton, "Arial Narrow", sans-serif; font-size: max(14px, clamp(110px, 24vw, 300px)); line-height: .82; color: rgba(var(--nr-a),.12); -webkit-text-stroke: 2px var(--nr-acc); text-shadow: 0 0 40px rgba(var(--nr-a),.35); animation: nr-flicker 3.2s steps(1) infinite; }
@keyframes nr-flicker { 0%, 46%, 50%, 81%, 100% { opacity: 1; } 47% { opacity: .35; } 82% { opacity: .6; } }
.nr-lost__sig { color: var(--nr-volt); }
.nr-final__cta.justify-content-start { justify-content: flex-start; margin-top: 22px; }

/* Footer bits */
.nr-footer .nr-fh { margin: 0 0 10px; font-family: var(--mono); font-size: max(14px, .875rem); line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-primary-text-emphasis); }
.nr-footer__sig { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; color: var(--bs-secondary-color); }
.nr-footer__sig i { width: 8px; height: 8px; border-radius: 50%; background: var(--volt); box-shadow: 0 0 10px var(--volt); }
.nr-footer ul a[aria-current] { color: var(--bs-primary-text-emphasis); }

/* Static fallback for every keyframe added here */
@media (prefers-reduced-motion: reduce) {
  .nr-ro__scan, .nr-log__scan, .nr-cam__scan, .nr-progress { display: none !important; animation: none !important; }
  .nr-ro__id i, .nr-slide__cut, .nr-run .is-here i, .nr-lost__code, .nr-sonar__ring, .nr-sonar__sweep { animation: none !important; }
  body[data-concept="05"] .nr-pc:has(.nr-pc__img:hover, .nr-pc__t a:hover), .nr-log:hover, .nr-coll:hover { transform: none; }
}

/* ================================================================ Night (default) and Day palettes */
body[data-concept="05"] { --nr-bg: #0D1014; --nr-bg2: #04191E; --nr-bg3: #161B21; --nr-bar: #04191E;
  --nr-g: 13,16,20; --nr-g2: 22,27,33; --nr-a: 35,182,199; --nr-a1: 63,203,219; --nr-v: 194,240,74; --nr-sh: 0,0,0; --nr-gr: 180,188,196;
  --nr-acc: #3FCBDB; --nr-hi: #FFFFFF; --nr-volt: #C2F04A; --nr-coral: #FF8F66;
  --ch-dp: #04191E; --ch-md: #064049; --ch-sh: #0A626D; --ch-ld: #1C232B; --ch-ce: #5A636B; --ch-cl: rgba(63,203,219,.2); --ch-gr: rgba(63,203,219,.06);
  --ch-tx: #5A636B; --ch-sn: #5A636B; --ch-pt: #8C96A0; --ch-nn: #8C96A0;
  --rt: #C2F04A; --rt-case: #12190A; --boat: #FFFFFF; --boat-edge: #0D1014;
  --ff-bg: #04191E; --ff-bot: #158E9D; --ff-bot2: #3FCBDB; --ff-arch: #3FCBDB; --ff-hot: #C2F04A; --ff-clut: rgba(63,203,219,.35); }
html[data-theme="light"] body[data-concept="05"] { --nr-bg: #FFFFFF; --nr-bg2: #D3F0F4; --nr-bg3: #F7F7F7; --nr-bar: #EFEFEF;
  --nr-g: 255,255,255; --nr-g2: 247,247,247; --nr-a: 21,142,157; --nr-a1: 10,98,109; --nr-v: 78,107,16; --nr-sh: 4,25,30; --nr-gr: 90,99,107;
  --nr-acc: #0A626D; --nr-hi: #0D1014; --nr-volt: #4E6B10; --nr-coral: #B23D10;
  --ch-dp: #FFFFFF; --ch-md: #D3F0F4; --ch-sh: #A7E2EA; --ch-ld: #EFEFEF; --ch-ce: #8C96A0; --ch-cl: rgba(10,98,109,.2); --ch-gr: rgba(10,98,109,.06);
  --ch-tx: #B4BCC4; --ch-sn: #B4BCC4; --ch-pt: #5A636B; --ch-nn: #5A636B;
  --rt: #C2F04A; --rt-case: #4E6B10; --boat: #0D1014; --boat-edge: #FFFFFF;
  --ff-bg: #FFFFFF; --ff-bot: #A7E2EA; --ff-bot2: #0A626D; --ff-arch: #158E9D; --ff-hot: #4E6B10; --ff-clut: rgba(10,98,109,.3); }
html[data-theme="light"] body[data-concept="05"] .keep-ground[data-bs-theme] { --nr-bg: #0D1014; --nr-bg2: #04191E; --nr-bg3: #161B21; --nr-bar: #04191E;
  --nr-g: 13,16,20; --nr-g2: 22,27,33; --nr-a: 35,182,199; --nr-a1: 63,203,219; --nr-v: 194,240,74; --nr-sh: 0,0,0; --nr-gr: 180,188,196;
  --nr-acc: #3FCBDB; --nr-hi: #FFFFFF; --nr-volt: #C2F04A; --nr-coral: #FF8F66;
  --ch-dp: #04191E; --ch-md: #064049; --ch-sh: #0A626D; --ch-ld: #1C232B; --ch-ce: #5A636B; --ch-cl: rgba(63,203,219,.2); --ch-gr: rgba(63,203,219,.06);
  --ch-tx: #5A636B; --ch-sn: #5A636B; --ch-pt: #8C96A0; --ch-nn: #8C96A0;
  --rt: #C2F04A; --rt-case: #12190A; --boat: #FFFFFF; --boat-edge: #0D1014;
  --ff-bg: #04191E; --ff-bot: #158E9D; --ff-bot2: #3FCBDB; --ff-arch: #3FCBDB; --ff-hot: #C2F04A; --ff-clut: rgba(63,203,219,.35); color-scheme: dark; --bs-body-color: #FFFFFF; --bs-body-color-rgb: 255, 255, 255; --bs-body-bg: #0D1014; --bs-emphasis-color: #FFFFFF; --bs-secondary-color: #B4BCC4; --bs-primary-text-emphasis: #3FCBDB; --bs-link-color: #3FCBDB; --bs-link-color-rgb: 63, 203, 219; --bs-border-color: #232B33; --bs-heading-color: inherit; color: var(--bs-body-color); }
body[data-concept="05"] { background: var(--nr-bg); }
body[data-concept="05"] main { background: var(--nr-bg); }
.nr-logo-d { display: none !important; }
html[data-theme="light"] body[data-concept="05"] .nr-logo-n { display: none !important; }
html[data-theme="light"] body[data-concept="05"] .nr-logo-d { display: inline-block !important; }
html[data-theme="light"] body[data-concept="05"] .keep-ground .nr-logo-n { display: inline-block !important; }
html[data-theme="light"] body[data-concept="05"] .keep-ground .nr-logo-d { display: none !important; }
html[data-theme="light"] body[data-concept="05"] .dot-stock { box-shadow: 0 0 0 1px #4E6B10; }
html[data-theme="light"] body[data-concept="05"] .nr-ph h1, html[data-theme="light"] body[data-concept="05"] .nr-home h1 { text-shadow: none; }

/* ================================================================ Round 3: the chartplotter */
/* Screen layout: content plus the data field column on the right (desktop) */
.nr-screen { display: block; }
@media (min-width: 1200px) {
  .nr-screen { display: grid; grid-template-columns: minmax(0, 1fr) 160px; }
  .nr-screen > main { grid-column: 1; grid-row: 1; min-width: 0; }
  .nr-screen > .nr-footer { grid-column: 1; grid-row: 2; min-width: 0; }
}

/* Status bar */
.nr-ro[data-bs-theme] { background: var(--nr-bar); border-bottom: 1px solid rgba(var(--nr-a1),.35); }
.nr-ro__mode { display: none; flex: none; padding: 2px 8px; border: 1px solid rgba(var(--nr-a1),.45); border-radius: 6px; color: var(--nr-acc); }
.nr-ro__d { display: none; }
html[data-theme="light"] body[data-concept="05"] .nr-ro__n { display: none; }
html[data-theme="light"] body[data-concept="05"] .nr-ro__d { display: inline; }
.nr-ro__clk { margin-left: auto; }
@media (min-width: 768px) { .nr-ro__mode { display: inline-block; } }
@media (min-width: 1200px) { .nr-ro__facts { margin-left: auto; } .nr-ro__clk { margin-left: 0; } }

/* Data fields */
.nr-dbar { background: var(--nr-bg3); color: var(--bs-body-color); }
.nr-df { min-width: 0; }
.nr-df__l { display: block; font-family: var(--mono); font-size: 14px; line-height: 1.3; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-secondary-color); white-space: nowrap; }
.nr-df__v { display: block; font-family: Anton, "Arial Narrow", sans-serif; font-weight: 400; font-size: 30px; line-height: 1.08; letter-spacing: .03em; color: var(--bs-body-color); white-space: nowrap; font-variant-numeric: tabular-nums; }
.nr-df--free.is-free .nr-df__v { color: var(--nr-volt); }
.nr-df__m { position: relative; display: block; margin-top: 6px; padding-top: 12px; font-size: 14px; line-height: 1.3; color: var(--bs-secondary-color); }
.nr-df__m::before, .nr-df__m::after { content: ""; position: absolute; left: 0; top: 0; height: 6px; border-radius: 3px; }
.nr-df__m::before { right: 0; background: rgba(var(--nr-a1),.2); }
.nr-df__m::after { width: var(--free-pct, 0%); background: var(--teal); transition: width .5s var(--ease); }
.nr-df__m.is-free::after { background: var(--volt); }
.nr-dbar__h { margin: 0; padding: 10px 14px; font-family: var(--mono); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--nr-acc); background: var(--nr-bar); border-bottom: 1px solid rgba(var(--nr-a1),.35); }
.nr-dbar__go { display: flex; align-items: center; justify-content: center; min-height: 44px; margin: 12px 14px; border: 1px solid rgba(var(--nr-a1),.5); border-radius: 8px; font-family: var(--mono); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-body-color); text-decoration: none; transition: background .2s, color .2s; }
.nr-dbar__go:hover { background: var(--teal); border-color: var(--teal); color: var(--ink); }
@media (min-width: 1200px) {
  .nr-dbar { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: var(--rn-h); align-self: start; height: calc(100vh - var(--rn-h)); overflow-y: auto; border-left: 1px solid rgba(var(--nr-a1),.35); scrollbar-width: thin; }
  .nr-df { padding: 12px 14px; border-bottom: 1px solid rgba(var(--nr-a1),.22); }
  .nr-df--pg { background: rgba(var(--nr-a),.06); }
  .nr-df--pg .nr-df__l { color: var(--nr-acc); }
}
@media (max-width: 1199.98px) {
  .nr-dbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 58; border-top: 1px solid rgba(var(--nr-a1),.45); padding-bottom: env(safe-area-inset-bottom); transition: transform .35s var(--ease); }
  .nr-dbar__h, .nr-dbar__go { display: none; }
  .nr-dbar__in { display: flex; overflow-x: auto; scrollbar-width: none; }
  .nr-dbar__in::-webkit-scrollbar { display: none; }
  .nr-df { flex: none; min-width: 92px; padding: 5px 12px 6px; border-right: 1px solid rgba(var(--nr-a1),.25); }
  .nr-df__v { font-size: 21px; }
  .nr-df__m { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0; }
  .nr-footer[data-bs-theme] { padding-bottom: 64px; }
}
@media (max-width: 767.98px) {
  body[data-concept="05"]:has(.mbar.is-on) .nr-dbar { transform: translateY(calc(-68px - env(safe-area-inset-bottom))); }
  .nr-footer[data-bs-theme] { padding-bottom: 136px; }
  .nr-toast { bottom: 140px; }
}
body[data-concept="05"] .mbar { background: var(--nr-bg3); border-top: 1px solid rgba(var(--nr-a1),.45); }
.nr-mcount { background: var(--teal); color: var(--ink); }

/* Panels: split-screen panes with a title bar, 10px corners, a 1px rule, no shadow */
.nr-pane { position: relative; min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(var(--nr-a1),.4); border-radius: 10px; background: var(--nr-bg); }
.nr-pane__bar, .nr-panel > .eyebrow:first-child, .nr-ph__box > .eyebrow:first-child, .nr-mfempty > .eyebrow:first-child {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 42px; margin: 0; padding: 9px 14px;
  font-family: var(--mono); font-size: 14px; line-height: 1.3; letter-spacing: .1em; text-transform: uppercase;
  color: var(--nr-acc); background: var(--nr-bar); border-bottom: 1px solid rgba(var(--nr-a1),.4); }
.nr-pane__bar::before, .nr-panel > .eyebrow:first-child::before, .nr-ph__box > .eyebrow:first-child::before, .nr-mfempty > .eyebrow:first-child::before {
  content: ""; flex: none; width: 10px; height: 10px; border: 2px solid currentColor; border-radius: 2px; background: transparent; box-shadow: none; animation: none; }
.nr-pane__bar > span + span:not(.nr-pane__r)::before { content: "/"; margin-right: 12px; color: var(--bs-secondary-color); }
.nr-pane__r { margin-left: auto; color: var(--bs-secondary-color); }
.nr-pane__body { padding: clamp(16px, 2.2vw, 22px); }
.nr-panel { --pp: clamp(16px, 2.2vw, 24px); padding: 0 var(--pp) var(--pp); border: 1px solid rgba(var(--nr-a1),.4); border-radius: 10px; background-color: rgba(var(--nr-g),.94); box-shadow: none; }
.nr-panel:not(:has(> .eyebrow:first-child)) { padding-top: var(--pp); }
.nr-panel > .eyebrow:first-child { margin: 0 calc(-1 * var(--pp)) var(--pp); }
.nr-panel.nr-bk, .nr-ph__box.nr-bk { background-image: none; }
.nr-panel--log { background-color: rgba(var(--nr-g),.97); }
.nr-mfempty { --pp: clamp(16px, 2.2vw, 24px); }

/* The chart */
.nr-chart { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
.nr-chart__svg { position: absolute; left: 0; top: 0; display: block; }
.ch-dp { fill: var(--ch-dp); } .ch-md { fill: var(--ch-md); } .ch-sh { fill: var(--ch-sh); } .ch-ld { fill: var(--ch-ld); }
.ch-ce { stroke: var(--ch-ce); stroke-width: 1.5; stroke-linejoin: round; }
path.ch-ce:not(.ch-ld) { fill: none; }
.ch-cl { fill: none; stroke: var(--ch-cl); stroke-width: 1; }
.ch-cl--d { stroke-dasharray: 6 5; }
.ch-gr { fill: none; stroke: var(--ch-gr); stroke-width: 1; }
.ch-tk { fill: none; stroke: var(--ch-tx); stroke-width: 1; }
.ch-tx { fill: var(--ch-tx); font-family: var(--mono); font-size: 14px; letter-spacing: .04em; }
.ch-sn { fill: var(--ch-sn); font-family: var(--mono); font-size: 15px; font-style: italic; }
.ch-cl-w, .ch-dp-w, .ch-md-w, .ch-sh-w, .ch-ld-w { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.ch-cl-w { stroke: var(--ch-cl); } .ch-dp-w { stroke: var(--ch-dp); } .ch-md-w { stroke: var(--ch-md); } .ch-sh-w { stroke: var(--ch-sh); } .ch-ld-w { stroke: var(--ch-ld); }
.ch-pt { fill: var(--ch-pt); }
.ch-pt.is-cur { fill: var(--rt); stroke: var(--rt-case); stroke-width: 1.5; }
.ch-wp { fill: var(--ch-dp); stroke: var(--nr-acc); stroke-width: 2.5; }
.ch-wp.is-cur { fill: var(--rt); stroke: var(--rt-case); stroke-width: 3; }
.ch-ld-ln { fill: none; stroke: var(--nr-acc); stroke-width: 1.2; stroke-dasharray: 3 3; }
.rt-case { fill: none; stroke: var(--rt-case); stroke-width: 7; stroke-linejoin: round; stroke-linecap: round; }
.rt { fill: none; stroke: var(--rt); stroke-width: 3.5; stroke-linejoin: round; stroke-linecap: round; }
.nr-route__svg .rt-case, .nr-route__svg .rt { vector-effect: non-scaling-stroke; }
.nr-route__svg .rt-case { stroke-width: 6; }
.nr-route__svg .rt { stroke-width: 3; }
.nr-boat__b { fill: var(--boat); stroke: var(--boat-edge); stroke-width: 1.5; stroke-linejoin: round; }
.nr-boat__hd { fill: none; stroke: var(--boat); stroke-width: 2; stroke-dasharray: 4 4; }
.nr-north { position: absolute; right: 16px; top: 10px; width: 40px; height: 56px; overflow: visible; }
.nr-north__a { fill: var(--ch-dp); stroke: var(--ch-tx); stroke-width: 1.5; stroke-linejoin: round; }
.nr-north__b { fill: var(--ch-tx); }
.nr-north text { fill: var(--ch-tx); font-family: var(--mono); font-size: 14px; font-weight: 700; }
.nr-scalebar { position: absolute; right: 16px; top: 74px; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; font-family: var(--mono); font-size: 14px; letter-spacing: .06em; color: var(--ch-tx); }
.nr-scalebar i { display: block; width: 80px; height: 8px; border: 2px solid currentColor; border-top: 0; }

/* Route layer, flags and the boat */
.nr-route { position: absolute; z-index: -1; display: none; }
.nr-route__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.nr-flag { position: absolute; display: inline-flex; align-items: center; gap: 8px; transform: translate(-7px, -50%); white-space: nowrap; font-family: var(--mono); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--bs-body-color); text-decoration: none; }
.nr-flag i { flex: none; width: 14px; height: 14px; border: 3px solid var(--rt); border-radius: 2px; background: var(--rt-case); transform: rotate(45deg); }
.nr-flag b { padding: 2px 6px; border-radius: 4px; background: var(--rt); color: #12190A; font-weight: 700; }
.nr-flag span, .nr-flag small { display: none; }
.nr-flag--l { flex-direction: row-reverse; transform: translate(calc(-100% + 7px), -50%); }
.nr-route--lab .nr-flag { min-height: 44px; padding-right: 10px; }
.nr-route--lab .nr-flag--l { padding: 0 0 0 10px; }
.nr-route--lab .nr-flag span { display: inline; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nr-route--lab .nr-flag:hover span, .nr-route--lab .nr-flag:focus-visible span { position: static; width: auto; height: auto; clip: auto; max-width: 24ch; overflow: hidden; text-overflow: ellipsis; padding: 2px 8px; border: 1px solid rgba(var(--nr-a1),.5); border-radius: 6px; background: rgba(var(--nr-g),.92); text-transform: none; font-family: Barlow, Arial, sans-serif; font-size: 15px; font-weight: 600; letter-spacing: 0; }
.nr-route--lab .nr-flag small { display: inline; font-size: 14px; color: var(--bs-secondary-color); }
.nr-route--lab { z-index: 2; }
.nr-route--lab .nr-flag:hover span { border-color: var(--teal); background: var(--teal); color: var(--ink); }
.nr-boat { position: absolute; width: 30px; height: 30px; transform: translate(-50%, -50%) rotate(var(--hd)); }
.nr-boat svg { display: block; width: 100%; height: 100%; overflow: visible; }
.nr-boat::after { content: ""; position: absolute; inset: -10px; border: 2px solid var(--rt); border-radius: 50%; opacity: 0; animation: nr-ping 3s ease-out infinite; }
@media (min-width: 992px) {
  .nr-route--ph { display: block; top: 22%; bottom: 20%; right: max(32px, calc(50% - 600px)); width: min(36%, 480px); }
}

/* Page head as a chart screen */
.nr-ph[data-bs-theme] { background: var(--ch-dp); border-bottom: 1px solid rgba(var(--nr-a1),.35); }
.nr-ph__in { padding-top: clamp(14px, 2vw, 22px); padding-bottom: clamp(24px, 3.6vw, 48px); }
.nr-ph__box { max-width: 760px; padding: 0 var(--pp) var(--pp); --pp: clamp(16px, 2.4vw, 28px); border: 1px solid rgba(var(--nr-a1),.45); border-radius: 10px; background-color: rgba(var(--nr-g),.93); }
.nr-ph__box > .eyebrow:first-child { margin: 0 calc(-1 * var(--pp)) var(--pp); border-radius: 9px 9px 0 0; }
.nr-ph h1 { font-size: clamp(44px, 6.6vw, 104px); }
.nr-ph .nr-crumbs { margin-bottom: 12px; }
.nr-ph .nr-crumbs ol { display: inline-flex; padding: 0 12px; border: 1px solid rgba(var(--nr-a1),.4); border-radius: 8px; background: rgba(var(--nr-g),.92); }
.nr-ph__keys.wrap { padding-top: 0; padding-bottom: 16px; }
@media (min-width: 992px) {
  .nr-ph:has(.nr-route--ph) .nr-ph__box { max-width: min(700px, 58%); }
  .nr-ph__in--side { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 24px; align-items: end; }
  .nr-ph__in--side .nr-ph__box { max-width: none; }
}
.nr-ph__side { margin-top: 16px; }
.nr-ph--quiet .nr-ph__box { background-color: rgba(var(--nr-g),.93); }
:target { scroll-margin-top: calc(var(--rn-h) + 16px); }
[id$="-h"], #cond, #notes, #range, #run, #log-body, #sizes, #qty { scroll-margin-top: calc(var(--rn-h) + 16px); }
.nr-ph--region h1 { font-size: clamp(40px, 5vw, 76px); }
.nr-ph__box .nr-tabs-wrap { margin-top: 18px; }

/* Softkeys */
.nr-soft { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border: 1px solid rgba(var(--nr-a1),.4); border-radius: 10px; background: var(--nr-bar); }
.nr-sk { flex: 1 1 0; min-width: max-content; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin: 0; padding: 0 14px; border: 1px solid rgba(var(--nr-a1),.5); border-radius: 8px; background: var(--nr-bg); color: var(--bs-body-color); font-family: var(--mono); font-size: 14px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; text-decoration: none; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.nr-sk:hover, .nr-sk:focus-visible { background: var(--teal); border-color: var(--teal); color: var(--ink); }
.nr-sk--go { background: var(--teal); border-color: var(--teal); color: var(--ink); font-weight: 700; }
.nr-sk--go:hover { background: var(--teal-t1); border-color: var(--teal-t1); }
.nr-pdp .nr-soft { margin-top: 14px; }

/* Plotter menus: stacked rows, right chevron, current row a solid teal bar with ink text */
.nr-menu { list-style: none; margin: 0; padding: 0; }
.nr-mrow, .nr-rb, .nr-toc a, .nr-built__list a, .nr-term li a, .nr-portcol__h { position: relative; }
.nr-mrow { display: grid; grid-template-columns: auto minmax(0, 1fr) auto 10px; align-items: center; gap: 12px; min-height: 48px; padding: 8px 16px; border-bottom: 1px solid rgba(var(--nr-a1),.22); color: var(--bs-body-color); text-decoration: none; transition: background .15s; }
.nr-mrow b { font-weight: 600; font-size: 16px; line-height: 1.25; }
.nr-mrow__n { color: var(--nr-acc); }
.nr-mrow__s { color: var(--bs-secondary-color); }
.nr-mrow::after, .nr-rb::after, .nr-toc a::after, .nr-built__list a::after, .nr-term li a::after { content: ""; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); justify-self: end; flex: none; opacity: .8; }
.nr-mrow:hover, .nr-mrow.is-active { background: rgba(var(--nr-a),.16); }
.nr-mrow[aria-current], .nr-mrow:focus-visible, .nr-rb[aria-current], .nr-rb:focus-visible, .nr-toc a[aria-current="true"], .nr-built__list a:focus-visible, .nr-term li a:focus-visible {
  background: var(--teal); color: var(--ink); outline: none; box-shadow: none; }
.nr-mrow[aria-current] .mono, .nr-mrow:focus-visible .mono, .nr-rb[aria-current] .mono, .nr-rb[aria-current] span, .nr-rb:focus-visible span,
.nr-toc a[aria-current="true"] .mono, .nr-built__list a:focus-visible .mono, .nr-term li a:focus-visible span { color: var(--ink); }
.nr-rbs { gap: 0; border: 1px solid rgba(var(--nr-a1),.4); border-radius: 10px; overflow: hidden; background: var(--nr-bg); }
.nr-rbs li { border-bottom: 1px solid rgba(var(--nr-a1),.22); }
.nr-rb { grid-template-columns: auto minmax(0, 1fr) auto 10px; min-height: 52px; border: 0; border-radius: 0; background: transparent; }
.nr-rb:hover { background: rgba(var(--nr-a),.16); box-shadow: none; border-color: transparent; }
@media (min-width: 576px) { .nr-rbs li:nth-child(odd) { border-right: 1px solid rgba(var(--nr-a1),.22); } }
@media (min-width: 992px) { .nr-rbs li { border-right: 1px solid rgba(var(--nr-a1),.22); } .nr-rbs li:nth-child(odd) { border-right: 1px solid rgba(var(--nr-a1),.22); } .nr-rbs li:nth-child(3n) { border-right: 0; } }
.nr-toc { padding: 0; overflow: hidden; border-radius: 10px; }
.nr-toc__h { margin: 0; padding: 10px 14px; background: var(--nr-bar); border-bottom: 1px solid rgba(var(--nr-a1),.4); color: var(--nr-acc); }
.nr-toc ol { gap: 0; }
.nr-toc a { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; border-left: 0; border-bottom: 1px solid rgba(var(--nr-a1),.18); padding: 8px 14px; }
.nr-toc a > span.mono { flex: none; }
.nr-toc a { display: grid; grid-template-columns: auto minmax(0, 1fr) 10px; }
.nr-built__list { gap: 0; border: 1px solid rgba(var(--nr-a1),.3); border-radius: 8px; overflow: hidden; }
.nr-built__list a { display: grid; grid-template-columns: auto minmax(0, 1fr) 10px; border: 0; border-bottom: 1px solid rgba(var(--nr-a1),.2); border-radius: 0; }
.nr-built__list li:last-child a { border-bottom: 0; }
.nr-term li a { display: grid; grid-template-columns: auto auto minmax(0, 1fr) 10px; border-bottom: 1px solid rgba(var(--nr-a1),.16); }
.nr-term { border-radius: 10px; }

/* Home: the plotter screen */
.nr-home[data-bs-theme] { background: var(--nr-bg); padding: 12px 0 16px; }
.nr-home__in { width: min(1440px, 100% - 24px); margin-inline: auto; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); }
.nr-pane__chart { position: relative; height: 230px; overflow: hidden; isolation: isolate; background: var(--ch-dp); border-bottom: 1px solid rgba(var(--nr-a1),.35); }
.nr-pane__chart .nr-chart { z-index: 0; }
.nr-route--home { display: block; z-index: 1; left: 56%; right: 8%; top: 30%; bottom: 6%; }
.nr-home__title { padding: 18px 16px 20px; }
.nr-home .eyebrow { margin-bottom: .5rem; }
body[data-concept="05"] .nr-home h1 { font-size: clamp(64px, 18vw, 96px); line-height: .9; margin: 0 0 .15em; text-shadow: 0 0 40px rgba(var(--nr-a),.25); }
.nr-home .lede { max-width: 34ch; font-size: max(14px, clamp(17px, 1.4vw, 21px)); color: var(--bs-body-color); margin: 0; }
.nr-home .nr-hero__cta { margin: 22px 0 16px; }
.nr-pane--ff { min-height: 300px; }
.nr-ff { position: relative; flex: 1; min-height: 190px; display: grid; grid-template-columns: minmax(0, 1fr) 46px; background: var(--ff-bg); }
.nr-ff__scr { position: relative; overflow: hidden; }
.nr-ff__strip { position: absolute; top: 0; bottom: 0; left: 0; width: 200%; display: flex; animation: nr-ff 30s linear infinite; }
.nr-ff__strip svg { flex: none; width: 50%; height: 100%; display: block; }
@keyframes nr-ff { to { transform: translateX(-50%); } }
.nr-ff__depth { list-style: none; margin: 0; padding: 6px 8px; display: flex; flex-direction: column; justify-content: space-between; border-left: 1px solid rgba(var(--nr-a1),.35); text-align: right; color: var(--bs-secondary-color); font-size: 14px; }
.ff-bot { fill: var(--ff-bot); opacity: .55; }
.ff-bot2 { fill: none; stroke: var(--ff-bot2); stroke-width: 4; }
.ff-arch { fill: none; stroke: var(--ff-arch); stroke-width: 5; stroke-linecap: round; }
.ff-arch--hot { stroke: var(--ff-hot); }
.ff-clut { fill: var(--ff-clut); }
.nr-ffdata { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(var(--nr-a1),.35); }
.nr-ffdata .nr-df { padding: 10px 14px; border-bottom: 1px solid rgba(var(--nr-a1),.22); }
.nr-ffdata .nr-df:nth-child(odd) { border-right: 1px solid rgba(var(--nr-a1),.22); }
.nr-ffdata .nr-df:nth-last-child(-n+2) { border-bottom: 0; }
@media (min-width: 992px) {
  .nr-home__in { grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); }
  .nr-home__in > .nr-soft { grid-column: 1 / -1; }
  .nr-pane--chart { min-height: min(70svh, 640px); }
  .nr-pane__chart { position: absolute; left: 0; right: 0; top: 43px; bottom: 0; height: auto; border-bottom: 0; }
  .nr-home__title { position: relative; z-index: 2; margin: auto 0 0; margin: clamp(18px, 2.4vw, 30px); margin-top: auto; max-width: 470px; padding: clamp(20px, 2.4vw, 30px); border: 1px solid rgba(var(--nr-a1),.45); border-radius: 10px; background: rgba(var(--nr-g),.93); }
  .nr-route--home { left: 70%; right: 7%; top: 16%; bottom: 8%; }
}

/* The Gulf coast chart */
.nr-gulf { position: relative; aspect-ratio: 1190 / 512; background: var(--ch-dp); overflow: hidden; }
.nr-gulf__svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.nr-gulf__ov { position: absolute; inset: 0; pointer-events: none; display: none; }
.nr-gulf__lat, .nr-gulf__lon, .nr-gulf__snd { position: absolute; font-family: var(--mono); font-size: 14px; letter-spacing: .04em; color: var(--ch-tx); white-space: nowrap; }
.nr-gulf__lat { left: 6px; transform: translateY(-120%); }
.nr-gulf__lon { top: 4px; transform: translateX(6px); }
.nr-gulf__snd { transform: translate(-50%, -50%); font-style: italic; color: var(--ch-sn); }
.nr-gulf .nr-north { top: auto; bottom: 12px; right: 14px; }
.nr-scalebar--gulf { top: auto; bottom: 8px; right: auto; left: 12px; width: 10.08%; align-items: flex-start; }
.nr-scalebar--gulf i { width: 100%; }
.nr-wp { position: absolute; z-index: 2; display: none; align-items: center; gap: 6px; padding: 2px 8px; transform: translate(-50%, -50%); border: 1px solid rgba(var(--nr-a1),.6); border-radius: 6px; background: rgba(var(--nr-g),.92); color: var(--bs-body-color); font-family: var(--mono); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; text-decoration: none; transition: background .15s, color .15s; }
.nr-wp b { color: var(--nr-acc); font-weight: 700; }
.nr-wp span { display: none; }
.nr-wp:hover, .nr-wp.is-active { background: var(--teal); border-color: var(--teal); color: var(--ink); z-index: 3; }
.nr-wp:hover b, .nr-wp.is-active b { color: var(--ink); }
.nr-wp:hover span, .nr-wp.is-active span, .nr-wp.is-here span { display: inline; }
.nr-wp.is-here { display: inline-flex; background: var(--rt); border-color: var(--rt-case); color: #12190A; z-index: 3; }
.nr-wp.is-here b { color: #12190A; }
@media (min-width: 576px) { .nr-wp { display: inline-flex; } }
@media (min-width: 768px) { .nr-gulf__ov { display: block; } }
@media (max-width: 575.98px) { .nr-scalebar--gulf, .nr-gulf .nr-north { display: none; } }
.nr-wpgrid { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .nr-wpgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .nr-pane--gulf:not(.nr-ph__side) { grid-column: 1 / -1; } }
.nr-wpgrid .nr-range__out { margin: 0; min-height: 0; padding: 0; border-radius: 10px; background: var(--nr-bg); }
.nr-wpgrid .nr-range__out::before { content: none; }
.nr-regions .nr-mrow b { font-family: Anton, "Arial Narrow", sans-serif; font-weight: 400; text-transform: uppercase; font-size: max(14px, clamp(18px, 1.5vw, 21px)); line-height: 1; letter-spacing: .01em; }

/* Product page panes on the chart */
.nr-pdp[data-bs-theme] { background: var(--ch-dp); }
.nr-pdp__head, .nr-pdp__buy { padding: clamp(16px, 2vw, 22px); border: 1px solid rgba(var(--nr-a1),.4); border-radius: 10px; background: rgba(var(--nr-g),.94); }
.nr-stage { border-radius: 10px; background-color: rgba(var(--nr-g2),.94); }
.nr-slide--photo, .nr-thumb { background: #FFFFFF; }
.nr-slide--photo { border: 1px solid #DDDDDD; }

/* Grounds that read as screen bands */
.nr-cond[data-bs-theme], .nr-regions[data-bs-theme], .nr-journal[data-bs-theme], .nr-final[data-bs-theme], .nr-rband[data-bs-theme], .nr-spec[data-bs-theme], .nr-wear[data-bs-theme], .nr-timeline[data-bs-theme], .nr-runband[data-bs-theme] { background-color: var(--nr-bg2); }
.nr-muted { color: var(--bs-secondary-color); }
.nr-hero-fig--region { margin: 0; }
.nr-hero-fig--region img { aspect-ratio: 3 / 2; }

/* Static fallback for the round 3 keyframes */
@media (prefers-reduced-motion: reduce) {
  .nr-ff__strip, .nr-boat::after { animation: none !important; }
  .nr-boat::after { opacity: 0; }
}

/* ================================================================ Round 3b dial back, softened in round 3c */
/* The data column rides on the home, the buying pages and pages with facts of their own (round 3c) */
@media (min-width: 1200px) { .nr-screen:not(.nr-screen--data) { display: block; } }
@media (max-width: 1199.98px) { .nr-screen:not(.nr-screen--data) > .nr-footer[data-bs-theme] { padding-bottom: 24px; } }
@media (max-width: 767.98px) {
  .nr-screen:not(.nr-screen--data) > .nr-footer[data-bs-theme] { padding-bottom: 96px; }
  body[data-concept="05"]:not(:has(.nr-screen--data)) .nr-toast { bottom: 86px; }
}

/* Round 3c (meet in the middle): the readout strip on every page. Screen label once, the page, the clock, the cart */
.nr-ro .nr-ro__in { min-height: 38px; gap: 6px 12px; }
.nr-ro .nr-ro__id { flex: none; color: var(--nr-acc); }
.nr-ro .nr-ro__id i { display: block; width: 7px; height: 7px; animation: none; box-shadow: none; background: var(--nr-acc); }
.nr-ro .nr-ro__seg { color: var(--bs-secondary-color); }
.nr-ro .nr-ro__seg:first-of-type { color: var(--bs-body-color); }
.nr-ro .nr-ro__clk { margin-left: auto; color: var(--bs-secondary-color); }
.nr-ro .nr-ro__clk b { color: var(--bs-body-color); }
.nr-ro .nr-ro__cart { min-height: 38px; color: var(--bs-secondary-color); }
.nr-ro .nr-ro__cart b { color: var(--nr-acc); }
.nr-ro .nr-ro__cart:hover { color: var(--bs-body-color); }
@media (min-width: 768px) { .nr-ro .nr-ro__cart { margin-left: 0; padding-left: 12px; border-left: 1px solid rgba(var(--nr-a1),.3); } }
.nr-ro .nr-ro__scan { animation-duration: 16s; opacity: .7; }

/* The chart at about three quarters of round 3: depth bands a touch softer, four contours, 17 soundings */
.ch-md { fill-opacity: .9; }
.ch-sh { fill-opacity: .72; }
.nr-north__b, .nr-north text { fill: var(--ch-nn); }
.nr-north__a { stroke: var(--ch-nn); }
.nr-scalebar { color: var(--ch-nn); }
.nr-flag--d i { width: 12px; height: 12px; border-width: 2px; }
.nr-flag--d b { padding: 1px 6px; font-size: 14px; }

/* Motion: round 3's set at calmer speeds (scan line, sweep, ping, fishfinder, bob). The blinks and flickers stay still. */
.nr-log__scan, .nr-cam__scan { display: none !important; }
.nr-term__cursor::after, .nr-run .is-here i, .nr-lost__code, .nr-sonar__dot,
.nr-hero .eyebrow::before, .nr-ph .eyebrow::before { animation: none !important; }
.nr-sonar__ring { animation-duration: 7s; }
.nr-sonar__ring:nth-child(3) { animation-delay: 2.33s; }
.nr-sonar__ring:nth-child(4) { animation-delay: 4.66s; }
.nr-sonar__sweep { animation-duration: 9s; }
.nr-ff__strip { animation-duration: 42s; }
.nr-boat::after { animation-duration: 5s; }
.nr-slide__cut { animation-duration: 8s; }
.nr-ph .eyebrow::before { box-shadow: none; }

/* Hierarchy: headings and the primary button win, mono labels step back */
body[data-concept="05"] .nr-home h1, body[data-concept="05"] .nr-ph h1 { text-shadow: none; }
.nr-pane__bar, .nr-panel > .eyebrow:first-child, .nr-ph__box > .eyebrow:first-child, .nr-mfempty > .eyebrow:first-child { min-height: 38px; padding: 7px 14px; color: var(--bs-secondary-color); }
.nr-pane__bar::before, .nr-panel > .eyebrow:first-child::before, .nr-ph__box > .eyebrow:first-child::before, .nr-mfempty > .eyebrow:first-child::before { color: var(--nr-acc); border-color: var(--nr-acc); }
.nr-contact__tag, .nr-pdp__tag { color: var(--bs-secondary-color); }
.nr-sh .eyebrow { color: var(--bs-secondary-color); }
.nr-ph .lede, .nr-home .lede { font-family: Barlow, Arial, sans-serif; font-size: max(17px, clamp(17px, 1.4vw, 20px)); line-height: 1.5; }
.nr-pdp .nr-sk--go { background: var(--nr-bg); border-color: var(--teal); color: var(--bs-body-color); font-weight: 500; }
.nr-pdp .nr-sk--go:hover, .nr-pdp .nr-sk--go:focus-visible { background: var(--teal); color: var(--ink); }

/* Home: round 3's two-pane plotter screen (chart beside the sonar, softkeys under both) with one calm title panel */
.nr-home[data-bs-theme] { padding: clamp(12px, 1.6vw, 18px) 0 clamp(28px, 3.6vw, 48px); }
.nr-home__in { gap: 12px; }
.nr-home__title { padding: 22px 18px 24px; }
.nr-home .eyebrow { color: var(--bs-secondary-color); margin-bottom: .75rem; }
body[data-concept="05"] .nr-home h1 { margin: 0 0 .2em; }
.nr-home .nr-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin: 26px 0 0; }
.nr-quiet { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--bs-body-color); font-weight: 600; font-size: 17px; text-decoration: underline; text-decoration-color: rgba(var(--nr-a1),.6); text-underline-offset: 5px; white-space: nowrap; transition: color .2s, text-decoration-color .2s; }
.nr-quiet svg { width: 16px; height: 16px; flex: none; transition: transform .2s var(--ease); }
.nr-quiet:hover { color: var(--nr-acc); text-decoration-color: currentColor; }
.nr-quiet:hover svg { transform: translateX(3px); }
.nr-home .nr-hero__trust { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 18px 0 0; font-size: 15px; color: var(--bs-secondary-color); }
.nr-pane--ff { min-height: 0; }
.nr-pane--ff .nr-ff { flex: 1 1 auto; height: auto; min-height: 180px; }
.nr-ffdata .nr-df__v { font-size: 28px; }
.nr-home .nr-soft { gap: 8px; }
.nr-home .nr-sk { flex: 1 1 0; }
.ff-bot { opacity: .48; }
@media (min-width: 992px) {
  .nr-pane--chart { min-height: min(64svh, 600px); }
  .nr-pane--chart .nr-pane__chart { top: 39px; }
  .nr-home__title { max-width: 480px; margin: clamp(18px, 2.4vw, 30px); margin-top: auto; padding: clamp(22px, 2.6vw, 32px); background: rgba(var(--nr-g),.95); }
  .nr-route--home { left: 66%; right: 9%; top: 14%; bottom: 12%; }
  .nr-pane--ff .nr-ff { min-height: 220px; }
}
@media (max-width: 991.98px) {
  .nr-route--home { left: 50%; right: 12%; top: 24%; bottom: 14%; }
  .nr-pane--ff .nr-ff { flex: none; height: 170px; min-height: 0; }
  .nr-home .nr-sk { padding: 0 10px; letter-spacing: .08em; }
}

/* phones: a narrow chart cannot hold every waypoint label; keep the first and last */
@media (max-width: 575.98px) { .nr-flag b { display: none; } .nr-flag:first-of-type b, .nr-flag:last-of-type b { display: inline-block; } }
