/* =========================================================================
   N.C.I.S. Treasure Vault: oxblood, antique gold, parchment and a spotlight.
   ========================================================================= */
:root {
	--nc-black: #0d0705;
	--nc-vault: #1a0b06;
	--nc-mahogany: #2b120a;
	--nc-oxblood: #5c1406;
	--nc-brand: #7f2001;
	--nc-ember: #b5491b;
	--nc-gold: #e0a43a;
	--nc-gold-hi: #ffd57a;
	--nc-gold-deep: #a8701c;
	--nc-parch: #f5ead3;
	--nc-parch-2: #ead8b2;
	--nc-manila: #ecd7a6;
	--nc-ink: #2a1a10;
	--nc-ink-soft: #5b4636;
	--nc-diamond: #6fd6ec;
	--nc-stamp: #c0262d;
	--nc-display: "Playfair Display", Georgia, serif;
	--nc-type: "Special Elite", "Courier New", monospace;
	--nc-body: "Source Sans 3", "Segoe UI", Arial, sans-serif;
	--nc-ease: cubic-bezier(.2,.7,.2,1);
	--nc-paper-tex: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .22 0 0 0 0 .1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");

	--ts-surface: #fffaf0;
	--ts-surface-2: #efe1c1;
	--ts-text: var(--nc-ink);
	--ts-muted: var(--nc-ink-soft);
	--ts-border: rgba(92,20,6,.2);
	--ts-accent: var(--nc-brand);
	--ts-accent-ink: #fff3dc;
	--ts-sold: var(--nc-stamp);
	--ts-pending: #b06d00;
	--ts-new: #0f6f82;
	--ts-display: var(--nc-display);
	--ts-radius: 6px;
	--ts-sticky-top: 96px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--nc-parch) var(--nc-paper-tex); color: var(--nc-ink); font: 400 1.075rem/1.65 var(--nc-body); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: var(--nc-brand); text-underline-offset: 3px; }
a:hover { color: var(--nc-ember); }
h1, h2, h3 { font-family: var(--nc-display); line-height: 1.1; color: var(--nc-ink); }
h2 { font-size: clamp(1.9rem, 3.8vw, 3rem); font-weight: 900; }
::selection { background: var(--nc-gold); color: var(--nc-ink); }
:focus-visible { outline: 3px solid var(--nc-gold); outline-offset: 2px; }
.nc-wrap { width: min(1260px, 100% - 2 * clamp(16px, 4vw, 40px)); margin-inline: auto; }
.nc-center { text-align: center; margin-top: 2.4rem; }
.nc-type { font-family: var(--nc-type); letter-spacing: .04em; }
.skip-link { position: absolute; left: -999px; top: 8px; z-index: 1000; background: var(--nc-gold); color: #000; padding: 8px 14px; }
.skip-link:focus { left: 8px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

/* Buttons */
.nc-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .95em 1.7em; border-radius: 4px; border: 2px solid transparent; font: 800 .95rem/1 var(--nc-body); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: transform .2s var(--nc-ease), box-shadow .25s, background .25s, color .25s; position: relative; }
.nc-btn--gold { background: linear-gradient(180deg, #ffe08f, #e0a43a 50%, #b97b1d); color: #2a1406; border-color: #ffdb84; box-shadow: 0 4px 0 #7a4a0c, 0 10px 24px rgba(0,0,0,.35); text-shadow: 0 1px 0 rgba(255,255,255,.4); }
.nc-btn--gold:hover { color: #1a0b06; transform: translateY(-2px); box-shadow: 0 6px 0 #7a4a0c, 0 16px 34px rgba(224,164,58,.35); }
.nc-btn--gold:active { transform: translateY(3px); box-shadow: 0 1px 0 #7a4a0c; }
.nc-btn--outline { color: var(--nc-gold-hi); border-color: rgba(255,213,122,.7); background: rgba(13,7,5,.35); }
.nc-btn--outline:hover { color: #1a0b06; background: var(--nc-gold-hi); }
.nc-btn--oxblood { background: var(--nc-brand); color: #fff3dc; box-shadow: 0 4px 0 #3d0d03; }
.nc-btn--oxblood:hover { color: #fff; background: var(--nc-ember); transform: translateY(-2px); }
.nc-btn--small { padding: .75em 1.2em; font-size: .82rem; }

/* ---------------------------------------------------------------- top bar + header */
.nc-topbar { background: var(--nc-brand); color: #f7dcb0; font-size: .88rem; }
.nc-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 38px; }
.nc-topbar p { margin: 0; }
.nc-topbar__msg .nc-type { color: var(--nc-gold-hi); margin-right: .6em; }
.nc-topbar__links { display: flex; gap: 22px; }
.nc-topbar a { color: #fff1d6; text-decoration: none; }
.nc-topbar a:hover { color: var(--nc-gold-hi); }
.nc-header { position: sticky; top: 0; z-index: 50; background: linear-gradient(180deg, #24100a, var(--nc-vault)); border-bottom: 3px double var(--nc-gold-deep); transition: box-shadow .3s; }
.nc-header.is-scrolled { box-shadow: 0 10px 30px rgba(0,0,0,.45); }
.admin-bar .nc-header { top: 32px; }
.nc-header__inner { display: flex; align-items: center; gap: 24px; min-height: 80px; }
.nc-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.nc-brand__chest { width: 54px; height: 54px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.5)); transition: transform .4s var(--nc-ease); }
.nc-brand:hover .nc-brand__chest { transform: rotate(-8deg) scale(1.08); }
.nc-brand__text { display: grid; line-height: 1; }
.nc-brand__name { font: 900 1.7rem/1 var(--nc-display); color: transparent; -webkit-text-stroke: 1.2px var(--nc-gold); letter-spacing: .04em; background: linear-gradient(180deg, #ffe7a6, #e0a43a); -webkit-background-clip: text; background-clip: text; }
.nc-brand__sub { font: 700 .82rem/1.2 var(--nc-display); letter-spacing: .18em; text-transform: uppercase; color: var(--nc-gold); margin-top: 4px; }
.nc-nav { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.nc-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.nc-nav__list a { display: block; padding: 10px 12px; color: #f3dfbd; text-decoration: none; font-weight: 700; font-size: .98rem; white-space: nowrap; border-radius: 4px; transition: color .2s, background .2s; }
.nc-nav__list a:hover { color: var(--nc-gold-hi); background: rgba(255,213,122,.08); }
.nc-nav__list .current-menu-item > a, .nc-nav__list .current_page_item > a { color: var(--nc-gold-hi); box-shadow: inset 0 -2px 0 var(--nc-gold); border-radius: 0; }
.nc-menu-toggle { display: none; margin-left: auto; align-items: center; gap: 10px; background: none; border: 1px solid rgba(224,164,58,.5); color: var(--nc-gold-hi); padding: 10px 14px; border-radius: 4px; font: 700 .9rem var(--nc-body); cursor: pointer; }
.nc-menu-toggle__bars, .nc-menu-toggle__bars::before, .nc-menu-toggle__bars::after { display: block; width: 20px; height: 2px; background: currentColor; position: relative; transition: transform .3s, background .3s; }
.nc-menu-toggle__bars::before, .nc-menu-toggle__bars::after { content: ""; position: absolute; left: 0; }
.nc-menu-toggle__bars::before { top: -6px; } .nc-menu-toggle__bars::after { top: 6px; }
.nc-menu-toggle[aria-expanded="true"] .nc-menu-toggle__bars { background: transparent; }
.nc-menu-toggle[aria-expanded="true"] .nc-menu-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
.nc-menu-toggle[aria-expanded="true"] .nc-menu-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

/* ---------------------------------------------------------------- hero */
.nc-hero { position: relative; overflow: hidden; isolation: isolate; color: #f5e3c4; padding: clamp(50px, 7vw, 100px) 0 clamp(60px, 8vw, 110px);
	background: radial-gradient(55% 75% at 72% 45%, rgba(224,164,58,.22), transparent 70%), radial-gradient(80% 60% at 20% 0%, rgba(127,32,1,.45), transparent 70%), linear-gradient(180deg, #1c0a05, var(--nc-black)); }
.nc-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 16px; background: repeating-linear-gradient(90deg, var(--nc-gold-deep) 0 22px, #6b440f 22px 26px); opacity: .9; z-index: 2; }
.nc-hero__rays { position: absolute; z-index: -1; width: 1400px; height: 1400px; right: -300px; top: 50%; margin-top: -700px; border-radius: 50%;
	background: repeating-conic-gradient(from 0deg, rgba(255,213,122,.12) 0deg 6deg, transparent 6deg 18deg);
	-webkit-mask-image: radial-gradient(circle, #000 0%, transparent 62%); mask-image: radial-gradient(circle, #000 0%, transparent 62%);
	animation: nc-spin 90s linear infinite; }
.nc-hero__rays--soft { opacity: .6; right: -500px; }
@keyframes nc-spin { to { transform: rotate(360deg); } }
.nc-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(20px, 4vw, 60px); align-items: center; }
.nc-hero__kicker { color: var(--nc-gold); font-size: 1rem; margin: 0 0 .6rem; }
.nc-hero__title { margin: 0; display: grid; gap: .05em; color: inherit; }
.nc-outline { font: 900 clamp(3.6rem, 9vw, 7.4rem)/.9 var(--nc-display); letter-spacing: .02em; color: transparent; -webkit-text-stroke: 2px var(--nc-gold);
	background: linear-gradient(100deg, transparent 0 40%, rgba(255,226,150,.95) 48%, rgba(255,213,122,.6) 52%, transparent 60% 100%); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text;
	animation: nc-glint 6s ease-in-out infinite; text-shadow: 0 0 30px rgba(224,164,58,.15); }
.nc-outline--sub { font-size: clamp(2rem, 4.8vw, 3.9rem); -webkit-text-stroke-width: 1.5px; animation-delay: .5s; }
@keyframes nc-glint { 0%, 15% { background-position: 100% 0; } 60%, 100% { background-position: -50% 0; } }
.nc-hero__tagline { font: italic 800 clamp(1.5rem, 3vw, 2.3rem)/1.15 var(--nc-display); color: var(--nc-gold-hi); margin: .5em 0 .4em; }
.nc-hero__lead { max-width: 54ch; color: #e9d3b0; font-size: 1.15rem; margin: 0 0 1.6em; }
.nc-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.nc-hero__chips { list-style: none; margin: 1.8em 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.nc-hero__chips li { padding: 7px 14px; border-radius: 999px; background: rgba(255,213,122,.08); border: 1px solid rgba(255,213,122,.3); font-size: .92rem; color: #f0d9b4; }
.nc-hero__chips strong { color: var(--nc-gold-hi); }
.nc-hero__copy--center { text-align: center; display: grid; justify-items: center; }
.nc-hero--404 { min-height: 70vh; display: grid; align-content: center; }
.nc-hero__art { position: relative; aspect-ratio: 1; max-width: 560px; justify-self: center; width: 100%; }
.nc-hero__glow { position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle, rgba(255,213,122,.5), rgba(224,164,58,.15) 45%, transparent 70%); filter: blur(10px); animation: nc-pulse 4s ease-in-out infinite; }
@keyframes nc-pulse { 50% { transform: scale(1.08); opacity: .8; } }
.nc-hero__chest { position: relative; z-index: 2; width: 100%; height: auto; filter: drop-shadow(0 30px 40px rgba(0,0,0,.6)); animation: nc-float 6s ease-in-out infinite; }
@keyframes nc-float { 50% { transform: translateY(-12px) rotate(-1deg); } }
.nc-coins { position: absolute; inset: -10% 0 0; z-index: 3; pointer-events: none; overflow: hidden; }
.nc-coin { position: absolute; top: -40px; width: var(--s, 22px); height: var(--s, 22px); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3c0, #f2c14e 40%, #b4791a 75%, #7a4a0c); box-shadow: inset 0 0 0 2px rgba(122,74,12,.6); animation: nc-fall var(--t, 4s) linear var(--d, 0s) infinite; }
.nc-coin::after { content: "$"; position: absolute; inset: 0; display: grid; place-items: center; font: 900 calc(var(--s, 22px) * .55)/1 var(--nc-display); color: rgba(122,74,12,.75); }
@keyframes nc-fall { 0% { transform: translateY(0) rotateY(0); opacity: 0; } 10% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateY(620px) rotateY(1080deg); opacity: 0; } }
.nc-spark { position: absolute; z-index: 4; left: var(--x); top: var(--y); width: 26px; height: 26px; background: #fff; clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%); animation: nc-twinkle 3s ease-in-out var(--d) infinite; opacity: 0; filter: drop-shadow(0 0 6px #fff); }
@keyframes nc-twinkle { 0%, 100% { opacity: 0; transform: scale(.2) rotate(0); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }

/* Ticker */
.nc-ticker { overflow: hidden; background: var(--nc-oxblood); border-block: 2px solid var(--nc-gold-deep); color: var(--nc-gold-hi); padding: 12px 0; }
.nc-ticker__track { display: flex; width: max-content; animation: nc-marquee 38s linear infinite; }
.nc-ticker span { font: 400 1.05rem/1 var(--nc-type); text-transform: uppercase; letter-spacing: .12em; white-space: nowrap; padding: 0 22px; }
.nc-ticker span::after { content: "✦"; margin-left: 44px; color: var(--nc-gold); }
@keyframes nc-marquee { to { transform: translateX(-50%); } }

/* ---------------------------------------------------------------- sections */
.nc-section { padding: clamp(60px, 8vw, 110px) 0; position: relative; }
.nc-paper { background: var(--nc-parch) var(--nc-paper-tex); }
.nc-paper--alt { background-color: var(--nc-parch-2); }
.nc-head { text-align: center; margin-bottom: clamp(30px, 5vw, 54px); }
.nc-head__kicker { color: var(--nc-brand); margin: 0 0 .4rem; font-size: 1.05rem; }
.nc-head__kicker::before, .nc-head__kicker::after { content: "—"; margin: 0 .6em; color: var(--nc-gold-deep); }
.nc-head__title { margin: 0; }
.nc-head__sub { margin: .7em auto 0; max-width: 60ch; color: var(--nc-ink-soft); font-size: 1.1rem; }
.nc-head--light .nc-head__title { color: #fbe9c8; }
.nc-head--light .nc-head__kicker { color: var(--nc-gold); }
.nc-head--light .nc-head__sub { color: #e2c9a2; }

/* Lot tags (cards) */
.nc-lots, .ts-grid { gap: clamp(18px, 2.4vw, 30px) clamp(14px, 2vw, 26px); }
.nc-lot { transition: transform .4s var(--nc-ease); }
.nc-lot:nth-child(odd) { transform: rotate(-1.2deg); }
.nc-lot:nth-child(even) { transform: rotate(1deg); }
.nc-lot:hover { transform: rotate(0) translateY(-6px); z-index: 2; }
.nc-lot .ts-card__media { border-radius: 4px; border: 6px solid #fffaf0; box-shadow: 0 2px 0 rgba(0,0,0,.08), 0 14px 28px rgba(60,25,10,.28); }
.nc-lot__tag { position: relative; margin: -14px 10px 0; padding: 26px 16px 16px; background: var(--nc-manila) var(--nc-paper-tex); color: var(--nc-ink);
	clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%, 0 14px); box-shadow: 0 10px 18px rgba(60,25,10,.18); z-index: 2; text-align: center; }
.nc-lot__hole { position: absolute; left: 50%; top: 8px; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--nc-parch); box-shadow: inset 0 1px 2px rgba(0,0,0,.4), 0 0 0 3px rgba(168,112,28,.5); }
.nc-lot__no { display: inline-block; font: 400 .82rem/1 var(--nc-type); color: var(--nc-brand); letter-spacing: .14em; text-transform: uppercase; border-bottom: 1px dashed rgba(127,32,1,.5); padding-bottom: 3px; }
.nc-lot .ts-card__price { font: 900 1.55rem/1.1 var(--nc-display); color: var(--nc-brand); margin-top: 6px; }
.nc-lot .ts-card__title { font-family: var(--nc-body); font-size: 1rem; font-weight: 700; color: var(--nc-ink); }
.nc-lot .ts-card__meta { color: var(--nc-ink-soft); }
.ts-card--sold .nc-lot__tag { background-color: #e2d6bd; }

/* Badges: SOLD! as a red rubber stamp, Pending in amber, New lot as a diamond-blue tag */
.ts-badge { border-radius: 3px; }
.ts-badge--new { top: 10px; left: 10px; background: linear-gradient(135deg, #8de4f3, #2aa9c4); color: #062a33; font-family: var(--nc-body); letter-spacing: .1em; box-shadow: 0 3px 10px rgba(0,0,0,.25); }
.ts-badge--sold, .ts-badge--pending {
	top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-14deg);
	padding: .18em .5em; background: rgba(255,250,240,.82); color: var(--nc-stamp);
	border: 4px double currentColor; border-radius: 8px;
	font: 900 clamp(1.4rem, 3.4vw, 2.2rem)/1 var(--nc-display); letter-spacing: .08em;
	box-shadow: none; text-shadow: none;
	-webkit-mask-image: var(--nc-stamp-mask); mask-image: var(--nc-stamp-mask);
	--nc-stamp-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
	animation: nc-stamp .5s cubic-bezier(.2,1.6,.4,1) both;
}
.ts-badge--pending { color: #a35f00; font-size: clamp(1.1rem, 2.6vw, 1.6rem); }
@keyframes nc-stamp { from { transform: translate(-50%, -50%) rotate(-14deg) scale(2.2); opacity: 0; } to { transform: translate(-50%, -50%) rotate(-14deg) scale(1); opacity: 1; } }
.ts-gallery__main .ts-badge--sold, .ts-gallery__main .ts-badge--pending { font-size: clamp(2.6rem, 6vw, 4.4rem); }
.ts-card--sold .ts-card__img { filter: grayscale(.5) sepia(.25) brightness(.9); }

/* Category seals */
.nc-seals { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 16px; }
.nc-seals .ts-cat-tile { background: #fffaf0; border: 1px solid rgba(92,20,6,.18); box-shadow: 0 6px 14px rgba(60,25,10,.1); padding: 22px 12px 18px; transition: transform .3s var(--nc-ease), box-shadow .3s; }
.nc-seals .ts-cat-tile:hover { transform: translateY(-5px); box-shadow: 0 16px 30px rgba(60,25,10,.2); }
.nc-seals .ts-cat-tile__icon { width: 64px; height: 64px; padding: 15px; border-radius: 50%; color: var(--nc-gold-hi); background: radial-gradient(circle at 35% 30%, #b13a1a, var(--nc-brand) 50%, #3d0d03); box-shadow: 0 0 0 4px rgba(127,32,1,.15), inset 0 -4px 8px rgba(0,0,0,.35), 0 4px 8px rgba(0,0,0,.25); }
.nc-seals .ts-cat-tile__name { font-family: var(--nc-display); font-size: 1.05rem; color: var(--nc-ink); }

/* Treasure map (sellers) */
.nc-map { color: #f3dfbd; background:
	radial-gradient(70% 90% at 50% 50%, rgba(224,164,58,.1), transparent 70%),
	repeating-linear-gradient(0deg, rgba(224,164,58,.06) 0 1px, transparent 1px 60px),
	repeating-linear-gradient(90deg, rgba(224,164,58,.06) 0 1px, transparent 1px 60px),
	linear-gradient(180deg, #2b120a, #1a0b06); overflow: hidden; }
.nc-map::before { content: ""; position: absolute; right: -60px; top: -60px; width: 300px; height: 300px; opacity: .14; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23e0a43a'%3E%3Ccircle cx='50' cy='50' r='46'/%3E%3Ccircle cx='50' cy='50' r='38' stroke-dasharray='2 3'/%3E%3Cpath d='M50 4 56 44 96 50 56 56 50 96 44 56 4 50 44 44Z' fill='%23e0a43a' fill-opacity='.4'/%3E%3Cpath d='M50 20 53 47 80 50 53 53 50 80 47 53 20 50 47 47Z'/%3E%3C/svg%3E") center / contain no-repeat; animation: nc-spin 120s linear infinite; }
.nc-route { list-style: none; margin: 0; padding: 30px 0 10px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; position: relative; }
.nc-route::before { content: ""; position: absolute; left: 4%; right: 4%; top: 30px; bottom: 10px; z-index: 0; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 300' preserveAspectRatio='none'%3E%3Cpath d='M0 80 C 100 10, 150 10, 200 120 S 320 260, 400 170 S 520 20, 600 110 S 720 280, 800 170 S 920 40, 1000 120' fill='none' stroke='%23e0a43a' stroke-width='4' stroke-dasharray='14 12' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat; opacity: .7; }
.nc-route__stop { position: relative; z-index: 1; }
.nc-route__stop:nth-child(even) { margin-top: 70px; }
.nc-route__stop a { display: grid; gap: 6px; height: 100%; padding: 46px 18px 22px; text-align: center; text-decoration: none; color: var(--nc-ink); background: var(--nc-parch) var(--nc-paper-tex); border-radius: 6px; box-shadow: 0 18px 40px rgba(0,0,0,.45); transition: transform .35s var(--nc-ease); }
.nc-route__stop a:hover { transform: translateY(-8px) rotate(-1deg); color: var(--nc-ink); }
.nc-route__x { position: absolute; left: 50%; top: -26px; width: 56px; height: 56px; margin-left: -28px; display: grid; place-items: center; border-radius: 50%; background: var(--nc-stamp); color: #fff; font: 900 1.6rem/1 var(--nc-display); box-shadow: 0 0 0 5px rgba(192,38,45,.25), 0 8px 16px rgba(0,0,0,.4); }
.nc-route__no { color: var(--nc-brand); font-size: .85rem; }
.nc-route__stop strong { font: 900 1.25rem/1.15 var(--nc-display); }
.nc-route__stop span:last-child { font-size: .98rem; color: var(--nc-ink-soft); }

/* Ways to shop */
.nc-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nc-way { display: grid; gap: 8px; align-content: start; padding-bottom: 22px; text-decoration: none; color: var(--nc-ink); background: #fffaf0; border-radius: 8px; overflow: hidden; box-shadow: 0 10px 26px rgba(60,25,10,.14); transition: transform .35s var(--nc-ease), box-shadow .35s; }
.nc-way:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(60,25,10,.24); color: var(--nc-ink); }
.nc-way__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--nc-vault); }
.nc-way__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--nc-ease); }
.nc-way:hover .nc-way__img img { transform: scale(1.06); }
.nc-way__img--chest { display: grid; place-items: center; background: radial-gradient(circle, rgba(224,164,58,.35), transparent 65%), var(--nc-vault); }
.nc-way__img--chest img { width: 62%; height: auto; object-fit: contain; }
.nc-way__tag { margin: 8px 22px 0; color: var(--nc-brand); font-size: .9rem; }
.nc-way strong { margin: 0 22px; font: 900 1.4rem/1.15 var(--nc-display); }
.nc-way > span:last-child { margin: 0 22px; color: var(--nc-ink-soft); }

/* Promise band */
.nc-promise { background: radial-gradient(60% 120% at 50% 0%, rgba(224,164,58,.25), transparent 70%), var(--nc-brand); color: #fbe5c0; text-align: center; padding: clamp(50px, 7vw, 90px) 0; border-block: 3px double var(--nc-gold); }
.nc-promise .nc-type { color: var(--nc-gold-hi); margin: 0; }
.nc-promise blockquote { margin: .4em auto; max-width: 30ch; font: italic 800 clamp(1.6rem, 3.4vw, 2.6rem)/1.25 var(--nc-display); color: #fff1d6; }
.nc-promise p:last-child { margin: 0; color: #f0cfa0; }

/* Welcome + business card */
.nc-card-cta { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.nc-welcome h2 { margin-top: 0; }
.nc-welcome p { font-size: 1.15rem; }
.nc-bizcard { position: relative; aspect-ratio: 1.75; padding: 8% 9%; border-radius: 10px; background: radial-gradient(80% 90% at 80% 80%, rgba(224,164,58,.18), transparent 60%), #050302; color: var(--nc-gold); box-shadow: 0 30px 60px rgba(30,10,4,.45), inset 0 0 0 1px rgba(224,164,58,.25); transform: rotate(2deg); transition: transform .5s var(--nc-ease); overflow: hidden; }
.nc-bizcard:hover { transform: rotate(0) scale(1.02); }
.nc-bizcard p { margin: 0; }
.nc-bizcard__name { font: 900 clamp(1.4rem, 2.6vw, 2.1rem)/1.05 var(--nc-display); color: transparent; -webkit-text-stroke: 1.2px var(--nc-gold); text-align: center; margin-bottom: 6% !important; }
.nc-bizcard__person { font: 700 clamp(1.1rem, 2vw, 1.5rem)/1.1 var(--nc-display); color: transparent; -webkit-text-stroke: 1px #c9c4bb; }
.nc-bizcard__phone a { font: 700 clamp(1rem, 1.8vw, 1.3rem)/1.4 var(--nc-display); color: transparent; -webkit-text-stroke: .8px #c9c4bb; text-decoration: none; }
.nc-bizcard__line { font-size: .85rem; font-weight: 700; color: #c9a36a; margin-top: 4px !important; }
.nc-bizcard__line a { color: #c9a36a; }
.nc-bizcard__chest { position: absolute; right: 7%; bottom: 10%; width: 22%; height: auto; }
.nc-bizcard--small { transform: none; aspect-ratio: auto; padding: 26px; }
.nc-bizcard--small .nc-bizcard__chest { display: none; }

/* ---------------------------------------------------------------- page */
.nc-page-hero { position: relative; overflow: hidden; isolation: isolate; text-align: center; padding: clamp(50px, 8vw, 100px) 0 clamp(50px, 7vw, 90px); color: #f5e3c4; background: radial-gradient(60% 100% at 50% 0%, rgba(224,164,58,.25), transparent 70%), linear-gradient(180deg, #1c0a05, var(--nc-black)); }
.nc-page-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: repeating-linear-gradient(90deg, var(--nc-gold-deep) 0 22px, #6b440f 22px 26px); }
.nc-page-hero .nc-hero__rays { right: 50%; margin-right: -700px; }
.nc-page-hero__title { margin: 0; font: 900 clamp(2.4rem, 6vw, 4.6rem)/1 var(--nc-display); color: transparent; -webkit-text-stroke: 1.6px var(--nc-gold); background: linear-gradient(180deg, rgba(255,231,166,.35), rgba(224,164,58,.1)); -webkit-background-clip: text; background-clip: text; }
.nc-page__paper { padding: clamp(40px, 6vw, 80px) 0 clamp(60px, 8vw, 110px); }
.nc-page__body--side { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 50px); align-items: start; }
.nc-doc { position: relative; max-width: 860px; margin: 0 auto; padding: clamp(36px, 5vw, 64px) clamp(22px, 5vw, 64px) clamp(28px, 4vw, 50px); background: #fffaf0 var(--nc-paper-tex); border-radius: 4px; box-shadow: 0 1px 0 rgba(0,0,0,.06), 0 20px 50px rgba(60,25,10,.16); font-size: 1.1rem; }
.nc-page__body--side .nc-doc { margin: 0; max-width: none; }
.nc-doc__seal { position: absolute; left: 50%; top: -30px; width: 64px; height: 64px; margin-left: -32px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #b13a1a, var(--nc-brand) 55%, #3d0d03); box-shadow: 0 6px 14px rgba(0,0,0,.35); }
.nc-doc__seal img { width: 40px; height: 40px; }
.nc-doc h2 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin: 1.4em 0 .4em; color: var(--nc-brand); }
.nc-doc h2:first-child { margin-top: 0; }
.nc-doc h3 { font-size: 1.3rem; margin: 1.2em 0 .3em; }
.nc-doc ul { padding-left: 0; list-style: none; }
.nc-doc li { position: relative; padding-left: 30px; margin-bottom: .55em; }
.nc-doc li::before { content: "✦"; position: absolute; left: 4px; top: 0; color: var(--nc-gold-deep); }
.nc-doc blockquote { margin: 1.4em 0; padding: 1em 1.4em; background: var(--nc-parch-2); border-left: 4px solid var(--nc-brand); font: italic 700 1.2rem/1.45 var(--nc-display); }
.nc-doc .ts-form-wrap { margin-top: 2em; }
.nc-doc img { border-radius: 6px; box-shadow: 0 10px 24px rgba(60,25,10,.2); }
.nc-doc .nc-anchor { scroll-margin-top: 120px; }
.nc-side { display: grid; gap: 18px; position: sticky; top: 120px; }
.nc-side__card { display: grid; gap: 4px; padding: 20px 22px; background: var(--nc-brand); color: #fbe5c0; border-radius: 6px; text-decoration: none; box-shadow: 0 10px 24px rgba(60,25,10,.25); }
.nc-side__card:hover { background: var(--nc-ember); color: #fff; }
.nc-side__card strong { font: 900 1.3rem/1.2 var(--nc-display); }
.nc-posts { display: grid; gap: 30px; }
.nc-doc--card h2 a { color: var(--nc-ink); text-decoration: none; }

/* ---------------------------------------------------------------- shop (Treasure Sync) */
.nc-shop-band { background: linear-gradient(90deg, var(--nc-oxblood), var(--nc-brand), var(--nc-oxblood)); color: #fbe5c0; border-bottom: 3px double var(--nc-gold-deep); }
.nc-shop-band__inner { display: flex; align-items: center; gap: 14px; min-height: 76px; }
.nc-shop-band img { width: 52px; height: 52px; }
.nc-shop-band p { margin: 0; font-weight: 600; }
.nc-shop-band .nc-type { color: var(--nc-gold-hi); margin-right: 10px; font-size: 1.1rem; }
.ts-results__title { font-weight: 900; font-size: clamp(2rem, 4vw, 3.1rem); color: var(--nc-ink); }
.ts-sidebar__title { font-family: var(--nc-type); font-weight: 400; color: var(--nc-brand); letter-spacing: .08em; text-transform: uppercase; }
.ts-search input { background: #fffaf0; border-color: rgba(92,20,6,.25); }
.ts-cat { font-weight: 600; }
.ts-cat__icon { color: var(--nc-brand); background: #fffaf0; box-shadow: inset 0 0 0 1px rgba(92,20,6,.18); }
.ts-cat:hover { background: rgba(127,32,1,.07); }
.ts-cat.is-active { background: rgba(127,32,1,.1); color: var(--nc-brand); }
.ts-cat.is-active .ts-cat__icon { background: var(--nc-brand); color: var(--nc-gold-hi); }
.ts-filter-box summary { color: var(--nc-brand); }
.ts-btn { border-radius: 4px; text-transform: uppercase; letter-spacing: .05em; font-size: .9rem; font-weight: 800; }
.ts-btn--call { background: linear-gradient(180deg, #ffe08f, #e0a43a 50%, #b97b1d); border-color: #c98c26; color: #2a1406; }
.ts-item__title { font-weight: 900; font-size: clamp(2rem, 4vw, 3rem); }
.ts-item__price { font-family: var(--nc-display); font-weight: 900; color: var(--nc-brand); font-size: clamp(2rem, 4vw, 2.8rem); }
.ts-item__status { font-family: var(--nc-type); font-weight: 400; letter-spacing: .1em; }
.ts-item__note { background: #fff3d6; border-left: 4px solid var(--nc-gold-deep); }
.ts-gallery__main { border: 8px solid #fffaf0; box-shadow: 0 20px 44px rgba(60,25,10,.25); }
.ts-facts { background: rgba(92,20,6,.15); }
.ts-facts div { background: #fffaf0; }
.ts-facts dt { font-family: var(--nc-type); color: var(--nc-brand); }
.ts-form-wrap { background: #fffaf0 var(--nc-paper-tex); box-shadow: 0 12px 30px rgba(60,25,10,.12); }
.ts-form__heading { color: var(--nc-brand); font-weight: 900; }
.ts-related__title { font-weight: 900; }
.ts-card:not(.nc-lot) .ts-card__price { font-family: var(--nc-display); color: var(--nc-brand); }

/* ---------------------------------------------------------------- footer */
.nc-footer { position: relative; background: linear-gradient(180deg, var(--nc-vault), #0a0403); color: #d9bf95; padding-top: 60px; }
.nc-footer__coins { position: absolute; left: 0; right: 0; top: 0; height: 18px; background: radial-gradient(circle at 9px 9px, #f2c14e 0 6px, #a8701c 7px, transparent 8px) 0 0 / 22px 18px repeat-x; opacity: .85; }
.nc-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.4fr; gap: 36px; padding-bottom: 40px; }
.nc-footer__brand p { max-width: 36ch; color: #c6a87c; }
.nc-footer__title { font: 400 1rem/1 var(--nc-type); color: var(--nc-gold); letter-spacing: .1em; text-transform: uppercase; margin: 8px 0 16px; }
.nc-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.nc-footer__links a { color: #ead2aa; text-decoration: none; }
.nc-footer__links a:hover { color: var(--nc-gold-hi); }
.nc-family { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.nc-family a { display: grid; gap: 2px; padding: 12px 14px; border-radius: 6px; background: rgba(255,213,122,.05); border: 1px solid rgba(224,164,58,.25); text-decoration: none; }
.nc-family a:hover { background: rgba(255,213,122,.12); }
.nc-family strong { color: var(--nc-gold-hi); font-family: var(--nc-display); }
.nc-family span { color: #c6a87c; font-size: .92rem; }
.nc-footer__legal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 18px 0 26px; border-top: 1px solid rgba(224,164,58,.2); font-size: .88rem; color: #a88a62; }
.nc-footer__legal p { margin: 0; }
.nc-footer__legal a { color: #a88a62; }

/* ---------------------------------------------------------------- motion */
[data-nc-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--nc-ease), transform .8s var(--nc-ease); transition-delay: calc(var(--d, 0) * 90ms); }
[data-nc-reveal].is-in { opacity: 1; transform: none; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1140px) {
	.nc-menu-toggle { display: inline-flex; }
	.nc-nav { position: fixed; left: 0; right: 0; top: var(--nc-nav-top, 118px); flex-direction: column; align-items: stretch; gap: 0; padding: 10px 20px 24px; background: #170905; border-bottom: 3px double var(--nc-gold-deep); transform: translateY(-10px); opacity: 0; visibility: hidden; transition: all .3s var(--nc-ease); max-height: calc(100vh - 120px); overflow: auto; }
	.nc-nav.is-open { transform: none; opacity: 1; visibility: visible; }
	.nc-nav__list { flex-direction: column; }
	.nc-nav__list a { padding: 14px 4px; border-bottom: 1px solid rgba(224,164,58,.15); font-size: 1.05rem; }
	.nc-nav__cta { margin-top: 16px; }
	.nc-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
	.nc-hero__grid, .nc-card-cta, .nc-page__body--side { grid-template-columns: 1fr; }
	.nc-hero__art { max-width: 380px; order: -1; }
	.nc-route { grid-template-columns: 1fr; gap: 44px; padding-left: 0; }
	.nc-route::before { left: 50%; right: auto; width: 4px; top: 0; bottom: 0; margin-left: -2px; background: repeating-linear-gradient(180deg, var(--nc-gold) 0 14px, transparent 14px 26px); opacity: .6; }
	.nc-route__stop:nth-child(even) { margin-top: 0; }
	.nc-ways { grid-template-columns: 1fr; max-width: 520px; margin: auto; }
	.nc-side { position: static; }
	.nc-topbar__msg { display: none; }
	.nc-topbar__inner { justify-content: center; }
}
@media (max-width: 600px) {
	.nc-footer__grid { grid-template-columns: 1fr; }
	.nc-topbar__links { gap: 14px; font-size: .86rem; }
	.nc-topbar__links a { white-space: nowrap; }
	.nc-topbar__links a + a { display: none; } /* Facebook link stays in the footer and on every listing */
	.nc-brand__name { font-size: 1.4rem; }
	.nc-lot:nth-child(n) { transform: none; }
	.nc-lot__tag { margin: -10px 4px 0; padding: 22px 8px 12px; }
	.nc-lot .ts-card__price { font-size: 1.3rem; }
	.nc-bizcard { aspect-ratio: auto; padding: 28px 22px 70px; }
}
@media (max-width: 782px) { .admin-bar .nc-header { top: 46px; } }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	[data-nc-reveal] { opacity: 1; transform: none; }
	.nc-coins, .nc-spark { display: none; }
}
