
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --void:#03070f;        /* deepest space */
  --navy:#061224;        /* base */
  --navy-2:#0a1a2e;      /* raised */
  --navy-3:#0e2238;      /* card */
  --bronze:#8a6a35;      /* material mid */
  --gold:#c9a227;        /* primary accent */
  --gold-hi:#f0d97a;     /* highlight */
  --ivory:#ece5d8;
  --muted:#8b8674;
  --line:rgba(201,162,39,.14);
  --ease:cubic-bezier(.22,1,.36,1);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{
  background:var(--navy);color:var(--ivory);
  font-family:'Jost',sans-serif;font-weight:300;
  line-height:1.7;overflow-x:hidden;
}
body.locked{overflow:hidden}
img{display:block;max-width:100%}
::selection{background:rgba(201,162,39,.25);color:var(--gold-hi)}
::-webkit-scrollbar{width:2px}
::-webkit-scrollbar-track{background:var(--void)}
::-webkit-scrollbar-thumb{background:rgba(201,162,39,.3)}

/* ══ TYPE SCALE ══ */
.display{font-family:'Cinzel',serif;font-weight:400;letter-spacing:.06em;line-height:1.1}
.mono{font-family:'Orbitron',monospace;letter-spacing:.35em;text-transform:uppercase}
.serif{font-family:'Cormorant Garamond',serif}

/* ═══════════════════════════════════════════════════
   I. THE PASSAGE  (intro)
═══════════════════════════════════════════════════ */
#passage{
  position:fixed;inset:0;z-index:9000;background:var(--void);
  display:grid;place-items:center;overflow:hidden;
  perspective:1400px;
}
#warp{position:absolute;inset:0}

/* stage holds everything that travels toward the viewer */
#stage{
  position:relative;width:min(74vmin,520px);aspect-ratio:1;
  transform-style:preserve-3d;
  display:grid;place-items:center;
  animation:approach 8.4s var(--ease) .4s both;
}
@keyframes approach{
  0%   {transform:translateZ(-1400px) rotateY(-40deg);opacity:0}
  14%  {opacity:1}
  55%  {transform:translateZ(0) rotateY(0deg);opacity:1}
  74%  {transform:translateZ(140px) rotateY(0deg);opacity:1}
  100% {transform:translateZ(1500px) rotateY(0deg);opacity:0}
}

/* the medallion itself */
#seal{
  position:absolute;inset:0;border-radius:50%;
  background-size:cover;background-position:center;
  box-shadow:0 0 70px rgba(201,162,39,.35),0 0 180px rgba(201,162,39,.12),
             inset 0 0 60px rgba(0,0,0,.55);
  animation:sealTurn 8.4s linear .4s both;
}
@keyframes sealTurn{
  0%{transform:rotate(-90deg) scale(.9)}
  60%{transform:rotate(0deg) scale(1)}
  100%{transform:rotate(28deg) scale(1)}
}
/* aperture: the seal's centre opens into light */
#aperture{
  position:absolute;left:50%;top:50%;width:12%;aspect-ratio:1;
  transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,#fff8dc 0%,var(--gold-hi) 30%,rgba(201,162,39,.5) 60%,transparent 75%);
  opacity:0;animation:aperture 4s var(--ease) 4.6s both;
}
@keyframes aperture{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
  40%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(9)}
}

/* concentric rings emanating outward */
.ring{
  position:absolute;inset:-4%;border-radius:50%;
  border:1px solid rgba(201,162,39,.4);
  opacity:0;animation:emanate 3.4s var(--ease) infinite;
}
.ring:nth-child(1){animation-delay:2.6s}
.ring:nth-child(2){animation-delay:3.5s}
.ring:nth-child(3){animation-delay:4.4s}
@keyframes emanate{
  0%{transform:scale(.55);opacity:0}
  18%{opacity:.7}
  100%{transform:scale(2.6);opacity:0}
}

/* glyphs orbiting the seal */
#orbit{
  position:absolute;inset:-22%;
  animation:orbitTurn 26s linear infinite;
  color:rgba(201,162,39,.5);
}
@keyframes orbitTurn{to{transform:rotate(360deg)}}
#orbit svg{
  position:absolute;width:34px;height:34px;
  opacity:0;animation:glyphIn 1s var(--ease) forwards;
}
#orbit svg:nth-child(1){top:0;left:50%;margin-left:-17px;animation-delay:2.2s}
#orbit svg:nth-child(2){top:50%;right:0;margin-top:-17px;animation-delay:2.45s}
#orbit svg:nth-child(3){bottom:0;left:50%;margin-left:-17px;animation-delay:2.7s}
#orbit svg:nth-child(4){top:50%;left:0;margin-top:-17px;animation-delay:2.95s}
#orbit svg:nth-child(5){top:14%;left:14%;animation-delay:3.2s}
#orbit svg:nth-child(6){bottom:14%;right:14%;animation-delay:3.45s}
@keyframes glyphIn{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}

/* arrival text */
#arrival{
  position:absolute;inset:0;z-index:6;display:grid;place-content:center;
  text-align:center;padding:2rem;pointer-events:none;
}
#arrival-name{
  font-family:'Cinzel',serif;font-weight:400;
  font-size:clamp(1.5rem,4.2vw,3.4rem);letter-spacing:.22em;
  color:transparent;
  background:linear-gradient(100deg,#7d5f18,var(--gold) 30%,var(--gold-hi) 50%,var(--gold) 70%,#7d5f18);
  -webkit-background-clip:text;background-clip:text;
  opacity:0;animation:arrive 1.6s var(--ease) 8.5s both;
}
#arrival-rule{
  height:1px;margin:1.6rem auto;width:0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  animation:ruleOut 1.4s var(--ease) 9.1s both;
}
@keyframes ruleOut{to{width:min(260px,60vw)}}
#arrival-sub{
  font-family:'Orbitron',monospace;font-size:clamp(.5rem,1.3vw,.66rem);
  letter-spacing:.55em;text-transform:uppercase;color:rgba(201,162,39,.6);
  opacity:0;animation:arrive 1.4s var(--ease) 9.5s both;
}
@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* flash at the moment of passing through */
#flare{
  position:absolute;inset:0;z-index:5;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,#fff6d8,rgba(201,162,39,.5) 40%,transparent 70%);
  opacity:0;animation:flare 1.5s ease-out 7.5s both;
}
@keyframes flare{0%{opacity:0}30%{opacity:.85}100%{opacity:0}}

#enter{
  position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:8;
  font-family:'Orbitron',monospace;font-size:.55rem;letter-spacing:.4em;
  text-transform:uppercase;color:rgba(201,162,39,.42);
  background:none;border:1px solid rgba(201,162,39,.2);
  padding:.7rem 1.8rem;cursor:pointer;transition:.4s var(--ease);
}
#enter:hover{color:var(--gold-hi);border-color:rgba(201,162,39,.6);letter-spacing:.5em}
#passage.leaving{opacity:0;transition:opacity 1.1s var(--ease)}

/* ═══════════════════════════════════════════════════
   II. CHROME  (nav / shell)
═══════════════════════════════════════════════════ */
#rail{
  position:fixed;left:0;top:0;bottom:0;width:230px;z-index:700;
  background:linear-gradient(180deg,rgba(3,7,15,.97),rgba(6,18,36,.97));
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;
  transition:transform .55s var(--ease);
  backdrop-filter:blur(20px);
}
.rail-mark{padding:2.4rem 1.7rem 1.8rem}
.rail-mark img{width:132px;opacity:.94}
.rail-mark p{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:.76rem;color:rgba(201,162,39,.42);margin-top:.6rem;letter-spacing:.04em;
}
#menu{flex:1;padding:.5rem 0;overflow-y:auto}
#menu a{
  display:grid;grid-template-columns:26px 1fr;align-items:center;
  padding:.72rem 1.7rem;text-decoration:none;
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(236,229,216,.4);
  border-left:1px solid transparent;
  transition:.4s var(--ease);
}
#menu a i{
  font-style:normal;font-family:'Orbitron',monospace;
  font-size:.48rem;letter-spacing:.1em;color:rgba(201,162,39,.22);transition:.4s;
}
#menu a:hover,#menu a.on{
  color:var(--gold-hi);border-left-color:var(--gold);
  background:linear-gradient(90deg,rgba(201,162,39,.06),transparent 70%);
  padding-left:2.05rem;
}
#menu a:hover i,#menu a.on i{color:rgba(201,162,39,.65)}
.rail-foot{padding:1.3rem 1.7rem 1.6rem;border-top:1px solid var(--line)}
.rail-foot a{
  display:block;font-size:.66rem;color:rgba(236,229,216,.3);
  text-decoration:none;letter-spacing:.05em;line-height:2;transition:.3s;
}
.rail-foot a:hover{color:var(--gold)}
.rail-social{display:flex;gap:.7rem;margin-bottom:.8rem}
.rail-social a{
  font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.18em;
  padding:.3rem .55rem;border:1px solid rgba(201,162,39,.14);
  color:rgba(201,162,39,.4);line-height:1;
}
.rail-social a:hover{border-color:rgba(201,162,39,.5);color:var(--gold-hi)}

#burger{
  display:none;position:fixed;top:1.1rem;left:1.1rem;z-index:800;
  width:42px;height:42px;background:rgba(3,7,15,.9);
  border:1px solid rgba(201,162,39,.22);cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
#burger span{width:17px;height:1px;background:var(--gold);transition:.35s var(--ease)}
#burger.x span:nth-child(1){transform:translateY(6px) rotate(45deg)}
#burger.x span:nth-child(2){opacity:0}
#burger.x span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
#scrim{
  position:fixed;inset:0;background:rgba(3,7,15,.7);z-index:690;
  opacity:0;pointer-events:none;transition:opacity .4s;
}
#scrim.on{opacity:1;pointer-events:auto}

#stagecraft{margin-left:230px}

/* ═══════════════════════════════════════════════════
   III. SECTION FRAME
═══════════════════════════════════════════════════ */
section{position:relative}
.frame{padding:0 clamp(1.5rem,5vw,5.5rem)}
.chapter{
  display:flex;align-items:baseline;gap:1.4rem;
  padding:clamp(4rem,8vw,7rem) 0 clamp(1.8rem,3vw,2.6rem);
}
.chapter i{
  font-style:normal;font-family:'Orbitron',monospace;
  font-size:.52rem;letter-spacing:.34em;color:rgba(201,162,39,.3);
}
.chapter h2{
  font-family:'Cinzel',serif;font-weight:400;
  font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:.14em;color:var(--gold);
}
.chapter hr{flex:1;border:0;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.lede{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1rem,1.6vw,1.2rem);color:var(--muted);
  max-width:56ch;line-height:1.85;
}

/* ═══════════════════════════════════════════════════
   IV. THRESHOLD  (hero)
═══════════════════════════════════════════════════ */
#threshold{min-height:100svh;display:grid;align-items:center;position:relative;overflow:hidden}
#threshold-img{
  position:absolute;inset:0;background-size:cover;background-position:center 35%;
  filter:brightness(.3) saturate(.45) contrast(1.05);
  transform:scale(1.12);transition:transform 20s linear;
}
#threshold-img.settled{transform:scale(1)}
#threshold-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(96deg,var(--navy) 8%,rgba(6,18,36,.78) 42%,rgba(6,18,36,.25) 72%,rgba(3,7,15,.7)),
    radial-gradient(ellipse 120% 90% at 20% 50%,transparent 20%,rgba(3,7,15,.75) 85%);
}
#dust{position:absolute;inset:0;pointer-events:none}
.threshold-body{position:relative;z-index:2;padding:6rem clamp(1.5rem,5vw,5.5rem)}
.threshold-tag{
  display:inline-flex;align-items:center;gap:.9rem;margin-bottom:2.2rem;
  font-family:'Orbitron',monospace;font-size:.5rem;letter-spacing:.44em;
  text-transform:uppercase;color:rgba(201,162,39,.55);
}
.threshold-tag::before{content:'';width:34px;height:1px;background:var(--gold);opacity:.5}
.threshold-body h1{
  font-family:'Cinzel',serif;font-weight:400;
  font-size:clamp(1.9rem,5vw,4rem);line-height:1.06;letter-spacing:.05em;
  color:transparent;
  background:linear-gradient(105deg,#7d5f18,var(--gold) 26%,var(--gold-hi) 48%,var(--gold) 68%,#8a6a35);
  -webkit-background-clip:text;background-clip:text;
}
.threshold-alias{
  font-family:'Orbitron',monospace;font-size:clamp(.54rem,1vw,.7rem);
  letter-spacing:.5em;text-transform:uppercase;
  color:rgba(201,162,39,.42);margin:1.2rem 0 2rem;
}
.threshold-line{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1rem,1.7vw,1.3rem);color:var(--muted);
  max-width:44ch;line-height:1.85;margin-bottom:2.8rem;
}
.acts{display:flex;flex-wrap:wrap;gap:.8rem}
.act{
  font-family:'Orbitron',monospace;font-size:.55rem;letter-spacing:.28em;
  text-transform:uppercase;padding:.95rem 2rem;text-decoration:none;
  border:1px solid rgba(201,162,39,.28);color:rgba(201,162,39,.8);
  transition:.45s var(--ease);position:relative;overflow:hidden;
}
.act::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:-1;
}
.act:hover{color:var(--void);border-color:var(--gold)}
.act:hover::before{transform:scaleX(1)}
.act span{position:relative;z-index:1}
.act.solid{background:var(--gold);color:var(--void);border-color:var(--gold)}
.act.solid::before{background:var(--gold-hi)}

.scroll-cue{
  position:absolute;bottom:2rem;left:clamp(1.5rem,5vw,5.5rem);z-index:2;
  display:flex;align-items:center;gap:.9rem;
}
.scroll-cue span{
  font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.34em;
  text-transform:uppercase;color:rgba(201,162,39,.3);
}
.scroll-cue div{width:52px;height:1px;background:rgba(201,162,39,.3);position:relative;overflow:hidden}
.scroll-cue div::after{
  content:'';position:absolute;inset:0;background:var(--gold);
  animation:cue 2.6s var(--ease) infinite;
}
@keyframes cue{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

/* ═══════════════════════════════════════════════════
   V. MANIFESTO
═══════════════════════════════════════════════════ */
#manifesto{
  padding:clamp(5rem,10vw,9rem) clamp(1.5rem,5vw,5.5rem);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--void),var(--navy));
  position:relative;overflow:hidden;
}
#manifesto .glyph-bg{
  position:absolute;right:-4%;top:50%;transform:translateY(-50%);
  width:min(46vw,460px);color:rgba(201,162,39,.035);pointer-events:none;
}
#manifesto blockquote{
  max-width:24ch;position:relative;z-index:1;
  font-family:'Cinzel',serif;font-weight:400;
  font-size:clamp(1.4rem,3.4vw,2.7rem);line-height:1.35;
  color:var(--gold-hi);letter-spacing:.02em;
}
#manifesto cite{
  display:block;margin-top:2.2rem;font-style:normal;
  font-family:'Orbitron',monospace;font-size:.5rem;letter-spacing:.36em;
  text-transform:uppercase;color:rgba(201,162,39,.4);
}
#manifesto p{
  margin-top:2.4rem;max-width:52ch;position:relative;z-index:1;
  font-family:'Cormorant Garamond',serif;font-size:1.1rem;
  color:var(--muted);line-height:1.95;
}

/* ═══════════════════════════════════════════════════
   VI. WORKS
═══════════════════════════════════════════════════ */
.sieve{display:flex;flex-wrap:wrap;gap:.5rem;padding-bottom:2.6rem}
.sieve button{
  font-family:'Orbitron',monospace;font-size:.5rem;letter-spacing:.24em;
  text-transform:uppercase;padding:.5rem 1.1rem;
  background:none;border:1px solid transparent;color:rgba(236,229,216,.3);
  cursor:pointer;transition:.4s var(--ease);
}
.sieve button:hover{color:rgba(201,162,39,.7)}
.sieve button.on{color:var(--gold-hi);border-color:rgba(201,162,39,.35)}

.works{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem)}
.work{grid-column:span 4;cursor:pointer;position:relative}
.work.wide{grid-column:span 6}
.work.tall{grid-column:span 5}
.work figure{position:relative;overflow:hidden;background:var(--navy-2)}
.work img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  filter:saturate(.7) brightness(.8);
  transition:transform 1.1s var(--ease),filter .8s var(--ease);
}
.work.wide img{aspect-ratio:4/3}
.work:hover img{transform:scale(1.05);filter:saturate(1) brightness(.95)}
.work figcaption{
  position:absolute;inset:auto 0 0 0;padding:1.6rem 1.3rem 1.2rem;
  background:linear-gradient(0deg,rgba(3,7,15,.94),transparent);
  transform:translateY(12px);opacity:0;transition:.55s var(--ease);
}
.work:hover figcaption{transform:none;opacity:1}
.work-series{
  font-family:'Orbitron',monospace;font-size:.44rem;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(201,162,39,.55);margin-bottom:.4rem;
}
.work-name{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--ivory);line-height:1.25}
.work-meta{font-size:.68rem;color:rgba(236,229,216,.4);letter-spacing:.08em;margin-top:.25rem}
.work-state{
  position:absolute;top:.9rem;right:.9rem;
  font-family:'Orbitron',monospace;font-size:.42rem;letter-spacing:.22em;
  text-transform:uppercase;padding:.3rem .6rem;
  background:rgba(3,7,15,.6);backdrop-filter:blur(6px);
}
.st-avail{color:var(--gold);border:1px solid rgba(201,162,39,.3)}
.st-inq{color:rgba(150,190,220,.7);border:1px solid rgba(150,190,220,.2)}
.st-coll{color:rgba(236,229,216,.3);border:1px solid rgba(236,229,216,.1)}

/* ═══════════════════════════════════════════════════
   VII. VITRINE  (modal)
═══════════════════════════════════════════════════ */
#vitrine{
  position:fixed;inset:0;z-index:8000;display:none;
  background:rgba(3,7,15,.95);backdrop-filter:blur(18px);
  place-items:center;padding:clamp(1rem,3vw,2.5rem);
}
#vitrine.open{display:grid}
.vit{
  width:min(1000px,100%);max-height:90svh;
  display:grid;grid-template-columns:1.05fr 1fr;
  background:var(--navy-3);border:1px solid rgba(201,162,39,.18);
  animation:vitIn .6s var(--ease) both;overflow:hidden;
}
@keyframes vitIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.vit-img{position:relative;background:var(--void)}
.vit-img img{width:100%;height:100%;object-fit:cover;min-height:400px}
.vit-body{padding:clamp(2rem,3.5vw,3rem);overflow-y:auto;display:flex;flex-direction:column;gap:1.1rem}
.vit-series{font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(201,162,39,.45)}
.vit-title{font-family:'Cinzel',serif;font-weight:400;font-size:clamp(1.2rem,2vw,1.7rem);color:var(--gold);letter-spacing:.04em;line-height:1.25}
.vit-specs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;display:grid;gap:.55rem}
.vit-spec{display:grid;grid-template-columns:92px 1fr;font-size:.8rem;align-items:baseline}
.vit-spec dt{font-family:'Orbitron',monospace;font-size:.44rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(236,229,216,.3)}
.vit-spec dd{color:var(--ivory)}
.vit-text{font-family:'Cormorant Garamond',serif;font-size:1.02rem;font-style:italic;color:var(--muted);line-height:1.9}
.vit-acts{display:flex;gap:.7rem;margin-top:auto;padding-top:.6rem;flex-wrap:wrap}
#vit-close{
  position:absolute;top:1rem;right:1.1rem;z-index:2;
  width:34px;height:34px;background:rgba(3,7,15,.7);
  border:1px solid rgba(201,162,39,.2);color:var(--gold);
  cursor:pointer;font-size:.8rem;transition:.35s;
}
#vit-close:hover{border-color:var(--gold);background:rgba(201,162,39,.1)}

/* ═══════════════════════════════════════════════════
   VIII. CYCLES  (collections)
═══════════════════════════════════════════════════ */
.cycle{
  display:grid;grid-template-columns:1.15fr 1fr;
  border:1px solid var(--line);margin-bottom:clamp(1rem,2vw,2rem);
  background:var(--navy-2);overflow:hidden;
}
.cycle.flip{grid-template-columns:1fr 1.15fr}
.cycle.flip .cycle-img{order:2}
.cycle-img{position:relative;overflow:hidden;min-height:340px}
.cycle-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.82);transition:transform 1.4s var(--ease)}
.cycle:hover .cycle-img img{transform:scale(1.04)}
.cycle-body{padding:clamp(2.2rem,4vw,3.4rem);display:flex;flex-direction:column;justify-content:center;gap:1.2rem}
.cycle-mark{color:rgba(201,162,39,.35)}
.cycle-name{font-family:'Cinzel',serif;font-weight:400;font-size:clamp(1.5rem,2.8vw,2.3rem);color:var(--gold);letter-spacing:.05em}
.cycle-text{font-family:'Cormorant Garamond',serif;font-size:1.02rem;font-style:italic;color:var(--muted);line-height:1.9;max-width:46ch}
.cycle-facts{display:flex;gap:2.4rem;padding-top:.4rem;border-top:1px solid var(--line);margin-top:.4rem;padding-top:1.2rem}
.cycle-fact b{display:block;font-family:'Cinzel',serif;font-weight:400;font-size:1.2rem;color:var(--gold-hi)}
.cycle-fact span{font-family:'Orbitron',monospace;font-size:.44rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(236,229,216,.3)}
.cycle-link{
  font-family:'Orbitron',monospace;font-size:.5rem;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(201,162,39,.7);text-decoration:none;
  display:inline-flex;align-items:center;gap:.6rem;transition:.4s;align-self:flex-start;
}
.cycle-link:hover{color:var(--gold-hi);gap:1rem}

/* ═══════════════════════════════════════════════════
   IX. RECORD  (exhibitions)
═══════════════════════════════════════════════════ */
.record{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem)}
.record h3{
  font-family:'Cinzel',serif;font-weight:400;font-size:.92rem;
  letter-spacing:.26em;text-transform:uppercase;color:var(--gold);
  padding-bottom:1rem;margin-bottom:.4rem;border-bottom:1px solid rgba(201,162,39,.22);
  display:flex;justify-content:space-between;align-items:baseline;
}
.record h3 em{font-style:normal;font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.24em;color:rgba(201,162,39,.35)}
.entry{
  display:grid;grid-template-columns:54px 1fr;gap:1rem;
  padding:.95rem 0;border-bottom:1px solid rgba(201,162,39,.06);
  transition:.4s var(--ease);
}
.entry:hover{background:rgba(201,162,39,.03);padding-left:.5rem}
.entry time{font-family:'Orbitron',monospace;font-size:.54rem;color:rgba(201,162,39,.42);padding-top:.2rem}
.entry b{display:block;font-weight:300;font-size:.9rem;color:var(--ivory);margin-bottom:.2rem}
.entry b.intl{color:var(--gold-hi)}
.entry span{font-size:.74rem;color:var(--muted)}

/* ═══════════════════════════════════════════════════
   X. ORIGIN  (about)
═══════════════════════════════════════════════════ */
.origin{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.origin-portrait{position:relative}
.origin-portrait img{width:100%;filter:saturate(.72) contrast(1.06)}
.origin-portrait::after{
  content:'';position:absolute;top:18px;left:18px;right:-18px;bottom:-18px;
  border:1px solid rgba(201,162,39,.16);z-index:-1;
}
.origin-quote{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.6;color:var(--gold);
  padding-left:1.6rem;border-left:1px solid var(--gold);margin-bottom:2.4rem;
}
.origin-body p{font-size:.94rem;line-height:2;color:var(--muted);margin-bottom:1.3rem}
.origin-body strong{color:var(--ivory);font-weight:400}
.origin-body em{color:var(--gold);font-style:normal}

.thread{margin-top:3rem;position:relative;padding-left:1.6rem}
.thread::before{content:'';position:absolute;left:0;top:.6rem;bottom:.6rem;width:1px;background:linear-gradient(180deg,var(--gold),transparent)}
.node{display:grid;grid-template-columns:60px 1fr;gap:1.2rem;padding:.9rem 0;position:relative}
.node::before{
  content:'';position:absolute;left:-1.6rem;top:1.25rem;width:5px;height:5px;
  border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--navy),0 0 10px rgba(201,162,39,.6);
  transform:translateX(-2px);
}
.node time{font-family:'Orbitron',monospace;font-size:.52rem;color:rgba(201,162,39,.45);padding-top:.2rem}
.node b{display:block;font-weight:300;font-size:.86rem;color:var(--ivory);margin-bottom:.15rem}
.node span{font-size:.72rem;color:var(--muted)}

.laurels{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:2.6rem}
.laurel{background:var(--navy-2);padding:1.5rem 1.2rem;transition:background .4s}
.laurel:hover{background:var(--navy-3)}
.laurel svg{color:rgba(201,162,39,.45);margin-bottom:.9rem}
.laurel b{display:block;font-weight:300;font-size:.78rem;color:var(--ivory);letter-spacing:.06em;margin-bottom:.25rem}
.laurel span{font-size:.66rem;color:var(--muted)}

/* ═══════════════════════════════════════════════════
   XI. FORMS
═══════════════════════════════════════════════════ */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:start}
.field{margin-bottom:1.3rem}
.field label{
  display:block;font-family:'Orbitron',monospace;font-size:.46rem;
  letter-spacing:.3em;text-transform:uppercase;color:rgba(201,162,39,.45);margin-bottom:.55rem;
}
.field input,.field select,.field textarea{
  width:100%;background:rgba(255,255,255,.022);
  border:0;border-bottom:1px solid rgba(201,162,39,.2);
  color:var(--ivory);padding:.8rem .2rem;
  font-family:'Jost',sans-serif;font-weight:300;font-size:.92rem;
  outline:none;transition:border-color .4s,background .4s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  border-bottom-color:var(--gold);background:rgba(201,162,39,.035);
}
.field textarea{resize:vertical;min-height:100px}
.field select option{background:var(--navy-3)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.choices{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.choice{
  font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.22em;
  text-transform:uppercase;padding:.5rem 1rem;cursor:pointer;
  background:none;border:1px solid rgba(201,162,39,.16);
  color:rgba(236,229,216,.35);transition:.4s var(--ease);
}
.choice.on,.choice:hover{color:var(--gold-hi);border-color:rgba(201,162,39,.5);background:rgba(201,162,39,.05)}
.sent{
  display:none;margin-top:1.2rem;padding:1.2rem;
  border:1px solid rgba(201,162,39,.22);background:rgba(201,162,39,.04);
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.02rem;
  color:var(--gold);text-align:center;
}
.offers{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-top:2rem}
.offer{background:var(--navy-2);padding:1.7rem 1.4rem;transition:background .4s}
.offer:hover{background:var(--navy-3)}
.offer svg{color:rgba(201,162,39,.4);margin-bottom:1rem}
.offer b{display:block;font-family:'Cinzel',serif;font-weight:400;font-size:.82rem;letter-spacing:.14em;color:var(--gold);margin-bottom:.5rem}
.offer p{font-size:.78rem;color:var(--muted);line-height:1.7}

/* contact tiles */
.tiles{display:grid;gap:.5rem;margin-top:1.6rem}
.tile{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.1rem;
  padding:1.05rem 1.3rem;border:1px solid var(--line);
  text-decoration:none;transition:.4s var(--ease);
}
.tile:hover{border-color:rgba(201,162,39,.4);background:rgba(201,162,39,.035)}
.tile svg{color:rgba(201,162,39,.5)}
.tile b{display:block;font-family:'Orbitron',monospace;font-size:.44rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(201,162,39,.4);margin-bottom:.25rem;font-weight:400}
.tile span{font-size:.85rem;color:var(--ivory)}
.tile em{font-style:normal;color:rgba(201,162,39,.35);font-size:.7rem}

.agent{margin-top:1.6rem;padding:1.6rem 1.4rem;border:1px solid rgba(201,162,39,.16);background:rgba(201,162,39,.025)}
.agent b{display:block;font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(201,162,39,.42);padding-bottom:.8rem;margin-bottom:.9rem;border-bottom:1px solid var(--line);font-weight:400}
.agent p{font-size:.84rem;color:var(--muted);line-height:1.95}
.agent strong{color:var(--ivory);font-weight:400}
.agent a{color:rgba(201,162,39,.6);text-decoration:none}
.agent a:hover{color:var(--gold-hi)}

.dispatch{margin-top:1.6rem;padding:1.5rem 1.4rem;border:1px solid var(--line)}
.dispatch b{display:block;font-family:'Cinzel',serif;font-weight:400;font-size:.85rem;letter-spacing:.16em;color:var(--gold);margin-bottom:.5rem}
.dispatch p{font-size:.8rem;color:var(--muted);margin-bottom:1.1rem}
.dispatch div{display:flex}
.dispatch input{
  flex:1;background:rgba(255,255,255,.022);border:1px solid rgba(201,162,39,.16);border-right:0;
  color:var(--ivory);padding:.75rem .9rem;font-family:'Jost',sans-serif;font-size:.85rem;outline:none;
}
.dispatch button{
  padding:.75rem 1.2rem;background:var(--gold);color:var(--void);border:0;cursor:pointer;
  font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.24em;text-transform:uppercase;
  transition:.35s;white-space:nowrap;
}
.dispatch button:hover{background:var(--gold-hi)}

/* editions */
.editions{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.8rem)}
.edition{border:1px solid var(--line);background:var(--navy-2);transition:.5s var(--ease);overflow:hidden}
.edition:hover{border-color:rgba(201,162,39,.32);transform:translateY(-4px)}
.edition img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.7) brightness(.82);transition:.6s}
.edition:hover img{filter:saturate(1) brightness(.95)}
.edition-body{padding:1.4rem 1.2rem}
.edition-body b{display:block;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.05rem;color:var(--ivory);margin-bottom:.25rem}
.edition-body small{display:block;font-family:'Orbitron',monospace;font-size:.44rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem}
.tariff{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-bottom:1.1rem}
.tariff div{background:var(--navy);padding:.7rem .5rem;text-align:center}
.tariff span{display:block;font-family:'Orbitron',monospace;font-size:.4rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(236,229,216,.28);margin-bottom:.3rem}
.tariff b{font-family:'Cinzel',serif;font-weight:400;font-size:.92rem;color:var(--gold)}
.edition button{
  width:100%;padding:.75rem;background:none;border:1px solid rgba(201,162,39,.3);
  color:rgba(201,162,39,.8);cursor:pointer;
  font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.26em;text-transform:uppercase;
  transition:.4s var(--ease);
}
.edition button:hover{background:var(--gold);color:var(--void);border-color:var(--gold)}

/* map */
.atlas{margin-top:clamp(2.5rem,5vw,4rem);border:1px solid var(--line);position:relative;overflow:hidden}
.atlas-bar{
  display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.4rem;
  border-bottom:1px solid var(--line);background:var(--navy-2);
}
.atlas-bar svg{color:rgba(201,162,39,.5);flex-shrink:0}
.atlas-bar b{display:block;font-family:'Orbitron',monospace;font-size:.44rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(201,162,39,.42);margin-bottom:.25rem;font-weight:400}
.atlas-bar span{font-size:.85rem;color:var(--ivory)}
.atlas-bar a{
  margin-left:auto;font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.24em;
  text-transform:uppercase;padding:.55rem 1.1rem;border:1px solid rgba(201,162,39,.28);
  color:rgba(201,162,39,.75);text-decoration:none;transition:.4s;white-space:nowrap;
}
.atlas-bar a:hover{background:var(--gold);color:var(--void);border-color:var(--gold)}
.atlas iframe{width:100%;height:330px;border:0;display:block;filter:invert(91%) hue-rotate(185deg) saturate(.35) brightness(.88) contrast(1.1)}

/* ═══════════════════════════════════════════════════
   XII. CODA
═══════════════════════════════════════════════════ */
footer{
  margin-top:clamp(4rem,8vw,7rem);padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,5.5rem);
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,transparent,var(--void));
  display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;
}
footer img{width:140px;opacity:.85}
.coda-mid{display:flex;flex-direction:column;align-items:center;gap:.9rem;color:rgba(201,162,39,.25)}
.coda-right{text-align:right}
.coda-right p{font-size:.62rem;color:rgba(236,229,216,.22);letter-spacing:.1em}
.coda-right nav{display:flex;justify-content:flex-end;gap:1.3rem;margin-top:.8rem}
.coda-right a{font-family:'Orbitron',monospace;font-size:.44rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,162,39,.3);text-decoration:none;transition:.3s}
.coda-right a:hover{color:var(--gold-hi)}
.coda-left p{font-size:.66rem;color:rgba(236,229,216,.25);letter-spacing:.1em;margin-top:.7rem;line-height:1.9}

/* ═══════════════════════════════════════════════════
   XIII. MOTION
═══════════════════════════════════════════════════ */
.rise{opacity:0;transform:translateY(30px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.rise.in{opacity:1;transform:none}
.slide-l{opacity:0;transform:translateX(-26px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.slide-l.in{opacity:1;transform:none}
.slide-r{opacity:0;transform:translateX(26px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.slide-r.in{opacity:1;transform:none}
[data-lag="1"]{transition-delay:.09s}[data-lag="2"]{transition-delay:.18s}
[data-lag="3"]{transition-delay:.27s}[data-lag="4"]{transition-delay:.36s}
[data-lag="5"]{transition-delay:.45s}[data-lag="6"]{transition-delay:.54s}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ═══════════════════════════════════════════════════
   XIV. ADAPT
═══════════════════════════════════════════════════ */
@media(max-width:1180px){
  .work{grid-column:span 6}.work.wide,.work.tall{grid-column:span 6}
  .editions{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  #rail{transform:translateX(-230px);width:250px}
  #rail.open{transform:none}
  #burger{display:flex}
  #stagecraft{margin-left:0}
  .record,.origin,.duo,.cycle,.cycle.flip{grid-template-columns:1fr}
  .cycle.flip .cycle-img{order:0}
  .cycle-img{min-height:260px}
  .vit{grid-template-columns:1fr;max-height:88svh}
  .vit-img img{min-height:200px;max-height:38svh}
  footer{grid-template-columns:1fr;text-align:center;justify-items:center}
  .coda-right{text-align:center}.coda-right nav{justify-content:center}
  .threshold-body{padding:7rem 1.5rem 5rem}
  .atlas-bar{flex-wrap:wrap}.atlas-bar a{margin-left:0;width:100%;text-align:center}
}
@media(max-width:620px){
  .work,.work.wide,.work.tall{grid-column:span 12}
  .editions{grid-template-columns:1fr}
  .pair{grid-template-columns:1fr}
  .laurels,.offers{grid-template-columns:1fr}
  .cycle-facts{gap:1.4rem}
  #stage{width:min(80vmin,340px)}
}

/* ═══════════════════════════════════════════════════
   XV. NUTOPIA 2 — additions & refinements
   (the original language above is kept; these layers extend it)
═══════════════════════════════════════════════════ */
[hidden]{display:none!important}
:focus-visible{outline:1px solid var(--gold-hi);outline-offset:3px}
a{color:inherit}

/* skip the passage: visible, quiet */
#skip{
  position:absolute;top:1.6rem;right:1.8rem;z-index:8;background:none;border:0;cursor:pointer;
  font-family:'Orbitron',monospace;font-size:.5rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(201,162,39,.38);
  transition:color .3s;
}
#skip:hover{color:var(--gold-hi)}

/* orbit progress — the rail fills as you descend */
#rail::after{
  content:'';position:absolute;top:0;right:-1px;width:1px;height:calc(var(--progress,0) * 100%);
  background:linear-gradient(180deg,var(--gold),var(--gold-hi));box-shadow:0 0 8px rgba(240,217,122,.5);
}
.rail-reg{
  display:flex;align-items:center;gap:.7rem;margin:0 1.7rem 1rem;padding:.75rem .9rem;
  border:1px solid var(--line);text-decoration:none;transition:.4s var(--ease);
}
.rail-reg:hover{border-color:rgba(201,162,39,.45);background:rgba(201,162,39,.04)}
.rail-reg img{width:28px;height:28px;border-radius:50%}
.rail-reg b{display:block;font-family:'Orbitron',monospace;font-weight:400;font-size:.44rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(201,162,39,.55)}
.rail-reg span{font-size:.7rem;color:rgba(236,229,216,.45)}

/* announcement */
.notice{
  position:relative;z-index:3;display:flex;align-items:center;gap:1rem;justify-content:center;
  padding:.7rem clamp(1.5rem,5vw,5.5rem);border-bottom:1px solid var(--line);background:var(--void);
  font-size:.74rem;color:var(--muted);letter-spacing:.04em;text-align:center;
}
.notice b{font-family:'Orbitron',monospace;font-weight:400;font-size:.46rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}

/* ══ THRESHOLD: the portal frames the work ══ */
#threshold{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1rem,4vw,4rem)}
.threshold-body{padding-right:0}
#threshold-img{filter:brightness(.18) saturate(.3) contrast(1.05)}
.portal{
  position:relative;z-index:2;justify-self:center;align-self:center;
  width:min(40vw,520px);aspect-ratio:1;margin:6rem clamp(1.5rem,4vw,4rem) 6rem 0;
  --mx:0;--my:0;
}
.portal-ring{position:absolute;border-radius:50%;pointer-events:none;transition:transform 1.2s var(--ease)}
.portal-ring.r1{inset:-5%;border:1px solid rgba(201,162,39,.32);transform:translate(calc(var(--mx)*-6px),calc(var(--my)*-6px))}
.portal-ring.r2{inset:-12%;border:1px dashed rgba(201,162,39,.16);animation:orbitTurn 120s linear infinite}
.portal-ring.r3{inset:-20%;border:1px solid rgba(201,162,39,.07);transform:translate(calc(var(--mx)*-14px),calc(var(--my)*-14px))}
.portal-orbit{position:absolute;inset:-20%;animation:orbitTurn 90s linear infinite;color:rgba(201,162,39,.42);pointer-events:none}
.portal-orbit svg{position:absolute;width:26px;height:26px}
.portal-orbit svg:nth-child(1){top:-13px;left:50%;margin-left:-13px}
.portal-orbit svg:nth-child(2){top:25%;right:2.5%;margin-top:-13px}
.portal-orbit svg:nth-child(3){bottom:25%;right:2.5%;margin-bottom:-13px}
.portal-orbit svg:nth-child(4){bottom:-13px;left:50%;margin-left:-13px}
.portal-orbit svg:nth-child(5){bottom:25%;left:2.5%;margin-bottom:-13px}
.portal-orbit svg:nth-child(6){top:25%;left:2.5%;margin-top:-13px}
.portal-glass{
  position:absolute;inset:0;border-radius:50%;overflow:hidden;background:var(--void);cursor:pointer;
  box-shadow:0 0 0 1px rgba(201,162,39,.5),0 0 80px rgba(201,162,39,.16),inset 0 0 60px rgba(0,0,0,.6);
  transform:translate(calc(var(--mx)*8px),calc(var(--my)*8px));transition:transform 1.2s var(--ease);
}
.portal-glass img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;
  clip-path:circle(0% at 50% 50%);transition:clip-path 1.6s var(--ease),transform 7s linear;transform:scale(1.08);
}
.portal-glass img.on{clip-path:circle(75% at 50% 50%);transform:scale(1)}
.portal-glass::after{
  content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,transparent 58%,rgba(3,7,15,.55) 100%);
}
.portal-cap{
  position:absolute;left:50%;bottom:-4.4rem;transform:translateX(-50%);width:max-content;max-width:110%;
  text-align:center;background:none;border:0;cursor:pointer;color:inherit;
}
.portal-cap i{display:block;font-style:normal;font-family:'Orbitron',monospace;font-size:.46rem;letter-spacing:.34em;color:rgba(201,162,39,.5)}
.portal-cap b{display:block;margin-top:.35rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:1.15rem;color:var(--ivory)}
.portal-ticks{position:absolute;left:50%;bottom:-6.2rem;transform:translateX(-50%);display:flex;gap:.5rem}
.portal-ticks button{width:18px;height:1px;border:0;padding:0;background:rgba(201,162,39,.25);cursor:pointer;transition:.4s var(--ease)}
.portal-ticks button.on{width:34px;background:var(--gold)}

/* ══ WORKS ══ */
.sieve .count{font-size:.42rem;opacity:.5;margin-left:.4rem;letter-spacing:.1em}
.work .work-code{
  position:absolute;top:.9rem;left:.9rem;font-family:'Orbitron',monospace;font-size:.4rem;letter-spacing:.2em;
  color:rgba(236,229,216,.55);background:rgba(3,7,15,.5);padding:.28rem .5rem;backdrop-filter:blur(6px);
  opacity:0;transition:opacity .5s var(--ease);
}
.work:hover .work-code,.work:focus-visible .work-code{opacity:1}
.work{background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit;display:block;width:100%}
.st-res{color:rgba(240,217,122,.7);border:1px solid rgba(240,217,122,.25)}
@media (hover:none){.work figcaption{transform:none;opacity:1}.work .work-code{opacity:1}}
.more{display:flex;justify-content:center;margin-top:clamp(2rem,4vw,3rem)}
.more button{cursor:pointer;background:none}

/* vitrine — contain the whole painting, add passage arrows */
.vit-img{display:grid;place-items:center;min-height:300px}
.vit-img img{object-fit:contain;max-height:90svh;min-height:0;height:auto}
.vit-code{font-family:'Orbitron',monospace;font-size:.5rem;letter-spacing:.24em;color:rgba(201,162,39,.6);text-decoration:none;border-bottom:1px solid rgba(201,162,39,.25);padding-bottom:.15rem;align-self:flex-start}
.vit-code:hover{color:var(--gold-hi)}
.vit-price{font-family:'Cinzel',serif;font-size:1.05rem;color:var(--gold-hi);letter-spacing:.06em}
.vit-nav{position:fixed;top:50%;z-index:3;width:44px;height:44px;margin-top:-22px;background:rgba(3,7,15,.7);border:1px solid rgba(201,162,39,.25);color:var(--gold);cursor:pointer;font-size:.9rem;transition:.35s}
.vit-nav:hover{border-color:var(--gold);background:rgba(201,162,39,.1)}
.vit-prev{left:clamp(.5rem,2vw,1.6rem)}.vit-next{right:clamp(.5rem,2vw,1.6rem)}
.act.wa{background:transparent}
button.act{cursor:pointer;background:none;-webkit-appearance:none;appearance:none}
button.act.solid{background:var(--gold)}

/* ══ PROVENANCE (register teaser) ══ */
#provenance .prov{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;
  border:1px solid var(--line);padding:clamp(2rem,4vw,3.4rem);
  background:radial-gradient(ellipse 60% 120% at 0% 50%,rgba(201,162,39,.06),transparent 70%),var(--navy-2);
}
.prov-seal{width:clamp(120px,16vw,190px);aspect-ratio:1;position:relative}
.prov-seal img{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 50px rgba(201,162,39,.2)}
.prov-seal::before{content:'';position:absolute;inset:-9%;border-radius:50%;border:1px dashed rgba(201,162,39,.25);animation:orbitTurn 60s linear infinite}
.prov h3{font-family:'Cinzel',serif;font-weight:400;font-size:clamp(1.2rem,2.2vw,1.7rem);color:var(--gold);letter-spacing:.06em;margin-bottom:.8rem}
.prov p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;color:var(--muted);max-width:52ch;line-height:1.85}
.verify{display:flex;margin-top:1.6rem;max-width:520px}
.verify input{
  flex:1;min-width:0;background:rgba(255,255,255,.022);border:1px solid rgba(201,162,39,.22);border-right:0;color:var(--gold-hi);
  padding:.85rem 1rem;font-family:'Orbitron',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;outline:none;
}
.verify input::placeholder{color:rgba(236,229,216,.25)}
.verify input:focus{border-color:var(--gold)}
.verify button{border:0;cursor:pointer}
.prov-meta{display:flex;flex-wrap:wrap;gap:2rem;margin-top:1.6rem}
.prov-meta div b{display:block;font-family:'Cinzel',serif;font-weight:400;font-size:1.2rem;color:var(--gold-hi)}
.prov-meta div span{font-family:'Orbitron',monospace;font-size:.42rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(236,229,216,.3)}
.prov-meta a{font-family:'Orbitron',monospace;font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(201,162,39,.7);text-decoration:none;align-self:center}
.prov-meta a:hover{color:var(--gold-hi)}

/* forms: status lines instead of mail-client hand-off */
.sent{display:block;min-height:0;padding:0;border:0;background:none}
.sent:not(:empty){padding:1.1rem;border:1px solid rgba(201,162,39,.22);background:rgba(201,162,39,.04);margin-top:1.2rem}
.sent.err{color:#e8a07a;border-color:rgba(232,160,122,.3)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.field select{appearance:none;-webkit-appearance:none}
.edition-body small{min-height:1em}

/* floating whatsapp — quiet bronze, not stock green */
.wa-float{
  position:fixed;right:1.3rem;bottom:1.3rem;z-index:650;width:50px;height:50px;border-radius:50%;
  display:grid;place-items:center;background:rgba(3,7,15,.85);border:1px solid rgba(201,162,39,.4);color:var(--gold);
  backdrop-filter:blur(8px);transition:.4s var(--ease);
}
.wa-float:hover{background:var(--gold);color:var(--void);transform:translateY(-3px)}

.toast{position:fixed;left:50%;bottom:1.6rem;transform:translate(-50%,20px);z-index:9500;opacity:0;pointer-events:none;
  background:var(--navy-3);border:1px solid rgba(201,162,39,.35);color:var(--gold-hi);padding:.8rem 1.4rem;
  font-family:'Orbitron',monospace;font-size:.5rem;letter-spacing:.24em;text-transform:uppercase;transition:.4s var(--ease)}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media(max-width:1180px){
  .portal{width:min(38vw,420px)}
}
@media(max-width:900px){
  #threshold{grid-template-columns:1fr;align-content:center}
  .portal{width:min(68vw,360px);margin:6.5rem auto 5.5rem;order:-1}
  .threshold-body{padding:0 1.5rem 5rem}
  #provenance .prov{grid-template-columns:1fr;justify-items:start}
  .vit-nav{top:auto;bottom:.8rem;margin:0}
  .vit-prev{left:calc(50% - 52px)}.vit-next{right:calc(50% - 52px)}
  .vit{max-height:82svh}
}
@media(max-width:620px){
  .portal-orbit svg{width:20px;height:20px}
  .verify{flex-direction:column}
  .verify input{border-right:1px solid rgba(201,162,39,.22);border-bottom:0}
  footer img{margin:0 auto}
}
@media(prefers-reduced-motion:reduce){
  .rise,.slide-l,.slide-r{opacity:1;transform:none}
  .portal-glass img{transition:none}
}

/* asymmetric grid with full rows: 6+3+3 / 4+4+4 / 3+3+6 / 4+4+4 */
.work.w6{grid-column:span 6}.work.w3{grid-column:span 3}.work.w4{grid-column:span 4}
.work.w6 img{aspect-ratio:4/3}
.works{align-items:start}
@media(max-width:1180px){.work.w6,.work.w3,.work.w4{grid-column:span 6}.work.w6 img{aspect-ratio:3/4}}
@media(max-width:620px){.work.w6,.work.w3,.work.w4{grid-column:span 12}}
@media(max-width:900px){#rail{transform:translateX(-105%)}#rail.open{transform:none}}

/* mobile vitrine: whole card scrolls, actions always reachable */
@media(max-width:900px){
  #vitrine{place-items:start center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4rem .8rem 2rem}
  .vit{max-height:none;overflow:visible;animation:none}
  .vit-img img{max-height:58svh;width:auto;max-width:100%}
  .vit-body{overflow:visible;padding:1.6rem 1.3rem 0}
  .vit-acts{position:sticky;bottom:0;z-index:2;margin:0 -1.3rem;padding:1rem 1.3rem calc(1rem + env(safe-area-inset-bottom,0px));background:var(--navy-3);border-top:1px solid var(--line)}
  .vit-acts .act{flex:1 1 100%;text-align:center}
  #vit-close{position:fixed;top:.8rem;right:.8rem;z-index:5}
  .vit-nav{position:fixed;top:.8rem;bottom:auto;margin:0;width:40px;height:34px;z-index:5}
  .vit-prev{left:.8rem}.vit-next{left:3.6rem;right:auto}
}
