/* ============================================================
   KAGUYA.STREAM — corporate lunar-folklore
   Chrome-metallic scaffolding · watercolour soul · 12deg seams
   ============================================================ */

:root{
  --anthracite:#0e1014;
  --steel-black:#1a1c20;
  --gunmetal:#3a3e44;
  --brushed:#8a8e94;
  --chrome:#c8ccd0;
  --pearl:#e8eaee;
  --rice:#f4ead2;
  --gold:#d4af37;
  --mist:#9bb3c4;

  --chrome-panel:linear-gradient(180deg,#e8eaee 0%,#c8ccd0 38%,#8a8e94 78%,#3a3e44 100%);
  --ease:cubic-bezier(0.22,1,0.36,1);
  --diag:12vw;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:"Cormorant Garamond",Georgia,serif;
  background:var(--steel-black);
  color:var(--anthracite);
  overflow-x:hidden;
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='9' fill='none' stroke='%238a8e94' stroke-width='1.4'/%3E%3Ccircle cx='11' cy='11' r='9' fill='none' stroke='%23e8eaee' stroke-width='0.6'/%3E%3Cpath d='M14 5 A8 8 0 1 0 14 17 A6 6 0 1 1 14 5 Z' fill='%23f4ead2'/%3E%3C/svg%3E") 11 11,auto;
}

a{color:inherit;text-decoration:none;}

::selection{background:var(--gold);color:var(--anthracite);}

/* ---------- type helpers ---------- */
.kana{font-family:"Shippori Mincho",serif;font-size:.9rem;line-height:1.6;letter-spacing:.18em;color:var(--gunmetal);}
.kana.light{color:var(--mist);}
.serial{font-family:"JetBrains Mono",monospace;font-size:.78rem;line-height:1.45;letter-spacing:.04em;color:var(--gunmetal);}
.serial.light{color:var(--brushed);}

/* ============================================================
   TOPBAR + moon-phase scroll progress
   ============================================================ */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;gap:2.5rem;
  padding:.85rem 2.2rem;
  background:linear-gradient(180deg,rgba(232,234,238,.92),rgba(200,204,208,.78));
  border-bottom:1px solid var(--gunmetal);
  box-shadow:0 1px 0 var(--pearl) inset;
  backdrop-filter:blur(6px);
  transition:transform .5s var(--ease),background .4s ease;
}
.topbar.hidden{transform:translateY(-110%);}
.brand{
  font-family:"Big Shoulders Display",sans-serif;font-weight:800;
  font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--anthracite);
}
.topnav{display:flex;gap:1.6rem;margin-left:auto;}
.topnav a{
  font-family:"Antonio",sans-serif;font-weight:600;font-size:.74rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gunmetal);
  padding-bottom:2px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;
}
.topnav a:hover{color:var(--anthracite);border-color:var(--gold);}
.moonphases{display:flex;gap:6px;align-items:center;padding-left:1.4rem;border-left:1px solid var(--brushed);}
.mp{
  width:12px;height:12px;border-radius:50%;
  background:radial-gradient(circle at 32% 32%,#e8eaee,#8a8e94 70%,#3a3e44);
  border:1px solid var(--gunmetal);
  position:relative;overflow:hidden;transition:filter .4s ease,transform .4s ease;
}
.mp::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:var(--anthracite);
  transform:translateX(calc(-100% + var(--lit,0%)));
  transition:transform .4s ease;
}
.mp.active{filter:drop-shadow(0 0 4px var(--gold));transform:scale(1.12);}
@media(max-width:760px){
  .topnav{display:none;}
  .moonphases{margin-left:auto;border-left:none;padding-left:0;}
}

/* ============================================================
   HERO — The Bamboo Stalk
   ============================================================ */
.hero{
  position:relative;min-height:100vh;
  background:var(--chrome-panel);
  overflow:hidden;
  clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--diag)));
  display:flex;align-items:center;
  padding:7rem clamp(1.4rem,6vw,7rem) calc(var(--diag) + 4rem);
}
.hero-grain{
  position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.moon-crescent{
  position:absolute;top:9%;right:8%;width:clamp(60px,7vw,110px);height:auto;
  opacity:.85;animation:lantern 6s var(--ease) infinite;
}
.moon-crescent svg{width:100%;height:auto;display:block;}

.bamboo{
  position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);
  width:clamp(60px,8vw,120px);
}
.bamboo>svg{width:100%;height:100%;display:block;}
.bamboo-glow{
  position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);
  width:60%;
  background:linear-gradient(90deg,transparent,rgba(212,175,55,.45) 50%,transparent);
  filter:blur(8px);mix-blend-mode:screen;
  animation:lantern 6s var(--ease) infinite;
}
.princess-in-bamboo{
  position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);
  width:24px;height:42px;mix-blend-mode:multiply;
}
@keyframes lantern{
  0%,100%{filter:brightness(1) blur(.4px);}
  50%{filter:brightness(1.1) blur(.8px);}
}

.hero-text{position:relative;z-index:5;max-width:560px;}
.hero-wordmark{
  font-family:"Big Shoulders Display",sans-serif;font-weight:800;
  font-size:clamp(2.6rem,7vw,6.5rem);line-height:.95;letter-spacing:-0.01em;
  text-transform:uppercase;color:var(--anthracite);margin:.4rem 0 .2rem;
}
.hero-wordmark .dot{color:var(--gold);}
.hero-sub{
  font-family:"Antonio",sans-serif;font-weight:700;font-size:clamp(1rem,2vw,1.5rem);
  letter-spacing:.12em;text-transform:uppercase;color:var(--gunmetal);margin-bottom:1.4rem;
}
.hero-body{
  font-style:italic;font-size:1.05rem;line-height:1.7;color:var(--steel-black);
  max-width:46ch;margin-bottom:1.6rem;
}
.hero-doc{font-family:"JetBrains Mono",monospace;font-size:.78rem;letter-spacing:.04em;color:var(--gunmetal);}
.hero-scrollhint{
  position:absolute;bottom:calc(var(--diag) + 1.4rem);left:clamp(1.4rem,6vw,7rem);z-index:5;
  font-family:"Antonio",sans-serif;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gunmetal);display:flex;align-items:center;gap:.7rem;
}
.hero-scrollhint span{
  width:30px;height:1px;background:var(--gunmetal);position:relative;overflow:hidden;
}
.hero-scrollhint span::after{
  content:"";position:absolute;inset:0;background:var(--gold);
  animation:wipe 2.6s linear infinite;
}
@keyframes wipe{0%{transform:translateX(-100%);}60%,100%{transform:translateX(100%);}}

/* ============================================================
   SHARED SECTION FRAMING — diagonal seams + slide-reveal
   ============================================================ */
.reveal{
  position:relative;
  margin-top:calc(var(--diag) * -1);
  padding:calc(var(--diag) + 5rem) clamp(1.4rem,6vw,7rem) calc(var(--diag) + 5rem);
  opacity:0;transform:translateY(40px) translateX(-20px);
  transition:transform 720ms var(--ease),opacity 720ms var(--ease);
}
.reveal.in{opacity:1;transform:none;}
.reveal-child{
  opacity:0;transform:translateY(40px) translateX(-20px);
  transition:transform 720ms var(--ease) 120ms,opacity 720ms var(--ease) 120ms;
}
.reveal.in .reveal-child{opacity:1;transform:none;}
.reveal.in .reveal-child:nth-child(2){transition-delay:200ms;}
.reveal.in .reveal-child:nth-child(3){transition-delay:280ms;}

/* chrome highlight along seam */
.reveal::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(98deg,transparent,var(--pearl) 50%,transparent);
  z-index:8;
}

/* section headings shared */
.section-head{max-width:680px;margin-bottom:3rem;}
.banner-label{
  font-family:"JetBrains Mono",monospace;font-size:.78rem;letter-spacing:.1em;
  color:var(--gunmetal);margin-bottom:.7rem;
}
.banner-label.light{color:var(--mist);}
.banner-title{
  font-family:"Big Shoulders Display",sans-serif;font-weight:800;
  font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:.06em;text-transform:uppercase;
  color:var(--anthracite);margin-bottom:.8rem;
}
.banner-note{
  font-family:"Shippori Mincho",serif;font-size:.95rem;line-height:1.6;color:var(--gunmetal);
}

/* ============================================================
   PROCESSION — diagonal catalog strip
   ============================================================ */
.procession{
  background:var(--chrome-panel);
  clip-path:polygon(0 var(--diag),100% 0,100% 100%,0 calc(100% - var(--diag)));
  overflow:hidden;
}
.seam-engrave{
  position:absolute;top:0;left:0;right:0;height:var(--diag);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg transform='rotate(12 20 20)' fill='%230e1014'%3E%3Cpath d='M0 0 L20 8 L0 16 Z'/%3E%3Cpath d='M20 20 L40 28 L20 36 Z'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.08;pointer-events:none;
}
.procession-strip{
  display:flex;gap:1.4rem;overflow-x:auto;padding:1rem 0 2rem;
  scroll-snap-type:x proximity;
}
.procession-strip::-webkit-scrollbar{height:6px;}
.procession-strip::-webkit-scrollbar-track{background:rgba(58,62,68,.2);}
.procession-strip::-webkit-scrollbar-thumb{background:var(--brushed);border-radius:0;}
.proc-frame{
  flex:0 0 clamp(260px,30vw,360px);scroll-snap-align:start;
  background:linear-gradient(180deg,var(--pearl),var(--chrome));
  border-top:1px solid var(--pearl);border-bottom:1px solid var(--gunmetal);
  border-left:1px solid var(--brushed);border-right:1px solid var(--brushed);
  /* trapezoidal chrome frame */
  clip-path:polygon(0 4%,100% 0,100% 96%,0 100%);
  padding:1.4rem 1.5rem 1.7rem;position:relative;overflow:hidden;
  transition:transform .5s var(--ease);
}
.proc-frame:hover{transform:translateY(-8px);}
.proc-watercolor{
  height:150px;margin:-1.4rem -1.5rem 1rem;position:relative;overflow:hidden;
  mix-blend-mode:multiply;filter:blur(.4px);
}
.proc-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;}
.proc-meta .serial,.proc-meta .runtime{
  font-family:"JetBrains Mono",monospace;font-size:.74rem;letter-spacing:.04em;color:var(--gunmetal);
}
.proc-title{
  font-family:"Big Shoulders Display",sans-serif;font-weight:700;
  font-size:1.5rem;line-height:1.05;letter-spacing:-0.01em;color:var(--anthracite);margin-bottom:.5rem;
}
.proc-syn{font-style:italic;font-size:.98rem;line-height:1.6;color:var(--steel-black);}

/* watercolour washes (radial gradients, paper-soft) */
.wc-moonrise{background:
  radial-gradient(120px 120px at 70% 40%,rgba(244,234,210,.95),transparent 70%),
  radial-gradient(160px 160px at 40% 90%,rgba(155,179,196,.7),transparent 75%),
  radial-gradient(80px 80px at 75% 38%,rgba(212,175,55,.4),transparent 70%),
  linear-gradient(180deg,#9bb3c4,#3a3e44);
}
.wc-procession{background:
  radial-gradient(140px 120px at 30% 30%,rgba(244,234,210,.9),transparent 70%),
  radial-gradient(100px 200px at 60% 80%,rgba(155,179,196,.6),transparent 75%),
  radial-gradient(70px 70px at 80% 25%,rgba(232,234,238,.8),transparent 70%),
  linear-gradient(160deg,#8a8e94,#1a1c20);
}
.wc-emperor{background:
  radial-gradient(160px 100px at 50% 60%,rgba(244,234,210,.85),transparent 72%),
  radial-gradient(90px 90px at 25% 30%,rgba(212,175,55,.45),transparent 70%),
  radial-gradient(120px 160px at 75% 90%,rgba(155,179,196,.55),transparent 75%),
  linear-gradient(140deg,#c8ccd0,#3a3e44);
}
.wc-ascent{background:
  radial-gradient(80px 220px at 50% 80%,rgba(244,234,210,.9),transparent 70%),
  radial-gradient(140px 140px at 50% 20%,rgba(232,234,238,.85),transparent 72%),
  radial-gradient(60px 60px at 55% 30%,rgba(212,175,55,.4),transparent 70%),
  linear-gradient(180deg,#e8eaee,#8a8e94);
}
.wc-fuji{background:
  radial-gradient(200px 130px at 50% 100%,rgba(155,179,196,.7),transparent 72%),
  radial-gradient(120px 90px at 50% 55%,rgba(244,234,210,.8),transparent 70%),
  radial-gradient(90px 200px at 50% 0%,rgba(212,175,55,.35),transparent 75%),
  linear-gradient(180deg,#c8ccd0,#1a1c20);
}

/* ============================================================
   MOON ANNEX — reversed polarity, -12deg
   ============================================================ */
.annex{
  background:linear-gradient(180deg,#1a1c20 0%,#0e1014 60%,#1a1c20 100%);
  color:var(--pearl);
  clip-path:polygon(0 0,100% var(--diag),100% calc(100% - var(--diag)),0 100%);
  overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;
}
.annex::before{
  background:linear-gradient(82deg,transparent,var(--brushed) 50%,transparent);
}
.annex-pattern{
  position:absolute;inset:0;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='48' viewBox='0 0 42 48'%3E%3Cg fill='none' stroke='%23e8eaee' stroke-width='1'%3E%3Cpath d='M10.5 0 L31.5 0 L42 12 L31.5 24 L10.5 24 L0 12 Z'/%3E%3Cpath d='M31.5 24 L42 36 L31.5 48 M10.5 24 L0 36 L10.5 48'/%3E%3C/g%3E%3C/svg%3E");
}
.annex-moon{
  position:relative;justify-self:center;align-self:end;
  width:clamp(40vw,55vw,640px);margin-bottom:calc(var(--diag) * -0.4);
  filter:drop-shadow(0 0 60px rgba(232,234,238,.18));
}
.annex-moon svg{width:100%;height:auto;display:block;}
.annex-content{position:relative;z-index:5;max-width:560px;padding:2rem 0;}
.annex-title{
  font-family:"Big Shoulders Display",sans-serif;font-weight:800;
  font-size:clamp(2.4rem,6vw,5.2rem);line-height:.95;letter-spacing:-0.01em;
  color:var(--pearl);margin:.6rem 0 1.2rem;
}
.annex-syn{
  font-style:italic;font-size:1.1rem;line-height:1.75;color:var(--chrome);max-width:48ch;margin-bottom:1.6rem;
}
.annex-meta{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.8rem;}
.seal-row{display:flex;gap:1rem;flex-wrap:wrap;}
.seal{
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:"JetBrains Mono",monospace;font-size:.6rem;letter-spacing:.1em;color:var(--brushed);
  background:radial-gradient(circle at 32% 30%,#3a3e44,#0e1014 75%);
  border:1px solid var(--gunmetal);box-shadow:0 0 0 1px rgba(232,234,238,.12) inset;
  position:relative;overflow:hidden;transition:transform .4s var(--ease);
}
.seal::after{
  content:attr(data-kanji);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:"Shippori Mincho",serif;font-size:1.6rem;font-weight:600;color:var(--gold);
  background:radial-gradient(circle,rgba(244,234,210,.18),transparent 70%);
  opacity:0;transform:scale(.7);transition:opacity .35s var(--ease),transform .35s var(--ease);
  mix-blend-mode:screen;filter:blur(.3px);
}
.seal:hover{transform:rotate(-12deg) scale(1.06);}
.seal:hover::after{opacity:1;transform:scale(1);}
.seal:hover{color:transparent;}

@media(max-width:860px){
  .annex{grid-template-columns:1fr;}
  .annex-moon{order:-1;width:78vw;margin-bottom:1rem;}
}

/* ============================================================
   SEIGAIHA INDEX — archive cards
   ============================================================ */
.index{background:var(--chrome-panel);clip-path:polygon(0 var(--diag),100% 0,100% 100%,0 calc(100% - var(--diag)));overflow:hidden;}
.seigaiha-wash{
  position:absolute;inset:0;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='30' viewBox='0 0 60 30'%3E%3Cg fill='none' stroke='%230e1014' stroke-width='1.4'%3E%3Cpath d='M0 30 A30 30 0 0 1 60 30'/%3E%3Cpath d='M0 30 A22 22 0 0 1 60 30'/%3E%3Cpath d='M0 30 A14 14 0 0 1 60 30'/%3E%3Cpath d='M0 30 A6 6 0 0 1 60 30'/%3E%3C/g%3E%3C/svg%3E");
}
.card-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.4rem;position:relative;z-index:2;
}
.cat-card{
  position:relative;overflow:hidden;padding:1.2rem 1.3rem 1.4rem;min-height:200px;
  background:linear-gradient(180deg,var(--pearl),var(--chrome));
  border-top:1px solid var(--pearl);border-bottom:1px solid var(--gunmetal);
  border-left:1px solid var(--brushed);border-right:1px solid var(--brushed);
  display:flex;flex-direction:column;
}
.card-serial{
  font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.06em;color:var(--gunmetal);
  margin-bottom:.6rem;position:relative;z-index:3;
}
.card-thumb{
  position:absolute;left:0;right:0;bottom:0;height:100%;
  mix-blend-mode:multiply;filter:blur(.4px);
  transform:translateY(100%);transition:transform .6s var(--ease);z-index:1;
}
.cat-card:hover .card-thumb{transform:translateY(0);}
.card-title{
  font-family:"Big Shoulders Display",sans-serif;font-weight:700;font-size:1.35rem;line-height:1.05;
  letter-spacing:-0.01em;color:var(--anthracite);margin-top:auto;position:relative;z-index:3;
  text-shadow:0 0 8px rgba(232,234,238,.6);
}
.card-line{
  font-family:"Shippori Mincho",serif;font-size:.82rem;line-height:1.5;color:var(--gunmetal);
  margin-top:.3rem;position:relative;z-index:3;text-shadow:0 0 6px rgba(232,234,238,.6);
}

/* ============================================================
   BAMBOO GROVE — categories
   ============================================================ */
.grove{
  background:linear-gradient(180deg,#e8eaee 0%,#c8ccd0 50%,#8a8e94 100%);
  clip-path:polygon(0 0,100% var(--diag),100% 100%,0 calc(100% - var(--diag)));overflow:hidden;
}
.asanoha-wash{
  position:absolute;inset:0;pointer-events:none;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='96' viewBox='0 0 56 96'%3E%3Cg fill='none' stroke='%230e1014' stroke-width='1'%3E%3Cpath d='M28 0 L28 48 M28 48 L0 64 M28 48 L56 64 M0 16 L28 48 M56 16 L28 48 M0 16 L0 64 M56 16 L56 64 M0 16 L28 0 M56 16 L28 0 M0 64 L28 96 M56 64 L28 96'/%3E%3C/g%3E%3C/svg%3E");
}
.grove-cols{
  display:flex;gap:1rem;align-items:flex-end;min-height:60vh;position:relative;z-index:2;
}
.grove-col{
  flex:1;height:var(--h);min-height:280px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--pearl),var(--chrome) 60%,var(--brushed));
  border-left:1px solid var(--pearl);border-right:1px solid var(--gunmetal);
  display:flex;flex-direction:column;justify-content:space-between;align-items:center;
  padding:1.4rem .6rem;transition:transform .5s var(--ease);
}
.grove-col::before,.grove-col::after{
  content:"";position:absolute;left:8%;right:8%;height:2px;background:var(--brushed);opacity:.5;
}
.grove-col::before{top:32%;}
.grove-col::after{top:64%;}
.grove-wash{
  position:absolute;left:0;right:0;bottom:0;height:0;
  background:linear-gradient(180deg,transparent,rgba(244,234,210,.9) 30%,rgba(212,175,55,.45) 70%,rgba(155,179,196,.7));
  mix-blend-mode:multiply;filter:blur(.6px);transition:height .7s var(--ease);z-index:1;
}
.grove-col:hover .grove-wash{height:100%;}
.grove-col:hover{transform:translateY(-10px);}
.grove-label{
  writing-mode:vertical-rl;text-orientation:mixed;
  font-family:"Big Shoulders Display",sans-serif;font-weight:800;
  font-size:clamp(1.1rem,1.8vw,1.7rem);letter-spacing:.06em;text-transform:uppercase;
  color:var(--anthracite);position:relative;z-index:3;margin:1.4rem 0;
}
.grove-count{
  font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.08em;color:var(--gunmetal);
  position:relative;z-index:3;
}
@media(max-width:760px){
  .grove-cols{flex-wrap:wrap;}
  .grove-col{flex:0 0 calc(50% - .5rem);height:auto;min-height:220px;}
}

/* ============================================================
   ASCENSION FOOTER — +12deg, chrome → watercolour sky
   ============================================================ */
.ascension{
  background:linear-gradient(180deg,#c8ccd0 0%,#9bb3c4 35%,#f4ead2 100%);
  color:var(--steel-black);
  clip-path:polygon(0 var(--diag),100% 0,100% 100%,0 100%);overflow:hidden;
  padding-top:calc(var(--diag) + 6rem);
}
.ascension-procession{
  position:absolute;top:18%;left:0;right:0;height:60px;pointer-events:none;
}
.ascension-procession .pp{
  position:absolute;width:18px;height:30px;mix-blend-mode:multiply;filter:blur(.4px);
}
.ascension-inner{position:relative;z-index:5;max-width:680px;}
.asc-wordmark{
  font-family:"Big Shoulders Display",sans-serif;font-weight:800;
  font-size:clamp(2.2rem,6vw,5rem);line-height:1;letter-spacing:.04em;text-transform:uppercase;
  color:var(--anthracite);margin:.4rem 0 1rem;
}
.asc-tag{font-style:italic;font-size:1.05rem;line-height:1.7;color:var(--steel-black);max-width:48ch;margin-bottom:1.6rem;}
.asc-links{display:flex;gap:1.6rem;flex-wrap:wrap;margin-bottom:3rem;}
.asc-links a{
  font-family:"Antonio",sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gunmetal);padding-bottom:2px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;
}
.asc-links a:hover{color:var(--anthracite);border-color:var(--gold);}
.asc-boilerplate{
  font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.06em;line-height:1.8;
  color:var(--gunmetal);text-transform:uppercase;border-top:1px solid var(--brushed);
  padding-top:1.4rem;position:relative;z-index:5;
}

/* reduced-motion respect (still permitted; not accessibility-ARIA) */
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-child{transition-duration:1ms;}
  .moon-crescent,.bamboo-glow,.hero-scrollhint span::after{animation:none;}
}
