/* FR Music Compact UX V4 — contrast fixes + shorter, denser pages */
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
main{overflow:hidden}
.wrapper{width:min(1180px,calc(100% - 40px))!important}
.section{padding-block:clamp(64px,7vw,96px)!important}
.section-grid{margin-bottom:clamp(28px,4vw,48px)!important;gap:clamp(24px,5vw,72px)!important}
.section-grid h2,.fr-evidence-head h2,.center h2{font-size:clamp(42px,6.2vw,88px)!important;line-height:.94!important;overflow-wrap:anywhere}
.section-copy p,.fr-evidence-head>p{font-size:clamp(16px,1.35vw,19px)!important;line-height:1.55!important}

/* Header stays readable in both modes */
.site-header{min-height:72px!important;padding:10px min(4vw,54px)!important}
.brand img{width:46px!important;height:46px!important}
.nav-links{gap:clamp(18px,2.5vw,36px)!important}
.nav-cta{min-height:44px!important;padding:0 22px!important}

/* Buttons: never dark text on dark background */
.button.primary,.btn.primary,.fr-submit-btn,.fr-current-primary-btn{
  background:linear-gradient(135deg,#e0bf72,#c99f45)!important;
  color:#16130c!important;border:1px solid rgba(102,75,22,.22)!important;
  box-shadow:0 12px 30px rgba(142,103,31,.20)!important;
}
.button.primary:hover,.btn.primary:hover,.fr-submit-btn:hover,.fr-current-primary-btn:hover{filter:brightness(1.05);transform:translateY(-2px)}
html[data-theme="light"] .button.secondary,
html[data-theme="light"] .btn.secondary{background:#fff!important;color:#17191f!important;border-color:rgba(23,25,31,.17)!important}
@media(prefers-color-scheme:light){html:not([data-theme]) .button.secondary,html:not([data-theme]) .btn.secondary{background:#fff!important;color:#17191f!important;border-color:rgba(23,25,31,.17)!important}}

/* Campaign choice: shorter and more balanced */
.fr-current-choice-heading{margin-bottom:28px!important}
.fr-current-choice-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr)!important;gap:16px!important}
.fr-current-choice-card{min-height:0!important;padding:clamp(24px,3vw,34px)!important;border-radius:28px!important}
.fr-current-choice-top{margin-bottom:18px!important}
.fr-current-choice-card h3{font-size:clamp(40px,4.7vw,66px)!important;line-height:.94!important;margin-bottom:14px!important;max-width:850px}
.fr-current-feedback h3{font-size:clamp(32px,3.4vw,48px)!important}
.fr-current-choice-card p{font-size:16px!important;line-height:1.5!important;margin-bottom:18px!important}
.fr-current-points{gap:8px!important;margin-bottom:20px!important}
.fr-current-points span{padding:8px 11px!important}
.fr-current-mini-campaigns{margin:4px 0 18px!important;gap:8px!important}
.fr-current-mini-campaigns a,.fr-current-feedback-links a{border-radius:18px!important;padding:14px!important}
.fr-current-feedback-links{margin-top:8px!important}
html[data-theme="light"] .fr-current-main{background:radial-gradient(circle at 92% 0%,rgba(214,181,108,.18),transparent 40%),#fffaf0!important}
html[data-theme="light"] .fr-current-feedback{background:linear-gradient(145deg,#fff,#f4f0e8)!important}
html[data-theme="light"] .fr-current-mini-campaigns a,
html[data-theme="light"] .fr-current-feedback-links a{background:#e9e5dd!important;border-color:rgba(23,25,31,.12)!important}
@media(prefers-color-scheme:light){
 html:not([data-theme]) .fr-current-main{background:radial-gradient(circle at 92% 0%,rgba(214,181,108,.18),transparent 40%),#fffaf0!important}
 html:not([data-theme]) .fr-current-feedback{background:linear-gradient(145deg,#fff,#f4f0e8)!important}
 html:not([data-theme]) .fr-current-mini-campaigns a,html:not([data-theme]) .fr-current-feedback-links a{background:#e9e5dd!important;border-color:rgba(23,25,31,.12)!important}
}

/* Evidence + testimonials behave like one compact proof block */
.fr-evidence-section{padding-top:72px!important;padding-bottom:44px!important}
#artist-feedback{padding-top:34px!important;padding-bottom:62px!important;border-top:0!important}
.fr-evidence-head{margin-bottom:24px!important;align-items:end!important}
.fr-results-grid{gap:14px!important}
.fr-result-card{padding:14px!important;border-radius:18px!important}
.fr-result-image{margin-bottom:13px!important;aspect-ratio:16/10!important}
.fr-proof-note{margin-top:14px!important}
.fr-testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.fr-testimonial-card{padding:20px!important;border-radius:18px!important;min-height:245px;display:flex;flex-direction:column}
.fr-testimonial-card blockquote{font-size:clamp(.96rem,1.15vw,1.08rem)!important;line-height:1.5!important;margin-bottom:16px!important}
.fr-testimonial-footer{margin-top:auto!important;padding-top:12px!important}

/* Remove full-viewport sections that made the page feel endless */
.organic-section{min-height:0!important;padding:72px 20px!important}
.organic-section h2{font-size:clamp(58px,8vw,108px)!important;margin-bottom:16px!important}
.organic-section p{font-size:clamp(16px,1.5vw,20px)!important}
.no-list{margin-top:24px!important}
.process-grid{gap:14px!important}
.process-card{min-height:220px!important;padding:26px!important}
.process-card span{margin-bottom:34px!important}
.final-cta{min-height:0!important;padding:82px 24px!important}
.final-inner{max-width:960px!important}
.final-inner h2{font-size:clamp(54px,8vw,112px)!important;line-height:.9!important;overflow-wrap:anywhere}
.final-inner p{margin:18px auto 26px!important}

/* Audience/reach section: prevent clipped columns and huge numbers */
.reach-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:100%!important}
.reach-item{min-width:0!important;padding:clamp(22px,3vw,34px)!important;border:1px solid var(--theme-line)!important;border-radius:24px!important;background:var(--theme-glass)!important}
.reach-item .big-number{font-size:clamp(58px,8vw,118px)!important;line-height:.85!important;white-space:normal!important;overflow-wrap:anywhere!important}
.playlist-side{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:14px!important;gap:14px!important}
.mini-panel{padding:24px!important}

/* Contact and generic page heroes: no giant cropped headings */
.page-hero{min-height:0!important;padding:clamp(130px,14vw,175px) 20px clamp(70px,8vw,105px)!important}
.page-hero-inner{max-width:1120px!important}
.page-hero h1{font-size:clamp(58px,9vw,132px)!important;line-height:.88!important;letter-spacing:-.075em!important;overflow-wrap:anywhere!important}
.page-hero p{font-size:clamp(17px,1.7vw,22px)!important;line-height:1.5!important;margin-top:26px!important}
.contact-actions{margin-top:30px!important}
.values-grid{gap:14px!important}
.contact-card{padding:26px!important;min-height:0!important}

/* Campaign Builder: fix mixed light/dark surfaces and excessive hero height */
.fr-calc-page{background:var(--theme-bg)!important;color:var(--theme-text)!important}
.fr-calc-hero{padding:clamp(112px,10vw,145px) 0 64px!important;background:radial-gradient(circle at 82% 10%,rgba(214,181,108,.12),transparent 35%),var(--theme-bg)!important}
.fr-calc-shell{width:min(1240px,calc(100% - 40px))!important}
.fr-calc-title{max-width:920px!important;margin-bottom:34px!important}
.fr-calc-title h1{font-size:clamp(64px,9vw,130px)!important;line-height:.84!important;color:var(--theme-text)!important;overflow-wrap:anywhere!important}
.fr-calc-title p{font-size:clamp(17px,1.6vw,22px)!important;color:var(--theme-text-2)!important;max-width:760px!important}
.fr-calc-back{color:var(--theme-text-2)!important}
.fr-calc-layout{gap:16px!important;align-items:start!important}
.fr-calc-panel,.fr-summary-panel{background:var(--theme-glass)!important;border-color:var(--theme-line)!important;color:var(--theme-text)!important;box-shadow:0 20px 55px var(--theme-shadow)!important}
.fr-calc-panel{padding:clamp(24px,3vw,36px)!important}
.fr-summary-panel{padding:clamp(24px,3vw,34px)!important;position:sticky!important;top:92px!important}
.fr-step h2,.fr-summary-header h2,.fr-includes h3,.fr-safe-box h3{color:var(--theme-text)!important}
.fr-step p,.fr-summary-header p,.fr-safe-box p,.fr-submit-note,.fr-alt-box p{color:var(--theme-text-2)!important}
.fr-step>span,.fr-calc-kicker,.fr-summary-header>span{color:var(--gold)!important}
.fr-goal-input,.fr-text-input,.fr-alt-box,.fr-summary-mini,.fr-invest-card,.fr-safe-box,.fr-tier-message{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;color:var(--theme-text)!important}
.fr-goal-input input,.fr-text-input{color:var(--theme-text)!important}
.fr-goal-input span,.fr-field-label,.fr-summary-mini span,.fr-invest-label,.fr-price-details span{color:var(--theme-text-2)!important}
.fr-summary-mini strong,.fr-final-price,.fr-price-details strong,.fr-includes li{color:var(--theme-text)!important}
.fr-presets button{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
.fr-presets button.active{background:var(--gold)!important;color:#17130b!important;border-color:var(--gold)!important}
.fr-tier-row span{color:var(--theme-text-2)!important;border-color:var(--theme-line)!important}

/* Light mode detail fixes */
html[data-theme="light"] .fr-calc-panel,
html[data-theme="light"] .fr-summary-panel,
html[data-theme="light"] .fr-testimonial-card,
html[data-theme="light"] .fr-result-card,
html[data-theme="light"] .reach-item{background:rgba(255,255,255,.80)!important}
html[data-theme="light"] .fr-invest-card{background:linear-gradient(145deg,#fff8e8,#f2e7ce)!important}
html[data-theme="light"] .fr-current-badge{color:#5a4318!important}
html[data-theme="light"] .fr-stars{color:#8f681c!important}
@media(prefers-color-scheme:light){
 html:not([data-theme]) .fr-calc-panel,html:not([data-theme]) .fr-summary-panel,html:not([data-theme]) .fr-testimonial-card,html:not([data-theme]) .fr-result-card,html:not([data-theme]) .reach-item{background:rgba(255,255,255,.80)!important}
 html:not([data-theme]) .fr-invest-card{background:linear-gradient(145deg,#fff8e8,#f2e7ce)!important}
 html:not([data-theme]) .fr-current-badge{color:#5a4318!important}
 html:not([data-theme]) .fr-stars{color:#8f681c!important}
}

@media(max-width:1080px){
 .fr-current-choice-grid,.fr-calc-layout{grid-template-columns:1fr!important}
 .fr-summary-panel{position:relative!important;top:auto!important}
 .fr-testimonials-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
 .wrapper,.fr-calc-shell{width:min(100% - 24px,1180px)!important}
 .section{padding-block:54px!important}
 .fr-current-mini-campaigns,.reach-grid,.playlist-side,.fr-testimonials-grid{grid-template-columns:1fr!important}
 .fr-current-choice-card h3{font-size:clamp(38px,12vw,58px)!important}
 .page-hero h1,.fr-calc-title h1{font-size:clamp(52px,15vw,82px)!important}
 .fr-evidence-head{align-items:flex-start!important;flex-direction:column!important;gap:14px!important}
 .fr-testimonial-card{min-height:0}
 .organic-section{padding-block:58px!important}
 .final-cta{padding-block:64px!important}
 .no-list{grid-template-columns:1fr!important}
}
