/* SORA adaptation layered over the saved master reference and its fixed booking CSS. */
:root{--bg:#0b0d14;--panel:#141823;--panel-light:#1c2230;--accent:#9caaff;--text:#f3f4fa;--muted:#a0a7bb;--line:#303748}html{scroll-behavior:auto}body,.sora-app{background:var(--bg)}[hidden]{display:none!important}svg{width:18px;height:18px;flex-shrink:0;display:block}button,a{touch-action:manipulation}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:#5263ba;padding:12px}.skip-link:focus{top:12px}.sora-app .app-header{background:#0b0d14ed;gap:20px}.sora-app .wordmark{gap:10px}.sora-app .ug-brand-logo{background:linear-gradient(145deg,#9caaff22,#7b68a118);color:#bbc4ff;border-color:#96a6ef4a;font-size:22px;font-style:italic;font-weight:700}.brand-name{display:flex;flex-direction:column;gap:4px;letter-spacing:-.8px;font-weight:800}.brand-caption{font-size:6px;letter-spacing:2.6px;color:#aab4d3;font-weight:500}.header-phone{font-size:11px}.header-phone span:last-child{margin-left:3px}.menu-toggle{min-width:42px;padding:10px}.sora-app .header-location{margin-left:auto}.sora-app .app-header nav{position:absolute;right:32px;top:76px;z-index:45;display:grid;min-width:220px;padding:12px;border:1px solid #b5c1ff30;border-radius:20px;background:#151b2bf5;backdrop-filter:blur(20px);box-shadow:0 20px 50px #0008}.sora-app .app-header nav button{text-align:left;padding:12px 16px;border-radius:12px;font-size:13px}.sora-app .app-header nav button:hover{background:#a4b5ff13}.identity-notice{font-size:10px;margin-bottom:0}.ug-mode{padding-top:12px}.status-dot{width:5px;height:5px;border-radius:50%;background:#a3b0ff;box-shadow:0 0 10px #a3b0ff80}.sora-app img{width:100%;height:100%;object-fit:cover}.sora-app .v3-hero>img,.sora-app .ug-session-photo>img,.sora-app .ug-about-photo img{filter:none}.sora-app .v3-hero>img{position:absolute;inset:0;object-position:center 52%}.sora-app .v3-hero-shade{background:linear-gradient(90deg,#070a12e3,#070a1270 55%,#070a121a),linear-gradient(0deg,#080a13aa,transparent 70%)}.sora-app .ug-hero{height:460px}.sora-app .ug-hero h1{font-size:64px;font-weight:500;letter-spacing:-3px}.sora-app .ug-hero h1 span{color:#b0bcff}.sora-app .hero-book{background:linear-gradient(140deg,#8b9cffd9,#5f73dcbf);border-color:#c1ccff60;color:#fff}.sora-app .hero-live{background:#1016289e;border-color:#ffffff25}.sora-app .eyebrow{color:#9faedf}.sora-app .muted{color:#9da8c8}.sora-app .v3-zone{background:#111622;border-color:#b0bfff15}.sora-app .v3-zone-photo>img{filter:none}.sora-app .v3-zone-photo{position:relative;height:220px}.sora-app .v3-zone-photo img{position:absolute;inset:0;transition:transform .5s}.sora-app .v3-zone:hover .v3-zone-photo img{transform:scale(1.025)}.sora-app .v3-zone-photo>div{background:linear-gradient(0deg,#111622,transparent 50%)}.sora-app .ug-spec{display:block;font-size:10px;overflow-wrap:anywhere;margin-top:8px}.sora-app .ug-spec>span{display:block}.sora-app .ug-spec strong{font-weight:400;color:#d4d9eb}.sora-app .zone-bottom{align-items:center}.sora-app .zone-bottom small{font-size:10px;line-height:1.7;color:#9eaacd}.sora-app .zone-bottom small strong{display:block;font-size:18px;font-weight:500;color:#eff1ff}.sora-app .zone-bottom .glass-button{padding:10px 16px;font-size:11px}.visualization-badge{position:absolute;top:18px;left:20px;color:#b9c2df;font-size:9px;background:#090e1b9c;border-radius:99px;padding:5px 10px;z-index:2}.sora-app .v3-zone-photo .visualization-badge{left:auto;right:12px;top:14px;font-size:8px}.sora-app .ug-zone-grid .v3-zone h3{font-size:25px}.sora-app .ug-source-price{background:linear-gradient(135deg,#151b2e,#121521);border-color:#a2b4ff25}.preview-gallery,.reference-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.preview-gallery button,.reference-gallery button{position:relative;overflow:hidden;border-radius:22px;padding:0;text-align:left;height:220px;border:1px solid #ffffff1b;background:#151927}.preview-gallery img,.reference-gallery img{transition:transform .4s}.preview-gallery button:hover img,.reference-gallery button:hover img{transform:scale(1.03)}.gallery-caption{position:absolute;inset:auto 0 0;padding:35px 18px 16px;background:linear-gradient(0deg,#050914e8,transparent);font-size:12px}.gallery-caption small{display:block;font-size:8px;letter-spacing:.2px;color:#b5beda;margin-top:5px}.reference-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-gallery button{height:280px}.reference-gallery button:first-child{grid-column:span 2;height:380px}.sora-app .app-bottom-nav{background:linear-gradient(145deg,#30394de8,#181e2beb);border-color:#b3c2ff2b}.sora-app .app-bottom-nav button[aria-current=page]{background:linear-gradient(145deg,#8296ef38,#6e84d61c);color:#e3e8ff}.sora-app .app-footer{margin-top:50px}.sora-app .app-footer>button{display:flex;align-items:center;gap:8px;font-size:11px;color:#a6b1d0}.sora-app .app-footer small{font-size:9px;line-height:1.8}.sora-app .ug-zone-choice{background:linear-gradient(140deg,#1b2439,#141a29);border-color:#a2b4ff25}.sora-app .ug-zone-choice strong{font-size:23px}.sora-app .ug-zone-choice small>span{display:block}.booking-disclaimer{color:#a7b2ce;font-size:11px;line-height:1.8;margin:-7px 0 25px;max-width:700px}.sora-app .ug-session-photo>img{position:absolute;inset:0;filter:brightness(.7)}.sora-app .ug-session-photo>p{display:grid;gap:2px;font-size:11px;line-height:1.9;bottom:24px}.sora-app .ug-session-photo>span{bottom:145px}.sora-app .ug-session-photo>div{background:linear-gradient(0deg,#080b16f0,transparent 80%)}.sora-app .ug-booking-sticky{border-color:#91a7ff35;background:linear-gradient(145deg,#243052d9,#192236e8);position:static!important;inset:auto!important;transform:none!important;z-index:auto!important;min-width:0;border-radius:22px;padding:18px 20px;margin:0}.sora-app .ug-booking-sticky small{font-size:10px;max-width:340px;overflow-wrap:anywhere}.sora-app .ug-booking-sticky strong{font-size:24px;font-weight:500}.sora-app .ug-booking-sticky>span{color:#a9b9f5}.sora-app .ug-capacity{background:#111826;border-color:#c2d1ff20}.sora-app .ug-capacity svg{color:#a7b7ee;width:16px}.sora-app .ug-date-display{min-height:46px}.sora-app .ug-fields label{color:#bec7df}.sora-app .glass-input{background:linear-gradient(145deg,#7b93d51c,#8a9aca0a);border-color:#b0c2ff25;color:#e3e8fa}.sora-app select option{background:#182135}.sora-app input{font-size:16px}.sora-app .ug-progress button[aria-current=step] span{background:#a9b8ff;color:#11172b}.sora-app .ug-progress button[aria-current=step]{color:#dce3ff}.sora-app .next-step,.sora-app .call-to-book{justify-content:space-between;background:linear-gradient(145deg,#657ed0aa,#5366ab99);border-color:#a6baff4a}.readonly-field{display:flex;align-items:center;font-size:14px}.sora-app input:disabled{opacity:.7}.contact-notice{border:1px solid #9eb1ff26;padding:18px 20px;border-radius:18px;background:#6c83d209;color:#c6cfe7;font-size:12px;line-height:1.9}.sora-app .ug-contact-form{max-width:640px}.sora-app .ug-review{border-color:#b7c7ff20}.sora-app .ug-review h2{margin-top:16px}.sora-app .ug-review strong{color:#c1ccff}.price-tabs{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:6px 2px 17px;border-bottom:1px solid #b7c7ff20}.price-tabs button{flex-shrink:0;border:1px solid #b5c5ff25;border-radius:99px;padding:12px 20px;min-height:44px;font-size:12px;color:#acb6d2}.price-tabs button[aria-selected=true]{background:#7c93e82d;color:#e2e9ff;border-color:#c2d1ff4a}.price-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:27px 0 20px}.price-heading h2{font-size:25px;font-weight:500;letter-spacing:-.6px}.price-heading p{font-size:11px;color:#acb7d3}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rate{border:1px solid #a7bcff24;background:linear-gradient(145deg,#192135,#131927);border-radius:24px;padding:26px 24px;min-width:0}.rate h3{font-size:13px;font-weight:400;color:#bdc8e7}.rate strong{display:block;font-size:30px;line-height:1.2;font-weight:500;margin:20px 0;letter-spacing:-.6px}.rate strong.unknown{font-size:23px}.rate p{font-size:11px;color:#a2b0d0;line-height:1.8}.rate small{display:block;color:#8796b8;font-size:9px;margin-top:8px}.rate button{margin-top:17px;font-size:10px;padding:10px 16px;min-height:40px}.sora-app #price-panel+.ug-note{margin:22px 0}.sora-app .ug-promotion{background:linear-gradient(145deg,#1c2341,#161927);border-color:#b2bfff26;max-width:750px;padding:32px}.sora-app .ug-promotion h2{margin-top:25px}.sora-app .ug-about-photo{position:relative}.sora-app .ug-intro-text{max-width:800px}.sora-app section{animation:sora-appear .22s ease-out}@keyframes sora-appear{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}#lightbox{padding:16px;width:min(1050px,94vw);max-width:94vw;border-radius:24px;background:#111727}#lightbox::backdrop{background:#03060dd9;backdrop-filter:blur(8px)}#lightbox>img{display:block;max-height:78vh;width:100%;height:auto;object-fit:contain}#lightbox>p{font-size:10px;color:#a6b4d4;margin:12px}#lightbox .close-image{position:absolute;right:25px;top:25px;min-width:44px;padding:8px;font-size:25px;background:#101729d9}
@media(max-width:1000px){.sora-app .ug-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-gallery button{height:180px}}
@media(max-width:700px){.sora-app .app-header{gap:12px;padding:0 20px;height:76px}.sora-app .app-main{padding:0 18px}.sora-app .header-phone{margin-left:auto;min-width:42px;padding:10px}.sora-app .header-phone>span:last-child{display:none}.sora-app .app-header nav{top:70px;right:18px;left:18px;min-width:0}.sora-app .header-location{display:none}.sora-app .brand-name{font-size:20px}.brand-caption{font-size:5px;letter-spacing:2px}.sora-app .ug-brand-logo{width:31px;height:33px}.sora-app .ug-note.identity-notice{font-size:8px;margin-top:14px}.sora-app .ug-mode{font-size:8px;padding:11px 0 15px}.sora-app .ug-hero{height:390px;border-radius:24px}.sora-app .ug-hero h1{font-size:49px;letter-spacing:-2.5px}.sora-app .ug-hero h1 span{font-size:.82em}.sora-app .v3-hero>img{object-position:60%}.sora-app .v3-hero-copy{left:24px;right:18px;bottom:28px}.sora-app .ug-hero p{font-size:11px;line-height:1.8}.sora-app .hero-live{top:19px;right:18px;font-size:8px}.sora-app .hero-live svg{width:12px;height:12px}.sora-app .hero-book{padding:12px 18px;font-size:11px;gap:16px;margin-top:20px}.sora-app .ug-quicklinks{gap:8px;margin:17px 0}.sora-app .ug-quicklinks .glass-button{font-size:10px;padding:10px 14px}.sora-app .ug-zone-grid{grid-template-columns:minmax(0,1fr);gap:14px}.sora-app .ug-zone-grid .v3-zone{grid-template-columns:100px minmax(0,1fr);border-radius:22px}.sora-app .ug-zone-grid .v3-zone-photo{height:100%;min-height:235px}.sora-app .ug-zone-grid .v3-zone-photo>div{background:linear-gradient(90deg,transparent,#111622)}.sora-app .ug-zone-grid .v3-zone-body{padding:20px 17px 20px 6px}.sora-app .ug-zone-grid .v3-zone h3{font-size:22px;line-height:1.2}.sora-app .ug-zone-grid .ug-spec{font-size:9px;line-height:1.8}.sora-app .v3-zone-photo .visualization-badge{top:auto;bottom:12px;left:8px;right:auto;font-size:6px;padding:4px 6px;max-width:85px}.sora-app .v3-zone-photo .glass-capsule{top:14px;bottom:auto}.sora-app .zone-bottom{gap:8px;flex-wrap:wrap;margin-top:13px}.sora-app .zone-bottom small{font-size:8px}.sora-app .zone-bottom small strong{font-size:17px}.sora-app .zone-bottom .glass-button{min-height:38px;padding:9px 13px;font-size:10px}.sora-app .ug-trust{gap:12px;justify-content:center}.sora-app .ug-trust>span{font-size:9px}.preview-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.preview-gallery button{height:150px;border-radius:16px}.preview-gallery .gallery-caption{padding:20px 9px 10px;font-size:9px}.preview-gallery .gallery-caption small{font-size:6px}.reference-gallery{gap:10px}.reference-gallery button{height:180px;border-radius:18px}.reference-gallery button:first-child{height:230px}.gallery-caption{font-size:10px;padding:25px 12px 13px}.gallery-caption small{font-size:8px}.sora-app .app-section-title{gap:12px}.sora-app .app-section-title h2{font-size:23px;line-height:1.2}.sora-app .app-section-title>.glass-button{font-size:8px;gap:5px;padding:9px 11px;flex-shrink:0}.sora-app .app-section-title>.glass-button svg{width:14px}.sora-app .ug-source-price h2{font-size:26px}.sora-app .ug-source-price p{font-size:11px}.sora-app .ug-screen-heading h1{font-size:30px}.sora-app .ug-zone-choice{padding:22px 20px}.sora-app .ug-zone-choice strong{font-size:22px}.sora-app .ug-zone-choice small{font-size:10px}.sora-app .ug-booking-grid{gap:22px}.sora-app .ug-session-photo{min-height:210px;border-radius:22px}.sora-app .ug-session-photo>span{top:48px;bottom:auto;font-size:27px}.sora-app .ug-session-photo .visualization-badge{top:16px;left:22px;font-size:8px}.sora-app .ug-session-photo>p{font-size:10px;line-height:1.8;bottom:17px}.sora-app .ug-fields{gap:18px}.sora-app .ug-booking-sticky{padding:17px 19px}.sora-app .ug-booking-sticky strong{font-size:22px}.sora-app .ug-booking-sticky small{font-size:9px}.sora-app .ug-progress{gap:7px;margin-top:15px}.sora-app .ug-progress button{font-size:10px;gap:6px}.sora-app .ug-progress span{width:25px;height:25px}.booking-disclaimer{font-size:10px;margin-bottom:22px}.sora-app .ug-contact-form>.glass-button{font-size:11px;white-space:normal;text-align:center}.price-tabs button{font-size:11px;padding:11px 16px}.price-heading{display:block}.price-heading h2{font-size:24px}.price-heading p{margin-top:10px;font-size:10px}.price-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.rate{padding:22px 16px;border-radius:21px}.rate:last-child{grid-column:span 2}.rate h3{font-size:12px}.rate strong{font-size:27px;margin:18px 0}.rate strong.unknown{font-size:21px}.rate p{font-size:10px}.rate button{font-size:9px;padding:9px 13px;min-height:38px}.sora-app .ug-info-screen .ug-intro-text{font-size:12px;line-height:1.8}.sora-app .ug-promotion{padding:25px}.sora-app .ug-promotion p{font-size:12px}.sora-app .ug-club-grid article h2{font-size:23px}.sora-app .app-footer{margin-top:35px;align-items:flex-start;gap:15px}.sora-app .app-footer small{max-width:240px;font-size:8px}.sora-app .app-footer>button{font-size:9px;text-align:right;max-width:100px}.sora-app .app-bottom-nav{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 28px)}.sora-app .app-bottom-nav button{font-size:9px}}
@media(max-width:360px){.sora-app .app-main{padding:0 14px}.sora-app .app-header{padding:0 16px}.sora-app .ug-hero h1{font-size:43px}.sora-app .v3-hero-copy{left:21px}.sora-app .ug-zone-grid .v3-zone{grid-template-columns:82px minmax(0,1fr)}.sora-app .ug-zone-grid .v3-zone h3{font-size:21px}.sora-app .ug-zone-grid .v3-zone-body{padding-right:13px}.sora-app .ug-screen-heading h1{font-size:27px}.sora-app .ug-progress button{font-size:9px}.sora-app .ug-progress span{width:23px;height:23px}.sora-app .ug-session-photo>span{font-size:25px}.sora-app .ug-form-pair{gap:10px}.sora-app .app-section-title h2{font-size:21px}.preview-gallery{grid-template-columns:1fr 1fr}.preview-gallery button:last-child{display:none}.sora-app .ug-booking-sticky strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.sora-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.sora-app .app-footer>span{display:block}.sora-app #review-session,.sora-app #copy-result{white-space:pre-line}

/* A stable spacer prevents scroll anchoring when the visible header shrinks. */
.sora-app{--sora-header-height:84px;--sora-header-small:64px}
.sora-app .app-header-space{height:var(--sora-header-height);pointer-events:none}
.sora-app .app-header-space>.app-header{position:fixed;top:0;left:0;right:0;width:100%;height:var(--sora-header-height);margin:0 auto;pointer-events:auto;transition:transform .22s ease,height .18s ease}
.sora-app .app-header.header-compact{height:var(--sora-header-small)}
.sora-app .app-header.header-hidden{transform:translateY(calc(-100% - 2px));pointer-events:none}
.sora-app .app-header .ug-brand-logo,.sora-app .app-header .brand-name,.sora-app .app-header .brand-caption{transition:transform .18s ease,font-size .18s ease,opacity .18s ease}
.sora-app .app-header.header-compact .ug-brand-logo{transform:scale(.9)}
.sora-app .app-header.header-compact .brand-caption{display:none}
.sora-app .app-header nav{top:calc(100% - 2px)}
@media(max-width:700px){.sora-app{--sora-header-height:76px;--sora-header-small:60px}.sora-app .app-header.header-compact .brand-name{font-size:18px}}
