/* ============================================
   OPTIMO ENTERTAINMENT — Light inner pages
   Loads last on every page except the homepage
   (after style.css, artist-v2.css, lux-chrome.css
   and lux.css). Converts the old black/gold
   sections to the ivory / ink / antique-gold look.
   `body` prefixes beat page-level <style> blocks.
   ============================================ */

/* ── Shared type: calmer, fewer shouty caps ── */
body h3 { text-transform: none; letter-spacing: -.01em; }
body .section__head h2::after { display: none; }
body .section__head h2 { font-weight: 500; letter-spacing: -.02em; }
body .section__head p { color: var(--stone); font-size: 1.05rem; }
body .section { padding: 96px 0; }
body .section--alt { background: var(--ivory); }
body .section-fade-from-dark { background: var(--paper); }
body .container { max-width: 1240px; }

/* ── Page banners (every inner page header) ── */
body .page-banner,
body .faq-hero-dark {
  background:
    radial-gradient(900px 420px at 85% -20%, rgba(226,188,90,.22), transparent 60%),
    radial-gradient(600px 320px at 0% 120%, rgba(226,188,90,.12), transparent 60%),
    var(--ivory);
  border-bottom: 1px solid var(--line);
  padding: 88px 28px 72px;
}
body .page-banner h1,
body .faq-hero-dark h1 {
  color: var(--ink); font-family: var(--font-display); font-weight: 500;
  font-size: clamp(2.3rem, 5vw, 3.8rem); letter-spacing: -.025em; line-height: 1.05;
}
body .page-banner p,
body .faq-hero-dark p { color: var(--stone); font-size: 1.1rem; max-width: 620px; }
body .faq-cat-btn {
  color: var(--ink-2); border: 1px solid var(--line-2); background: var(--paper);
  font-family: var(--font-b); font-size: .86rem; font-weight: 500; letter-spacing: 0; text-transform: none; border-radius: 999px;
}
body .faq-cat-btn:hover { background: var(--paper); color: var(--ink); border-color: var(--ink); }
body .faq-cat-btn.active { background: var(--ink); color: #fff; border-color: var(--ink); }
body .faq-cat-nav { background: var(--paper) !important; border-color: var(--line) !important; }

body .breadcrumb {
  background: var(--paper); border-bottom: 1px solid var(--line);
  font-family: var(--font-b); text-transform: none; letter-spacing: 0; font-size: .84rem;
}
body .breadcrumb a { color: var(--stone); }
body .breadcrumb span { color: var(--line-2); }

/* ── Stats bars (About, Optimo Sound) ── */
body .stats-bar { background: var(--ivory); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body .stats-bar::after { display: none; }
body .stats-bar .stat-num { color: var(--ink); font-family: var(--font-display); font-weight: 500; }
body .stats-bar .stat-label { color: var(--stone); font-family: var(--font-b); letter-spacing: 0; text-transform: none; font-size: .92rem; font-weight: 500; }
body .stats-bar-kicker { color: var(--gold-ink); }
body .stats-bar .btn-outline-white { color: var(--ink); border-color: var(--line-2); }
body .stat-item + .stat-item { border-color: var(--line) !important; }

/* ── Closing CTA strip on every page ── */
body .cta-strip {
  background:
    radial-gradient(600px 300px at 90% 0%, rgba(226,188,90,.35), transparent 60%),
    radial-gradient(500px 300px at 0% 100%, rgba(226,188,90,.2), transparent 60%),
    var(--gold-wash);
  border-top: 0; padding: 96px 0;
}
body .cta-strip h2 { color: var(--ink); font-weight: 500; }
body .cta-strip p { color: var(--stone); }
body .cta-strip .btn-lime { background: var(--ink); border-color: var(--ink); color: #fff; }
body .cta-strip .btn-outline-lime { color: var(--ink); border-color: var(--ink-2); }

/* ── How-it-works numbers ── */
body .process-step-num {
  background: var(--paper); border: 1px solid var(--line-2); color: var(--gold-ink);
  font-family: var(--font-display); font-weight: 500;
}
body .process-step:hover .process-step-num { background: var(--ink); color: #fff; border-color: var(--ink); box-shadow: none; }
body .process-step h3 { text-transform: none; letter-spacing: -.01em; font-size: 1.05rem; }
body .process-steps::before { background: var(--line-2); opacity: 1; }

/* ── Cards used across pages ── */
body .why-card, body .testimonial-card, body .contact-info-box, body .policy-contact-box {
  border: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 20px; box-shadow: none;
}
body .why-card:hover, body .testimonial-card:hover { box-shadow: var(--shadow-md); }
body .why-card::before { color: rgba(201,154,46,.14); }
body .testimonial-card cite { color: var(--ink); text-transform: none; letter-spacing: 0; font-size: .95rem; }
body .testimonial-card .t-source { text-transform: none; letter-spacing: 0; font-size: .8rem; }
body .contact-info-box { background: var(--ivory); }
body .contact-info-box h4 { color: var(--gold-ink); }
body .location-badge { text-transform: none; letter-spacing: 0; font-family: var(--font-b); font-size: .88rem; font-weight: 500; border-radius: 999px; background: var(--paper); }

/* ── Services grid + detail rows ── */
body .srv-card-grid { background: var(--paper); gap: 18px; padding: 28px; max-width: 1296px; margin: 0 auto; }
body .srv-card { border-radius: 22px; }
body .srv-card::before { display: none; }
body .srv-card::after { background: linear-gradient(to top, rgba(23,20,15,.72) 0%, rgba(23,20,15,.1) 55%, transparent 100%); }
body .srv-card-name { font-family: var(--font-display); font-weight: 500; letter-spacing: -.01em; text-transform: none; font-size: clamp(1.3rem, 2vw, 1.7rem); }
body .srv-card-sub { font-style: normal; color: rgba(255,255,255,.85); }
body .srv-card-arrow, body .srv-detail-link { color: var(--gold-lt); letter-spacing: .06em; text-transform: none; font-size: .86rem; font-family: var(--font-b); font-weight: 600; }
body .srv-detail-link { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
body .srv-detail-img { background: var(--ivory); border-radius: 22px; }
body .srv-detail-h2 { font-family: var(--font-display); font-weight: 500; letter-spacing: -.02em; }
body .srv-detail-eyebrow { color: var(--gold-ink); font-family: var(--font-b); font-size: .76rem; font-weight: 600; letter-spacing: .14em; }
body .srv-detail-eyebrow::before { height: 1px; background: currentColor; }
body .srv-detail-tag { font-family: var(--font-b); text-transform: none; letter-spacing: 0; font-size: .82rem; font-weight: 500; background: var(--ivory); border-color: var(--line); }
body .srv-detail-quote { background: var(--ivory); border-left: 2px solid var(--gold); border-radius: 0 14px 14px 0; }
body .srv-detail-quote cite { color: var(--gold-ink); text-transform: none; letter-spacing: 0; }

/* ── Artists page roster cards ── */
body .artist-thumb { border-radius: 22px; box-shadow: none; }
body .artist-thumb::before { display: none; }
body .artist-thumb-info { background: linear-gradient(to top, rgba(23,20,15,.78) 0%, rgba(23,20,15,.25) 50%, transparent 100%); padding: 40px 18px 18px; }
body .artist-thumb-info h3 { font-family: var(--font-display); font-weight: 500; font-size: 1.25rem; }
body .artist-thumb-info .genre { color: var(--gold-lt); letter-spacing: .08em; font-weight: 600; font-size: .68rem; }
body .artist-thumb:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
body .artist-filter-btn, body .filter-btn, body .gallery-filters button, body .artist-filters button {
  font-family: var(--font-b); text-transform: none; letter-spacing: 0; font-size: .88rem; font-weight: 500;
  border-radius: 999px; border: 1px solid var(--line-2); background: var(--paper); color: var(--ink-2);
}
body .artist-filters button.active, body .gallery-filters button.active, body .filter-btn.active, body .artist-filter-btn.active {
  background: var(--ink); color: #fff; border-color: var(--ink);
}

/* ── FAQ accordions ── */
body .faq-question { font-family: var(--font-b); text-transform: none; letter-spacing: 0; font-size: 1.05rem; font-weight: 600; color: var(--ink); }
body .faq-icon { color: var(--ink); }

/* ── Forms (contact) ── */
body input, body select, body textarea { border-radius: 12px; border-color: var(--line-2); font-family: var(--font-b); }
body input:focus, body select:focus, body textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px var(--gold-wash); outline: none; }
body label { font-family: var(--font-b); text-transform: none; letter-spacing: 0; }

/* ── Optimo Sound page (inline dark styles) ── */
body .sound-hero {
  background:
    radial-gradient(900px 420px at 80% -10%, rgba(226,188,90,.25), transparent 60%),
    var(--ivory);
}
body .sound-hero::before { display: none; }
body .sound-hero .wave-bar, body .wave-bar { background: var(--gold); opacity: .55; }
body .sound-badge { color: var(--gold-ink); border-color: var(--line-2) !important; }
body .sound-hero-content h1 { color: var(--ink); font-family: var(--font-display); font-weight: 500; }
body .sound-hero-content h1 span { color: var(--gold-dk); }
body .sound-hero-content p { color: var(--stone); }
body .sound-hero .btn-outline-white, body .sound-hero .btn-outline-lime { color: var(--ink); border-color: var(--line-2); }
body .sound-service-card { border: 1px solid var(--line); border-radius: 20px; }
body .sound-service-num, body .feat-dot, body .sound-service-card ul li::before { color: var(--gold-ink); }
body .event-types-strip { background: var(--ivory); border-block: 1px solid var(--line); }
body .event-type-item h4 { color: var(--ink); }
body .event-type-item p { color: var(--stone); }
body .sister-callout { background: var(--gold-wash); border: 1px solid var(--line); border-radius: 20px; }
body .sister-callout h3 { color: var(--ink); }
body .sister-callout p { color: var(--ink-2); }
/* inline "background:var(--nav-bg)" panels used on the Sound and System Design pages */
body [style*="background:var(--nav-bg)"] { background: var(--paper) !important; border-color: var(--line) !important; }
body [style*="background:var(--nav-bg)"] h2, body [style*="background:var(--nav-bg)"] h3,
body [style*="background:var(--nav-bg)"] p[style*="color:var(--white)"] { color: var(--ink) !important; }
body [style*="background:var(--nav-bg)"] p, body [style*="background:var(--nav-bg)"] li { color: var(--ink-2) !important; }
body [style*="background:#111"] { background: var(--ivory) !important; border-color: var(--line) !important; }
body [style*="background:#111"] p[style*="color:var(--white)"] { color: var(--ink) !important; }
body [style*="rgba(155,204,0"] { background: var(--gold-wash) !important; border-color: var(--line) !important; }
body [style*="color:var(--lime)"], body [style*="color:var(--gold)"] { color: var(--gold-ink) !important; }

/* ── Artist pages (artist-v2 template) ── */
body .ap2-intro { background: var(--ivory); }
body.ap2-dark-phase .ap2-bio, body.ap2-dark-phase .ap2-band { background-color: var(--ivory); }
body.ap2-dark-phase .ap2-bio-text { color: var(--ink-2); }
body.ap2-dark-phase .ap2-bio-facts { color: var(--stone); }
body.ap2-dark-phase .ap2-bio-facts strong { color: var(--ink); }
body.ap2-dark-phase .ap2-coming-soon { color: var(--stone); }
body .ap2-bio, body .ap2-band { background: var(--ivory); }
body .ap2-bio-photo-overlay { background: linear-gradient(to right, transparent 60%, var(--ivory) 100%), linear-gradient(to top, var(--ivory) 0%, transparent 22%); }
body .ap2-bio-heading, body .ap2-band-title { color: var(--ink); font-family: var(--font-display); font-weight: 500; font-style: normal; letter-spacing: -.02em; text-shadow: none; }
body .ap2-bio-heading em, body .ap2-band-title em { color: var(--gold-dk); }
body .ap2-gallery-title, body .ap2-reviews-title, body .ap2-cta-heading, body .ap2-setlist-title, body .ap2-events-title, body .ap2-details-title {
  font-family: var(--font-display); font-weight: 500; letter-spacing: -.02em; text-shadow: none; color: var(--ink);
}
body .ap2-hero-fog { background: linear-gradient(to top, rgba(23,20,15,.82) 0%, rgba(23,20,15,.5) 26%, rgba(23,20,15,.12) 55%, transparent 75%); }
body .ap2-title { font-family: var(--font-display); font-weight: 500; letter-spacing: -.025em; }
body .ap2-tagline { color: rgba(255,255,255,.78); letter-spacing: .02em; }
body .ap2-hs-label { color: var(--gold-lt); letter-spacing: .1em; }
body .ap2-hero-btn-gold, body .ap2-btn-gold, body .ap2-cta-btn, body .ap2-float-btn {
  background: var(--paper); color: var(--ink); border-radius: 999px; font-family: var(--font-b);
  letter-spacing: 0; text-transform: none; font-weight: 600; font-size: .9rem;
}
body .ap2-btn-gold, body .ap2-cta-btn, body .ap2-float-btn { background: var(--ink); color: #fff; }
body .ap2-hero-btn-gold::after, body .ap2-btn-gold::after, body .ap2-cta-btn::after { display: none; }
body .ap2-hero-btn-outline, body .ap2-cta-btn-outline {
  border-radius: 999px; font-family: var(--font-b); letter-spacing: 0; text-transform: none; font-weight: 600; font-size: .9rem;
}
body .ap2-cta-btn-outline { color: var(--ink); border-color: var(--line-2); }
body .ap2-sticky { background: rgba(255,255,255,.92); border-bottom: 1px solid var(--line); box-shadow: 0 6px 24px rgba(23,20,15,.06); }
body .ap2-sticky.ap2-visible { top: 78px; }
body .ap2-sticky-name { color: var(--ink); text-transform: none; letter-spacing: 0; font-family: var(--font-display); font-weight: 600; font-size: 1rem; }
body .ap2-sticky-links a { color: var(--stone); text-transform: none; letter-spacing: 0; font-family: var(--font-b); font-size: .88rem; font-weight: 500; }
body .ap2-sticky-links a:hover, body .ap2-sticky-links a.ap2-active { color: var(--ink); }
body .ap2-sticky-book { background: var(--ink) !important; color: #fff !important; border-radius: 999px; }
body .ap2-sticky-book:hover { background: #000 !important; color: #fff !important; }
body .ap2-sticky-epk { color: var(--ink) !important; border-color: var(--line-2) !important; border-radius: 999px; }
body .ap2-band-card-back, body .ap2-band-lead .ap2-band-card-back { background: var(--paper); border: 1px solid var(--line); }
body .ap2-band-card-back .ap2-band-name { color: var(--ink); }
body .ap2-band-bio { color: var(--ink-2); }
body .ap2-band-flip-hint { color: var(--gold-ink); }
body .ap2-band-card, body .ap2-band-card-face { border-radius: 18px; }
body .ap2-marquee-strip { background: var(--gold-wash); border-block: 1px solid var(--line); }
body .ap2-ms-track span { color: var(--ink-2); letter-spacing: .1em; font-family: var(--font-b); font-weight: 600; }
body .ap2-fe-stat { background: var(--ivory); border: 1px solid var(--line); }
body .ap2-fe-stat-label { color: var(--stone); }
body .ap2-fe-stat * { color: var(--ink); }
body .ap2-fe-tab { font-family: var(--font-b); text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 600; }
body .ap2-event-card, body .ap2-tcard, body .ap2-review-card, body .ap2-vibe-card, body .ap2-spec { border-radius: 18px; }
body .ap2-ec-card { border-radius: 20px; }
body .ap2-ec-card::before { background: linear-gradient(to top, rgba(23,20,15,.78) 0%, rgba(23,20,15,.35) 45%, rgba(23,20,15,.05) 80%); }
body .ap2-pq-text, body .ap2-eq-l3 { font-family: var(--font-display); font-weight: 500; }
body .ap2-social-link { text-transform: none; letter-spacing: 0; font-family: var(--font-b); font-size: .86rem; border-radius: 999px; }
body .ap2-lightbox { background: rgba(23,20,15,.94); }
body .bj-links a, body .mr-playlist-link a, body .km-links a {
  color: var(--ink); font-family: var(--font-b); letter-spacing: 0; text-transform: none; font-weight: 600;
  text-decoration: underline; text-underline-offset: 4px;
}
body .video-placeholder { border-radius: 20px; }

/* ── 404 ── */
body .nf-wrap { background: var(--ivory); }

@media (max-width: 640px) {
  body .section { padding: 68px 0; }
  body .page-banner, body .faq-hero-dark { padding: 56px 18px 48px; }
  body .srv-card-grid { padding: 16px; gap: 12px; }
  body .ap2-sticky.ap2-visible { top: 68px; }
}

/* No glow/drop shadows on headings over light backgrounds */
body .page-banner h1, body .faq-hero-dark h1, body .sound-hero-content h1,
body .page-banner p, body .sound-hero-content p { text-shadow: none; }
body .sound-hero-content h1 { font-weight: 500; letter-spacing: -.025em; }

body .filter-btn { font-family: var(--font-b) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: .88rem !important; font-weight: 500 !important; border-radius: 999px !important; }
body .filter-btn.active, body .filter-btn.active:hover { background: var(--ink) !important; color: #fff !important; border-color: var(--ink) !important; }
body .filter-btn:not(.active):hover { color: var(--ink) !important; border-color: var(--ink) !important; background: var(--paper) !important; }
body .artist-thumb-info .genre { color: rgba(255,255,255,.88) !important; }
