/* FR Music Compact UX V5 — tighter rhythm, smaller display type, unified header actions */

/* Global vertical rhythm */
.section{padding-block:clamp(46px,5.2vw,72px)!important}
.section-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;gap:clamp(28px,4vw,60px)!important;margin-bottom:clamp(22px,2.8vw,34px)!important;align-items:start!important}
.section-grid h2,.fr-evidence-head h2,.center h2{
  font-size:clamp(38px,4.8vw,68px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  max-width:760px!important;
}
.section-copy{padding-top:2px!important}
.section-copy p,.fr-evidence-head>p{font-size:clamp(16px,1.15vw,18px)!important;line-height:1.48!important;margin-bottom:14px!important;max-width:720px!important}
.small-title{margin-bottom:14px!important}

/* Header: Message us and theme switcher now belong to the same component family */
.site-header{min-height:70px!important;padding-block:9px!important}
.header-actions{gap:10px!important;align-items:center!important}
.nav-cta,
.theme-switcher{
  height:46px!important;
  min-height:46px!important;
  border-radius:999px!important;
  border:1px solid var(--theme-line)!important;
  background:var(--theme-glass-strong)!important;
  color:var(--theme-text)!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--theme-shadow) 75%,transparent)!important;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease!important;
}
.nav-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 21px!important;font-size:14px!important;line-height:1!important;white-space:nowrap!important}
.theme-switcher{width:46px!important;flex:0 0 46px!important}
.nav-cta:hover,.theme-switcher:hover{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--gold) 55%,var(--theme-line))!important;
  box-shadow:0 11px 26px color-mix(in srgb,var(--theme-shadow) 82%,transparent)!important;
}
.theme-switcher:hover{color:var(--gold)!important}

/* Journey: horizontal, scan-friendly and much shorter on desktop */
.journey{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  padding:4px 0 0!important;
}
.journey-line{display:none!important}
.journey-step{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:0!important;
  min-width:0!important;
}
.journey-dot{
  width:42px!important;
  height:42px!important;
  font-size:13px!important;
  flex:0 0 42px!important;
}
.journey-card{
  padding:20px!important;
  border-radius:20px!important;
  min-height:178px!important;
  height:100%!important;
}
.journey-card h3{font-size:clamp(22px,1.75vw,28px)!important;line-height:1!important;margin-bottom:9px!important}
.journey-card p{font-size:14px!important;line-height:1.45!important}

/* Campaign selection: remove the empty introductory screen feeling */
.fr-current-choice-heading{margin-bottom:22px!important}
.fr-current-choice-heading h2{font-size:clamp(40px,5vw,70px)!important;max-width:700px!important}
.fr-current-choice-grid{gap:14px!important}
.fr-current-choice-card{padding:clamp(22px,2.5vw,30px)!important}
.fr-current-choice-card h3{font-size:clamp(36px,4vw,58px)!important;line-height:.96!important}
.fr-current-feedback h3{font-size:clamp(30px,3vw,42px)!important}
.fr-current-mini-campaigns{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.fr-current-mini-campaigns a{padding:13px!important;min-height:92px!important}

/* Supporting content blocks */
.story-panel{min-height:250px!important;padding:28px!important}
.story-panel h3{font-size:clamp(30px,3.2vw,46px)!important}
.process-card,.confidence-card{padding:24px!important}
.fr-evidence-section{padding-top:58px!important;padding-bottom:34px!important}
#artist-feedback{padding-top:26px!important;padding-bottom:50px!important}
.organic-section{padding-block:58px!important}
.final-cta{padding-block:54px!important}
.final-inner h2{font-size:clamp(42px,5.5vw,76px)!important;line-height:.94!important;max-width:980px!important}
.final-inner p{margin:18px auto 24px!important}

/* Page heroes and builder: no more oversized title screens */
.page-hero{min-height:0!important;padding-top:clamp(110px,11vw,150px)!important;padding-bottom:clamp(56px,6vw,84px)!important}
.page-hero h1{font-size:clamp(54px,7.2vw,102px)!important;line-height:.88!important;max-width:1050px!important}
.page-hero p{font-size:clamp(17px,1.5vw,21px)!important;max-width:760px!important}
.fr-calc-shell{padding-top:clamp(112px,10vw,145px)!important;padding-bottom:60px!important}
.fr-calc-title{margin-bottom:26px!important;max-width:800px!important}
.fr-calc-title h1{font-size:clamp(58px,7.5vw,104px)!important;line-height:.87!important}
.fr-calc-title p{font-size:clamp(16px,1.35vw,20px)!important;line-height:1.5!important}

@media(max-width:1080px){
  .journey{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .fr-current-mini-campaigns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:760px){
  .section{padding-block:44px!important}
  .section-grid{grid-template-columns:1fr!important;gap:16px!important;margin-bottom:24px!important}
  .section-grid h2,.fr-evidence-head h2,.center h2{font-size:clamp(38px,11vw,56px)!important}
  .journey{grid-template-columns:1fr!important;gap:10px!important}
  .journey-step{display:grid!important;grid-template-columns:42px 1fr!important;align-items:start!important}
  .journey-card{min-height:0!important;padding:18px!important}
  .fr-current-mini-campaigns{grid-template-columns:1fr 1fr!important}
  .page-hero h1,.fr-calc-title h1{font-size:clamp(48px,13vw,72px)!important}
  .final-inner h2{font-size:clamp(40px,11vw,58px)!important}
  .nav-cta{display:none!important}
  .theme-switcher{width:42px!important;height:42px!important;min-height:42px!important;flex-basis:42px!important}
}

@media(max-width:430px){
  .fr-current-mini-campaigns{grid-template-columns:1fr!important}
}
