/* Generated from elementor-build/bl.src.css by build_css.py. Edit the source. */
/* =========================================================
   Beedles Lake Golf Club: design system
   Source for bl-components/assets/css/bl.css (python3 build_css.py).
   Everything after @end-globals is prefixed `.bl:not(#_)` so it outranks
   Elementor's widget rules and the Kit without !important.
   Layout and motion: the Trexon concept (~/Desktop/Beedles/trexon).
   Colour: the club's own scheme, sage #4E746F with light greys and white,
   deepened for the dark bands.
   ========================================================= */

:root {
  --bl-sage: #4f746f;          /* the club's green: top bar, sage bands, buttons (white text on it 5:1) */
  --bl-black: #111312;         /* black bands: clubhouse, footer, menu */
  --bl-grey: #f3f4f2;          /* pale band between white sections */
  --bl-sage-2: #5f8a84;
  --bl-sage-ink: #3f625d;      /* sage for small text on the pale background (5.9:1) */
  --bl-deep: #263f3b;          /* dark bands: the sage deepened */
  --bl-deepest: #111312;       /* footer = black */
  --bl-mist: #e2eae8;          /* pale sage tint */
  --bl-light: #a9c5bf;         /* light sage, accents on dark */
  --bl-bg: #ffffff;            /* page background */
  --bl-card: #ffffff;
  --bl-ink: #1c1c1c;           /* the live site's heading colour */
  --bl-text: #3b4341;
  --bl-muted: #616b68;
  --bl-line: #b7c2bf;
  --bl-on-dark: #f3f6f5;
  --bl-on-dark-soft: #c8d5d2;
  --bl-line-dark: rgba(243, 246, 245, .4);

  --bl-serif: 'Gilda Display', 'Times New Roman', serif;
  --bl-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bl-wrap: 1240px;
  --bl-gutter: clamp(20px, 5vw, 100px);
  --bl-sec: clamp(80px, 9vw, 130px);
  --bl-ease: cubic-bezier(.22, 1, .36, 1);
}

/* @globals */
.bl *,
.bl *::before,
.bl *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.bl {
  margin: 0;
  background: var(--bl-bg);
  color: var(--bl-text);
  font-family: var(--bl-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.bl.is-locked { overflow: hidden; }
.bl img { display: block; max-width: 100%; height: auto; }
.bl a { color: inherit; text-decoration: none; }
.bl a:hover,
.bl a:active { color: inherit; }
.bl :where(button,
.bl [type=button],
.bl [type=submit]) { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; cursor: pointer; padding: 0; text-transform: none; }
.bl :where(button,
.bl [type=button],
.bl [type=submit]):where(:hover,
.bl :focus) { background: none; color: inherit; }
.bl h1,
.bl h2,
.bl h3,
.bl h4,
.bl p,
.bl figure { margin: 0; }
.bl ::selection { background: var(--bl-sage); color: #fff; }
.bl :focus-visible { outline: 2px solid var(--bl-sage); outline-offset: 3px; }
.bl input,
.bl select,
.bl textarea { font-family: inherit; }
/* @end-globals */

.bl:not(#_) .ico { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.bl:not(#_) .ico--fill { fill: currentColor; stroke: none; }
.bl:not(#_) .skip:not(:focus),
.bl:not(#_) .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bl:not(#_) .skip:focus { position: fixed; top: 12px; left: 12px; z-index: 999; background: #fff; color: var(--bl-ink); padding: 10px 16px; }

.bl:not(#_) .container { width: 100%; max-width: calc(var(--bl-wrap) + var(--bl-gutter) * 2); margin-inline: auto; padding-inline: var(--bl-gutter); }
.bl:not(#_) .section { position: relative; padding-block: var(--bl-sec); }
.bl:not(#_) .section--dark { background: var(--bl-deep); color: var(--bl-on-dark); }
.bl:not(#_) .section--sage { background: var(--bl-sage); color: #fff; }
.bl:not(#_) .section--black { background: var(--bl-black); color: var(--bl-on-dark); }
.bl:not(#_) .section--grey { background: var(--bl-grey); }
.bl:not(#_) .section--sage,
.bl:not(#_) .section--black { --bl-on-dark-soft: rgba(255, 255, 255, .84); --bl-line-dark: rgba(255, 255, 255, .35); }
.bl:not(#_) .section--sage .eyebrow { color: rgba(255, 255, 255, .9); }
.bl:not(#_) .section--sage .h2,
.bl:not(#_) .section--black .h2,
.bl:not(#_) .section--sage .sec-head__aside,
.bl:not(#_) .section--black .sec-head__aside { color: #fff; }
.bl:not(#_) .section--sage .btn--light .elementor-button::before { background: var(--bl-black); }
.bl:not(#_) .section--sage .btn--light .elementor-button:hover { color: #fff; }
.bl:not(#_) .section--flush-top { padding-top: 0; }

/* ---------- Type ---------- */
.bl:not(#_) .h2 { font: 400 clamp(38px, 4.6vw, 64px)/1.2 var(--bl-serif); letter-spacing: -.01em; color: var(--bl-ink); }
.bl:not(#_) .section--dark .h2 { color: var(--bl-on-dark); }
.bl:not(#_) .l-mask { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.bl:not(#_) .l-inner { display: block; }
.bl:not(#_) .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 16px; line-height: 1.4; margin-bottom: 14px; color: var(--bl-sage-ink); }
.bl:not(#_) .eyebrow::before { content: ''; display: block; width: 48px; height: 1px; background: currentColor; transform-origin: left; flex: none; }
.bl:not(#_) .section--dark .eyebrow,
.bl:not(#_) .hero .eyebrow,
.bl:not(#_) .page-hero .eyebrow { color: var(--bl-light); }
.bl:not(#_) .lead { font-size: 18px; line-height: 1.55; color: var(--bl-text); max-width: 540px; }
.bl:not(#_) .lead a,
.bl:not(#_) .prose a,
.bl:not(#_) .faq__a a,
.bl:not(#_) .status__text a { color: var(--bl-sage-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bl:not(#_) .lead a:hover,
.bl:not(#_) .prose a:hover,
.bl:not(#_) .faq__a a:hover { color: var(--bl-ink); }

/* =========================================================
   Elementor bridge (from the Cleveland Western / Mariner builds)
   ========================================================= */
.bl:not(#_) :where(.e-con,
.bl:not(#_) .e-con-inner) {
  --container-default-padding-top: 0; --container-default-padding-right: 0;
  --container-default-padding-bottom: 0; --container-default-padding-left: 0;
  --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
  --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px; --min-height: 0;
  --margin-top: 0; --margin-bottom: 0; --margin-left: 0; --margin-right: 0;
  --flex-wrap: nowrap; flex-wrap: nowrap;
  --width: auto;
  position: relative; max-width: none;
  transition: none; /* Elementor transitions transform on containers, which fights GSAP */
}
.bl:not(#_) :where(.e-con.e-con--empty) { min-height: 0; }
.bl:not(#_) :where(.elementor-widget) { max-width: none; margin: 0; }
.bl:not(#_) :where(.elementor-element) { --widgets-spacing: 0px; transition: none; }
.bl:not(#_) :where([data-elementor-type] > .e-con) { width: 100%; }
.bl:not(#_) .elementor.elementor .e-con > .elementor-widget.elementor-widget { max-width: var(--bl-max, 100%); }
/* Elementor containers are flex COLUMNS by default: every row in the design says so explicitly. */
.bl:not(#_) .bl-topbar__inner,
.bl:not(#_) .bl-header__row,
.bl:not(#_) .hero__actions,
.bl:not(#_) .status__actions,
.bl:not(#_) .bl-cta__actions,
.bl:not(#_) .bl-footer__bottom,
.bl:not(#_) .affil,
.bl:not(#_) .strip__track { flex-direction: row; }
.bl:not(#_) .strip__track > .elementor-widget,
.bl:not(#_) .affil > .elementor-widget { flex: none; width: auto; }
.bl:not(#_) .elementor-heading-title { color: inherit; font: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; padding: 0; margin: 0; }
.bl:not(#_) :where(.elementor-widget-text-editor) { color: inherit; font: inherit; }
.bl:not(#_) .elementor-widget-text-editor p { margin: 0; }
.bl:not(#_) .elementor-widget-text-editor p + p { margin-top: 1em; }
.bl:not(#_) .elementor-widget-image { line-height: 0; }
.bl:not(#_) .elementor-widget-image img { height: auto; max-width: 100%; border-radius: 0; box-shadow: none; vertical-align: top; }
.bl:not(#_) .elementor-widget-html,
.bl:not(#_) .elementor-widget-shortcode { width: 100%; }
.bl:not(#_) .media-cover { position: absolute; inset: 0; }
.bl:not(#_) .media-cover > .elementor-widget-container,
.bl:not(#_) .media-cover a { display: block; width: 100%; height: 100%; }
.bl:not(#_) .media-cover img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Buttons: stock Button widget, classes on the wrapper ---------- */
.bl:not(#_) .elementor-widget.btn { display: block; height: auto; padding: 0; border: 0; background: none; box-shadow: none; width: auto; align-self: flex-start; }
.bl:not(#_) .btn .elementor-button-wrapper { display: block; }
.bl:not(#_) .btn .elementor-button,
.bl:not(#_) a.btn {
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex; align-items: center; gap: 10px;
  height: 54px; padding: 0 26px; border-radius: 100px;
  font: 400 17px/1 var(--bl-sans); white-space: nowrap;
  border: 1px solid transparent; background: none;
  transition: color .45s var(--bl-ease), border-color .45s var(--bl-ease);
}
.bl:not(#_) .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; flex-direction: row-reverse; }
.bl:not(#_) .elementor-button-text { flex: none; }
.bl:not(#_) .elementor-button-icon { display: inline-flex; font-size: 19px; margin: 0; transition: translate .45s var(--bl-ease); }
.bl:not(#_) .elementor-button-icon svg { width: 1em; height: 1em; fill: none; stroke: currentColor; }
.bl:not(#_) .btn .elementor-button::before,
.bl:not(#_) a.btn::before {
  content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
  transform: translateY(101%); transition: transform .5s var(--bl-ease);
}
.bl:not(#_) .btn .elementor-button:hover::before,
.bl:not(#_) a.btn:hover::before { transform: translateY(0); }
.bl:not(#_) .btn .elementor-button:hover .elementor-button-icon,
.bl:not(#_) a.btn:hover .ico { translate: 4px 0; }
.bl:not(#_) a.btn .ico { font-size: 19px; transition: translate .45s var(--bl-ease); }

.bl:not(#_) .btn--light .elementor-button,
.bl:not(#_) a.btn--light { background: #fff; color: var(--bl-ink); }
.bl:not(#_) .btn--light .elementor-button::before,
.bl:not(#_) a.btn--light::before { background: var(--bl-sage); }
.bl:not(#_) .side-card--dark a.btn--light::before,
.bl:not(#_) .home-next .btn--light .elementor-button::before { background: var(--bl-black); }
.bl:not(#_) .btn--light .elementor-button:hover,
.bl:not(#_) a.btn--light:hover,
.bl:not(#_) .btn--light .elementor-button:focus { color: #fff; }
.bl:not(#_) .btn--sage .elementor-button,
.bl:not(#_) a.btn--sage { background: var(--bl-sage); color: #fff; }
.bl:not(#_) .btn--sage .elementor-button::before,
.bl:not(#_) a.btn--sage::before { background: var(--bl-black); }
.bl:not(#_) .btn--sage .elementor-button:hover,
.bl:not(#_) a.btn--sage:hover,
.bl:not(#_) .btn--sage .elementor-button:focus { color: #fff; }
.bl:not(#_) .btn--outline .elementor-button,
.bl:not(#_) a.btn--outline { border-color: var(--bl-ink); color: var(--bl-ink); }
.bl:not(#_) .btn--outline .elementor-button::before,
.bl:not(#_) a.btn--outline::before { background: var(--bl-ink); }
.bl:not(#_) .btn--outline .elementor-button:hover,
.bl:not(#_) a.btn--outline:hover,
.bl:not(#_) .btn--outline .elementor-button:focus { color: var(--bl-bg); }
.bl:not(#_) .btn--outline-light .elementor-button,
.bl:not(#_) a.btn--outline-light { border-color: var(--bl-on-dark); color: var(--bl-on-dark); }
.bl:not(#_) .btn--outline-light .elementor-button::before,
.bl:not(#_) a.btn--outline-light::before { background: var(--bl-on-dark); }
.bl:not(#_) .btn--outline-light .elementor-button:hover,
.bl:not(#_) a.btn--outline-light:hover,
.bl:not(#_) .btn--outline-light .elementor-button:focus { color: var(--bl-deep); }
.bl:not(#_) .btn--sm .elementor-button,
.bl:not(#_) a.btn--sm { height: 44px; padding: 0 20px; font-size: 15px; }

.bl:not(#_) .circle {
  display: grid; place-items: center; flex: none;
  width: 48px; height: 48px; border-radius: 50%;
  border: 1px solid currentColor; font-size: 22px;
  transition: background .4s var(--bl-ease), color .4s var(--bl-ease), border-color .4s var(--bl-ease);
}
.bl:not(#_) .circle .ico { transition: rotate .45s var(--bl-ease); }

/* =========================================================
   Header (Elementor template "BL Header", rendered on every page)
   ========================================================= */
.bl:not(#_) .bl-header {
  position: fixed; inset: 0 0 auto; z-index: 60; color: #fff;
  transition: background .5s var(--bl-ease), box-shadow .5s var(--bl-ease);
}
body.bl:not(#_).admin-bar .bl-header { top: 32px; }
/* In the Elementor editor the header scrolls away with the page instead of floating over what is being edited. */
body.bl:not(#_).elementor-editor-active .bl-header { position: absolute; }
.bl:not(#_) .bl-topbar { background: var(--bl-sage); font-size: 13.5px; letter-spacing: .01em; overflow: hidden; max-height: 44px; transition: max-height .5s var(--bl-ease); }
.bl:not(#_) .bl-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 38px; }
.bl:not(#_) .bl-topbar__info b { font-weight: 500; }
.bl:not(#_) .bl-topbar { max-height: 52px; }
.bl:not(#_) .bl-topbar__inner { min-height: 48px; }
.bl:not(#_) .bl-topbar__inner > .elementor-widget { width: auto; flex: none; }
.bl:not(#_) .bl-topbar__books { display: flex; align-items: center; gap: 8px; }
.bl:not(#_) a.btn--topbar { height: 32px; padding: 0 16px; font-size: 13.5px; gap: 8px; border-color: rgba(255, 255, 255, .6); color: #fff; }
.bl:not(#_) a.btn--topbar::before { background: #fff; }
.bl:not(#_) a.btn--topbar:hover,
.bl:not(#_) a.btn--topbar:focus { color: var(--bl-deep); }
.bl:not(#_) a.btn--topbar .ico { font-size: 15px; }
.bl:not(#_) a.btn--topbar-solid { background: #fff; color: var(--bl-deep); border-color: #fff; }
.bl:not(#_) a.btn--topbar-solid::before { background: var(--bl-deep); }
.bl:not(#_) a.btn--topbar-solid:hover,
.bl:not(#_) a.btn--topbar-solid:focus { color: #fff; }
.bl:not(#_) .bl-topbar__info a { color: rgba(255, 255, 255, .92); }
.bl:not(#_) .bl-topbar__info a + a { padding-left: 26px; border-left: 1px solid rgba(255, 255, 255, .25); }
.bl:not(#_) .bl-topbar__info { display: flex; align-items: center; gap: 26px; }
.bl:not(#_) .bl-topbar__info a,
.bl:not(#_) .bl-topbar__info span { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.bl:not(#_) .bl-topbar__info a:hover { color: var(--bl-mist); text-decoration: underline; text-underline-offset: 3px; }
.bl:not(#_) .bl-topbar .ico { font-size: 15px; opacity: .85; }
.bl:not(#_) .bl-search { display: flex; align-items: center; gap: 8px; }
.bl:not(#_) .bl-search input {
  width: 190px; height: 28px; padding: 0 12px; border-radius: 100px; border: 1px solid rgba(255, 255, 255, .5);
  background: rgba(255, 255, 255, .12); color: #fff; font-size: 13px; transition: width .4s var(--bl-ease), background .3s;
}
.bl:not(#_) .bl-search input::placeholder { color: rgba(255, 255, 255, .75); }
.bl:not(#_) .bl-search input:focus { outline: none; width: 240px; background: rgba(255, 255, 255, .22); }
.bl:not(#_) .bl-search button { display: grid; place-items: center; width: 28px; height: 28px; font-size: 16px; }

.bl:not(#_) .bl-header__main { transition: padding .5s var(--bl-ease); padding-block: 22px; }
.bl:not(#_) .bl-header__row { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.bl:not(#_) .bl-header.is-scrolled { background: rgba(17, 19, 18, .94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 10px 30px rgba(0, 0, 0, .12); }
.bl:not(#_) .bl-header.is-scrolled .bl-topbar { max-height: 0; }
.bl:not(#_) .bl-header.is-scrolled .bl-header__main { padding-block: 12px; }
.bl:not(#_) .bl-header.is-menu .bl-topbar { max-height: 0; }
.bl:not(#_) .bl-header.is-menu { background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }

.bl:not(#_) .bl-logo { display: inline-flex; align-items: center; gap: 14px; color: #fff; }
.bl:not(#_) .bl-logo__mark { width: 58px; height: 58px; flex: none; transition: width .5s var(--bl-ease), height .5s var(--bl-ease); }
.bl:not(#_) .bl-logo__mark svg { width: 100%; height: 100%; display: block; }
.bl:not(#_) .bl-logo__word { font: 400 25px/1.02 var(--bl-serif); letter-spacing: .01em; }
.bl:not(#_) .bl-logo__word small { display: block; font-size: .72em; letter-spacing: .02em; opacity: .9; }
.bl:not(#_) .bl-header.is-scrolled .bl-logo__mark { width: 46px; height: 46px; }

.bl:not(#_) .bl-nav__list { display: flex; align-items: center; gap: 16px; margin: 0; padding: 0; list-style: none; }
.bl:not(#_) .bl-nav__item { position: relative; }
.bl:not(#_) .bl-nav__item > a { position: relative; display: inline-flex; align-items: center; gap: 3px; padding: 12px 0; font-size: 14px; font-weight: 400; color: #fff; white-space: nowrap; text-shadow: 0 1px 10px rgba(0, 0, 0, .3); }
.bl:not(#_) .bl-nav__item > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 6px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .45s var(--bl-ease); }
.bl:not(#_) .bl-nav__item:hover > a::after,
.bl:not(#_) .bl-nav__item:focus-within > a::after,
.bl:not(#_) .bl-nav__item.is-current > a::after,
.bl:not(#_) .bl-nav__item > a[aria-current]::after { transform: scaleX(1); }
.bl:not(#_) .bl-nav__chev { font-size: 12px; opacity: .75; transition: rotate .4s var(--bl-ease); }
.bl:not(#_) .bl-nav__item:hover .bl-nav__chev,
.bl:not(#_) .bl-nav__item:focus-within .bl-nav__chev { rotate: 180deg; }
.bl:not(#_) .bl-nav__drop {
  position: absolute; top: 100%; left: -20px; z-index: 5; min-width: 240px; margin: 0; padding: 10px 0; list-style: none;
  background: #fff; border-radius: 6px; box-shadow: 0 24px 50px rgba(10, 20, 18, .22);
  opacity: 0; visibility: hidden; translate: 0 10px; transition: opacity .3s var(--bl-ease), translate .4s var(--bl-ease), visibility .3s;
}
.bl:not(#_) .bl-nav__item:hover .bl-nav__drop,
.bl:not(#_) .bl-nav__item:focus-within .bl-nav__drop { opacity: 1; visibility: visible; translate: 0 0; }
.bl:not(#_) .bl-nav__drop a { display: block; padding: 9px 20px; font-size: 14.5px; color: var(--bl-text); transition: background .25s, color .25s, padding .35s var(--bl-ease); }
.bl:not(#_) .bl-nav__drop a:hover,
.bl:not(#_) .bl-nav__drop a:focus { background: var(--bl-mist); color: var(--bl-deep); padding-left: 26px; }
.bl:not(#_) .bl-nav__drop a[aria-current] { color: var(--bl-sage-ink); font-weight: 500; }
.bl:not(#_) .bl-nav__item:last-child .bl-nav__drop,
.bl:not(#_) .bl-nav__item:nth-last-child(2) .bl-nav__drop { left: auto; right: -20px; }
.bl:not(#_) .menu-host { display: flex; align-items: center; gap: 20px; }
.bl:not(#_) .bl-actions { display: none; align-items: center; gap: 12px; }
.bl:not(#_) .bl-actions > * { flex: none; }
.bl:not(#_) .menu-host,
.bl:not(#_) .logo-host { flex: none; width: auto; }
.bl:not(#_) .bl-actions .btn--book { display: none; }
.bl:not(#_) a.btn--glass { border-color: rgba(255, 255, 255, .7); color: #fff; }
.bl:not(#_) a.btn--glass::before { background: #fff; }
.bl:not(#_) a.btn--glass:hover,
.bl:not(#_) a.btn--glass:focus { color: var(--bl-deep); }
.bl:not(#_) .burger { position: relative; display: inline-flex; align-items: center; gap: 12px; height: 44px; padding: 0 0 0 10px; color: #fff; z-index: 2; font-size: 15px; }
.bl:not(#_) .burger__lines { position: relative; width: 28px; height: 18px; }
.bl:not(#_) .burger__lines span { position: absolute; right: 0; height: 2px; background: currentColor; border-radius: 2px; transition: transform .5s var(--bl-ease), width .5s var(--bl-ease), opacity .3s; }
.bl:not(#_) .burger__lines span:nth-child(1) { top: 0; width: 28px; }
.bl:not(#_) .burger__lines span:nth-child(2) { top: 8px; width: 19px; }
.bl:not(#_) .burger__lines span:nth-child(3) { top: 16px; width: 28px; }
.bl:not(#_) .burger:hover .burger__lines span:nth-child(2) { width: 28px; }
.bl:not(#_) .burger[aria-expanded="true"] .burger__lines span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.bl:not(#_) .burger[aria-expanded="true"] .burger__lines span:nth-child(2) { opacity: 0; }
.bl:not(#_) .burger[aria-expanded="true"] .burger__lines span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* ---------- Menu overlay ---------- */
.bl:not(#_) .bl-menu { position: fixed; inset: 0; z-index: 55; color: var(--bl-on-dark); visibility: hidden; pointer-events: none; }
.bl:not(#_) .bl-menu.is-open { visibility: visible; pointer-events: auto; }
.bl:not(#_) .bl-menu__bg { position: absolute; inset: 0; background: var(--bl-deepest); clip-path: inset(0 0 100% 0); }
.bl:not(#_) .bl-menu.no-anim .bl-menu__bg { clip-path: none; }
.bl:not(#_) .bl-menu__scroll { position: relative; height: 100%; overflow-y: auto; overscroll-behavior: contain; }
.bl:not(#_) .bl-menu__inner { display: grid; grid-template-columns: 1fr 300px; gap: 60px; padding-top: 150px; padding-bottom: 60px; min-height: 100%; }
body.bl:not(#_).admin-bar .bl-menu__inner { padding-top: 182px; }
.bl:not(#_) .bl-menu__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 40px; align-content: start; }
.bl:not(#_) .bl-menu__head > a { display: inline-flex; align-items: baseline; gap: 12px; font: 400 clamp(26px, 2.5vw, 34px)/1.15 var(--bl-serif); transition: color .4s, translate .5s var(--bl-ease); }
.bl:not(#_) .bl-menu__head > a span { font: 400 12px var(--bl-sans); color: var(--bl-light); }
.bl:not(#_) .bl-menu__head > a:hover,
.bl:not(#_) .bl-menu__head > a[aria-current] { color: var(--bl-light); translate: 8px 0; }
.bl:not(#_) .bl-menu__sub { display: grid; gap: 6px; margin-top: 12px; padding-left: 28px; }
.bl:not(#_) .bl-menu__sub a { font-size: 15px; color: var(--bl-on-dark-soft); transition: color .3s; }
.bl:not(#_) .bl-menu__sub a:hover,
.bl:not(#_) .bl-menu__sub a[aria-current] { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.bl:not(#_) .bl-menu__toggle { display: none; }
.bl:not(#_) .bl-menu__aside { display: grid; align-content: start; gap: 6px; font-size: 16px; color: var(--bl-on-dark-soft); }
.bl:not(#_) .bl-menu__aside a:hover { color: #fff; }
.bl:not(#_) .bl-menu__label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--bl-light); margin-top: 26px; }
.bl:not(#_) .bl-menu__label:first-child { margin-top: 0; }
.bl:not(#_) .bl-menu__books { display: grid; gap: 10px; margin-top: 30px; }
.bl:not(#_) .bl-menu__books a.btn { justify-content: center; }
.bl:not(#_) .bl-menu .bl-menu__group,
.bl:not(#_) .bl-menu .bl-menu__aside > * { opacity: 0; }
.bl:not(#_) .bl-menu.no-anim .bl-menu__group,
.bl:not(#_) .bl-menu.no-anim .bl-menu__aside > * { opacity: 1; }

/* =========================================================
   Home hero
   ========================================================= */
.bl:not(#_) .hero { position: relative; overflow: hidden; min-height: max(720px, 100svh); max-height: 1060px; display: flex; flex-direction: column; justify-content: center; align-items: stretch; color: #fff; background: var(--bl-deepest); }
.bl:not(#_) .hero__media { position: absolute; inset: 0; overflow: hidden; }
.bl:not(#_) .hero__img { position: absolute; inset: 0; }
.bl:not(#_) .hero__img img { width: 100%; height: 118%; object-fit: cover; object-position: 50% 45%; filter: saturate(.95); }
/* The shade is an HTML widget: its wrapper is position:relative with no height and would trap it (0px tall). */
.bl:not(#_) .hero > .elementor-widget,
.bl:not(#_) .page-hero > .elementor-widget { position: static; }
.bl:not(#_) .hero__shade {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(12, 22, 20, .62) 0%, rgba(12, 22, 20, .2) 18%, rgba(12, 22, 20, 0) 34%),
    linear-gradient(90deg, rgba(12, 22, 20, .74) 0%, rgba(12, 22, 20, .52) 34%, rgba(12, 22, 20, .12) 62%, rgba(12, 22, 20, 0) 100%),
    linear-gradient(0deg, rgba(12, 22, 20, .55) 0%, rgba(12, 22, 20, .12) 30%, rgba(12, 22, 20, 0) 50%);
}
.bl:not(#_) .hero__content { position: relative; z-index: 1; width: 100%; padding-top: 230px; padding-bottom: 80px; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: end; }
.bl:not(#_) .hero__copy { min-width: 0; }
.bl:not(#_) .hero__title { font: 400 clamp(38px, 5.6vw, 80px)/1.1 var(--bl-serif); letter-spacing: -.01em; max-width: 900px; text-shadow: 0 2px 28px rgba(0, 0, 0, .28); }
.bl:not(#_) .hero__text { --bl-max: 580px; max-width: 580px; margin-top: 36px; font-size: 18px; line-height: 1.7; color: #fff; text-shadow: 0 1px 14px rgba(0, 0, 0, .4); }
.bl:not(#_) .hero .eyebrow { margin-bottom: 26px; color: rgba(255, 255, 255, .88); text-shadow: 0 1px 10px rgba(0, 0, 0, .4); }
.bl:not(#_) .hero .btn--outline-light .elementor-button { background: rgba(12, 22, 20, .35); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.bl:not(#_) .hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 52px; }
.bl:not(#_) .hero__scroll { position: absolute; right: var(--bl-gutter); bottom: 40px; width: 1px; height: 70px; background: rgba(255, 255, 255, .25); overflow: hidden; z-index: 1; }
.bl:not(#_) .hero__scroll span { position: absolute; inset: 0; background: #fff; animation: bl-drip 2.4s var(--bl-ease) infinite; }
@keyframes bl-drip { 0% { transform: translateY(-100%); } 60%, 100% { transform: translateY(100%); } }

/* Course status card in the hero */
.bl:not(#_) .status-card {
  display: block; padding: 24px 26px; border-radius: 6px;
  background: rgba(16, 28, 26, .82); border: 1px solid rgba(255, 255, 255, .16); box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  transition: background .4s var(--bl-ease), border-color .4s;
}
.bl:not(#_) .status-card:hover { background: rgba(16, 28, 26, .92); border-color: rgba(255, 255, 255, .32); }
.bl:not(#_) .status-card__label { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #cfe3dd; }
.bl:not(#_) .status-card__text { display: block; margin-top: 12px; font: 400 22px/1.3 var(--bl-serif); color: #fff; }
.bl:not(#_) .status-card__more { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 14px; color: var(--bl-mist); }
.bl:not(#_) .status-card__more .ico { transition: translate .4s var(--bl-ease); }
.bl:not(#_) .status-card:hover .status-card__more .ico { translate: 4px 0; }
.bl:not(#_) .live-dot { --bl-dot: #7fd39b; position: relative; width: 9px; height: 9px; border-radius: 50%; background: var(--bl-dot); flex: none; }
.bl:not(#_) .live-dot::after { content: ''; position: absolute; inset: -5px; border-radius: 50%; border: 1px solid var(--bl-dot); animation: bl-ping 2.2s var(--bl-ease) infinite; }
body.bl:not(#_).cs-partial .live-dot,
body.bl:not(#_).cs-partial .live-dot::after { --bl-dot: #f0b13c; }
body.bl:not(#_).cs-closed .live-dot,
body.bl:not(#_).cs-closed .live-dot::after { --bl-dot: #e5554f; }
/* Course status, full form (home status band) */
.bl:not(#_) .cs-headline { font: 400 clamp(26px, 2.6vw, 38px)/1.3 var(--bl-serif); color: var(--bl-ink); }
.bl:not(#_) .cs-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.bl:not(#_) .cs-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: var(--bl-grey); font: 400 16px/1.3 var(--bl-sans); color: var(--bl-ink); }
.bl:not(#_) .cs-list b { display: inline-flex; align-items: center; gap: 7px; font-weight: 500; font-size: 14px; }
.bl:not(#_) .cs-list b::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.bl:not(#_) .cs-list .is-open b { color: var(--bl-sage-ink); }
.bl:not(#_) .cs-list .is-closed b { color: #b3332e; }
.bl:not(#_) .cs-list .is-part b { color: #8a5a00; }
.bl:not(#_) .cs-note { margin-top: 22px; font: 400 17px/1.6 var(--bl-sans); color: var(--bl-text); }
.bl:not(#_) .cs-note p + p { margin-top: .6em; }
@media (max-width: 720px) { .bl:not(#_) .cs-list { grid-template-columns: minmax(0, 1fr); } }
@keyframes bl-ping { 0% { transform: scale(.4); opacity: 1; } 80%, 100% { transform: scale(1.4); opacity: 0; } }

/* =========================================================
   About
   ========================================================= */
.bl:not(#_) .about__grid { display: grid; grid-template-columns: minmax(0, 1fr) 505px; gap: 60px; align-items: start; }
.bl:not(#_) .about__copy { min-width: 0; }
.bl:not(#_) .about .h2 { margin-bottom: 24px; }
.bl:not(#_) .about .btn { margin-top: 44px; }
.bl:not(#_) .stats { display: flex; gap: clamp(28px, 4.6vw, 72px); margin: 80px 0 0; padding: 0; list-style: none; }
.bl:not(#_) .stats li { min-width: 0; }
.bl:not(#_) .stats strong { display: block; font: 400 clamp(46px, 4.9vw, 70px)/1 var(--bl-serif); letter-spacing: -.01em; color: var(--bl-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.bl:not(#_) .stats strong small { font-size: .5em; margin-left: .12em; }
.bl:not(#_) .stats span.stats__label { display: block; margin-top: 18px; font-size: 15px; text-transform: uppercase; letter-spacing: .02em; color: var(--bl-muted); }
.bl:not(#_) .about__media { position: relative; aspect-ratio: 505 / 573; overflow: hidden; }

/* Image frames */
.bl:not(#_) .frame { position: relative; overflow: hidden; }
.bl:not(#_) .frame .elementor-widget-image,
.bl:not(#_) .frame .elementor-widget-image > .elementor-widget-container { position: absolute; inset: 0; }
.bl:not(#_) .frame img { width: 100%; height: 100%; object-fit: cover; }
.bl:not(#_) .frame--parallax img { height: 116%; margin-top: -8%; }

/* ---------- Section heads ---------- */
.bl:not(#_) .sec-head { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: center; margin-bottom: 70px; }
.bl:not(#_) .sec-head--end { align-items: end; }
.bl:not(#_) .sec-head__aside { font-size: 18px; line-height: 1.45; color: var(--bl-text); }
.bl:not(#_) .section--dark .sec-head__aside { color: var(--bl-on-dark); }
.bl:not(#_) .sec-head__aside .btn { margin-top: 26px; }
.bl:not(#_) .sec-head__aside p { margin: 0; }

/* =========================================================
   Courses & facilities cards
   ========================================================= */
.bl:not(#_) .rooms__row { display: grid; gap: 20px; }
.bl:not(#_) .rooms__row + .rooms__row { margin-top: 20px; }
.bl:not(#_) .rooms__row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bl:not(#_) .rooms__row--2 { grid-template-columns: 505fr 715fr; }
.bl:not(#_) .room { position: relative; display: block; overflow: hidden; height: clamp(340px, 33vw, 476px); color: #fff; background: var(--bl-deepest); }
.bl:not(#_) .room .room__img { position: absolute; inset: 0; }
.bl:not(#_) .room .room__img img { width: 100%; height: 100%; object-fit: cover; transition: scale 1.1s var(--bl-ease); }
.bl:not(#_) .room::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(14, 26, 24, .82) 0%, rgba(14, 26, 24, .28) 34%, rgba(14, 26, 24, 0) 58%); }
.bl:not(#_) .room__info { position: absolute; left: 24px; right: 90px; bottom: 26px; z-index: 1; display: grid; gap: 6px; }
.bl:not(#_) .room__name { font: 500 24px/1.2 var(--bl-sans); }
.bl:not(#_) .room__price { font-size: 17px; color: rgba(255, 255, 255, .9); }
.bl:not(#_) .room__go { position: absolute; right: 24px; bottom: 28px; z-index: 1; width: auto; }
.bl:not(#_) .room__go .circle { background: #fff; color: var(--bl-ink); border-color: #fff; scale: .4; opacity: 0; transition: scale .5s var(--bl-ease), opacity .4s; }
.bl:not(#_) .room:hover .room__img img,
.bl:not(#_) .room:focus-visible .room__img img { scale: 1.07; }
.bl:not(#_) .room:hover .room__go .circle,
.bl:not(#_) .room:focus-visible .room__go .circle { scale: 1; opacity: 1; }
.bl:not(#_) .room__tag { position: absolute; top: 20px; left: 20px; z-index: 1; padding: 6px 12px; border-radius: 100px; background: #fff; color: var(--bl-sage-ink); font-size: 13px; font-weight: 500; }

/* =========================================================
   Plan your visit (amenity rows)
   ========================================================= */
.bl:not(#_) .amen {
  position: relative; z-index: 0; display: grid; grid-template-columns: 400px minmax(0, 1fr) auto;
  align-items: center; gap: 24px; padding: 30px 0; margin-top: 24px; color: inherit;
  transition: padding .6s var(--bl-ease);
}
.bl:not(#_) .amen:first-child { margin-top: 0; }
.bl:not(#_) .amen::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--bl-card); opacity: 0; transition: opacity .6s var(--bl-ease); }
.bl:not(#_) .amen::after { content: ''; position: absolute; left: 0; right: 0; bottom: -12px; height: 1px; background: var(--bl-line); transform-origin: left; transform: scaleX(var(--bl-s, 1)); transition: opacity .4s; }
.bl:not(#_) .amen.is-active { padding-left: 30px; padding-right: 30px; }
.bl:not(#_) .amen.is-active::before { opacity: 1; }
.bl:not(#_) .amen.is-active::after,
.bl:not(#_) .amen:has(+ .amen.is-active)::after { opacity: 0; }
.bl:not(#_) .amen__img { position: relative; aspect-ratio: 400 / 259; overflow: hidden; }
.bl:not(#_) .amen__img img { width: 100%; height: 100%; object-fit: cover; transition: scale 1s var(--bl-ease); }
.bl:not(#_) .amen.is-active .amen__img img { scale: 1.05; }
.bl:not(#_) .amen--low .amen__img img { object-position: 50% 80%; }
.bl:not(#_) .amen__body { display: grid; gap: 18px; min-width: 0; }
.bl:not(#_) .amen__title { font: 400 clamp(28px, 2.9vw, 42px)/1.15 var(--bl-serif); color: var(--bl-ink); }
.bl:not(#_) .amen__text { font-size: 18px; line-height: 1.45; color: var(--bl-text); max-width: 520px; }
.bl:not(#_) .amen__go { width: auto; }
.bl:not(#_) .amen__go .circle { color: var(--bl-ink); }
.bl:not(#_) .amen.is-active .amen__go .circle { background: var(--bl-sage); border-color: var(--bl-sage); color: #fff; }
.bl:not(#_) .amen.is-active .amen__go .ico { rotate: -45deg; }

/* =========================================================
   Clubhouse (dark) + at a glance
   ========================================================= */
.bl:not(#_) .interior__top { display: grid; grid-template-columns: minmax(0, 1fr) 610px; gap: 60px; align-items: start; }
.bl:not(#_) .interior__copy { min-width: 0; }
.bl:not(#_) .interior__intro { margin-top: 26px; max-width: 470px; font-size: 17px; line-height: 1.5; color: var(--bl-on-dark); }
.bl:not(#_) .features { margin-top: 56px; display: grid; gap: 36px; max-width: 520px; }
.bl:not(#_) .feature { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px; }
.bl:not(#_) .feature__n { font: 400 24px/1.3 var(--bl-serif); color: var(--bl-light); }
.bl:not(#_) .feature__title { font: 400 25px/1.3 var(--bl-serif); margin-bottom: 10px; color: var(--bl-on-dark); }
.bl:not(#_) .feature__text { font-size: 16px; line-height: 1.75; color: var(--bl-on-dark-soft); }
.bl:not(#_) .feature__text a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.bl:not(#_) .interior__media { aspect-ratio: 610 / 685; }

.bl:not(#_) .interior__bottom { display: grid; grid-template-columns: 514px minmax(0, 1fr); gap: 110px; margin-top: clamp(100px, 13vw, 190px); align-items: start; }
.bl:not(#_) .interior__visual { min-width: 0; }
.bl:not(#_) .interior__visual .frame { aspect-ratio: 514 / 362; }
.bl:not(#_) .interior__caption { margin-top: 22px; font: 400 32px/1.12 var(--bl-serif); max-width: 480px; color: var(--bl-on-dark); }
.bl:not(#_) .interior__visual .btn { margin-top: 60px; }
.bl:not(#_) .details { min-width: 0; }
.bl:not(#_) .details__title { font: 400 clamp(34px, 3.6vw, 52px)/1.2 var(--bl-serif); margin-bottom: 56px; color: var(--bl-on-dark); }
.bl:not(#_) .details__list { margin: 0; }
.bl:not(#_) .details__list > div { position: relative; display: flex; justify-content: space-between; gap: 30px; padding: 0 0 12px; margin-bottom: 24px; font-size: 17px; }
.bl:not(#_) .details__list > div::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--bl-line-dark); transform-origin: left; transform: scaleX(var(--bl-s, 1)); }
.bl:not(#_) .details__list dt { color: var(--bl-on-dark-soft); }
.bl:not(#_) .details__list dd { margin: 0; text-align: right; color: var(--bl-on-dark); }

/* =========================================================
   Today's course status (the design's testimonial band)
   ========================================================= */
.bl:not(#_) .status__grid { display: grid; grid-template-columns: 512px minmax(0, 1fr); gap: 72px; align-items: stretch; }
.bl:not(#_) .status__media { aspect-ratio: 512 / 556; }
.bl:not(#_) .status__body { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.bl:not(#_) .status__label { display: flex; align-items: center; gap: 12px; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--bl-sage-ink); margin-bottom: 30px; }
.bl:not(#_) .status__quote { border-left: 2px solid var(--bl-sage); padding-left: 38px; }
.bl:not(#_) .status__text { color: #343a38; }
.bl:not(#_) .status__text p + p { margin-top: .6em; }
.bl:not(#_) .status__updated { margin-top: 24px; font-size: 15px; color: var(--bl-muted); }
.bl:not(#_) .status__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; padding-left: 40px; }

/* =========================================================
   FAQs
   ========================================================= */
.bl:not(#_) .faq__head { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: end; margin-bottom: 56px; }
.bl:not(#_) .faq__item { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; padding: 30px 0; }
.bl:not(#_) .faq__item::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--bl-line); transform-origin: left; transform: scaleX(var(--bl-s, 1)); }
.bl:not(#_) .faq__item:first-child::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--bl-line); }
.bl:not(#_) .faq__q { font: 400 clamp(22px, 2vw, 28px)/1.3 var(--bl-serif); color: var(--bl-ink); }
.bl:not(#_) .faq__a { font-size: 17px; line-height: 1.6; color: var(--bl-text); }

/* Home: the page's own next step under the FAQs */
.bl:not(#_) .home-next { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px 50px; align-items: center; margin-top: 64px; padding: 44px 48px; background: var(--bl-sage); color: #fff; }
.bl:not(#_) .home-next__title { font: 400 clamp(26px, 2.4vw, 34px)/1.2 var(--bl-serif); color: #fff; }
.bl:not(#_) .home-next__text { margin-top: 12px; font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .9); max-width: 680px; }
.bl:not(#_) .home-next__text a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 720px) { .bl:not(#_) .home-next { grid-template-columns: minmax(0, 1fr); padding: 30px 24px; } }

/* =========================================================
   News & guides
   ========================================================= */
.bl:not(#_) .blog .h2 { margin-bottom: 64px; }
.bl:not(#_) .news { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.bl:not(#_) .post { min-width: 0; }
.bl:not(#_) .post__img { position: relative; display: block; aspect-ratio: 610 / 470; overflow: hidden; background: var(--bl-mist); }
.bl:not(#_) .post__img img { width: 100%; height: 100%; object-fit: cover; transition: scale 1.1s var(--bl-ease); }
.bl:not(#_) .post:hover .post__img img { scale: 1.06; }
.bl:not(#_) .post__kicker { display: block; margin-top: 20px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--bl-sage-ink); }
.bl:not(#_) .post__title { font: 400 clamp(24px, 2.2vw, 31px)/1.3 var(--bl-serif); margin-top: 8px; color: var(--bl-ink); }
.bl:not(#_) .post__title a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .6s var(--bl-ease); }
.bl:not(#_) .post:hover .post__title a { background-size: 100% 1px; }
.bl:not(#_) .post__excerpt { margin-top: 10px; font-size: 16px; color: var(--bl-muted); max-width: 560px; }
.bl:not(#_) .more { display: inline-flex; align-items: center; gap: 12px; margin-top: 16px; font-size: 17px; color: var(--bl-ink); border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.bl:not(#_) .more .ico { font-size: 17px; transition: rotate .45s var(--bl-ease); }
.bl:not(#_) .more:hover .ico { rotate: 45deg; }

/* =========================================================
   Gallery strip
   ========================================================= */
.bl:not(#_) .strip { overflow: hidden; background: var(--bl-deepest); line-height: 0; }
.bl:not(#_) .strip__track { display: flex; width: max-content; }
.bl:not(#_) .strip__track img { width: max(220px, 20vw); aspect-ratio: 288 / 379; object-fit: cover; flex: none; filter: saturate(.92); transition: filter .6s var(--bl-ease); }
.bl:not(#_) .strip__track img:hover { filter: saturate(1.15) brightness(1.05); }

/* =========================================================
   Footer (Elementor template "BL Footer")
   ========================================================= */
.bl:not(#_) .bl-footer { background: var(--bl-deepest); color: var(--bl-on-dark); padding: 100px 0 80px; }
.bl:not(#_) .bl-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; padding-bottom: 48px; border-bottom: 1px solid rgba(243, 246, 245, .25); }
.bl:not(#_) .bl-cta__title { font: 400 clamp(30px, 2.9vw, 42px)/1.12 var(--bl-serif); }
.bl:not(#_) .bl-cta__text { margin-top: 22px; font-size: 17px; max-width: 640px; color: var(--bl-on-dark-soft); }
.bl:not(#_) .bl-cta__text a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.bl:not(#_) .bl-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.bl:not(#_) .bl-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px 330px; gap: 40px; padding: 48px 0; border-bottom: 1px solid rgba(243, 246, 245, .25); }
.bl:not(#_) .bl-footer__brand p { margin-top: 30px; max-width: 360px; font-size: 17px; line-height: 1.65; color: var(--bl-on-dark-soft); }
.bl:not(#_) .bl-footer .bl-logo__mark { width: 64px; height: 64px; }
.bl:not(#_) .social { display: flex; gap: 14px; margin-top: 32px; }
.bl:not(#_) .social a { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(243, 246, 245, .7); font-size: 19px; transition: background .4s var(--bl-ease), color .4s var(--bl-ease), border-color .4s; }
.bl:not(#_) .social a:hover { background: #fff; color: var(--bl-deepest); border-color: #fff; }
.bl:not(#_) .affil { display: flex; align-items: center; gap: 18px; width: fit-content; margin-top: 32px; padding: 12px 18px; background: #fff; border-radius: 4px; }
.bl:not(#_) .affil img { height: 44px; width: auto; }
.bl:not(#_) .bl-footer h3 { font: 400 22px/1.3 var(--bl-sans); margin-bottom: 20px; color: #fff; }
.bl:not(#_) .bl-footer__links { columns: 2; column-gap: 24px; }
.bl:not(#_) .bl-footer__links li { margin-bottom: 14px; break-inside: avoid; font-size: 16px; }
.bl:not(#_) .bl-footer__links a,
.bl:not(#_) .bl-footer__contact a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .5s var(--bl-ease); }
.bl:not(#_) .bl-footer__links a:hover,
.bl:not(#_) .bl-footer__contact a:hover { background-size: 100% 1px; color: #fff; }
.bl:not(#_) .bl-footer ul { margin: 0; padding: 0; list-style: none; }
.bl:not(#_) .bl-footer__contact li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; margin-bottom: 12px; font-size: 16px; color: var(--bl-on-dark-soft); }
.bl:not(#_) .bl-footer__contact li .ico { font-size: 18px; margin-top: 3px; color: var(--bl-light); }
.bl:not(#_) .bl-footer__contact b { font-weight: 500; color: #fff; }
.bl:not(#_) .bl-footer__bottom { display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-top: 28px; font-size: 15px; color: var(--bl-on-dark-soft); }
.bl:not(#_) .bl-footer__bottom a { text-decoration: underline; text-underline-offset: 3px; }
.bl:not(#_) .bl-footer__bottom a:hover { color: #fff; }
.bl:not(#_) .bl-footer__bottom p { margin: 0; }

/* =========================================================
   Inner pages (plugin template around the page's own blocks)
   ========================================================= */
.bl:not(#_) .page-hero { position: relative; overflow: hidden; min-height: 560px; display: flex; align-items: flex-end; justify-content: flex-end; color: #fff; background: var(--bl-deepest); }
.bl:not(#_) .page-hero .hero__media img { width: 100%; height: 118%; object-fit: cover; object-position: 50% 50%; }
.bl:not(#_) .page-hero__content { position: relative; z-index: 1; width: 100%; padding-top: 200px; padding-bottom: 64px; }
.bl:not(#_) .crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: rgba(255, 255, 255, .82); margin-bottom: 20px; }
.bl:not(#_) .crumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.bl:not(#_) .crumbs span[aria-hidden] { opacity: .6; }
.bl:not(#_) .page-hero__title { font: 400 clamp(40px, 5.2vw, 74px)/1.06 var(--bl-serif); letter-spacing: -.01em; max-width: 960px; }
.bl:not(#_) .page-hero__meta { margin-top: 18px; font-size: 15px; color: rgba(255, 255, 255, .82); }

.bl:not(#_) .page-body { padding-block: clamp(64px, 7vw, 100px); }
.bl:not(#_) .page-body__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 70px; align-items: start; }
.bl:not(#_) .page-body__grid--full { grid-template-columns: minmax(0, 1fr); }
.bl:not(#_) .page-side { position: sticky; top: 120px; display: grid; gap: 24px; }
.bl:not(#_) .side-card { background: var(--bl-grey); padding: 26px; }
.bl:not(#_) .side-card h2 { font: 400 22px/1.25 var(--bl-serif); color: var(--bl-ink); margin-bottom: 14px; }
.bl:not(#_) .side-card ul { margin: 0; padding: 0; list-style: none; }
.bl:not(#_) .side-card li a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #dfe5e3; font-size: 15px; color: var(--bl-text); transition: color .3s, padding .4s var(--bl-ease); }
.bl:not(#_) .side-card li a .ico { color: var(--bl-sage); flex: none; }
.bl:not(#_) .side-card li a:hover { color: var(--bl-sage-ink); padding-left: 6px; }
.bl:not(#_) .side-card li a[aria-current] { color: var(--bl-sage-ink); font-weight: 500; }
.bl:not(#_) .side-card--dark { background: var(--bl-sage); color: #fff; }
.bl:not(#_) .side-card--dark h2 { color: #fff; }
.bl:not(#_) .side-card--dark p { font-size: 15px; color: rgba(255, 255, 255, .88); margin-bottom: 18px; }
.bl:not(#_) .side-card--dark a.btn { width: 100%; justify-content: center; margin-top: 8px; }

/* The page's own Gutenberg content */
.bl:not(#_) .prose { min-width: 0; font-size: 17px; line-height: 1.7; color: var(--bl-text); }
.bl:not(#_) .prose > * + * { margin-top: 1.1em; }
.bl:not(#_) .prose h2,
.bl:not(#_) .prose h3,
.bl:not(#_) .prose h4 { font-family: var(--bl-serif); font-weight: 400; color: var(--bl-ink); line-height: 1.25; margin-top: 1.8em; }
.bl:not(#_) .prose h1 { font: 400 clamp(32px, 3vw, 44px)/1.2 var(--bl-serif); color: var(--bl-ink); }
.bl:not(#_) .prose h2 { font-size: clamp(28px, 2.6vw, 38px); }
.bl:not(#_) .prose h3 { font-size: clamp(22px, 2vw, 28px); }
.bl:not(#_) .prose h4 { font-size: 22px; }
.bl:not(#_) .prose > :first-child { margin-top: 0; }
.bl:not(#_) .prose strong { color: var(--bl-ink); font-weight: 600; }
.bl:not(#_) .prose ul,
.bl:not(#_) .prose ol { padding-left: 1.3em; }
.bl:not(#_) .prose ul { list-style: none; padding-left: 0; }
.bl:not(#_) .prose ul > li { position: relative; padding-left: 24px; }
.bl:not(#_) .prose ul > li::before { content: ''; position: absolute; left: 2px; top: .72em; width: 10px; height: 1px; background: var(--bl-sage); }
.bl:not(#_) .prose ol { list-style: decimal; }
.bl:not(#_) .prose li + li { margin-top: .4em; }
.bl:not(#_) .prose img { height: auto; }
.bl:not(#_) .prose figure { margin-inline: 0; }
.bl:not(#_) .prose figcaption { font-size: 14px; color: var(--bl-muted); margin-top: 8px; }
.bl:not(#_) .prose hr,
.bl:not(#_) .prose .wp-block-separator { border: 0; height: 1px; background: var(--bl-line); margin-block: 2.4em; opacity: 1; }
.bl:not(#_) .prose blockquote { border-left: 2px solid var(--bl-sage); padding-left: 24px; font-size: 20px; color: var(--bl-ink); }
.bl:not(#_) .prose .has-text-align-center { text-align: center; }
.bl:not(#_) .prose .alignfull,
.bl:not(#_) .prose .alignwide { margin-inline: 0; max-width: 100%; }
.bl:not(#_) .prose .wp-block-columns { display: flex; flex-wrap: wrap; gap: 32px; }
.bl:not(#_) .prose .wp-block-column { flex: 1 1 260px; min-width: 0; }
.bl:not(#_) .prose .wp-block-column > * + * { margin-top: 1em; }
/* Images fill their column unless the editor gave them a width on purpose (logos, the padel renders) */
.bl:not(#_) .prose .wp-block-image:not(.is-resized),
.bl:not(#_) .prose .wp-block-image:not(.is-resized) img { display: block; width: 100%; }
.bl:not(#_) .prose .wp-block-image:not(.is-resized) img { height: auto; }
.bl:not(#_) .prose .wp-block-image.is-resized img { display: inline-block; }
.bl:not(#_) .prose .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.bl:not(#_) .prose .wp-block-gallery figure,
.bl:not(#_) .prose .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: auto; margin: 0; }
.bl:not(#_) .prose .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.bl:not(#_) .prose .wp-block-button__link,
.bl:not(#_) .prose .button {
  display: inline-flex; align-items: center; height: 50px; padding: 0 24px; border-radius: 100px;
  background: var(--bl-sage); color: #fff; text-decoration: none; font-size: 16px; transition: background .4s;
}
.bl:not(#_) .prose .wp-block-button__link:hover,
.bl:not(#_) .prose .button:hover { background: var(--bl-deep); color: #fff; }
.bl:not(#_) .prose iframe { max-width: 100%; border: 0; }
/* Core File blocks (menus, PDFs): the link and its Download pill */
.bl:not(#_) .prose .wp-block-file { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; font-size: 16px; }
.bl:not(#_) .prose .wp-block-file a:not(.wp-block-file__button) { color: var(--bl-ink); }
.bl:not(#_) .prose .wp-block-file .wp-block-file__button,
.bl:not(#_) .prose .wp-block-file__button { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 100px; background: var(--bl-sage); color: #fff; font-size: 14px; text-decoration: none; transition: background .3s; }
.bl:not(#_) .prose .wp-block-file .wp-block-file__button:hover { background: var(--bl-deep); color: #fff; }
.bl:not(#_) .prose table { width: 100%; border-collapse: collapse; font-size: 16px; background: #fff; }
.bl:not(#_) .prose th,
.bl:not(#_) .prose td { padding: 12px 14px; border-bottom: 1px solid var(--bl-mist); text-align: left; vertical-align: top; }
.bl:not(#_) .prose th,
.bl:not(#_) .prose thead td { background: var(--bl-black); color: #fff; font-weight: 500; border-bottom: 0; }
.bl:not(#_) .prose .tablepress { margin: 0; }
.bl:not(#_) .prose .tablepress thead th { background: var(--bl-sage); color: #fff; }
.bl:not(#_) .prose .tablepress tbody tr:nth-child(odd) td { background: var(--bl-grey); }
.bl:not(#_) .prose .dataTables_wrapper { font-size: 15px; }

/* "In short" summary and "Next step" blocks (AEO standard, 14 Oct 2026) */
.bl:not(#_) .prose .page-summary { background: var(--bl-grey); border-left: 3px solid var(--bl-sage); padding: 22px 26px; font-size: 18px; line-height: 1.6; color: var(--bl-ink); }
.bl:not(#_) .prose .page-summary p { margin: 0; }
.bl:not(#_) .prose .page-next-step { background: var(--bl-sage); color: #fff; padding: 34px 36px; margin-top: 2.6em; }
.bl:not(#_) .prose .page-next-step h2,
.bl:not(#_) .prose .page-next-step h3 { color: #fff; margin-top: 0; }
.bl:not(#_) .prose .page-next-step p { color: rgba(255, 255, 255, .9); }
.bl:not(#_) .prose .page-next-step p:last-child { margin-bottom: 0; }
.bl:not(#_) .prose .page-next-step a { color: #fff; }
.bl:not(#_) .prose .page-next-step > * + * { margin-top: .8em; }

/* Yoast FAQ blocks */
.bl:not(#_) .prose .schema-faq { border-top: 1px solid var(--bl-line); }
.bl:not(#_) .prose .schema-faq-section { padding: 22px 0; border-bottom: 1px solid var(--bl-line); }
.bl:not(#_) .prose .schema-faq-question { display: block; font: 400 22px/1.35 var(--bl-serif); color: var(--bl-ink); }
.bl:not(#_) .prose .schema-faq-answer { margin: 10px 0 0; }

/* MetaSlider inside page content */
.bl:not(#_) .prose .metaslider { margin-block: 1.4em; }

/* =========================================================
   Inner pages built in Elementor (2026-11-12). The page is: section.page-hero > hero__media (Image widget
   .hero__img), shade, page-hero__content ([bl_crumbs] + H1 Heading); then page-body > page-body__grid >
   article.prose (the content widgets) + [bl_page_side] (.page-side-host). Containers in the text column
   flow as blocks so margins behave exactly as they did with block content.
   ========================================================= */
.bl:not(#_) .prose,
.bl:not(#_) .prose .page-summary,
.bl:not(#_) .prose .page-next-step,
.bl:not(#_) .prose .bl-col { display: block; }
.bl:not(#_) .prose .elementor-widget-text-editor > * + * { margin-top: 1.1em; }
.bl:not(#_) .prose .elementor-widget-text-editor > :first-child { margin-top: 0; }
.bl:not(#_) .prose .elementor-widget-heading:first-child .elementor-heading-title { margin-top: 0; }
.bl:not(#_) .prose .bl-cols { display: flex; flex-direction: row; flex-wrap: wrap; gap: 32px; }
.bl:not(#_) .prose .bl-col { flex: 1 1 260px; min-width: 0; width: auto; }
.bl:not(#_) .prose .bl-col > * + * { margin-top: 1em; }
.bl:not(#_) .prose .bl-img img { display: block; width: 100%; height: auto; }
.bl:not(#_) .prose .elementor-widget-image figcaption,
.bl:not(#_) .prose .widget-image-caption { font-size: 14px; color: var(--bl-muted); margin-top: 8px; line-height: 1.5; }
.bl:not(#_) .prose .bl-divider { margin-block: 2.4em; --divider-color: var(--bl-line); --divider-border-width: 1px; --divider-border-style: solid; }
.bl:not(#_) .prose .bl-divider .elementor-divider { padding-block: 0; line-height: 0; }
.bl:not(#_) .prose .bl-divider .elementor-divider-separator { width: 100%; }
/* Gallery: a 12-track grid driven by the widget's own "Columns" setting (gallery-columns-N), and the last
   row never leaves a hole: a short last row stretches to the full width (2 left over -> two halves, 3 -> thirds,
   1 left over in 4 columns -> the last five become 3 + 2, in 3 columns the last four become 2 + 2). */
.bl:not(#_) .prose .bl-gallery .gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; margin: 0; }
.bl:not(#_) .prose .bl-gallery .gallery-item { width: auto; max-width: none; margin: 0; padding: 0; }
@media (min-width: 561px) {
.bl:not(#_) .prose .bl-gallery .gallery-item { grid-column: span 3; }
.bl:not(#_) .prose .bl-gallery .gallery-columns-1 .gallery-item { grid-column: span 12; }
.bl:not(#_) .prose .bl-gallery .gallery-columns-2 .gallery-item { grid-column: span 6; }
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item { grid-column: span 4; }
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(3),
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(3) ~ .gallery-item,
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(5),
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(5) ~ .gallery-item { grid-column: span 4; }
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(2),
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(2) ~ .gallery-item,
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(5) ~ .gallery-item:nth-last-of-type(-n+2),
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item:nth-of-type(3n+1):nth-last-of-type(2),
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item:nth-of-type(3n+1):nth-last-of-type(2) ~ .gallery-item,
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item:nth-of-type(3n+1):nth-last-of-type(4),
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item:nth-of-type(3n+1):nth-last-of-type(4) ~ .gallery-item { grid-column: span 6; }
.bl:not(#_) .prose .bl-gallery .gallery-item:only-of-type,
.bl:not(#_) .prose .bl-gallery .gallery-columns-2 .gallery-item:nth-of-type(2n+1):last-of-type { grid-column: span 12; }
/* Wider tiles keep the row height in proportion instead of turning into tall squares */
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(2) img,
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(2) ~ .gallery-item img,
.bl:not(#_) .prose .bl-gallery .gallery-columns-4 .gallery-item:nth-of-type(4n+1):nth-last-of-type(5) ~ .gallery-item:nth-last-of-type(-n+2) img,
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item:nth-of-type(3n+1):nth-last-of-type(2) img,
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item:nth-of-type(3n+1):nth-last-of-type(2) ~ .gallery-item img,
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item:nth-of-type(3n+1):nth-last-of-type(4) img,
.bl:not(#_) .prose .bl-gallery .gallery-columns-3 .gallery-item:nth-of-type(3n+1):nth-last-of-type(4) ~ .gallery-item img { aspect-ratio: 16 / 9; }
.bl:not(#_) .prose .bl-gallery .gallery-columns-2 .gallery-item:nth-of-type(2n+1):last-of-type img { aspect-ratio: 16 / 9; }
}
/* A gallery of one image is a badge or logo (Members: Respect in Golf): its own shape, never cropped, badge size */
.bl:not(#_) .prose .bl-gallery .gallery .gallery-item.gallery-item:only-of-type { grid-column: 1 / -1; text-align: left; }
.bl:not(#_) .prose .bl-gallery .gallery .gallery-item.gallery-item:only-of-type .gallery-icon { display: block; text-align: left; }
.bl:not(#_) .prose .bl-gallery .gallery .gallery-item.gallery-item:only-of-type img { width: auto; margin: 0; max-width: min(100%, 300px); height: auto; aspect-ratio: auto; object-fit: contain; }
/* Phones: two per row; an odd one out takes the full width */
@media (max-width: 560px) {
  .bl:not(#_) .prose .bl-gallery .gallery-item { grid-column: span 6; }
  .bl:not(#_) .prose .bl-gallery .gallery-item:nth-of-type(2n+1):last-of-type { grid-column: span 12; }
  .bl:not(#_) .prose .bl-gallery .gallery-item:nth-of-type(2n+1):last-of-type img { aspect-ratio: 16 / 9; }
}
.bl:not(#_) .prose .bl-gallery .gallery-icon,
.bl:not(#_) .prose .bl-gallery .gallery-icon a { display: block; height: 100%; }
.bl:not(#_) .prose .bl-gallery .gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; border: 0; }
.bl:not(#_) .prose .bl-gallery .gallery-caption { display: none; }
.bl:not(#_) .prose .elementor-widget-button.btn { margin-top: 1.1em; }
.bl:not(#_) .page-side-host { position: sticky; top: 120px; align-self: start; }
.bl:not(#_) .page-side-host .page-side { position: static; }

/* Section links under the content */
.bl:not(#_) .section-links { margin-top: 64px; }
.bl:not(#_) .section-links__title { font: 400 30px/1.2 var(--bl-serif); color: var(--bl-ink); margin-bottom: 22px; }
.bl:not(#_) .section-links__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.bl:not(#_) .section-links__grid a { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 76px; padding: 18px 20px; background: var(--bl-grey); color: var(--bl-ink); font: 400 19px/1.3 var(--bl-serif); transition: background .4s var(--bl-ease), color .4s; }
.bl:not(#_) .section-links__grid a .circle { width: 38px; height: 38px; font-size: 17px; color: var(--bl-sage); }
.bl:not(#_) .section-links__grid a:hover { background: var(--bl-sage); color: #fff; }
.bl:not(#_) .section-links__grid a:hover .circle { color: #fff; }
.bl:not(#_) .section-links__grid a:hover .ico { rotate: -45deg; }

/* Search results and archives */
.bl:not(#_) .results { display: grid; gap: 0; }
.bl:not(#_) .result { padding: 26px 0; border-bottom: 1px solid var(--bl-line); }
.bl:not(#_) .result h2 { font: 400 26px/1.3 var(--bl-serif); color: var(--bl-ink); margin: 0; }
.bl:not(#_) .result h2 a:hover { color: var(--bl-sage-ink); }
.bl:not(#_) .result p { margin-top: 8px; color: var(--bl-muted); }
.bl:not(#_) .result .more { margin-top: 12px; }
.bl:not(#_) .pager { display: flex; gap: 10px; margin-top: 40px; }
.bl:not(#_) .pager a,
.bl:not(#_) .pager span { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--bl-line); border-radius: 100px; }
.bl:not(#_) .pager .current { background: var(--bl-sage); color: #fff; border-color: var(--bl-sage); }
.bl:not(#_) .search-again { display: flex; gap: 10px; margin-top: 30px; max-width: 520px; }
.bl:not(#_) .search-again input { flex: 1; height: 50px; padding: 0 20px; border-radius: 100px; border: 1px solid var(--bl-line); background: #fff; font-size: 16px; }
.bl:not(#_) .sitemap-list ul { margin-top: .4em; }

/* =========================================================
   Motion pre-states (set before bl.js boots; never in the editor)
   ========================================================= */
html.js-anim .hero__content,
html.js-anim .page-hero__content,
html.js-anim .hero__media,
html.js-anim .bl-header__row { opacity: 0; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1360px) {
  .bl:not(#_) .bl-nav { display: none; }
  .bl:not(#_) .bl-actions { display: flex; }
}
@media (min-width: 1361px) { .bl:not(#_) .burger { display: none; } }
@media (max-width: 1180px) {
  .bl:not(#_) .about__grid { grid-template-columns: minmax(0, 1fr) 42%; }
  .bl:not(#_) .interior__top { grid-template-columns: minmax(0, 1fr) 46%; }
  .bl:not(#_) .interior__bottom { grid-template-columns: 42% minmax(0, 1fr); gap: 60px; }
  .bl:not(#_) .status__grid { grid-template-columns: 42% minmax(0, 1fr); gap: 48px; }
  .bl:not(#_) .bl-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); }
  .bl:not(#_) .bl-menu__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bl:not(#_) .bl-topbar__info .hide-md { display: none; }
}
@media (max-width: 1024px) {
  .bl:not(#_) .hero__content { grid-template-columns: minmax(0, 1fr); }
  .bl:not(#_) .status-card { max-width: 420px; }
  .bl:not(#_) .page-body__grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .bl:not(#_) .page-side,
.bl:not(#_) .page-side-host { position: static; }
}
@media (max-width: 960px) {
  .bl:not(#_) .about__grid,
.bl:not(#_) .interior__top,
.bl:not(#_) .interior__bottom,
.bl:not(#_) .status__grid,
.bl:not(#_) .faq__head { grid-template-columns: minmax(0, 1fr); }
  .bl:not(#_) .about__media { order: -1; aspect-ratio: 4 / 3; }
  .bl:not(#_) .interior__media { aspect-ratio: 4 / 3; }
  .bl:not(#_) .interior__visual .btn { margin-top: 32px; }
  .bl:not(#_) .sec-head { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 48px; }
  .bl:not(#_) .sec-head__aside { max-width: 540px; }
  .bl:not(#_) .rooms__row--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bl:not(#_) .rooms__row--3 > .room:last-child { grid-column: 1 / -1; }
  .bl:not(#_) .amen { grid-template-columns: 240px minmax(0, 1fr) auto; }
  .bl:not(#_) .status__media { aspect-ratio: 4 / 3; max-width: 620px; }
  .bl:not(#_) .faq__item { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .bl:not(#_) .bl-cta { grid-template-columns: minmax(0, 1fr); }
  .bl:not(#_) .bl-menu__inner { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .bl:not(#_) .bl-topbar { display: none; }
  .bl:not(#_) .bl-actions .btn--book { display: inline-flex; height: 40px; padding: 0 16px; font-size: 14px; }
}
@media (max-width: 720px) {
  body.bl:not(#_) { font-size: 15px; }
  .bl:not(#_) .hero { flex-direction: column; align-items: stretch; max-height: none; justify-content: flex-start; }
  /* Room for the BotSupport chat bar (fixed, top 78px above the viewport bottom; never drawn on staging): buttons end above it on a 390x844 phone. */
  .bl:not(#_) .hero__content { padding-top: 104px; padding-bottom: 48px; }
  .bl:not(#_) .hero .eyebrow { margin-bottom: 14px; }
  .bl:not(#_) .hero__text { margin-top: 20px; line-height: 1.6; }
  .bl:not(#_) .hero__actions { margin-top: 26px; }
  .bl:not(#_) .bl-header__main { padding-block: 14px; }
  .bl:not(#_) .bl-logo__mark { width: 46px; height: 46px; }
  .bl:not(#_) .bl-logo__word { font-size: 21px; }
  .bl:not(#_) .burger__label { display: none; }
  .bl:not(#_) .hero__text,
.bl:not(#_) .lead,
.bl:not(#_) .sec-head__aside,
.bl:not(#_) .amen__text { font-size: 16px; }
  .bl:not(#_) .btn .elementor-button,
.bl:not(#_) a.btn { height: 50px; font-size: 16px; padding: 0 22px; }
  .bl:not(#_) .stats { gap: 22px; margin-top: 52px; justify-content: space-between; }
  .bl:not(#_) .stats strong { font-size: 38px; }
  .bl:not(#_) .stats span.stats__label { font-size: 12px; margin-top: 10px; }
  .bl:not(#_) .rooms__row--3,
.bl:not(#_) .rooms__row--2 { grid-template-columns: minmax(0, 1fr); }
  .bl:not(#_) .room { height: 340px; }
  .bl:not(#_) .room__go .circle { scale: 1; opacity: 1; width: 42px; height: 42px; }
  .bl:not(#_) .amen { grid-template-columns: minmax(0, 1fr) auto; gap: 18px 16px; }
  .bl:not(#_) .amen__img { grid-column: 1 / -1; }
  .bl:not(#_) .amen.is-active { padding-left: 18px; padding-right: 18px; }
  .bl:not(#_) .amen__body { gap: 10px; }
  .bl:not(#_) .details__list > div { font-size: 15px; }
  .bl:not(#_) .interior__caption { font-size: 26px; }
  .bl:not(#_) .status__quote { padding-left: 22px; }
  .bl:not(#_) .status__actions { padding-left: 0; }
  .bl:not(#_) .news { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .bl:not(#_) .strip__track img { width: 46vw; }
  .bl:not(#_) .bl-footer { padding: 72px 0 56px; }
  .bl:not(#_) .bl-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .bl:not(#_) .bl-footer__bottom { font-size: 14px; }
  .bl:not(#_) .hero__scroll { display: none; }
  .bl:not(#_) .page-hero { min-height: 440px; }
  .bl:not(#_) .page-hero__content { padding-top: 150px; padding-bottom: 44px; }
  .bl:not(#_) .prose { font-size: 16px; }
  .bl:not(#_) .prose .page-next-step { padding: 26px 22px; }
  .bl:not(#_) .bl-menu__inner { padding-top: 110px; }
  .bl:not(#_) .bl-menu__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .bl:not(#_) .bl-menu__group { border-bottom: 1px solid rgba(243, 246, 245, .15); padding: 12px 0; }
  .bl:not(#_) .bl-menu__head { display: flex; align-items: center; justify-content: space-between; }
  .bl:not(#_) .bl-menu__toggle { display: grid; place-items: center; width: 40px; height: 40px; font-size: 20px; color: var(--bl-light); transition: rotate .4s var(--bl-ease); }
  .bl:not(#_) .bl-menu__group.is-open .bl-menu__toggle { rotate: 180deg; }
  .bl:not(#_) .bl-menu__sub { display: none; padding-left: 0; margin-top: 8px; padding-bottom: 6px; }
  .bl:not(#_) .bl-menu__group.is-open .bl-menu__sub { display: grid; }
  .bl:not(#_) .bl-menu__sub a { font-size: 16px; padding: 4px 0; }
}
@media (max-width: 782px) { body.bl:not(#_).admin-bar .bl-header { top: 46px; } }

@media (prefers-reduced-motion: reduce) {
  .bl:not(#_) *,
.bl:not(#_) *::before,
.bl:not(#_) *::after { transition-duration: .01ms !important; animation: none !important; }
}

/* Top bar: range hours sit after the clubhouse phone; they go first when the bar runs short of room. */
@media (max-width: 1500px) { .bl:not(#_) .bl-topbar__hours span { font-size: 13px; } }
@media (max-width: 1360px) { .bl:not(#_) .bl-topbar__hours { display: none !important; } }

/* Fixture list read from the club's Excel file ([bl_fixtures]) */
.bl:not(#_) .bl-fixtures { margin-block: 1.6em; }
.bl:not(#_) .bl-fixtures h2:first-child { margin-top: 0; }
.bl:not(#_) .bl-fixtures__next { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--bl-line); }
.bl:not(#_) .bl-fixtures__next li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--bl-line); margin: 0; }
.bl:not(#_) .bl-fixtures__next li[hidden] { display: none; }
.bl:not(#_) .bl-fixtures__next time { font-weight: 600; color: var(--bl-sage-ink); }
.bl:not(#_) .bl-fixtures small { display: block; font-size: 14px; color: var(--bl-muted); margin-top: 2px; }
.bl:not(#_) .bl-fixtures__month { border-bottom: 1px solid var(--bl-line); }
.bl:not(#_) .bl-fixtures__month:first-of-type { border-top: 1px solid var(--bl-line); }
.bl:not(#_) .bl-fixtures__month summary { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 16px 0; cursor: pointer; list-style: none; font-family: var(--bl-serif); font-size: 22px; color: var(--bl-ink); }
.bl:not(#_) .bl-fixtures__month summary::-webkit-details-marker { display: none; }
.bl:not(#_) .bl-fixtures__month summary span { font-family: inherit; font-size: 14px; color: var(--bl-muted); }
.bl:not(#_) .bl-fixtures__month summary span::after { content: '+'; display: inline-block; width: 18px; margin-left: 10px; text-align: center; font-size: 18px; color: var(--bl-sage); }
.bl:not(#_) .bl-fixtures__month[open] summary span::after { content: '–'; }
.bl:not(#_) .bl-fixtures__month table { margin-bottom: 18px; }
.bl:not(#_) .prose .bl-fixtures__month th { width: 120px; background: none; color: var(--bl-sage-ink); font-weight: 600; border-bottom: 1px solid var(--bl-mist); }
.bl:not(#_) .bl-fixtures__month tr.is-past th,
.bl:not(#_) .bl-fixtures__month tr.is-past td { color: var(--bl-muted); }
.bl:not(#_) .bl-fixtures__note { font-size: 15px; color: var(--bl-muted); }
@media (max-width: 560px) {
  .bl:not(#_) .bl-fixtures__next li { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; }
  .bl:not(#_) .prose .bl-fixtures__month th { width: 92px; padding-inline: 0 10px; }
}
.bl:not(#_) .prose .bl-fixtures__next > li { padding-left: 0; margin-top: 0; }
.bl:not(#_) .prose .bl-fixtures__next > li::before { display: none; }
