/* FSR HAASE v6.11.2.25 — public-facing spacing refinement.
   Only linked on the public website; no authenticated, admin, driver or
   race-operations templates are modified.  Keep large display typography.
   Reduce unused hero/section space, not the content or interactive features. */

/* Home: the About panel makes the hero useful; avoid the old fixed 890px floor. */
.fsr-home .hero.hero-fullbleed,
.fsr-home .hero.hero-fullbleed .hero-shell {
  min-height:max(760px,calc(100svh - 60px));
  height:auto;
  max-height:none;
}
.fsr-home .hero.hero-fullbleed .hero-shell {
  padding-top:clamp(110px,12svh,148px);
  padding-bottom:clamp(35px,4svh,52px);
}
.fsr-home .hero-copy {padding-block:14px;}
.fsr-home .hero-copy h1 {margin-bottom:12px;}
.fsr-home .hero-copy .fsr-home-about {margin-top:14px;}
.fsr-home .hero-copy .fsr-home-about + .hero-actions {margin-top:19px;}
.fsr-home .hero-pricing {margin-top:29px;}
.fsr-home .fsr-sales-section {padding-block:clamp(55px,6vw,85px)!important;}
.fsr-home .fsr-sales-heading {margin-bottom:26px;gap:clamp(18px,3vw,34px);}
.fsr-home .fsr-sales-heading h2 {margin-top:9px;}
.fsr-home .fsr-sales-card h3 {margin-top:16px;margin-bottom:12px;}
.fsr-home .fsr-sales-card p {margin-bottom:19px;}

/* Public Kart Sales, launch, Hire and Coaching page banners. */
.fsr-sales-page .fsr-range-hero {min-height:clamp(510px,69svh,710px);}
.fsr-sales-page .fsr-product-hero {min-height:clamp(520px,70svh,715px);}
.fsr-sales-page .fsr-range-shell {padding-top:clamp(124px,14svh,162px);padding-bottom:clamp(52px,7svh,75px);}
.fsr-sales-page .fsr-range-shell h1 {margin-top:19px;margin-bottom:20px;}
.fsr-sales-page .fsr-range-actions {margin-top:23px;}
.fsr-sales-page .fsr-coming-chip {margin-top:20px;}
.fsr-sales-page .fsr-range-main {padding-block:clamp(66px,7vw,85px);}
.fsr-sales-page .fsr-range-intro {gap:clamp(20px,3vw,30px);margin-bottom:30px;}
.fsr-sales-page .fsr-range-advantages {padding-top:28px;padding-bottom:clamp(65px,7vw,82px);gap:32px;}
.fsr-sales-page .fsr-range-line-copy {padding-block:28px;}
.fsr-sales-page .fsr-range-line-copy h3 {margin-block:12px;}
.fsr-sales-page .fsr-range-line-copy p {margin-bottom:17px;}
.fsr-sales-page .fsr-product-info {padding-block:clamp(67px,7.5vw,86px);gap:clamp(34px,5vw,78px);}
.fsr-sales-page .fsr-product-intro h2,
.fsr-sales-page .fsr-product-feature-copy h2 {margin-block:18px 21px;}
.fsr-sales-page .fsr-product-feature {margin-bottom:clamp(66px,7vw,86px);}
.fsr-sales-page .fsr-product-feature-copy {padding:clamp(30px,4vw,59px);}
.fsr-sales-page .fsr-product-back {margin-bottom:clamp(58px,7vw,75px);padding-top:24px;}
.fsr-sales-page .fsr-hire-features {padding-bottom:clamp(65px,7vw,88px);}
.fsr-sales-page .fsr-hire-poster-picture img {max-height:min(78svh,800px);}
.fsr-sales-page .fsr-hire-poster-details {padding-block:24px 29px;}
.fsr-sales-page .fsr-coach-profile {padding-bottom:clamp(68px,8vw,93px);}
.fsr-sales-page .fsr-coach-profile-heading h2 {margin-block:16px 23px;}
.fsr-sales-page .fsr-coach-highlights {margin-bottom:31px;}
.fsr-sales-page .fsr-coach-record h3 {margin-block:15px 25px;}
.fsr-sales-page .join.fsr-range-cta {margin-bottom:70px;}

/* Race Calendar: timetable and countdown remain visually separated. */
.calendar-page .cal-hero {min-height:clamp(580px,72svh,670px);}
.calendar-page .cal-hero-copy {padding-top:122px;padding-bottom:63px;}
.calendar-page .cal-hero-actions {margin-top:21px;}
.calendar-page .cal-countdown {bottom:52px;}
.calendar-page .section-shell {padding-block:clamp(64px,6.7vw,83px);}
.calendar-page .cal-events {padding-top:48px;}
.calendar-page .cal-section-head {gap:clamp(26px,4vw,52px);margin-bottom:33px;}
.calendar-page .cal-section-head h2 {margin-top:11px;}

/* Gallery: tighten the hero and the distance to the album grid. */
.gallery-page .gal-hero {min-height:clamp(570px,71svh,665px);}
.gallery-page .gal-hero-copy {padding-top:115px;padding-bottom:59px;}
.gallery-page .gal-hero-copy>p:not(.eyebrow) {margin-bottom:21px;}
.gallery-page .gal-index {padding-block:clamp(66px,7vw,87px);}
.gallery-page .gal-section-head {margin-bottom:31px;}
.gallery-page .gal-cta {margin-bottom:63px;padding:49px 50px;}

/* Experience Days: preserve cinematic imagery while fixing long empty gaps. */
.experience-page .exp-hero {height:auto;min-height:clamp(610px,79svh,770px);}
.experience-page .exp-hero-content {margin-bottom:clamp(54px,7svh,87px);}
.experience-page .exp-hero-actions {margin-top:21px;}
.experience-page .exp-manifesto {padding-block:91px 78px;}
.experience-page .exp-facts {margin-top:46px;}
.experience-page .exp-circuit-cinematic {min-height:clamp(550px,70svh,665px);}
.experience-page .exp-circuit-copy {padding-bottom:65px;}
.experience-page .exp-map-section {padding-block:87px;}
.experience-page .exp-map-grid {margin-top:36px;}
.experience-page .exp-day {padding-block:82px;}
.experience-page .exp-day-steps {margin-top:43px;}
.experience-page .exp-onboard {padding-block:78px 98px;}
.experience-page .exp-video-frame {margin-top:37px;}
.experience-page .exp-coach {padding-block:91px;gap:clamp(35px,4vw,59px);}
.experience-page .exp-packages {padding-block:90px;}
.experience-page .exp-package-grid {margin-top:39px;}
.experience-page .exp-emotional {min-height:clamp(435px,62svh,545px);padding-block:61px;}
.experience-page .exp-audience {padding-block:87px;}
.experience-page .exp-audience-grid {margin-top:37px;}
.experience-page .exp-book {padding-block:90px;gap:52px;}
.experience-page .exp-info {padding-block:82px 95px;gap:53px;}
.experience-page .exp-final-cta {min-height:clamp(510px,67svh,620px);}

/* Teamwear and Contact: keep space for content rather than vacant banner height. */
.teamwear-page .tw-hero {min-height:clamp(600px,72svh,730px);padding-top:126px;padding-bottom:59px;}
.teamwear-page .tw-hero-actions {margin-top:21px;}
.teamwear-page .tw-cta {margin-top:70px;padding-block:60px;}
.contact-page .contact-hero {min-height:clamp(590px,76svh,790px);padding-top:125px;padding-bottom:69px;}
.contact-page .contact-direct {margin-top:27px;}

/* Chassis explorer: intentionally leave the sensitive interactive product stage,
   wheel hotspot geometry and animation timing unchanged.  Reduce only copy
   margins and ordinary informational section spacing. */
.chassis-page .chassis-intro-copy h1 {margin-block:14px 12px;}
.chassis-page .chassis-story {padding-block:82px;}
.chassis-page .chassis-spec-section {padding-top:62px!important;padding-bottom:62px!important;}

/* Site Manager-created public pages */
body:has(.pb-page) .pb-hero {min-height:min(70svh,720px);}
body:has(.pb-page) .pb-hero-inner {padding-block:65px 54px;}
body:has(.pb-page) .pb-section {padding-block:65px;}
body:has(.pb-page) .pb-cta {padding-block:80px;}

@media(max-width:980px){
  .fsr-sales-page .fsr-range-hero {min-height:580px;}
  .fsr-sales-page .fsr-product-hero {min-height:590px;}
  .fsr-sales-page .fsr-range-main {padding-block:68px;}
  .calendar-page .cal-countdown {bottom:35px;}
  .experience-page .exp-map-section,.experience-page .exp-day,
  .experience-page .exp-packages,.experience-page .exp-book,
  .experience-page .exp-info {padding-block:75px;}
}
@media(max-width:820px){
  .fsr-home .hero.hero-fullbleed,
  .fsr-home .hero.hero-fullbleed .hero-shell {min-height:max(650px,calc(100svh - 35px));height:auto;}
  .fsr-home .hero.hero-fullbleed .hero-shell {padding-top:105px;padding-bottom:34px;}
  .fsr-home .fsr-sales-section {padding-block:62px!important;}
  .fsr-sales-page .fsr-range-hero,
  .fsr-sales-page .fsr-product-hero {min-height:570px;}
  .fsr-sales-page .fsr-range-shell {padding-top:127px;padding-bottom:60px;}
  .fsr-sales-page .fsr-range-main {padding-block:65px;}
  .fsr-sales-page .fsr-product-info {padding-block:63px;gap:30px;}
  .fsr-sales-page .fsr-range-advantages {padding-bottom:68px;}
  .fsr-sales-page .fsr-hire-features {padding-bottom:65px;}
  .calendar-page .cal-hero {min-height:620px;}
  .calendar-page .cal-hero-copy {padding:115px 22px 178px;}
  .calendar-page .cal-countdown {bottom:27px;}
  .calendar-page .section-shell {padding:64px 22px;}
  .calendar-page .cal-events {padding-top:42px;}
  .gallery-page .gal-hero {min-height:590px;}
  .gallery-page .gal-hero-copy {padding:108px 22px 57px;}
  .gallery-page .gal-index {padding:65px 22px;}
  .experience-page .exp-hero {height:auto;min-height:640px;}
  .experience-page .exp-hero-content {margin-bottom:63px;}
  .experience-page .exp-manifesto {padding:78px 22px 68px;}
  .experience-page .exp-circuit-cinematic {min-height:570px;}
  .experience-page .exp-coach {padding-block:77px;}
  .experience-page .exp-onboard {padding-block:70px 80px;}
  .experience-page .exp-audience {padding-block:74px;}
  .experience-page .exp-final-cta {min-height:550px;}
  .teamwear-page .tw-hero {min-height:685px;padding-top:123px;padding-bottom:48px;}
  .contact-page .contact-hero {min-height:0;padding-top:114px;padding-bottom:63px;}
}
@media(max-width:600px){
  /* Natural height protects the long About Us copy on narrow phones. */
  .fsr-home .hero.hero-fullbleed,
  .fsr-home .hero.hero-fullbleed .hero-shell {min-height:0;height:auto;}
  .fsr-home .hero.hero-fullbleed .hero-shell {padding-top:120px;padding-bottom:42px;}
  .fsr-home .hero-copy {padding:0;}
  .fsr-home .hero-copy .fsr-home-about {margin-top:12px;}
  .fsr-home .hero-copy .fsr-home-about + .hero-actions {margin-top:16px;}
  .fsr-home .hero-pricing {margin-top:22px;}
  .fsr-home .fsr-sales-section {padding:54px 18px 60px!important;}
  .fsr-home .fsr-sales-heading {gap:17px;margin-bottom:23px;}
  .fsr-sales-page .fsr-range-hero,
  .fsr-sales-page .fsr-product-hero {min-height:0;}
  .fsr-sales-page .fsr-range-shell {padding:128px 22px 58px;}
  .fsr-sales-page .fsr-range-shell h1 {margin-block:19px 19px;}
  .fsr-sales-page .fsr-range-main {padding:59px 20px;}
  .fsr-sales-page .fsr-range-intro {gap:17px;margin-bottom:24px;}
  .fsr-sales-page .fsr-range-line-copy {padding:28px 24px;}
  .fsr-sales-page .fsr-product-info {padding:58px 21px;}
  .fsr-sales-page .fsr-product-feature {margin-bottom:64px;}
  .fsr-sales-page .fsr-hire-poster-picture {padding-top:74px;}
  .fsr-sales-page .fsr-hire-poster-picture img {max-height:none;}
  .fsr-sales-page .fsr-hire-poster-details {padding:22px 20px 26px;}
  .fsr-sales-page .join.fsr-range-cta {margin-bottom:50px;}
  .calendar-page .cal-hero {min-height:590px;}
  .calendar-page .cal-hero-copy {padding:113px 22px 176px;}
  .calendar-page .cal-section-head {margin-bottom:26px;}
  .gallery-page .gal-hero {min-height:0;}
  .gallery-page .gal-hero-copy {padding:120px 22px 67px;}
  .gallery-page .gal-index {padding:58px 20px;}
  .gallery-page .gal-section-head {margin-bottom:24px;}
  .experience-page .exp-hero {min-height:600px;}
  .experience-page .exp-hero-content {margin-bottom:55px;}
  .experience-page .exp-manifesto {padding:66px 20px;}
  .experience-page .exp-map-section,.experience-page .exp-day,
  .experience-page .exp-packages,.experience-page .exp-book,
  .experience-page .exp-info {padding:66px 20px;}
  .experience-page .exp-circuit-cinematic {min-height:520px;}
  .experience-page .exp-circuit-copy {padding-bottom:48px;}
  .experience-page .exp-onboard {padding:65px 20px 73px;}
  .experience-page .exp-coach {padding:67px 20px;}
  .experience-page .exp-audience {padding:67px 20px;}
  .experience-page .exp-emotional {min-height:430px;padding:55px 20px;}
  .experience-page .exp-final-cta {min-height:490px;}
  .teamwear-page .tw-hero {min-height:0;padding-top:126px;padding-bottom:54px;}
  .teamwear-page .tw-cta {margin-top:55px;padding-block:50px;}
  .contact-page .contact-hero {padding:110px 20px 55px;}
  .chassis-page .chassis-spec-section {padding-block:55px!important;}
  .chassis-page .chassis-story {padding-block:63px;}
  body:has(.pb-page) .pb-hero {min-height:0;}
  body:has(.pb-page) .pb-hero-inner {padding-block:65px 48px;}
  body:has(.pb-page) .pb-section {padding-block:57px;}
  body:has(.pb-page) .pb-cta {padding-block:70px;}
}


/* FSR HAASE v6.11.2.33: shared editable-page eyebrow label fix.
   tpm-public.css sizes ALL .eyebrow span elements as 38px x 2px accent
   bars. Our five Site Manager managed public pages wrap editable kicker
   copy in a SECOND span. That label must be allowed its natural text size;
   the FIRST empty span remains the intentional yellow dash. This shared
   correction covers all occurrences, not just the first hero on a page.
   Scope is safe: only labelled, data-fsr-field direct children on public
   pages with this stylesheet are affected. All interactive chassis
   geometry, hotspot positioning and the hero headline remain untouched.
*/
.eyebrow > span[data-fsr-field] {
  display:inline;
  flex:0 1 auto;
  width:auto;
  height:auto;
  min-width:0;
  max-width:100%;
  background:transparent!important;
  line-height:1.45;
  white-space:normal;
  overflow-wrap:break-word;
}
.eyebrow > span:first-child:not([data-fsr-field]) {
  flex:0 0 38px;
  width:38px;
  height:2px;
}
