/* Shared IFR page-by-page reading experience. */
:root{--header-height:86px;--reader-height:74px;--gutter:clamp(24px,5vw,88px)}
html{scroll-behavior:auto;scroll-padding-top:110px}
.brochure-enabled body{padding-bottom:var(--reader-height)}
.site-header{height:var(--header-height)}
.brochure-enabled:not(.brochure-ready) .brochure-page:not(#home){display:none}
.brochure-page{min-height:calc(100svh - var(--header-height) - var(--reader-height));outline:none!important;animation:page-in .3s ease both}
.brochure-page.section-space{padding-block:48px 58px}
@keyframes page-in{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.brochure-controls{position:fixed;z-index:12;bottom:0;left:0;width:100%;height:var(--reader-height);background:#12151ef5;backdrop-filter:blur(15px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px var(--gutter);gap:24px}
.reading-progress{position:absolute;inset:0 0 auto;height:2px;background:#ffffff0b}
.reading-progress span{display:block;height:100%;background:var(--yellow);transition:width .3s ease}
.page-arrow{border:0;background:none;padding:10px 0;display:flex;align-items:center;gap:15px;font-size:17px;font-weight:800}
.page-arrow:last-child{justify-self:end}.page-arrow:disabled{opacity:.25}.page-arrow:hover:not(:disabled){color:var(--yellow)}
.page-location{display:flex;align-items:center;gap:20px;min-width:0}
.page-location>span{font-size:14px;color:var(--yellow);font-weight:800;white-space:nowrap}
.page-location select{font-family:inherit;font-size:15px;font-weight:700;color:white;background:var(--deep);border:0;border-left:1px solid var(--line);padding:8px 28px 8px 18px;max-width:240px;min-width:0;cursor:pointer}
.page-location select:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.site-header nav{margin-left:auto;gap:clamp(14px,1.5vw,24px)}.site-header nav a{font-size:14px}
.fullscreen-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:10px;margin-left:20px;border:1px solid var(--line);background:transparent;color:#fff;cursor:pointer}
.fullscreen-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fullscreen-button:hover,.fullscreen-button[aria-pressed=true]{color:var(--yellow);border-color:var(--yellow);background:#ffdd6d0b}
.fullscreen-button:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
.padel-hero{padding-top:48px;padding-bottom:0;min-height:calc(100svh - var(--header-height) - var(--reader-height));align-content:center;row-gap:24px}
.padel-hero h1{font-size:clamp(62px,5.8vw,96px)}.padel-hero .hero-copy{padding-bottom:14px}.padel-hero .hero-photo-note{font-size:22px}
.padel-hero .hero-subtitle{margin-top:24px}.padel-hero .hero-date{margin-top:22px}.padel-hero .hero-actions{margin-top:24px}
.padel-hero .chapter-strip{grid-column:1/-1;align-self:end;padding:18px 0;margin-top:16px;gap:36px;font-size:14px;border-bottom:0}
.brochure-page h2{font-size:clamp(43px,4vw,64px)}.brochure-page .eyebrow{font-size:14px;letter-spacing:.1em;margin-bottom:22px}.brochure-page .lead{font-size:20px}
.brochure-page .section-heading,.brochure-page .village-heading{margin-bottom:32px}.village-includes{margin-top:36px}
.brochure-page .sponsor-notes,.brochure-page .hospitality-note,.brochure-page .mobile-table-hint{font-size:14px}
.brochure-page .sponsor-table{font-size:16px}.brochure-page .sponsor-table td,.brochure-page .sponsor-table th{padding-block:15px}
.brochure-page .category-layout{margin-top:36px}.brochure-page .category-bottom{margin-top:36px}
.contact-section .contact-ways,.contact-section .contact-bottom{margin-top:32px}
/* Centre the complete team-pricing columns, including their headings. */
#teams .team-pricing-layout{row-gap:32px}
.team-pricing-overview,.team-pricing-feature{display:contents}
.team-pricing-heading{grid-column:1/-1;grid-row:1}
.team-pricing-feature>.availability{grid-column:1/-1;grid-row:2;justify-self:end}
#teams .team-rates{grid-column:1;grid-row:3}
#teams .team-selection-card{grid-column:2;grid-row:3}
@media(min-width:1050px){
 #teams.brochure-page.section-space{padding-block:32px}
 #teams .team-pricing-layout{min-height:calc(100svh - var(--header-height) - var(--reader-height) - 64px);align-items:center;column-gap:7%}
 .team-pricing-overview,.team-pricing-feature{display:block;min-width:0}
 #teams .team-pricing-heading{margin-bottom:24px}
 #teams h2{font-size:clamp(43px,3.2vw,56px)}
 #teams .availability{margin:0 0 18px auto;padding:0}
 #teams .rate-heading{padding-bottom:16px}
 #teams .team-choice{padding-block:14px}
 #teams .additional-team{margin-top:18px;padding-bottom:16px}
 #teams .team-rates>.tax{margin-top:14px}
 #team-selection{padding:26px 30px}
 #team-selection .eyebrow{margin-bottom:12px}
 #team-selection .price{font-size:62px;margin-top:16px}
 #teams .team-player-count{margin-top:18px;padding-top:16px}
 #team-selection .button{margin-top:18px}
 #teams .team-feature-photo{aspect-ratio:auto;height:clamp(160px,calc(100svh - 670px),240px)}
 #teams .team-inclusions{margin-top:64px}
}
@media(max-width:560px){
 #teams .team-rates{grid-column:1/-1}
 #teams .team-selection-card{grid-column:1/-1;grid-row:4}
}
@media(max-width:800px){.team-pricing-feature>.availability{justify-self:start}}
@media(min-width:1050px){
 .event-section{grid-template-columns:1fr 1fr;column-gap:5%;row-gap:18px;align-content:center}
 .event-section.brochure-page.section-space{padding-block:32px}
 .event-section h2{font-size:clamp(42px,3.2vw,56px)}
 .event-section .event-copy{max-width:none;margin-top:18px}
 .event-section .section-heading{grid-column:1;grid-row:1;margin:0}
 .event-section .event-intro{grid-column:2;grid-row:1;padding-top:0;align-self:start}
 .event-section .padel-format-numbers{margin-block:14px 18px}
 .event-section .padel-format-numbers strong{font-size:54px}
 .event-section .padel-format-numbers>div{padding-bottom:12px}
 .event-section .padel-format-numbers span{margin-top:6px}
 .event-section .category-pills{margin-top:18px}
 .event-section .event-wide{grid-column:1;grid-row:2;margin:0;aspect-ratio:auto;height:clamp(170px,calc(100svh - 710px),300px)}
 .event-section .video-feature{grid-column:1;grid-row:3;margin:0;padding:16px 0;gap:16px;flex-wrap:wrap}
 .event-section .video-feature h3{font-size:21px}.event-section .video-feature p{font-size:14px}.event-section .video-link{font-size:14px}
 .event-section .past-companies{grid-column:2;grid-row:2/4;grid-template-columns:1fr;align-self:start;margin:24px 0 0;padding-top:24px;border-top:1px solid var(--line);gap:10px}
 .event-section .company-logos{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px}
 .event-section .company-logos>div{min-height:56px;padding:9px}.event-section .company-logos img{height:38px}
 .event-section .past-companies>h3{font-size:22px}.event-section .past-companies>p{font-size:16px}
 .event-section .companies-more{font-size:14px!important}.event-section .format-benefits{gap:12px 18px;margin-top:18px}
}
@media(min-width:1050px) and (max-height:850px){
 .event-section.brochure-page.section-space{padding-block:20px}
 .event-section{row-gap:14px}.event-section h2{font-size:42px}.event-section .eyebrow{margin-bottom:16px}
 .event-section .event-copy{font-size:18px;line-height:1.5;margin-top:16px}
 .event-section .padel-format-numbers{margin-block:10px 12px}.event-section .padel-format-numbers strong{font-size:48px}
 .event-section .format-benefits{gap:8px 18px;margin-top:12px}.event-section .category-pills{margin-top:14px}
 .event-section .event-wide{height:170px}.event-section .video-feature{padding-block:10px}
 .event-section .past-companies{margin-top:20px;padding-top:20px;gap:8px}.event-section .past-companies>p{font-size:15px}
 .event-section .company-logos>div{min-height:48px;padding:7px}.event-section .company-logos img{height:32px}
}
@media(max-width:1050px){
 .menu-toggle{display:flex;align-items:center;gap:15px;margin-left:auto;border:1px solid var(--line);background:none;padding:9px 13px;min-height:44px;font-size:14px}
 .menu-toggle span{font-size:18px;color:var(--yellow)}.fullscreen-button{margin-left:12px}
 .site-header nav{display:none;position:absolute;top:calc(var(--header-height) - 1px);left:0;right:0;margin-left:0;background:var(--navy);padding:15px var(--gutter) 25px;border-bottom:1px solid var(--line);box-shadow:0 25px 25px #0004;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100svh - var(--header-height) - var(--reader-height));overflow-y:auto}
 .site-header nav.is-open{display:flex}.site-header nav a{font-size:16px;padding:14px 0;border-bottom:1px solid var(--line)}
 .site-header .nav-enquire{margin-top:15px;padding:13px 16px;justify-content:space-between}
}
@media(max-width:800px){
 :root{--header-height:77px;--reader-height:72px}
 .brochure-page.section-space{padding-block:36px 48px}.brochure-page h2{font-size:clamp(38px,7vw,58px)}.brochure-page .eyebrow{font-size:13px}
 .padel-hero{grid-template-columns:1fr;min-height:0;padding-top:36px;gap:20px}.padel-hero h1{font-size:clamp(55px,10vw,82px)}.padel-hero .hero-visual{padding-top:30px}
 .padel-hero .chapter-strip{margin-top:20px;gap:20px;padding:20px 0;font-size:14px;line-height:1.4}
 .brochure-controls{gap:16px}.page-location{gap:12px}.page-location select{max-width:205px;padding-left:12px;font-size:14px}.page-arrow{font-size:21px}.page-arrow span{font-size:14px}
}
@media(max-width:520px){
 :root{--reader-height:68px;--gutter:22px}.brochure-controls{padding-inline:18px;gap:10px;grid-template-columns:40px minmax(0,1fr) 40px}
 .page-arrow span{display:none}.page-arrow{font-size:25px;padding:8px}.page-location{justify-content:center;gap:10px}.page-location select{max-width:176px;width:100%;padding-left:10px;padding-right:7px;font-size:14px}.page-location>span{font-size:13px}
 .padel-hero h1{font-size:clamp(46px,11.9vw,65px)}.padel-hero .chapter-strip{font-size:13px;gap:13px}.padel-hero .chapter-strip a{max-width:100px}.padel-hero .hero-copy{padding:0}
 .padel-hero .hero-photo-note{font-size:20px}.brochure-page .lead{font-size:18px}.brochure-page .sponsor-table.single-package,.brochure-page .sponsor-table.single-package td{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.brochure-page{animation:none}.reading-progress span{transition:none}}
@media print{
 .brochure-enabled body{padding:0}.site-header,.brochure-controls{display:none!important}
 .brochure-page,.brochure-page[hidden],.brochure-enabled:not(.brochure-ready) .brochure-page:not(#home){display:block!important;min-height:0;animation:none;break-before:page}
 .table-scroll{overflow:visible}.sponsor-table{min-width:0}.hero .chapter-strip{display:none}
}


/* The booking is a native three-step form within the brochure. */
.booking-page{display:grid;grid-template-columns:.72fr 1.28fr;gap:7%;padding-block:52px 64px;align-items:start}
.booking-intro{position:sticky;top:130px}.booking-intro h2{font-size:clamp(45px,4.4vw,70px)}.booking-intro .lead{margin-top:28px;color:#fff}
.booking-intro-note{margin-top:42px;padding-top:26px;border-top:1px solid var(--line)}.booking-intro-note strong{font-size:28px;color:var(--yellow)}.booking-intro-note p{margin-top:3px;font-size:18px}.booking-assistance{font-size:16px;margin-top:36px}.booking-assistance a{display:inline-block;color:#fff;margin-top:5px;border-bottom:1px solid var(--line)}
.booking-surface{min-width:0;border-top:2px solid var(--yellow);background:#222633;padding:30px 36px 36px}
.booking-steps{list-style:none;display:grid;grid-template-columns:1fr .75fr 1.25fr;gap:14px;padding:0 0 24px;margin:0 0 28px;border-bottom:1px solid var(--line)}.booking-steps li{font-size:14px;line-height:1.4;color:var(--muted)}.booking-steps li span{display:block;font-weight:900;font-size:22px;margin-bottom:4px}.booking-steps [aria-current]{color:var(--yellow)}
fieldset{border:0;padding:0;margin:0;min-width:0}.booking-surface legend{font-size:26px;font-weight:800;margin-bottom:24px;line-height:1.25}
.form-required{font-size:14px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.field-wide{grid-column:1/-1}
.form-field{display:flex;flex-direction:column;gap:9px;font-size:16px;font-weight:700;min-width:0}.required{color:var(--yellow)}
.form-field small,.name-fieldset small{font-weight:400;font-size:14px;color:var(--muted)}
.form-field input,.form-field select{width:100%;min-width:0;border:1px solid #ffffff45;background:#191c27;color:white;font:400 17px 'Nunito Sans',Arial,sans-serif;padding:13px 14px;min-height:52px;border-radius:0;box-shadow:none;color-scheme:dark}
.form-field input:focus,.form-field select:focus{outline:2px solid var(--yellow);outline-offset:2px}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:#ff9b8c}
.name-fieldset legend{font-size:16px;font-weight:700;margin-bottom:12px}.name-fieldset .form-field>span{font-size:14px;font-weight:400}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}.form-actions .button{margin-left:auto}.form-actions .text-link{background:none;border-top:0;border-inline:0}
.form-error{padding:15px 18px;border:1px solid #ff9b8c;background:#552e2a55;color:#ffcdc5;margin-bottom:22px;font-size:16px}
.booking-review{display:flex;flex-wrap:wrap;gap:18px 32px;border:1px solid var(--line);padding:18px;margin-bottom:24px}.booking-review small,.booking-review strong{display:block}.booking-review small{font-size:14px;color:var(--muted);margin-bottom:4px}.booking-review strong{font-size:17px}.booking-review button{background:none;border:0;margin-left:auto;align-self:end;padding:0;font-size:14px}
.agreement-terms{padding:22px;background:var(--navy);border-left:2px solid var(--yellow)}.agreement-terms h4{font-size:18px;margin:22px 0 10px;letter-spacing:0}.agreement-terms h4:first-child{margin-top:0}.agreement-terms p{font-size:16px;margin-top:12px}.agreement-terms a{color:var(--yellow);text-decoration:underline}
.acceptance{display:flex;align-items:center;gap:13px;margin:24px 0 30px;font-size:17px;font-weight:800}.acceptance input{width:22px;height:22px;accent-color:var(--yellow);flex-shrink:0}
.field-help{font-size:14px;margin-bottom:14px}.signature-field{margin:28px 0}.signature-label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:16px;font-weight:700;margin-bottom:8px}.signature-label button{font-size:14px;background:none;border:0;color:var(--yellow);text-decoration:underline;padding:5px}
#signature-canvas{width:100%;height:160px;display:block;background:#fff;touch-action:none;cursor:crosshair;border:2px solid transparent}#signature-canvas:focus-visible{border-color:var(--yellow);outline:2px solid var(--yellow);outline-offset:3px}
.signature-upload{display:flex;flex-wrap:wrap;align-items:center;gap:9px 16px;margin-top:12px;font-size:14px}.signature-upload input{font:inherit;max-width:100%;min-width:0;color:var(--muted)}
.submission-note{font-size:14px;margin-top:24px}.bot-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#booking-success{padding:28px 0}#booking-success h3{font-size:54px;letter-spacing:-.04em;margin-bottom:24px}#booking-success dl{border-block:1px solid var(--line);padding:22px 0;margin:24px 0}#booking-success dt{font-size:14px;color:var(--muted);margin-top:18px}#booking-success dt:first-child{margin-top:0}#booking-success dd{margin:4px 0 0;font-size:20px;font-weight:800;overflow-wrap:anywhere}#booking-success .button{margin-top:28px}#booking-success p a{color:var(--yellow)}

.contact-booking{margin-top:28px}.booking-surface{scroll-margin-top:110px}.booking-intro .contact-date{display:flex;align-items:center;gap:14px;font-size:22px;margin-top:30px;color:white}.booking-intro .contact-date .icon{color:var(--yellow);flex-shrink:0}.booking-review strong{white-space:pre-line}.booking-page[hidden]{display:none!important}
@media(min-width:801px) and (max-width:1200px){.site-header nav{gap:12px}.site-header nav a{font-size:13px}.site-header .nav-enquire{padding:12px}.booking-page{gap:4%;grid-template-columns:.65fr 1fr}.booking-surface{padding:26px}.booking-intro h2{font-size:44px}}
@media(max-width:800px){.booking-page{grid-template-columns:1fr;gap:28px;padding-top:32px}.booking-intro{position:static}.booking-intro h2{font-size:42px}.booking-intro .contact-date{margin-top:18px;font-size:18px}.booking-intro-note,.booking-assistance{display:none}.booking-surface{padding:26px;scroll-margin-top:95px}}
@media(max-width:520px){.booking-page{padding-inline:16px}.booking-intro{padding-inline:6px}.booking-intro h2{font-size:38px}.booking-surface{padding:24px 18px}.booking-steps{gap:8px}.booking-steps li{font-size:14px}.booking-steps li span{font-size:20px}.booking-surface legend{font-size:23px}.form-grid{grid-template-columns:1fr}.name-fieldset legend{font-size:16px}.name-fieldset .form-grid{grid-template-columns:1fr 1fr;gap:12px}.form-actions .button{font-size:14px;gap:10px;padding-inline:14px}.agreement-terms{padding:18px}.booking-review{display:grid;grid-template-columns:1fr;gap:12px}.booking-review button{margin-left:0;justify-self:start}.team-count select{font-size:18px}}
@media print{#booking{display:none!important}}

/* Selected hospitality offer: complete image above compact commercial details. */
#hospitality.brochure-page.section-space{display:flex;align-items:center;padding-block:36px}
#hospitality .hospitality-layout{grid-template-columns:1fr 1fr;column-gap:6%;row-gap:32px;margin-top:0}
.hospitality-overview{display:contents}
.hospitality-heading{grid-column:1/-1}
#hospitality .hospitality-detail{padding:0;min-width:0;overflow:hidden}
.hospitality-image-frame{width:100%;aspect-ratio:16/9;background:var(--deep);overflow:hidden}
#hospitality-image{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .22s ease}
#hospitality-image.is-ready{opacity:1}
.hospitality-detail-copy{padding:22px 26px 24px}
#hospitality .hospitality-detail .eyebrow{font-size:12px;margin-bottom:12px}
.hospitality-detail-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}
#hospitality .hospitality-detail h3{font-size:26px;line-height:1.15;min-height:0;text-wrap:initial}
#hospitality .hospitality-detail .capacity{margin:0;font-size:16px;white-space:nowrap}
#hospitality .hospitality-detail #hospitality-includes{font-size:16px;line-height:1.5;margin-top:12px;min-height:3em}
.hospitality-purchase{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 22px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
#hospitality .hospitality-price{font-size:46px;line-height:1;margin:0}
#hospitality .hospitality-detail .tax{font-size:13px;margin-top:6px}
#hospitality .hospitality-detail .button{width:auto;max-width:100%;margin:0;font-size:14px;gap:14px;padding:13px 16px;min-height:50px}
#hospitality .food-heading{margin-top:32px;margin-bottom:20px}
#hospitality .food-cards article{padding:22px}
#hospitality .food-cards article>p:last-child{margin-top:14px}
#hospitality .merch-note{margin-top:20px}
@media(min-width:1100px){
 #hospitality .hospitality-layout{min-height:calc(100svh - var(--header-height) - var(--reader-height) - 72px);align-items:center}
 #hospitality .hospitality-overview{display:block;min-width:0}
 #hospitality .hospitality-heading{margin-bottom:32px}
 #hospitality .food-heading{margin-top:64px}
 #hospitality h2{font-size:clamp(43px,3.6vw,58px)}
 #hospitality .hospitality-option{padding-block:24px}
}
@media(max-width:1100px) and (min-width:701px){
 .hospitality-detail-copy{padding:20px}
 #hospitality .hospitality-detail h3{font-size:24px}
 #hospitality .hospitality-detail .button{width:100%;justify-content:space-between}
}
@media(max-width:700px){
 #hospitality.brochure-page.section-space{padding-block:32px}
 #hospitality .hospitality-layout{grid-template-columns:1fr;gap:28px;margin-top:0}
 .hospitality-detail-copy{padding:22px}
 #hospitality .hospitality-detail h3{font-size:26px}
 #hospitality .hospitality-detail #hospitality-includes{min-height:0}
 #hospitality .hospitality-detail .button{width:100%;justify-content:space-between}
 #hospitality .food-cards article>p:last-child{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){#hospitality-image{transition:none}}

#hospitality>.section-shell{width:100%}
#hospitality .hospitality-option .option-icon{width:26px;height:26px;color:var(--muted)}
#hospitality .hospitality-option[aria-pressed=true] .option-icon{color:var(--yellow)}

/* Categories remain visible directly beneath the team entry rates. */
#teams .team-categories{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
#teams .team-categories h3{font-size:18px;letter-spacing:0;line-height:1.35}
#teams .team-categories .category-pills{margin-top:12px;gap:8px;flex-wrap:wrap}
#teams .team-categories .category-pills span{font-size:14px;padding:7px 10px}
@media(min-width:1050px){
 #teams .team-pricing-heading{margin-bottom:20px}
 #teams .team-choice{padding-block:10px}
 #teams .additional-team{margin-top:12px;padding-bottom:12px}
 #teams .team-rates>.tax{margin-top:10px}
 #teams .team-categories{margin-top:20px;padding-top:16px}
}
#teams .team-categories .category-pills span{border:1px solid var(--line);color:var(--muted)}
/* Four balanced logo rows, with each original mark sized by its visible artwork. */
.event-section .company-logos{grid-template-columns:repeat(3,minmax(0,1fr))}
.event-section .company-logos>div{min-width:0;min-height:56px;padding:8px 4px;overflow:hidden}
.event-section .company-logo-mark{display:block;position:relative;width:140px;height:40px;flex-shrink:0}
.event-section .company-logos .company-logo-mark img{position:absolute;width:var(--mark-width);height:var(--mark-height);left:var(--mark-left);top:var(--mark-top);max-width:none;object-fit:contain}
@media(min-width:1050px) and (max-height:850px){
 .event-section .company-logos>div{min-height:48px;padding-block:4px}
}
@media(max-width:520px){.event-section .company-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.event-section .company-logo-mark{transform:scale(.9)}}
@media(min-width:1050px){
 .event-section .format-benefits li:last-child{grid-column:1/-1}
 .event-section .company-logos>div{min-height:50px;padding-block:5px}
}
@media(min-width:1050px) and (max-height:850px){
 .event-section .company-logos>div{min-height:46px;padding-block:3px}
}
