@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300;0,500;0,600;0,900;1,500&family=Inter:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root{
  --bg:#1B1D19;
  --bg-alt:#141610;
  --panel:#F1E8D3;
  --ink:#1B1D19;
  --paper:#ECE4D0;
  --paper-dim:#B9B29C;
  --brass:#C7A25B;
  --brass-dim:#8A7548;
  --hazard:#B8492B;
  --hazard-dim:#8f3a22;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;
  background:var(--bg);
  color:var(--paper);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
}

::selection{background:var(--brass);color:var(--ink);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
@media (max-width:600px){.wrap{padding:0 20px;}}

/* ---------- NAV ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(27,29,25,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--brass-dim);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:76px;gap:24px;
}
.nav-logo{
  font-family:'Fraunces',serif;font-weight:600;font-style:italic;
  font-size:23px;letter-spacing:0.01em;color:var(--paper);
  display:flex;flex-direction:column;line-height:1;
}
.nav-logo small{
  font-family:'Space Mono',monospace;font-style:normal;font-size:9px;
  letter-spacing:0.18em;color:var(--brass);margin-top:4px;text-transform:uppercase;
}
.nav-links{display:flex;align-items:center;}
.nav-links a{
  font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--paper-dim);position:relative;padding:4px 0;
  margin-left:30px;
}
.nav-links a:first-child{margin-left:0;}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--brass);
  transition:width .3s ease;
}
.nav-links a:hover{color:var(--paper);}
.nav-links a:hover::after{width:100%;}

.btn-stamp{
  font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;
  letter-spacing:0.06em;color:var(--ink);background:var(--brass);
  padding:11px 22px;border:1px solid var(--brass);white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
}
.btn-stamp:hover{background:#DAB673;box-shadow:0 4px 0 var(--hazard-dim);transform:translateY(-2px);}
.btn-stamp:active{transform:translateY(1px) scale(.97);box-shadow:0 1px 0 var(--hazard-dim);}

.nav-toggle{display:none;}
@media (max-width:760px){
  .nav-links{display:none;}
}

/* ---------- TICKER / PLAQUE ---------- */
.ticker{
  background:var(--bg-alt);color:var(--brass);
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:0.08em;
  border-bottom:1px solid var(--brass-dim);overflow:hidden;white-space:nowrap;
  padding:9px 0;text-transform:uppercase;
}
.ticker-track{display:inline-block;padding-left:100%;animation:scroll 34s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
.ticker span{margin-right:56px;color:var(--paper-dim);}
.ticker span b{color:var(--brass);}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-100%);}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;padding-left:0;}}

/* ---------- HERO ---------- */
.hero{padding:90px 0 70px;border-bottom:1px solid var(--brass-dim);overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center;}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:48px;}}

.plate-tag{
  font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:0.14em;color:var(--brass);border:1px solid var(--brass-dim);
  display:inline-block;padding:6px 12px;margin-bottom:26px;
}
.hero h1{
  font-family:'Fraunces',serif;font-weight:600;
  font-size:clamp(38px,5.4vw,64px);line-height:1.04;letter-spacing:-0.01em;
  margin:0 0 22px;color:var(--paper);
}
.hero h1 em{font-style:italic;color:var(--brass);font-weight:500;}
.hero p.sub{font-size:17px;line-height:1.65;max-width:480px;color:var(--paper-dim);margin-bottom:32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}

.btn-ghost{
  font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;
  letter-spacing:0.06em;color:var(--paper);background:transparent;
  padding:11px 22px;border:1px solid var(--brass-dim);
  transition:border-color .2s ease, color .2s ease;
}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass);}

.hero-frame{position:relative;justify-self:center;width:100%;max-width:380px;display:block;}
.hero-frame .frame{
  animation:float 5s ease-in-out infinite;
}
@media (prefers-reduced-motion:reduce){.hero-frame .frame{animation:none;}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.hero-frame .plate-label{
  font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;
  letter-spacing:0.1em;color:var(--brass);text-align:center;margin-top:14px;
}

/* ---------- FRAME (shared image treatment) ---------- */
.frame{
  position:relative;overflow:hidden;border:1px solid var(--brass-dim);
  box-shadow:0 0 0 5px var(--bg), 0 0 0 6px var(--brass-dim);
  background:var(--bg-alt);
}
.frame img{aspect-ratio:1/1;object-fit:cover;width:100%;
  transition:transform .6s ease;}
.frame::after{
  content:'';position:absolute;top:0;left:-60%;width:35%;height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.16), transparent);
  transform:skewX(-20deg);transition:left .8s ease;pointer-events:none;
}

/* ---------- SECTION HEADS ---------- */
.section{padding:76px 0;border-bottom:1px solid var(--brass-dim);}
.section:last-of-type{border-bottom:none;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:44px;flex-wrap:wrap;gap:14px;}
.section-eyebrow{
  font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:0.14em;color:var(--brass);margin-bottom:10px;display:block;
}
.section h2{
  font-family:'Fraunces',serif;font-weight:600;font-size:clamp(28px,4vw,42px);
  letter-spacing:-0.01em;margin:0;color:var(--paper);
}
.section-note{font-family:'Space Mono',monospace;font-size:12px;color:var(--paper-dim);max-width:280px;line-height:1.6;}

/* ---------- SPECIMEN GRID ---------- */
.specimen-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:36px 28px;
}
.specimen-card{
  transition:transform .35s ease, filter .4s ease;
  display:block;
}
.specimen-card.will-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.specimen-card.in-view{opacity:1;transform:translateY(0);}

/* Focus-card behavior: hovering the grid dims/blurs every card except the one under the pointer */
.specimen-grid:hover .specimen-card{filter:blur(3px) brightness(.5);}
.specimen-grid .specimen-card:hover{filter:blur(0) brightness(1);transform:translateY(-6px);z-index:6;}
.specimen-card:hover .frame{box-shadow:0 0 0 5px var(--bg), 0 0 0 6px var(--brass);}
.specimen-card:hover .frame img{transform:scale(1.045);}
.specimen-card:hover .frame::after{left:120%;}
@media (hover:none){
  .specimen-grid:hover .specimen-card{filter:none;}
}

.spec-plate{padding-top:14px;}
.spec-num{
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:0.1em;
  color:var(--brass-dim);text-transform:uppercase;
}
.spec-charname{
  font-family:'Fraunces',serif;font-weight:600;font-size:21px;color:var(--paper);
  margin:5px 0 0;line-height:1.15;
}
.spec-title{
  font-family:'Space Mono',monospace;font-size:10.5px;text-transform:uppercase;
  letter-spacing:0.1em;color:var(--brass);display:block;margin-bottom:7px;
}
.spec-latin{
  font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:13px;
  color:var(--paper-dim);margin-bottom:8px;
}
.spec-note{
  font-size:13px;line-height:1.55;color:var(--paper-dim);margin-bottom:12px;
  min-height:40px;
}

/* Pending intake — placeholder for specimens whose photo was lost to a filename collision on upload */
.frame.pending-frame{
  aspect-ratio:1/1;min-height:220px;display:flex;align-items:center;justify-content:center;
  border:1px dashed var(--brass-dim);box-shadow:none;background:
    repeating-linear-gradient(135deg, rgba(199,162,91,0.06) 0 10px, transparent 10px 20px);
}
.specimen-card:hover .frame.pending-frame{box-shadow:none;}
.pending-inner{text-align:center;}
.pending-mark{
  display:block;font-family:'Fraunces',serif;font-size:26px;color:var(--brass-dim);margin-bottom:6px;
}
.pending-text{
  font-family:'Space Mono',monospace;font-size:10.5px;text-transform:uppercase;
  letter-spacing:0.1em;color:var(--paper-dim);line-height:1.5;
}
.pending-note{
  font-family:'Space Mono',monospace;font-size:10.5px;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--brass-dim);
}

.chaos-meter{display:flex;align-items:center;gap:8px;}
.chaos-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:0.1em;color:var(--paper-dim);text-transform:uppercase;}
.tick-row{display:flex;gap:3px;}
.tick{width:14px;height:6px;border:1px solid var(--brass-dim);background:transparent;transition:background-color .4s ease, border-color .4s ease;}
.tick:nth-child(1){transition-delay:.05s;}
.tick:nth-child(2){transition-delay:.12s;}
.tick:nth-child(3){transition-delay:.19s;}
.tick:nth-child(4){transition-delay:.26s;}
.tick:nth-child(5){transition-delay:.33s;}
.specimen-card.in-view .chaos-meter[data-level="1"] .tick:nth-child(-n+1),
.specimen-card.in-view .chaos-meter[data-level="2"] .tick:nth-child(-n+2),
.specimen-card.in-view .chaos-meter[data-level="3"] .tick:nth-child(-n+3),
.specimen-card.in-view .chaos-meter[data-level="4"] .tick:nth-child(-n+4),
.specimen-card.in-view .chaos-meter[data-level="5"] .tick:nth-child(-n+5){
  background:var(--hazard);border-color:var(--hazard);
}

/* ---------- STATS ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--brass-dim);}
.stat{padding:34px 24px;border-right:1px solid var(--brass-dim);}
.stat:last-child{border-right:none;}
.stat .num{font-family:'Fraunces',serif;font-weight:600;font-size:36px;color:var(--brass);}
.stat .label{font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--paper-dim);margin-top:4px;}
@media (max-width:700px){.stats{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2n){border-right:none;}
  .stat{border-bottom:1px solid var(--brass-dim);}}

/* ---------- FOOTER ---------- */
.footer{padding:48px 0;background:var(--bg-alt);}
.footer .wrap{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;}
.footer-logo{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:20px;color:var(--paper);}
.footer-links{display:flex;flex-wrap:wrap;font-family:'Space Mono',monospace;font-size:12px;}
.footer-links a{color:var(--paper-dim);margin-left:22px;}
.footer-links a:first-child{margin-left:0;}
.footer-links a:hover{color:var(--brass);}
.disclaimer{font-family:'Space Mono',monospace;font-size:10.5px;color:var(--paper-dim);opacity:.7;margin-top:16px;line-height:1.7;max-width:420px;}

/* ---------- PROSE / GENERIC ---------- */
.reveal{opacity:1;}
.reveal.will-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

.prose p{font-size:16px;line-height:1.75;color:var(--paper-dim);max-width:640px;}
.prose h3{font-family:'Fraunces',serif;font-weight:600;font-size:24px;margin-top:34px;color:var(--paper);}

.two-col{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
@media (max-width:800px){.two-col{grid-template-columns:1fr;}}

.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.pill{
  font-family:'Space Mono',monospace;font-size:11px;border:1px solid var(--brass-dim);
  padding:7px 13px;color:var(--paper-dim);
}

/* TOKENOMICS TABLE */
table.tokentable{width:100%;border-collapse:collapse;font-family:'Space Mono',monospace;font-size:13px;margin-top:24px;}
table.tokentable th, table.tokentable td{border:1px solid var(--brass-dim);padding:15px 16px;text-align:left;}
table.tokentable th{background:var(--bg-alt);color:var(--brass);text-transform:uppercase;font-size:10.5px;letter-spacing:.08em;}
table.tokentable td{color:var(--paper-dim);}
.pie-note{font-family:'Space Mono',monospace;font-size:12px;color:var(--paper-dim);opacity:.75;margin-top:18px;line-height:1.7;}
.pie-note a, .faq p a, .prose p a{color:var(--brass);border-bottom:1px solid var(--brass-dim);}
.pie-note a:hover, .faq p a:hover, .prose p a:hover{border-color:var(--brass);}

/* ROADMAP */
.roadmap{position:relative;padding-left:30px;border-left:1px solid var(--brass-dim);margin-top:24px;}
.rm-item{position:relative;padding-bottom:44px;}
.rm-item:last-child{padding-bottom:0;}
.rm-item::before{
  content:'';position:absolute;left:-35px;top:4px;width:11px;height:11px;
  background:var(--bg);border:2px solid var(--brass);border-radius:50%;
}
.rm-phase{font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--brass);}
.rm-item h4{font-family:'Fraunces',serif;font-weight:600;font-size:22px;margin:6px 0 8px;color:var(--paper);}
.rm-item p{color:var(--paper-dim);max-width:560px;margin:0;line-height:1.6;}

/* BUY STEPS */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:12px;}
.step{border:1px solid var(--brass-dim);padding:26px;background:var(--bg-alt);}
.step .stepnum{font-family:'Fraunces',serif;font-weight:600;font-style:italic;font-size:32px;color:var(--brass);}
.step h4{font-family:'Inter',sans-serif;font-weight:700;font-size:16px;margin:12px 0 6px;color:var(--paper);}
.step p{font-size:13.5px;color:var(--paper-dim);margin:0;line-height:1.55;}

.copybox{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid var(--brass-dim);background:var(--bg-alt);padding:16px 20px;
  font-family:'Space Mono',monospace;font-size:12.5px;margin-top:28px;max-width:540px;
  color:var(--paper-dim);
}
.copybox button{
  font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;
  background:var(--brass);color:var(--ink);border:none;padding:9px 16px;cursor:pointer;
  transition:background .2s ease;
}
.copybox button:hover{background:#DAB673;}

.faq{margin-top:24px;}
.faq details{border-bottom:1px solid var(--brass-dim);padding:18px 0;}
.faq summary{font-family:'Inter',sans-serif;font-weight:600;font-size:15px;cursor:pointer;color:var(--paper);}
.faq summary::marker{color:var(--brass);}
.faq p{margin:12px 0 0;color:var(--paper-dim);font-size:14px;line-height:1.6;}

/* ---------- CARD LINK HINT (gallery cards now link to profile pages) ---------- */
.card-link-hint{
  font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--brass-dim);transition:color .2s ease;display:block;margin-top:2px;
}
.specimen-card:hover .card-link-hint{color:var(--brass);}
.specimen-card.pending{cursor:pointer;}

/* ---------- BREADCRUMB ---------- */
.breadcrumb{
  font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--paper-dim);padding:22px 0 0;
}
.breadcrumb a{color:var(--brass);}
.breadcrumb a:hover{text-decoration:underline;}

/* ---------- SPECIMEN PROFILE HERO ---------- */
.detail-hero{padding:24px 0 60px;border-bottom:1px solid var(--brass-dim);}
.detail-hero .wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start;}
@media (max-width:860px){.detail-hero .wrap{grid-template-columns:1fr;}}
.detail-photo .frame{aspect-ratio:4/5;}
.detail-photo .plate-label{margin-top:14px;}

.detail-info .spec-num{font-size:12px;}
.detail-info .spec-charname{
  font-family:'Fraunces',serif;font-weight:600;color:var(--paper);
  font-size:clamp(38px,6vw,58px);margin:12px 0 4px;line-height:1.02;
}
.detail-info .spec-title{
  font-family:'Space Mono',monospace;font-size:12.5px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--brass);display:block;margin-bottom:12px;
}
.detail-info .spec-latin{
  font-family:'Fraunces',serif;font-style:italic;font-size:17px;color:var(--paper-dim);margin-bottom:24px;
}
.detail-chaos{display:flex;align-items:center;gap:10px;margin-bottom:28px;}
.detail-chaos .tick{width:20px;height:8px;}
.detail-chaos .chaos-label{font-size:10px;}

/* ---------- FIELD REPORT (story) ---------- */
.field-report h3, .field-album h3{
  font-family:'Space Mono',monospace;font-weight:700;font-size:12px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--brass);margin-bottom:18px;
}
.field-report p{font-size:16px;line-height:1.75;color:var(--paper-dim);max-width:680px;margin-bottom:18px;}

/* ---------- SPECIMEN FILE (fact grid) ---------- */
.spec-file{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--brass-dim);border:1px solid var(--brass-dim);margin-top:8px;
}
@media (max-width:600px){.spec-file{grid-template-columns:1fr;}}
.spec-file-item{background:var(--bg-alt);padding:20px 24px;}
.spec-file-item .k{
  font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--brass);margin-bottom:7px;display:block;
}
.spec-file-item .v{font-size:14px;color:var(--paper);line-height:1.5;}
.spec-file-item .v a{color:var(--brass);border-bottom:1px solid var(--brass-dim);}
.spec-file-item .v a:hover{border-color:var(--brass);}

/* ---------- FIELD ALBUM ---------- */
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px;margin-top:8px;}
.album-item .frame{aspect-ratio:1/1;}
.album-empty{
  aspect-ratio:1/1;border:1px dashed var(--brass-dim);display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(135deg, rgba(199,162,91,0.05) 0 10px, transparent 10px 20px);
}
.album-empty span{
  font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--paper-dim);opacity:.65;text-align:center;padding:0 18px;line-height:1.6;
}

/* ---------- PREV / NEXT PAGER ---------- */
.specimen-pager{
  display:flex;justify-content:space-between;align-items:center;padding:34px 0;
  border-top:1px solid var(--brass-dim);
}
.pager-link{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--paper-dim);transition:color .2s ease;}
.pager-link:hover{color:var(--brass);}
.pager-link .dir{color:var(--brass-dim);display:block;font-size:10px;margin-bottom:5px;letter-spacing:.1em;}
.pager-link.next{text-align:right;}

/* ---------- 3D MARQUEE WELCOME ---------- */
.marquee3d-wrap{
  position:relative;height:100vh;min-height:600px;overflow:hidden;
  background:var(--bg);
}
.marquee3d-scene{
  position:absolute;inset:-25% -15%;
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
  transform:rotateX(55deg) rotateY(0deg) rotateZ(-42deg);
  transform-style:preserve-3d;
}
.marquee3d-col{
  display:flex;flex-direction:column;gap:22px;
  will-change:transform;
}
.marquee3d-col img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  border:1px solid var(--brass-dim);
  box-shadow:0 0 0 4px var(--bg);
}
.marquee3d-col.mq-a{animation:mq-up 34s linear infinite;}
.marquee3d-col.mq-b{animation:mq-up 34s linear infinite reverse;}
.marquee3d-col.mq-c{animation:mq-up 34s linear infinite;}
.marquee3d-col.mq-d{animation:mq-up 34s linear infinite reverse;}
@keyframes mq-up{
  from{transform:translateY(0);}
  to{transform:translateY(-50%);}
}
@media (prefers-reduced-motion:reduce){
  .marquee3d-col{animation:none;}
}

.marquee3d-overlay{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at center, rgba(20,22,16,0.35) 0%, rgba(17,18,14,0.82) 62%, var(--bg) 100%);
}

.marquee3d-content{
  position:relative;z-index:2;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:24px;
}
.marquee3d-logo{
  font-family:'Fraunces',serif;font-weight:600;font-style:italic;font-size:20px;color:var(--paper);
  position:absolute;top:28px;left:32px;display:flex;flex-direction:column;line-height:1;z-index:3;
}
.marquee3d-logo small{
  font-family:'Space Mono',monospace;font-style:normal;font-size:9px;letter-spacing:.18em;
  color:var(--brass);margin-top:4px;text-transform:uppercase;
}
.marquee3d-content .plate-tag{margin-bottom:24px;}
.marquee3d-content h1{
  font-family:'Fraunces',serif;font-weight:600;color:var(--paper);
  font-size:clamp(40px,8vw,88px);line-height:0.98;letter-spacing:-0.01em;margin:0 0 20px;
}
.marquee3d-content h1 em{font-style:italic;color:var(--brass);}
.marquee3d-content p{
  font-size:17px;color:var(--paper-dim);max-width:480px;line-height:1.6;margin-bottom:34px;
}
@media (max-width:700px){
  .marquee3d-scene{grid-template-columns:repeat(3,1fr);}
}

/* ---------- WELCOME SPLASH — 3D MARQUEE ---------- */
.welcome-body{margin:0;overflow-x:hidden;}
.welcome-marquee-bg{position:fixed;inset:0;overflow:hidden;background:var(--bg);z-index:0;}
.marquee-3d-wrapper{
  position:absolute;inset:-25% -10%;perspective:1200px;
  display:flex;align-items:center;justify-content:center;
  animation:breathingZoom 24s ease-in-out infinite;
}
@keyframes breathingZoom{0%,100%{transform:scale(1);}50%{transform:scale(1.045);}}
.marquee-3d-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  width:130%;height:160%;
  transform:rotateX(55deg) rotateZ(-42deg);
  transform-style:preserve-3d;
}
.marquee-col{display:flex;flex-direction:column;gap:14px;animation:marqueeUp 34s linear infinite;will-change:transform;}
.marquee-col.reverse{animation-name:marqueeDown;}
.marquee-col img{
  width:100%;aspect-ratio:1/1;object-fit:cover;display:block;
  border-radius:4px;border:1px solid var(--brass-dim);
  filter:brightness(.72) saturate(1.05);
}
@keyframes marqueeUp{from{transform:translateY(0);}to{transform:translateY(-50%);}}
@keyframes marqueeDown{from{transform:translateY(-50%);}to{transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){.marquee-col{animation:none;}.marquee-3d-wrapper{animation:none;}}

.welcome-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,
    rgba(20,22,16,0.5) 0%,
    rgba(20,22,16,0.74) 28%,
    rgba(20,22,16,0.8) 50%,
    rgba(20,22,16,0.74) 72%,
    rgba(20,22,16,0.5) 100%);
}
.welcome-spotlight{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle 380px at var(--mx,50%) var(--my,38%), rgba(199,162,91,0.22), transparent 70%);
  mix-blend-mode:screen;
}

.welcome-content{
  position:relative;z-index:2;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:24px;
}
.welcome-content .plate-tag{margin-bottom:24px;}
.welcome-content h1{
  font-family:'Fraunces',serif;font-weight:600;color:var(--paper);
  font-size:clamp(38px,9.5vw,110px);line-height:0.95;letter-spacing:-0.01em;margin:0 0 18px;
  overflow-wrap:break-word;word-break:break-word;max-width:100%;
}
.welcome-content h1 em{
  font-style:italic;
  background:linear-gradient(100deg, var(--brass) 25%, #F3DFA6 45%, var(--brass) 65%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 4s ease-in-out infinite;animation-delay:1.6s;
}
@keyframes shimmer{0%{background-position:220% 0;}50%{background-position:0% 0;}100%{background-position:-220% 0;}}
.welcome-content .sub{
  font-size:17px;color:var(--paper-dim);max-width:480px;margin:0 auto 34px;line-height:1.6;
}

/* Entrance choreography */
@keyframes fadeRiseIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.welcome-marquee-bg{animation:bgFadeIn 1.8s ease both;}
@keyframes bgFadeIn{from{opacity:0;}to{opacity:1;}}
.welcome-content .plate-tag{animation:fadeRiseIn .8s ease both;animation-delay:.2s;}
.welcome-content h1{animation:fadeRiseIn 1s ease both;animation-delay:.4s;}
.welcome-content .sub{animation:fadeRiseIn .9s ease both;animation-delay:.65s;}
.welcome-content .btn-stamp{
  animation:fadeRiseIn .9s ease both, glowPulse 2.6s ease-in-out infinite;
  animation-delay:.85s, 2.4s;
}
@keyframes glowPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(199,162,91,0);}
  50%{box-shadow:0 0 24px 5px rgba(199,162,91,0.4);}
}
.welcome-secondary-links{animation:fadeRiseIn .9s ease both;animation-delay:1.05s;}
@media (prefers-reduced-motion:reduce){
  .welcome-marquee-bg,
  .welcome-content .plate-tag,
  .welcome-content h1,
  .welcome-content .sub,
  .welcome-content .btn-stamp,
  .welcome-secondary-links{animation:none;opacity:1;transform:none;}
  .welcome-content h1 em{animation:none;background-position:0 0;}
}

.welcome-secondary-links{
  margin-top:38px;display:flex;flex-wrap:wrap;justify-content:center;
  font-family:'Space Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;
}
.welcome-secondary-links a{color:var(--paper-dim);margin:0 11px;}
.welcome-secondary-links a:hover{color:var(--brass);}
.welcome-disclaimer{
  position:relative;z-index:2;text-align:center;padding:0 24px 30px;
  font-family:'Space Mono',monospace;font-size:10px;color:var(--paper-dim);opacity:.55;
}
@media (max-width:700px){
  .marquee-3d-grid{grid-template-columns:repeat(3,1fr);}
}
