/* MoMoney Studios — MVP site shared styles (tokens from ../styles.css) */
:root{
  --ease-fluid:cubic-bezier(0.32,0.72,0,1);
  --ease-mass:cubic-bezier(0.22,1,0.36,1);
  --dur-reveal:820ms;
  --bezel:6px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg-sunken);color:var(--text-primary);font-family:var(--font-body)}
a{color:var(--gold-300)}a:hover{color:var(--gold-400)}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}
::selection{background:var(--gold-500);color:#17081F}
.wrap{max-width:1120px;margin:0 auto;padding:0 var(--space-6)}
.skip{position:absolute;left:var(--space-6);top:-100px;display:inline-flex;align-items:center;min-height:44px;z-index:70;padding:12px 20px;border-radius:var(--radius-pill);background:var(--gold-500);color:#17081F;font:var(--fw-bold) var(--fs-xs)/1 var(--font-body);letter-spacing:var(--ls-caps);text-transform:uppercase;text-decoration:none;transition:top var(--dur-base) var(--ease-out)}
.skip:focus{top:12px;color:#17081F}
header.site{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-6);padding:12px var(--space-6);background:rgba(10,7,16,0.8);backdrop-filter:var(--blur-panel);border-bottom:1px solid var(--border-subtle)}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.brand img{width:34px;height:34px;object-fit:cover;border-radius:var(--radius-sm);box-shadow:0 0 14px rgba(242,178,51,0.35)}
.brand span{font-family:var(--font-western);font-size:16px;color:var(--gold-300);text-shadow:var(--text-glow-gold);white-space:nowrap}
nav.main{display:flex;gap:var(--space-5)}
nav.main a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font:var(--fw-semibold) var(--fs-xs)/1 var(--font-body);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);text-decoration:none}
nav.main a:hover{color:var(--cream-100)}
nav.main a[aria-current="page"]{color:var(--gold-300);text-shadow:var(--text-glow-gold)}
.head-meta{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}
.navtoggle{display:none;appearance:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--cream-100);cursor:pointer}
.navtoggle:hover{border-color:var(--gold-400);color:var(--gold-300)}
.navtoggle i{display:block;width:17px;height:2px;background:currentColor;border-radius:1px;transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}
header.site[data-nav-open="true"] .navtoggle i:nth-child(1){transform:translateY(6px) rotate(45deg)}
header.site[data-nav-open="true"] .navtoggle i:nth-child(2){opacity:0}
header.site[data-nav-open="true"] .navtoggle i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
nav.main a.navphone{display:none}
.head-meta .phone{font:var(--text-mono);color:var(--gold-400);letter-spacing:var(--ls-wide)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;border-radius:var(--radius-pill);font:var(--fw-bold) var(--fs-sm)/1 var(--font-body);letter-spacing:var(--ls-caps);text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.btn:active{transform:translateY(1px) scale(0.98)}
.btn-arrow{padding-right:10px}
.btn-arrow::after{content:"\2197";display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(23,8,31,0.15);font-size:13px;line-height:1;transition:transform var(--dur-base) var(--ease-fluid),background var(--dur-base) var(--ease-fluid)}
.btn-outline.btn-arrow::after{background:rgba(246,240,225,0.09)}
.btn-arrow:hover::after{transform:translate(2px,-2px) scale(1.07);background:rgba(23,8,31,0.24)}
.btn-outline.btn-arrow:hover::after{background:rgba(242,178,51,0.18)}
.btn-gold{background:var(--gold-500);color:#17081F;box-shadow:var(--glow-gold)}.btn-gold:hover{background:var(--gold-400);color:#17081F}
.btn-outline{background:transparent;color:var(--cream-100);border-color:var(--border-strong)}.btn-outline:hover{border-color:var(--gold-400);color:var(--gold-300);box-shadow:var(--glow-soft-gold)}
.btn-sm{height:36px;padding:0 16px;font-size:var(--fs-xs)}
.badge{display:inline-flex;align-items:center;padding:4px 11px;border-radius:var(--radius-pill);font:var(--fw-bold) var(--fs-3xs)/1 var(--font-body);letter-spacing:var(--ls-caps);text-transform:uppercase}
.badge-gold{background:rgba(242,178,51,0.16);color:var(--gold-300)}
.badge-purple{background:rgba(147,51,234,0.2);color:var(--purple-200)}
.badge-solid{background:var(--gold-500);color:#17081F}
.stack{position:relative;overflow:hidden}
.stack>.l1{position:absolute;inset:0;background-size:cover;background-position:center}
.stack>.l2{position:absolute;inset:0}
.stack>.l3{position:absolute;inset:0;opacity:var(--grain-opacity);pointer-events:none;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNjAnIGhlaWdodD0nMTYwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC45JyBudW1PY3RhdmVzPScyJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzE2MCcgaGVpZ2h0PScxNjAnIGZpbHRlcj0ndXJsKCNuKScgb3BhY2l0eT0nMC42Jy8+PC9zdmc+")}
.stack>.l4{position:relative}
.eyebrow{font:var(--fw-bold) var(--fs-2xs)/1 var(--font-mono);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--gold-400);margin:0 0 var(--space-4)}
.kick{font:var(--fw-bold) var(--fs-2xs)/1 var(--font-mono);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--gold-500);margin:0 0 var(--space-3)}
h1.display{font-family:var(--font-display);font-weight:400;font-size:clamp(46px,7vw,96px);line-height:0.92;letter-spacing:var(--ls-mega);text-transform:uppercase;color:var(--gold-300);text-shadow:var(--text-glow-gold);margin:0 0 var(--space-3)}
h2.t{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,3.6vw,40px);line-height:0.98;text-transform:uppercase;letter-spacing:var(--ls-tight);margin:0 0 var(--space-6);color:var(--cream-100)}
.sub{font:var(--text-body);color:var(--cream-300);max-width:56ch;margin:0 0 var(--space-6)}
section.band{padding:var(--space-20) 0}
.grid{display:grid;gap:var(--space-5)}
.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(246,240,225,0.07), var(--shadow-lg), 0 0 0 var(--bezel) rgba(246,240,225,0.028), 0 0 0 calc(var(--bezel) + 1px) var(--border-subtle);
  transition:transform var(--dur-base) var(--ease-fluid),box-shadow var(--dur-base) var(--ease-fluid)}
a.card{text-decoration:none;color:inherit;display:block}
.card:hover{transform:translateY(-3px);
  box-shadow:inset 0 1px 0 rgba(246,240,225,0.10), var(--glow-soft-gold), 0 0 0 var(--bezel) rgba(242,178,51,0.07), 0 0 0 calc(var(--bezel) + 1px) rgba(242,178,51,0.28)}
.card:active{transform:translateY(-1px) scale(0.995)}
.cover{aspect-ratio:1/1;background:var(--ink-950) center/cover no-repeat;position:relative}
.cover .fade{position:absolute;inset:auto 0 0 0;height:45%;background:var(--grad-fade-ink)}
.cover.type-tile{display:flex;align-items:center;justify-content:center;padding:var(--space-4)}
.cover.type-tile span{font-family:var(--font-display);font-size:var(--fs-2xl);line-height:1;text-transform:uppercase;letter-spacing:var(--ls-tight);text-align:center;color:var(--gold-300);text-shadow:var(--text-glow-gold)}
.card .meta{padding:var(--space-4) var(--space-5)}
.card .meta .title{font-family:var(--font-display);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:var(--ls-tight);line-height:1.05;color:var(--text-primary)}
.card .meta .who{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font:var(--text-body-sm);color:var(--text-muted)}
.card .meta .cat{font:var(--text-mono);font-size:10px;color:var(--text-faint)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--space-3)}
.chip{padding:3px 9px;border-radius:var(--radius-pill);background:var(--ink-600);border:1px solid var(--border-subtle);font:var(--fw-semibold) var(--fs-3xs)/1 var(--font-body);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-secondary)}
.headrow{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-6)}
.headrow h2{margin:0}
.headrow .note{display:inline-flex;align-items:center;min-height:44px;font:var(--text-mono);color:var(--text-faint);letter-spacing:var(--ls-wide);font-size:11px;text-transform:lowercase}
a.note{text-decoration:none;transition:color var(--dur-base) var(--ease-fluid)}
a.note:hover{color:var(--gold-300)}
footer.site{border-top:1px solid var(--border-subtle);padding:var(--space-8) 0;margin-top:var(--space-8)}
footer.site .row{display:flex;align-items:center;gap:var(--space-4) var(--space-5);flex-wrap:wrap}
footer.site .founder{order:1}
footer.site .fine{order:2}
footer.site .wordmark{font-family:var(--font-western);color:var(--gold-300);font-size:15px}
footer.site .fine{font:var(--text-mono);font-size:10px;letter-spacing:var(--ls-wide);color:var(--text-faint);margin-left:auto}
[data-reveal]{opacity:0;transform:translateY(38px);filter:blur(7px);
  transition:opacity var(--dur-reveal) var(--ease-mass),transform var(--dur-reveal) var(--ease-mass),filter var(--dur-reveal) var(--ease-mass);
  transition-delay:var(--reveal-delay,0ms);will-change:transform,opacity}
[data-reveal].is-in{opacity:1;transform:none;filter:blur(0)}
.flicker{animation:mos-neon-flicker 4s var(--ease-in-out) infinite}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  *{transition-property:color,background-color,border-color,box-shadow,opacity!important;transition-duration:var(--dur-fast)!important}
  .card:hover,.btn:active,.pbtn:active{transform:none!important}
  [data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
}
@media (max-width:960px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){
  .g2{grid-template-columns:1fr}
  .btn-sm{height:44px;padding:0 20px}
  .head-meta .phone{display:none}
  .navtoggle{display:flex}
  nav.main{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;gap:0;padding:var(--space-2) var(--space-6) var(--space-5);background:rgba(10,7,16,0.97);backdrop-filter:var(--blur-panel);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-lg)}
  header.site[data-nav-open="true"] nav.main{display:flex}
  nav.main a{display:flex;align-items:center;min-height:48px;padding:2px 0;font-size:var(--fs-sm);border-bottom:1px solid var(--border-subtle)}
  nav.main a:last-child{border-bottom:0}
  nav.main a.navphone{display:inline-flex;color:var(--gold-400);font-family:var(--font-mono)}
}
@media (max-width:520px){.g4,.g3{grid-template-columns:1fr}}
/* --- interactive: tags, docked player, booking modal --- */
.tags{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}
.tag-btn{appearance:none;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:8px 18px;border-radius:var(--radius-pill);background:transparent;border:1px solid var(--border-strong);font:var(--fw-semibold) var(--fs-xs)/1 var(--font-body);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.tag-btn:hover{color:var(--cream-100);border-color:var(--gold-400)}
.tag-btn[aria-pressed="true"]{color:var(--gold-300);border-color:var(--gold-400);box-shadow:var(--glow-soft-gold);text-shadow:var(--text-glow-gold)}
body.has-player{padding-bottom:92px}
.player{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-5);padding:10px var(--space-6);background:rgba(14,10,22,0.85);backdrop-filter:var(--blur-panel);border-top:1px solid var(--border-default)}
body.has-player .player{display:grid}
.player .np{display:flex;align-items:center;gap:var(--space-3);min-width:0}
.player .np img{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;box-shadow:var(--shadow-md)}
.player .np .tt{font:var(--fw-bold) var(--fs-sm)/1.2 var(--font-body);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player .np .aa{font:var(--text-body-sm);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player .ctl{display:flex;align-items:center;gap:var(--space-3)}
.pbtn{appearance:none;cursor:pointer;width:44px;height:44px;border-radius:50%;border:1px solid transparent;background:var(--gold-500);color:#17081F;font:var(--fw-bold) 11px/1 var(--font-body);letter-spacing:0.06em;text-transform:uppercase;box-shadow:var(--glow-soft-gold);transition:transform var(--dur-fast) var(--ease-out)}
.pbtn:active{transform:scale(0.94)}
.player .prog{display:flex;align-items:center;gap:var(--space-3);min-width:220px}
.player .prog .ts{font:var(--text-mono);font-size:11px;color:var(--text-faint)}
.player .bar{position:relative;width:160px;height:4px;border-radius:2px;background:var(--ink-500);overflow:hidden;cursor:pointer}
.player .bar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--gold-400);box-shadow:0 0 8px rgba(242,178,51,0.7)}
.modal-backdrop{position:fixed;inset:0;z-index:60;background:var(--surface-overlay);backdrop-filter:var(--blur-sm);display:none;align-items:center;justify-content:center;padding:var(--space-6)}
.modal-backdrop.open{display:flex}
.modal{width:440px;max-width:100%;max-height:86vh;overflow:auto;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--glow-gold)}
.modal .mh{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-4)}
.modal .mh h3{font-family:var(--font-display);font-weight:400;font-size:var(--fs-2xl);text-transform:uppercase;letter-spacing:var(--ls-tight);margin:0;color:var(--cream-100)}
.modal .mh .kk{font:var(--fw-bold) 10px/1 var(--font-body);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold-400);display:block;margin-bottom:8px}
.modal .mb{padding:0 var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.mclose{appearance:none;background:transparent;border:1px solid var(--border-default);color:var(--text-secondary);width:36px;height:36px;border-radius:var(--radius-pill);cursor:pointer;font-size:15px;line-height:1}
.mclose:hover{color:var(--gold-300);border-color:var(--gold-400)}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font:var(--fw-bold) 10px/1 var(--font-body);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}
.fld input,.fld select{height:44px;padding:0 14px;border-radius:var(--radius-md);background:var(--bg-sunken);border:1px solid var(--border-default);color:var(--cream-100);font:var(--fw-regular) var(--fs-sm)/1 var(--font-body)}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--gold-400);box-shadow:var(--glow-soft-gold)}
.mrow{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.mdone{text-align:center;padding:var(--space-4) 0 var(--space-2)}
.mdone p{font:var(--text-body);color:var(--cream-300);margin:0}
@media (max-width:760px){.player{grid-template-columns:minmax(0,1fr) auto}.player .prog{display:none}}

/* Cross-site link — label → the person. Entity separation, handoff D1. */
footer.site .founder {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font: var(--fw-bold) 11px/1 var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-400);
  text-decoration: none;
  white-space: nowrap;
}
footer.site .founder:hover { color: var(--gold-300); }
