/* BANÚS — COMPARATIVE HEADING TEST: Futura SuperXP Regular + Manrope
   Based on BANÚS Tilda Sans × Manrope; same content, assets, layout and sizes.
   The font is loaded from assets/fonts/FuturaSuperXP-Regular.otf, supplied by the site owner locally.
   Copy the original font into that path from your own downloaded archive.
   Text/UI remains Manrope. All rights reserved to respective type designers.
 */
@font-face { font-family:"BANUS Trial Display"; src:url("assets/fonts/FuturaSuperXP-Regular.woff2") format("woff2"),url("assets/fonts/FuturaSuperXP-Regular.otf") format("opentype"); font-weight:400; font-style:normal; font-display:swap; }

:root {--heading:"BANUS Trial Display","Manrope","Helvetica Neue",Arial,sans-serif;--text:"BANUS Manrope Local","Manrope",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
body,button,input,select,textarea{font-family:var(--text)}
body{font-weight:400;letter-spacing:.003em}
h1,h2{font-family:var(--heading);font-weight:400;line-height:1.12;letter-spacing:-.037em;font-synthesis:none}
h3,h4,h5,h6{font-family:var(--text);font-weight:500;line-height:1.3;letter-spacing:-.02em}
.hero h1{font-family:var(--heading);font-size:clamp(43px,5.1vw,74px);font-weight:400;letter-spacing:-.043em;line-height:1.07;max-width:1010px;text-wrap:balance}
.intro-heading h2,.course-info h2,.booking-head h2,.fees-intro h2,.facilities-info h2,.membership h2,.location-details h2{font-weight:400;letter-spacing:-.04em;line-height:1.105}
.footer-above h2,.event-feature-copy h2{font-weight:400;letter-spacing:-.037em;line-height:1.15}
.weather-heading h3,.cal-header h3,.contact-form-intro h3{font-family:var(--text);font-weight:500;letter-spacing:-.025em}
.round-option strong{font-family:var(--text);font-weight:300;letter-spacing:-.055em}
.round-choice-price,.tariff-price,.booking-cta-row>div strong,.weather-main>strong,.weather-metrics strong,.weather-day strong,.cal-day,.subpage-price b{font-family:var(--text);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.035em}
.nav a,.eyebrow,.button,.text-link,.hero-explore,.round-choice-title,.field label,.form-heading,.footer-links a,.weather-status,.cal-weekdays,.facility-tabs button,.subpage-ctas a{font-family:var(--text)}
.nav a,.eyebrow{font-weight:500}
.hero-bottom p,.section-description,.fees-intro p,.facilities-info>p,.location-details>p,.subpage-sections p,.subpage .subpage-intro p{font-family:var(--text);font-weight:400}
.subpage .subpage-intro h1{font-family:var(--heading);font-weight:400;line-height:1.1;letter-spacing:-.041em;font-size:clamp(36px,4.4vw,61px)}
.subpage-sections h2,.subpage-faq h2{font-family:var(--heading);font-weight:400;letter-spacing:-.035em}
.services-gallery article{font-family:var(--text);font-weight:500;letter-spacing:-.01em}
.header{grid-template-columns:minmax(0,1fr) 218px minmax(0,1fr)}
.brand{width:218px;height:66px}.brand img{width:200px;max-width:none;max-height:62px;height:auto;object-fit:contain}
@media(max-width:1320px) and (min-width:1121px){.header{grid-template-columns:minmax(0,1fr) 198px minmax(0,1fr)}.brand{width:198px}.brand img{width:188px;max-height:59px}}
@media(max-width:1120px){.header,.header.scrolled{grid-template-columns:1fr 1fr 1fr}.brand{width:202px;height:62px;grid-column:2}.brand img{width:194px;max-height:59px}}
@media(max-width:680px){.brand{width:194px;height:61px}.brand img{width:188px;max-height:58px}.hero h1{font-size:clamp(36px,8.7vw,56px);letter-spacing:-.042em;line-height:1.09}.subpage .subpage-intro h1{font-size:clamp(33px,7.5vw,44px);letter-spacing:-.039em}}
.mobile-nav nav a{font-family:var(--text);font-weight:500;letter-spacing:-.015em}

/* TYPE TEST: Futura SuperXP with deliberately open tracking.
   Tracking is measured in CSS px, not arbitrary app units.
   Existing headlines/content remain untouched. */
h1,h2 { letter-spacing:2px !important; }
@media(max-width:680px){h1,h2{letter-spacing:1.1px!important}}

/* Alternative: headings rendered in uppercase; source HTML retains approved editorial capitalization. */
h1,h2 { text-transform:uppercase; }

/* Variant update: ALL CAPS headings reduced an additional 10% from the -19% build (now 72.9% of original CAPS). Futura tracking, content, layout and logo unchanged. */
.hero h1{font-size:clamp(31.347px,3.7179vw,53.946px)!important}
.intro-heading h2{font-size:clamp(25.11px,2.6568vw,41.31px)!important}
.course-info h2{font-size:clamp(25.92px,2.9889vw,42.12px)!important}
.booking-head h2{font-size:clamp(25.92px,2.6973vw,38.07px)!important}
.fees-intro h2{font-size:clamp(24.3px,2.5515vw,36.45px)!important}
.facilities-info h2{font-size:clamp(25.92px,2.7702vw,39.69px)!important}
.membership h2{font-size:clamp(24.3px,2.6244vw,37.26px)!important}
.location-details h2{font-size:clamp(24.3px,2.3004vw,33.21px)!important}
.event-feature-copy h2{font-size:clamp(19.44px,2.0736vw,29.97px)!important}
.footer-above h2{font-size:clamp(18.63px,2.0736vw,29.97px)!important}
.subpage .subpage-intro h1{font-size:clamp(27.54px,3.7179vw,50.22px)!important}
.subpage-sections h2,.subpage-faq h2{font-size:clamp(17.01px,1.5309vw,24.3px)!important}
.events-shell h2{font-size:clamp(18.63px,1.8225vw,27.54px)!important}
@media(max-width:680px){
  .hero h1{font-size:clamp(26.244px,6.3423vw,40.824px)!important}
  .intro-heading h2{font-size:clamp(21.87px,5.103vw,29.97px)!important}
  .course-info h2{font-size:clamp(22.68px,5.4675vw,32.4px)!important}
  .booking-head h2,.fees-intro h2,.facilities-info h2,.membership h2,.location-details h2{font-size:clamp(22.68px,5.346vw,33.21px)!important}
  .events-shell h2{font-size:21.87px!important}
  .event-feature-copy h2{font-size:21.87px!important}
  .subpage .subpage-intro h1{font-size:clamp(25.92px,5.832vw,34.02px)!important}
}


/* BANÚS — Typography & Header refinements | 17 October 2026
  Source: owner's five annotated screenshots. Only UI/body styles and header adjusted.
  Montserrat 300: original Montserrat Light static font from the owner archive,
  self-hosted as WOFF2, no 275 mapping or synthetic interpolation.
*/
@font-face{font-family:"BANUS Montserrat";src:url("assets/fonts/Montserrat-ExtraLight.woff2") format("woff2");font-style:normal;font-weight:200;font-display:swap}
@font-face{font-family:"BANUS Montserrat";src:url("assets/fonts/Montserrat-Light.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"BANUS Montserrat";src:url("assets/fonts/Montserrat-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"BANUS Montserrat";src:url("assets/fonts/Montserrat-Medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"BANUS Montserrat";src:url("assets/fonts/Montserrat-SemiBold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
:root{--text:"BANUS Montserrat","Montserrat",Arial,sans-serif}
body,button,input,select,textarea{font-family:var(--text);font-weight:300}
/* Normal prose remains mixed-case, as approved. */
p,.hero-bottom p,.section-description,.fees-intro p,.facilities-info>p,.location-details>p,
.subpage-sections p,.subpage .subpage-intro p,.intro-side>p,.event-feature-copy>p,
.weather-approved-copy,.round-explain,.course-info .section-description,
.facility-visual-caption p,.membership p,.events-intro,.event-feature-copy .event-note-readable{
 font-family:var(--text);font-weight:300;}
h3,h4,h5,h6,.weather-heading h3,.cal-header h3,.contact-form-intro h3,
.round-option strong,.round-choice-price,.tariff-price,.booking-cta-row>div strong,
.weather-main>strong,.weather-metrics strong,.weather-day strong,.cal-day,.subpage-price b,
.services-gallery article{font-family:var(--text)}
/* Eyebrows, overlines, functional labels, compact links: keep uppercase. */
.nav a,.eyebrow,.round-choice-title,.holes-label,.hole-overline,.weather-status,
.weather-days-header,.weather-metrics span,.cal-weekdays,.field label,.form-heading,
.booking-note,.calendar-kicker,.photo-corner,.event-note>span,.event-cta,
.course-map-link,.hero-explore,.footer .back-top,.facility-tabs button,
.facility-visual-caption .eyebrow,.nav-cta,.subpage-ctas a,
.staging-hold-label,.services-status,.subpage-hold,.form-step{
 font-family:var(--text);font-weight:300;text-transform:uppercase;
}
/* Keep pre-existing typographic hierarchy on prices and content controls. */
.round-choice-price,.tariff-price,.booking-cta-row>div strong,.weather-main>strong,
.weather-metrics strong,.weather-day strong,.cal-day,.subpage-price b{font-weight:400}
.round-option strong,.weather-heading h3,.cal-header h3,.contact-form-intro h3{font-weight:300}
.field input,.field select,.format-btn,.round-option span,.facility-tabs button,
.footer-links a,.footer-contact a,.footer-contact span,.legal{font-family:var(--text)}
/* Brand SVG: +10% over previously approved enlarged logo; geometry untouched. */
.header{grid-template-columns:minmax(0,1fr) 238px minmax(0,1fr);
 background:linear-gradient(180deg,rgba(12,21,27,.66),rgba(12,21,27,.29))}
.brand{width:238px;height:66px}
.brand img{width:220px;max-width:none;max-height:68px;height:auto;object-fit:contain}
/* Header navigation: +10% sizing; Montserrat upper case. */
.nav a{font-size:11px;font-weight:300;letter-spacing:.055em;text-transform:uppercase;opacity:.94}
/* Booking CTA: height 36px -> 31px, same rectangle/arrow language. */
.nav .nav-cta{min-height:31px;padding:5px 12px;font-size:11px;line-height:1.15;display:inline-flex;align-items:center;justify-content:center}
.nav-cta span{margin-left:8px}
@media(max-width:1320px) and (min-width:1121px){
 .header{grid-template-columns:minmax(0,1fr) 218px minmax(0,1fr);padding:0 3.3%}
 .brand{width:218px}.brand img{width:206.8px;max-height:65px}
 .nav{gap:clamp(7px,.85vw,13px)}
 .nav a,.nav .nav-cta{font-size:10.34px;letter-spacing:.045em}
 .nav .nav-cta{padding:5px 10px}
}
@media(max-width:1120px){
 .header,.header.scrolled{grid-template-columns:1fr 1fr 1fr}
 .brand{grid-column:2;width:222px;height:62px}
 .brand img{width:213.4px;max-height:65px}
 .mobile-nav nav a{font-family:var(--text);font-weight:300;text-transform:uppercase;letter-spacing:.015em}
}
@media(max-width:680px){
 .brand{width:213px;height:61px}
 .brand img{width:206.8px;max-height:64px}
 .mobile-nav nav a{font-size:clamp(20px,5.2vw,27px)}
}

/* Only Montserrat is used for text/UI; preserve variant font for display. */
:root{--heading:"BANUS Trial Display","BANUS Montserrat",Arial,sans-serif}


/* BANÚS — Futura CAPS refinement, 17 Oct 2026.
   Owner-approved design-only changes from prior Montserrat build:
   (1) all large Futura headlines another -7%, maintaining tracking and uppercase;
   (2) true Montserrat Light 300 for all prose/labels/navigation;
   (3) main descriptive prose +10%; header navigation +4 CSS px on wide desktop;
   (4) header background alpha +.10; untouched original SVG logo +10% scale.
*/
/* Base Futura headline scale * 0.93 vs previous exact CSS values. */

.hero h1{font-size:clamp(29.1527px,3.4576vw,50.1698px)!important}
.intro-heading h2{font-size:clamp(23.3523px,2.4708vw,38.4183px)!important}
.course-info h2{font-size:clamp(24.1056px,2.7797vw,39.1716px)!important}
.booking-head h2{font-size:clamp(24.1056px,2.5085vw,35.4051px)!important}
.fees-intro h2{font-size:clamp(22.599px,2.3729vw,33.8985px)!important}
.facilities-info h2{font-size:clamp(24.1056px,2.5763vw,36.9117px)!important}
.membership h2{font-size:clamp(22.599px,2.4407vw,34.6518px)!important}
.location-details h2{font-size:clamp(22.599px,2.1394vw,30.8853px)!important}
.event-feature-copy h2{font-size:clamp(18.0792px,1.9284vw,27.8721px)!important}
.footer-above h2{font-size:clamp(17.3259px,1.9284vw,27.8721px)!important}
.subpage .subpage-intro h1{font-size:clamp(25.6122px,3.4576vw,46.7046px)!important}
.subpage-sections h2,.subpage-faq h2{font-size:clamp(15.8193px,1.4237vw,22.599px)!important}
.events-shell h2{font-size:clamp(17.3259px,1.6949vw,25.6122px)!important}
@media(max-width:632.4px){
  .hero h1{font-size:clamp(24.4069px,5.8983vw,37.9663px)!important}
  .intro-heading h2{font-size:clamp(20.3391px,4.7458vw,27.8721px)!important}
  .course-info h2{font-size:clamp(21.0924px,5.0848vw,30.132px)!important}
  .booking-head h2,.fees-intro h2,.facilities-info h2,.membership h2,.location-details h2{font-size:clamp(21.0924px,4.9718vw,30.8853px)!important}
  .events-shell h2{font-size:20.3391px!important}
  .event-feature-copy h2{font-size:20.3391px!important}
  .subpage .subpage-intro h1{font-size:clamp(24.1056px,5.4238vw,31.6386px)!important}
}


/* Scale additional display H2 classes omitted from the prior title-size pass. */
.divot-copy h2{font-size:clamp(35.34px,4.185vw,56.73px)!important}
.contact-form-intro h2{font-size:clamp(25px,2.6vw,37px)!important}
.events-page-copy h2{font-size:23.25px!important}
.course-page-heading h2{font-size:26px!important}
.course-page-texts h2{font-size:20.46px!important}
@media(max-width:680px){
 .divot-copy h2{font-size:clamp(39.06px,8.37vw,49.29px)!important}
 .course-page-heading h2{font-size:23.25px!important}
 .course-page-texts h2{font-size:19.53px!important}
}
/* All original Montserrat typography renders using native Light 300 at text elements. */
body,button,input,select,textarea{font-weight:300}
p,.hero-bottom p,.section-description,.fees-intro p,.facilities-info>p,.location-details>p,
.subpage-sections p,.subpage .subpage-intro p,.intro-side>p,.event-feature-copy>p,
.weather-approved-copy,.round-explain,.course-info .section-description,
.facility-visual-caption p,.membership p,.events-intro,.event-feature-copy .event-note-readable{
 font-weight:300;
}
/* HEADER: another +10% original logo size (displayed, geometry unchanged). */
.header{
 grid-template-columns:minmax(0,1fr) 262px minmax(0,1fr);
 padding:0 2.5%;gap:10px;
 background:linear-gradient(180deg,rgba(12,21,27,.76),rgba(12,21,27,.39));
}
.header.scrolled{background:rgba(14,26,34,.99)}
.brand{width:262px;height:76px}
.brand img{width:242px;max-height:76px}
/* Full desktop menu enlarged by +4 px relative to old 11px. Keep CAPS. */
.nav{gap:clamp(5px,.65vw,10px)}
.nav a{font-size:15px;letter-spacing:.012em;font-weight:300;opacity:1}
.nav .nav-cta{font-size:14.2px;letter-spacing:.015em;padding:5px 9px;min-height:31px}
.nav-cta span{margin-left:5px}
@media(max-width:1390px) and (min-width:1221px){
 .header{grid-template-columns:minmax(0,1fr) 239px minmax(0,1fr);padding:0 2%}
 .brand{width:239px;height:72px}.brand img{width:227.48px;max-height:72px}
 .nav{gap:6px}
 .nav a{font-size:14.1px;letter-spacing:.006em}
 .nav .nav-cta{font-size:13.6px;padding:5px 6px;letter-spacing:0}
}
@media(max-width:1220px){
 /* Larger readable links would collide with the centered logo; mobile navigation is safer. */
 .nav{display:none}
 .header,.header.scrolled{grid-template-columns:1fr 1fr 1fr;padding:0 24px;height:76px}
 .brand{width:244px;height:70px;grid-column:2}.brand img{width:234.74px;max-height:70px}
 .mobile-toggle{display:flex;grid-column:3}
 .mobile-nav nav a{font-size:clamp(25px,4.3vw,40px);font-weight:300}
}
@media(max-width:680px){
 .header,.header.scrolled{padding:0 18px;height:70px}
 .brand{width:234px;height:68px}.brand img{width:227.48px;max-height:68px}
 .mobile-nav nav a{font-size:clamp(23px,5.5vw,29px)}
}
@media(max-width:370px){.brand{width:202px}.brand img{width:200px}}
