@font-face { font-family: 'Tournament Poster'; src: url(../../../assets/fonts/tournament-page/barlow-condensed-800.ttf) format('truetype'); font-weight: 800; font-display: swap; }
.tournament-promo,.tournament-page-drawer,.tournament-page-registration { --page-font: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
body:has(.tournament-promo) { margin: 0; background: #f7f8f3; }
body:has(.tournament-promo) .page-body,body:has(.tournament-promo) .page-content,body:has(.tournament-promo) .page-container { margin: 0; padding: 0; width: 100%; max-width: none; display: block; }
.tournament-promo,.tournament-page-drawer { --page-ink: #183a33; --page-muted: #596e66; --page-line: #dce5dd; font: 400 15px/1.7 var(--page-font); color: var(--page-ink); overflow-wrap: anywhere; }
.tournament-promo *, .tournament-page-drawer * { box-sizing: border-box; }
.tournament-promo [hidden],.tournament-page-drawer [hidden],.tournament-page-registration [hidden],.tournament-page-registration .hide-it { display: none; }
.tournament-promo a,.tournament-page-drawer a { color: inherit; }
.tournament-promo button,.tournament-promo select,.tournament-page-drawer button,.tournament-page-drawer input,.tournament-page-drawer select { font: inherit; }
.tournament-promo button,.tournament-page-drawer button { cursor: pointer; }
.tournament-promo button:disabled { opacity: .5; cursor: default; }
.tournament-promo :focus-visible,.tournament-page-drawer :focus-visible { outline: 3px solid #2585da; outline-offset: 4px; }
.tournament-promo--pointer-focus :is(a,button):focus,.tournament-page-drawer--pointer-focus :is(a,button):focus { outline: none; }
.tournament-promo .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tournament-promo__nav { min-height: 90px; padding: 18px max(24px,calc((100vw - 1200px)/2)); display: flex; align-items: center; gap: 26px; border-bottom: 1px solid var(--page-line); background: #f7f8f3; }
.tournament-promo__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 700; font-size: 14px; max-width: 360px; line-height: 1.4; }
.tournament-promo__brand img { object-fit: contain; flex-shrink: 0; }
.tournament-promo__nav nav { display: flex; gap: 24px; margin-left: auto; font-size: 12px; }
.tournament-promo__nav nav a { text-decoration: none; }
.tournament-promo__language { margin: 0 0 0 auto; flex-shrink: 0; position: relative; }
.tournament-promo__language::after { content: ''; position: absolute; right: 12px; top: 50%; width: 7px; height: 7px; border-right: 1.5px solid var(--page-ink); border-bottom: 1.5px solid var(--page-ink); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.tournament-promo__language select { appearance: none; width: 96px; min-height: 42px; padding: 7px 32px 7px 11px; border: 1px solid #a5b6ac; border-radius: 4px; color: var(--page-ink); background: #fff; font-size: 12px; }
.tournament-promo__hero { min-height: 560px; max-width: 1440px; margin-inline: auto; padding: 85px clamp(30px,calc((100vw - 1200px)/2),120px); position: relative; isolation: isolate; display: flex; align-items: center; gap: 60px; background: #e4ece1; }
.tournament-promo__hero-copy { min-width: 0; position: relative; z-index: 1; flex: 1; }
.tournament-promo__hero h1 { font-size: clamp(44px,6.8vw,90px); font-weight: 700; line-height: 1.02; letter-spacing: -.04em; margin: 22px 0 26px; max-width: 900px; }
.tournament-promo__eyebrow { font-size: 11px; letter-spacing: .055em; margin: 0; }
.tournament-promo__intro { white-space: pre-line; font-size: 21px; max-width: 620px; line-height: 1.5; margin: 0 0 30px; }
.tournament-promo__actions { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.tournament-promo .tournament-promo__button { background: var(--page-accent,#146254); color: var(--page-accent-text,#fff); border: 0; border-radius: 3px; padding: 15px 23px; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-size: 13px; font-weight: 700; }
.tournament-promo__text-button { background: none; border: 0; padding: 10px 0; color: var(--page-link,#146254); font-size: 13px; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; min-height: 44px; }
.tournament-promo__text-button:is(:hover,:focus-visible) { text-decoration-thickness: 2px; }
.tournament-promo__status { font-size: 11px; margin: 20px 0 0; }
.tournament-promo__poster-logo { display: none; }
.tournament-promo__cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.tournament-promo__hero--image { color: #fff; background: #1b342d; }
.tournament-promo__hero--image::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#0c211bed,#0c211b4a); z-index: -1; }
.tournament-promo__hero--image .tournament-promo__text-button { color: #fff; }
.tournament-promo__facts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); background: #eee9de; padding: 26px max(30px,calc((100vw - 1200px)/2)); gap: 26px; }
.tournament-promo__facts > div { display: flex; flex-direction: column; border-right: 1px solid #cdd5c9; padding-right: 20px; }
.tournament-promo__facts > div:last-child { border: 0; }
.tournament-promo__facts strong { font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
.tournament-promo__facts span { font-size: 11px; margin-top: 6px; }
.tournament-promo__sections { max-width: 1200px; margin: auto; padding: 0 30px; }
.tournament-promo__section { padding: 64px 0; border-bottom: 1px solid var(--page-line); scroll-margin-top: 25px; }
.tournament-promo__section h2 { font-size: clamp(28px,3vw,46px); line-height: 1.14; letter-spacing: -.03em; margin: 0 0 26px; font-weight: 700; max-width: 900px; }
.tournament-promo__section > p,.tournament-promo__section details >p { white-space: pre-line; color: var(--page-muted); max-width: 780px; line-height: 1.9; margin: 0 0 24px; }
.tournament-promo__rich-text,.tournament-promo-editor { max-width: 780px; color: var(--page-muted,#596e66); font: 400 15px/1.9 var(--page-font,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif); overflow-wrap: anywhere; }
.tournament-promo__rich-text p,.tournament-promo-editor p { margin: 0 0 1em; }
.tournament-promo__rich-text h3,.tournament-promo-editor h3 { font-size: 1.5em; }
.tournament-promo__rich-text h4,.tournament-promo-editor h4 { font-size: 1.2em; }
.tournament-promo__rich-text :is(h3,h4),.tournament-promo-editor :is(h3,h4) { color: var(--page-ink,#183a33); margin: 1.5em 0 .65em; line-height: 1.3; letter-spacing: .015em; }
.tournament-promo__rich-text :is(ul,ol),.tournament-promo-editor :is(ul,ol) { padding-left: 1.6em; margin: 0 0 1em; }
.tournament-promo__rich-text li,.tournament-promo-editor li { margin-bottom: .3em; }
.tournament-promo__rich-text blockquote,.tournament-promo-editor blockquote { border-left: 3px solid var(--page-accent,#146254); margin: 1em 0; padding: .25em 1em; }
.tournament-promo__rich-text a:any-link,.tournament-promo-editor a:any-link { color: var(--page-link,#146254); text-decoration: underline; text-underline-offset: 3px; }
.tournament-promo__rich-text > :first-child,.tournament-promo-editor > :first-child { margin-top: 0; }
.tournament-promo__rich-text > :last-child,.tournament-promo-editor > :last-child { margin-bottom: 0; }
.tournament-promo__section summary { font-size: 20px; font-weight: 700; cursor: pointer; }
.tournament-promo__section details >p { margin-top: 22px; }
.tournament-promo__classes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.tournament-promo__classes > button { display: flex; flex-direction: column; align-items: flex-start; padding: 22px 18px; min-width: 0; border: 1px solid #bccdc0; border-radius: 3px; background: transparent; color: var(--page-ink); font-size: 19px; font-weight: 700; text-align: left; }
.tournament-promo__classes > button:is(:hover,:focus-visible) { background: #e9f0e5; }
.tournament-promo__class-dates { margin-top: 6px; color: #667085; font-size: 13px; font-weight: 400; line-height: 1.5; }
.tournament-promo__sponsors { padding: 0; list-style: none; display: flex; gap: 20px; flex-wrap: wrap; }
.tournament-promo__sponsors > li { padding: 24px; border: 1px solid var(--page-line); font-weight: 700; }
.tournament-promo__links { display: flex; gap: 30px; flex-wrap: wrap; }
.tournament-promo__contact h2 { font-size: clamp(23px,4vw,48px); margin-top: 20px; }
.tournament-promo__contact a { color: var(--page-link,#146254); text-decoration: underline; text-decoration-thickness: .04em; text-underline-offset: .15em; }
.tournament-promo__contact a:is(:hover,:focus-visible) { text-decoration-thickness: .065em; }
.tournament-promo__contact-email { overflow-wrap: anywhere; }
.tournament-promo__footer { display: flex; justify-content: space-between; gap: 20px; padding: 30px max(30px,calc((100vw - 1200px)/2)); font-size: 11px; }
.tournament-promo__preview { padding: 10px 30px; margin: 0; font-size: 11px; color: #365841; background: #edf4e6; }
.tournament-promo--poster { --page-ink: #152d40; }
.tournament-promo--poster .tournament-promo__hero { background: #e6effa; color: #152d40; }
.tournament-promo--poster .tournament-promo__hero h1 { font-family: 'Tournament Poster',sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: -.035em; font-size: clamp(58px,8vw,112px); max-width: 720px; }
.tournament-promo--poster .tournament-promo__poster-logo { display: flex; padding: 50px; background: #d2e2fb; border-radius: 50%; }
.tournament-promo--poster .tournament-promo__poster-logo img { width: 230px; height: 230px; object-fit: contain; }
.tournament-promo--poster .tournament-promo__cover,.tournament-promo--poster .tournament-promo__hero::before { display: none; }
.tournament-promo--poster .tournament-promo__hero--image .tournament-promo__text-button { color: var(--page-link); }
.tournament-promo--experience .tournament-promo__hero:not(.tournament-promo__hero--image) { background: linear-gradient(115deg,#173b34,#315c45); color: #fff; }
.tournament-promo--experience .tournament-promo__hero:not(.tournament-promo__hero--image) .tournament-promo__text-button { color: #fff; }
.tournament-promo--experience .tournament-promo__hero:not(.tournament-promo__hero--image) .tournament-promo__button { box-shadow: 0 0 0 1px #ffffff80; }
.tournament-promo--guide .tournament-promo__hero { padding-block: 48px; min-height: 330px; background: #edf3e9; }
.tournament-promo--guide .tournament-promo__hero h1 { font-size: clamp(35px,4vw,56px); max-width: 780px; }
.tournament-promo--guide .tournament-promo__intro { font-size: 16px; }
.tournament-promo--guide .tournament-promo__cover,.tournament-promo--guide .tournament-promo__hero::before { display: none; }
.tournament-promo--guide .tournament-promo__hero--image { color: var(--page-ink); }.tournament-promo--guide .tournament-promo__hero--image .tournament-promo__text-button { color: var(--page-link); }
.tournament-promo--guide .tournament-promo__sections { max-width: 1000px; }.tournament-promo--guide .tournament-promo__section { padding-block: 35px; }.tournament-promo--guide .tournament-promo__section h2 { font-size: 28px; }
.tournament-promo--font-clean h1,.tournament-promo--font-clean h2 { font-family: var(--page-font); text-transform: none; }
.tournament-promo--font-editorial h1,.tournament-promo--font-editorial h2 { font-family: Georgia,serif; font-weight: 400; text-transform: none; }
.tournament-page-drawer { padding: 0; border: 0; margin: 0 0 0 auto; width: min(650px,100%); height: 100dvh; max-height: 100dvh; max-width: 100%; background: #f7f8f3; }
.tournament-page-drawer::backdrop { background: #0d2722a8; }
.tournament-page-drawer__layout { height: 100%; display: flex; flex-direction: column; }
.tournament-page-drawer__header { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px 25px; border-bottom: 1px solid var(--page-line); }
.tournament-page-drawer__header h2 { font-size: 22px; line-height: 1.3; margin: 0; }
.tournament-page-drawer__close { border: 1px solid #c1cfc5; border-radius: 50%; min-width: 42px; min-height: 42px; font-size: 23px; background: #fff; }
.tournament-page-drawer__body { min-height: 0; flex: 1; overflow: auto; display: flex; flex-direction: column; }
.tournament-page-drawer iframe { border: 0; width: 100%; flex: 1; min-height: 280px; background: #fff; }
.tournament-page-drawer__filters { padding: 25px; display: grid; grid-template-columns: 1fr 150px; align-items: end; gap: 8px 15px; }
.tournament-page-drawer__filters .tournament-page-drawer__reset { grid-column: 1 / -1; justify-self: end; font-size: 13px; }
.tournament-page-drawer__filters label { display: block; font-size: 12px; font-weight: 700; }
.tournament-page-drawer__filters input,.tournament-page-drawer__filters select { width: 100%; height: 48px; padding: 10px; border: 1px solid #a4b6aa; border-radius: 3px; background: #fff; color: var(--page-ink); font-size: 16px; line-height: 1.4; }
.tournament-page-drawer__list { list-style: none; padding: 0 25px; margin: 0; }
.tournament-page-drawer__list li { padding: 17px 0; border-bottom: 1px solid var(--page-line); display: flex; flex-direction: column; gap: 4px; }
.tournament-page-drawer__list span { font-size: 12px; color: var(--page-muted); }
.tournament-page-drawer__count,.tournament-page-drawer__error { padding: 0 25px 15px; font-size: 13px; }
.tournament-page-registration { margin: 0; padding: 25px; font: 15px/1.6 var(--page-font); background: #fff; }
.tournament-page-registration input,.tournament-page-registration select,.tournament-page-registration textarea,.tournament-page-registration button { font-family: inherit; }
.tournament-page-registration .reg-form-container { width: 100%; max-width: 100%; padding: 0; }.tournament-page-registration .messages-box { position: static; padding: 15px; margin-bottom: 20px; background: #ffe9e4; color: #8f2618; }.tournament-page-registration .form-group { margin-bottom: 24px; }.tournament-page-registration .form-control { font-size: 16px; }.tournament-page-registration .package-card { max-width: 100%; }.tournament-page-registration__success h2 { font-size: 24px; }
@media(max-width:1000px) { .tournament-promo__nav nav { gap: 14px; }.tournament-promo--poster .tournament-promo__poster-logo { padding: 25px; }.tournament-promo--poster .tournament-promo__poster-logo img { width: 170px; height: 170px; }.tournament-promo__hero { gap: 35px; }.tournament-promo__classes { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:650px) {
    .tournament-promo__nav { padding: 15px 20px; min-height: 75px; gap: 15px; }.tournament-promo__brand { max-width: 220px; font-size: 11px; }.tournament-promo__brand img { width: 40px; height: 40px; }.tournament-promo__nav nav { display: none; }.tournament-promo__language select { width: 100px; font-size: 13px; }
    .tournament-promo__hero { padding: 55px 24px; min-height: 500px; }.tournament-promo__hero h1 { font-size: clamp(38px,11.5vw,52px); }.tournament-promo__intro { font-size: 18px; }.tournament-promo__eyebrow { font-size: 10px; }.tournament-promo--poster .tournament-promo__poster-logo { display: none; }.tournament-promo--poster .tournament-promo__hero h1 { font-size: clamp(48px,16vw,72px); }.tournament-promo__actions { gap: 12px 20px; }.tournament-promo__button { max-width: 100%; }
    .tournament-promo__facts { grid-auto-flow: row; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 24px; gap: 20px; }.tournament-promo__facts strong { font-size: 17px; }.tournament-promo__facts > div { padding-right: 9px; }.tournament-promo__facts >div:nth-child(2) { border: 0; }.tournament-promo__sections { padding-inline: 24px; }.tournament-promo__section { padding-block: 40px; }.tournament-promo__section h2 { font-size: 32px; }.tournament-promo__section >p { font-size: 14px; }.tournament-promo__classes { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.tournament-promo__classes >button { padding: 18px 14px; font-size: 17px; }.tournament-promo__footer { padding-inline: 24px; font-size: 10px; }
    .tournament-promo__facts:has(> :only-child) { grid-template-columns: minmax(0,1fr); }
    .tournament-page-drawer__header { padding: 15px 20px; }.tournament-page-drawer__header h2 { font-size: 21px; }.tournament-page-drawer__filters { padding: 20px; grid-template-columns: 1fr 128px; }.tournament-page-registration { padding: 20px; }
}
@media(prefers-reduced-motion:reduce) { .tournament-promo * { scroll-behavior: auto; } }
.tournament-promo.tournament-promo--font-clean .tournament-promo__hero h1 { font-family: var(--page-font); text-transform: none; }
.tournament-promo.tournament-promo--font-editorial .tournament-promo__hero h1 { font-family: Georgia,serif; font-weight: 400; text-transform: none; }
.tournament-promo--poster.tournament-promo--font-clean .tournament-promo__hero h1,.tournament-promo--poster.tournament-promo--font-editorial .tournament-promo__hero h1 { font-size: clamp(44px,6.5vw,84px); }
@media(max-width:650px) { .tournament-promo--poster.tournament-promo--font-clean .tournament-promo__hero h1,.tournament-promo--poster.tournament-promo--font-editorial .tournament-promo__hero h1 { font-size: clamp(36px,10vw,48px); } }
.tournament-page-drawer__frame--loading { visibility: hidden; }
.tournament-promo__language-error { padding: 15px 24px; margin: 0; background: #fff0e6; color: #80350f; font-size: 13px; }
.tournament-page-registration__review h2 { font-size: 26px; margin: 0 0 26px; }.tournament-page-registration__review dl >div { padding: 15px 0; border-bottom: 1px solid #dce5dd; }.tournament-page-registration__review dt { font-weight: 600; font-size: 12px; color: #596e66; }.tournament-page-registration__review dd { margin: 6px 0 0; overflow-wrap: anywhere; white-space: pre-line; }.tournament-page-registration__review >p { font-size: 13px; color: #596e66; margin-top: 25px; }.tournament-page-registration__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }.tournament-page-registration__packages { white-space: pre-line; font-size: 13px; }
.tournament-promo--guide .tournament-promo__nav nav { display: none; }
.tournament-promo__guide-layout { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 30px; max-width: 1280px; margin: auto; padding: 30px; align-items: start; }
.tournament-promo__guide-sidebar { position: sticky; top: 25px; padding: 22px; border: 1px solid #d5e1d2; border-radius: 4px; background: #edf3e9; max-height: calc(100dvh - 50px); overflow-y: auto; }
.tournament-promo__guide-sidebar h2 { font-size: 15px; line-height: 1.4; margin: 0 0 22px; font-weight: 700; }.tournament-promo__guide-sidebar nav { display: flex; flex-direction: column; gap: 4px; }.tournament-promo__guide-sidebar a { display: block; padding: 10px 0; font-size: 12px; text-decoration: none; border-bottom: 1px solid #d5e1d2; }.tournament-promo__guide-sidebar a:hover { color: var(--page-link); text-decoration: underline; }.tournament-promo__guide-main { min-width: 0; }
.tournament-promo--guide .tournament-promo__hero { padding: 40px; }.tournament-promo--guide .tournament-promo__facts { padding: 24px 30px; gap: 16px; }.tournament-promo--guide .tournament-promo__facts strong { font-size: 16px; }.tournament-promo--guide .tournament-promo__footer { padding-inline: 30px; }.tournament-promo--guide .tournament-promo__classes { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media(max-width:900px) { .tournament-promo__guide-layout { display: block; padding: 0; }.tournament-promo__guide-sidebar { position: static; border: 0; border-radius: 0; max-height: none; padding: 10px 24px; }.tournament-promo__guide-sidebar h2 { display: none; }.tournament-promo__guide-sidebar nav { flex-direction: row; overflow-x: auto; gap: 24px; }.tournament-promo__guide-sidebar a { flex-shrink: 0; max-width: 210px; border: 0; }.tournament-promo--guide .tournament-promo__hero { padding: 35px 24px; }.tournament-promo--guide .tournament-promo__facts { padding: 24px; }.tournament-promo--guide .tournament-promo__footer { padding-inline: 24px; } }

.tournament-page-registration__packages { margin-top: 28px; padding: 20px; border: 1px solid #dce5dd; border-radius: 4px; white-space: normal; }
.tournament-page-registration__packages .registration-summary-card__title { font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.tournament-page-registration__packages .registration-summary-card__item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 16px; padding-block: 12px; border-bottom: 1px solid #dce5dd; }
.tournament-page-registration__packages .registration-summary-card__item-label { min-width: 0; }
.tournament-page-registration__package-detail { display: block; color: #596e66; margin-top: 4px; font-size: 12px; }
.tournament-page-registration__packages .registration-summary-card__total:not(.hide-it) { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; font-weight: 700; font-size: 16px; margin-top: 16px; }
.tournament-page-registration__packages .registration-summary-card__muted { color: #596e66; margin-top: 12px; }
@media(max-width:360px) { .tournament-page-registration .g-recaptcha { margin-inline: min(0px,calc((100% - 304px)/2)); } }

.tournament-promo :where(.tournament-classes-overview__table) { width: 100%; border-collapse: collapse; text-align: left; }
.tournament-promo :where(.tournament-classes-overview__table) th { text-align: inherit; }

.tournament-promo__map { overflow: hidden; border: 1px solid var(--page-line); border-radius: 4px; background: #eee9de; }
.tournament-promo__map iframe { display: block; width: 100%; height: clamp(300px,40vw,450px); border: 0; }
.tournament-promo__map-details { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; }
.tournament-promo__map-details p { color: var(--page-muted); margin: 0; }
.tournament-promo__section > .tournament-promo__map-empty { padding: 28px; border: 1px dashed var(--page-line); border-radius: 4px; background: #f0f5ed; }

.tournament-promo .tournament-classes-overview__table a { text-decoration: underline; text-underline-offset: 3px; }
.tournament-promo .tournament-classes-overview__table a:is(:hover,:focus-visible) { color: var(--page-link,#146254); text-decoration-thickness: 2px; }
