/* Brand Concept 02: exact palette from the PDF vector fills. */
@font-face{font-family:Geist;src:url('assets/fonts/geist-regular-8b5859d7eb658de6f56218e325986c48.woff2?vsn=d') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Geist;src:url('assets/fonts/geist-medium-f2a989eb9732540f520f1d75c1869b2c.woff2?vsn=d') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Geist;src:url('assets/fonts/geist-semibold-7c7fe8f558136105e68c181962d7dc89.woff2?vsn=d') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Geist;src:url('assets/fonts/geist-bold-ac4da6bb61c94774f84211ee195709f8.woff2?vsn=d') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:UoqMunThenKhung;src:url('assets/fonts/uoq-mun-then-khung-fcca92c8911c0ea3e615e6938d12f7c8.woff2?vsn=d') format('woff2');font-weight:400;font-display:swap}
/* Hero tagline uses outlined SVG; live headings use self-hosted Feroniapi (SIL OFL, Velvetyne). */
@font-face{font-family:Feroniapi;src:url('assets/fonts/Feroniapi-MediumItalic-e0ca8c631783db52d3d0cb55b7a801c5.woff2?vsn=d') format('woff2');font-weight:500;font-style:italic;font-display:swap}
:root{--font-sans:Geist,sans-serif;--font-display:Feroniapi,sans-serif;--font-han:UoqMunThenKhung,sans-serif;--brand-orange:#f35324}
:root{--brand-blue:#0060ce;--ink:#101010;--brand-cream:#fbe8d6;--brand-mint:#aae3c1;--muted:#5b6169;--line:#d9c9bb}*{box-sizing:border-box}html{font-family:var(--font-sans);scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--brand-cream);color:var(--brand-blue);font-family:var(--font-sans);line-height:1.6}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #f35324;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.05;letter-spacing:-.055em}h2{font-size:clamp(38px,4.5vw,65px);font-weight:500}h3{font-size:29px}em{font-family:var(--font-display);font-weight:500;font-style:italic}p+p{margin-top:18px}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:20}.skip:focus{top:0}.header{height:100px;padding:0 4.8%;display:flex;align-items:center;justify-content:space-between;background:var(--brand-cream);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:27px;letter-spacing:-1.4px;font-weight:750;line-height:.85}.brand-tile{font-family:var(--font-han);border:2px solid;padding:9px 5px;font-size:30px;border-radius:6px;box-shadow:3px 3px 0 var(--brand-blue)}.brand-bottom{display:block;margin-top:3px}.brand-dot{font-size:12px;vertical-align:top;margin-left:3px}nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:600}.signin{background:none;border:0;color:var(--brand-blue);padding:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 24px;border:1px solid var(--brand-blue);border-radius:40px;background:var(--brand-blue);color:var(--brand-cream);font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#004ca5;transform:translateY(-2px)}.button.cream{background:var(--brand-cream);color:var(--brand-blue);border-color:var(--brand-cream)}.button.cream:hover{background:var(--brand-mint)}.small{padding:12px 21px}.menu-toggle{display:none}.hero{min-height:640px;position:relative;background:var(--brand-blue);overflow:hidden;color:var(--brand-cream)}.hero-art{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,65,151,.9),rgba(0,65,151,.05) 75%),none;background-size:cover;background-position:center}.hero-content{position:relative;padding:82px 6% 115px;max-width:1500px;margin:auto}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin-bottom:25px}.light{color:#fbe8d6}h1{font-size:clamp(72px,8.4vw,122px);font-weight:500;line-height:.98;letter-spacing:-.065em}.hero-sub{font-size:18px;line-height:1.5;margin:25px 0 30px}.hero-cn{margin-left:24px;letter-spacing:6px;font-family:var(--font-han);color:#aae3c1}.hero-bottom{position:absolute;bottom:0;left:6%;right:6%;height:65px;border-top:1px solid #fbe8d655;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.7px}.hero-bottom i{display:inline-block;background:var(--brand-mint);width:7px;height:7px;border-radius:50%;margin-right:10px}.hero-bottom a{font-size:24px}.ticker{display:flex;justify-content:space-around;gap:24px;align-items:center;background:var(--brand-mint);padding:18px 3%;font-size:20px;white-space:nowrap;overflow:hidden}.ticker span{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.section{padding:95px 6%;max-width:1500px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%}.intro-copy{padding-top:34px;max-width:520px;color:#505965;font-size:15px}.intro-copy .large-copy{font-size:23px;line-height:1.4;color:var(--brand-blue);letter-spacing:-.6px;margin-bottom:22px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;border-bottom:1px solid var(--brand-blue);padding:14px 0;color:var(--brand-blue);background:none;font-weight:600;font-size:13px;text-align:left}.intro .text-link{margin-top:20px;max-width:330px}.amenities{margin:0 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:30px 0}.amenities div{display:flex;align-items:center;justify-content:center;gap:13px;font-size:12px}.amenities div+div{border-left:1px solid var(--line)}.amenities span{font-size:28px;line-height:1}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head p:not(.eyebrow){color:var(--muted);font-size:14px}.filters{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid #95afca;color:var(--brand-blue);border-radius:30px;font-size:12px;padding:9px 19px}.filters button.active{background:var(--brand-blue);border-color:var(--brand-blue);color:white}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.session-card{background:#fff8f1;border:1px solid #d9c9bb;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.session-card[hidden]{display:none}.card-art{height:220px;padding:20px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.tag{position:absolute;top:17px;left:18px;border:1px solid currentColor;border-radius:20px;padding:4px 10px;font-size:8px;font-weight:700;letter-spacing:1px}.art-caption{position:absolute;bottom:15px;font-size:8px;letter-spacing:2px}.art-intro{background:#aae3c1}.art-social{background:#a8c7ef}.art-clinic{background:#f8b9a4}.art-night{background:#0060ce;color:#fbe8d6}.mini-tiles{display:flex;gap:8px;transform:rotate(-10deg);margin-top:12px}.mini-tiles b{display:grid;place-items:center;width:61px;height:87px;background:#fbe8d6;border:1px solid #d0bfae;border-radius:6px;box-shadow:4px 7px 0 #0060ce,9px 13px 12px #0060ce26;font-family:var(--font-han);font-size:42px;font-weight:400}.mini-tiles b:nth-child(2){transform:translateY(-12px);color:#f35324}.art-clinic .mini-tiles{transform:rotate(12deg)}.circle-art{width:140px;height:140px;border:1px solid #0060ce;border-radius:50%;position:relative;transform:rotate(-15deg);margin-top:18px}.circle-art span{position:absolute;background:#fbe8d6;border-radius:4px;width:42px;height:53px;display:grid;place-items:center;font-family:var(--font-han);font-size:29px;box-shadow:3px 4px 0 #004ca5}.circle-art span:nth-child(1){left:50px;top:-14px}.circle-art span:nth-child(2){right:-14px;top:48px;transform:rotate(90deg)}.circle-art span:nth-child(3){bottom:-13px;left:49px;transform:rotate(180deg)}.circle-art span:nth-child(4){left:-13px;top:48px;transform:rotate(-90deg)}.card-body{padding:25px;display:flex;flex-direction:column;flex:1}.meta{font-size:9px;letter-spacing:1.4px;margin-bottom:14px;color:var(--muted);font-weight:700}.card-body h3{margin-bottom:16px}.card-body>p:not(.meta){font-size:13px;color:#505965;line-height:1.7}.card-body .detail{font-size:10px!important;margin:19px 0 23px}.card-price{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:10px}.card-price strong{font-size:24px;letter-spacing:-1px}.card-price>span:last-child{color:#004ca5;font-size:10px}.card-body .text-link{margin-top:13px;font-size:12px}.night-art{font-size:45px;display:flex;gap:25px;align-items:center}.night-art span{background:#fbe8d6;color:#f35324;border-radius:6px;display:inline-block;padding:0 13px;font-family:var(--font-han);transform:rotate(15deg);box-shadow:5px 6px 0 #caad95}.private-symbol{border:2px solid #0060ce;border-radius:16px;color:#0060ce;font-size:95px;font-family:var(--font-han);padding:5px 25px;transform:rotate(12deg);box-shadow:7px 8px 0 #7acda7}.pricing-note{font-size:11px;color:var(--muted);margin-top:22px}.club{padding:85px 9%;background:var(--brand-blue);color:var(--brand-cream);display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.club h2{font-size:clamp(45px,5vw,70px)}.club-copy>p:not(.eyebrow){font-size:14px;color:#fbe8d6;margin:28px 0}.club-pass{background:var(--brand-mint);color:var(--brand-blue);padding:34px;border-radius:8px;transform:rotate(2deg);box-shadow:10px 12px 0 #004ca5}.pass-top,.pass-bottom{display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1px}.pass-top{border-bottom:1px solid #548c86;padding-bottom:20px;margin-bottom:28px}.club-pass h3{font-size:32px}.membership-price{font-size:66px;letter-spacing:-4px;line-height:1.2;margin-top:12px}.membership-price span{font-size:12px;letter-spacing:0;margin-left:12px}.pass-note{font-size:10px}.club-pass ul{list-style:none;padding:0;margin:24px 0}.club-pass li{border-top:1px solid #85bba6;padding:13px 0 13px 22px;position:relative;font-size:12px;font-weight:600}.club-pass li:before{content:'↗';position:absolute;left:0}.club-pass li span{display:block;font-size:10px;font-weight:400;opacity:.85;margin-top:3px}.pass-bottom{border-top:1px solid #548c86;padding-top:18px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:22px;font-size:15px;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+'}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;color:var(--muted);margin:16px 35px 0 0}.visit{display:grid;grid-template-columns:1fr 1fr;margin:0 6% 95px;border:1px solid var(--line)}.visit-art{background:#aae3c1;min-height:475px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:35px;background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,#0060ce13 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#0060ce13 40px)}.visit-art>span:last-child{font-size:10px;letter-spacing:2px}.visit-mark{font-size:96px;line-height:1.12;font-family:var(--font-han);border:2px solid var(--brand-blue);border-radius:14px;padding:16px 35px;transform:rotate(-8deg);box-shadow:8px 8px 0 #69b8a4}.visit-copy{padding:50px 12%;background:#fbe8d6}.visit-copy h2{margin-bottom:24px}.visit-copy p{font-size:13px}.hours{border-top:1px solid #c9bbaa;border-bottom:1px solid #c9bbaa;display:flex;justify-content:space-between;padding:16px 0;margin-top:23px;font-size:12px}.small-copy{font-size:11px!important;color:var(--muted);margin:18px 0}.visit-copy .eyebrow{font-size:9px}footer{background:var(--ink);color:var(--brand-cream);padding:50px 6% 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:45px}.footer-logo{font-size:46px;letter-spacing:-3px;font-weight:700}.footer-top p{font-size:12px;color:#fbe8d6}.footer-top>a:last-child{font-size:14px;border-bottom:1px solid;padding:12px 0}.footer-bottom{border-top:1px solid #fbe8d64a;padding-top:24px;display:flex;gap:30px;font-size:10px;color:#fbe8d6}.footer-bottom>span{margin-right:auto}dialog{border:0;border-radius:12px;padding:40px;max-width:520px;width:calc(100% - 30px);max-height:90vh;overflow:auto;background:var(--brand-cream);color:var(--brand-blue);box-shadow:0 30px 100px #0005}dialog::backdrop{background:#002651b8;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:15px;top:8px;font-size:30px;border:0;background:none;color:var(--brand-blue)}dialog h2{font-size:38px;margin-bottom:22px}dialog .eyebrow{font-size:9px}dialog p{font-size:14px}dialog .notice{background:#aae3c1;padding:14px;font-size:12px;margin-bottom:22px}label{display:block;font-size:12px;font-weight:600;margin:14px 0 7px}select{width:100%;padding:12px;background:#fff8f1;color:var(--brand-blue);border:1px solid #95afca;border-radius:4px;font-size:13px}.booking-summary{background:white;padding:18px;margin-top:22px;border-left:3px solid var(--brand-blue);font-size:13px}.booking-summary strong{font-size:24px}.booking-summary p{font-size:12px;margin-top:8px}#info-copy{margin-bottom:26px}
@media(min-width:1500px){.hero-art{background-position:center 48%}}@media(max-width:1100px){nav{gap:17px;font-size:11px}.header{padding:0 4%}.signin{font-size:11px}.session-grid{gap:16px}.card-body{padding:20px}.private-symbol{font-size:70px;padding:5px 15px}.club{gap:7%;padding:70px 6%}.amenities div{font-size:10px;gap:8px}}@media(max-width:800px){.header{height:82px;padding:0 6%}.brand{font-size:23px}.brand-tile{font-size:25px}.menu-toggle{display:flex;gap:12px;border:1px solid #95afca;background:transparent;color:var(--brand-blue);border-radius:30px;padding:9px 16px;font-size:12px}nav{display:none;position:absolute;top:82px;left:0;right:0;padding:25px 6%;background:var(--brand-cream);box-shadow:0 12px 20px #10101020;font-size:15px}nav.open{display:flex;align-items:stretch;flex-direction:column}nav a,nav .signin{padding:8px 0;text-align:left;font-size:15px}.hero{min-height:610px}.hero-content{padding:75px 6% 120px}.hero-art{background-position:57% center}.hero-bottom>span:nth-child(2){display:none}.hero h1{font-size:80px}.ticker{justify-content:flex-start;gap:25px}.section{padding:65px 6%}.intro{gap:7%}.intro-copy{padding-top:0}.intro h2{font-size:39px}.intro-copy .large-copy{font-size:20px}.amenities{grid-template-columns:repeat(3,1fr);gap:25px 0}.amenities div:nth-child(4){border-left:0}.session-grid{grid-template-columns:repeat(2,1fr)}.club{gap:40px;grid-template-columns:1fr}.club-copy{max-width:550px}.club-pass{max-width:550px;transform:rotate(1deg)}.faq{grid-template-columns:1fr;gap:30px}.visit{margin-bottom:65px}.visit-copy{padding:35px 9%}.visit-art{min-height:460px}.footer-logo{font-size:34px}.footer-top{gap:20px}.footer-bottom{flex-wrap:wrap;gap:15px 25px}.footer-bottom>span{width:100%}}@media(max-width:520px){.hero{min-height:625px}.hero h1{font-size:70px}.hero-content{padding-top:65px}.hero-art{background-position:49% center;background-image:linear-gradient(90deg,rgba(0,65,151,.92),rgba(0,65,151,.3)),none}.hero-sub{font-size:16px}.hero-content .eyebrow{font-size:9px}.hero-cn{font-size:14px;margin-left:15px;letter-spacing:3px}.hero-bottom{font-size:9px}.intro{grid-template-columns:1fr;gap:30px}.intro h2{font-size:43px}.amenities{grid-template-columns:repeat(2,1fr);gap:22px}.amenities div{justify-content:flex-start;font-size:11px}.amenities div+div{border:0}.amenities div:last-child{grid-column:span 2}.section-head{display:block}.section-head>p{margin-top:20px}.session-grid{grid-template-columns:1fr;gap:25px}.card-art{height:230px}.card-body{padding:25px}.card-body>p:not(.meta){font-size:14px}.filters{gap:8px}.filters button{padding:8px 14px;font-size:11px}.club{padding:60px 6%}.club-pass{padding:25px}.club h2{font-size:48px}.club-pass li{font-size:12px}.visit{grid-template-columns:1fr}.visit-art{min-height:350px}.visit-mark{font-size:72px}.visit-copy{padding:35px 8%}.footer-top{display:block}.footer-top p{margin:20px 0}.footer-top>a:last-child{display:inline-block}.footer-logo{font-size:43px}dialog{padding:32px 24px}.section h2{font-size:42px}.card-price>span:last-child{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Concept 02 brand applications */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand{flex-shrink:0}.brand img{display:block;width:180px;height:auto}
.hero-lettering{display:block;width:min(550px,100%);height:auto}
.hero h1{max-width:550px;line-height:1}.hero-content{padding-top:88px}
h1,h2,h3{font-family:var(--font-display);font-weight:500;font-style:italic;letter-spacing:-.045em}
.hero-sub,nav,.eyebrow,.button,.card-price,.membership-price,.filters,footer,.ticker,.faq summary,.text-link,label,select,dialog p,.meta,.tag,.pass-top,.pass-bottom,.hero-bottom,.amenities{font-family:var(--font-sans)}
.large-copy{font-family:var(--font-display);font-weight:500;font-style:italic;letter-spacing:-.03em}
.footer-logo img{display:block;width:260px;height:auto}
.pass-top{align-items:center}.pass-logo{display:block;width:100px;height:auto}
[lang="zh"]{font-family:var(--font-han)}
.hero-bottom i{background:var(--brand-orange)}
.art-clinic .tag{background:var(--brand-orange);border-color:var(--brand-orange);color:#161616}
.art-night .tag{color:var(--brand-cream)}
.footer-top{gap:30px}.footer-logo{flex-shrink:0}
@media(max-width:800px){.brand img{width:150px}.hero-lettering{width:490px}.footer-logo img{width:210px}}
@media(max-width:520px){.brand img{width:140px}.hero-content{padding-top:76px}.hero-lettering{width:100%;max-width:400px}.hero-sub{margin-top:28px}.footer-logo img{width:240px}}
/* Tile-inspired amenity marks */
.amenities .amenity-icon{width:38px;height:38px;flex:none;fill:var(--brand-cream);stroke:var(--brand-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(2px 2px 0 var(--brand-mint))}
.amenities .amenity-icon rect{fill:#fff8f1}
.amenities .amenity-icon path,.amenities .amenity-icon circle{fill:none}
.amenities div{font-weight:600}
@media(max-width:520px){.amenities .amenity-icon{width:34px;height:34px}}
/* Keep cream lettering legible where the tile artwork crosses the title. */
.hero-art{background-image:linear-gradient(90deg,rgba(0,57,135,.96),rgba(0,70,160,.64) 46%,rgba(0,70,160,.08) 85%),none}
@media(max-width:800px){.hero-art{background-image:linear-gradient(90deg,rgba(0,57,135,.9),rgba(0,70,160,.65)),none}}

/* LiveView booking flow */
.lab-booking-page{min-height:100vh;background:var(--brand-cream)}
.lab-booking{max-width:850px;margin:0 auto}
.lab-booking h1{font-size:clamp(44px,6vw,76px);max-width:780px}
.lab-lead{max-width:650px;font-size:17px;margin:25px 0 35px;color:#355b78}
.lab-panel{background:#fff8f1;border:1px solid var(--line);border-radius:10px;padding:clamp(24px,4vw,42px);margin-top:25px;box-shadow:8px 8px 0 #0060ce14}
.lab-panel h2{font-size:clamp(31px,4vw,45px);margin-bottom:16px}
.lab-panel p{font-size:14px;color:#355b78;margin-bottom:18px}
.lab-panel form{display:grid;gap:16px}
.lab-panel form label{font-size:13px;margin:0 0 5px}
.lab-panel form input,.lab-panel form select{background:white;border:1px solid #95afca;color:var(--brand-blue);padding:12px;width:100%;border-radius:5px}
.lab-panel form input:focus,.lab-panel form select:focus{outline:3px solid var(--brand-orange);outline-offset:2px}
.lab-panel form .button{justify-self:start;margin-top:14px}
.lab-panel form .button:disabled{opacity:.5;cursor:not-allowed}
.lab-note{font-size:12px!important;margin:0!important}
.lab-alert,.lab-notice{padding:14px 18px;border-radius:6px;margin:20px 0;font-size:14px}
.lab-alert{background:#ffe2d8;color:#8c260a}.lab-notice{background:var(--brand-mint)}
.lab-success{background:var(--brand-mint)}
.lab-success .button{margin-top:20px}
@media(max-width:520px){.lab-booking{padding-top:55px}.lab-panel{margin-top:20px}}
.lab-my-bookings{background:var(--brand-mint);padding:18px;margin-bottom:24px;border-radius:6px}
.lab-my-bookings h3{font-size:23px;margin-bottom:12px}
.lab-my-bookings button{background:transparent;border:0;border-bottom:1px solid var(--brand-blue);color:var(--brand-blue);padding:2px;cursor:pointer}
.lab-selection-form h3{font-size:22px;margin:12px 0 0}
.lab-choice-grid,.lab-time-grid,.lab-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}
.lab-day-grid{max-height:184px;overflow:auto;padding:3px}
.lab-choice{display:flex;flex-direction:column;gap:4px;border:1px solid #95afca;border-radius:6px;padding:14px;background:#fff;cursor:pointer;min-height:58px}
.lab-choice.active{background:var(--brand-mint);border:2px solid var(--brand-blue);padding:13px}
.lab-choice:hover{border-color:var(--brand-blue)}
.lab-choice input{position:absolute;opacity:0;width:1px!important;height:1px;padding:0!important}
.lab-choice:focus-within{outline:3px solid var(--brand-orange);outline-offset:2px}
.lab-choice strong{font-size:15px}.lab-choice span{font-size:12px;color:#355b78}
.free-play-promo{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:34px 6%;background:var(--brand-mint);border-bottom:1px solid var(--brand-blue)}
.free-play-promo .eyebrow{margin-bottom:8px}.free-play-promo h2{font-size:clamp(31px,4vw,54px)}.free-play-promo p:not(.eyebrow){max-width:580px;margin-top:10px;font-size:15px;line-height:1.5}.free-play-promo .button{flex:none}
.free-play-card-note{margin:0 0 14px!important;padding:11px 13px;background:#fff8f1;border-left:4px solid var(--brand-blue);color:var(--brand-blue)!important;font-size:12px!important;line-height:1.5}
.lab-day-grid .lab-free-day{background:#fff8f1;border-color:var(--brand-blue)}.lab-day-grid .lab-free-day.active{background:var(--brand-mint)}
.lab-free-date{display:block;margin-top:2px;color:var(--brand-blue);font-size:9px;font-weight:800;letter-spacing:.04em;line-height:1.2}
.lab-free-play-note{margin:12px 0!important;padding:13px 15px;background:var(--brand-mint);border-left:4px solid var(--brand-blue);border-radius:3px;color:var(--brand-blue)!important;font-size:13px;line-height:1.5}
.lab-booking-summary .lab-summary-free{margin-top:3px;color:var(--brand-blue);font-size:14px;font-weight:800}
.lab-booking-card-copy .lab-portal-free{display:block;margin-top:4px;color:var(--brand-blue);font-weight:800}
@media(max-width:650px){.free-play-promo{display:block;padding:28px 6%}.free-play-promo .button{margin-top:20px;width:100%;justify-content:center}}
.lab-seats-grid{grid-template-columns:repeat(4,minmax(60px,1fr))}
.club-warning{background:#fff8f1;color:var(--brand-blue)!important;padding:16px 18px;border-left:5px solid var(--brand-orange);border-radius:3px}
.club-warning a{color:var(--brand-blue);font-weight:700;text-decoration:underline}
.lab-member-nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700}.lab-member-nav a{color:var(--brand-blue)}
.lab-member-nav form{margin:0}.lab-logout{background:none;border:0;border-bottom:1px solid currentColor;color:var(--brand-blue);font:inherit;padding:2px 0;cursor:pointer}.lab-logout:focus-visible{outline:3px solid var(--brand-orange);outline-offset:3px}
.lab-portal{margin-top:26px}.lab-portal-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;background:var(--brand-mint);border:1px solid var(--brand-blue);border-radius:8px}
.lab-portal-intro h2{font-size:34px;margin:2px 0 6px}.lab-portal-intro p{margin:0;color:#355b78;font-size:13px}.lab-portal-intro .button{flex-shrink:0}
.lab-portal-section{margin-top:34px}.lab-section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:18px}.lab-section-heading h2{font-size:34px;margin:0}.lab-count{font-size:13px;color:#355b78}
.lab-empty-state{background:#fff8f1;border:1px solid var(--line);border-radius:8px;padding:35px;text-align:center}.lab-empty-tile{display:inline-grid;place-items:center;width:56px;height:68px;background:var(--brand-mint);border:2px solid var(--brand-blue);border-radius:5px;font-size:30px}.lab-empty-state h3{font-size:26px;margin:15px 0 6px}.lab-empty-state p{color:#355b78;max-width:380px;margin:0 auto 20px}.lab-empty-state .button{display:inline-flex}
.lab-booking-list{display:grid;gap:14px}.lab-booking-card{display:flex;align-items:center;gap:18px;background:#fff8f1;border:1px solid var(--line);border-radius:8px;padding:20px}.lab-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;min-height:82px;background:var(--brand-mint);border-radius:5px}.lab-date-badge strong{font-size:32px;line-height:1}.lab-date-badge span{text-transform:uppercase;font-size:12px;letter-spacing:1px}.lab-booking-card-copy{flex:1}.lab-booking-card-copy h3{font-size:25px;margin:4px 0}.lab-booking-card-copy p{margin:0 0 4px;font-size:13px;color:#355b78}.lab-booking-card-copy small{font-size:11px;color:#58718a}.lab-cancel{background:transparent;border:0;border-bottom:1px solid currentColor;color:var(--brand-blue);padding:4px 0;cursor:pointer;white-space:nowrap}.lab-cancel:focus-visible{outline:3px solid var(--brand-orange);outline-offset:3px}.lab-booking-actions{margin-top:9px}.lab-calendar-link{color:var(--brand-blue);font-size:12px;font-weight:700;text-decoration:underline}
.lab-booking-head{display:flex;justify-content:space-between;align-items:start;gap:18px}.lab-booking-head h2{margin:3px 0 8px}.lab-booking-head p{max-width:500px}.lab-booking-head .text-link{flex-shrink:0;margin-top:7px}
.lab-selection-form{margin-top:10px}.lab-selection-form h3{border-top:1px solid var(--line);padding-top:20px}.lab-choice-grid:not(.lab-seats-grid){grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.lab-choice{transition:background .15s,border-color .15s,transform .15s}.lab-choice:hover{transform:translateY(-2px)}.lab-choice.active{box-shadow:3px 3px 0 #0060ce20}.lab-day-grid{max-height:none;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.lab-day-grid .lab-choice{text-align:center;align-items:center}.lab-time-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.lab-availability-empty{background:#fff0e2;padding:16px;border-radius:5px;color:#744425!important}.lab-booking-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--brand-mint);border:1px solid var(--brand-blue);border-radius:6px;padding:18px;margin-top:8px}.lab-booking-summary>div{display:flex;flex-direction:column;gap:4px}.lab-booking-summary .eyebrow{margin:0!important}.lab-booking-summary strong{font-size:18px}.lab-booking-summary span{font-size:13px}.lab-booking-summary .button{margin:0!important;white-space:nowrap}
.lab-group-note{background:var(--brand-mint);border-left:4px solid var(--brand-blue);padding:12px 15px;margin:0!important;color:var(--brand-blue)!important;font-weight:700}
.lab-booking-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;max-width:580px}
.lab-action{display:flex;align-items:center;gap:12px;min-height:66px;padding:11px 13px;border:1px solid #c9d5df;border-radius:8px;background:#fff;color:var(--brand-blue);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.lab-action:hover{transform:translateY(-2px);box-shadow:0 7px 18px #153c6518}
.lab-action span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1;line-height:1.25}
.lab-action strong{font-size:12px}.lab-action small{font-size:10px;color:#58718a}
.lab-action-icon{width:20px;height:20px;flex:none}.lab-action-arrow{width:15px;height:15px;flex:none;opacity:.7}
.lab-action-wallet{display:none;background:var(--brand-blue);border-color:var(--brand-blue);color:var(--brand-cream)}
html.mahjong-safari .lab-action-wallet{display:flex}
.lab-action-wallet:hover{background:#004ca5}.lab-action-wallet small{color:#e2edff}
.lab-action-tile{display:grid;place-items:center;width:34px;height:40px;flex:none;border:1px solid #fbe8d6;border-radius:4px;color:var(--brand-orange);background:var(--brand-cream);font-family:var(--font-han);font-size:22px;box-shadow:2px 2px 0 #004ca5}
.lab-auth-options{display:grid;gap:11px;max-width:420px;margin:24px auto 0}.lab-apple-signin{display:none;align-items:center;justify-content:center;gap:11px;width:100%;min-height:52px;margin:0;padding:12px 20px;border:1px solid #111;border-radius:6px;background:#111;color:#fff;font-size:15px;letter-spacing:.01em}.lab-apple-signin:hover{background:#292929;transform:translateY(-1px)}.lab-apple-mark{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:23px;line-height:1}.lab-email-choice{width:100%;min-height:52px;padding:12px 20px;border:1px solid var(--brand-blue);border-radius:6px;background:transparent;color:var(--brand-blue);font-size:14px;font-weight:700}.lab-email-choice:hover{background:#aae3c155}.lab-create-choice{background:var(--brand-blue);color:var(--brand-cream)}.lab-create-choice:hover{background:#004ca5}.mahjong-safari .lab-apple-signin{display:flex}.lab-auth-back{max-width:250px;margin:6px 0 18px}
.lab-profile-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;margin-top:22px;padding:25px 28px;background:#fff8f1;border:1px solid var(--line);border-radius:8px}.lab-profile-panel h3{font-size:26px;margin:2px 0 8px}.lab-profile-panel p:not(.eyebrow){font-size:13px;color:#355b78}.lab-profile-panel .eyebrow{margin-bottom:8px}.lab-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px}.lab-profile-form label{display:block;font-size:12px;font-weight:600;margin:0 0 5px}.lab-profile-form input{width:100%;padding:11px;border:1px solid #95afca;border-radius:5px;background:white;color:var(--brand-blue)}.lab-profile-form input:disabled{background:#f2ede6;color:#5b6169}.lab-profile-form .button{align-self:end;justify-self:start;padding:12px 18px;grid-column:span 2}
@media(max-width:650px){.lab-booking-actions{grid-template-columns:1fr;max-width:none}.lab-action{min-height:62px}}
@media(max-width:650px){.lab-portal-intro,.lab-booking-head,.lab-booking-summary{flex-direction:column;align-items:stretch}.lab-portal-intro .button,.lab-booking-summary .button{justify-content:center}.lab-booking-card{align-items:flex-start;flex-wrap:wrap}.lab-cancel{margin-left:94px}.lab-member-nav{gap:12px}.lab-choice-grid:not(.lab-seats-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.lab-profile-panel{grid-template-columns:1fr;padding:20px}.lab-profile-form{grid-template-columns:1fr}.lab-profile-form .button{grid-column:auto}}
/* Small-screen layout refinements */
@media(max-width:800px){
  .amenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 6%;padding:10px 0}
  .amenities div{justify-content:flex-start;min-height:64px;padding:10px 12px;font-size:12px}
  .amenities div+div{border-left:0}
  .amenities div:nth-child(even){border-left:1px solid var(--line)}
  .amenities div:last-child{grid-column:1 / -1;border-left:0}
  .ticker{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity}
  .ticker::-webkit-scrollbar{display:none}
  .ticker>*{flex:none;scroll-snap-align:start}
  .lab-member-nav{flex-wrap:wrap;justify-content:flex-end}
  .lab-portal{min-width:0}
}
@media(max-width:650px){
  .lab-booking-page{padding:0 16px env(safe-area-inset-bottom)}
  .lab-booking{padding-top:34px}
  .lab-booking h1{font-size:clamp(40px,11vw,58px);overflow-wrap:anywhere}
  .lab-lead{font-size:15px;margin:18px 0 24px}
  .lab-panel{padding:20px 16px;border-radius:8px;box-shadow:4px 4px 0 #0060ce14}
  .lab-booking-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:15px}
  .lab-date-badge{min-width:58px;min-height:68px}
  .lab-date-badge strong{font-size:26px}
  .lab-booking-card-copy{min-width:0}
  .lab-booking-card-copy h3{font-size:22px}
  .lab-booking-card-copy p{overflow-wrap:anywhere}
  .lab-booking-actions{grid-template-columns:minmax(0,1fr)}
  .lab-cancel{grid-column:2;justify-self:start;margin:0;padding:9px 0;min-height:44px}
  .lab-member-nav{justify-content:flex-start;gap:10px 16px}
  .lab-member-nav a,.lab-logout{min-height:44px;display:inline-flex;align-items:center}
  .lab-choice-grid:not(.lab-seats-grid){grid-template-columns:minmax(0,1fr)}
  .lab-day-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .lab-day-grid .lab-choice{padding:10px 5px;min-width:0}
  .lab-seats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .lab-booking-summary{padding:14px}
  .lab-booking-summary .button,.lab-portal-intro .button{width:100%;min-height:48px}
  .lab-profile-panel{padding:18px 15px}
  .lab-profile-form .button{width:100%;justify-content:center;min-height:48px}
}
@media(max-width:380px){
  .header{padding:0 16px}
  .brand img{width:128px}
  .menu-toggle{padding:8px 12px}
  .hero-content{padding-left:20px;padding-right:20px}
  .hero-bottom{left:20px;right:20px;letter-spacing:1px}
  .amenities{margin:0 20px}
  .amenities div{gap:8px;padding:8px;font-size:11px}
  .amenities .amenity-icon{width:30px;height:30px}
  .filters{gap:7px}
  .filters button{padding:8px 11px}
  .lab-booking-page{padding-left:12px;padding-right:12px}
}
/* Desktop reading sizes: keep supporting copy comfortably readable. */
@media(min-width:801px){
  .eyebrow{font-size:12px}
  .text-link{font-size:15px}
  .amenities div{font-size:14px}
  .section-head p:not(.eyebrow){font-size:16px}
  .filters button{font-size:14px}
  .tag{font-size:10px}
  .art-caption{font-size:10px}
  .meta{font-size:11px}
  .card-body>p:not(.meta){font-size:15px}
  .card-body .detail{font-size:13px!important}
  .card-price{font-size:13px}
  .card-price>span:last-child{font-size:12px}
  .card-body .text-link{font-size:14px}
  .pricing-note{font-size:13px}
  .club-copy>p:not(.eyebrow){font-size:16px}
  .pass-top,.pass-bottom{font-size:11px}
  .pass-note{font-size:12px}
  .club-pass li{font-size:14px}
  .club-pass li span{font-size:12px}
  .faq summary{font-size:17px}
  .faq details p{font-size:15px}
  .visit-copy p{font-size:15px}
  .hours{font-size:14px}
  .small-copy{font-size:13px!important}
  .visit-copy .eyebrow{font-size:11px}
  .footer-top p{font-size:14px}
  .footer-bottom{font-size:12px}
}
@media(min-width:801px) and (max-width:1100px){
  .session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .amenities div{font-size:12px}
}
/* The member header shares the landing page's generic nav element. Keep its
   links in normal flow on phones instead of treating them as the site menu. */
@media(max-width:800px){
  .lab-booking-page .header{height:auto;min-height:82px;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:16px 6%}
  .lab-booking-page .lab-member-nav{position:static;inset:auto;display:flex;width:100%;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:2px 18px;padding:8px 0 0;background:transparent;box-shadow:none;font-size:15px}
  .lab-booking-page .lab-member-nav a{padding:8px 0;text-align:left;font-size:15px}
  .lab-booking-page .lab-member-nav form{display:flex;align-items:center}
}
@media(max-width:380px){
  .lab-booking-page .header{padding-left:16px;padding-right:16px}
  .lab-booking-page .lab-member-nav{column-gap:14px;font-size:14px}
  .lab-booking-page .lab-member-nav a{font-size:14px}
}
.hero-bottom-promise{text-align:center;text-transform:uppercase;line-height:1.4}
@media(max-width:800px){
  .hero-bottom{gap:12px;letter-spacing:.5px}
  .hero-bottom>span:nth-child(2){display:block}
  .hero-bottom>span{line-height:1.4}
}
@media(max-width:520px){
  .hero-bottom{height:auto;min-height:100px;padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}
  .hero-bottom>span:nth-child(2){grid-column:1;grid-row:2;max-width:150px}
  .hero-bottom-promise{grid-column:2;grid-row:2;text-align:right}
  .hero-bottom>a{grid-column:2;grid-row:1;justify-self:end}
}

/* Session photography */
.card-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art-intro.card-photo img{object-position:center 52%}
.art-social.card-photo img{object-position:center 70%}
.card-photo .tag,.card-photo .art-caption,.art-private .tag,.art-private .art-caption{z-index:1;background:var(--brand-cream);color:var(--brand-blue);border-color:var(--brand-cream)}
.card-photo .art-caption,.art-private .art-caption{padding:4px 10px;border-radius:4px}

.art-private{background:var(--brand-mint)}

/* Highlight the included Open Social Play drink. */
.card-body .session-inclusion{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;background:var(--brand-mint);color:var(--brand-blue);border:1px solid var(--brand-blue);border-radius:8px;font-size:14px;line-height:1.4}
.session-inclusion svg{width:26px;height:26px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.session-inclusion strong{font-weight:700}

.lab-choice .lab-choice-pass-price{color:var(--brand-blue);font-weight:600;margin-top:8px}

.lab-club-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;padding:22px;background:var(--brand-mint);border:2px solid var(--brand-blue);border-radius:8px}
.lab-club-banner .eyebrow{margin-bottom:8px}.lab-club-banner h3{font-size:26px}.lab-club-banner p:not(.eyebrow){margin-top:10px;font-size:14px}.lab-club-banner .button{flex-shrink:0}
@media(max-width:650px){.lab-club-banner{flex-direction:column;align-items:stretch;padding:18px}.lab-club-banner .button{justify-content:center;gap:12px}}

.lab-active-pass{margin:26px 0;padding:26px;background:var(--brand-mint);border:2px solid var(--brand-blue);border-radius:10px;box-shadow:4px 4px 0 #0060ce18}
.lab-active-pass-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.lab-active-pass .eyebrow{margin-bottom:8px}.lab-active-pass h2{font-size:clamp(28px,4vw,40px)}
.lab-pass-status{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--brand-blue);border-radius:30px;background:#fff8f1;font-size:13px;font-weight:700}.lab-pass-status .hero-check-circle{width:18px;height:18px}
.lab-active-pass>p{margin-top:16px}.lab-pass-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:20px 0;list-style:none}.lab-pass-benefits li{padding:16px;background:#fff8f1;border:1px solid #0060ce35;border-radius:6px}.lab-pass-benefits strong,.lab-pass-benefits span{display:block}.lab-pass-benefits strong{font-size:17px;line-height:1.3}.lab-pass-benefits span{margin-top:8px;font-size:13px;line-height:1.5}.lab-active-pass .lab-pass-footnote{font-size:12px;line-height:1.6}
@media(max-width:650px){.lab-active-pass{padding:20px}.lab-active-pass-heading{align-items:flex-start}.lab-pass-benefits{grid-template-columns:1fr}.lab-pass-status{flex-shrink:0}}

.lab-payment .hidden{display:none}.lab-payment .button{margin-top:18px}.lab-payment-loading{padding:24px 0;font-size:14px}.lab-payment #tyro-event-pay-form{margin-top:20px}

/* Shared guest fields for checkout and the account portal. */
.lab-guest-details{margin-top:24px}
.lab-guest-details>p{margin:14px 0;font-size:14px;line-height:1.6}
.lab-guest-player{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;min-width:0}
.lab-guest-player>div{min-width:0}
.lab-guest-player label{display:block;margin:0 0 6px;color:var(--brand-blue);font-size:13px;font-weight:600;line-height:1.4}
.lab-guest-player input{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0;padding:11px 12px;border:1px solid #95afca;border-radius:5px;background:#fff;color:#244875;font:inherit;font-size:14px;line-height:1.4}
.lab-guest-player input:focus{outline:2px solid var(--brand-blue);outline-offset:2px;border-color:var(--brand-blue)}
.lab-booking-card{align-items:flex-start}
.lab-booking-card-copy{min-width:0}
.lab-cancel{align-self:flex-start;margin-top:4px}
.lab-guest-editor{margin:16px 0;padding:16px;background:#fff8f1;border:1px solid var(--line);border-radius:6px;min-width:0}
.lab-guest-editor summary{cursor:pointer;color:var(--brand-blue);font-size:14px;font-weight:700;line-height:1.5}
.lab-guest-editor summary:focus-visible{outline:2px solid var(--brand-blue);outline-offset:4px}
.lab-guest-editor[open] summary{padding-bottom:12px;border-bottom:1px solid var(--line)}
.lab-guest-editor form{display:grid;gap:16px;margin-top:14px;min-width:0}
.lab-guest-editor form>p{margin:0;font-size:13px;line-height:1.6}
.lab-guest-editor .lab-guest-player{margin:0}
.lab-guest-editor .button{justify-self:start;margin:0;padding:11px 18px;font-size:13px;line-height:1.4}
@media(max-width:650px){.lab-guest-player{grid-template-columns:1fr;gap:14px}.lab-guest-editor{padding:14px}.lab-guest-editor .button{width:100%;justify-content:center}.lab-cancel{margin-top:0}}

.art-boardgame{background:var(--brand-mint)}.card-photo.art-boardgame img{object-position:center 15%}

/* Keep booking one tap away in the mobile header. */
.header-mobile-actions{display:none}
@media(max-width:800px){.header{gap:12px}.header-mobile-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-book-now{min-height:38px;padding:10px 14px;font-size:12px;line-height:1.2;white-space:nowrap}.header-mobile-actions .menu-toggle{gap:6px;padding:9px 12px;font-size:12px;min-height:38px}}
@media(max-width:380px){.header{padding-left:12px;padding-right:12px;gap:8px}.header .brand img{width:116px}.header-mobile-actions{gap:6px}.header-book-now{padding:10px 12px}.header-mobile-actions .menu-toggle{padding:9px 10px;font-size:11px}}

.lab-pass-prompt-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#082f5e99;overflow-y:auto}
.lab-pass-prompt{position:relative;width:min(100%,520px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:30px;background:var(--brand-cream);border:1px solid var(--brand-blue);border-radius:10px;box-shadow:0 16px 60px #082f5e40;color:var(--brand-blue)}
.lab-pass-prompt .eyebrow{margin:0 30px 12px 0}.lab-pass-prompt h2{font-size:38px;margin:0 0 18px}.lab-pass-prompt>p:not(.eyebrow){font-size:14px;line-height:1.6}
.lab-pass-prompt-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #95afca;border-radius:50%;background:transparent;color:var(--brand-blue);font-size:26px;line-height:1}
.lab-pass-prompt-price{margin:20px 0;padding:16px;background:var(--brand-mint);border:1px solid #0060ce40;border-radius:6px}.lab-pass-prompt-price>strong{font-size:17px}.lab-pass-prompt-price p{margin-top:8px;font-size:14px;line-height:1.7}
.lab-pass-prompt-actions{display:grid;gap:12px;margin-top:22px}.lab-pass-prompt-actions .button{justify-content:center;gap:12px}.lab-pass-prompt-actions .text-link{justify-content:center}
@media(max-width:520px){.lab-pass-prompt-overlay{padding:14px}.lab-pass-prompt{padding:24px 20px;max-height:calc(100dvh - 28px)}.lab-pass-prompt h2{font-size:32px}.lab-pass-prompt-actions .button{padding:14px;font-size:13px}}

/* The shared picture component supplies the hero photograph; retain the brand overlay. */
.hero-art .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-art::after{content:"";position:absolute;inset:0;background-image:inherit;pointer-events:none}
@media(min-width:1500px){.hero-art .hero-photo{object-position:center 48%}}
@media(max-width:800px){.hero-art .hero-photo{object-position:57% center}}
@media(max-width:520px){.hero-art .hero-photo{object-position:49% center}}
