:root{color-scheme:dark;--bg:#06123b;--pink:#ff67ce;--cyan:#63eeff;--violet:#b4a0ff;--yellow:#ffdf83;--muted:#bac6e1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:radial-gradient(ellipse at 80% 8%,#123c77aa,transparent 38%),radial-gradient(ellipse at 0% 33%,#33197466,transparent 35%),var(--bg);color:#f5f7ff;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}.stars{position:fixed;inset:0;z-index:-1;background-image:radial-gradient(1px 1px at 16px 28px,#e9f5ffaa 95%,transparent),radial-gradient(1px 1px at 100px 180px,#75beff77 95%,transparent),radial-gradient(2px 2px at 210px 80px,#ffffff66 95%,transparent);background-size:260px 260px,340px 300px,420px 380px;pointer-events:none}header{max-width:1240px;margin:auto;padding:27px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #bddbff22}.logo{font-size:18px;font-weight:800;letter-spacing:.12em}.logo b{color:var(--cyan);text-shadow:0 0 14px #36cfee99}.small-book{border:1px solid #ff67ce88;padding:7px 22px;border-radius:5px;color:var(--pink);font-size:14px}main{max-width:1160px;margin:auto;padding:0 30px}.hero{padding-top:70px;text-align:center}.eyebrow{font-size:14px;letter-spacing:.24em;color:var(--cyan);font-weight:700}h1{font-size:clamp(58px,9vw,118px);font-weight:900;line-height:.95;letter-spacing:-.035em;margin:32px 0 27px;text-shadow:0 0 40px #5886ef40}h1 span{display:block}h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--pink);text-shadow:0 0 35px #f645b750}.intro{font-size:22px;font-weight:700;margin-bottom:4px}.sub{color:var(--muted);font-size:15px;margin-top:0}.neon-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:40px auto 48px;max-width:970px}.neon-menu a{border:2px solid currentColor;border-radius:9px;font-size:24px;font-weight:800;letter-spacing:.06em;padding:14px 5px 12px;background:#081438b3;box-shadow:0 0 7px currentColor,inset 0 0 8px #ffffff0d;text-shadow:0 0 10px currentColor;transition:transform .2s,background .2s}.neon-menu a:hover{transform:translateY(-4px);background:#192956}.neon-menu span{display:block;font-size:14px;font-weight:500;letter-spacing:.04em;text-shadow:none}.pink{color:var(--pink)}.cyan{color:var(--cyan)}.yellow{color:var(--yellow)}.violet{color:var(--violet)}.hero-photo{position:relative;border:1px solid #8eabdf66;border-radius:14px;overflow:hidden;background:#0c2150;min-height:260px;box-shadow:0 20px 80px #01072280}.hero-photo img{width:100%;display:block;max-height:520px;object-fit:cover}.photo-label{position:absolute;bottom:0;left:0;right:0;padding:65px 24px 25px;background:linear-gradient(transparent,#030b27ed);text-align:left;font-size:14px;letter-spacing:.2em}.photo-label span{display:block;font-size:20px;font-weight:700;letter-spacing:.03em}.facts{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0 0;padding:25px 0;border-bottom:1px solid #8aa9e133}.facts div+div{border-left:1px solid #8aa9e133}.facts strong{font-size:36px;line-height:1.2}.facts strong span{font-size:16px;margin-left:8px}.facts p{font-size:14px;color:var(--muted);margin:6px 0}.section{padding:90px 0;scroll-margin-top:20px;border-bottom:1px solid #8aa9e12a}.section-title p{color:var(--cyan);font-size:14px;letter-spacing:.18em;margin:0}.section-title h2{font-size:44px;letter-spacing:.07em;margin:8px 0 30px;line-height:1.2}.section-title h2 span{font-size:16px;color:var(--muted);font-weight:500;margin-left:20px;letter-spacing:0}h3{font-size:24px;line-height:1.6}p{max-width:100%}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.studio-grid h3{margin-top:0}.studio-grid p{color:var(--muted)}figure{margin:0}figure img{width:100%;min-height:240px;object-fit:cover;border-radius:12px;border:1px solid #93bbff33}figcaption{font-size:14px;color:var(--muted);margin-top:12px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.tags span{font-size:14px;padding:5px 12px;border:1px solid #65cce74d;border-radius:4px;background:#14335755}dl{margin:20px 0 0}dl div{display:grid;grid-template-columns:90px 1fr;border-top:1px solid #7595c933;padding:10px 0;font-size:15px}dt{color:var(--muted)}dd{margin:0}.section-note{color:var(--muted);margin-top:-5px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.plan{background:linear-gradient(150deg,#17356699,#091534ee);border:1px solid #7891bd55;border-radius:12px;padding:27px 24px;display:flex;flex-direction:column}.plan-index{font-size:14px;letter-spacing:.12em;color:var(--cyan);margin:0}.plan h3{font-size:21px;margin:12px 0 20px}.amount{font-size:36px;line-height:1.2;font-weight:800;margin:0 0 18px}.amount span{font-size:14px;color:var(--muted);display:block;margin-top:8px;font-weight:400}.plan ul{list-style:none;padding:0;font-size:14px;color:var(--muted);flex:1}.plan li{margin:9px 0}.plan a{display:block;text-align:center;border:1px solid var(--cyan);color:var(--cyan);padding:10px 4px;border-radius:5px;font-size:15px;font-weight:700;margin-top:12px}.morning .plan-index,.morning a{color:var(--yellow);border-color:var(--yellow)}.small .plan-index,.small a{color:var(--pink);border-color:var(--pink)}.plan a:hover{background:#213c67}.fine{font-size:13px;line-height:1.9;color:#acbad7;margin-top:24px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.access-grid h3{margin-top:0}.address{font-size:20px;font-weight:700}.outline{display:inline-block;padding:11px 23px;border:1px solid var(--cyan);color:var(--cyan);border-radius:6px;margin-top:18px}.directions{padding:28px;background:#10275380;border:1px solid #6584bf44;border-radius:10px}.directions h3{font-size:19px}.directions ol{padding-left:23px;color:var(--muted)}.directions li{padding-left:7px;margin-bottom:18px}.booking{text-align:center;padding:100px 0}.booking h2{font-size:clamp(42px,6vw,70px);line-height:1.4;margin:25px 0}.booking em{font-style:normal;color:var(--pink);text-shadow:0 0 24px #ef4ea572}.booking>p:not(.eyebrow){color:var(--muted)}.book-main{display:inline-block;border:2px solid var(--pink);color:var(--pink);background:#38144966;box-shadow:0 0 18px #ff67ce50,inset 0 0 18px #ff67ce15;padding:15px 36px;border-radius:7px;font-weight:700;font-size:20px;margin-top:20px}.book-main:hover{background:#571d6466}.plan-link{display:block;text-decoration:underline;text-underline-offset:5px;color:var(--muted);font-size:14px;margin-top:24px}.faq{padding:55px 0 65px;max-width:800px;margin:auto}.faq h2{font-size:24px}.faq details{border-bottom:1px solid #7d97c644;padding:18px 0}.faq summary{cursor:pointer;font-weight:600;padding-right:10px}.faq details p{color:var(--muted)}footer{text-align:center;padding:45px 20px 60px}footer p,footer small{font-size:13px;color:var(--muted)}.mobile-book{display:none}@media(max-width:700px){header{padding:20px}.logo{font-size:14px}.small-book{padding:5px 12px}main{padding:0 20px}.hero{padding-top:45px}h1{font-size:clamp(54px,14vw,95px)}.eyebrow{font-size:12px;letter-spacing:.13em}.intro{font-size:18px}.sub{font-size:14px}.neon-menu{grid-template-columns:repeat(2,1fr);gap:16px;margin:30px 3px}.neon-menu a{font-size:21px;padding:12px 5px}.neon-menu span{font-size:13px}.hero-photo{min-height:180px}.hero-photo img{height:280px}.photo-label{padding:50px 15px 16px;font-size:11px}.photo-label span{font-size:16px}.facts{margin-top:15px;padding:22px 0}.facts strong{font-size:24px}.facts strong span{display:block;font-size:13px;margin:4px 0}.facts p{font-size:12px}.section{padding:55px 0}.section-title h2{font-size:34px}.section-title h2 span{display:block;margin:10px 0 0;font-size:14px}.studio-grid,.access-grid,.plans{grid-template-columns:1fr;gap:25px}.studio-grid h3{font-size:22px}.plan{padding:26px}.amount span{display:inline-block;margin-left:9px}.plan ul{margin-top:5px}.address{font-size:18px}.booking{padding:70px 0}.book-main{font-size:17px;width:100%;padding:14px 10px}.mobile-book{display:block;position:fixed;bottom:14px;left:20px;right:20px;text-align:center;background:#081744f2;border:1px solid var(--pink);color:var(--pink);border-radius:7px;padding:11px;z-index:10;box-shadow:0 0 15px #ff67ce44;backdrop-filter:blur(10px);font-size:15px;font-weight:700}footer{padding-bottom:95px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.logo img{display:block;width:65px;height:73px}header{padding-top:18px;padding-bottom:18px}footer .logo{display:inline-block}@media(max-width:700px){.logo img{width:47px;height:53px}}
/* Playful motion and booking */
body{isolation:isolate}.stars{z-index:-1;overflow:hidden;animation:sky-breathe 12s ease-in-out infinite}.twinkle{position:absolute;width:var(--size);height:var(--size);border-radius:50%;background:#cff5ff;box-shadow:0 0 10px #70ddff;animation:twinkle var(--duration) var(--delay) ease-in-out infinite}h1{animation:hero-arrive .85s cubic-bezier(.16,1,.3,1) both}h1 em{animation:neon-glow 4s ease-in-out infinite}.intro,.sub{animation:hero-arrive 1s .12s both}.neon-menu a{animation:menu-arrive .8s cubic-bezier(.2,1.35,.5,1) backwards;transform-origin:center}.neon-menu a:nth-child(2){animation-delay:.12s}.neon-menu a:nth-child(3){animation-delay:.24s}.neon-menu a:nth-child(4){animation-delay:.36s}.neon-menu a:hover{transform:translateY(-7px) rotate(-2deg) scale(1.035)}.neon-menu a:nth-child(even):hover{transform:translateY(-7px) rotate(2deg) scale(1.035)}.neon-menu a:active{transform:scale(.94)}.neon-menu a,.plan a,.book-main,.outline,.small-book{transition:transform .23s cubic-bezier(.2,1.5,.6,1),box-shadow .2s,background .2s}.book-main:hover{transform:translateY(-3px);box-shadow:0 0 30px #ff67ce65}.plan{transition:transform .3s,box-shadow .3s}.plan:hover{transform:translateY(-6px);box-shadow:0 14px 34px #00052855}.hero-photo img{animation:photo-arrive 1.2s ease-out both}.reveal{opacity:0;translate:0 24px;transition:opacity .65s var(--reveal-delay),translate .65s cubic-bezier(.16,1,.3,1) var(--reveal-delay)}.reveal.in-view{opacity:1;translate:0 0}.tap-spark{position:fixed;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:30;background:var(--spark-color);box-shadow:0 0 7px var(--spark-color);animation:spark .6s ease-out forwards}.booking-form,.booking-confirm{max-width:800px;margin:32px auto;text-align:left;background:linear-gradient(145deg,#17336b99,#0c164bbb);padding:30px;border:1px solid #71dfff55;border-radius:18px;box-shadow:0 0 24px #5396ff12}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-form label{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:600}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-width:0;padding:13px 12px;border:1px solid #859bcb77;border-radius:8px;background:#071439;color:#f5f7ff;font:inherit;font-size:16px;line-height:1.5}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid var(--cyan);outline-offset:2px;box-shadow:0 0 15px #63eeff24}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#9baed3}.full-width{grid-column:1/-1}.booking-form .book-main{display:block;margin:22px auto 0;cursor:pointer;font-family:inherit}.booking-form .fine{text-align:center}.form-status{font-size:14px;color:var(--yellow);border:1px solid #ffdf8355;border-radius:8px;padding:12px 18px;max-width:800px;margin:22px auto;background:#ffdf8308}.form-error{color:#ffb4d9;font-weight:600;min-height:0}.form-error:empty{display:none}.booking-confirm dd{overflow-wrap:anywhere;white-space:pre-wrap}.booking-confirm .outline{background:transparent;font:inherit;cursor:pointer}.booking-confirm:focus{outline:none}[hidden]{display:none!important}
@keyframes twinkle{0%,100%{opacity:.2;scale:.75}50%{opacity:.85;scale:1.15}}@keyframes sky-breathe{0%,100%{opacity:.75}50%{opacity:1}}@keyframes neon-glow{0%,100%{filter:drop-shadow(0 0 4px #ff67ce44)}50%{filter:drop-shadow(0 0 12px #ff67ce88)}}@keyframes hero-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-arrive{from{opacity:0;transform:translateY(25px) scale(.85) rotate(-3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes photo-arrive{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes spark{to{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}}
@media(max-width:700px){.booking-form,.booking-confirm{padding:22px 16px}.form-grid{grid-template-columns:1fr;gap:18px}.booking-form .book-main{font-size:17px}.booking-confirm dl div{grid-template-columns:100px 1fr}.booking>.fine{text-align:left}.neon-menu a:hover{transform:none}.plan:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;translate:none}.tap-spark{display:none}}
/* Dreamy, floating stars */
.stars{background-image:radial-gradient(ellipse at 16% 30%,#8245c318,transparent 40%),radial-gradient(ellipse at 84% 70%,#42bdf412,transparent 40%),radial-gradient(1px 1px at 16px 28px,#e9f5ff88 95%,transparent),radial-gradient(1px 1px at 100px 180px,#75beff66 95%,transparent);background-size:100% 100%,100% 100%,260px 260px,340px 300px}.fairy-star{position:absolute;display:block;color:var(--star-color);font-family:Arial,sans-serif;font-size:var(--star-size);line-height:1;text-shadow:0 0 14px color-mix(in srgb,var(--star-color),transparent 45%);opacity:.5;animation:fairy-float var(--float-time) var(--float-delay) ease-in-out infinite;will-change:transform;pointer-events:none}.shooting-star{position:absolute;width:var(--shoot-size);height:var(--shoot-size);opacity:0;animation:star-flight var(--flight-time) var(--flight-delay) cubic-bezier(.22,.4,.4,1) forwards;pointer-events:none;will-change:transform,opacity}.shoot-head{position:relative;display:block;z-index:2;color:var(--star-color);font:var(--shoot-size)/1 Arial,sans-serif;text-shadow:0 0 7px var(--star-color),0 0 22px color-mix(in srgb,var(--star-color),transparent 45%);animation:head-sway 1.6s ease-in-out infinite}.shoot-tail{position:absolute;left:50%;top:50%;width:115px;height:3px;transform-origin:0 50%;transform:rotate(var(--trail-angle));background:linear-gradient(90deg,var(--star-color),transparent);border-radius:100%;opacity:.45;filter:blur(1px)}.shooting-v1 .shoot-tail{width:85px;background:linear-gradient(90deg,#ff9edc,#a9deff88,transparent);height:5px}.shooting-v2 .shoot-tail{width:62px;height:2px}.shooting-v3 .shoot-tail{width:140px;background:linear-gradient(90deg,#c8b4ff,#ff9edc55,transparent)}.shoot-companion{position:absolute;left:var(--comp-x);top:var(--comp-y);font:var(--comp-size)/1 Arial,sans-serif;color:var(--star-color);text-shadow:0 0 9px var(--star-color);opacity:.75;animation:head-sway 2s ease-in-out infinite}@keyframes fairy-float{0%,100%{transform:translate(0,0) rotate(var(--star-angle));opacity:.24}35%{opacity:.55}50%{transform:translate(var(--float-x),calc(-1 * var(--float-y))) rotate(calc(var(--star-angle) + 18deg));opacity:.4}75%{opacity:.6}}@keyframes star-flight{0%{transform:translate(0,0) scale(.55);opacity:0}12%{opacity:.8}60%{opacity:.75}100%{transform:translate(var(--flight-x),var(--flight-y)) scale(.75);opacity:0}}@keyframes head-sway{0%,100%{rotate:-9deg}50%{rotate:13deg}}@media(max-width:700px){.fairy-star{font-size:calc(var(--star-size)*.8);opacity:.35}.shoot-tail{width:75px}.shooting-v3 .shoot-tail{width:90px}}@media(prefers-reduced-motion:reduce){.fairy-star{animation:none!important;opacity:.28}.shooting-star{display:none}}
.tour-entry{text-align:center;margin:30px 0}.tour-open{background:#111738;color:white;border:2px solid #f3a1df;border-radius:60px;padding:18px 30px;box-shadow:0 0 18px #eb64df55;font:inherit;font-weight:700;cursor:pointer}.tour-open span{display:block;font-size:14px;color:#cbd0ee;margin-top:5px}.studio-tour{width:min(1100px,96vw);max-width:1100px;max-height:94dvh;overflow:auto;padding:0;border:1px solid #df9deb77;border-radius:24px;color:#fff;background:#090e24;box-shadow:0 0 90px #ba65ef44}.studio-tour[open]{animation:tour-arrive .5s ease-out}.studio-tour::backdrop{background:#020617e8;backdrop-filter:blur(12px)}.tour-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px}.tour-header p{margin:0;color:#bfb1ff;font-size:12px;letter-spacing:.2em}.tour-header h2{font-size:clamp(18px,3vw,28px);margin:5px 0}.tour-header h2 span{color:#ffb9e9}.tour-header button{border:1px solid #ffffff55;background:#ffffff0c;color:white;border-radius:50%;width:44px;height:44px;font-size:22px;cursor:pointer}.tour-stage{height:clamp(260px,57vh,620px);position:relative;background:#080911;overflow:hidden}.tour-stage canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.tour-stage canvas:active{cursor:grabbing}.tour-stage img{width:100%;height:100%;object-fit:contain}.tour-stage img[hidden]{display:none}#tour-loading{position:absolute;top:40%;width:100%;text-align:center}.tour-hint{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:14px;background:#0009;padding:8px 16px;border-radius:24px;white-space:nowrap;pointer-events:none}.tour-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:16px}.tour-controls button{background:#212744;color:white;border:1px solid #aca6e155;border-radius:24px;font:inherit;font-size:14px;padding:10px 16px;min-height:44px;cursor:pointer}.tour-controls button[aria-pressed=true]{background:#66529d}.tour-disclosure{margin:0;padding:0 22px 18px;color:#d1cce3;font-size:14px;line-height:1.8}.tour-photos{display:flex;gap:10px;overflow-x:auto;padding:0 22px 22px}.tour-photos img{height:95px;width:150px;object-fit:cover;border-radius:10px;flex-shrink:0}body.tour-active{overflow:hidden}@keyframes tour-arrive{from{opacity:0;transform:translateY(20px) scale(.96);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@media(prefers-reduced-motion:reduce){.studio-tour[open]{animation:none}}@media(max-width:600px){.tour-header{padding:14px}.tour-controls{gap:6px;padding:12px}.tour-controls button{padding:10px 12px}.tour-stage{height:52dvh}}
#tour-canvas[hidden]{display:none}
.booking-notice{max-width:700px;margin:20px auto;line-height:1.9;color:#e4dff5}.booking-steps{display:flex;list-style:none;padding:0;gap:8px;max-width:700px;margin:30px auto}.booking-steps li{flex:1;padding:12px 4px;border-bottom:3px solid #ffffff22;color:#b6bcd4;font-size:14px}.booking-steps li[aria-current]{border-color:#ff91d5;color:#fff}.booking-form fieldset{border:0;padding:0;margin:0 0 28px;text-align:left;min-width:0}.booking-form legend{font-size:20px;font-weight:700;padding:0 0 18px}.booking-form label>span{font-size:13px;color:#ffc6e9}.duration-card{padding:15px;background:#63eeff12;border-left:3px solid #63eeff;border-radius:8px;font-size:16px}.booking-consent{display:flex!important;gap:12px;align-items:flex-start;text-align:left;line-height:1.7}.booking-consent input{width:22px!important;height:22px;min-width:22px;margin-top:4px}.booking-consent span{font-size:14px!important;color:#eee!important}.booking-privacy{text-align:left;margin:18px 0;font-size:14px}.booking-privacy summary{cursor:pointer}.booking-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-confirm[hidden],.booking-form[hidden]{display:none!important}.booking-confirm .outline{display:block;margin:15px auto}.booking-confirm dd{overflow-wrap:anywhere;white-space:pre-wrap}.book-main:disabled{opacity:.5;cursor:not-allowed}.booking-form input,.booking-form select,.booking-form textarea{font-size:16px!important}#booking-done{border:1px solid #63eeff77}#booking-receipt{font-size:18px;overflow-wrap:anywhere}
.booking-form .form-grid>*{min-width:0}.booking-form input,.booking-form select,.booking-form textarea{max-width:100%;min-width:0}.calendar-label{font-size:16px;font-weight:700;margin:0 0 12px}.calendar-label span{font-size:13px;color:#ffc6e9;margin-left:8px}.date-calendar{background:#080f2d;border:1px solid #7896d655;border-radius:16px;padding:18px;width:100%;max-width:600px;margin:0 auto 10px}.date-calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px}.date-calendar-head strong{font-size:20px}.date-calendar-head button{width:44px;height:44px;border:1px solid #ffffff33;border-radius:12px;background:#ffffff0a;color:#fff;font-size:28px;cursor:pointer}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.calendar-weekdays{font-size:14px;color:#bec8e3;margin-bottom:10px}.calendar-weekdays span:first-child{color:#ff9dd4}.calendar-weekdays span:last-child{color:#8eeaff}.calendar-days button{border:1px solid transparent;border-radius:10px;background:#182545;color:#fff;min-width:0;width:100%;min-height:44px;font:inherit;font-size:16px;padding:5px 0;cursor:pointer}.calendar-days button:disabled{opacity:.28;cursor:default;background:transparent}.calendar-days .is-today{border-color:#63eeff99}.calendar-days button[aria-pressed=true]{background:#ff89d6;color:#141333;font-weight:700;box-shadow:0 0 14px #ff67ce44}.date-calendar button:focus-visible{outline:3px solid #ffdf83;outline-offset:2px}.date-calendar-head button:disabled{opacity:.25;cursor:default}.calendar-selected{color:#fff;margin:18px 0 7px;font-size:16px;text-align:center}.calendar-footnote{font-size:13px!important;line-height:1.7;color:#bdc6dd;margin:0;text-align:center}@media(max-width:480px){.date-calendar{padding:12px 8px}.calendar-days,.calendar-weekdays{gap:3px}.date-calendar-head strong{font-size:18px}.calendar-days button{min-height:40px}.booking-form{padding:20px 14px!important}}

.availability-panel{padding:20px 16px;border:1px solid #63eeff77;background:#081332;border-radius:14px}.availability-panel h3{font-size:21px;margin:0 0 8px}.availability-panel #slot-status{margin:0 0 12px;font-size:16px}.availability-windows{display:flex;gap:8px;flex-wrap:wrap}.available-window{margin:0;padding:8px 12px;border-radius:8px;background:#63eeff19;color:#a7f6ff;font-weight:700}.availability-panel #slot-help{font-size:14px;color:var(--muted);margin:16px 0 10px}.slot-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:340px;overflow:auto;overscroll-behavior:contain;padding:4px}.slot-choice{min-height:48px;padding:10px 6px;border:1px solid #63eeff88;border-radius:8px;color:#c1f9ff;background:#112748;font:inherit;font-size:16px;cursor:pointer}.slot-choice[aria-pressed=true]{color:#151332;background:var(--pink);border-color:var(--pink);font-weight:700}.slot-choice:focus-visible{outline:3px solid var(--yellow);outline-offset:1px}.availability-panel .outline{margin-top:16px;font-size:14px;padding:8px 12px}.availability-panel .duration-card{margin-bottom:0}.slot-buttons:empty{display:none}@media(max-width:550px){.slot-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-panel{padding:16px 10px}.slot-choice{font-size:15px}}

.plan-description{margin:14px 0 0;padding:16px 18px;border-left:3px solid #72edff;border-radius:10px;background:rgba(114,237,255,.08);color:#e0e9ff;font-size:1rem;line-height:1.8;}

.booking-price-breakdown{padding:18px;border:1px solid rgba(114,237,255,.35);border-radius:14px;background:rgba(114,237,255,.07);}.booking-price-breakdown p{margin:0 0 10px;line-height:1.7;}.booking-price-breakdown strong{display:block;color:#72edff;font-size:1.2rem;}.booking-price-breakdown .fine{margin-top:12px;font-size:.85rem;}

.slot-choice small{display:block;font-size:.75rem;line-height:1.5;color:#a8edff;margin-top:4px;}

/* Gold star heads with white rims and long pink light ribbons. */
.retro-comet{animation-name:retro-flight;animation-timing-function:linear;filter:drop-shadow(0 0 5px #ff9adb);}
.retro-comet .shoot-head{width:100%;height:100%;background:#fff8ff;clip-path:polygon(50% 0,64% 32%,100% 38%,74% 63%,80% 100%,50% 81%,20% 100%,26% 63%,0 38%,36% 32%);animation:none;}
.retro-comet .shoot-head::after{content:"";position:absolute;inset:24%;background:#ffe573;clip-path:polygon(50% 0,64% 32%,100% 38%,74% 63%,80% 100%,50% 81%,20% 100%,26% 63%,0 38%,36% 32%);}
.retro-comet .shoot-tail{width:var(--trail-length);height:7px;border-radius:2px;background:linear-gradient(90deg,#fff0ff 0%,#ffd0ea 38%,#ffb9df88 72%,transparent 100%);opacity:.85;filter:none;box-shadow:0 0 9px #ff98d76b;}
.retro-comet .shoot-tail::after{content:"";position:absolute;inset:2px 0;background:linear-gradient(90deg,#fffaff,#fff3fa88 65%,transparent);}
@keyframes retro-flight{0%{transform:translate(0,0);opacity:0}12%{opacity:var(--comet-opacity)}78%{opacity:var(--comet-opacity)}100%{transform:translate(var(--flight-x),var(--flight-y));opacity:0}}
@media(max-width:700px){.retro-comet .shoot-tail{height:5px;}.retro-comet .shoot-tail::after{inset:1.5px 0;}}
@media(prefers-reduced-motion:reduce){.retro-comet{display:none!important;}}

/* All four menu tiles keep their tilt during a touch press. */
.neon-menu a{--press-angle:-3deg;}
.neon-menu a:nth-child(even){--press-angle:3deg;}
.neon-menu a:active,.neon-menu a:nth-child(even):active,.neon-menu a.is-tilted,.neon-menu a:nth-child(even).is-tilted{transform:translateY(-5px) rotate(var(--press-angle)) scale(.97);}
@media(prefers-reduced-motion:reduce){.neon-menu a:active,.neon-menu a:nth-child(even):active,.neon-menu a.is-tilted,.neon-menu a:nth-child(even).is-tilted{transform:none;}}
