/* Phone-first refinements shared by all public pages. */
.mobile-booking-bar{display:none}
.local-cricket-section{display:block}
.local-cricket-section p{max-width:800px;margin:18px 0;line-height:1.8}
@media(max-width:800px){
 html{scroll-padding-top:90px}
 body{font-size:16px;-webkit-text-size-adjust:100%}
 main,section,article,aside,.section>*,.form-grid>*,.booking-layout>*{min-width:0}
 header .nav-wrap{padding:12px 18px;gap:12px;min-height:72px}
 header .logo{flex-shrink:0;font-size:24px}
 header .logo small{font-size:6px;letter-spacing:1.7px}
 header .button.nav-cta{margin-left:auto;min-height:44px;padding:10px 13px!important;border-radius:10px;gap:8px}
 header .menu-toggle{width:44px;height:44px;padding:10px;flex-shrink:0}
 header .nav.open{left:0;right:0;top:100%;padding:16px 22px 22px;max-height:calc(100dvh - 80px);overflow:auto;box-shadow:0 16px 24px #173d2b15}
 header .nav.open a{display:block;min-height:46px;font-size:18px;padding:10px 0}
 .faq-section,.split-section,.concept-grid,.group-inquiries,.home-why .how-grid,.home-how .how-grid,.home-groups,.early-access{grid-template-columns:minmax(0,1fr)!important;gap:24px}
 .faq-section>h2,.faq-section>.eyebrow,.faq-section>p{grid-column:1/-1}
 .faq-list{width:100%;min-width:0}
 .faq-list summary{font-size:16px;line-height:1.5;gap:12px}
 .faq-list details{padding:18px 16px}
 .faq-list details p{font-size:15px;line-height:1.75}
 .section-heading{flex-direction:column;align-items:flex-start!important;gap:18px}
 .section-heading>p{font-size:15px!important}
 .sub-hero{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0}
 .sub-hero article{grid-area:1/1}
 .sub-hero>img{grid-area:2/1;height:240px}
 .sub-hero h1,.public-hero h1{font-size:clamp(42px,10vw,58px)}
 .sub-hero p,.body-copy,.panel>p,.legal p{font-size:16px;line-height:1.75}
 .split-section .price-card{min-width:0;width:100%}
 .prelaunch-strip{flex-direction:column;align-items:flex-start;gap:10px}
 .prelaunch-strip p{min-width:0;font-size:13px;line-height:1.7}
 .booking-layout{grid-template-columns:minmax(0,1fr)!important;gap:22px}
 .simple-booking .booking-summary{position:static;scroll-margin-top:90px}
 .simple-booking .booking-summary .panel{border-radius:18px;padding:22px}
 .simple-booking .booking-panel{padding:22px 18px;border-radius:18px}
 .page-title{margin-bottom:24px}
 .page-title p{font-size:16px;line-height:1.7;margin-top:14px}
 .booking-panel h2{font-size:30px;line-height:1.12}
 .booking-panel h3{font-size:26px;line-height:1.15}
 .basket-guide{font-size:15px;line-height:1.65;margin-bottom:20px}
 .booking-progress{gap:6px;justify-content:space-between;font-size:12px;margin-bottom:22px;padding-bottom:16px}
 .booking-progress span{white-space:normal}
 .booking-choice-label{font-size:14px}
 .game-switch{margin-bottom:20px}
 .game-switch button{min-height:50px;font-size:16px}
 .court-switch{gap:10px}
 .court-switch button{min-height:70px;padding:14px 12px;gap:8px}
 .court-description{font-size:13px!important;line-height:1.6;margin:12px 0 20px!important}
 .simple-booking .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .form-grid label,form label,.inquiry-form label{font-size:15px;line-height:1.5;gap:8px}
 input:not([type=checkbox]),select,textarea{font-size:16px;min-width:0;max-width:100%;min-height:52px;border-radius:10px;padding:13px 12px}
 input[type=date]{display:block;width:100%;min-inline-size:0}
 select{appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23254e36' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
 .simple-booking .booking-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}
 .booking-time-grid button{min-height:66px;padding:12px 6px;font-size:15px;line-height:1.35}
 .booking-time-grid button small{font-size:12px;line-height:1.4}
 .time-heading{margin-top:24px;font-size:16px}
 .admin-notice{font-size:13px;line-height:1.65}
 .session-selection{font-size:14px;line-height:1.65}
 .simple-booking .button,.inquiry-form .button{min-height:48px;font-size:15px;padding:13px 16px;white-space:normal;text-align:center}
 .simple-booking .form-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .simple-booking #add-session{width:100%}
 .simple-booking .check{font-size:14px!important;line-height:1.6}
 .simple-booking .check input{margin-top:3px}
 .cart-line p{font-size:14px;line-height:1.6}
 .cart-line div{gap:10px;flex-wrap:wrap}
 .cart-line button{min-height:44px;font-size:14px;padding:8px}
 .simple-booking .summary-total{gap:12px;flex-wrap:wrap}
 .simple-booking .summary-total span{font-size:14px}
 .simple-booking .summary-total strong{font-size:30px;white-space:nowrap}
 .booking-summary small{font-size:12px;line-height:1.7}
 .simple-booking .summary-row{font-size:14px;gap:12px;flex-wrap:wrap;overflow-wrap:anywhere}
 #planner-review .notice{padding:18px 16px;font-size:15px;line-height:1.75;overflow-wrap:anywhere}
 #planner-details,#planner-review{scroll-margin-top:90px}
 .booking-extras summary{font-size:14px;line-height:1.5}
 body:has(#booking-planner){padding-bottom:112px}
 .mobile-booking-bar:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce4d5;box-shadow:0 -6px 24px #173d2b0c}
 .mobile-booking-bar button{min-height:48px;border:0;cursor:pointer}
 .mobile-booking-total{background:none;color:#234c35;text-align:left;padding:0;display:flex;flex-direction:column;gap:2px}
 .mobile-booking-total span{font-size:12px;text-decoration:underline}
 .mobile-booking-total strong{font-size:19px;line-height:1.25}
 .mobile-booking-next{background:#254e36;color:white;border-radius:10px;padding:12px 20px;font-size:15px;font-weight:700}
 .box-cookie-settings{position:static!important;display:block;margin:12px auto!important;min-height:40px}
 .box-consent{left:12px!important;right:12px!important;bottom:12px!important;max-height:calc(100dvh - 32px);overflow:auto;padding:20px!important;font-size:14px!important}
 .box-consent-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
 .box-consent button{min-height:48px;font-size:14px!important;padding:12px 8px!important}
}
@media(max-width:540px){
 .dev-preview-banner{font-size:10px;padding:7px 16px;line-height:1.5}
 .announcement{justify-content:center;text-align:center;font-size:9px;line-height:1.5;padding:8px 18px;letter-spacing:.5px}
 header .button.nav-cta{font-size:0!important}
 header .nav-cta:before{content:'Book a game';font-size:13px}
 header .nav-cta svg{width:16px;height:16px}
 header .nav-wrap{gap:10px;padding:10px 16px}
 .section{padding:36px 18px}
 .eyebrow{font-size:10px;letter-spacing:1.5px;line-height:1.7;margin-bottom:14px}
 .home-hero{min-height:0;padding:44px 20px 56px;overflow:hidden}
 .home-hero h1{font-size:clamp(40px,11.2vw,56px);letter-spacing:-.6px;line-height:1.02;overflow-wrap:normal}
 .home-hero h1 span:after{margin-top:18px;width:85px;height:4px}
 .home-hero-copy>p{font-size:15px;line-height:1.75;margin-top:22px;max-width:100%}
 .home-hero .welcome-tag{font-size:8px;letter-spacing:.8px;padding:8px 10px;line-height:1.5;white-space:normal;justify-content:center}
 .home-hero-actions{gap:10px;max-width:none;margin-top:24px}
 .home-hero-actions .button{font-size:14px;min-height:50px;padding:13px 16px;width:100%;border-radius:10px}
 .home-hero .hero-reassurance{font-size:11px;line-height:1.7;align-items:flex-start;margin-top:22px;gap:8px}
 .home-hero-visual figcaption{font-size:9px;left:16px;right:16px;bottom:10px;line-height:1.4;text-align:center}
 .launch-note{margin:20px 18px;padding:18px;gap:10px}
 .launch-note p{font-size:13px;min-width:0;line-height:1.7}
 .home-page .home-how,.home-page .supporting-pool,.home-page .home-hangout,.home-page .home-groups,.home-page .home-why,.home-page .early-access,.home-page .faq-section,.home-page .local-cricket-section{width:calc(100% - 36px);margin:18px auto 26px;padding:26px 20px;border-radius:20px}
 .home-page h2{font-size:38px;line-height:1.08;letter-spacing:-.5px}
 .court-comparison .activity-grid,.supporting-pool .activity-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .court-comparison article,.supporting-pool article{padding:22px;border-radius:18px;min-width:0}
 .court-comparison h3,.supporting-pool h3{font-size:30px;line-height:1.15}
 .court-comparison ul{padding:0 0 0 19px;margin:18px 0;font-size:15px;line-height:1.75}
 .court-comparison li+li{margin-top:9px}
 .court-comparison .button,.supporting-pool .button{width:100%;min-height:48px;font-size:14px;padding:13px 14px}
 .supporting-pool p,.home-how p,.home-groups p,.home-why p,.hangout-copy>p,.local-cricket-section p{font-size:15px;line-height:1.75}
 .supporting-pool article p{margin:16px 0}
 .proposed-rates{padding:18px 0 0}
 .proposed-rates>div{flex-wrap:wrap;gap:5px}
 .proposed-rates small{font-size:12px;line-height:1.7}
 .how-grid{gap:24px;margin:24px 0}
 .how-grid h3{font-size:25px;line-height:1.15}
 .how-grid p{margin-top:10px}
 .home-hangout .hangout-photo img{height:220px;border-radius:14px}
 .home-hangout .text-link,.home-groups .button,.home-how .button{font-size:14px;min-height:48px;white-space:normal}
 .amenity-tags{flex-wrap:wrap;gap:8px}
 .amenity-tags span{font-size:12px;padding:7px 10px}
 .input-cta{flex-direction:column}
 .input-cta .button{width:100%;min-height:48px;font-size:14px}
 .early-access p,.early-access .check{font-size:14px!important;line-height:1.7}
 footer{padding:32px 20px 24px}
 .footer-top{grid-template-columns:1fr 1fr;gap:28px 18px}
 .footer-top>div:first-child,.footer-location{grid-column:1/-1}
 .footer-top>div>a:not(.logo){font-size:14px;line-height:1.5;min-height:32px}
 .footer-top small{font-size:10px;line-height:1.5}
 .footer-top p{font-size:14px;line-height:1.7}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px;font-size:12px;line-height:1.7;margin-top:28px}
 .legal h1,.page-title h1{font-size:42px;line-height:1.08;letter-spacing:-.8px}
 .legal h2{font-size:28px;line-height:1.2}
 .legal p{overflow-wrap:anywhere}
 .notice{padding:18px;font-size:14px}
 .concept-grid .panel{padding:22px}
 .feature-list p{font-size:15px}
}
@media(max-width:360px){header .logo{font-size:21px}header .logo-mark{width:28px;height:29px;font-size:20px;line-height:23px}header .nav-wrap{gap:7px;padding-inline:12px}header .button.nav-cta{padding:9px 10px!important}header .nav-cta:before{font-size:12px}.booking-progress{font-size:11px}.game-rate{font-size:11px}.court-choice-heading{gap:6px}.mobile-booking-bar{padding-inline:12px!important}.mobile-booking-next{padding-inline:14px}.home-page h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-hero-copy{animation:none!important}}
/* A legible wordmark and descriptor at every screen size. */
header .logo{font-size:34px;gap:12px}
header .logo small{font-size:10px;letter-spacing:2px;line-height:1.4;margin-top:6px;font-weight:650}
footer .logo{font-size:32px}
footer .logo small{font-size:10px;letter-spacing:2px;line-height:1.4;font-weight:650}
@media(max-width:800px){
 header .logo{font-size:30px;gap:9px}
 header .logo small{font-size:9px;letter-spacing:1.25px;margin-top:5px}
 header .logo-mark{width:36px;height:36px;font-size:26px;line-height:30px}
}
@media(max-width:540px){
 header .nav-wrap{gap:10px;padding:12px 16px}
 header .logo{font-size:30px;gap:9px}
 header .logo small{font-size:9px;letter-spacing:1.25px}
 header .button.nav-cta{padding:10px 12px!important;min-height:44px}
 header .nav-cta:before{content:'Book';font-size:14px}
 header .nav-cta svg{display:none}
 header .menu-toggle{width:40px;padding:8px}
}
@media(max-width:360px){
 header .nav-wrap{padding-inline:12px;gap:8px}
 header .logo{font-size:28px;gap:8px}
 header .logo-mark{width:32px;height:34px;font-size:24px;line-height:28px}
 header .logo small{font-size:9px;letter-spacing:.8px}
 header .button.nav-cta{padding:10px!important}
 header .menu-toggle{width:36px;padding:6px}
}
header .logo small,footer .logo small{font-size:11px;letter-spacing:1px}
@media(max-width:360px){header .logo small{font-size:10px;letter-spacing:.7px}}
