/* gateway.css */
:root{--navy:#07194e;--green:#008454;--green-dark:#006945;--ink:#0a1b4c;--muted:#59709c;--line:#dfe5ee;--pale:#f5f9fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--navy)}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--navy)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.landing-header{height:64px;display:flex;align-items:center;padding:0 clamp(28px,3.1vw,50px);gap:48px;border-bottom:1px solid #e5e8ec;background:#fff;position:relative;z-index:5}.landing-logo{font-size:29px;line-height:.72;font-weight:950;letter-spacing:-2px;color:#102c72;white-space:nowrap}.landing-logo small{display:block;margin-top:8px;font-size:7px;letter-spacing:1.3px;font-weight:800}.landing-header nav{display:flex;gap:30px;margin-left:40px;font-size:13px;font-weight:700}.landing-header nav a:first-child{color:#001b57}.landing-tools{margin-left:auto;display:flex;align-items:center;gap:18px}.location-select{display:flex;align-items:center;gap:8px;min-width:235px;height:36px;padding:0 13px;border:1px solid #d6ddeb;border-radius:22px;font-size:12px;color:#16295b}.location-select select{appearance:none;border:0;background:transparent;outline:0;min-width:0;flex:1;color:#16295b}.search-button{border:0;background:none;font-size:25px;color:#0d245e}.sign-in,.green-button{border:0;border-radius:7px;background:linear-gradient(135deg,#009a61,#007043);color:#fff;padding:10px 20px;font-size:13px;font-weight:800}.public-home{max-width:1440px;margin:0 auto}.experience-hero{height:420px;position:relative;background:var(--hero) center/cover;color:#fff;overflow:visible}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,8,18,.73),rgba(0,17,31,.26) 57%,rgba(0,0,0,.07))}.hero-copy{position:absolute;top:68px;left:clamp(38px,3.2vw,56px);max-width:505px}.hero-copy h1{font-size:50px;line-height:.94;letter-spacing:-3px;margin:0 0 5px}.hero-copy h2{font-size:27px;line-height:1.08;font-weight:500;letter-spacing:-1.3px;margin:0 0 12px}.hero-copy p{max-width:360px;margin:0;font-size:16px;line-height:1.45}.hero-state{position:absolute;top:32px;right:clamp(38px,3.2vw,56px);width:230px;padding:14px 16px;border-radius:10px;background:rgba(255,255,255,.94);color:#10285c;box-shadow:0 8px 23px #0002}.hero-state b{display:block;font-size:12px;color:#008a5a}.hero-state.is-soon b{color:#b37400}.hero-state span{display:block;margin-top:7px;font-size:13px;font-weight:700}.hero-state i{position:absolute;right:16px;bottom:14px;font-size:20px;font-style:normal}.hero-controls{position:absolute;left:clamp(38px,3.2vw,56px);right:clamp(38px,3.2vw,56px);bottom:14px;min-height:103px;background:rgba(4,32,35,.88);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:0 12px 10px;backdrop-filter:blur(7px)}.experience-tabs{height:56px;display:flex;align-items:stretch}.experience-tabs button{width:102px;border:0;border-right:1px solid rgba(255,255,255,.13);background:transparent;color:#fff;display:flex;gap:5px;align-items:center;justify-content:center;font-size:16px}.experience-tabs button span{font-size:12px}.experience-tabs .is-selected{background:linear-gradient(145deg,#00895a,#006442);border-radius:10px 10px 0 0;font-weight:800}.book-controls{display:grid;grid-template-columns:1.1fr .94fr .88fr 1.02fr;gap:7px}.book-controls label{height:48px;display:flex;align-items:center;gap:10px;border-radius:8px;background:#fff;color:#0e275e;padding:0 13px;font-size:20px}.book-controls select,.book-controls input{width:100%;border:0;background:transparent;color:#142a60;font-size:12px;outline:0}.availability-button{display:flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,#009b63,#007044);color:#fff;font-size:13px;font-weight:800}.availability-button.is-disabled{background:#60706f;color:#fff}.popular{position:absolute;bottom:0;left:14px;font-size:11px;margin:0;color:#fff}.slide-count{position:absolute;bottom:0;right:16px;font-size:15px;word-spacing:16px}.slide-count b{font-size:11px;word-spacing:0}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:32px clamp(28px,3.1vw,50px) 28px}.experience-card{height:205px;border:1px solid #dce3ee;border-radius:8px;overflow:hidden;position:relative;background:#fff}.experience-card img{width:100%;height:122px;object-fit:cover;display:block}.experience-card>div{padding:9px 14px}.experience-card h3{font-size:18px;letter-spacing:-.8px;margin:0 0 3px}.experience-card p{font-size:12px;line-height:1.35;color:#536a9d;margin:0;max-width:180px}.experience-card i{position:absolute;right:14px;bottom:15px;width:28px;height:28px;border:1px solid #b9c7dc;border-radius:50%;display:grid;place-items:center;font-size:19px;font-style:normal}.discovery-row{display:grid;grid-template-columns:1.32fr 1fr;gap:36px;padding:0 clamp(28px,3.1vw,50px) 28px}.heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}.heading h2{font-size:23px;letter-spacing:-1.3px;margin:0 0 3px}.heading p{font-size:12px;color:#59709c;margin:0}.heading>a{font-size:12px;font-weight:700;margin-top:8px}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.facility-card,.more-card{border:1px solid #dde5ef;border-radius:7px;min-height:252px;overflow:hidden;background:#fff}.facility-card>img{width:100%;height:138px;object-fit:cover}.facility-card>div{padding:9px 12px;position:relative}.facility-card h3{font-size:15px;margin:0 0 7px}.facility-card p{color:#4f6697;font-size:10px;margin:0 0 10px}.facility-card span{display:inline-block;border:1px solid #63c9a3;color:#008454;border-radius:14px;padding:4px 9px;font-size:10px}.facility-card a{position:absolute;right:12px;bottom:8px;border:1px solid #c2cce0;border-radius:50%;font-size:18px;width:28px;height:28px;text-align:center}.more-card{display:flex;flex-direction:column;justify-content:center;padding:20px;background:linear-gradient(135deg,#f8fbff,#edf5fc)}.more-card>b{font-size:26px}.more-card h3{font-size:16px;line-height:1.1;margin:18px 0 8px}.more-card p{font-size:11px;line-height:1.5;color:#60739b;margin:0}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.location-card{border:1px solid #dde5ef;border-radius:7px;overflow:hidden;background:#fff}.location-card>img{height:105px;width:100%;display:block;object-fit:cover}.location-card>div{padding:9px 12px}.location-badge{display:inline-block;background:#eef2f7;color:#52637e;border-radius:12px;font-size:10px;padding:3px 7px;margin-top:-30px;position:relative}.location-badge.is-open{color:#fff;background:#008655}.location-badge.is-soon{color:#556074;background:#f1f2f5}.location-card h3{font-size:16px;line-height:1.12;letter-spacing:-.7px;margin:8px 0 6px}.location-card p,.location-card small{display:block;color:#506798;font-size:10px;line-height:1.35;margin:0 0 7px}.location-card a{display:inline-block;margin-top:4px;padding:8px 11px;border:1px solid #42ba8d;border-radius:6px;color:#008454;font-size:11px;font-weight:800}.featured-experience{margin:0 clamp(28px,3.1vw,50px) 28px;background:#effaf8;display:grid;grid-template-columns:1fr 1.12fr;border-radius:9px;overflow:hidden;min-height:151px}.featured-experience>img{width:100%;height:151px;object-fit:cover}.featured-experience>div{padding:19px 22px}.featured-experience h2{font-size:22px;color:#008454;margin:0 0 5px}.featured-experience p{font-size:14px;margin:0 0 3px}.featured-experience small{color:#536a9d;font-size:11px}.featured-experience>div>div{display:flex;gap:20px;margin-top:14px;align-items:center}.featured-experience span{border-radius:14px;background:#fff7df;color:#b06f00;padding:7px 10px;font-size:10px}.featured-experience a{border:1px solid #31aa80;border-radius:7px;padding:8px 12px;color:#008454;font-size:11px;font-weight:800}.trust-strip{margin:0 clamp(28px,3.1vw,50px);border:0;display:grid;grid-template-columns:repeat(4,1fr);padding:26px 0}.trust-strip>div{display:flex;gap:13px;align-items:center;padding:0 18px;border:0;color:#008454;font-size:32px}.trust-strip>div:last-child{border:0}.trust-strip span{display:flex;flex-direction:column;color:#0e255b}.trust-strip b{font-size:12px}.trust-strip small{font-size:10px;line-height:1.4;color:#526899}.landing-footer{padding:30px clamp(28px,3.1vw,50px);display:grid;grid-template-columns:1fr auto;gap:25px}.social{font-weight:800;font-size:19px}.landing-footer>div:last-child{grid-column:1/-1;border-top:1px solid #dfe5ed;padding-top:18px;display:flex;gap:17px;align-items:center;font-size:10px;color:#506797}.landing-footer small{margin-left:auto}.member-page{max-width:960px;margin:0 auto;padding:42px 25px;min-height:70vh}.member-page h1{font-size:32px}.member-page article,.facility-list-item{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e1e6ec;padding:14px 0}.member-page article span,.facility-list-item span{color:#647499}.member-page button{padding:8px 12px}.auth-page{min-height:100vh;display:grid;grid-template-columns:42% 1fr}.auth-form{padding:45px max(6vw,50px);display:flex;flex-direction:column}.auth-copy{margin:auto 0 25px}.auth-copy p{font-size:10px;color:#008454;font-weight:800;letter-spacing:1px}.auth-copy h1{font-size:33px;margin:7px 0}.auth-copy span,#auth-note{font-size:13px;color:#637197}.auth-form form{max-width:350px}.auth-form label{font-size:12px;font-weight:700}.phone-field{height:46px;border:1px solid #d7dfea;border-radius:7px;display:flex;align-items:center;margin-top:7px}.phone-field b{padding:0 13px;border-right:1px solid #d7dfea}.phone-field input{border:0;outline:0;padding:0 12px;flex:1}.auth-form .green-button{width:100%;margin-top:12px}.otp-fields{display:flex;gap:8px}.otp-fields input{width:44px;height:48px;text-align:center;font-size:22px;border:1px solid #ccd7e6;border-radius:6px}.auth-visual{margin:15px 15px 15px 0;border-radius:9px;background:linear-gradient(90deg,#03201488,#03201411),url('/assets/gateway-cricket-hero.webp') center/cover}
@media(max-width:900px){.landing-header{gap:20px}.landing-header nav{margin-left:0;gap:16px}.location-select{min-width:180px}.discovery-row{grid-template-columns:1fr}.location-section{max-width:650px}.hero-copy h1{font-size:43px}}@media(max-width:680px){.landing-header{height:57px;padding:0 16px;gap:13px}.landing-logo{font-size:24px}.landing-header nav,.location-select,.search-button{display:none}.landing-tools{gap:0}.sign-in{padding:8px 14px;font-size:12px}.experience-hero{height:510px}.hero-copy{top:40px;left:20px;right:20px}.hero-copy h1{font-size:37px}.hero-copy h2{font-size:23px}.hero-state{top:180px;left:20px;right:auto}.hero-controls{left:14px;right:14px;bottom:12px;min-height:190px}.experience-tabs button{width:20%;font-size:14px;flex-direction:column;gap:1px}.experience-tabs button span{font-size:10px}.book-controls{grid-template-columns:1fr 1fr}.book-controls label{height:43px}.availability-button{height:43px}.popular{bottom:3px}.slide-count{display:none}.experience-grid{grid-template-columns:1fr 1fr;padding:18px 14px;gap:9px}.experience-card{height:190px}.experience-card img{height:105px}.experience-card h3{font-size:15px}.experience-card p{font-size:10px}.discovery-row{padding:0 14px 20px;gap:25px}.heading h2{font-size:20px}.facility-grid{grid-template-columns:1fr 1fr}.more-card{min-height:220px}.location-grid{grid-template-columns:1fr 1fr}.location-card h3{font-size:14px}.featured-experience{margin:0 14px 20px;grid-template-columns:1fr}.featured-experience>img{height:120px}.trust-strip{margin:0 14px;grid-template-columns:1fr 1fr;padding:0}.trust-strip>div{padding:15px 8px;border:0;font-size:24px}.trust-strip b{font-size:10px}.trust-strip small{font-size:9px}.landing-footer{padding:25px 20px}.landing-footer>div:last-child{flex-wrap:wrap;gap:12px}.landing-footer small{margin-left:0;width:100%}.auth-page{grid-template-columns:1fr;grid-template-rows:230px auto}.auth-visual{grid-row:1;margin:0;border-radius:0}.auth-form{grid-row:2;margin-top:-15px;border-radius:16px 16px 0 0;background:#fff;padding:28px 26px;z-index:1}.auth-copy{margin:24px 0}.member-page{padding:25px 16px}.member-page article,.facility-list-item{flex-direction:column;gap:5px}}
.book-flow.board{max-width:560px;min-height:100vh;margin:0 auto;padding:18px 18px 100px;background:#fff;color:#081b40}.board header{display:grid;grid-template-columns:32px 1fr auto;align-items:center;margin-bottom:18px}.board header button,.board header a{border:0;background:transparent;font-size:24px;color:#081b40;text-decoration:none}.board header>b{font-size:16px}.board header small{color:#087a52;font-weight:700}.book-stepper{display:grid;grid-template-columns:repeat(7,1fr);padding:0;margin:0 0 27px;list-style:none;position:relative}.book-stepper:before{content:"";position:absolute;top:12px;left:7%;right:7%;height:2px;background:#e1eee9}.book-stepper li{z-index:1;text-align:center;font-size:10px;color:#62708a}.book-stepper li b{display:block;width:25px;height:25px;line-height:25px;margin:0 auto 4px;border-radius:50%;background:#edf4f1;color:#087a52}.book-stepper li.active b,.book-stepper li.complete b{background:#087a52;color:#fff}.book-stepper li.active small{font-weight:800;color:#087a52}.board h1{font-size:29px;margin:10px 0 4px;letter-spacing:-1px}.board h1 em{font-size:18px;color:#087a52;font-style:normal}.board h2{font-size:19px;margin:24px 0 12px}.board .eyebrow{font-size:11px;color:#60708d;margin:0;font-weight:700}.intent-types,.scenario-grid,.format-list,.ground-list{display:grid;gap:10px}.intent-types button,.scenario,.format-list button,.time-grid button,.date-grid button{position:relative;border:1px solid #e0e8eb;border-radius:9px;background:#fff;color:#0a1734;text-align:left;padding:15px;cursor:pointer}.intent-types button.selected,.scenario.selected,.format-list button.selected,.time-grid button.selected,.date-grid button.selected,.ground-card.selected{border-color:#078157;background:#f1fbf6;box-shadow:inset 0 0 0 1px #078157}.intent-types b,.scenario b,.format-list b{display:block;font-size:15px}.intent-types small,.scenario small,.format-list small{display:block;color:#5f6d87;margin-top:4px}.intent-types i{position:static;color:#078157;font-style:normal}.intent-fields{margin-top:20px}.board label{display:block;font-size:13px;font-weight:700;margin:12px 0}.board label input,.board label select{box-sizing:border-box;display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #d8e2e7;border-radius:7px;font:inherit;background:#fff}.counter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.board .check{font-weight:400;display:flex;gap:8px;align-items:flex-start}.board .check input{width:auto;margin:3px 0}.book-note{border-radius:8px;background:#eff8f4;color:#51637d;padding:13px 14px;font-size:12px;line-height:1.5}.book-note.success{color:#087a52;font-weight:700}.board .booking-summary{position:static;box-sizing:border-box;width:100%;margin:0 0 24px;padding:0;border:1px solid #e1e9ea;border-radius:9px;background:#fff;box-shadow:none}.board .booking-summary div{display:flex;gap:12px;padding:12px;border-bottom:1px solid #ecf0f1}.board .booking-summary div:last-child{border:0}.board .booking-summary b{font-size:18px;color:#087a52}.board .booking-summary strong,.board .booking-summary small{display:block}.board .booking-summary small{margin-top:2px;color:#65728b;font-size:12px}.board .date-grid{grid-template-columns:repeat(3,1fr);gap:9px}.board .date-grid button{min-height:78px;padding:12px;text-align:center}.board .date-grid b{display:block}.board .date-grid small{color:#68758e}.board .time-grid{grid-template-columns:1fr;gap:10px}.board .time-grid button{min-height:64px}.skip-time{width:100%;border:0;border-radius:8px;background:#f0f4f6;padding:13px;color:#12254a;font-weight:800;margin:12px 0}.skip-time small{display:block;color:#64718b;font-weight:400}.ground-card{display:grid;grid-template-columns:118px 1fr;gap:12px;border:1px solid #dce5e8;border-radius:9px;padding:8px;background:#fff}.ground-card>img{width:118px;height:128px;object-fit:cover;border-radius:6px}.ground-card h2{font-size:16px;margin:3px 0}.ground-card p{font-size:12px;margin:3px 0;color:#5e6d86}.ground-card strong{display:block;color:#087a52;margin:8px 0}.chips{display:flex;gap:5px;flex-wrap:wrap}.chips span{padding:4px 7px;background:#eef5f3;border-radius:5px;font-size:10px}.ground-times{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.ground-times button,.select-ground{border:1px solid #078157;border-radius:6px;background:#fff;color:#087a52;padding:7px;font-size:11px;font-weight:700}.format-list button{min-height:92px}.format-list strong{display:block;color:#087a52;font-size:18px;margin-top:6px}.book-actions{position:fixed;bottom:0;left:0;right:0;display:flex;gap:10px;max-width:560px;margin:auto;padding:13px 18px;background:#fff;border-top:1px solid #e6eceb;z-index:2}.book-actions button{flex:1;border-radius:25px;padding:14px;border:1px solid #d9e2e4;font-size:15px;font-weight:800;cursor:pointer}.book-actions .primary{background:#087a52;color:#fff;border-color:#087a52}.book-actions .secondary{background:#fff;color:#087a52}@media(min-width:700px){.book-flow.board{max-width:960px;padding:34px 46px 110px}.board .intent-types{grid-template-columns:repeat(3,1fr)}.board .date-grid{grid-template-columns:repeat(5,1fr)}.ground-list{grid-template-columns:1fr 1fr}.book-actions{max-width:960px;padding-left:46px;padding-right:46px}} 
.book-flow{max-width:1160px;margin:0 auto;padding:44px 34px 72px;color:#09204e;background:linear-gradient(180deg,#f8fbff,#fff)}.book-flow>button,.book-flow>a{border:0;background:transparent;color:#087a52;font-weight:700;padding:0;cursor:pointer;text-decoration:none}.book-flow h1{font-size:36px;letter-spacing:-1.3px;margin:15px 0 6px}.book-step{color:#078157;font-size:12px;font-weight:800;letter-spacing:.12em;margin:26px 0 0}.book-help,.book-context{color:#536789;margin:0 0 26px}.choice-grid,.date-grid,.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:850px}.choice-grid button,.date-grid button,.time-grid button,.available-facilities button{border:1px solid #dce5ef;border-radius:12px;background:#fff;color:#09204e;text-align:left;cursor:pointer;box-shadow:0 3px 15px #082c5510}.choice-grid button,.date-grid button,.time-grid button{min-height:112px;padding:20px}.choice-grid b,.date-grid b,.time-grid b,.available-facilities b{display:block;font-size:17px}.choice-grid span,.date-grid span,.time-grid span,.available-facilities small,.available-facilities em{display:block;color:#60718f;font-style:normal;margin-top:6px}.book-location{display:block;max-width:400px;font-weight:700;margin:25px 0}.book-location select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #dce5ef;border-radius:8px;background:#fff}.available-facilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:900px}.available-facilities button{display:grid;grid-template-columns:155px 1fr auto;padding:0;overflow:hidden;align-items:center}.available-facilities img{width:155px;height:128px;object-fit:cover}.available-facilities span{padding:14px}.available-facilities i{padding:15px;color:#087a52;font-style:normal;font-size:22px}.booking-summary{position:fixed;right:28px;top:115px;width:220px;border:1px solid #d9e6e1;border-radius:12px;background:#f2faf6;padding:16px;box-shadow:0 8px 25px #082c5512}.booking-summary b,.booking-summary span{display:block}.booking-summary span{margin-top:7px;color:#526484;font-size:13px;text-transform:capitalize}@media(max-width:1000px){.booking-summary{position:static;width:auto;max-width:850px;margin-top:28px}.choice-grid,.date-grid,.time-grid,.available-facilities{max-width:none}}@media(max-width:680px){.book-flow{padding:27px 16px 50px}.book-flow h1{font-size:29px}.choice-grid,.date-grid,.time-grid{grid-template-columns:1fr}.choice-grid button,.date-grid button,.time-grid button{min-height:82px}.available-facilities{grid-template-columns:1fr}.available-facilities button{grid-template-columns:110px 1fr auto}.available-facilities img{width:110px;height:110px}}
.experience-tabs>a,.experience-tabs>span{width:102px;border-right:1px solid rgba(255,255,255,.13);color:#fff;display:flex;gap:5px;align-items:center;justify-content:center;font-size:16px}.experience-tabs>span{opacity:.8;cursor:default}.experience-tabs>span small{font-size:9px}@media(max-width:680px){.experience-tabs>a,.experience-tabs>span{width:25%;font-size:14px;flex-direction:column;gap:1px}}

/* Public Home entry control: a mobile-first booking task, separate from
   promotional content. The location and date are the only customer choices;
   the current public booking product is cricket. */
.experience-hero{min-height:470px;height:auto;padding-bottom:190px}
.hero-controls{bottom:18px;min-height:164px;padding:0 14px 14px}
.experience-tabs{height:62px;gap:4px;border-bottom:1px solid rgba(255,255,255,.16)}
.experience-tabs>a,.experience-tabs>span{position:relative;width:auto;min-width:106px;padding:7px 12px;border-right:0;border-radius:9px 9px 0 0;display:grid;grid-template-columns:22px auto;grid-template-rows:auto auto;align-content:center;justify-content:center;column-gap:7px;line-height:1.1}
.experience-tabs .wfo-ui-icon{grid-row:1 / 3;width:21px;height:21px;align-self:center}
.experience-tabs>*>span{font-size:12px;font-weight:800}
.experience-tabs>*>small{font-size:9px;line-height:1.2;color:#dce8e4;white-space:nowrap}
.experience-tabs .is-selected{background:#008454;box-shadow:inset 0 -3px #8ee0bd;color:#fff}
.experience-tabs .is-unavailable{opacity:.6;background:rgba(255,255,255,.04)}
.book-controls{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.72fr) minmax(180px,.8fr);gap:9px;padding-top:11px;margin:0}
.book-controls .entry-field{min-width:0;height:62px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:5px;padding:7px 12px;border:1px solid transparent;border-radius:9px;background:#fff;color:#0e275e;font-size:inherit}
.entry-field__label{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#657493}
.entry-field__control{display:flex;align-items:center;gap:8px;min-width:0}
.entry-field__control .wfo-ui-icon{width:19px;height:19px;flex:0 0 19px;color:#008454}
.entry-field__control select,.entry-field__control input{min-width:0;width:100%;height:25px;padding:0;border:0;background:transparent;color:#10285c;font-size:13px;font-weight:700;outline:0}
.entry-field__control strong{font-size:13px}
.book-controls .entry-field:focus-within{border-color:#51c69b;box-shadow:0 0 0 3px rgba(81,198,155,.18)}
.book-controls .availability-button{min-height:62px;gap:6px;padding:0 16px;border:0;border-radius:9px;font-size:14px;box-shadow:0 6px 16px rgba(0,92,58,.24)}
.availability-button .wfo-ui-icon{width:18px;height:18px}
.availability-button:hover{background:#006945}.availability-button:focus-visible{outline:3px solid #9ae3c5;outline-offset:2px}.availability-button:active{transform:translateY(1px)}
.availability-button.is-disabled{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);box-shadow:none;color:#fff}
.entry-support{margin:8px 2px 0;color:#e6f0ed;font-size:10px;line-height:1.3}
.entry-support strong{color:#fff}
.popular,.slide-count{display:none!important}

@media (max-width:900px) and (min-width:681px){
  .experience-hero{min-height:555px;padding-bottom:272px}
  .hero-controls{min-height:246px}
  .book-controls{grid-template-columns:1fr 1fr}
}

@media(max-width:680px){
  .experience-hero{min-height:700px;height:auto;padding-bottom:394px}
  .hero-copy{top:34px}
  .hero-state{top:184px;width:calc(100% - 40px)}
  .hero-controls{left:12px;right:12px;bottom:12px;min-height:346px;padding:0 10px 12px;border-radius:14px}
  .experience-tabs{height:84px;gap:2px;overflow:visible}
  .experience-tabs>a,.experience-tabs>span{width:25%;min-width:0;padding:7px 2px;display:flex;flex-direction:column;gap:3px;text-align:center;border-radius:8px 8px 0 0}
  .experience-tabs .wfo-ui-icon{width:22px;height:22px;flex:0 0 22px}
  .experience-tabs>*>span{font-size:11px}
  .experience-tabs>*>small{font-size:8px;white-space:normal;min-height:19px;display:flex;align-items:center}
  .book-controls{grid-template-columns:1fr;gap:7px;padding-top:10px}
  .book-controls .entry-field{height:61px;padding:7px 12px}
  .book-controls .availability-button{min-height:52px;width:100%}
  .entry-support{margin:8px 3px 0;font-size:10px}
}

@media(max-width:370px){
  .experience-hero{min-height:710px;padding-bottom:404px}
  .hero-controls{left:8px;right:8px}
  .experience-tabs>*>span{font-size:10px}
  .experience-tabs>*>small{font-size:7.5px}
}

/* Keep the signed-out Home, login and invitation brand consistent with the PWA shell. */
.landing-logo{display:inline-flex;align-items:center;gap:7px;min-width:0;font-size:inherit;line-height:1;letter-spacing:normal;color:#087a52;white-space:nowrap}
.landing-logo .wfo-brand-mark{display:block;width:36px;height:36px;flex:none;object-fit:contain}
.landing-logo .wfo-brand-name{display:grid;gap:0;line-height:1}
.landing-logo .wfo-brand-name strong{font-size:14px;font-weight:900;letter-spacing:-.02em}
.landing-logo .wfo-brand-name small{display:block;margin:3px 0 0;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:680px){.landing-logo .wfo-brand-mark{width:32px;height:32px}.landing-logo .wfo-brand-name strong{font-size:13px}}

/* navigation-icons.css */
.wfo-ui-icon{width:20px;height:20px;flex:none;display:inline-block;vertical-align:middle}.new-global-nav a,.mobile-nav a,.customer-home-mobile a,.gateway-mobile-nav button,.gateway-unified-rail nav button{display:flex;align-items:center;gap:9px}.mobile-nav a,.customer-home-mobile a,.gateway-mobile-nav button{flex-direction:column;justify-content:center;gap:3px;min-height:52px}.mobile-nav .wfo-ui-icon,.customer-home-mobile .wfo-ui-icon,.gateway-mobile-nav .wfo-ui-icon{width:21px;height:21px}.gateway-unified-quick .wfo-ui-icon{width:19px;height:19px}

/* customer-design-system.css */
:root{
  --wfo-brand:#087b52;--wfo-accent-red:#d71920;--wfo-ink:#10264a;--wfo-muted:#5c7088;
  --wfo-surface:#fff;--wfo-canvas:#f7f9fb;--wfo-line:#dfe8ed;
  --wfo-space-1:4px;--wfo-space-2:8px;--wfo-space-3:12px;
  --wfo-space-4:16px;--wfo-space-5:24px;--wfo-space-6:32px;
  --wfo-page-x:clamp(18px,4vw,56px);--wfo-page-top:32px;
  --wfo-card-pad:20px;--wfo-radius:12px;--wfo-nav-clearance:88px;
  --wfo-topbar-height:64px;--wfo-control-height:44px;
  --wfo-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --wfo-shadow:0 8px 24px rgba(16,38,74,.055);
}

html{font-family:var(--wfo-font);color:var(--wfo-ink);background:var(--wfo-canvas)}
button,input,select,textarea{font:inherit}

/* The one persistent outer composition. Journey code owns only the mount. */
.wfo-global-shell{min-height:100dvh;background:var(--wfo-canvas);color:var(--wfo-ink)}
.wfo-global-rail{display:none}
.wfo-global-stage{display:flex;min-width:0;min-height:100dvh;flex-direction:column}
.wfo-global-topbar{height:var(--wfo-topbar-height);display:flex;align-items:center;gap:var(--wfo-space-3);padding:max(env(safe-area-inset-top),0px) var(--wfo-page-x) 0;background:#fff;border-bottom:1px solid var(--wfo-line)}
.wfo-global-mobile-brand{display:flex;min-width:0;height:44px;align-items:center;gap:7px;color:var(--wfo-brand);text-decoration:none}.wfo-global-mobile-brand .wfo-brand-mark{width:32px;height:32px;object-fit:contain}.wfo-brand-name{display:grid;gap:0;line-height:1}.wfo-brand-name strong{font-size:13px;font-weight:900;letter-spacing:-.02em}.wfo-brand-name small{margin-top:3px;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.wfo-topbar-actions{margin-left:auto}.wfo-topbar-back[hidden],.wfo-topbar-context[hidden],.wfo-topbar-actions[hidden]{display:none}
.wfo-topbar-back a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:44px;color:var(--wfo-ink);text-decoration:none}
.wfo-topbar-back a .wfo-ui-icon{width:20px;height:20px;stroke-width:2}
.wfo-topbar-context{font-size:14px;font-weight:750;color:var(--wfo-ink)}
.wfo-global-shell--section-root .wfo-topbar-context{display:inline-flex;align-items:center;gap:8px}.wfo-global-shell--section-root .wfo-topbar-context .wfo-ui-icon{width:20px;height:20px}
@media(max-width:899px){
  .wfo-global-shell--inner .wfo-global-mobile-brand{display:none}
  .wfo-global-shell--section-root .wfo-global-mobile-brand{display:none}
  .wfo-global-shell--section-root .wfo-topbar-context{font-size:16px;font-weight:800}
  .wfo-global-shell--inner .wfo-global-content{padding-top:18px}
  .wfo-global-shell--inner .new-content> .inline-link,
  .wfo-global-shell--inner .new-content> .focus> .inline-link,
  .wfo-global-shell--inner .new-content> .board-flow-page> .inline-link,
  .wfo-global-shell--inner .new-content> .wfo-back-link,
  .wfo-global-shell--inner .new-content> .focus> .wfo-back-link,
  .wfo-global-shell--inner .new-content> .board-flow-page> .wfo-back-link,
  .wfo-global-shell--inner .team-inside-navigation> .inline-link{display:none!important}
}
.wfo-global-content{flex:1 0 auto;min-width:0;padding:var(--wfo-page-top) var(--wfo-page-x) var(--wfo-nav-clearance)}
.wfo-global-footer{margin-top:auto}
/* The signed-out legacy renderer used to own a second footer. The persistent
   shell is now the sole content-access owner without changing Home content. */
.wfo-global-shell .landing-footer{display:none!important}
.wfo-global-mobile-nav{position:fixed;z-index:50;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 4px max(7px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--wfo-line);box-shadow:0 -8px 24px rgba(16,38,74,.05)}
.wfo-global-mobile-nav a{display:grid;box-sizing:border-box;min-width:0;min-height:52px;grid-template-rows:24px 16px;align-content:center;justify-items:center;gap:3px;padding:4px 2px;color:#64718b;font-size:10px;font-weight:650;line-height:16px;text-align:center;text-decoration:none}.wfo-global-mobile-nav a.active{color:var(--wfo-brand)}
.wfo-global-mobile-nav .wfo-ui-icon{display:block;width:21px;height:21px;align-self:center}.wfo-global-mobile-nav a>span{display:block;height:16px;line-height:16px;white-space:nowrap}
@media(max-width:899px){.wfo-global-footer{padding-bottom:calc(var(--wfo-nav-clearance) + env(safe-area-inset-bottom))}}
.wfo-global-content>.new-content,.wfo-global-content>.member-page,.wfo-global-content>.customer-home-main{box-sizing:border-box;width:min(1180px,100%)!important;max-width:1180px;margin:0 auto!important;padding:0!important}
.wfo-global-content>.auth-page{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-height:calc(100dvh - 64px);}
.wfo-global-shell--immersive .wfo-global-rail,.wfo-global-shell--immersive .wfo-global-topbar,.wfo-global-shell--immersive .wfo-global-mobile-nav{display:none}
.wfo-global-shell--immersive,.wfo-global-shell--immersive .wfo-global-stage{display:block;min-height:100dvh}.wfo-global-shell--immersive .wfo-global-content{padding:0}

@media(min-width:900px){
  .wfo-topbar-back,.wfo-topbar-context{display:none!important}
  .wfo-global-shell{display:grid;grid-template-columns:252px minmax(0,1fr)}
  .wfo-global-rail{position:sticky;top:0;display:flex;height:100vh;box-sizing:border-box;flex-direction:column;padding:28px 18px;background:#fff;border-right:1px solid var(--wfo-line)}
  .wfo-global-brand{display:grid;justify-items:center;gap:7px;padding:0 0 28px;color:var(--wfo-brand);text-align:center;text-decoration:none}.wfo-global-brand .wfo-brand-mark{width:76px;height:76px;object-fit:contain}.wfo-global-brand .wfo-brand-name strong{font-size:16px}.wfo-global-brand .wfo-brand-name small{font-size:9px}
  .wfo-global-rail nav{display:grid;gap:7px}.wfo-global-rail nav a{display:flex;align-items:center;gap:9px;padding:14px 15px;border-radius:9px;color:#536b83;font-size:16px;font-weight:700;text-decoration:none}.wfo-global-rail nav a:hover{background:#f2f7f5;color:var(--wfo-brand)}.wfo-global-rail nav a.active{background:#e4f6ec;color:var(--wfo-brand)}
  .wfo-global-poster{margin-top:auto;min-height:180px;box-sizing:border-box;padding:21px 18px;border-radius:10px;background:linear-gradient(140deg,#092418bb,#092418ec),url('/assets/wfo-ground-720.webp') center/cover;color:#fff;font-size:26px;font-weight:850;line-height:1.04}
  .wfo-global-topbar{padding-left:clamp(28px,4vw,70px);padding-right:clamp(28px,4vw,70px)}.wfo-global-mobile-brand{display:none}
  .wfo-global-content{padding:32px clamp(28px,4vw,70px) 56px}
  .wfo-global-footer{margin-top:0}
  .wfo-global-mobile-nav{display:none}
}

/* Shared composition primitives. These selectors deliberately cover the
   current route renderers while they converge on explicit wfo-* classes. */
.wfo-page,.new-content,.gateway-unified-content,.member-page{color:var(--wfo-ink)}
.wfo-page-header,.new-page-head,.focus-head,.profile-overview>header{margin:0 0 var(--wfo-space-5)}
.wfo-page-header h1,.new-page-head h1,.focus-head h1,.profile-overview>header h1{margin:0;font-size:clamp(27px,3vw,34px);line-height:1.08;letter-spacing:-.035em}
.wfo-page-header p,.new-page-head p,.focus-head p,.profile-overview>header p{max-width:680px;margin:var(--wfo-space-2) 0 0;color:var(--wfo-muted);line-height:1.5}
.eyebrow{margin:0 0 var(--wfo-space-2);color:var(--wfo-brand);font-size:12px;font-weight:800;letter-spacing:.08em}
.wfo-card,.card,.form-card,.profile-section,.details-card,.review-card{border:1px solid var(--wfo-line);border-radius:var(--wfo-radius);background:var(--wfo-surface);padding:var(--wfo-card-pad)}
.wfo-card h2,.card h2,.form-card h2,.profile-section h2,.details-card h2,.review-card h2{margin:0 0 var(--wfo-space-3);font-size:18px;line-height:1.25;letter-spacing:-.015em}
.wfo-card p:last-child,.card p:last-child,.form-card p:last-child,.profile-section p:last-child,.details-card p:last-child,.review-card p:last-child{margin-bottom:0}
.wfo-card--interactive,[data-wfo-interactive-card]{cursor:pointer;box-shadow:var(--wfo-shadow);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.wfo-card--interactive:hover,[data-wfo-interactive-card]:hover{border-color:#9bcbb4;box-shadow:0 10px 28px rgba(16,38,74,.1)}
.wfo-card--interactive:focus-visible,[data-wfo-interactive-card]:focus-visible{outline:3px solid rgba(8,123,82,.22);outline-offset:2px}
.wfo-card--interactive:active,[data-wfo-interactive-card]:active{transform:translateY(1px)}
.wfo-card--read-only,[data-wfo-read-only-card]{cursor:default;box-shadow:none}
.wfo-card[aria-disabled="true"],[data-wfo-interactive-card][aria-disabled="true"]{cursor:not-allowed;opacity:.62;box-shadow:none;transform:none}
.wfo-section+.wfo-section,.profile-section+.profile-section{margin-top:var(--wfo-space-4)}
.notice,.book-note,.status-message,.error,.empty{border-radius:10px;line-height:1.45}

/* Shared type and state grammar. Eyebrows are context only, never a title. */
.wfo-section-title,.section-title{margin:0;font-size:20px;line-height:1.25;letter-spacing:-.02em}
.meta,.metadata,.helper,.book-help{color:var(--wfo-muted);font-size:14px;line-height:1.45}
.pill,.chip,.status-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:750;line-height:1.1}
label{font-size:14px;font-weight:700;line-height:1.35}
input,select,textarea{min-height:var(--wfo-control-height);border:1px solid #cfdce5;border-radius:9px;background:#fff;color:var(--wfo-ink)}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(8,123,82,.22);outline-offset:2px}

/* One outline icon family. Decorative emoji/ad-hoc glyphs are not shell icons. */
.wfo-ui-icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}

/* Journey progression is separate from the H1 and global navigation. */
.book-stepper{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--wfo-space-2);margin:0 0 var(--wfo-space-5);padding:0;list-style:none}
.book-stepper li{display:grid;justify-items:center;gap:6px;min-width:0;color:var(--wfo-muted);font-size:11px;text-align:center}
.book-stepper li b{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--wfo-line);border-radius:50%;background:#fff;color:inherit;font-size:12px}
.book-stepper li.active{color:var(--wfo-brand);font-weight:800}.book-stepper li.active b{border-color:var(--wfo-brand);box-shadow:0 0 0 3px rgba(8,123,82,.12)}
.book-stepper li.complete{color:#356650}.book-stepper li.complete b{border-color:#b7d9ca;background:#e7f5ee}
.book-stepper li[aria-disabled="true"]{opacity:.55}

/* A contextual menu may live in the top bar; it never replaces global nav. */
.wfo-topbar-account{margin-left:auto;display:flex;align-items:center}
.wfo-topbar-sign-in{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid var(--wfo-brand);border-radius:9px;padding:0 15px;color:var(--wfo-brand);font-size:14px;font-weight:800;text-decoration:none}
.wfo-topbar-sign-in[hidden]{display:none!important}
.wfo-topbar-menu{position:relative;margin-left:0}
.wfo-topbar-notifications{position:relative;display:grid;place-items:center;width:44px;height:44px;color:var(--wfo-ink);border-radius:9px;text-decoration:none}.wfo-topbar-notifications:hover,.wfo-topbar-notifications:focus-visible{background:#edf7f2;color:var(--wfo-brand)}.wfo-topbar-notifications[hidden]{display:none!important}.wfo-topbar-notifications .wfo-ui-icon{width:21px;height:21px}.wfo-topbar-notifications span{position:absolute;top:3px;right:2px;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#c53131;color:#fff;font-size:10px;font-weight:850;line-height:17px;text-align:center}.wfo-topbar-notifications span[hidden]{display:none}
.wfo-topbar-menu>button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--wfo-ink)}
.wfo-topbar-menu>[role="menu"]{position:absolute;z-index:40;top:calc(100% + 8px);right:0;min-width:210px;padding:8px;border:1px solid var(--wfo-line);border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(16,38,74,.14)}
.wfo-topbar-menu>[role="menu"][hidden]{display:none}
.wfo-topbar-menu>[role="menu"] a,.wfo-topbar-menu>[role="menu"] button{display:flex;width:100%;box-sizing:border-box;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--wfo-ink);font-size:14px;font-weight:700;text-align:left;text-decoration:none}
.wfo-topbar-menu>[role="menu"] a:hover,.wfo-topbar-menu>[role="menu"] a:focus-visible,.wfo-topbar-menu>[role="menu"] button:hover,.wfo-topbar-menu>[role="menu"] button:focus-visible{background:#edf7f2;color:var(--wfo-brand)}
.wfo-topbar-menu>[role="menu"] button[hidden]{display:none}
.wfo-customer-menu-head,.wfo-customer-menu-backdrop{display:none}
@media(max-width:899px){
  html.wfo-customer-menu-open{overflow:hidden}
  .wfo-customer-menu-backdrop{position:fixed;z-index:89;inset:0;display:block;border:0;background:rgba(4,19,13,.46);opacity:0;transition:opacity .18s ease}
  .wfo-customer-menu-backdrop[hidden]{display:none}.wfo-customer-menu-backdrop.is-open{opacity:1}
  .wfo-topbar-menu>[role="menu"]{position:fixed;z-index:90;top:0;right:0;display:flex;width:min(86vw,360px);min-width:0;height:100dvh;max-height:none;box-sizing:border-box;flex-direction:column;gap:4px;padding:calc(env(safe-area-inset-top) + 14px) 14px calc(env(safe-area-inset-bottom) + 18px);border:0;border-left:1px solid var(--wfo-line);border-radius:0;background:#fff;box-shadow:-16px 0 36px rgba(16,38,74,.2);overflow-y:auto;overscroll-behavior:contain;transform:translateX(105%);transform-origin:right;transition:transform .22s ease}
  .wfo-topbar-menu>[role="menu"].is-open{transform:translateX(0)}
  .wfo-customer-menu-head{display:flex;min-height:42px;align-items:center;justify-content:space-between;margin-bottom:5px;padding:0 3px 9px;border-bottom:1px solid var(--wfo-line);color:var(--wfo-ink)}
  .wfo-customer-menu-head strong{font-size:17px}.wfo-customer-menu-head>[data-wfo-menu-close]{display:grid;width:38px;height:38px;place-items:center;padding:0;border:0;border-radius:9px;background:#f3f7f5;color:var(--wfo-ink);font-size:26px;font-weight:400}
  .wfo-topbar-menu>[role="menu"] a,.wfo-topbar-menu>[role="menu"]>button:not([data-wfo-menu-close]){min-height:50px;padding:10px 12px;border-radius:9px}
}

@media(max-width:899px){
  .wfo-global-shell--notifications .wfo-global-content{animation:wfo-notifications-drop .22s ease-out both}
  @keyframes wfo-notifications-drop{from{opacity:.35;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){
  .wfo-topbar-menu>[role="menu"]{transition:none!important}
  .wfo-global-shell--notifications .wfo-global-content{animation:none!important}
}
.wfo-back-link{display:inline-flex!important;align-items:center;gap:6px;min-height:44px;color:#456179;text-decoration:none}.wfo-back-link .wfo-ui-icon,.wfo-back-control .wfo-ui-icon{width:20px;height:20px}
.wfo-back-control{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--wfo-ink)}

/* Selectable cards always reserve a trailing control column. */
.intent-types button,.slot-choice,.choice-row,.allocation-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;grid-template-rows:auto auto;column-gap:var(--wfo-space-3);align-items:center;min-width:0;padding:var(--wfo-space-4)}
.intent-types button>b,.slot-choice>strong,.choice-row>span,.allocation-option>span{grid-column:1;min-width:0;overflow-wrap:anywhere}
.intent-types button>small,.slot-choice>small,.choice-row>span small,.allocation-option>small{grid-column:1;min-width:0;overflow-wrap:anywhere}
.intent-types button>i,.slot-choice>input,.choice-row>input,.allocation-option>input{position:static!important;grid-column:2;grid-row:1 / span 2;justify-self:center;align-self:center;margin:0!important}

/* One compact top-bar cadence; it carries identity/context, never an H1. */
.new-topbar,.gateway-unified-topbar{height:var(--wfo-topbar-height);min-height:var(--wfo-topbar-height);padding:env(safe-area-inset-top) var(--wfo-page-x) 0;display:flex;align-items:center;gap:var(--wfo-space-3);background:var(--wfo-surface);border-bottom:1px solid var(--wfo-line)}
.new-topbar h1,.gateway-unified-topbar h1{display:none}

@media(max-width:899px){
  :root{--wfo-page-x:14px;--wfo-page-top:22px;--wfo-card-pad:16px}
  .new-content{width:auto!important;margin:0;padding:var(--wfo-page-top) var(--wfo-page-x) var(--wfo-nav-clearance)!important}
  .gateway-unified-content>.member-page,.gateway-unified-content .book-flow,.member-page{padding-bottom:var(--wfo-nav-clearance)}
  .wfo-page-header,.new-page-head,.focus-head,.profile-overview>header{margin-bottom:var(--wfo-space-4)}
  .intent-types,.play-grid,.profile-dual{grid-template-columns:1fr!important}
  .book-stepper{gap:3px;overflow:hidden}.book-stepper li{font-size:10px}.book-stepper li b{width:25px;height:25px}.book-stepper li small{max-width:44px;overflow:hidden;text-overflow:ellipsis}
  /* The mobile top bar supplies inner-page identity and Back. Do not repeat
     it in a Profile drill-down body before the task content. */
  .wfo-global-shell--inner .profile-main>.focus>.focus-head{display:none}
  /* Direct Notification and policy renderers do not sit inside profile-main.
     Their desktop H1 remains available; on mobile the contextual top bar is
     the single visible page-identity owner. */
  .wfo-global-shell--inner .notifications-head>div>h1,
  .wfo-global-shell--inner .new-content>.profile-policies>.focus-head{display:none}
}

@media(min-width:600px) and (max-width:899px){:root{--wfo-page-x:22px}.wfo-page-header h1,.new-page-head h1,.focus-head h1{font-size:30px}}

/* Shared card families: composition may differ; surface behaviour does not. */
:where(.action-card,.activity-card,.activity-board-card,.summary-card,.details-card,.review-card,.form-card,.profile-section,.profile-booking-payment,.match-card,.team-card,.empty,.error){box-sizing:border-box;border-color:var(--wfo-line);border-radius:var(--wfo-radius);background:var(--wfo-surface)}
:where(.action-card,.activity-card,.activity-board-card,.match-card,.team-card){transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
:where(a.action-card,a.activity-card,a.match-card,a.team-card):hover{border-color:#9bcbb4;box-shadow:var(--wfo-shadow);transform:translateY(-1px)}
:where(.terminal,.read-only,[aria-disabled="true"]){box-shadow:none}.terminal,.read-only{cursor:default}

/* One CTA hierarchy across journey renderers. */
:where(.button,.green-button,.outlined-button,.danger-button,button.primary,button.secondary,a.primary,a.secondary){display:inline-flex;box-sizing:border-box;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:9px;font-family:var(--wfo-font);font-size:14px;font-weight:800;line-height:1.2;text-decoration:none;cursor:pointer}
:where(.button.primary,.green-button,button.primary,a.primary){border:1px solid var(--wfo-brand);background:var(--wfo-brand);color:#fff}
:where(.button:not(.primary):not(.danger),.outlined-button,button.secondary,a.secondary){border:1px solid #bfd0da;background:#fff;color:var(--wfo-ink)}
:where(.button.danger,.danger-button){border:1px solid #b32626;background:#b32626;color:#fff}
:where(.button,.green-button,.outlined-button,.danger-button,button.primary,button.secondary):disabled{cursor:not-allowed;opacity:.55;box-shadow:none}

/* Shared customer-state grammar. */
:where(.state-pending,.status-pending,.status-processing){background:#fff4d6;color:#7a5200}
:where(.state-confirmed,.state-completed,.status-confirmed,.status-completed,.status-settled){background:#e4f6ec;color:#086943}
:where(.state-overdue,.state-failed,.status-overdue,.status-failed,.status-expired,.status-cancelled){background:#fde9e7;color:#9e2f28}
:where(.state-unavailable,.status-unavailable){background:#edf1f5;color:#596b7d}

/* Content/legal pages use the same readable measure and rhythm. */
.profile-policies,.profile-contact{max-width:780px}.policy-list{display:grid;gap:var(--wfo-space-3)}.policy-list details{border:1px solid var(--wfo-line);border-radius:var(--wfo-radius);background:#fff;padding:0 var(--wfo-space-4)}.policy-list summary{min-height:52px;display:flex;align-items:center;font-weight:800;cursor:pointer}.policy-list details p{margin:0;padding:0 0 var(--wfo-space-4);color:var(--wfo-muted);line-height:1.55}
.policy-article{display:grid;gap:var(--wfo-space-5)}.policy-article section{padding-bottom:var(--wfo-space-4);border-bottom:1px solid var(--wfo-line)}.policy-article section:last-child{border-bottom:0}.policy-article h2{margin:0 0 var(--wfo-space-2);font-size:18px}.policy-article p{margin:0;color:var(--wfo-muted);line-height:1.6}.profile-contact-details{display:grid;gap:var(--wfo-space-3);margin-bottom:var(--wfo-space-4)}.profile-contact-details p{margin:0}.profile-contact-details a{color:var(--wfo-brand);font-weight:750}
.wfo-global-shell .landing-header{display:none!important}
/* Install control shares the top-bar visual language and disappears in standalone mode. */
.wfo-topbar-install{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--wfo-ink);cursor:pointer}.wfo-topbar-install:hover,.wfo-topbar-install:focus-visible{background:#edf7f2;color:var(--wfo-brand)}.wfo-topbar-install[hidden]{display:none!important}.wfo-topbar-install svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.wfo-install-guide{position:fixed;z-index:1000;inset:0;display:grid;place-items:end center;padding:16px;background:rgba(4,19,13,.5)}.wfo-install-guide>section{position:relative;width:min(100%,430px);box-sizing:border-box;padding:26px 22px 20px;border-radius:18px 18px 12px 12px;background:#fff;box-shadow:0 18px 50px rgba(4,19,13,.24)}.wfo-install-guide h2{margin:10px 0 8px;font-size:22px}.wfo-install-guide p{margin:0;color:#526484;line-height:1.55}.wfo-install-guide__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#edf7f2;color:var(--wfo-brand);font-size:25px;font-weight:900}.wfo-install-guide__close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;border-radius:9px;background:transparent;font-size:28px;cursor:pointer}.wfo-install-guide div{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.wfo-install-guide div button{min-height:42px;padding:0 16px;border:1px solid var(--wfo-line);border-radius:9px;background:#fff;color:var(--wfo-ink);font-weight:800;cursor:pointer}.wfo-install-guide div button:last-child{border-color:var(--wfo-brand);background:var(--wfo-brand);color:#fff}@media(min-width:700px){.wfo-install-guide{place-items:center}.wfo-install-guide>section{border-radius:16px}}
.wfo-install-guide .wfo-install-guide__note{margin-top:10px;font-size:13px}.wfo-update-notice{position:fixed;z-index:950;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:640px;margin:auto;padding:13px 14px;border:1px solid #c9ded3;border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(4,19,13,.2);color:var(--wfo-ink)}.wfo-update-notice p{margin:0;font-size:14px;line-height:1.35}.wfo-update-notice button{shrink:0;min-height:40px;padding:0 14px;border:0;border-radius:8px;background:var(--wfo-brand);color:#fff;font-weight:800}.wfo-update-notice button:disabled{background:#d8e1dc;color:#526484}@media(max-width:699px){input,select,textarea{font-size:16px!important}}@media(min-width:700px){.wfo-update-notice{bottom:24px}}
.wfo-install-guide__device{font-size:14px;font-weight:850;color:var(--wfo-ink)!important}.wfo-install-guide ol{display:grid;gap:12px;margin:16px 0 0;padding-left:24px}.wfo-install-guide li{padding-left:4px;color:var(--wfo-ink);line-height:1.5}.wfo-install-step__symbol,.wfo-install-step__share{display:inline-grid;place-items:center;width:28px;height:28px;margin:0 3px;border:1px solid #c9ded3;border-radius:7px;background:#f5faf7;color:var(--wfo-brand);font-size:17px;font-weight:900;line-height:1;vertical-align:middle}.wfo-install-step__share svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* customer-home-responsive.css */
.customer-home-main { max-width: 1280px; }
.customer-home-play-grid button,
.customer-home-row,
.customer-home-explore button { border: 1px solid #dce8f5; }
@media (min-width: 1600px) {
  .customer-home-main { max-width: 1440px; padding-inline: clamp(42px, 5vw, 88px); }
  .customer-home-hero { min-height: 220px; }
  .customer-home-hero h1 { font-size: 38px; }
}

/* freshness.css */
.offline-notice{background:#5f4612;color:#fff;padding:9px 3.2vw;font-size:12px;text-align:center}.update-notice{position:fixed;z-index:100;right:18px;bottom:18px;display:flex;align-items:center;gap:14px;max-width:360px;background:#173c2c;color:#fff;border-radius:7px;padding:12px 14px;box-shadow:0 12px 30px rgba(0,0,0,.22);font-size:12px}.update-notice button{border:0;background:#fff;color:#0b6842;border-radius:4px;padding:7px 10px;font-weight:800;white-space:nowrap}.load-error{max-width:560px;margin:40px auto;text-align:center}.load-error h1{font-size:19px;margin:4px 0 8px}.load-error p{font-size:12px;line-height:1.5;color:#758078;margin:0 0 16px}@media(max-width:760px){.offline-notice{font-size:11px;padding:8px 14px}.update-notice{left:12px;right:12px;bottom:75px;max-width:none}}

/* Responsive Home imagery; source images remain available for other routes. */
.customer-home-hero,
.customer-home-hero--team,
.customer-home-hero--booking,
.customer-home-hero--action { background-image: none; }
.customer-home-hero-photo { background-image: url('../assets/home-hero-900.df6cc7780608e606.webp'); }
.customer-home-play-card--play { background-image: url('../assets/home-play-480.4646c4f51add6861.webp') !important; }
.customer-home-play-card--book { background-image: url('../assets/home-book-480.44f3e8076bac4bce.webp') !important; }
.customer-home-play-card--cafe { background-image: url('../assets/home-cafe-480.83037ff266ea7cf5.webp'); }
.customer-home-play-card--store { background-image: url('../assets/home-store-480.251684befbdf630f.webp'); }
@media (max-width: 899px) {
  .customer-home-hero-photo { background-image: url('../assets/home-hero-320.5e35e559e884ea91.webp'); }
  .customer-home-play-card--play { background-image: url('../assets/home-play-320.38073c952fbc733f.webp') !important; }
  .customer-home-play-card--book { background-image: url('../assets/home-book-320.7a59e0013263cdef.webp') !important; }
  .customer-home-play-card--cafe { background-image: url('../assets/home-cafe-320.5cad08ce0d4e651a.webp'); }
  .customer-home-play-card--store { background-image: url('../assets/home-store-320.bfbf3348fce19532.webp'); }
}

/* A hidden menu backdrop must not occupy a second row in the top bar. */
.wfo-topbar-menu>.wfo-customer-menu-backdrop[hidden]{display:none!important}
@media(min-width:900px){.wfo-topbar-menu>.wfo-customer-menu-backdrop{display:none!important}}

/* Signed-out Home selector and header. Shared SVGs come from navigation.js. */
.wfo-root-public-mount{padding-top:calc(64px + env(safe-area-inset-top, 0px))}
.wfo-root-public-mount>.landing-header{position:fixed;inset:0 0 auto;height:calc(64px + env(safe-area-inset-top, 0px));padding-top:env(safe-area-inset-top, 0px);z-index:100;background:#fff}
.landing-header .location-select>.wfo-ui-icon{width:16px;height:16px;flex:none;color:#008454}
.landing-header .location-select>.wfo-ui-icon:last-child{width:13px;height:13px;color:#64748b;transform:rotate(90deg)}
.hero-controls{background:#101827;border:1px solid #26344a;border-radius:16px;box-shadow:0 8px 24px #06132230;padding:11px 12px 10px}
.experience-tabs{display:flex;height:58px;background:#0b1020;border:1px solid #243047;border-radius:12px;padding:5px;gap:4px}
.experience-tabs>a,.experience-tabs>span{flex:1;width:auto;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;border:0;border-radius:9px;text-align:center;color:#a4aec1;font-size:11px;line-height:1.1}
.experience-tabs .is-selected{border-radius:9px;box-shadow:none;background:#009b6b;color:#fff}
.experience-tabs .is-unavailable{background:none;opacity:.8}
.experience-tabs .wfo-ui-icon{width:17px;height:17px;flex:none}
.experience-tabs>*>span{font-size:11px;line-height:1.1}
.experience-tabs>*>small{font-size:8px;line-height:1;min-height:0;color:inherit;white-space:nowrap}
.experience-tabs>a:hover .wfo-ui-icon,.experience-tabs>a:focus-visible .wfo-ui-icon{animation:wfo-home-icon-pop .55s ease}
.experience-tabs>a[href="/play"]:hover .wfo-ui-icon,.experience-tabs>a[href="/play"]:focus-visible .wfo-ui-icon{animation:wfo-home-ball-roll .65s ease}
@keyframes wfo-home-icon-pop{50%{transform:translateY(-3px) scale(1.12)}}
@keyframes wfo-home-ball-roll{to{transform:rotate(360deg)}}
.hero-controls .book-controls{display:grid;grid-template-columns:1fr;gap:8px;padding-top:9px}
.hero-controls .book-controls .entry-field{height:49px;background:#1e293b;border:1px solid #334155;color:#f8fafc;border-radius:10px;padding:6px 10px;gap:3px}
.hero-controls .book-controls .entry-field__label{color:#aab7ca;font-size:9px}
.hero-controls .book-controls .entry-field__control .wfo-ui-icon{width:16px;height:16px;flex-basis:16px;color:#10b981}
.hero-controls .book-controls .entry-field__control select,.hero-controls .book-controls .entry-field__control strong{color:#f8fafc;font-size:12px}
.hero-controls .book-controls .entry-field__control select option{color:#0f172a;background:#fff}
.hero-controls .availability-button{min-height:38px;background:#009b6b;border-radius:10px}
.hero-controls .entry-support{color:#aab7ca;text-align:center;font-size:10px;line-height:1.35;margin:8px 2px 0}
.hero-controls .entry-support strong{color:#f8fafc}
.hero-state .status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;vertical-align:middle}
.experience-card i .wfo-ui-icon,.facility-card a .wfo-ui-icon,.hero-state i .wfo-ui-icon{width:17px;height:17px}
.facility-card p .wfo-ui-icon,.location-card p .wfo-ui-icon{width:13px;height:13px;vertical-align:-2px;color:#008454}
.more-card>b .wfo-ui-icon,.trust-strip>div>.wfo-ui-icon{width:30px;height:30px}
@media(max-width:680px){.wfo-root-public-mount{padding-top:calc(57px + env(safe-area-inset-top, 0px))}.wfo-root-public-mount>.landing-header{height:calc(57px + env(safe-area-inset-top, 0px))}.experience-hero{height:520px;min-height:520px;padding:0}.hero-state{top:158px}.hero-controls{left:12px;right:12px;min-height:0;height:274px;padding:10px}.experience-tabs{height:58px;overflow:hidden}.experience-tabs>a,.experience-tabs>span{padding:4px 1px;gap:2px}.experience-tabs .wfo-ui-icon{width:17px;height:17px;flex-basis:17px}.experience-tabs>*>span{font-size:10px}.experience-tabs>*>small{font-size:7px;min-height:0}.hero-controls .book-controls .entry-field{height:49px}.hero-controls .availability-button{min-height:38px}}
@media(max-width:370px){.experience-hero{height:530px;min-height:530px;padding:0}.hero-controls{left:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.experience-tabs>a:hover .wfo-ui-icon,.experience-tabs>a:focus-visible .wfo-ui-icon{animation:none}}


/* Play is a mode within the selector; its two destinations remain contextual. */
.hero-controls [hidden]{display:none!important}
.experience-tabs>button{flex:1;width:auto;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;border:0;border-radius:9px;text-align:center;background:transparent;color:#a4aec1;font:inherit;font-size:11px;line-height:1.1;cursor:pointer}
.experience-tabs>button.is-selected{background:#009b6b;color:#fff}
.experience-tabs>button .wfo-ui-icon{width:17px;height:17px;flex:none}
.experience-tabs>button span{font-size:11px;font-weight:800}
.experience-tabs>button:hover .wfo-ui-icon,.experience-tabs>button:focus-visible .wfo-ui-icon{animation:wfo-home-icon-pop .55s ease}
.experience-tabs>button[data-public-mode="play"]:hover .wfo-ui-icon,.experience-tabs>button[data-public-mode="play"]:focus-visible .wfo-ui-icon{animation:wfo-home-ball-roll .65s ease}
.play-controls{display:grid;gap:8px;padding-top:9px}
.play-controls>a,.play-controls__soon{min-height:75px;display:flex;align-items:center;gap:10px;padding:11px 13px;background:#1e293b;border:1px solid #334155;border-radius:10px;color:#f8fafc}
.play-controls>a>.wfo-ui-icon:first-child,.play-controls__soon>.wfo-ui-icon{width:21px;height:21px;color:#10b981}
.play-controls>a>.wfo-ui-icon:last-child{width:16px;height:16px;margin-left:auto}
.play-controls strong,.play-controls small{display:block}
.play-controls strong{font-size:13px}.play-controls small{margin-top:3px;font-size:10px;color:#94a3b8}
.play-controls__soon{opacity:.7}
@media(max-width:680px){.experience-tabs>button{padding:4px 1px}.experience-tabs>button span{font-size:10px}.play-controls>a,.play-controls__soon{min-height:74px}}
@media(prefers-reduced-motion:reduce){.experience-tabs>button:hover .wfo-ui-icon,.experience-tabs>button:focus-visible .wfo-ui-icon{animation:none}}

.experience-tabs>[data-public-mode]{appearance:none;border:0;border-right:1px solid rgba(255,255,255,.13);background:transparent;color:#fff;cursor:pointer}.experience-tabs>[data-public-mode]:focus-visible{outline:2px solid #8ee0bd;outline-offset:-2px}.coming-soon-controls{padding:14px 16px;color:#fff}.coming-soon-controls[hidden]{display:none}.coming-soon-controls strong{display:block;font-size:16px}.coming-soon-controls p{margin:4px 0 7px;font-size:13px;line-height:1.4}.coming-soon-controls span{display:inline-block;border:1px solid #8ee0bd;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;color:#c6f6df}@media(max-width:680px){.experience-tabs>[data-public-mode]{min-width:0;width:25%;padding:7px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.experience-tabs>[data-public-mode] .wfo-ui-icon{width:22px;height:22px}.experience-tabs>[data-public-mode] span{font-size:11px}.experience-tabs>[data-public-mode] small{font-size:8px}.coming-soon-controls{padding:11px 13px}}

.hero-controls.is-coming-soon-mode{height:auto!important;min-height:0!important}.hero-controls.is-coming-soon-mode .coming-soon-controls{padding-bottom:12px}

/* Keep the hero, selector card, and image grid stationary when switching modes. */
@media(max-width:680px){
  .experience-hero{height:539px!important;min-height:539px!important}
  .hero-controls.is-coming-soon-mode{height:274px!important;min-height:274px!important}
}
/* Shared dark heading tokens must not produce light text on light public cards. */
html[data-wfo-theme="dark"] .public-home :is(.experience-card,.facility-card,.location-card,.more-card,.featured-experience){background-color:#161f2e!important;border-color:#334155!important;color:#f8fafc!important}
html[data-wfo-theme="dark"] .public-home :is(.experience-card,.facility-card,.location-card,.more-card,.featured-experience) :is(h2,h3,h4,strong,b){color:#f8fafc!important}
html[data-wfo-theme="dark"] .public-home :is(.experience-card,.facility-card,.location-card,.more-card,.featured-experience) :is(p,small,span){color:#94a3b8}
html[data-wfo-theme="dark"] .public-home .featured-experience h2{color:#10b981!important}
html[data-wfo-theme="dark"] .public-home .trust-strip :is(b,strong){color:#f8fafc!important}
html[data-wfo-theme="dark"] .public-home .trust-strip small{color:#94a3b8!important}

html[data-wfo-theme="dark"] .public-home .more-card{background-image:none!important}

html[data-wfo-theme="dark"] .landing-header{background:#161f2e!important;border-bottom-color:#334155!important;color:#f8fafc}
html[data-wfo-theme="dark"] .landing-header :is(a,button):not(.sign-in){color:#f8fafc}
html[data-wfo-theme="dark"] .landing-header .landing-logo{color:#6ee7b7!important}

/* Immersive sign-in uses the same elevated surface as the rest of dark mode. */
html[data-wfo-theme="dark"] .auth-page{background:#0b0f17;color:#f8fafc}
html[data-wfo-theme="dark"] .auth-page .auth-form{background:#161f2e;color:#f8fafc}
html[data-wfo-theme="dark"] .auth-page .auth-copy :is(h1,p),html[data-wfo-theme="dark"] .auth-page .auth-form label,html[data-wfo-theme="dark"] .auth-page .phone-field b{color:#f8fafc!important}
html[data-wfo-theme="dark"] .auth-page :is(.auth-copy span,#auth-note,#otp-countdown){color:#94a3b8!important}
html[data-wfo-theme="dark"] .auth-page :is(.phone-field,.otp-fields input){background:#1e293b;border-color:#334155;color:#f8fafc}
html[data-wfo-theme="dark"] .auth-page .phone-field b{border-color:#334155}
html[data-wfo-theme="dark"] .auth-page :is(.phone-field input,.otp-fields input){background:#1e293b;color:#f8fafc}
html[data-wfo-theme="dark"] .auth-page .phone-field input::placeholder{color:#94a3b8}

html[data-wfo-theme="dark"] .public-home .featured-experience>div>div span{background:#1e293b!important;border:1px solid #334155;color:#fbbf24!important}
