
:root{
  --bg:#071525;
  --bg2:#0a2038;
  --card:rgba(255,255,255,.075);
  --card2:rgba(255,255,255,.11);
  --text:rgba(255,255,255,.94);
  --muted:rgba(255,255,255,.74);
  --muted2:rgba(255,255,255,.58);
  --border:rgba(255,255,255,.16);
  --primary:rgb(40,130,230);
  --primary2:#64b5ff;
  --accent:#f6d77a;
  --good:#58e6a4;
  --danger:#ff6c8a;
  --shadow:0 16px 38px rgba(0,0,0,.34);
  --radius:20px;
  --max:1080px;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{min-height:100%;font-size:16px;line-height:1.58;overflow-x:hidden;}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(40,130,230,.34), transparent 60%),
    radial-gradient(760px 460px at 92% 10%, rgba(100,181,255,.22), transparent 62%),
    linear-gradient(180deg,var(--bg),var(--bg2) 55%,#06111e);
}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;display:block;}
.container{width:min(var(--max),calc(100% - 24px));margin:16px auto 30px;}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:linear-gradient(180deg,rgba(7,21,37,.92),rgba(7,21,37,.70));border-bottom:1px solid var(--border);}
.brand{display:flex;align-items:center;gap:12px;padding:12px 12px 6px;width:min(var(--max),calc(100% - 24px));margin:0 auto;}
.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,rgba(40,130,230,.82),rgba(246,215,122,.24));border:1px solid rgba(255,255,255,.24);box-shadow:var(--shadow);font-size:1.4rem;}
.brand-title{font-weight:850;letter-spacing:.2px;font-size:1.12rem;}
.brand-subtitle{color:var(--muted2);font-size:.92rem;margin-top:2px;}
.top-nav{width:min(var(--max),calc(100% - 24px));margin:0 auto;display:flex;gap:10px;padding:8px 12px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.top-nav a{display:inline-flex;align-items:center;padding:8px 13px;border:1px solid transparent;border-radius:999px;background:rgba(255,255,255,.10);color:var(--muted);white-space:nowrap;flex:0 0 auto;font-weight:650;}
.top-nav a.active,.top-nav a.featured-nav-link{border-color:rgba(246,215,122,.58);background:linear-gradient(135deg,rgba(40,130,230,.38),rgba(246,215,122,.18));color:var(--text);}
.card{background:linear-gradient(180deg,var(--card),rgba(255,255,255,.035));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;}
.hero{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow);margin-bottom:16px;background:linear-gradient(135deg,rgba(40,130,230,.36),rgba(0,0,0,.16));}
.banner-hero img{width:100%;height:auto;display:block;object-fit:contain;}
.hero-intro{margin-bottom:16px;}
.hero-eyebrow{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(246,215,122,.20);border:1px solid rgba(246,215,122,.45);color:#fff1bd;font-weight:750;font-size:.85rem;}
.hero-intro h1{font-size:clamp(1.65rem,4vw,2.55rem);line-height:1.08;margin:10px 0 6px;}
.hero-intro p{max-width:760px;margin:0;color:rgba(255,255,255,.86);font-size:1.04rem;}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.20);background:linear-gradient(135deg,var(--primary),#1b75d2);color:#fff;font-weight:800;box-shadow:0 10px 22px rgba(0,0,0,.22);cursor:pointer;}
.btn:hover{text-decoration:none;filter:brightness(1.06);}
.btn.gold{background:linear-gradient(135deg,#f6d77a,#c89926);color:#201605;}
.btn.ghost{background:rgba(255,255,255,.10);box-shadow:none;color:var(--text);}
.controls .controls-row,.form-row{display:grid;grid-template-columns:1fr;gap:12px;}
@media (min-width:760px){.controls .controls-row{grid-template-columns:250px 1fr;}.form-row{grid-template-columns:1fr 1fr;}.three-col{grid-template-columns:repeat(3,1fr)!important;}}
.control{min-width:0;}
.control label{display:block;color:var(--muted);font-size:.88rem;margin:0 0 6px;font-weight:650;}
.control input,.control select,.control textarea{width:100%;padding:11px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.26);color:var(--text);outline:none;}
.control input:focus,.control select:focus,.control textarea:focus{border-color:rgba(100,181,255,.80);box-shadow:0 0 0 4px rgba(40,130,230,.22);}
.az{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.92);font-weight:700;font-size:.9rem;}
.meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap;}.meta{color:var(--muted2);font-size:.94rem;}
.letter-block{margin:18px 0;}.letter-title{display:flex;align-items:end;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);margin-bottom:10px;}.letter-title h2{font-size:1.65rem;margin:0;color:#e6f3ff;}.count{color:var(--muted2);font-size:.9rem;margin-bottom:7px;}
.grid{display:grid;grid-template-columns:1fr;gap:12px;}@media(min-width:760px){.grid{grid-template-columns:repeat(2,1fr);}}@media(min-width:980px){.grid.three{grid-template-columns:repeat(3,1fr);}}
.listing{position:relative;background:linear-gradient(180deg,var(--card2),rgba(255,255,255,.045));border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow);}
.listing h3{margin:7px 0 6px;font-size:1.18rem;line-height:1.22;}.listing h3 a{color:#fff;}.tag{display:inline-flex;border-radius:999px;padding:4px 9px;background:rgba(40,130,230,.24);border:1px solid rgba(100,181,255,.34);color:#d8edff;font-size:.82rem;font-weight:750;}.sub,.address{color:var(--muted);font-size:.95rem;margin:6px 0;}.links{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}.links a{font-weight:750;font-size:.9rem;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);padding:6px 9px;border-radius:999px;color:var(--accent);}
.featured-badge{display:inline-flex;margin-left:6px;color:var(--accent);font-size:.92rem;}
.opportunity-card .tag{background:rgba(246,215,122,.20);border-color:rgba(246,215,122,.42);color:#fff2bd;}.need-line{color:var(--good);font-weight:780;margin:7px 0;}
.tip{margin-top:18px;}.callout{border-left:4px solid var(--primary2);background:rgba(40,130,230,.13);padding:11px 12px;border-radius:12px;color:var(--muted);}.notice{background:rgba(246,215,122,.14);border:1px solid rgba(246,215,122,.35);border-radius:16px;padding:13px;color:#fff2c9;}
.promo-card{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:10px;}.promo-img{width:78px;height:58px;object-fit:cover;border-radius:12px;background:rgba(255,255,255,.12);}.promo-title{font-size:1rem;margin:0 0 3px;}.promo-text{margin:0;color:var(--muted);font-size:.92rem;}
.form{display:grid;gap:14px;}.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
.site-footer{border-top:1px solid var(--border);margin-top:26px;padding:20px 12px;color:var(--muted2);}.footer-inner{width:min(var(--max),calc(100% - 24px));margin:0 auto;text-align:center;}.footer-line{margin:4px 0;}
.small{font-size:.92rem;color:var(--muted2);} ul.clean{padding-left:1.2rem;} ul.clean li{margin:.4rem 0;}


/* Homepage banner: keep all artwork visible and keep text below the image. */
.banner-hero{background:#08294d;}
.banner-hero img{aspect-ratio:3/1;}
@media (max-width:720px){
  .container{width:min(var(--max),calc(100% - 16px));margin-top:10px;}
  .banner-hero{border-radius:18px;margin-bottom:12px;}
  .hero-intro{border-radius:18px;padding:14px;}
  .hero-intro h1{font-size:1.45rem;}
  .cta-row .btn{width:100%;}
}


/* Featured musician pages */
.page-intro h1{font-size:clamp(1.55rem,4vw,2.45rem);line-height:1.08;margin:10px 0 8px;}
.page-intro p{color:rgba(255,255,255,.86);max-width:820px;}
.feature-benefits{margin:16px 0;}
.feature-benefit h2{margin:8px 0 6px;font-size:1.18rem;}
.feature-benefit p{color:var(--muted);margin:0;}
.benefit-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(246,215,122,.16);border:1px solid rgba(246,215,122,.30);font-size:1.35rem;}
.pricing-card h2{font-size:clamp(2rem,6vw,3rem);line-height:1;margin:10px 0;color:#fff3bd;}
.featured-grid-wrap{margin-top:16px;}
.featured-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.featured-card{overflow:hidden;background:linear-gradient(180deg,var(--card2),rgba(255,255,255,.045));border:1px solid rgba(246,215,122,.30);border-radius:22px;box-shadow:var(--shadow);}
.featured-image{min-height:180px;background:linear-gradient(135deg,rgba(40,130,230,.58),rgba(246,215,122,.22));display:grid;place-items:center;overflow:hidden;}
.featured-image img{width:100%;height:100%;max-height:260px;object-fit:cover;}
.featured-placeholder{font-size:4rem;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));}
.featured-body{padding:16px;}
.featured-body h2{font-size:1.35rem;line-height:1.2;margin:8px 0 8px;}
.featured-body h2 a{color:#fff;}
.featured-body p{color:var(--muted);margin:8px 0 12px;}
.payment-panel code{background:rgba(0,0,0,.32);padding:2px 6px;border-radius:7px;color:#fff3bd;}
@media(min-width:760px){.featured-grid{grid-template-columns:repeat(2,1fr);}.featured-card{display:grid;grid-template-columns:42% 58%;}.featured-image{min-height:100%;}.featured-image img{max-height:none;height:100%;}}
@media(max-width:720px){.top-nav a{padding:8px 11px;font-size:.92rem;}.page-intro h1{font-size:1.42rem;}}

/* Coming Soon Top Strip */
.coming-soon-strip {
  width: 100%;
  background: linear-gradient(90deg, #153b5c, #2f7fa3, #f4c542);
  color: #ffffff;
  text-align: center;
  padding: 8px 12px;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.2px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  position: relative;
  z-index: 999;
}

.coming-soon-label {
  display: inline-block;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  padding: 3px 10px;
  margin-right: 8px;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.8px;
}

.coming-soon-text {
  display: inline-block;
}

@media (max-width: 600px) {
  .coming-soon-strip {
    font-size: 0.82rem;
    line-height: 1.35;
    padding: 7px 10px;
  }

  .coming-soon-label {
    margin-right: 5px;
    padding: 2px 8px;
    font-size: 0.68rem;
  }
}
