/* Panda: a light, playful birthday world. */
@font-face{font-family:Nunito;src:url('./assets/nunito-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('./assets/nunito-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Nunito;src:url('./assets/nunito-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Nunito;src:url('./assets/nunito-900.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--page:#f3fbff;--ink:#385c78;--body:#5d7387;--pink:#db5079;--pink-soft:#fff0f5;--sky:#55b8da;--line:#dcebf2;--yellow:#ffda72}
html{scroll-padding-top:115px}body{font-family:Nunito,'Segoe UI',sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--page)}
::selection{background:#ffe196;color:#4c6072}h1,h2,h3,h4{font-weight:900;letter-spacing:-.025em}h2{font-size:clamp(2.2rem,3.65vw,3.4rem);line-height:1.14;color:#447da1}.wrap{width:min(1280px,calc(100% - 96px))}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.1em;color:#6e93aa;margin-bottom:14px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #338ab2;outline-offset:4px}.demo-bar{background:#e5f3fa;color:#6a879a;padding:5px 16px;font-size:.75rem;letter-spacing:0}
.site-header{background:#ffffffed;border-bottom:1px solid #d9ecf18a;color:var(--ink);backdrop-filter:blur(15px)}.header-inner{min-height:102px;width:min(1370px,calc(100% - 64px));gap:30px}.brand{gap:5px;flex-shrink:0;align-items:center}.brand img{display:block;width:68px;height:70px;border-radius:0;object-fit:contain}.brand .brand-lockup{display:block;line-height:1}.brand .brand-name{display:flex;font-size:2.6rem;letter-spacing:-.06em;line-height:.97;font-weight:900}.brand-name b{font:inherit;display:inline-block}.brand-name b:nth-child(1){color:#e76691;transform:rotate(-5deg)}.brand-name b:nth-child(2){color:#53b6d4;transform:rotate(3deg)}.brand-name b:nth-child(3){color:#d7a331;transform:translateY(-2px) rotate(-4deg)}.brand-name b:nth-child(4){color:#75ad70;transform:rotate(3deg)}.brand-name b:nth-child(5){color:#ad82be;transform:rotate(-4deg)}.brand small{color:#7391a7;font-size:.58rem;font-weight:800;letter-spacing:.19em;margin:8px 0 0 3px;white-space:nowrap}
nav{gap:25px}nav a{font-size:.875rem;font-weight:800;text-decoration:none;transition:color .2s}nav a:hover{color:var(--pink)}.language-picker{gap:2px}.language-picker button{font-size:.8rem;color:#718ca0;font-weight:800;border-radius:50%;padding:9px;min-height:36px;min-width:36px}.language-picker button[aria-pressed=true]{background:#fde6ef;color:#c84b75}
.hero.playful-hero{position:relative;isolation:isolate;display:block;padding:0;background:radial-gradient(ellipse at 78% 37%,#ffeef5 0,transparent 48%),radial-gradient(ellipse at 13% 20%,#e3f7ff 0,transparent 65%);overflow:hidden}.hero-inner{min-height:610px;display:grid;grid-template-columns:1.07fr 1fr;align-items:center;position:relative;gap:8px;padding-top:28px;padding-bottom:44px}.hero-copy{position:relative;z-index:2;max-width:640px}.hero .eyebrow{display:inline-block;background:#dff2faad;border:1px solid #cfebf7;color:#628ba4;border-radius:30px;padding:8px 15px;font-size:.75rem;letter-spacing:.08em;margin-bottom:24px}.hero h1{font-size:clamp(3rem,4.7vw,4.5rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 22px;color:#447da1;font-weight:900}.hero h1 span{color:#de6087}.hero-copy>p{font-size:1.06rem;line-height:1.8;color:#638098;max-width:435px}.hero-actions{margin-top:28px;display:flex;align-items:center;gap:27px}.button{min-height:53px;padding:14px 26px;border:0;border-radius:25px;font-weight:900;font-size:1rem;box-shadow:none;transition:background .2s,transform .2s}.primary{background:#e9648c;color:#fff;box-shadow:0 5px 0 #d9527930}.primary:hover{background:#dc507b;transform:translateY(-2px)}.secondary{background:#dff1fa;color:#4385a8}.secondary:hover{background:#cdeaf8}.text-link{font-size:.9rem;font-weight:800;text-decoration-color:#96bed1;text-underline-offset:6px}.hero-actions .text-link{color:#568dac;font-size:.95rem}.hero-facts{margin-top:32px;gap:32px;font-size:.83rem;color:#7890a3}.hero-facts strong{color:#638aa1;font-size:1.28rem;font-weight:900;margin-bottom:3px}.hero-facts span+span{border-left:1px solid #cfe3ef;padding-left:32px}
.hero-scene{position:relative;min-width:0;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero.playful-hero .hero-photo{position:relative;inset:auto;width:112%;max-width:660px;height:555px;object-fit:contain;transform:none;border-radius:0;filter:drop-shadow(0 15px 18px #7696a10d);z-index:1}.hero-sign{position:absolute;bottom:16px;left:50%;transform:translateX(-50%) rotate(-5deg);background:#fff8d6;border:1px solid #f6e5a0;border-radius:22px;padding:8px 16px;white-space:nowrap;color:#bc9640;font-size:.76rem;font-weight:800;z-index:2}.party-spark{position:absolute;pointer-events:none;z-index:0;border-radius:50%;opacity:.8}.spark-one{background:#ffdb75;width:17px;height:17px;top:15%;left:7%}.spark-two{background:#b1dceb;width:11px;height:11px;top:41%;right:-3%}.spark-three{background:#efa4bc;width:8px;height:25px;border-radius:10px;transform:rotate(31deg);bottom:12%;left:3%}
.booking-section{padding:50px 0 30px;background:transparent;border:0}.section-heading{align-items:flex-end;margin-bottom:28px;gap:20px}.section-heading .eyebrow{margin-bottom:12px}.section-heading p{color:#71899e;margin-top:14px;font-size:1rem}.legend{font-size:.875rem;color:#738da1;gap:20px;padding-bottom:6px}.legend i{width:11px;height:11px;border-radius:50%}.free-dot{background:#75bed7}.busy-dot{background:#d5dce4}
.calendar-shell{background:#fff;border:1px solid #dcecf6;border-radius:28px;box-shadow:0 13px 45px #6996b50a}.calendar-toolbar{padding:23px 26px;border-color:#e7f1f7;gap:20px}.month-nav h3{font-size:1.5rem;min-width:210px;text-transform:none;color:#4d7fa0}.icon-button{height:40px;width:40px;border:0;border-radius:50%;background:#edf7fc;color:#78a6c1;font-size:1.7rem}.icon-button:hover:enabled{background:#dbf0fa}.soft-button{font-size:.875rem;border-radius:24px;background:#eff8fc;color:#709bb2;padding:10px 15px;font-weight:800}.calendar-controls select{color:#7594a7;border-color:#e0edf6;border-radius:25px;background:white;font-size:.875rem;padding:10px 12px;max-width:190px}.calendar-weekdays{padding:18px 16px 10px;color:#88a0b2;font-size:.8rem;font-weight:800}.calendar-weekdays span:nth-last-child(-n+2){color:#d27b9b}.calendar-grid{gap:8px;padding:6px 16px 20px}.day{border:1px solid #e6f0f7;padding:9px 6px 7px;border-radius:14px}.day-heading{font-size:.94rem;font-weight:900;padding:0 4px 7px;color:#6e8aa0;min-height:31px}.day.weekend .day-number{color:#d57698}.day.today .day-number{background:#80bdd6;color:white;border-radius:8px}.day.past{opacity:.48}.day-holiday{font-size:.7rem;background:#fff2c7;color:#9b812c;border-radius:6px;padding:2px 5px}.slot{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;gap:2px;font-size:.875rem;min-height:61px;white-space:nowrap;border-radius:8px;margin-top:5px;padding:6px 3px;background:#edf8fd;color:#6b95ad;border:1px solid #e7f4fa;font-variant-numeric:tabular-nums}.slot strong{color:#4187aa;font-size:.97rem;font-weight:900}.slot:hover:enabled{border-color:#93cde6;background:#d9f1fb;box-shadow:0 3px 8px #729fb818}.slot.busy{background:#f1f3f7;color:#98a6b3;border-color:#edf0f4}.slot.busy span:last-child{font-size:.8rem}.slot:disabled:not(.busy){background:#f7fafc;color:#9eb2c1;border-color:#f3f7fa}.slot:disabled strong{color:inherit}.calendar-footer{padding:18px 25px;border-color:#e7f1f7;font-size:.84rem;color:#8299aa}.calendar-footer .text-link{font-size:.86rem;color:#5396b4}.demo-note{font-size:.78rem;color:#90a6b6;margin:16px 5px 0}
/* All sections share one continuous background; colour lives in accents. */
.room-section{padding-top:55px;padding-bottom:70px}.room-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:33px}.room-intro>p{font-size:1rem;color:#71899e}.room-story{display:grid;grid-template-columns:1.8fr 1fr;gap:45px;align-items:center}.gallery{height:460px;grid-template-columns:1.1fr 1fr;grid-template-rows:1.2fr 1fr;gap:13px}.gallery-main{grid-row:1/3}.gallery button{border:5px solid white;border-radius:25px;box-shadow:0 6px 25px #6794b112}.gallery>button:last-child{display:block}.gallery-main span{font-size:.8rem;border-radius:20px;background:#ffffffed;color:#6d92a7;padding:8px 13px;left:12px;bottom:12px}.room-features{display:flex;flex-direction:column;gap:25px;margin:0}.room-features>div{gap:14px}.feature-icon,.feature-icon.pink{background:#ffedb5;color:#b19a42;border-radius:50%;width:36px;height:36px;flex-shrink:0;font-size:.82rem}.feature-icon.pink{background:#fde4ed;color:#ce7494}.room-features h3{font-size:1.35rem;color:#6d96b0;line-height:1.25;margin:0 0 10px}.room-features p{font-size:.94rem;color:#7b91a4;line-height:1.7}.room-private{border-top:1px solid #dcecf5;padding-top:20px}.room-features .room-private{font-size:.85rem}.room-features .button{align-self:flex-start}
.extras-section{background:transparent;padding:40px 0 60px}.extras-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:70px;align-items:center}.extras-intro h2{max-width:455px;color:#d87596}.extras-intro .eyebrow{color:#be8b9d}.section-description{color:#8799a9;font-size:1rem;margin-top:18px;max-width:390px}.extras-mascot{display:block;width:265px;height:285px;object-fit:contain;margin:5px 0 -30px 95px}.extra-card{display:grid;grid-template-columns:38px 1fr auto;gap:18px;background:white;border:1px solid #e2edf6;border-radius:24px;padding:25px 24px;margin-bottom:15px;box-shadow:0 5px 18px #95aeca08}.extra-number{display:grid;place-content:center;width:36px;height:36px;border-radius:50%;background:#e4f5fc;color:#78b2c8;font-size:.85rem;font-weight:900}.extra-card:nth-child(2) .extra-number{background:#ffe7ef;color:#d7809c}.extra-card:nth-child(3) .extra-number{background:#fff1c7;color:#c1a455}.extra-card h3{font-size:1.22rem;color:#6c93ad;line-height:1.3;margin:0 0 10px;max-width:300px}.extra-card p{color:#8498aa;font-size:.91rem;line-height:1.7;max-width:345px}.extra-card>strong{font-size:1.45rem;color:#dc7a99;white-space:nowrap;line-height:1.3;font-weight:900}.extra-card.coming{background:#ffffffad}.pill{align-self:start;background:#fff1c7;color:#aa914f;font-size:.8rem;white-space:nowrap;padding:5px 10px;border-radius:18px}.fine-print{font-size:.8rem;color:#94a6b7;line-height:1.6}.extras-list>.fine-print{margin:17px 20px 0}
.partner-section{display:block;padding:40px 0 60px}.partner-panel{background:#e8f6fc;border:4px solid white;border-radius:40px;padding:50px 58px 28px;display:grid;grid-template-columns:1.5fr 1fr;gap:20px 65px;align-items:center;box-shadow:0 7px 25px #84a5b80b}.partner-copy h2{color:#69a0bc;font-size:clamp(2rem,3.2vw,3rem)}.partner-copy .eyebrow{color:#7facc2}.partner-copy>p{font-size:1rem;color:#7c9aaf;margin-top:20px;max-width:500px}.partner-after{color:#6094ae;font-size:.9rem;margin-top:23px;font-weight:800}.partner-ticket{background:#ffecb3;border:0;border-radius:25px;transform:rotate(4deg);padding:25px 20px 0;max-width:290px;width:100%;justify-self:center;box-shadow:0 9px 0 #d3c49516}.armudu{color:#a2956d;font-size:1.2rem;font-weight:900;letter-spacing:.18em}.partner-ticket>strong{font-size:6.3rem;color:#d78883;font-weight:900;line-height:1.3;letter-spacing:-.07em}.partner-ticket>strong span{font-size:3.7rem}.partner-ticket>p{font-size:.98rem;color:#a99360}.ticket-footer{color:#b39b5c;border-color:#e2cc8e;font-size:.76rem;margin:22px -20px 0;padding:16px;letter-spacing:.12em}.partner-conditions{grid-column:1/-1;color:#8fa5b5;font-size:.8rem;border-top:1px solid #d1e7f3;padding-top:19px;margin-top:10px;line-height:1.7}
.contact-section{background:transparent;padding:45px 0 55px}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.contact-grid h2{color:#d17f9c}.contact-grid p{font-size:1rem;color:#879bab}.contact-links{gap:9px;margin-top:24px}.contact-links a{font-size:1.15rem;color:#7c9bb1;font-weight:800}.address-card{background:#fff;border:1px solid #e1edf5;border-radius:30px;padding:30px 35px}.address-card h3{font-size:1.65rem;color:#7298b0}.address-card .eyebrow{color:#8dabbd}.address-card .button{font-size:.95rem}.address-card .fine-print{font-size:.82rem}.footer{background:transparent;border-color:#e0edf5;padding:26px 0}.footer-inner{color:#93a8b9;font-size:.85rem}.footer .text-link{font-size:.85rem;color:#86a4b7}
dialog{font-family:Nunito,'Segoe UI',sans-serif;color:var(--ink);background:#fff;border-radius:27px;box-shadow:0 20px 80px #547c9d40}dialog::backdrop{background:#53789373;backdrop-filter:blur(7px)}.dialog-heading h2{color:#6a99b5;font-size:1.85rem}.dialog-heading .eyebrow{font-size:.75rem}.close-button{background:#edf7fc;color:#7bacc5}.steps{font-size:.88rem;border-color:#e7f1f8}.steps li.active{color:#cb7597}.steps li.active span{background:#fde6ef;color:#cc7598}.steps li span{background:#f0f6fb;color:#9ab0c0}.steps li.complete span{background:#e6f4ea;color:#80a692}.order-summary{background:#eff9fe;border-color:#e0eef6}.order-summary h3{color:#719ab5}.summary-time{color:#7094ad}.order-summary dt,.summary-address,.full-payment{color:#8ba1b3}.order-summary .test-note{background:#e2f1f9;color:#7d9db1}.summary-total{border-color:#d8eaf5}.summary-total strong{color:#cb7495}.service-choice{border-color:#e1edf5;border-radius:18px}.service-choice.chosen{background:#f0f9fe;border-color:#9acfe5}.service-choice input,.extension-options input,.consent input{accent-color:#67b4d3}.service-choice.disabled{background:#f8fbfe}.dialog-description,.service-text small,.extension-box>p,.consent{color:#8399aa}.field{color:#7896ad}.field input,.field select,.field textarea{border-color:#dceaf4;border-radius:12px;color:#60809a;background:white}.contact-review,.success-receipt{background:#f1f9fd}.payment-placeholder{border-color:#c8e2ef;background:#fcfeff}.payment-mark{background:#e8f5fc;color:#8ebad0}.success-view h2{color:#ce7898}.success-check{background:#e7f6ed;color:#82b294}.success-partner{background:#fff7df;border-color:#f2e6be}.success-partner p{color:#ac9c78}.success-partner>b{color:#d79199}.success-partner h3{color:#b69d66}.test-note{background:#fffae9;border-color:#f4e9c7;color:#a19570}.stats>div,.empty-state{background:#fff;border-color:#dcecf7}.admin-tabs{background:#e8f5fc}.settings-card,.booking-table{border-color:#dcebf6;background:#ffffffbf}.booking-table-head,th{background:#eaf7fd;color:#8eaabb}.booking-row{background:white;border-color:#e7f0f7}.booking-row:hover{background:#f4faff}.admin-filters input,.admin-filters select{border-color:#dceaf5;background:white}.request-tag,.request-box{background:#fff0f6;color:#c48ca4}.admin-toolbar{border-color:#deecf6}.status-badge{background:#edf7f1;color:#7fa591}#toast{background:#729db9;color:white;border-radius:16px}
@media(min-width:1600px){.hero-inner{min-height:660px}.hero.playful-hero .hero-photo{height:600px}.hero h1{font-size:4.6rem}}
@media(max-width:1200px){.header-inner{gap:22px;width:calc(100% - 48px)}nav{gap:17px}nav a{font-size:.875rem}.brand img{width:58px;height:64px}.brand .brand-name{font-size:2.3rem}.brand small{font-size:.52rem}.wrap{width:calc(100% - 64px)}.hero h1{font-size:3.35rem}.hero-copy>p{max-width:380px}.hero-inner{min-height:575px}.hero.playful-hero .hero-photo{height:500px;width:114%}.hero-sign{font-size:.75rem}.room-story{gap:30px;grid-template-columns:1.65fr 1fr}.gallery{height:425px}.room-features h3{font-size:1.2rem}.extras-layout{gap:35px}.extra-card{padding:23px 20px;gap:14px;grid-template-columns:32px 1fr auto}.extra-number{height:31px;width:31px}.extra-card h3{font-size:1.15rem}.extras-mascot{margin-left:55px}.partner-panel{gap:20px 35px;padding:45px 40px 26px}}
@media(max-width:1050px){.header-inner{flex-wrap:wrap;justify-content:space-between;gap:6px;min-height:0;padding:13px 0 0}.brand img{height:56px;width:56px}.brand .brand-name{font-size:2.3rem}.brand small{font-size:.5rem;margin-top:7px}nav{order:3;flex-basis:100%;justify-content:center;gap:25px;padding:12px 0 15px;flex-wrap:nowrap}nav a{font-size:.875rem}.hero h1{font-size:3rem}.hero .eyebrow{font-size:.75rem;padding:6px 10px}.hero-copy>p{font-size:1rem;max-width:345px}.hero-inner{min-height:540px;padding-top:20px}.hero.playful-hero .hero-photo{height:460px;width:118%}.hero-actions{gap:20px}.hero-actions .button{font-size:.95rem;padding:14px 21px}.hero-actions .text-link{font-size:.875rem}.hero-facts{gap:23px;font-size:.8rem}.hero-facts span+span{padding-left:23px}.hero-facts strong{font-size:1.17rem}.calendar-grid{padding:6px 10px 16px;gap:5px}.day{padding:8px 3px}.slot{font-size:.81rem;min-height:60px}.slot strong{font-size:.96rem}.calendar-weekdays{padding-left:10px;padding-right:10px}.room-features p{font-size:.9rem}.room-features>div{gap:10px}.feature-icon,.feature-icon.pink{width:31px;height:31px;font-size:.78rem}.gallery{height:450px}.extras-mascot{margin-left:30px}.extras-intro h2{font-size:2.7rem}.extra-card{grid-template-columns:1fr auto}.extra-number{display:none}.extra-card h3{font-size:1.2rem}.partner-ticket>strong{font-size:5.2rem}.partner-ticket>strong span{font-size:3rem}.contact-grid{gap:50px}.contact-links a{font-size:1.03rem}}
@media(max-width:780px){html{scroll-padding-top:137px}.wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 36px)}nav{justify-content:flex-start;overflow-x:auto;gap:27px;scrollbar-width:none;width:100%}nav::-webkit-scrollbar{display:none}nav a{font-size:.875rem}nav a:last-child{padding-right:8px}.hero-inner{grid-template-columns:1fr 1fr;min-height:510px;gap:0;padding:30px 0 38px}.hero h1{font-size:2.7rem;line-height:1.1}.hero .eyebrow{font-size:.75rem;letter-spacing:.01em;white-space:nowrap;margin-bottom:19px}.hero-copy{min-width:0}.hero-copy>p{font-size:1rem;max-width:315px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px;margin-top:23px}.hero-facts{gap:19px;margin-top:26px}.hero-facts span+span{padding-left:19px}.hero-facts span{font-size:.77rem}.hero-facts strong{font-size:1.07rem}.hero.playful-hero .hero-photo{height:410px;width:123%;max-width:none}.hero-sign{bottom:17px;left:51%;font-size:.65rem;padding:7px 11px}.spark-one{left:5%;top:8%}.spark-three{left:9%;bottom:15%}.booking-section{padding:30px 0 20px}.section-heading{display:block;margin-bottom:24px}.section-heading p{font-size:1rem}.legend{margin-top:18px;font-size:.875rem}.calendar-toolbar{padding:18px;gap:15px}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.day{padding:10px}.day-heading{font-size:1.1rem}.mobile-weekday{font-size:.875rem;color:#8aa1b4}.day-slots{display:block}.slot{flex-direction:row;justify-content:space-between;font-size:.9rem;padding:9px;min-height:42px}.slot strong{font-size:1.05rem}.slot.busy span:last-child{font-size:.875rem}.calendar-footer{padding:16px 20px;font-size:.84rem}.room-section{padding:35px 0 45px}.room-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.room-story{grid-template-columns:1fr;gap:27px}.gallery{height:385px;grid-template-columns:1.4fr 1fr}.room-features{display:grid;grid-template-columns:1fr 1fr;gap:25px}.room-features h3{font-size:1.25rem}.room-features p{font-size:.97rem}.room-private{border:0;padding:0}.room-features .button{justify-self:start;align-self:center}.extras-section{padding:20px 0 35px}.extras-layout{grid-template-columns:1fr;gap:25px}.extras-intro{position:relative;min-height:230px;padding-right:210px;display:flex;flex-direction:column;justify-content:center}.extras-intro h2{font-size:2.65rem}.extras-mascot{position:absolute;right:-5px;bottom:-5px;width:210px;height:230px;margin:0}.section-description{font-size:1rem;max-width:370px}.extra-card{grid-template-columns:36px 1fr auto;padding:25px;gap:18px}.extra-number{display:grid;height:36px;width:36px}.extra-card h3{font-size:1.23rem;max-width:none}.extra-card p{font-size:.94rem;max-width:440px}.partner-section{padding:20px 0 40px}.partner-panel{padding:35px 30px 25px;gap:22px 28px;border-radius:32px;grid-template-columns:1.3fr 1fr}.partner-copy h2{font-size:2.2rem}.partner-copy>p{font-size:.97rem}.partner-after{font-size:.875rem}.partner-ticket{max-width:250px}.partner-ticket>strong{font-size:4.7rem}.partner-ticket>p{font-size:.9rem}.armudu{font-size:1rem}.ticket-footer{font-size:.75rem;letter-spacing:.05em}.partner-conditions{font-size:.8rem}.contact-section{padding:25px 0 40px}.contact-grid{gap:30px;grid-template-columns:1fr 1fr}.contact-grid h2{font-size:2.6rem}.contact-grid p{font-size:.94rem}.address-card{padding:24px}.contact-links a{font-size:.94rem}.address-card h3{font-size:1.5rem}.dialog-heading h2{font-size:1.6rem}}
@media(max-width:540px){.demo-bar{font-size:.75rem;padding:5px 12px;line-height:1.5}.header-inner{padding-top:10px;gap:4px}.brand img{width:49px;height:55px}.brand .brand-name{font-size:2.15rem}.brand small{font-size:.48rem;margin-top:5px;letter-spacing:.16em}.language-picker button{font-size:.8rem;padding:7px;min-width:33px;min-height:33px}nav{gap:25px;padding:11px 0 14px}nav a{font-size:.875rem}.wrap{width:calc(100% - 36px)}.hero-inner{display:flex;flex-direction:column;min-height:0;padding:28px 0 20px;gap:8px}.hero-copy{width:100%;max-width:none}.hero h1{font-size:clamp(2.2rem,9vw,2.95rem);line-height:1.09;margin-bottom:17px}.hero h1 br:last-of-type{display:initial}.hero .eyebrow{font-size:.75rem;padding:5px 11px;letter-spacing:.005em;margin-bottom:20px}.hero-copy>p{font-size:1rem;line-height:1.7;max-width:355px}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:19px;margin-top:23px}.hero-actions .button{padding:14px 22px;min-height:50px;font-size:.95rem}.hero-actions .text-link{font-size:.875rem}.hero-facts{margin-top:25px;gap:24px}.hero-facts span{font-size:.8rem}.hero-facts span+span{padding-left:24px}.hero-facts strong{font-size:1.15rem}.hero-scene{height:360px;min-height:360px;width:100%;align-self:center}.hero.playful-hero .hero-photo{width:112%;height:365px;max-width:none}.hero-sign{bottom:7px;left:52%;font-size:.75rem;padding:6px 12px}.spark-one{left:5%;top:24%;width:13px;height:13px}.spark-two{right:0;top:54%;width:8px;height:8px}.spark-three{bottom:19%;left:7%;height:18px;width:6px}h2{font-size:2.15rem}.eyebrow{font-size:.75rem;letter-spacing:.07em}.booking-section{padding:28px 0 18px}.section-heading{margin-bottom:22px}.section-heading p{font-size:1rem;margin-top:13px}.legend{font-size:.875rem;gap:20px;margin-top:19px}.calendar-shell{border-radius:22px}.calendar-toolbar{padding:16px;gap:15px}.month-nav h3{font-size:1.3rem;min-width:0}.icon-button{height:36px;width:36px}.calendar-controls{gap:9px}.calendar-controls select{max-width:164px;font-size:.81rem;padding:10px 9px}.soft-button{font-size:.79rem;padding:10px 11px}.calendar-grid{grid-template-columns:1fr;gap:10px;padding:10px}.day{padding:12px 10px;border-radius:13px}.day-heading{font-size:1.02rem;padding-bottom:9px}.day-number{padding:0 4px}.day-holiday{font-size:.75rem}.day-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.slot{flex-direction:column;justify-content:center;margin:0;padding:9px 1px;min-height:66px;gap:3px;font-size:.875rem}.slot strong{font-size:1.12rem}.slot.busy span:last-child{font-size:.83rem}.calendar-footer{padding:16px;font-size:.8rem}.calendar-footer .text-link{font-size:.85rem}.demo-note{font-size:.78rem;line-height:1.6;margin-top:15px}.room-section{padding:32px 0 35px}.room-intro{gap:18px;margin-bottom:25px}.room-intro>p{font-size:1rem}.gallery{height:320px;grid-template-columns:1.15fr 1fr;gap:8px}.gallery button{border:3px solid white;border-radius:18px}.gallery-main span{display:none}.room-features{grid-template-columns:1fr;gap:24px}.room-features>div{gap:13px}.feature-icon,.feature-icon.pink{height:34px;width:34px;font-size:.8rem}.room-features h3{font-size:1.3rem}.room-features p{font-size:.97rem}.room-features .room-private{border-top:1px solid #dcecf5;padding-top:20px;font-size:.875rem}.room-features .button{font-size:.95rem}.extras-section{padding:20px 0 30px}.extras-intro{padding-right:110px;min-height:220px;justify-content:flex-start}.extras-intro h2{font-size:2.15rem;position:relative;z-index:1}.extras-intro .eyebrow{font-size:.75rem;max-width:250px;line-height:1.6}.section-description{font-size:.94rem;max-width:240px;margin-top:17px}.extras-mascot{width:145px;height:190px;right:-17px;bottom:-13px}.extras-layout{gap:22px}.extra-card{grid-template-columns:1fr auto;gap:10px 15px;padding:22px 20px;border-radius:23px;margin-bottom:13px}.extra-number{display:none}.extra-card h3{font-size:1.25rem;margin-bottom:9px}.extra-card p{font-size:.94rem}.extra-card>strong{font-size:1.4rem}.pill{font-size:.75rem;padding:5px 8px}.extras-list>.fine-print{margin:16px 5px 0;font-size:.8rem}.partner-section{padding:15px 0 30px}.partner-panel{grid-template-columns:1fr;padding:28px 22px 22px;gap:25px;border-width:3px;border-radius:28px}.partner-copy h2{font-size:2.15rem}.partner-copy>p{font-size:1rem;margin-top:18px}.partner-after{font-size:.875rem}.partner-ticket{width:88%;max-width:275px;margin:6px auto}.partner-ticket>strong{font-size:5.6rem}.partner-ticket>strong span{font-size:3.3rem}.partner-ticket>p{font-size:.94rem}.partner-conditions{font-size:.81rem;padding-top:20px}.contact-section{padding:24px 0 30px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid h2{font-size:2.4rem}.contact-grid p{font-size:1rem}.contact-links a{font-size:1.1rem}.address-card{padding:25px;border-radius:25px}.address-card h3{font-size:1.6rem}.address-card .fine-print{font-size:.875rem}.footer{padding:23px 0}.footer-inner{font-size:.84rem;gap:13px}.dialog-heading h2{font-size:1.48rem}.dialog-heading .eyebrow{font-size:.75rem}.steps{font-size:.78rem;gap:10px}.order-summary h3{font-size:1.13rem}.summary-total strong{font-size:1.7rem}.service-text strong{font-size:1rem}.service-text small{font-size:.875rem}.service-choice b{font-size:.94rem}.extension-options label{font-size:.9rem}.dialog-description{font-size:.96rem}.field{font-size:.94rem}.consent{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep the soft palette readable at small sizes. */
.hero-copy>p,.section-heading p,.room-intro>p,.room-features p,.section-description,.extra-card p,.partner-copy>p,.contact-grid p,.dialog-description,.service-text small,.extension-box>p,.consent,.contact-review p,.payment-placeholder p,.success-view>p,.info-body>p{color:#587187}
.eyebrow,.hero .eyebrow,.hero-facts,.legend,.calendar-footer,.calendar-footer .text-link,.demo-note,.fine-print,.extras-list>.fine-print,.partner-conditions,.footer-inner,.footer .text-link,.summary-address,.full-payment,.order-summary dt,.order-summary .test-note,.field,.summary-time,.calendar-weekdays,.mobile-weekday{color:#567388}
.hero-facts strong,.hero-actions .text-link,.text-link,.contact-links a,.partner-after{color:#53758c}.primary{background:#ca426e;color:white}.primary:hover{background:#b9325e}.secondary,.address-card .button{color:#446d86}.soft-button,.calendar-controls select{color:#567388}.slot{font-size:.875rem;color:#52738a}.slot strong{color:#377996}.extra-card>strong{color:#bc5c80}.extras-intro h2,.contact-grid h2,.success-view h2{color:#bc5b83}.partner-copy h2,.dialog-heading h2,.order-summary h3{color:#4c7c99}.partner-copy .eyebrow,.extras-intro .eyebrow,.address-card .eyebrow{color:#657c91}.partner-ticket>p,.ticket-footer,.armudu{color:#806c3c}.hero-sign,.pill{color:#826c35}.partner-ticket>strong{color:#ac6470}.service-choice .pill{color:#826c35}.brand small{color:#668498}.language-picker button{color:#59778d}.success-partner h3,.success-partner p{color:#806c3c}

html{scroll-behavior:auto}
