
:root{ --card-bg:rgba(6,14,24,.74); --card-line:rgba(120,210,255,.16); --card-line-hi:rgba(120,210,255,.44);
  --ink:#e6f6ff; --ink-soft:#9fb6c6; --ink-meta:#6fb4d6; }
html.realm-stone{ --card-bg:rgba(24,6,6,.76); --card-line:rgba(255,120,95,.16); --card-line-hi:rgba(255,120,95,.46);
  --ink:#ffe8e0; --ink-soft:#cfa79d; --ink-meta:#de8572; }
.blog{ width:100%; max-width:880px; margin:0 auto; }
.blog-head{ margin-bottom:clamp(24px,4.6vh,44px); }
.blog-head .eyebrow{ margin-top:0; }

.sheet-opening{ position:relative; margin:0 auto; height:min(72vh,720px); aspect-ratio:2/3; max-width:100%; }
.sheet-opening::before{ content:''; position:absolute; top:4%; bottom:-4%; left:50%; width:min(820px,100vw);
  transform:translateX(-50%); pointer-events:none; opacity:0; transition:opacity 1.2s ease;
  background:radial-gradient(closest-side, rgba(0,0,0,.5), rgba(0,0,0,.26) 55%, transparent); }
.so-frame{ position:relative; display:block; width:100%; height:100%;
  -webkit-mask-image:linear-gradient(90deg, transparent 2%, #000 20%, #000 88%, transparent);
          mask-image:linear-gradient(90deg, transparent 2%, #000 20%, #000 88%, transparent); }
.sheet-opening img{ display:block; width:100%; height:100%; object-fit:cover; object-position:50% 40%;
  opacity:0; transition:opacity 1.2s ease;
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 9%, #000 70%, transparent);
          mask-image:linear-gradient(180deg, transparent, #000 9%, #000 70%, transparent); }
.sheet-opening.on img, .sheet-opening.on::before{ opacity:1; }
.sheet-opening:not([hidden]) + .blog-head{ position:relative; z-index:1; margin-top:clamp(-150px,-15vh,-80px); }
.sheet-intro{ max-width:60ch; margin:clamp(14px,2.6vh,24px) auto 0; font-size:clamp(.98rem,2.4vw,1.06rem);
  line-height:1.75; color:var(--ink-soft); -webkit-user-select:text; user-select:text; }
.sheet-intro p{ margin:0 0 .9em; }
.sheet-intro .sheet-summary{ font-size:clamp(1.02rem,2.6vw,1.14rem); color:var(--ink); }
.sheet-intro .sheet-facts{ margin-bottom:.7em; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-meta); }
.sheet-intro p:last-child{ margin-bottom:0; }
.sheet-intro a{ color:var(--accent); text-underline-offset:3px; }
.sheet-intro h3{ margin:1.2em 0 .4em; font-family:var(--display); font-weight:400; font-size:1.2rem; color:var(--accent); }

.sheet-h{ display:flex; align-items:center; gap:clamp(10px,2vw,16px); width:100%;
  margin:clamp(34px,6vh,56px) 0 clamp(14px,2.4vh,22px);
  font-family:var(--display); font-weight:400; font-size:clamp(.72rem,1.8vw,.8rem);
  letter-spacing:.34em; text-transform:uppercase; color:var(--ink-meta); }
.blog-head + .sheet-h{ margin-top:0; }
.sheet-h span{ padding-left:.34em; white-space:nowrap; }
.sheet-h::before, .sheet-h::after{ content:''; flex:1; height:1px; background:linear-gradient(90deg, transparent, var(--card-line-hi)); }
.sheet-h::after{ background:linear-gradient(90deg, var(--card-line-hi), transparent); }

.member-row{ display:grid; grid-template-columns:repeat(auto-fit, minmax(132px,160px)); justify-content:center;
  gap:clamp(10px,1.4vw,14px); width:100%; }
.mcard{ display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; margin:0; padding:16px 10px;
  font:inherit; color:var(--ink); text-align:center; text-decoration:none; background:var(--card-bg); border:1px solid var(--card-line);
  border-radius:16px 20px 17px 21px / 20px 16px 21px 17px; box-shadow:0 14px 40px rgba(0,0,0,.45);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:transform .35s cubic-bezier(.2,.7,.2,1), border-color .3s ease, box-shadow .3s ease; }
.mcard:hover, .mcard:focus-visible{ transform:translateY(-4px); border-color:var(--card-line-hi);
  box-shadow:0 20px 54px rgba(0,0,0,.55), 0 0 28px var(--accent-soft); outline:none; }
.mcard-pic, .bp-portrait{ position:relative; display:grid; place-items:center; overflow:hidden; border-radius:50%;
  background:radial-gradient(circle at 50% 40%, var(--accent-soft), transparent 70%), #04080d;
  border:1px solid var(--card-line-hi); }
.mcard-pic{ width:min(100%,104px); aspect-ratio:1/1; margin-bottom:6px;
  box-shadow:0 0 0 4px rgba(0,0,0,.25), 0 10px 30px rgba(0,0,0,.5); }
.mcard--lead .mcard-pic{ border-color:var(--accent); box-shadow:0 0 0 4px rgba(0,0,0,.25), 0 0 26px var(--accent-soft); }
.mcard--lead .mcard-role{ color:var(--accent); }
.mcard--lead-other .mcard-pic{ border-color:var(--accent-other); box-shadow:0 0 0 4px rgba(0,0,0,.25), 0 0 26px var(--accent-other-soft); }
.mcard--lead-other .mcard-role{ color:var(--accent-other); }
.mcard-pic img, .bp-portrait img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pic-mono{ font-family:var(--display); font-size:2rem; line-height:1; color:var(--accent); }
.mcard-name{ max-width:100%; font-family:var(--display); font-size:clamp(.86rem,2vw,.98rem); letter-spacing:.02em;
  overflow-wrap:anywhere; text-shadow:0 1px 2px rgba(0,0,0,.7); }
.mcard-role{ font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-meta); }
.mcard-line{ margin-top:3px; font-size:.78rem; line-height:1.45; color:var(--ink-soft);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.galaxy-open-row{ width:100%; margin:clamp(14px,2.4vh,20px) 0 0; text-align:center; }

.show-list{ list-style:none; width:100%; margin:0; padding:0; display:grid; gap:10px; text-align:left; }
.show{ display:flex; align-items:center; gap:clamp(12px,2vw,20px); padding:12px clamp(12px,2vw,18px);
  background:var(--card-bg); border:1px solid var(--card-line); border-radius:16px 20px 17px 21px / 20px 16px 21px 17px;
  box-shadow:0 14px 40px rgba(0,0,0,.4); }
.show-date{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; width:58px; height:58px;
  background:rgba(0,0,0,.28); border:1px solid var(--card-line-hi); border-radius:12px 14px 12px 14px / 14px 12px 14px 12px; }
.show-month{ font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-meta); }
.show-day{ font-family:var(--display); font-size:1.5rem; line-height:1.05; color:var(--ink); }
.show-info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.show-venue{ font-family:var(--display); font-size:clamp(1rem,2.4vw,1.15rem); color:var(--ink); overflow-wrap:anywhere; }
.show-where{ font-size:.8rem; letter-spacing:.06em; color:var(--ink-soft); }
.show-note{ font-size:.84rem; font-style:italic; color:var(--ink-soft); }
.show-tickets{ flex:0 0 auto; padding:8px 14px; text-decoration:none; font-family:var(--display); font-size:.76rem;
  letter-spacing:.1em; text-transform:lowercase; color:#06101c; background:var(--accent);
  border-radius:14px 17px 13px 18px / 17px 13px 18px 14px; transition:box-shadow .2s ease; }
.show-tickets:hover, .show-tickets:focus-visible{ outline:none; box-shadow:0 0 18px var(--accent-soft); }
.sr{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

.site-foot{ position:relative; z-index:1; width:100%; max-width:880px; margin:clamp(40px,8vh,72px) auto 0; text-align:center; }
.foot-signup-text{ max-width:46ch; margin:0 auto 14px; font-size:.95rem; line-height:1.6; color:var(--ink-soft); }
.signup-form{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.signup-form input{ flex:1 1 220px; max-width:320px; padding:11px 16px; font:inherit; font-size:.95rem; color:var(--ink);
  background:rgba(0,0,0,.35); border:1px solid var(--card-line-hi); border-radius:16px 20px 15px 21px / 19px 15px 20px 16px;
  -webkit-user-select:text; user-select:text; }
.signup-form input::placeholder{ color:var(--ink-soft); opacity:.75; }
.signup-form input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 14px var(--accent-soft); }
.signup-form button{ padding:11px 20px; font-family:var(--display); font-size:.84rem; letter-spacing:.1em; text-transform:lowercase;
  color:#06101c; background:var(--accent); border:0; border-radius:16px 20px 15px 21px / 19px 15px 20px 16px; cursor:var(--cur-hand); }
.signup-form button:focus-visible{ outline:none; box-shadow:0 0 18px var(--accent-soft); }
.signup-done{ min-height:1.2em; margin:10px 0 0; font-size:.8rem; letter-spacing:.06em; color:var(--ink-meta); }
.foot-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:clamp(24px,4vh,36px); }
.foot-label{ flex-basis:100%; margin-bottom:2px; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-meta); }
.foot-row{ display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:clamp(30px,5vw,60px);
  margin-top:clamp(24px,4vh,36px); }
.foot-signup[hidden] + .foot-row{ margin-top:0; }
.foot-row .foot-links{ flex:1 1 260px; max-width:440px; margin-top:0; }
.foot-contact{ margin:14px 0 0; font-size:.8rem; letter-spacing:.08em; color:var(--ink-soft); }
.foot-contact a{ color:var(--accent); text-underline-offset:3px; }
.blog-feed{ display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(12px,1.8vw,18px); text-align:left; }
.blog-tags{ display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin:-4px 0 clamp(14px,2.4vh,20px); }
.tag-chip{ padding:6px 14px; font:inherit; font-family:var(--display); font-size:.74rem; letter-spacing:.1em;
  text-transform:lowercase; color:var(--ink-soft); background:rgba(6,10,18,.55); border:1px solid var(--card-line);
  border-radius:16px 20px 15px 21px / 19px 15px 20px 16px; cursor:var(--cur-hand);
  transition:color .2s ease, border-color .2s ease, background-color .2s ease; }
@media (hover:hover){ .tag-chip:hover{ color:var(--ink); border-color:var(--card-line-hi); } }
.tag-chip:focus-visible{ color:var(--ink); border-color:var(--accent); box-shadow:0 0 14px var(--accent-soft); outline:none; }
.tag-chip[aria-pressed="true"]{ color:#06101c; background:var(--accent); border-color:var(--accent); }
.group-row{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:7px; margin:clamp(14px,2.4vh,20px) 0 0; }
.group-label{ flex-basis:100%; margin-bottom:2px; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-meta); text-align:center; }
.group-chip{ display:inline-flex; align-items:center; gap:8px; padding:7px 15px; font-family:var(--display); font-size:.78rem; letter-spacing:.08em;
  text-decoration:none; color:var(--ink); background:rgba(6,10,18,.55); border:1px solid var(--card-line);
  border-radius:16px 20px 15px 21px / 19px 15px 20px 16px; cursor:var(--cur-hand); transition:border-color .2s ease, box-shadow .2s ease; }
.group-dot{ flex:0 0 auto; width:8px; height:8px; border-radius:50%; background:currentColor; }
@media (hover:hover){ .group-chip:hover{ border-color:var(--card-line-hi); box-shadow:0 0 14px var(--accent-soft); } }
.group-chip:focus-visible{ border-color:var(--accent); box-shadow:0 0 14px var(--accent-soft); outline:none; }
.bc-badges{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:2px; }
.badge{ display:inline-flex; align-items:center; padding:3px 9px; line-height:1.2;
  font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink);
  background:rgba(255,255,255,.06); border:1px solid var(--card-line-hi); border-radius:10px 12px 10px 12px / 12px 10px 12px 10px; }
.badge--new{ color:#06101c; background:var(--accent); border-color:var(--accent); }
.badge--pin{ color:var(--accent); border-color:var(--accent); }
.bc-wrap{ display:flex; min-width:0; }
.bc-wrap--feature, .blog-empty{ grid-column:1/-1; }
.blog-card{ position:relative; flex:1; display:flex; flex-direction:column; min-width:0; margin:0; padding:0;
  font:inherit; color:var(--ink); text-align:left; text-decoration:none; background:var(--card-bg); border:1px solid var(--card-line);
  border-radius:16px 20px 17px 21px / 20px 16px 21px 17px; overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.5); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:transform .35s cubic-bezier(.2,.7,.2,1), border-color .3s ease, box-shadow .3s ease; }
.blog-card:hover, .blog-card:focus-visible{ transform:translateY(-4px); border-color:var(--card-line-hi);
  box-shadow:0 24px 64px rgba(0,0,0,.6), 0 0 34px var(--accent-soft); outline:none; }
.bc-img{ position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#04080d; }
.bc-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1.02); transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.blog-card:hover .bc-img img{ transform:scale(1.07); }
.bc-img::after{ content:''; position:absolute; inset:0; pointer-events:none;
  background-image:var(--grain); background-size:120px 120px; opacity:.1; mix-blend-mode:overlay; }
.bc-img--none{ display:grid; place-items:center;
  background:radial-gradient(circle at 50% 42%, var(--accent-soft), transparent 62%), #04080d; }
.bc-text{ display:flex; flex-direction:column; gap:6px; padding:14px 16px 17px; }
.bc-meta{ font-size:.62rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-meta); }
.bc-title{ font-family:var(--display); font-size:clamp(1.08rem,2.4vw,1.3rem); line-height:1.2; letter-spacing:.02em;
  text-shadow:0 1px 2px rgba(0,0,0,.7); }
.bc-excerpt{ font-size:.9rem; line-height:1.55; color:var(--ink-soft);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bc-wrap:not(.bc-wrap--feature) .blog-card{ flex-direction:row; align-items:stretch; }
.bc-wrap:not(.bc-wrap--feature) .bc-img{ flex:0 0 clamp(150px,30%,250px); aspect-ratio:auto; min-height:clamp(118px,15vw,160px); }
.bc-wrap:not(.bc-wrap--feature) .bc-text{ flex:1; min-width:0; justify-content:center; padding:16px 20px; }
.blog-card--feature .bc-img{ aspect-ratio:16/9; }
.blog-card--feature .bc-img + .bc-text{ position:absolute; left:0; right:0; bottom:0; gap:8px;
  padding:clamp(56px,9vw,96px) clamp(16px,3vw,28px) clamp(16px,3vw,28px);
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.62) 34%, rgba(0,0,0,.84) 62%, rgba(0,0,0,.92)); }
.blog-card--feature .bc-meta{ color:#cfe6f2; text-shadow:0 1px 3px rgba(0,0,0,.95), 0 0 10px rgba(0,0,0,.8); }
.realm-stone .blog-card--feature .bc-meta{ color:#f3d9d2; }
.blog-card--feature .badge:not(.badge--new){ background:rgba(0,0,0,.55); }
.blog-card--feature .bc-title{ font-size:clamp(1.5rem,4.6vw,2.4rem);
  text-shadow:0 2px 12px rgba(0,0,0,.85), 0 0 26px var(--accent-soft); }
.blog-card--feature .bc-excerpt{ -webkit-line-clamp:3; max-width:62ch; color:#dbe6ec; }
.realm-stone .blog-card--feature .bc-excerpt{ color:#f0dcd6; }
.blog-empty{ text-align:center; padding:clamp(34px,7vh,64px) 20px; color:var(--ink-soft); background:var(--card-bg);
  border:1px dashed var(--card-line-hi); border-radius:18px 22px 19px 23px / 22px 17px 23px 18px; }
.be-glyph{ display:block; margin-bottom:10px; font-size:1.6rem; color:var(--accent); text-shadow:0 0 18px var(--accent-soft); }
.blog-empty p{ margin:0; font-family:var(--display); font-size:clamp(1rem,2.6vw,1.2rem); letter-spacing:.06em; }

.bp-modal{ position:fixed; inset:0; z-index:84; overflow-y:auto; overscroll-behavior:contain;
  background:rgba(2,6,11,.93); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  opacity:0; transition:opacity .28s ease; }
.realm-stone .bp-modal{ background:rgba(12,2,3,.94); }
.bp-modal.on{ opacity:1; }
.bp-article{ max-width:760px; margin:0 auto; padding:clamp(64px,10vh,96px) clamp(18px,5vw,34px) clamp(70px,12vh,110px);
  transform:translateY(14px); transition:transform .45s cubic-bezier(.2,.7,.2,1);
  -webkit-user-select:text; user-select:text; }
.bp-modal.on .bp-article{ transform:none; }
.bp-close, .bl-close, .bl-nav{ display:grid; place-items:center; width:46px; height:46px; padding:0;
  border-radius:50%; border:1px solid var(--accent-soft); background:rgba(6,12,22,.72); color:var(--ink);
  font-size:1.6rem; line-height:1; transition:transform .2s ease, box-shadow .2s ease; }
.realm-stone .bp-close, .realm-stone .bl-close, .realm-stone .bl-nav{ background:rgba(22,6,6,.74); }
.bp-close:hover, .bp-close:focus-visible, .bl-close:hover, .bl-close:focus-visible,
.bl-nav:hover, .bl-nav:focus-visible{ transform:scale(1.08); box-shadow:0 0 18px var(--accent-soft); outline:none; }
.bp-close{ position:fixed; top:clamp(10px,2.2vh,20px); right:clamp(12px,2.6vw,26px); z-index:2; }
.bp-hero{ margin:0 0 clamp(22px,4vh,34px); border-radius:14px; overflow:hidden; background:#04080d;
  box-shadow:0 24px 70px rgba(0,0,0,.6); }
.bp-hero img{ display:block; width:100%; height:auto; max-height:78vh; object-fit:cover; cursor:var(--cur-hand); }
.bp-meta{ margin:0; font-size:.66rem; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-meta); }
.bp-person{ display:flex; flex-direction:column; align-items:center; text-align:center; margin-bottom:clamp(20px,3.6vh,32px); }
.bp-portrait{ width:clamp(120px,32vw,168px); aspect-ratio:1/1; margin-bottom:clamp(14px,2.4vh,20px);
  box-shadow:0 0 0 6px rgba(0,0,0,.3), 0 24px 60px rgba(0,0,0,.6), 0 0 44px var(--accent-soft); }
.bp-portrait img{ cursor:var(--cur-hand); }
.bp-portrait .pic-mono{ font-size:3.4rem; }
.bp-person .bp-title{ margin:.3em 0 .25em; }
.bp-group{ text-align:center; }
.bp-group .bp-title{ margin:.3em 0 .6em; }
.bp-joined{ margin:0; font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-soft); }
.bp-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:16px 0 0; }
.bp-links a, .foot-links a{ display:inline-flex; align-items:center; gap:7px; padding:6px 14px 6px 11px;
  border:1px solid var(--card-line-hi); border-radius:16px 20px 15px 21px / 19px 15px 20px 16px;
  font-family:var(--display); font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; text-decoration:none;
  color:var(--ink); background:rgba(0,0,0,.25); transition:border-color .2s ease, box-shadow .2s ease, color .2s ease; }
.bp-links a svg, .foot-links a svg{ flex:0 0 auto; width:16px; height:16px; color:var(--accent);
  filter:drop-shadow(0 0 6px var(--accent-soft)); }
.bp-links a:hover, .bp-links a:focus-visible, .foot-links a:hover, .foot-links a:focus-visible{ border-color:var(--accent); box-shadow:0 0 14px var(--accent-soft); outline:none; }
.bp-lede{ max-width:56ch; margin:0 auto clamp(20px,3.4vh,30px); text-align:center; font-size:clamp(1.02rem,2.6vw,1.14rem);
  line-height:1.6; font-style:italic; color:var(--ink-soft); }
.bp-title{ margin:.35em 0 .75em; font-family:var(--display); font-weight:400; font-size:clamp(1.9rem,6vw,3rem);
  line-height:1.08; letter-spacing:.03em; }
.bp-body{ font-size:clamp(1rem,2.4vw,1.08rem); line-height:1.8; color:#d3e2ea; }
.realm-stone .bp-body{ color:#ecd8d1; }
.bp-body p{ margin:0 0 1.15em; }
.bp-body h3{ margin:1.6em 0 .5em; font-family:var(--display); font-weight:400; font-size:clamp(1.25rem,3.4vw,1.55rem);
  letter-spacing:.03em; color:var(--accent); text-shadow:0 0 18px var(--accent-soft); }
.bp-body a{ color:var(--accent); text-underline-offset:3px; word-break:break-word; }
.bp-article > .bc-badges{ margin-bottom:10px; }
.bp-cta{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:clamp(22px,4vh,34px) 0 0; text-align:center; }
.bp-body .bp-cta{ margin:1.2em 0; }
.bp-button{ display:inline-flex; align-items:center; gap:.5em; padding:12px 24px; text-decoration:none;
  font-family:var(--display); font-size:.92rem; letter-spacing:.1em; text-transform:lowercase;
  color:#06101c; background:var(--accent); border-radius:18px 22px 19px 23px / 22px 17px 23px 18px;
  box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 26px var(--accent-soft); transition:transform .2s ease, box-shadow .2s ease; }
.bp-button:hover, .bp-button:focus-visible{ transform:translateY(-2px); outline:none;
  box-shadow:0 14px 36px rgba(0,0,0,.5), 0 0 36px var(--accent-soft); }
.bp-more{ max-width:560px; margin:clamp(26px,5vh,40px) auto 0; }
.bp-more h3{ margin:0 0 12px; font-family:var(--display); font-weight:400; font-size:.8rem; letter-spacing:.3em;
  text-transform:uppercase; text-align:center; color:var(--ink-meta); }
.bp-list{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.bp-item{ display:flex; align-items:center; gap:14px; width:100%; margin:0; padding:8px 14px 8px 8px; font:inherit; color:var(--ink);
  text-align:left; text-decoration:none; background:var(--card-bg); border:1px solid var(--card-line);
  border-radius:14px 17px 13px 16px / 16px 13px 17px 14px; cursor:var(--cur-hand); transition:border-color .2s ease, transform .2s ease; }
@media (hover:hover){ .bp-item:hover{ border-color:var(--card-line-hi); transform:translateY(-1px); } }
.bp-item:focus-visible{ border-color:var(--accent); box-shadow:0 0 14px var(--accent-soft); outline:none; }
.bp-item-pic{ flex:0 0 auto; display:grid; place-items:center; width:52px; height:52px; overflow:hidden; border-radius:10px;
  font-size:1.2rem; color:var(--accent); background:radial-gradient(circle at 50% 40%, var(--accent-soft), transparent 70%), #04080d; }
.bp-item-pic img{ width:100%; height:100%; object-fit:cover; }
.bp-item-face{ position:relative; border-radius:50%; }
.bp-item-face img{ position:absolute; inset:0; }
.bp-item-face .pic-mono{ font-size:1.3rem; }
.bp-item-text{ display:grid; gap:3px; min-width:0; }
.bp-item-title{ font-family:var(--display); font-size:1rem; line-height:1.25; overflow-wrap:anywhere; }
.bp-item-meta{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-meta); }
@media (prefers-reduced-motion: reduce){ .bp-item{ transition:none; } }
.bp-foot{ display:flex; flex-direction:column; align-items:center; gap:8px; margin-top:clamp(34px,6vh,54px);
  padding-top:clamp(20px,3.4vh,28px); border-top:1px solid var(--card-line); }
.bp-share, .galaxy-open, .news-all, .rv-ask-open{ display:inline-flex; align-items:center; gap:8px; padding:8px 18px; font:inherit; font-family:var(--display);
  font-size:.74rem; letter-spacing:.14em; text-transform:lowercase; text-decoration:none; color:var(--ink); background:rgba(0,0,0,.25);
  border:1px solid var(--card-line-hi); border-radius:16px 20px 15px 21px / 19px 15px 20px 16px; cursor:var(--cur-hand);
  transition:border-color .2s ease, box-shadow .2s ease; }
.bp-share svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media (hover:hover){ .bp-share:hover, .galaxy-open:hover, .news-all:hover, .rv-ask-open:hover{ border-color:var(--accent); box-shadow:0 0 14px var(--accent-soft); } }
.bp-share:focus-visible, .galaxy-open:focus-visible, .news-all:focus-visible, .rv-ask-open:focus-visible{ border-color:var(--accent); box-shadow:0 0 14px var(--accent-soft); outline:none; }
.news-all-row{ width:100%; margin:clamp(14px,2.4vh,20px) 0 0; text-align:center; }

.na-tools{ display:flex; flex-direction:column; gap:12px; margin:0 0 clamp(16px,2.8vh,24px); }
.na-search{ position:relative; display:block; }
.na-search svg{ position:absolute; left:15px; top:50%; width:18px; height:18px; margin-top:-9px; pointer-events:none;
  fill:none; stroke:var(--ink-meta); stroke-width:2; stroke-linecap:round; }
.na-input{ box-sizing:border-box; width:100%; padding:12px 16px 12px 44px; font:inherit; font-size:1rem; color:var(--ink);
  background:rgba(0,0,0,.35); border:1px solid var(--card-line-hi); border-radius:16px 20px 15px 21px / 19px 15px 20px 16px;
  -webkit-appearance:none; appearance:none; -webkit-user-select:text; user-select:text; }
.na-input::placeholder{ color:var(--ink-soft); opacity:.75; }
.na-input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 14px var(--accent-soft); }
.na-sides, .na-kinds{ display:flex; flex-wrap:wrap; gap:7px; }
.na-count{ min-height:1.2em; margin:0 0 10px; font-size:.64rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-meta); }
.na-month + .na-month{ margin-top:clamp(20px,3.4vh,30px); }
.na-when{ margin:0 0 10px; font-family:var(--display); font-weight:400; font-size:clamp(1.05rem,2.8vw,1.25rem);
  letter-spacing:.04em; color:var(--accent); text-shadow:0 0 16px var(--accent-soft); }
.na-items{ display:grid; gap:10px; }
.na-item, .rv-item{ display:flex; align-items:center; gap:clamp(12px,2vw,16px); padding:10px; color:var(--ink); text-decoration:none;
  background:var(--card-bg); border:1px solid var(--card-line); border-radius:14px 18px 15px 19px / 18px 14px 19px 15px;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), border-color .25s ease, box-shadow .25s ease; }
.na-item:hover, .na-item:focus-visible, .rv-item:hover, .rv-item:focus-visible{ transform:translateY(-2px); border-color:var(--card-line-hi); box-shadow:0 0 24px var(--accent-soft); outline:none; }
.na-pic{ flex:0 0 auto; display:grid; place-items:center; width:clamp(64px,15vw,92px); aspect-ratio:1/1; overflow:hidden;
  border-radius:10px; background:#04080d; }
.na-pic img{ display:block; width:100%; height:100%; object-fit:cover; }
.na-pic--none{ font-size:1.4rem; color:var(--accent); background:radial-gradient(circle at 50% 42%, var(--accent-soft), transparent 62%), #04080d; }
.na-text{ flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.na-meta{ font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-meta); }
.na-title{ font-family:var(--display); font-size:clamp(1rem,2.6vw,1.16rem); line-height:1.25; overflow-wrap:anywhere; }
.na-snip{ font-size:.86rem; line-height:1.5; color:var(--ink-soft); overflow-wrap:anywhere;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.na-item mark, .rv-item mark{ padding:0 2px; color:#06101c; background:var(--accent); border-radius:3px; }
.na-none .tag-chip{ margin-top:16px; }

.rv-list{ display:grid; gap:10px; }
.rv-artist{ font-size:.9rem; color:var(--ink); opacity:.85; overflow-wrap:anywhere; }
.rv-rating{ flex:0 0 auto; align-self:center; min-width:3em; padding:6px 10px; text-align:center; white-space:nowrap;
  font-family:var(--display); font-size:.9rem; letter-spacing:.04em; color:#06101c; background:var(--accent);
  border-radius:12px 14px 12px 14px / 14px 12px 14px 12px; box-shadow:0 0 16px var(--accent-soft); }
.rv-head{ display:flex; flex-wrap:wrap; align-items:center; gap:clamp(16px,3vw,28px); margin-bottom:clamp(20px,3.6vh,30px); }
.rv-cover{ flex:0 0 auto; width:clamp(120px,30vw,200px); aspect-ratio:1/1; margin:0; overflow:hidden; border-radius:12px;
  background:#04080d; box-shadow:0 18px 50px rgba(0,0,0,.55); }
.rv-cover img{ display:block; width:100%; height:100%; object-fit:cover; cursor:var(--cur-hand); }
.rv-head-text{ flex:1 1 220px; min-width:0; }
.rv-head .bp-title{ margin:.25em 0 .15em; overflow-wrap:anywhere; }
.rv-by{ margin:0 0 .7em; font-size:clamp(1rem,2.6vw,1.15rem); color:var(--ink-soft); }
.rv-head .rv-rating{ display:inline-block; font-size:1.05rem; }
.rv-ask{ margin:0 0 clamp(18px,3vh,26px); }
.bp-copied{ min-height:1.2em; max-width:100%; font-size:.72rem; letter-spacing:.12em; color:var(--ink-meta);
  overflow-wrap:anywhere; -webkit-user-select:text; user-select:text; }
.bp-fig{ margin:1.7em 0; }
.bp-fig img{ display:block; width:100%; height:auto; border-radius:12px; box-shadow:0 18px 50px rgba(0,0,0,.55); cursor:var(--cur-hand); }
.bp-fig figcaption{ margin-top:.6em; text-align:center; font-size:.82rem; font-style:italic; color:var(--ink-soft); }
.bp-gallery{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:clamp(22px,4vh,34px); }
.bp-slides{ position:relative; margin:0 0 clamp(22px,4vh,34px); border-radius:14px; overflow:hidden; background:#04080d;
  box-shadow:0 24px 70px rgba(0,0,0,.6); }
.bs-track{ display:flex; aspect-ratio:1/1; max-height:78vh; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; scrollbar-width:none; }
.bs-track::-webkit-scrollbar{ display:none; }
.bs-track:focus-visible{ outline:2px solid var(--accent-ring); outline-offset:-2px; }
.bs-slide{ flex:0 0 100%; height:100%; margin:0; padding:0; border:0; background:none; scroll-snap-align:center;
  scroll-snap-stop:always; cursor:var(--cur-hand); }
.bs-slide img{ display:block; width:100%; height:100%; object-fit:contain; }
.bs-nav{ position:absolute; top:50%; margin-top:-21px; display:grid; place-items:center; width:42px; height:42px; padding:0;
  font-size:1.7rem; line-height:1; color:#f6efe6; background:rgba(4,10,18,.66); border:1px solid rgba(255,255,255,.14);
  border-radius:50%; cursor:var(--cur-hand); transition:opacity .2s ease, transform .2s ease; }
.bs-prev{ left:10px; }
.bs-next{ right:10px; }
.bs-nav:disabled{ opacity:0; pointer-events:none; }
.bs-nav:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--accent-ring); }
@media (hover:hover){ .bs-nav:hover{ transform:scale(1.08); } }
@media (hover:none){ .bs-nav{ display:none; } }
.bs-count{ position:absolute; top:10px; right:10px; margin:0; padding:3px 10px; font-size:.72rem; letter-spacing:.08em;
  color:#f6efe6; background:rgba(4,10,18,.66); border-radius:12px; pointer-events:none; }
.bs-dots{ position:absolute; left:0; right:0; bottom:10px; margin:0; display:flex; justify-content:center; gap:6px; pointer-events:none; }
.bs-dots span{ width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.42); transition:background .2s ease, transform .2s ease; }
.bs-dots span.on{ background:#fff; transform:scale(1.3); }
.realm-stone .bs-nav, .realm-stone .bs-count{ background:rgba(22,6,6,.7); }
.bp-article--wide{ max-width:1100px; }
.bp-gallery--shoot{ gap:clamp(8px,1.2vw,14px); }
.bp-gallery.bp-gallery--many{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(4px,.7vw,8px); }
.bp-gallery--many .bp-thumb{ border-radius:6px; }
.bp-shoot + .bp-shoot{ margin-top:clamp(40px,7vh,64px); }
.bp-shoot-title{ margin:0 0 .3em; font-family:var(--display); font-weight:400; font-size:clamp(1.3rem,3.6vw,1.7rem); color:var(--ink); }
.bp-shoot .bp-meta + .bp-about, .bp-shoot .bp-meta + .bp-gallery, .bp-shoot .bp-meta + .bp-soon{ margin-top:clamp(14px,2.4vh,20px); }
.bp-about{ max-width:760px; margin:0 0 clamp(22px,4vh,34px); padding:clamp(16px,3vw,26px) clamp(18px,3.4vw,30px);
  background:var(--card-bg); border:1px solid var(--card-line); border-radius:16px 20px 17px 21px / 20px 16px 21px 17px; }
.bp-about > :last-child{ margin-bottom:0; }
.bp-meta a{ color:var(--accent); text-underline-offset:3px; }
.bp-thumb{ position:relative; padding:0; border:0; border-radius:10px; overflow:hidden; aspect-ratio:1/1; background:#04080d; }
.bp-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.bp-thumb:hover img, .bp-thumb:focus-visible img{ transform:scale(1.06); }
.bp-thumb:focus-visible{ outline:2px solid var(--accent-ring); outline-offset:3px; }

.bl-modal{ position:fixed; inset:0; z-index:88; display:grid; place-items:center; padding:clamp(12px,3vw,40px);
  background:rgba(0,0,0,.96); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  opacity:0; transition:opacity .22s ease; }
.bl-modal.on{ opacity:1; }
.bl-img{ display:block; max-width:100%; max-height:86vh; object-fit:contain; border-radius:6px; box-shadow:0 30px 90px rgba(0,0,0,.8); }
.bl-close{ position:absolute; top:clamp(10px,2.2vh,20px); right:clamp(12px,2.6vw,26px); }
.bl-nav{ position:absolute; top:50%; margin-top:-23px; font-size:2rem; }
.bl-prev{ left:clamp(8px,2vw,24px); }
.bl-next{ right:clamp(8px,2vw,24px); }
.bl-count{ position:absolute; left:0; right:0; bottom:clamp(10px,2.6vh,24px); margin:0; text-align:center;
  font-size:.68rem; letter-spacing:.3em; color:var(--ink-soft); }
@media (max-width:640px){
  .show{ flex-wrap:wrap; column-gap:12px; row-gap:10px; }
  .show-info{ flex-basis:calc(100% - 58px - 13px); }
  .show-tickets{ margin-left:calc(58px + 12px); }
  .sheet-opening{ height:auto; max-width:none; margin:0 -6vw; aspect-ratio:3/4; }
  .so-frame{ -webkit-mask-image:linear-gradient(90deg, transparent 2%, #000 12%);
                     mask-image:linear-gradient(90deg, transparent 2%, #000 12%); }
  .member-row{ display:flex; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scroll-padding-left:6vw; width:auto; margin:0 -6vw; padding:6px 6vw 12px;
    scrollbar-width:none; }
  .member-row::-webkit-scrollbar{ display:none; }
  .mcard{ flex:0 0 40%; scroll-snap-align:start; }
  .blog-card--feature .bc-img{ aspect-ratio:4/5; }
  .bc-wrap:not(.bc-wrap--feature) .bc-img{ flex-basis:96px; min-height:96px; }
  .bc-wrap:not(.bc-wrap--feature) .bc-text{ padding:12px 14px; gap:4px; }
  .bp-gallery{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bp-gallery.bp-gallery--many{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce){
  .blog-card, .bc-img img, .bp-modal, .bp-article, .bl-modal, .bp-thumb img, .mcard, .sheet-opening img, .bs-nav, .bs-dots span,
  .sheet-opening::before, .na-item, .rv-item{ transition:none; }
}
