/* ============================================================
   GLESH THEME — Base Styles
   All design — color tokens come from theme-yellow.css or theme-white.css
   Fonts: Barlow Condensed (display) + Barlow (UI) + DM Mono (data/code)
   ============================================================ */

/* ── GLOBAL TOKENS ── */
:root {
  --bg:    #040404;
  --bg2:   #0d0d0d;
  --bg3:   #141414;
  --b1:    #202020;
  --b2:    #303030;
  --b3:    #444444;
  --dim:   #888888;
  --mid:   #bbbbbb;
  --sub:   #d6d6d6;
  --text:  #f2efe8;
  --red:   #ff3a3a;
  --grn:   #1fd47a;
  --ylw:   #ffc832;
  --blue:  #5588ff;
  --f-disp:'Barlow Condensed', sans-serif;
  --f-body:'Barlow', sans-serif;
  --f-mono:'DM Mono', monospace;
  --ease:  cubic-bezier(0.22,1,0.36,1);
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:18px; scroll-behavior:smooth; }
body {
  background:var(--bg); color:var(--text);
  font-family:var(--f-body); line-height:1.7;
  overflow-x:hidden;
}
::selection { background:var(--acc-sel-bg); color:var(--acc-sel-fg); }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--bg2); }
::-webkit-scrollbar-thumb { background:var(--acc-scrollbar); }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul, ol { list-style:none; }

/* ── KEYFRAMES ── */
@keyframes fadeUp   { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes slideR   { from{opacity:0;transform:translateX(32px)} to{opacity:1;transform:translateX(0)} }
@keyframes sweep    { 0%{left:-60%} 100%{left:120%} }
@keyframes growX    { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes pulse    { 0%,100%{opacity:1} 50%{opacity:.3} }

/* ── NAV ── */
.site-nav {
  position:fixed; top:0; left:0; right:0; z-index:300;
  background:rgba(4,4,4,.97); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--b1);
  height:68px; display:flex; align-items:center;
  padding:0 clamp(20px,5vw,64px);
  animation:fadeIn .5s ease both;
}
.nav-logo-link {
  display:flex; align-items:center; margin-right:clamp(16px,3vw,40px);
  flex-shrink:0; text-decoration:none;
}
.nav-logo-img {
  height:36px; width:auto;
  filter:brightness(1.05);
  transition:opacity .2s;
}
.nav-logo-img:hover { opacity:.8; }
.nav-links { display:flex; gap:2px; flex:1; }
.nav-link {
  font-family:var(--f-body); font-size:.82rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  padding:10px 16px; color:var(--mid); text-decoration:none;
  border:1px solid transparent; position:relative; overflow:hidden;
  transition:color .18s, border-color .18s, background .18s;
}
.nav-link::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--acc); transform:scaleX(0);
  transform-origin:left; transition:transform .3s var(--ease);
}
.nav-link:hover { color:var(--text); border-color:var(--b2); }
.nav-link:hover::after, .nav-link.active::after { transform:scaleX(1); }
.nav-link.active { color:var(--acc); border-color:var(--abrd); background:var(--adim); }
.nav-lang-switcher {
  display:flex; gap:4px; margin-left:16px; align-items:center;
}
.nav-lang-btn {
  font-family:var(--f-mono); font-size:.72rem; font-weight:500;
  padding:5px 10px; border:1px solid var(--b1); background:transparent;
  color:var(--dim); cursor:pointer; letter-spacing:.1em; text-transform:uppercase;
  transition:all .18s;
}
.nav-lang-btn:hover, .nav-lang-btn.active {
  color:var(--acc); border-color:var(--abrd); background:var(--adim);
}
.nav-mobile-btn {
  display:none; background:none; border:1px solid var(--b1);
  color:var(--mid); padding:8px 14px; font-family:var(--f-body);
  font-size:.82rem; font-weight:600; cursor:pointer;
  letter-spacing:.08em; text-transform:uppercase; margin-left:auto;
  transition:all .18s;
}
.nav-mobile-btn:hover { border-color:var(--b2); color:var(--text); }
.mobile-nav {
  display:none; position:fixed; top:68px; left:0; right:0; z-index:200;
  background:rgba(4,4,4,.98); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--b1); flex-direction:column;
  padding:16px clamp(20px,5vw,64px);
}
.mobile-nav.open { display:flex; }
.mobile-nav .nav-link {
  padding:14px 0; border:none; border-bottom:1px solid var(--b1);
  font-size:.95rem;
}
.mobile-nav .nav-link:last-child { border-bottom:none; }

@media(max-width:760px) {
  .nav-links { display:none; }
  .nav-lang-switcher { display:none; }
  .nav-mobile-btn { display:flex; align-items:center; gap:8px; }
}

/* ── HERO ── */
.site-hero {
  padding-top:68px; min-height:100svh;
  display:grid; grid-template-columns:55fr 45fr;
  border-bottom:1px solid var(--b1);
}
@media(max-width:900px) { .site-hero { grid-template-columns:1fr; min-height:auto; } }
.hero-left {
  padding:clamp(48px,8vh,96px) clamp(24px,5vw,72px);
  display:flex; flex-direction:column; justify-content:center;
  border-right:1px solid var(--b1); position:relative; overflow:hidden;
}
@media(max-width:900px) { .hero-left { border-right:none; border-bottom:1px solid var(--b1); } }
.hero-left::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(255,255,255,.004) 4px,rgba(255,255,255,.004) 5px);
}
.hero-left::after {
  content:''; position:absolute; top:0; bottom:0; width:70%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);
  animation:sweep 1.6s .2s ease forwards; pointer-events:none;
}
.hero-logo-wrap {
  position:relative; z-index:1; margin-bottom:36px;
  animation:fadeUp .7s .2s var(--ease) both;
}
.hero-logo-img {
  width:clamp(200px,40vw,380px); height:auto;
  mix-blend-mode:screen;
  filter:brightness(1.1);
}
.hero-eyebrow {
  font-family:var(--f-body); font-size:.82rem; font-weight:600;
  color:var(--acc-h4); letter-spacing:.18em; text-transform:uppercase;
  display:flex; align-items:center; gap:16px; margin-bottom:20px;
  animation:fadeUp .6s .35s var(--ease) both; position:relative; z-index:1;
}
.hero-eyebrow::before { content:''; width:36px; height:1px; background:var(--acc); flex-shrink:0; }
.hero-tagline {
  font-family:var(--f-disp); font-weight:600; font-style:italic;
  font-size:clamp(52px,8vw,96px); line-height:.85;
  letter-spacing:-.01em; text-transform:uppercase;
  margin-bottom:24px;
  animation:fadeUp .7s .42s var(--ease) both; position:relative; z-index:1;
  color:var(--text);
}
.hero-tagline em { color:var(--acc-hero-em); font-style:normal; display:block; }
.hero-desc {
  font-size:1rem; color:var(--sub); line-height:1.85;
  max-width:480px; margin-bottom:40px; font-weight:400;
  animation:fadeUp .7s .5s var(--ease) both; position:relative; z-index:1;
}
.hero-actions {
  display:flex; gap:14px; flex-wrap:wrap;
  animation:fadeUp .7s .58s var(--ease) both; position:relative; z-index:1;
}
.hero-right { background:var(--bg2); display:flex; flex-direction:column; }
.hero-stat {
  flex:1; padding:clamp(28px,4vh,48px) clamp(20px,4vw,48px);
  border-bottom:1px solid var(--b1);
  display:flex; flex-direction:column; justify-content:space-between;
  animation:slideR .6s calc(.4s + var(--i,.1s)) var(--ease) both;
}
.hero-stat:last-child { border-bottom:none; }
.stat-label {
  font-family:var(--f-body); font-size:.78rem; font-weight:600;
  color:var(--mid); letter-spacing:.16em; text-transform:uppercase;
  display:flex; align-items:center; gap:8px; margin-bottom:10px;
}
.stat-label::before { font-family:var(--f-mono); content:'//'; color:var(--acc); font-size:.72rem; letter-spacing:0; }
.stat-value {
  font-family:var(--f-disp); font-weight:600;
  font-size:clamp(40px,6vw,68px); line-height:1; letter-spacing:-.02em;
  animation:fadeIn .5s 1s ease both;
}
.stat-value.v-acc { color:var(--acc-stat-bar); }
.stat-value.v-red { color:var(--red); }
.stat-desc {
  font-family:var(--f-body); font-size:.88rem; font-weight:400;
  color:var(--mid); margin-top:8px; letter-spacing:.04em;
}
.stat-bar { height:2px; background:var(--b1); margin-top:16px; overflow:hidden; }
.stat-bar-fill { height:100%; transform:scaleX(0); transform-origin:left; }

/* ── GALLERY STRIP ── */
.gallery-strip {
  display:grid; grid-template-columns:repeat(6,1fr); gap:2px;
  border-bottom:1px solid var(--b1);
}
@media(max-width:900px) { .gallery-strip { grid-template-columns:repeat(3,1fr); } }
@media(max-width:500px) { .gallery-strip { grid-template-columns:repeat(2,1fr); } }
.gallery-item { aspect-ratio:1; overflow:hidden; position:relative; cursor:pointer; }
.gallery-item img {
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(30%) brightness(.88);
  transition:filter .4s var(--ease), transform .5s var(--ease);
}
.gallery-item:hover img { filter:grayscale(0%) brightness(1.05); transform:scale(1.06); }
.gallery-item::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 55%);
  pointer-events:none;
}
.gallery-overlay {
  position:absolute; bottom:0; left:0; right:0; z-index:1;
  padding:12px 14px; font-family:var(--f-body); font-size:.72rem; font-weight:600;
  color:rgba(255,255,255,.75); letter-spacing:.1em; text-transform:uppercase;
  opacity:0; transform:translateY(6px);
  transition:opacity .3s, transform .3s var(--ease);
}
.gallery-item:hover .gallery-overlay { opacity:1; transform:translateY(0); }

/* ── PAGE SECTIONS ── */
.page-section {
  padding:clamp(48px,8vh,96px) clamp(24px,5vw,72px);
  border-bottom:1px solid var(--b1);
}
.section-header {
  display:flex; align-items:center; gap:18px;
  margin-bottom:clamp(32px,5vh,52px); flex-wrap:wrap; row-gap:8px;
}
.section-number { font-family:var(--f-mono); font-size:.78rem; color:var(--acc); letter-spacing:.1em; flex-shrink:0; }
.section-title { font-family:var(--f-body); font-weight:700; font-size:.88rem; text-transform:uppercase; letter-spacing:.22em; color:var(--text); }
.section-rule { flex:1; height:1px; background:var(--b1); min-width:20px; }
.section-meta { font-family:var(--f-body); font-size:.8rem; font-weight:400; color:var(--dim); letter-spacing:.06em; }

/* ── TYPOGRAPHY ── */
.t-h1 { font-family:var(--f-disp); font-weight:600; font-style:italic; font-size:clamp(44px,7vw,84px); line-height:.88; text-transform:uppercase; color:var(--text); }
.t-h1 em { color:var(--acc-hero-em); font-style:normal; }
.t-h2 {
  font-family:var(--f-body); font-weight:700; font-size:clamp(1.2rem,2.5vw,1.7rem);
  text-transform:uppercase; letter-spacing:.06em; color:var(--text);
  padding-bottom:14px; border-bottom:1px solid var(--b1); position:relative; margin-bottom:0;
}
.t-h2::after { content:''; position:absolute; bottom:-1px; left:0; width:44px; height:2px; background:var(--acc); transition:width .4s var(--ease); }
.t-h2:hover::after { width:100px; }
.t-h2 .pre { font-family:var(--f-mono); color:var(--acc-prefix); font-size:1rem; margin-right:10px; }
.t-h3 { font-family:var(--f-body); font-weight:700; font-size:1.05rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sub); border-left:3px solid var(--acc); padding-left:16px; }
.t-h4 { font-family:var(--f-body); font-size:.8rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--acc-h4); display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.t-h4::after { content:''; height:1px; width:44px; background:var(--acc); flex-shrink:0; }
.t-body { font-size:1rem; color:var(--sub); line-height:1.9; max-width:720px; font-weight:400; }
.t-body strong { color:var(--text); font-weight:600; }
.t-cap { font-family:var(--f-body); font-size:.8rem; font-weight:400; color:var(--mid); letter-spacing:.08em; }
.t-mono { font-family:var(--f-mono); font-size:.84rem; color:var(--mid); line-height:1.85; }

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-body); font-size:.88rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  padding:15px 30px; border:1px solid; cursor:pointer;
  text-decoration:none; position:relative; overflow:hidden;
  transition:color .2s, border-color .25s, background .25s, transform .18s var(--ease), box-shadow .25s;
  white-space:nowrap;
}
.btn::before {
  content:''; position:absolute; top:0; left:-100%; width:60%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);
  transition:left .45s var(--ease); pointer-events:none;
}
.btn:hover::before { left:140%; }
.btn:hover { transform:translateY(-3px); }
.btn:active { transform:scale(.96) translateY(0); transition-duration:.08s; }
.btn-primary { background:var(--acc); color:#000; border-color:var(--acc); }
.btn-primary:hover { background:var(--text); border-color:var(--text); box-shadow:0 10px 28px rgba(0,0,0,.5); color:#000; }
.btn-secondary { background:transparent; color:var(--text); border-color:var(--b2); }
.btn-secondary:hover { border-color:var(--text); background:rgba(255,255,255,.04); }
.btn-ghost { background:transparent; color:var(--sub); border-color:var(--b1); }
.btn-ghost:hover { color:var(--text); border-color:var(--b2); }
.btn-sm { padding:10px 22px; font-size:.8rem; }
.btn-lg { padding:19px 40px; font-size:.95rem; }

/* ── CARDS ── */
.card-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.card-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(20px,4vw,52px); }
@media(max-width:900px) { .card-grid-3 { grid-template-columns:1fr 1fr; } .card-grid-2 { grid-template-columns:1fr; } }
@media(max-width:540px) { .card-grid-3 { grid-template-columns:1fr; } }
.card {
  background:var(--bg2); border:1px solid var(--b1);
  padding:clamp(20px,3vw,32px) clamp(18px,2.5vw,28px);
  transition:border-color .25s, background .25s, transform .3s var(--ease), box-shadow .3s;
}
.card:hover { border-color:var(--b3); background:var(--bg3); transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.6); }
.card-featured { border-color:var(--abrd); background:var(--adim); }
.card-featured:hover { border-color:var(--abrd); }
.card-accent-line { width:28px; height:2px; background:var(--acc); margin-bottom:16px; transition:width .35s var(--ease); }
.card:hover .card-accent-line { width:54px; }
.card-title { font-family:var(--f-body); font-weight:700; font-size:.95rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text); margin-bottom:10px; }
.card-text { font-size:.88rem; color:var(--sub); line-height:1.8; font-weight:400; }
.card-tag { display:inline-flex; align-items:center; gap:5px; font-family:var(--f-body); font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:4px 12px; margin-top:14px; border:1px solid; }
.tag-active { color:var(--acc); border-color:var(--abrd); background:var(--adim); }
.tag-done { color:var(--grn); border-color:rgba(31,212,122,.25); background:rgba(31,212,122,.05); }
.tag-pending { color:var(--mid); border-color:var(--b1); }

/* ── BADGES ── */
.badge { display:inline-flex; align-items:center; gap:6px; font-family:var(--f-body); font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:4px 12px; border:1px solid; transition:all .18s; }
.badge-acc { background:var(--acc); color:#000; border-color:var(--acc); }
.badge-outline { color:var(--sub); border-color:var(--b2); }
.badge-live { color:#ff6666; border-color:rgba(255,58,58,.3); background:rgba(255,58,58,.07); }
.badge-live::before { content:''; width:6px; height:6px; background:#ff6666; border-radius:50%; animation:pulse 1.4s infinite; }
.badge-ok { color:var(--grn); border-color:rgba(31,212,122,.3); background:rgba(31,212,122,.05); }
.badge-ok::before { content:''; width:6px; height:6px; background:var(--grn); border-radius:50%; }

/* ── TABLE ── */
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--b1); }
.data-table { width:100%; border-collapse:collapse; min-width:540px; }
.data-table th { font-family:var(--f-body); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--mid); text-align:left; padding:13px 16px; border-bottom:1px solid var(--b2); background:var(--bg2); white-space:nowrap; }
.data-table td { padding:14px 16px; border-bottom:1px solid var(--bg3); font-size:.9rem; color:var(--sub); vertical-align:middle; transition:background .15s; }
.data-table tr:hover td { background:var(--bg2); }
.data-table td:first-child { font-weight:600; color:var(--text); }
.data-table .val-mono { font-family:var(--f-mono); font-size:.82rem; color:var(--mid); }
.data-table .val-num { font-family:var(--f-disp); font-weight:600; font-size:1.3rem; }
.text-good { color:var(--grn)!important; }
.text-warn { color:var(--ylw)!important; }
.text-crit { color:var(--red)!important; }
.text-acc { color:var(--acc)!important; }

/* ── ALERTS ── */
.alert { display:flex; gap:16px; padding:clamp(14px,2vw,20px) clamp(16px,2.5vw,26px); border-left:3px solid; margin-bottom:8px; transition:filter .2s; }
.alert:hover { filter:brightness(1.12); }
.alert-icon { font-family:var(--f-mono); font-size:.95rem; flex-shrink:0; margin-top:2px; }
.alert-title { font-family:var(--f-body); font-weight:700; font-size:.92rem; text-transform:uppercase; letter-spacing:.07em; margin-bottom:5px; }
.alert-text { font-size:.86rem; line-height:1.72; font-weight:400; }
.alert-danger  { background:rgba(255,58,58,.05); border-color:rgba(255,58,58,.55); }
.alert-danger  .alert-title { color:var(--red); } .alert-danger .alert-text { color:#cc5555; }
.alert-warning { background:rgba(255,200,50,.05); border-color:rgba(255,200,50,.55); }
.alert-warning .alert-title { color:var(--ylw); } .alert-warning .alert-text { color:#997700; }
.alert-info    { background:rgba(85,136,255,.05); border-color:rgba(85,136,255,.55); }
.alert-info    .alert-title { color:var(--blue); } .alert-info .alert-text { color:#5577bb; }
.alert-success { background:rgba(31,212,122,.05); border-color:rgba(31,212,122,.55); }
.alert-success .alert-title { color:var(--grn); } .alert-success .alert-text { color:#118855; }

/* ── CODE BLOCK ── */
.code-block { background:var(--bg2); border:1px solid var(--b1); }
.code-header { display:flex; justify-content:space-between; align-items:center; padding:11px 18px; border-bottom:1px solid var(--b1); gap:10px; flex-wrap:wrap; }
.code-label { font-family:var(--f-body); font-size:.78rem; font-weight:700; color:var(--acc); letter-spacing:.12em; text-transform:uppercase; }
.code-block pre { font-family:var(--f-mono); font-size:.84rem; color:var(--sub); line-height:1.95; padding:clamp(14px,2.5vw,24px); overflow-x:auto; }
.code-block pre .kw  { color:var(--acc-code-kw); }
.code-block pre .str { color:#88ccff; }
.code-block pre .cm  { color:var(--b3); }

/* ── COPY BUTTON ── */
.copy-btn {
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--f-mono); font-size:.68rem; color:var(--dim);
  border:1px solid var(--b1); background:var(--bg3);
  padding:3px 8px; cursor:pointer; border-radius:2px;
  transition:all .18s; user-select:none; flex-shrink:0;
}
.copy-btn svg { width:11px; height:11px; flex-shrink:0; }
.copy-btn:hover { color:var(--acc); border-color:var(--abrd); background:var(--adim); }
.copy-btn.copied { color:var(--grn); border-color:rgba(31,212,122,.3); background:rgba(31,212,122,.05); }

/* ── PROGRESS BAR ── */
.progress-item { margin-bottom:24px; }
.progress-header { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; flex-wrap:wrap; gap:6px; }
.progress-label { font-family:var(--f-body); font-size:.82rem; font-weight:600; color:var(--mid); letter-spacing:.1em; text-transform:uppercase; }
.progress-value { font-family:var(--f-disp); font-weight:600; font-size:1.2rem; }
.progress-bar { height:3px; background:var(--b1); overflow:hidden; }
.progress-fill { height:100%; transform:scaleX(0); transform-origin:left; }

/* ── SIGNAL CHAIN ── */
.signal-chain { display:flex; flex-wrap:wrap; align-items:center; padding:16px 18px; background:var(--bg2); border:1px solid var(--b1); gap:2px; }
.chain-node { background:var(--bg3); border:1px solid var(--b1); padding:9px 14px; font-family:var(--f-body); font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--mid); transition:all .18s; cursor:default; white-space:nowrap; }
.chain-node:hover { transform:translateY(-3px); border-color:var(--b2); color:var(--sub); }
.chain-node.hot { border-color:var(--abrd); color:var(--acc); background:var(--adim); }
.chain-node.ok { border-color:rgba(31,212,122,.3); color:var(--grn); background:rgba(31,212,122,.06); }
.chain-arrow { padding:0 8px; color:var(--b2); font-size:13px; }

/* ── DIVIDERS ── */
.divider { height:1px; background:var(--b1); margin:clamp(22px,4vw,38px) 0; }
.divider-accent { height:1px; background:linear-gradient(to right,var(--acc) 0%,transparent 80%); margin:clamp(22px,4vw,38px) 0; }

/* ── SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:.05s; }
.reveal-d2 { transition-delay:.10s; }
.reveal-d3 { transition-delay:.16s; }
.reveal-d4 { transition-delay:.22s; }
.reveal-d5 { transition-delay:.28s; }

/* ── QUOTE BLOCK ── */
.quote-block { border-left:4px solid var(--acc); padding:clamp(18px,3vw,30px) clamp(18px,3vw,34px); background:var(--bg2); position:relative; overflow:hidden; transition:background .3s; }
.quote-block:hover { background:var(--bg3); }
.quote-block::before { content:'"'; position:absolute; top:-10px; left:12px; font-family:var(--f-disp); font-size:9rem; color:var(--acc); opacity:.05; line-height:1; pointer-events:none; }
.quote-block p { font-family:var(--f-disp); font-size:clamp(1rem,2.2vw,1.35rem); font-style:italic; color:var(--text); line-height:1.5; font-weight:400; position:relative; }
.quote-block cite { font-family:var(--f-body); font-size:.8rem; font-weight:400; color:var(--mid); margin-top:12px; display:block; letter-spacing:.1em; position:relative; }

/* ── TIP BOX ── */
.tip-box { background:var(--bg2); border:1px solid var(--b1); padding:clamp(16px,2.5vw,24px) clamp(18px,3vw,30px); display:flex; gap:16px; transition:border-color .25s; }
.tip-box:hover { border-color:var(--abrd); }
.tip-icon { font-size:1.1rem; flex-shrink:0; }
.tip-text { font-size:.92rem; color:var(--sub); line-height:1.85; font-weight:400; }
.tip-text strong { color:var(--text); font-weight:600; }

/* ── PARAM ROW (copyable values) ── */
.param-table { background:var(--bg2); border:1px solid var(--b1); }
.param-table-header { padding:10px 16px; border-bottom:1px solid var(--b1); }
.param-row { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--bg3); gap:10px; transition:background .15s; }
.param-row:hover { background:var(--bg3); }
.param-row:last-child { border-bottom:none; }
.param-key { font-family:var(--f-body); font-size:.82rem; font-weight:600; color:var(--mid); letter-spacing:.06em; text-transform:uppercase; }
.param-val { font-family:var(--f-mono); font-size:.86rem; color:var(--sub); display:flex; align-items:center; gap:8px; }
.param-acc { color:var(--acc); }
.param-red { color:var(--red); }
.param-ylw { color:var(--ylw); }

/* ── GIGS LIST ── */
.gig-list { display:flex; flex-direction:column; gap:2px; }
.gig-item { display:grid; grid-template-columns:120px 1fr auto; gap:20px; align-items:center; padding:18px 22px; background:var(--bg2); border:1px solid var(--b1); transition:all .2s; }
.gig-item:hover { border-color:var(--b3); background:var(--bg3); transform:translateX(4px); }
.gig-date { font-family:var(--f-mono); font-size:.82rem; color:var(--acc); letter-spacing:.06em; }
.gig-venue { font-family:var(--f-body); font-weight:600; font-size:.95rem; color:var(--text); }
.gig-city { font-family:var(--f-body); font-size:.82rem; color:var(--mid); margin-top:3px; }
.gig-action .btn { padding:9px 20px; font-size:.75rem; }
@media(max-width:600px) { .gig-item { grid-template-columns:1fr; gap:8px; } }

/* ── RELEASE GRID ── */
.release-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:2px; }
.release-card { background:var(--bg2); border:1px solid var(--b1); overflow:hidden; transition:all .25s; cursor:pointer; }
.release-card:hover { border-color:var(--b3); transform:translateY(-4px); box-shadow:0 16px 36px rgba(0,0,0,.6); }
.release-cover { aspect-ratio:1; overflow:hidden; }
.release-cover img { width:100%; height:100%; object-fit:cover; filter:brightness(.85); transition:filter .3s, transform .4s var(--ease); }
.release-card:hover .release-cover img { filter:brightness(1); transform:scale(1.04); }
.release-info { padding:16px; }
.release-title { font-family:var(--f-body); font-weight:700; font-size:.92rem; text-transform:uppercase; letter-spacing:.06em; color:var(--text); margin-bottom:4px; }
.release-meta { font-family:var(--f-mono); font-size:.75rem; color:var(--mid); display:flex; gap:12px; }
.release-links { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
.release-links a { font-family:var(--f-body); font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border:1px solid var(--b2); color:var(--mid); transition:all .18s; }
.release-links a:hover { border-color:var(--acc); color:var(--acc); }

/* ── MEMBER CARDS ── */
.member-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:2px; }
.member-card { background:var(--bg2); border:1px solid var(--b1); overflow:hidden; transition:all .25s; }
.member-card:hover { border-color:var(--b3); transform:translateY(-3px); }
.member-photo { aspect-ratio:1; overflow:hidden; }
.member-photo img { width:100%; height:100%; object-fit:cover; filter:grayscale(20%); transition:filter .3s, transform .4s var(--ease); }
.member-card:hover .member-photo img { filter:grayscale(0%); transform:scale(1.03); }
.member-info { padding:20px 18px; }
.member-name { font-family:var(--f-disp); font-weight:600; font-size:1.4rem; text-transform:uppercase; letter-spacing:.04em; color:var(--text); margin-bottom:4px; }
.member-role { font-family:var(--f-mono); font-size:.78rem; color:var(--acc); letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px; }
.member-bio { font-size:.85rem; color:var(--sub); line-height:1.75; }

/* ── MEMBERS LOGIN GATE ── */
.login-gate { max-width:440px; margin:0 auto; padding:clamp(40px,8vh,80px) clamp(24px,5vw,40px); }
.login-gate h2 { font-family:var(--f-disp); font-weight:600; font-size:2.5rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px; }
.login-gate p { font-size:.92rem; color:var(--sub); margin-bottom:32px; }
.login-form { display:flex; flex-direction:column; gap:12px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-label { font-family:var(--f-body); font-size:.78rem; font-weight:600; color:var(--mid); letter-spacing:.12em; text-transform:uppercase; }
.form-input { background:var(--bg2); border:1px solid var(--b2); color:var(--text); font-family:var(--f-body); font-size:.95rem; padding:12px 16px; transition:border-color .18s; outline:none; border-radius:0; width:100%; }
.form-input:focus { border-color:var(--acc); }
.form-input::placeholder { color:var(--dim); }

/* ── MEMBERS AREA ── */
.members-area { display:grid; grid-template-columns:240px 1fr; gap:2px; min-height:60vh; }
@media(max-width:800px) { .members-area { grid-template-columns:1fr; } }
.members-sidebar { background:var(--bg2); border-right:1px solid var(--b1); padding:clamp(24px,3vw,36px) clamp(18px,2vw,26px); }
.members-content { padding:clamp(28px,4vw,48px) clamp(24px,4vw,48px); }
.sidebar-title { font-family:var(--f-mono); font-size:.72rem; color:var(--mid); letter-spacing:.16em; text-transform:uppercase; margin-bottom:14px; }
.sidebar-nav-link { display:flex; align-items:center; gap:10px; padding:10px 12px; font-family:var(--f-body); font-size:.85rem; font-weight:600; color:var(--mid); border:1px solid transparent; transition:all .18s; text-decoration:none; }
.sidebar-nav-link:hover, .sidebar-nav-link.active { color:var(--acc); border-color:var(--abrd); background:var(--adim); }
.download-list { display:flex; flex-direction:column; gap:6px; }
.download-item { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background:var(--bg2); border:1px solid var(--b1); gap:12px; transition:all .18s; }
.download-item:hover { border-color:var(--b3); background:var(--bg3); }
.download-name { font-family:var(--f-body); font-size:.9rem; font-weight:600; color:var(--text); }
.download-meta { font-family:var(--f-mono); font-size:.75rem; color:var(--mid); margin-top:3px; }
.download-btn { font-family:var(--f-body); font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:7px 16px; border:1px solid var(--acc); color:var(--acc); background:transparent; cursor:pointer; transition:all .18s; white-space:nowrap; }
.download-btn:hover { background:var(--acc); color:#000; }

/* ── FOOTER ── */
.site-footer { padding:clamp(44px,6vh,72px) clamp(24px,5vw,72px); border-top:1px solid var(--b1); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:clamp(24px,4vw,56px); margin-bottom:clamp(32px,5vh,52px); }
@media(max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:540px) { .footer-grid { grid-template-columns:1fr; } }
.footer-brand {}
.footer-logo-img { height:32px; width:auto; opacity:.5; margin-bottom:16px; transition:opacity .2s; }
.footer-logo-img:hover { opacity:.8; }
.footer-tagline { font-family:var(--f-disp); font-size:1.1rem; font-style:italic; color:var(--b3); letter-spacing:.04em; text-transform:uppercase; }
.footer-col-title { font-family:var(--f-mono); font-size:.72rem; color:var(--mid); letter-spacing:.18em; text-transform:uppercase; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.footer-col-title::after { content:''; flex:1; max-width:24px; height:1px; background:var(--acc); opacity:.4; }
.footer-link { display:block; font-family:var(--f-body); font-size:.85rem; color:var(--dim); padding:5px 0; border-bottom:1px solid transparent; transition:all .18s; }
.footer-link:hover { color:var(--sub); border-bottom-color:var(--b1); padding-left:6px; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:clamp(20px,3vw,32px); border-top:1px solid var(--b1); }
.footer-copy { font-family:var(--f-body); font-size:.78rem; color:var(--b3); }
.footer-social { display:flex; gap:8px; }
.social-link { width:34px; height:34px; border:1px solid var(--b2); display:flex; align-items:center; justify-content:center; color:var(--dim); font-family:var(--f-mono); font-size:.75rem; transition:all .18s; }
.social-link:hover { border-color:var(--acc); color:var(--acc); }

/* ── WP BLOCK OVERRIDES ── */
.wp-block-image { margin:clamp(18px,3vw,28px) 0; }
.wp-block-quote { border-left:3px solid var(--acc); padding-left:20px; margin:clamp(18px,3vw,28px) 0; }
.wp-block-quote p { font-family:var(--f-disp); font-style:italic; font-size:1.15rem; color:var(--sub); }
.entry-content h1, .entry-content h2, .entry-content h3 { color:var(--text); margin:clamp(20px,3vw,32px) 0 12px; }
.entry-content h2 { font-family:var(--f-body); font-weight:700; font-size:1.4rem; text-transform:uppercase; letter-spacing:.06em; }
.entry-content h3 { font-family:var(--f-body); font-weight:700; font-size:1.1rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sub); }
.entry-content p { font-size:.95rem; color:var(--sub); line-height:1.85; margin-bottom:1.2em; }
.entry-content a { color:var(--acc); border-bottom:1px solid transparent; transition:border-color .18s; }
.entry-content a:hover { border-bottom-color:var(--acc); }

/* ── BLOG ── */
.post-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:2px; }
.post-card { background:var(--bg2); border:1px solid var(--b1); overflow:hidden; transition:all .25s; display:flex; flex-direction:column; }
.post-card:hover { border-color:var(--b3); transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,.5); }
.post-thumb { aspect-ratio:16/9; overflow:hidden; }
.post-thumb img { width:100%; height:100%; object-fit:cover; filter:brightness(.85); transition:filter .3s, transform .4s var(--ease); }
.post-card:hover .post-thumb img { filter:brightness(1); transform:scale(1.04); }
.post-body { padding:20px 18px; flex:1; display:flex; flex-direction:column; }
.post-category { font-family:var(--f-mono); font-size:.72rem; color:var(--acc); letter-spacing:.14em; text-transform:uppercase; margin-bottom:8px; }
.post-title { font-family:var(--f-body); font-weight:700; font-size:1rem; color:var(--text); line-height:1.4; margin-bottom:10px; flex:1; }
.post-title a { color:inherit; transition:color .18s; }
.post-title a:hover { color:var(--acc); }
.post-meta { font-family:var(--f-mono); font-size:.72rem; color:var(--dim); display:flex; gap:12px; margin-top:auto; padding-top:12px; border-top:1px solid var(--b1); }
.post-excerpt { font-size:.85rem; color:var(--sub); line-height:1.75; margin-bottom:14px; }

/* ── CONTACT FORM ── */
.contact-form { display:flex; flex-direction:column; gap:14px; max-width:600px; }
.contact-form .form-group { display:flex; flex-direction:column; gap:6px; }
.contact-form .form-label { font-family:var(--f-body); font-size:.78rem; font-weight:600; color:var(--mid); letter-spacing:.12em; text-transform:uppercase; }
.contact-form .form-input,
.contact-form textarea { background:var(--bg2); border:1px solid var(--b2); color:var(--text); font-family:var(--f-body); font-size:.92rem; padding:13px 16px; transition:border-color .18s; outline:none; width:100%; resize:vertical; font-size:1rem; }
.contact-form .form-input:focus,
.contact-form textarea:focus { border-color:var(--acc); }
.contact-form textarea { min-height:120px; }

/* ── LANGUAGE CONTENT ── */
[data-lang]:not(.lang-active) { display:none; }

/* ── ADMIN BAR OFFSET ── */
.admin-bar .site-nav { top:32px; }
.admin-bar .mobile-nav { top:calc(68px + 32px); }
@media screen and (max-width:782px) {
  .admin-bar .site-nav { top:46px; }
}

/* ── ACCESSIBILITY ── */
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:16px; top:16px; z-index:9999; background:var(--acc); color:#000; padding:8px 16px; font-family:var(--f-body); font-weight:600; }
