@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;900&display=swap');
:root{--ink:#294c3c;--paper:#faf8ee;--green:#446844;--pink:#f7cad4;--line:#dcded0;--yellow:#f8da78}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans SC',Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #d88751;outline-offset:4px}.topnote{text-align:center;background:var(--green);color:#fff;padding:9px;font-size:11px;letter-spacing:2px}header{height:100px;max-width:1320px;margin:auto;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:25px;letter-spacing:2px}.logo small{display:block;font-size:9px;letter-spacing:3px;margin-top:3px}.mark{font-size:36px}.nav{display:flex;gap:28px;align-items:center}.nav button,.link{border:0;background:none;padding:8px}.pill{border:1px solid var(--ink);border-radius:24px;padding:10px 20px;background:transparent}.solid{background:var(--ink);color:white;border:0;border-radius:24px;padding:13px 24px}.lang{background:none;border:0;color:var(--ink);max-width:95px}.hero{max-width:1320px;margin:auto;padding:15px 48px 0;position:relative}.heroart{border-radius:14px;width:100%;height:490px;object-fit:cover;display:block;background:#dee9ca}.herotext{position:absolute;left:8%;top:65px;max-width:410px}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase}.herotext h1{font-size:52px;line-height:1.32;letter-spacing:3px;margin:22px 0}.herotext p{line-height:1.9;margin:0 0 26px;max-width:330px}.stamp{position:absolute;right:7%;top:45px;background:var(--yellow);border:1px dashed var(--ink);outline:6px solid var(--yellow);border-radius:50%;height:105px;width:105px;display:grid;place-content:center;text-align:center;transform:rotate(10deg);font-size:12px;line-height:1.7}.herofoot{display:flex;justify-content:space-between;padding:18px 4px;font-size:11px;letter-spacing:1px}.welcome{text-align:center;padding:42px 20px 36px}.welcome .eyebrow{color:#76876b}.welcome h2{font-size:28px;letter-spacing:3px;margin:13px 0}.welcome p{line-height:1.9;color:#78816f}.container{max-width:1224px;margin:auto;padding:0 0 60px}.sectionhead{display:flex;align-items:end;justify-content:space-between;margin:15px 0 25px}.sectionhead h2{font-size:27px;margin:7px 0}.sectionhead p{color:#7c8673;font-size:12px}.categories{display:flex;gap:10px;overflow:auto;padding:0 0 25px;scrollbar-width:none}.category{white-space:nowrap;background:transparent;border:1px solid #c9d0bb;padding:11px 23px;border-radius:28px}.category.active{background:var(--green);color:white;border-color:var(--green)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:#fffef8;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-4px)}.card img{width:100%;height:225px;object-fit:cover;display:block}.cardbody{padding:22px}.badge{font-size:10px;border-radius:5px;padding:5px 8px;background:#e8eddf;display:inline-block}.badge.manual{background:#fae4cd}.card h3{font-size:20px;margin:15px 0 9px}.card p{font-size:12px;line-height:1.9;color:#7b8275;min-height:44px}.price{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #d8dece;margin-top:20px;padding-top:16px}.price strong{font-size:20px}.price small{font-size:10px;font-weight:400}.arrow{border:1px solid #c5cfbb;background:none;border-radius:50%;width:35px;height:35px}.visit{margin-top:55px;background:#eceedd;border-radius:12px;padding:38px;display:flex;gap:50px;align-items:center}.visit h2{font-size:25px}.visit p{line-height:1.9;color:#76806b}.visitart{font-size:75px}.notice{font-size:12px;background:#f3edda;padding:14px 20px;border-radius:8px;line-height:1.8;margin:20px 0}footer{border-top:1px solid var(--line);padding:35px 48px;display:flex;justify-content:space-between;gap:25px;font-size:11px;line-height:2;color:#7b8673}.bottomnav{display:none}dialog{border:1px solid #ccd2c1;border-radius:18px;background:var(--paper);color:var(--ink);padding:30px;width:min(560px,94vw);max-height:90dvh}dialog::backdrop{background:#172d226b;backdrop-filter:blur(5px)}.close{float:right;border:0;background:transparent;font-size:25px}.form{display:grid;gap:15px}.form label{display:grid;gap:7px;font-size:12px}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #cbd1c0;border-radius:7px;background:#fffef8;color:var(--ink)}.form textarea{min-height:75px}.row{display:flex;gap:15px}.row>*{flex:1;min-width:0}.error{color:#a23d32;line-height:1.7}.order{padding:24px;border:1px solid var(--line);border-radius:12px;background:#fffef8;margin-bottom:16px}.order h3{margin:0 0 14px}.order .row{align-items:center;justify-content:space-between}.muted{color:#778270;font-size:12px;line-height:1.9}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.adminlist{display:grid;gap:10px}.adminitem{padding:16px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.adminitem button{padding:8px 12px}.adminitem span{flex:1}.tabs{border-bottom:1px solid var(--line);margin-bottom:22px}.tabs button{border:0;background:none;padding:16px}.tabs .active{border-bottom:3px solid var(--green)}.empty{text-align:center;padding:70px 15px}.step{color:#8b977d;font-size:11px;letter-spacing:1px;margin-bottom:24px}.check{font-size:50px;text-align:center}main.page{padding-top:35px;min-height:65vh}h1{font-size:30px}button:disabled{opacity:.45;cursor:not-allowed}.mobileonly{display:none}
@media(min-width:1450px){.heroart{height:540px}}@media(max-width:1280px){.container{margin:0 48px}}@media(max-width:760px){body{padding-bottom:75px}.topnote{font-size:9px;letter-spacing:1px}header{height:80px;padding:15px 20px}.logo{font-size:20px}.logo small{font-size:7px}.mark{font-size:30px}.nav{gap:0}.nav button{display:none}.nav .lang{font-size:12px}.hero{padding:0 14px}.heroart{height:565px;object-position:62% center}.herotext{top:30px;left:36px;right:30px}.herotext h1{font-size:37px;margin:18px 0;letter-spacing:2px}.herotext p{max-width:265px;font-size:12px}.stamp{top:auto;bottom:72px;right:35px;width:77px;height:77px;font-size:9px}.herofoot{font-size:9px;padding:15px 6px}.herofoot span:last-child{display:none}.welcome{padding:30px 22px 22px}.welcome h2{font-size:23px}.welcome p{font-size:12px}.container{margin:0 20px;padding-bottom:35px}.sectionhead{margin-top:15px}.sectionhead h2{font-size:23px}.sectionhead>p{display:none}.categories{margin-right:-20px;padding-right:20px;gap:8px}.category{padding:9px 16px;font-size:12px}.grid{grid-template-columns:1fr;gap:18px}.card{display:grid;grid-template-columns:125px 1fr}.card img{height:100%;min-height:210px}.cardbody{padding:15px}.card h3{font-size:17px;margin:10px 0 6px}.card p{font-size:11px;margin:0;min-height:0}.price{margin-top:12px;padding-top:10px}.price strong{font-size:18px}.badge{font-size:9px;padding:4px 6px}.visit{padding:24px;gap:15px;margin-top:30px}.visitart{font-size:38px}.visit h2{font-size:18px}.visit p{font-size:11px}footer{padding:25px 20px;display:block;font-size:10px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#fffdf4f5;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 12px max(10px,env(safe-area-inset-bottom));justify-content:space-around}.bottomnav button{border:0;background:none;font-size:10px;display:grid;gap:4px;justify-items:center;padding:5px 12px}.bottomnav b{font-size:21px}.bottomnav .active{color:#ca714c}.mobileonly{display:block}dialog{padding:24px 20px;border-radius:18px 18px 0 0;margin-bottom:0;width:100%;max-width:100%;max-height:92dvh}.adminitem{flex-wrap:wrap}.adminitem span{flex-basis:100%}.order{padding:18px}.order .row{flex-wrap:wrap}.row{gap:10px}main.page{padding-top:15px}.eyebrow{font-size:9px;letter-spacing:2px}}
@media(min-width:761px){.herotext{max-width:480px}.herotext h1{font-size:46px;letter-spacing:1px}}
@media(max-width:760px){.herotext h1{font-size:34px;letter-spacing:0}.heroart{object-position:center}.stamp{bottom:60px}.herotext p{max-width:290px}}
@media(max-width:360px){.logo{font-size:17px}.logo small{letter-spacing:1px}.herotext{left:30px;right:22px}.herotext h1{font-size:30px}.card{grid-template-columns:100px 1fr}.bottomnav button{padding:5px 6px}.row{flex-wrap:wrap}.row>*{flex-basis:120px}}
/* Second edition: brighter field colors and practical operations surfaces. */
:root{--ink:#184d37;--paper:#fff9e9;--green:#258251;--pink:#ff98b6;--yellow:#ffcb3c;--line:#d6dec2}.topnote{background:#20794b}.solid{background:#20794b}.heroart,.card img{filter:saturate(1.55)}.category.active{background:#258251}.badge{background:#def2ba}.badge.manual,.status-pending{background:#ffe49b}.status-paid,.status-completed,.status-checkedin{background:#bce9cf}.status-refund_pending,.status-waitlist{background:#ffd0df}.visit{background:#d9edb4}.welcome .eyebrow{color:#248153}.categorytag{display:block;font-size:10px;color:#b76032;margin-bottom:9px}.orderactions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filterbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px}.filterbar label{display:grid;gap:7px;flex:1;min-width:130px;font-size:11px}.filterbar label:first-child{flex:2}.filterbar input,.filterbar select,.toolbar input{padding:11px;border:1px solid #cad6bd;background:#fffef8;border-radius:8px;color:var(--ink);min-width:0;width:100%;font:inherit}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0 35px}.metrics>div{background:#e4f1c8;padding:24px;border-radius:14px}.metrics>div:nth-child(2){background:#ffe7a5}.metrics>div:nth-child(3){background:#ffd2df}.metrics>div:nth-child(4){background:#cde9df}.metrics span{font-size:12px}.metrics strong{display:block;margin-top:16px;font-size:30px}.tabs{display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.tabs button{flex-shrink:0}.dayagenda{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dayagenda section{border:1px solid var(--line);background:#fffdf5;padding:20px;border-radius:12px}.agenda-item{display:block;width:100%;text-align:left;border:0;border-left:3px solid #289459;background:#e9f1d8;padding:13px;margin:10px 0;border-radius:5px}.agenda-item small{display:block;margin-top:8px}.timeline{padding-left:22px}.timeline li{padding:10px 0;font-size:12px}.timeline small{display:block;color:#798572;margin:5px 0}.timeline p{margin:5px 0}.availability{padding:15px;background:#e3f1cd;border-radius:8px;font-weight:600}.checklabel{display:flex!important;align-items:center;line-height:1.6}.checklabel input{width:18px!important;height:18px;flex:none}.translation-review{border:1px solid var(--line);padding:15px;border-radius:8px}.translation-review summary{cursor:pointer}.translation-review label{margin-top:15px}.rule-fields{border-top:1px solid var(--line);padding-top:15px}.order h3{margin-bottom:0}.order .row>div:first-child{flex:2}.order .row>.badge{flex:0 0 auto}.order .row>strong{flex:1}.order .row>.orderactions{flex:2}.ordercats{margin-top:25px}
@media(max-width:760px){.filterbar{display:grid;grid-template-columns:1fr 1fr}.filterbar label:first-child{grid-column:1/-1}.filterbar .pill{grid-column:1/-1}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metrics>div{padding:17px}.metrics strong{font-size:24px}.metrics span{font-size:10px}.dayagenda{grid-template-columns:1fr}.orderactions{justify-content:flex-start}.order .row>strong,.order .row>.orderactions{flex-basis:100%}.order .row>.badge{font-size:9px}.order h3{font-size:17px}.order .row>div:first-child{flex-basis:60%}.order .pill,.order .solid{padding:10px 14px;font-size:12px}.tabs{margin-right:-20px}.tabs button{padding:14px 12px}.filterbar input{max-width:100%}}
.advancedfilters{margin-bottom:18px}.advancedfilters summary{cursor:pointer;padding:12px 0;font-size:13px}.advancedfilters .filterbar{margin-top:12px}.form textarea[readonly]{min-height:220px;font-size:11px}#export-download{display:inline-block}
@media(min-width:761px){.advancedfilters summary{display:none}}
.selling-kind{display:block;font-size:10px;color:#a54c29;margin-top:9px}.eventdate{font-size:11px;font-weight:600;color:#28774b;margin:8px 0}.event-config{padding:16px;background:#e6f0ca;border-radius:10px}.event-config h3{margin:0}.form [hidden]{display:none!important}
.card{position:relative;cursor:pointer}.card-hit{position:absolute;inset:0;z-index:2;border-radius:12px}.card-hit:focus-visible{outline:3px solid #cc713a;outline-offset:-4px}.card .arrow{display:grid;place-items:center}.card:has(.card-hit:focus-visible){transform:translateY(-4px)}
.experience-portals,.workspaces{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.experience-portals button,.workspaces button{background:#edf2db;border:1px solid #c1d5a1;padding:14px 20px;border-radius:12px;font:inherit;color:var(--ink);cursor:pointer}.experience-portals .active,.workspaces .active{background:#2e8153;color:white;border-color:#2e8153}.experience-portals button:nth-child(2):not(.active){background:#ffe49a}.profile-strip{display:flex;align-items:center;justify-content:space-between;gap:10px}.nav{gap:15px}.nav .profile-entry{font-size:11px;padding:8px 12px}
@media(max-width:760px){.experience-portals,.workspaces{display:grid;grid-template-columns:1fr 1fr;gap:8px}.experience-portals button:first-child,.workspaces button:first-child{grid-column:1/-1}.experience-portals button,.workspaces button{font-size:11px;padding:12px 8px}.nav .profile-entry{display:none}.profile-strip{font-size:11px;flex-wrap:wrap}.profile-strip button{padding:8px 12px}}
input[type="date"],input[type="time"],select{cursor:pointer;min-height:44px}input[type="date"]:hover,input[type="time"]:hover,select:hover{background-color:#edf7df;border-color:#3a8d61}input[type="date"]:focus,input[type="time"]:focus,select:focus{outline:2px solid #378a5b;outline-offset:2px}.card-hit{min-height:44px}
.booking-step[hidden]{display:none!important}.booking-step{min-height:100px}.meal-row{padding:12px;border:1px solid #b6d69b;border-radius:16px}.form select,.form input{min-height:44px}.toolbar{flex-wrap:wrap}
/* Larger, more spacious visual hierarchy for real desktop reading. */
body{font-size:17px;line-height:1.65}.topnote{font-size:13px;padding:11px}.nav{gap:14px}.nav button{font-size:16px;white-space:nowrap}.logo small{font-size:10px}.container{max-width:1280px}.sectionhead{margin:32px 0}.sectionhead h2,.welcome h2{font-size:34px;line-height:1.4}.sectionhead p,.welcome p{font-size:17px}.grid{gap:28px}.card{border-radius:24px;border:0;box-shadow:0 8px 30px #2459380b}.card img{height:260px}.cardbody{padding:28px}.card h3{font-size:25px;line-height:1.45}.card p{font-size:16px;line-height:1.8;color:#516650;min-height:58px}.badge,.selling-kind,.eventdate{font-size:13px}.price strong{font-size:26px}.price small{font-size:14px}.arrow{width:44px;height:44px;background:#e5efc8}.notice,.muted,.form label{font-size:15px}.form input,.form select,.form textarea{font-size:17px;padding:14px;border-radius:12px}.form{gap:20px}dialog{width:min(690px,95vw);padding:34px;border-radius:26px;box-shadow:0 28px 90px #14382130}dialog h2{font-size:28px;line-height:1.4}.booking-step h3{font-size:21px}.order{border:0;border-radius:22px;padding:30px;box-shadow:0 4px 22px #24593809}.order h3{font-size:23px}.tabs{display:flex;flex-wrap:wrap;gap:7px;border:0}.tabs button{background:#f0efdd;border-radius:14px;padding:11px 16px;font-size:15px}.tabs .active{background:#237b4e;color:white;border:0}.workspaces button,.experience-portals button{padding:17px 24px;font-size:17px;border-radius:18px}.adminitem{padding:22px;border-radius:17px;background:#fffef8}.pill,.solid{min-height:46px}footer{font-size:13px}.herotext p{font-size:17px}.herofoot{font-size:13px}.visit p{font-size:16px}
@media(min-width:761px) and (max-width:1150px){header{padding:18px 28px;gap:14px}.nav{gap:2px}.nav button{font-size:14px}.logo{font-size:22px}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:16px}.topnote{font-size:11px}.container{margin:0 18px}.sectionhead h2,.welcome h2{font-size:28px}.welcome p{font-size:16px}.card{display:block;border-radius:22px}.card img{height:215px;min-height:0}.cardbody{padding:23px}.card h3{font-size:24px}.card p{font-size:16px;min-height:0}.category{font-size:15px;padding:12px 19px}.experience-portals button,.workspaces button{font-size:15px;padding:13px 17px}.herotext p{font-size:15px}.herotext h1{font-size:36px}.notice,.muted,.form label{font-size:15px}dialog{padding:24px 20px;width:100%;border-radius:24px 24px 0 0}.order{padding:23px}.bottomnav button{font-size:12px}.form .row{flex-wrap:wrap}.form .row>*{flex-basis:180px}.visit p{font-size:15px}}
@media(max-width:760px){.categories{margin-right:-18px;padding-right:18px}.experience-portals{grid-template-columns:1fr!important}.experience-portals button{white-space:normal}.card .price{gap:12px}}
/* Editorial experience pages before booking. */
.experience-page{padding-top:24px;padding-bottom:70px}.detail-back{margin-bottom:25px}.experience-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:38px;align-items:start}.experience-cover{position:relative;border-radius:28px;overflow:hidden;background:#e8efce;min-height:260px}.experience-cover>img{width:100%;height:440px;display:block;object-fit:cover;filter:saturate(1.3)}.experience-cover-label{position:absolute;bottom:24px;left:24px;background:#fff9e9ed;border-radius:30px;padding:9px 20px;font-weight:600}.experience-gallery{display:flex;gap:12px;overflow:auto;margin:16px 0}.experience-gallery button{border:2px solid transparent;border-radius:15px;padding:0;background:none;flex:0 0 115px;overflow:hidden}.experience-gallery button:focus,.experience-gallery button:hover{border-color:#258251}.experience-gallery img{width:115px;height:85px;object-fit:cover;display:block}.experience-intro{padding:38px 8px 25px}.experience-intro h1{font-size:40px;line-height:1.35;margin:16px 0}.experience-lead{font-size:22px!important;color:#547052}.experience-intro p,.experience-info p{font-size:17px;line-height:1.95}.experience-intro h2,.experience-info h2{font-size:25px;margin-top:32px}.experience-info{padding:16px 28px 28px;background:#fffdf6;border-radius:24px;margin:16px 0}.experience-reserve{position:sticky;top:26px;border:1px solid #dbe3ca;border-radius:26px;background:white;padding:30px;box-shadow:0 16px 40px #2148290c}.experience-reserve h2{font-size:25px;line-height:1.5}.experience-reserve .solid{width:100%;font-size:18px}.experience-price{font-size:36px;font-weight:700;margin:20px 0}.experience-price small{font-size:15px;font-weight:400}.detail-sessions p,.detail-addons>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e3e8d8;padding:12px 0}.detail-addons b{white-space:nowrap}.experience-mobile-cta{display:none}@media(max-width:1000px) and (min-width:761px){.experience-layout{grid-template-columns:minmax(0,1fr) 285px;gap:22px}.experience-reserve{padding:22px}}@media(max-width:760px){.experience-layout{display:block}.experience-cover>img{height:285px}.experience-intro{padding:25px 3px 10px}.experience-intro h1{font-size:32px}.experience-lead{font-size:19px!important}.experience-info{padding:12px 20px 24px}.experience-reserve{position:static;margin-top:24px}.experience-mobile-cta{display:flex;position:fixed;z-index:6;bottom:70px;left:0;right:0;padding:12px 18px;background:#fffdf5f5;border-top:1px solid #dbe3ca;align-items:center;justify-content:space-between;gap:12px;backdrop-filter:blur(12px)}.experience-mobile-cta strong{font-size:23px}.experience-mobile-cta small{font-size:13px;font-weight:400}.experience-page{padding-bottom:135px}.experience-gallery button{flex-basis:92px}.experience-gallery img{width:92px;height:72px}}
.reserve-dates{background:#eff5df;border-radius:16px;padding:16px 18px;margin:20px 0}.reserve-dates>b{font-size:15px}.reserve-dates p{display:flex;justify-content:space-between;gap:12px;margin:10px 0 0;font-size:17px}.phone-fields{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(0,1.2fr);gap:12px}.phone-entry{display:grid;gap:12px}.phone-entry [hidden]{display:none!important}@media(max-width:480px){.phone-fields{grid-template-columns:1fr}}
.registration-heading{max-width:760px;margin:20px auto 28px;text-align:center}.registration-heading h1{font-size:34px}.registration-card{max-width:760px;margin:0 auto 35px;padding:35px;background:#fffef8;border-radius:26px;box-shadow:0 12px 40px #20492b0b}.registration-card h2{margin-top:0}.registration-card .form{gap:20px}@media(max-width:760px){.registration-heading h1{font-size:27px}.registration-card{padding:23px 18px}}
.booking-summary{font-size:22px!important;font-weight:700;line-height:1.65!important;padding:20px 22px!important;border-left:5px solid #27824f;background:#eaf3d8!important;color:#17462f}.addon-review{font-size:18px!important}.cart-checkout-summary{font-size:21px;font-weight:700}

/* Detail sections share a single reading alignment and typography. */
.experience-intro,.experience-info{padding-left:8px!important;padding-right:8px!important}.experience-info{background:transparent;border-radius:0;padding-top:0;margin-top:0}.experience-intro h2,.experience-info h2{font-size:25px!important;line-height:1.5;margin:28px 0 14px}.experience-intro p,.experience-intro li,.experience-info p{font-size:17px;line-height:1.95}.experience-cover>img{height:auto!important;aspect-ratio:3/2;object-fit:cover}.experience-cover{min-height:0}

.customer-order{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}.customer-order-photo{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:15px}.customer-order-content{min-width:0}.customer-order-content h3{margin:10px 0 12px}.customer-order-date{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:baseline;line-height:1.7}.customer-order-date>span{display:inline-flex;gap:6px}.customer-order-facts{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline;margin:12px 0 18px}.customer-order-facts>span{white-space:nowrap}.customer-order-facts strong{font-size:22px}.customer-order-content .toolbar{margin-top:16px}@media(max-width:650px){.customer-order{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:18px 14px}.customer-order-content h3{font-size:19px}.customer-order-facts{gap:8px 14px;font-size:14px}.customer-order-facts strong{font-size:19px}.customer-order-date{font-size:14px;gap:4px}.customer-order-date>span{flex-wrap:wrap}.customer-order-content .toolbar{gap:8px}.customer-order-content .toolbar button{padding:9px 12px;font-size:14px}}

/* Comfortable touch targets and safe-area spacing for phone previews. */
@media(max-width:760px){input,select,textarea{font-size:16px!important}.category,.pill,.solid,.bottomnav button{min-height:44px}.bottomnav{padding-bottom:env(safe-area-inset-bottom)}.experience-mobile-cta{bottom:calc(70px + env(safe-area-inset-bottom))}.customer-order-photo{background:#e9eedc}.customer-order-content .badge{line-height:1.5}#modal{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}.booking-step{min-width:0}.booking-summary{overflow-wrap:anywhere}.categories{scroll-padding:16px}.cart-error,.error{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.required-mark{color:#b52535;font-style:normal;font-size:.86em;font-weight:700;margin-left:6px}
/* Keep profile navigation as legible as the other primary entries. */
header .nav .profile-entry{font-size:16px;padding:10px 14px;min-height:44px;font-weight:500}
@media(max-width:760px){header .nav .profile-entry{display:inline-flex;align-items:center;font-size:16px}.bottomnav button{font-size:14px;line-height:1.4}header .nav{flex-wrap:wrap;justify-content:flex-end}header{height:auto;min-height:85px}}

@media(max-width:760px){header .nav .account-entry{display:inline-flex;align-items:center;min-height:44px;font-size:15px;padding:8px 10px}}

/* Sunny field edition — reference artwork, spacious typography, quiet motion. */
body.sunny-site{--ink:#20271d;--paper:#fff9e8;--green:#2d854c;--line:#dedec5;background:#ffe549;color:var(--ink)}
.sunny-site .topnote{display:none}.sunny-site header{max-width:1240px;height:104px;padding:22px 40px;gap:24px}.sunny-site .logo{font-size:23px;letter-spacing:0;white-space:nowrap}.sunny-site .logo small{font-size:8px;letter-spacing:1.5px}.sunny-site .mark{background:#dce7a5;border:1.5px solid #405333;border-radius:50% 50% 46% 46%;width:43px;height:43px;display:grid;place-items:center;font-size:30px;color:#426543}.sunny-site header .nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.sunny-site header .nav button,.sunny-site header .nav select{font-size:15px;font-weight:600;padding:9px 10px;min-height:44px}.sunny-site header .nav button:hover{color:#247544}.sunny-site .solid{background:#2e814a;font-weight:600;box-shadow:0 3px 0 #1b5a2920}.sunny-site .pill{border-color:#3b643b}.sunny-site .sunny-home{max-width:1240px;margin:0 auto;overflow:hidden}.field-hero{position:relative;height:710px;margin:0 20px}.field-island{position:absolute;top:60px;left:0;width:100%;height:auto;pointer-events:none}.field-hero-copy{position:relative;z-index:2;padding:35px 0 0 65px;max-width:520px}.field-hero-copy .eyebrow{font-size:12px;letter-spacing:1.2px}.field-hero-copy h1{font-size:46px;line-height:1.35;letter-spacing:-1.4px;margin:18px 0}.field-hero-copy p{font-size:17px;line-height:1.8;margin:0 0 22px}.field-hero-copy .solid{font-size:17px;padding:13px 24px}.cloud{position:absolute;z-index:1;background:#fffef3;border-radius:60% 50% 45% 45%;width:130px;height:29px;pointer-events:none;animation:field-cloud 34s ease-in-out infinite alternate}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%}.cloud:before{width:61px;height:43px;left:48px;bottom:0}.cloud:after{width:45px;height:25px;left:17px;bottom:7px}.cloud-one{top:42px;left:51%;animation-duration:38s}.cloud-two{top:118px;right:4%;width:155px;animation-delay:-15s;animation-duration:47s}.cloud-three{top:460px;left:1%;width:160px;z-index:0;animation-delay:-8s}.field-featured{position:relative;z-index:3;max-width:1020px;margin:-35px auto 0;padding:0 20px}.sunny-site .field-card{background:#fffef9;border:0;border-radius:17px;box-shadow:0 6px 10px #61601b22;display:block;position:relative;isolation:isolate;overflow:hidden;transition:transform .25s,box-shadow .25s}.sunny-site .field-card:hover{transform:translateY(-6px);box-shadow:0 12px 22px #61601b30}.sunny-site .field-card:focus-within{outline:3px solid #21653b;outline-offset:4px}.sunny-site .field-card-picture{width:100%;aspect-ratio:7/5;overflow:hidden;position:relative}.field-card-art{display:block;width:100%;height:100%}.sunny-site .field-card-picture img{width:100%;height:100%;min-height:0;object-fit:cover;filter:none;animation:field-photo 16s ease-in-out infinite alternate}.sunny-site .field-card .cardbody{padding:18px 21px 19px}.field-card-kicker{font-size:12px;color:#4e6845;font-weight:600;letter-spacing:.5px}.sunny-site .field-card h3{font-size:22px;line-height:1.4;margin:7px 0;color:#20271d}.sunny-site .field-card p{color:#46503c;font-size:14px;line-height:1.65;min-height:46px;margin:7px 0 0}.sunny-site .field-card .eventdate{font-size:13px;color:#49664b;margin:7px 0}.sunny-site .field-card .price{border:0;padding-top:8px;margin-top:8px}.sunny-site .field-card .price strong{font-size:27px;color:#192819}.sunny-site .field-card .price small{font-size:13px}.sunny-site .field-card .arrow{display:grid;place-items:center;border:0;background:#eef2dc;font-size:22px;width:36px;height:36px}.sunny-site .card-hit{z-index:4}.field-browse{display:flex;justify-content:space-between;align-items:center;padding:24px 0 0;font-size:15px}.field-browse .pill{font-size:15px;background:#2e814a;color:white;border:0;font-weight:600}.gathering-island{position:relative;margin:50px 20px 0;aspect-ratio:3/2}.gathering-art{width:100%;height:auto;display:block}.island-offer{position:absolute;top:35%;width:31%;z-index:2;border-radius:12px;padding:12px;transition:background .2s}.island-offer:hover{background:#fff6be70}.island-left{left:11%}.island-right{left:57%}.island-offer h2{font-size:27px;line-height:1.4;margin:9px 0}.island-offer p{font-size:16px;line-height:1.6;margin:7px 0 14px}.island-offer strong{font-size:29px}.island-offer small{font-size:14px;font-weight:400}.island-offer .badge{font-size:13px;background:#ffe07c;padding:4px 10px}.island-offer-arrow{float:right;font-size:25px}.field-visit{position:absolute;top:63%;left:24%;width:51%;padding:12px 0}.field-visit .eyebrow{font-size:11px;letter-spacing:1px}.field-visit h2{font-size:27px;margin:12px 0}.field-visit p{font-size:15px;line-height:1.65;margin:8px 0}.field-more{max-width:1020px;margin:0 auto 30px;padding:0 20px}.field-motion-control{display:flex;justify-content:flex-end;padding:0 42px 20px}.motion-toggle{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:14px;min-height:44px;color:#465a35}.sunny-site footer{border:0;color:#38472b;max-width:1320px;margin:0 auto;padding-top:12px;font-size:12px}.sunny-site main.container{max-width:1160px;margin:20px auto 0;padding-left:26px;padding-right:26px}.sunny-site .category{background:#fff8c1;border-color:#acb45f;font-size:16px}.sunny-site .category.active{background:#2e814a;color:#fff}.sunny-site .experience-intro,.sunny-site .experience-info{background:#fffbed;margin:0;padding:28px!important}.sunny-site .experience-intro{border-radius:20px 20px 0 0;margin-top:22px}.sunny-site .experience-info:last-child{border-radius:0 0 20px 20px}.sunny-site .experience-info h2,.sunny-site .experience-intro h2{font-size:25px!important}.sunny-site .experience-lead{color:#556648}.sunny-site .experience-reserve{border:0;box-shadow:0 8px 22px #76672d1a}.sunny-site .registration-card{background:#fffef7}.sunny-site dialog{background:#fffdf3}.sunny-site .sectionhead p{color:#505d37}.sunny-site .bottomnav{background:#fffdeef5}.sunny-site .bottomnav .active{color:#26723b}
.art-steam{animation:field-steam 4s ease-in-out infinite}.art-fire{transform-origin:120px 273px;animation:field-fire 1.6s ease-in-out infinite alternate}.art-firework{animation:field-spark 4.8s ease-in-out infinite}.art-delay{animation-delay:-2.4s}.art-sway{animation:field-sway 5s ease-in-out infinite alternate}.art-bird{animation:field-bird 7s ease-in-out infinite alternate}.art-breathe{animation:field-breathe 4s ease-in-out infinite alternate}.island-sparkles{position:absolute;top:29%;left:68%;pointer-events:none}.island-sparkles i{position:absolute;width:5px;height:5px;background:#ffd862;border-radius:50%;animation:field-ember 3s ease-out infinite}.island-sparkles i:nth-child(2){left:12px;animation-delay:-1s}.island-sparkles i:nth-child(3){left:-12px;animation-delay:-2s}
@keyframes field-cloud{from{transform:translateX(-25px)}to{transform:translateX(45px)}}@keyframes field-steam{0%,100%{transform:translateY(4px);opacity:.45}50%{transform:translateY(-9px);opacity:.9}}@keyframes field-fire{from{transform:scale(.96,1)}to{transform:scale(1.04,1.07)}}@keyframes field-spark{0%,100%{transform:scale(.75);opacity:.35}50%{transform:scale(1.05);opacity:1}}@keyframes field-sway{from{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}@keyframes field-bird{from{transform:translate(-5px,3px)}to{transform:translate(14px,-5px)}}@keyframes field-breathe{from{transform:scaleY(1)}to{transform:scaleY(1.025)}}@keyframes field-photo{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes field-ember{from{transform:translateY(0);opacity:0}35%{opacity:.8}to{transform:translate(9px,-42px);opacity:0}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@media(min-width:1500px){.sunny-site header{max-width:1300px}.sunny-site .sunny-home{max-width:1300px}.field-hero{height:745px}.field-hero-copy{padding-left:80px}}
@media(max-width:1050px) and (min-width:761px){.sunny-site header{padding:18px 25px;height:auto;min-height:100px}.sunny-site .logo{font-size:21px}.sunny-site header .nav{gap:0;max-width:610px}.field-hero{height:610px}.field-hero-copy{padding:20px 0 0 35px;max-width:430px}.field-hero-copy h1{font-size:38px}.field-island{top:100px}.field-featured{margin-top:-30px}.island-offer h2{font-size:22px}.island-offer p{font-size:14px}.island-offer strong{font-size:24px}.field-visit h2{font-size:23px}.field-visit p{font-size:13px}}
@media(max-width:760px){.sunny-site header{height:auto;min-height:94px;padding:15px 18px;gap:8px;align-items:flex-start}.sunny-site .logo{font-size:20px;gap:8px;padding-top:8px}.sunny-site .logo small{font-size:6px;letter-spacing:1px}.sunny-site .mark{width:35px;height:35px;font-size:26px;flex:none}.sunny-site header .nav{gap:0;max-width:180px}.sunny-site header .nav .profile-entry,.sunny-site header .nav .account-entry{font-size:15px;padding:4px 7px;min-height:36px}.sunny-site header .nav select{font-size:14px!important;min-height:36px;max-width:82px;padding:4px}.field-hero{height:570px;margin:0}.field-hero-copy{padding:20px 25px 0;max-width:100%;text-align:left}.field-hero-copy .eyebrow{font-size:10px;letter-spacing:1px}.field-hero-copy h1{font-size:36px;line-height:1.35;letter-spacing:-1px;margin:12px 0}.field-hero-copy p{font-size:15px;line-height:1.7;margin-bottom:16px}.field-hero-copy .solid{font-size:15px;min-height:46px;padding:10px 20px}.field-island{top:270px;left:-10%;width:120%;max-width:none}.cloud-one{top:80px;left:auto;right:0;width:75px;height:18px;opacity:.75;z-index:0}.cloud-one:before{height:28px;width:40px;left:20px}.cloud-one:after{width:25px;height:20px;left:8px}.cloud-two{top:285px;right:5%;width:95px;height:22px}.cloud-three{top:415px;left:-35px;width:100px}.field-featured{margin:0;padding:0 18px}.field-featured .grid,.field-more .grid,.sunny-site main.container .grid{grid-template-columns:1fr;gap:22px}.sunny-site .field-card .cardbody{padding:18px 22px}.sunny-site .field-card-picture{aspect-ratio:1.65}.sunny-site .field-card h3{font-size:23px}.sunny-site .field-card p{font-size:15px;min-height:0}.field-browse{padding-top:22px;gap:10px}.field-browse>span{font-size:13px}.field-browse .pill{font-size:14px;padding:10px 14px}.gathering-island{margin:30px 0 0;aspect-ratio:auto;padding:245px 18px 0;display:grid;grid-template-columns:1fr;gap:16px}.gathering-art{position:absolute;top:0;left:-7%;width:114%;pointer-events:none}.island-offer{position:relative;top:auto;left:auto;width:100%;background:#f7f9dfed;border:1px solid #a8b777;border-radius:18px;padding:20px;box-shadow:0 4px 0 #82933b15}.island-offer:hover{background:#f7f9df}.island-offer h2{font-size:24px}.island-offer p{font-size:16px}.island-offer strong{font-size:27px}.field-visit{position:relative;top:auto;left:auto;width:100%;margin-top:7px;padding:25px 22px;background:#fae6b2;border:2px solid #b69761;border-radius:26px 12px 23px 15px;box-shadow:inset 0 0 0 4px #fff0c5}.field-visit h2{font-size:25px;line-height:1.5}.field-visit p{font-size:15px}.island-sparkles{top:122px;left:72%}.field-more{padding:0 18px;margin-top:30px}.field-motion-control{padding:12px 20px}.sunny-site footer{padding:0 22px 24px;font-size:11px}.sunny-site main.container{margin:10px 0 0;padding-left:18px;padding-right:18px}.sunny-site .experience-intro,.sunny-site .experience-info{padding:20px!important}.sunny-site .experience-intro h1{font-size:29px}.sunny-site .category{font-size:15px}.sunny-site .bottomnav button{font-size:14px}.sunny-site .experience-mobile-cta{background:#fffdee}.sunny-site .experience-reserve{padding:25px}.sunny-site .registration-heading h1{font-size:28px}}
@media(max-width:360px){.sunny-site header{padding:12px}.sunny-site .logo{font-size:18px}.sunny-site header .nav{max-width:154px}.field-hero-copy{padding-left:20px}.field-hero-copy h1{font-size:32px}.field-hero{height:550px}.field-island{top:285px}.field-browse>span{display:none}}
@media(prefers-reduced-motion:reduce){.sunny-site *,.sunny-site *:before,.sunny-site *:after{animation:none!important;transition:none!important}.field-motion-control{display:none}}
/* Keep live copy legible against the detailed pencil artwork. */
@media(min-width:761px){.island-offer{background:linear-gradient(100deg,#edf3bde8,#edf3bdc9 75%,#edf3bd45);padding:14px 18px}.island-offer:hover{background:#edf3bdec}.field-visit{top:62%;left:25%;width:50%}.field-visit h2{margin:10px 0;font-size:26px}.field-visit p{font-size:14px;line-height:1.5}}
.sunny-site .field-card{display:flex;flex-direction:column}.sunny-site .field-card .cardbody{display:flex;flex-direction:column;flex:1}.sunny-site .field-card .price{margin-top:auto;padding-top:16px}.sunny-site .field-card .eventdate{min-height:19px}
.gathering-art{animation:field-island-breathe 12s ease-in-out infinite alternate;transform-origin:center bottom}@keyframes field-island-breathe{from{transform:translateY(0)}to{transform:translateY(-3px)}}
@media(min-width:761px){.island-offer{top:31%;width:33%;padding:12px 16px}.island-left{left:10%}.island-right{left:56%}.island-offer h2{font-size:24px;line-height:1.3;margin:7px 0}.island-offer p{font-size:15px;line-height:1.5;margin:6px 0 10px}.island-offer strong{display:inline-block;font-size:27px;line-height:1.25}.island-offer-arrow{line-height:1.35}}
@media(min-width:761px) and (max-width:1050px){.island-offer{top:28%;padding:10px 12px}.island-offer h2{font-size:21px}.island-offer p{font-size:14px}.island-offer strong{font-size:23px}.field-visit{top:64%;padding-top:0}.field-visit h2{font-size:21px;margin:6px 0}.field-visit p{font-size:12px}}
/* Restore the lower experiences to individual cards, without the island backdrop. */
.field-restored{max-width:1020px;margin:42px auto 34px;padding:0 20px}.field-restored>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.field-restored .field-card-picture{aspect-ratio:1.8}.field-restored .restored-visit{position:static;width:auto;margin:35px 0 0;padding:30px 36px;background:#d9edb4;border:0;border-radius:16px;box-shadow:none}.field-restored .restored-visit h2{font-size:27px;margin:12px 0}.field-restored .restored-visit p{font-size:16px;line-height:1.8}
@media(max-width:760px){.field-restored{margin:30px auto;padding:0 18px}.field-restored>.grid{grid-template-columns:1fr;gap:22px}.field-restored .restored-visit{padding:24px;margin-top:26px}.field-restored .restored-visit h2{font-size:25px}}
/* User-supplied mascot, redrawn at high resolution for sharp small-screen use. */
.sunny-site .logo .mark{background:none;border:0;border-radius:0;width:48px;height:48px;flex:none}.brand-mascot{display:block;width:100%;height:100%;object-fit:contain}.sunny-site .logo .mark img{filter:none}
@media(max-width:760px){.sunny-site .logo .mark{width:42px;height:42px}}
/* Separate character layers move along the diagonal path, with a soft walking bob. */
.field-walking-scene{aspect-ratio:3/2}.field-scene-background{display:block;width:100%;height:auto}.field-walker{position:absolute;display:block;animation:field-stroll var(--walk-time) linear infinite;pointer-events:none}.walker-rabbit{left:45.5%;top:44%;width:7%;height:17.4%;--walk-time:20s;--walk-x:200%;--walk-y:-68%;z-index:2}.walker-cat{left:62%;top:35%;width:6%;height:13.5%;--walk-time:25s;--walk-x:280%;--walk-y:-65%;animation-delay:-8s;z-index:1}.walker-facing{display:block;width:100%;height:100%;animation:field-turn var(--walk-time) steps(1,end) infinite;transform-origin:center}.walker-cat .walker-facing{animation-delay:-8s}.walker-sprite{display:block;width:100%;height:100%;object-fit:contain;animation:field-walking-step .75s ease-in-out infinite;transform-origin:center bottom;filter:drop-shadow(0 2px 1px #71512733)}.walker-cat .walker-sprite{animation-duration:.85s}.cloud-one{animation-duration:10.666667s}.cloud-two{animation-duration:13.666667s}.cloud-three{animation-duration:12s}
@keyframes field-stroll{0%,5%,100%{transform:translate(0,0)}45%,55%{transform:translate(var(--walk-x),var(--walk-y))}95%{transform:translate(0,0)}}
@keyframes field-turn{0%,49%{transform:scaleX(1)}50%,99%{transform:scaleX(-1)}100%{transform:scaleX(1)}}
@keyframes field-walking-step{0%,100%{transform:translateY(0) rotate(-1deg)}25%{transform:translateY(-2px) rotate(1deg)}50%{transform:translateY(0) rotate(1deg)}75%{transform:translateY(-2px) rotate(-1deg)}}
@keyframes field-cloud{from{transform:translateX(-165px)}to{transform:translateX(195px)}}
@media(max-width:760px){.cloud{animation-name:field-cloud-mobile}@keyframes field-cloud-mobile{from{transform:translateX(-75px)}to{transform:translateX(90px)}}}
/* Double the travel/scale variation of the original card motions; timing stays gentle. */
@keyframes field-steam{0%,100%{transform:translateY(8px);opacity:.3}50%{transform:translateY(-18px);opacity:1}}
@keyframes field-fire{from{transform:scale(.92,1)}to{transform:scale(1.08,1.14)}}
@keyframes field-spark{0%,100%{transform:scale(.6);opacity:.2}50%{transform:scale(1.2);opacity:1}}
@keyframes field-sway{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
@keyframes field-bird{from{transform:translate(-10px,6px)}to{transform:translate(28px,-10px)}}
@keyframes field-breathe{from{transform:scaleY(1)}to{transform:scaleY(1.05)}}
@keyframes field-photo{from{transform:scale(1)}to{transform:scale(1.09)}}
.textured-massage{transform-origin:210px 280px}.textured-card-art{background:#f9e9c5}


/* Display the supplied illustration in its original colors. */
.field-scene-background{mix-blend-mode:normal}
/* Flat vector illustration and visitor navigation. */
.sunny-site{background:#ffe43d}.walker-sprite{filter:none}.field-card-art{background:none}.info-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;margin:40px 0;align-items:start}.info-page h1{font-size:44px;margin:15px 0 25px}.info-page p{font-size:18px;line-height:1.9;white-space:pre-wrap}.info-illustration{border:2px solid #594f38;border-radius:24px;overflow:hidden}.info-fact{background:#fff4bf;padding:18px 24px;border-radius:14px;margin:20px 0}.info-fact p{margin:7px 0}.info-page .solid{display:inline-block;margin:16px 10px 0 0}.home-float-nav{position:fixed;left:18px;bottom:18px;display:flex;gap:8px;z-index:20}.home-float-nav button,.info-links button{position:relative;border:1px solid #594f38;border-radius:9px;color:white;min-width:96px;padding:12px 14px;font:inherit;font-size:14px;font-weight:700;display:grid;justify-items:center;gap:5px;cursor:pointer;box-shadow:0 4px 0 #594f3825;transition:transform .2s}.home-float-nav button:hover,.info-links button:hover{transform:translateY(-5px)}.home-float-nav svg,.info-links svg{width:36px;height:36px}.home-float-nav b,.info-links b{font-size:15px}.float-book{background:#cf594d}.float-access{background:#59aeda}.float-parking{background:#294c68}.float-team{background:#9c9f9a}.float-venue{background:#bb934e}.info-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}.sunny-site[data-view=home] footer{padding-bottom:135px}@media(max-width:760px){.home-float-nav{left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));gap:4px}.home-float-nav button{min-width:0;flex:1;padding:8px 3px;font-size:11px;gap:3px;border-radius:7px}.home-float-nav svg{width:26px;height:26px}.home-float-nav b{display:none}.info-layout{grid-template-columns:1fr;gap:25px;margin-top:28px}.info-page h1{font-size:32px}.info-page p{font-size:16px}.info-illustration{max-width:440px}.info-links button{flex:1;min-width:90px}.sunny-site[data-view=home] footer{padding-bottom:170px}}
.walker-rabbit{left:47%;top:63%;--walk-x:200%;--walk-y:-85%}.walker-cat{left:61%;top:57%;--walk-x:240%;--walk-y:-58%}
/* Reference composition: original artwork, 3 feature cards and compact navigation. */
.sunny-site{background:#fce23b;color:#171a13}.sunny-site .sunny-home{max-width:1119px}.sunny-site header{max-width:850px;height:72px;padding:14px 10px;gap:24px}.sunny-site .logo{font:700 23px Arial,sans-serif;gap:8px}.sunny-site .logo .mark{width:35px;height:35px}.sunny-site header .nav{gap:4px;flex-wrap:nowrap}.sunny-site header .nav button,.sunny-site header .nav select{font-size:14px;padding:7px 9px;font-weight:500;min-height:35px}.sunny-site[data-view=home] header .profile-entry,.sunny-site[data-view=home] header .account-entry{display:none}.sunny-site header .nav [data-page=cart]{order:10}.field-hero{height:541px;margin:0}.field-hero-copy{padding:50px 0 0 192px;max-width:510px}.field-hero-copy .eyebrow{font-size:12px;letter-spacing:0}.field-hero-copy h1{font-size:36px;line-height:1.25;letter-spacing:-1px;margin:18px 0 15px}.field-hero-copy p{font-size:14px;line-height:1.65;margin-bottom:20px}.field-hero-copy .solid{font-size:14px;padding:10px 19px;min-height:38px}.field-island{left:106px;top:44px;width:906px;aspect-ratio:3/2}.field-scene-background{width:100%;height:100%;object-fit:contain}.cloud-one{top:52px;left:52%;width:119px;height:23px}.cloud-two{top:106px;right:12%;width:126px;height:23px}.cloud-three{top:435px;left:10%;width:151px;height:23px}.field-featured{max-width:806px;padding:0;margin:0 auto;overflow:visible}.field-featured .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sunny-site .field-featured .field-card{border-radius:13px;box-shadow:0 5px 8px #71601d30}.sunny-site .field-featured .field-card-picture{aspect-ratio:255/173}.sunny-site .field-featured .cardbody{padding:9px 15px 10px}.field-featured .field-card-kicker{display:none}.sunny-site .field-featured .field-card h3{font-size:18px;line-height:1.35;margin:0 0 3px}.sunny-site .field-featured .field-card p{font-size:12px;line-height:1.5;min-height:0;margin:3px 0}.sunny-site .field-featured .field-card .eventdate{font-size:10px;min-height:0;margin:0 0 3px}.sunny-site .field-featured .field-card .price{padding-top:4px;margin-top:auto}.sunny-site .field-featured .field-card .price strong{font-size:22px;line-height:1.25}.field-featured .price small,.field-featured .arrow{display:none!important}.field-browse{justify-content:flex-end;padding-top:10px}.field-browse>span{display:none}.field-browse .pill{font-size:14px;padding:9px 20px}.field-secondary{max-width:806px;margin:65px auto 25px}.field-secondary .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field-restored,.field-more{max-width:846px}.home-float-nav{left:4px;bottom:0;gap:6px}.home-float-nav button{min-width:65px;width:65px;padding:6px 3px;gap:3px;font-size:10px;border-radius:7px 7px 0 0}.home-float-nav svg{width:29px;height:29px}.home-float-nav b{display:none}.float-book{background:#ce6455}.float-venue{background:#b89751}.float-access{background:#67acd4}.float-parking{background:#4c5f6d}.float-team{background:#999c94}.walker-rabbit{left:50%;top:39%;width:7%;height:17.4%;--walk-x:150%;--walk-y:-38%}.walker-cat{left:64%;top:35%;width:6%;height:13.5%;--walk-x:170%;--walk-y:-38%}
@media(max-width:1050px) and (min-width:761px){.field-hero{height:calc(100vw * .484)}.field-island{left:9.5%;top:7.9%;width:81%}.field-hero-copy{padding:40px 0 0 17.15%;max-width:49%}.field-hero-copy h1{font-size:32px}.field-featured{max-width:72%}.sunny-site .field-featured .field-card h3{font-size:16px}.sunny-site .field-featured .cardbody{padding:9px 12px}.cloud-one{top:8%}.cloud-two{top:18%}.cloud-three{top:75%}}
@media(max-width:760px){.sunny-site header{height:auto;min-height:85px;padding:16px;align-items:center;gap:8px}.sunny-site .logo{font-size:20px}.sunny-site .logo .mark{width:35px;height:35px}.sunny-site header .nav{max-width:130px;flex-wrap:wrap}.sunny-site[data-view=home] header .nav #language{display:block}.field-hero{height:540px;margin:0}.field-hero-copy{padding:25px 24px 0;max-width:100%}.field-hero-copy h1{font-size:34px;margin:15px 0}.field-hero-copy p{font-size:14px}.field-island{left:-7%;top:225px;width:114%;aspect-ratio:3/2}.cloud-one{top:180px;left:62%;width:90px}.cloud-two{top:260px;right:1%;width:90px}.cloud-three{top:410px;left:0;width:95px}.field-featured{max-width:none;padding:0 18px;margin:0 auto}.field-featured .grid{grid-template-columns:1fr;gap:20px}.sunny-site .field-featured .field-card-picture{aspect-ratio:255/173}.sunny-site .field-featured .cardbody{padding:14px 18px}.sunny-site .field-featured .field-card h3{font-size:21px}.sunny-site .field-featured .field-card p{font-size:14px}.sunny-site .field-featured .field-card .eventdate{font-size:12px}.field-browse{padding-top:16px}.field-secondary{padding:0 18px;margin:30px auto}.field-secondary .grid{grid-template-columns:1fr}.home-float-nav{left:6px;right:6px;bottom:calc(70px + env(safe-area-inset-bottom));gap:4px}.home-float-nav button{width:auto;min-width:0;flex:1;font-size:10px;border-radius:7px;padding:7px 2px}.home-float-nav svg{width:25px;height:25px}}
.field-island{left:0;top:-72px;width:1119px;aspect-ratio:1119/750}.field-scene-background{object-fit:fill}.walker-rabbit{left:50.5%;top:48%;width:5.8%;height:15%;--walk-x:140%;--walk-y:-40%}.walker-cat{left:61.2%;top:45.7%;width:5.4%;height:10.7%;--walk-x:170%;--walk-y:-35%}.field-hero-copy{z-index:3}.cloud{z-index:2}.cloud-three{top:420px}.sunny-site .field-featured .cardbody{min-height:107px}.field-secondary{margin-top:65px}
@media(max-width:1050px) and (min-width:761px){.field-island{left:0;top:-72px;width:100%;aspect-ratio:1119/750}}
@media(max-width:760px){.field-island{left:-17%;top:160px;width:134%;aspect-ratio:1119/750}.field-hero-copy{padding-top:25px}.field-hero{height:550px}.sunny-site .field-featured .cardbody{min-height:125px}}
.sunny-site{background:#f9d939}.field-hero-copy{padding-top:42px}.field-hero-copy h1{margin-top:14px}.cloud-three{display:none}.cloud-one,.cloud-two{display:none}.field-walker{animation:none}.walker-rabbit,.walker-cat{--walk-x:0%;--walk-y:0%;animation-delay:0s}.walker-facing{animation:none}.walker-cat .walker-facing{animation:none}.walker-sprite{animation:reference-step 3s ease-in-out infinite}.walker-cat .walker-sprite{animation:reference-step 4s ease-in-out infinite alternate}.field-scene-background{animation:field-island-breathe 12s ease-in-out infinite alternate}
@keyframes reference-step{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(max-width:760px){.field-hero-copy{padding-top:25px}.field-island{top:155px}}
body.sunny-site{background:#f9d939;color:#171a13}.field-featured{transform:translateX(7px)}.sunny-site .field-featured .cardbody{padding:8px 15px 7px;min-height:107px}.sunny-site .field-featured .field-card h3{line-height:23px;margin:0}.sunny-site .field-featured .field-card p{font-size:11px;line-height:15px;margin:0}.sunny-site .field-featured .field-card .eventdate{font-size:9px;line-height:12px;margin:0}.sunny-site .field-featured .field-card .price{padding:0;line-height:26px}.sunny-site .field-featured .field-card .price strong{line-height:26px}.cloud-one,.cloud-two{display:block;animation-name:reference-cloud;animation-duration:12s;animation-delay:0s}.cloud-one{top:51px;left:52%;width:119px}.cloud-two{top:91px;right:12%;width:126px}.cloud-three{display:none}@keyframes reference-cloud{from{transform:translateX(-20px)}to{transform:translateX(20px)}}
@media(max-width:760px){.field-featured{transform:none}.sunny-site .field-featured .cardbody{padding:14px 18px;min-height:125px}.sunny-site .field-featured .field-card h3{line-height:1.35}.sunny-site .field-featured .field-card p{font-size:14px;line-height:1.5}.sunny-site .field-featured .field-card .eventdate{font-size:12px;line-height:1.5}.cloud-one{top:228px;left:52%;width:80px}.cloud-two{top:258px;right:6%;width:80px}}
@media(max-width:760px){.field-hero{height:455px}.field-scene-background{clip-path:inset(0 0 18% 0)}.cloud-one{top:175px;left:55%;width:80px;height:18px}.cloud-two{top:205px;right:1%;width:80px;height:18px}.cloud:before{width:38px;height:26px;left:25px}.cloud:after{width:26px;height:18px;left:10px}}
.field-walker{animation:field-stroll var(--walk-time) linear infinite}.walker-rabbit{--walk-x:140%;--walk-y:-40%;animation-delay:0s}.walker-cat{--walk-x:170%;--walk-y:-35%;animation-delay:-8s}.walker-facing{animation:field-turn var(--walk-time) steps(1,end) infinite}.walker-cat .walker-facing{animation:field-turn var(--walk-time) steps(1,end) infinite;animation-delay:-8s}.walker-sprite{animation:field-walking-step .75s ease-in-out infinite}.walker-cat .walker-sprite{animation:field-walking-step .85s ease-in-out infinite}
/* Full visitor guides with editable sections, anchors and practical arrival information. */
.sunny-site .visitor-page{max-width:1119px;padding-top:22px;padding-bottom:65px}.visitor-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;margin:35px 0 28px}.visitor-hero h1{font-size:52px;line-height:1.2;margin:18px 0}.visitor-hero p{line-height:1.85;font-size:16px;margin:14px 0}.visitor-hero .visitor-lead{font-size:22px;line-height:1.6;font-weight:600;max-width:440px}.visitor-art{border:2px solid #566143;border-radius:80px 24px 70px 24px;overflow:hidden;box-shadow:9px 10px 0 #a38b3420;background:#e8edbe;transform:rotate(1deg)}.visitor-art svg{display:block;width:100%;height:auto}.visitor-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.visitor-actions .solid,.visitor-actions .pill{font-size:15px;padding:12px 19px}.visitor-facts{display:grid;grid-template-columns:1fr 1.2fr 1fr;background:#fff9d9;border:1px solid #9b9b54;border-radius:18px;overflow:hidden;margin:35px 0 48px}.visitor-facts section{padding:24px 25px;border-right:1px solid #d8d0a0}.visitor-facts section:last-child{border:0}.visitor-facts span{font-size:12px;display:block;color:#677143;margin-bottom:10px}.visitor-facts strong{font-size:17px;line-height:1.7;display:block;overflow-wrap:anywhere}.visitor-content{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:start}.visitor-toc{position:sticky;top:25px;display:grid;gap:10px;padding:20px 0}.visitor-toc a{font-size:13px;line-height:1.65;padding:9px 0;border-bottom:1px solid #9c954b55}.visitor-toc a:hover{color:#267345}.visitor-toc .eyebrow{margin-bottom:10px}.visitor-section{display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px;background:#fffbed;border:1px solid #b5b68a;border-radius:22px;padding:28px 30px;margin-bottom:22px;scroll-margin-top:24px}.visitor-section:nth-child(2n){background:#eef3d5}.visitor-number{font:600 18px Arial,sans-serif;color:#667e45;padding-top:8px}.visitor-section h2{font-size:26px;line-height:1.4;margin:0 0 18px;letter-spacing:-.4px}.visitor-section p,.visitor-section li{font-size:16px;line-height:1.95;color:#43533c}.visitor-section p{margin:12px 0}.visitor-section ul{padding-left:22px;margin:0}.visitor-section li{padding:5px 0 5px 5px}.visitor-section li::marker{color:#8fa360}.visitor-faq{border-top:1px solid #c8cdb4;padding:15px 0}.visitor-faq:first-of-type{border-top:0}.visitor-faq summary{cursor:pointer;line-height:1.65;font-weight:600;font-size:16px;list-style:none;padding-right:30px;position:relative}.visitor-faq summary:after{content:'+';position:absolute;right:3px;font-size:24px;color:#73834f}.visitor-faq[open] summary:after{content:'−'}.visitor-faq p{font-size:15px;background:#e7eed1;padding:15px 18px;border-radius:12px;margin:14px 0 0}.visitor-related{margin:45px 0}.visitor-related .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.visitor-team .visitor-related .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-end{padding:35px 40px;border:1px solid #adb773;border-radius:24px;background:#dcebaf;margin-top:40px}.visitor-end h2{font-size:30px;margin:14px 0}.visitor-end p{line-height:1.8;font-size:16px;margin:14px 0 25px}.visitor-end .info-links{margin-bottom:0;gap:10px}.visitor-end .info-links button{min-width:105px;font-size:12px;padding:11px 15px}.visitor-end .info-links svg{width:30px;height:30px}.visitor-end .info-links b{display:none}.visitor-parking .visitor-art{border-radius:30px 80px 24px 80px}.visitor-team .visitor-art{background:#e6eaba}
@media(max-width:900px){.visitor-content{grid-template-columns:160px minmax(0,1fr);gap:22px}.visitor-hero{gap:28px}.visitor-hero h1{font-size:44px}.visitor-section{padding:24px 22px;gap:10px;grid-template-columns:32px minmax(0,1fr)}}
@media(max-width:760px){.sunny-site .visitor-page{padding-top:15px}.visitor-hero{grid-template-columns:1fr;gap:24px;margin:28px 0}.visitor-hero h1{font-size:38px;margin:14px 0}.visitor-hero .visitor-lead{font-size:20px}.visitor-hero p{font-size:15px}.visitor-art{max-width:500px;border-radius:45px 20px;box-shadow:5px 6px 0 #a38b3420}.visitor-facts{grid-template-columns:1fr;margin:28px 0}.visitor-facts section{border-right:0;border-bottom:1px solid #d8d0a0;padding:18px 22px}.visitor-facts span{margin-bottom:5px}.visitor-facts strong{font-size:16px}.visitor-content{display:block}.visitor-toc{position:static;display:flex;overflow-x:auto;white-space:nowrap;gap:12px;margin-bottom:22px;padding:0 0 12px;scrollbar-width:thin}.visitor-toc .eyebrow{display:none}.visitor-toc a{border:1px solid #a4ab68;border-radius:30px;padding:9px 14px;background:#fff4ba;flex:none}.visitor-section{padding:23px 18px;gap:9px;grid-template-columns:27px minmax(0,1fr);border-radius:18px;margin-bottom:18px}.visitor-number{font-size:14px;padding-top:6px}.visitor-section h2{font-size:22px;margin-bottom:14px}.visitor-section p,.visitor-section li{font-size:15px;line-height:1.9}.visitor-faq summary{font-size:15px}.visitor-faq p{font-size:14px;padding:13px}.visitor-related .grid,.visitor-team .visitor-related .grid{grid-template-columns:1fr}.visitor-end{padding:26px 22px;margin-top:26px}.visitor-end h2{font-size:25px}.visitor-end p{font-size:15px}.visitor-end .info-links button{min-width:85px;flex:1;padding:10px 7px}}
/* Character-free plate and independent SVG actors prevent moving cutout ghosts. */
.field-island{left:9.5%;top:44px;width:81%;aspect-ratio:3/2}
.field-scene-background.living-island{width:100%;height:100%;object-fit:contain;animation:none;clip-path:none;overflow:visible}
.walker-rabbit{left:41%;top:46%;width:6.3%;height:16%;--walk-x:210%;--walk-y:-44%}
.walker-cat{left:58%;top:36%;width:5.2%;height:13.3%;--walk-x:150%;--walk-y:-33%}
.wood-mascot{--hop-time:8s;--blink-time:5.3s;--actor-delay:-1s}
.mascot-2{--hop-time:10s;--blink-time:6.1s;--actor-delay:-4s}
.mascot-3{--hop-time:7s;--blink-time:4.7s;--actor-delay:-2s}
.mascot-4{--hop-time:9s;--blink-time:5.8s;--actor-delay:-6s}
.mascot-hop{transform-box:fill-box;transform-origin:center bottom;animation:wood-hop var(--hop-time) ease-in-out infinite;animation-delay:var(--actor-delay)}
.mascot-shadow{transform-box:fill-box;transform-origin:center;animation:wood-shadow var(--hop-time) ease-in-out infinite;animation-delay:var(--actor-delay)}
.mascot-blink{transform-box:fill-box;transform-origin:center;animation:wood-blink var(--blink-time) linear infinite;animation-delay:var(--actor-delay)}
.mascot-glance{animation:wood-glance 11s ease-in-out infinite;animation-delay:var(--actor-delay)}
.mascot-smile{transform-box:fill-box;transform-origin:center;animation:wood-smile 7s ease-in-out infinite;animation-delay:var(--actor-delay)}
.waterfall-stream{animation:waterfall-flow 2.8s linear infinite}
.river-ripples{animation:river-ripple 3.5s ease-in-out infinite}
@keyframes wood-hop{0%,65%,85%,100%{transform:translateY(0) rotate(0) scale(1)}68%{transform:translateY(2px) scale(1.04,.96)}74%{transform:translateY(-13px) rotate(-2deg) scale(.98,1.02)}80%{transform:translateY(1px) rotate(1deg) scale(1.04,.96)}}
@keyframes wood-shadow{0%,65%,85%,100%{transform:scaleX(1);opacity:.3}74%{transform:scaleX(.75);opacity:.18}}
@keyframes wood-blink{0%,41%,45%,87%,91%,100%{transform:scaleY(1)}43%,89%{transform:scaleY(.08)}}
@keyframes wood-glance{0%,18%,46%,100%{transform:translate(0,0)}23%,29%{transform:translate(2px,-1px)}34%,40%{transform:translate(-2px,0)}}
@keyframes wood-smile{0%,45%,70%,100%{transform:scale(1)}55%,62%{transform:scale(1.12,1.08)}}
@keyframes waterfall-flow{to{stroke-dashoffset:-320}}
@keyframes river-ripple{0%,100%{opacity:.25;transform:translateX(-3px)}50%{opacity:.8;transform:translateX(4px)}}
@media(max-width:1050px) and (min-width:761px){.field-island{left:9.5%;top:44px;width:81%;aspect-ratio:3/2}}
@media(max-width:760px){.field-island{left:-7%;top:225px;width:114%;aspect-ratio:3/2}.field-hero{height:520px}}
@media(prefers-reduced-motion:reduce){.living-island *,.field-walker,.walker-facing,.walker-sprite{animation:none!important}}

/* Bilingual brand lockup: Chinese above English. */
.sunny-site .logo .brand-name{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1}
.sunny-site .logo .brand-name strong{font-size:19px;font-weight:800;letter-spacing:2px;white-space:nowrap}
.sunny-site .logo .brand-name small{font-size:9px;font-weight:700;letter-spacing:1.45px;margin-top:6px;white-space:nowrap}
@media(max-width:760px){.sunny-site .logo .brand-name strong{font-size:17px;letter-spacing:1px}.sunny-site .logo .brand-name small{font-size:8px;letter-spacing:1px;margin-top:5px}}

/* Unified roomy cards, matching the reference proportions. */
@media(min-width:761px){.sunny-site .sunny-home{max-width:1400px}.sunny-site header{max-width:1400px;padding-left:60px;padding-right:60px}.sunny-site main.container{max-width:1450px}.field-featured{max-width:1280px;width:calc(100% - 48px);padding:0;transform:none}.field-featured .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}.sunny-site .field-featured .field-card{display:flex;flex-direction:column;border-radius:17px}.sunny-site .field-featured .field-card-picture{aspect-ratio:7/5;flex:none}.sunny-site .field-featured .cardbody{display:flex;flex-direction:column;flex:1;padding:18px 21px 19px;min-height:216px}.field-featured .field-card-kicker{display:block;font-size:12px;line-height:1.5}.sunny-site .field-featured .field-card h3{font-size:22px;line-height:1.4;margin:7px 0}.sunny-site .field-featured .field-card p{font-size:14px;line-height:1.65;min-height:46px;margin:7px 0 0}.sunny-site .field-featured .field-card .eventdate{font-size:13px;line-height:1.5;margin:0 0 4px}.sunny-site .field-featured .field-card .price{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:16px;margin-top:auto;line-height:1.3}.sunny-site .field-featured .field-card .price strong{font-size:27px;line-height:1.3}.field-featured .price small{display:inline!important;font-size:13px;font-weight:400}.field-featured .arrow{display:grid!important;flex:none}}
@media(min-width:1051px){.field-island{left:calc(50% - 559.5px)}.field-hero-copy{padding-left:calc(50% - 367.5px);max-width:none}.field-hero-copy h1,.field-hero-copy p{max-width:330px}}
@media(min-width:901px) and (max-width:1199px){.field-featured .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:900px){.field-featured .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sunny-site header{padding-left:24px;padding-right:24px}}
@media(max-width:760px){.sunny-site .field-featured .cardbody{display:flex;flex-direction:column;min-height:216px;padding:18px 21px 19px}.field-featured .field-card-kicker{display:block}.sunny-site .field-featured .field-card h3{font-size:22px;line-height:1.4;margin:7px 0}.sunny-site .field-featured .field-card p{font-size:14px;line-height:1.65;margin:7px 0 0;min-height:46px}.sunny-site .field-featured .field-card .price{margin-top:auto;padding-top:16px}.field-featured .price small{display:inline!important}.field-featured .arrow{display:grid!important}}

/* Reference map and original pixel sprites; original animation timing stays intact. */
.reference-character{display:block;width:100%;height:100%;overflow:visible}
.wood-mascot .reference-character{animation:none!important}
.walker-rabbit{left:43%;top:42%;width:6.1%;height:17.4%;--walk-x:150%;--walk-y:-42%}
.walker-cat{left:59%;top:35%;width:5.7%;height:11.4%;--walk-x:150%;--walk-y:-33%}
.motion-paused .reference-island *,.motion-paused .reference-character{animation-play-state:paused!important}

/* Keep the complete waterfall above the experience cards. */
.sunny-home{container-type:inline-size}
.field-hero{height:calc(40cqw + 44px)}
.field-featured{margin-top:0}
.animal-sprite{overflow:hidden!important}
.walker-rabbit{width:7%;height:17.4%}
.walker-cat{top:29%;width:6.5%;height:17.4%}
@media(max-width:760px){.field-hero{height:calc(56cqw + 225px)}}

/* Four drifting clouds, including two behind the island. */
.field-island{z-index:1}
.cloud-three,.cloud-four{display:block;z-index:0;top:calc(29cqw + 44px);height:23px;animation:reference-cloud 20s ease-in-out infinite alternate}
.cloud-three{left:5%;width:151px;animation-delay:-7s}
.cloud-four{right:9%;width:151px;top:calc(31cqw + 44px);animation-duration:25s;animation-delay:-14s}
@media(max-width:760px){.cloud-three,.cloud-four{top:calc(40cqw + 225px);width:95px;height:18px}.cloud-three{left:0}.cloud-four{right:0;top:calc(43cqw + 225px)}}

.sunny-site .visitor-wide{max-width:1400px;padding-left:24px;padding-right:24px}
.visitor-banner{width:100%;margin:24px 0 36px;overflow:hidden;border-radius:20px;background:#e8edbe}.visitor-banner svg{display:block;width:100%;height:auto}
.visitor-introduction{max-width:960px;margin:36px auto 44px}.visitor-introduction h1{font-size:48px;line-height:1.25;margin:16px 0 22px}.visitor-introduction .visitor-lead{font-size:23px;font-weight:600;line-height:1.6}.visitor-introduction p{font-size:17px;line-height:1.9}.visitor-wide-text{max-width:960px;margin:0 auto 70px}
.visitor-map{margin-top:24px;overflow:hidden;border-radius:20px;background:#fffbed;border:1px solid #b5b68a}.visitor-map-frame{position:relative;height:460px;background:#e9efe7}.visitor-map-frame iframe{width:100%;height:100%;border:0;display:block;pointer-events:none}.visitor-map-hit{position:absolute;inset:0;z-index:2}.visitor-map-hit:focus-visible{outline:4px solid #2e814a;outline-offset:-4px}.visitor-map-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px}.visitor-map-caption strong{font-size:20px}.visitor-map-caption p{margin:8px 0 0;color:#526144}.visitor-map-caption .solid{white-space:nowrap;display:inline-block}
@media(max-width:760px){.sunny-site .visitor-wide{padding-left:16px;padding-right:16px}.visitor-banner{margin:20px 0 28px;border-radius:14px}.visitor-introduction h1{font-size:34px}.visitor-introduction .visitor-lead{font-size:20px}.visitor-map-frame{height:340px}.visitor-map-caption{padding:20px;align-items:flex-start;flex-direction:column}.visitor-map-caption strong{font-size:18px}.visitor-wide .visitor-section{padding:22px 18px;grid-template-columns:28px minmax(0,1fr);gap:10px}}

/* Align detail visuals and text to one shared column. */
.sunny-site .visitor-wide{max-width:1008px}
.visitor-wide .visitor-banner,.visitor-wide .visitor-map{max-width:960px;margin-left:auto;margin-right:auto}

/* Layered paper cards with a clean front face. */
.sunny-site .field-card{overflow:visible;background:#fffef9;box-shadow:0 8px 16px #65551e26;isolation:isolate}
.sunny-site .field-card::before,.sunny-site .field-card::after{content:'';position:absolute;pointer-events:none;border-radius:inherit;background:#fff6cf;z-index:-1;box-shadow:0 3px 7px #705c1920}
.sunny-site .field-card::before{inset:-5px 4px 5px -4px;transform:rotate(-1.3deg)}
.sunny-site .field-card::after{inset:5px -6px -7px 4px;transform:rotate(1deg);background:#fff9df;z-index:-2}
.sunny-site .field-card .field-card-picture{position:relative;z-index:1;border-radius:17px 17px 0 0;background:#fffef9}
.sunny-site .field-card .cardbody{position:relative;z-index:1;background:#fffef9;border-radius:0 0 17px 17px}
.sunny-site .field-card:hover{box-shadow:0 13px 23px #65551e30}
.field-scene-background.reference-island{filter:drop-shadow(0 9px 7px #69552335)}
/* Fixed right-side visitor menu, with space reserved in the card grid. */
.home-float-nav{left:auto;right:8px;bottom:calc(74px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px}
.home-float-nav button{width:60px;min-width:60px;min-height:60px;padding:7px 3px;flex:none;border-radius:9px;font-size:10px;box-shadow:0 3px 6px #6b54252b}
.home-float-nav svg{width:27px;height:27px}
.sunny-site .field-featured{width:calc(100% - 160px);max-width:1280px}
@media(max-width:760px){.home-float-nav{left:auto;right:5px;bottom:calc(64px + env(safe-area-inset-bottom));gap:5px}.home-float-nav button{width:49px;min-width:49px;min-height:54px;padding:6px 2px;font-size:9px}.home-float-nav svg{width:24px;height:24px}.sunny-site .field-featured{width:100%;padding-left:18px;padding-right:74px}.sunny-site .field-card::before{transform:rotate(-.8deg)}.sunny-site .field-card::after{inset:4px -4px -6px 3px;transform:rotate(.7deg)}}

/* Eighty pixels more waterfall, with distinct paper angles and contact shadows. */
.sunny-site .field-featured{margin-top:80px}
.sunny-site .field-card{background:transparent;--paper-front-angle:-1.2deg;--paper-back-angle:1deg}
.field-card-front{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;width:100%;height:100%;border-radius:inherit;overflow:hidden;background:#fffef9;box-shadow:0 3px 8px #64502a4d,0 1px 2px #64502a33}
.sunny-site .field-card::before{transform:rotate(var(--paper-front-angle));background:#fff8dc;box-shadow:0 2px 5px #64502a38}
.sunny-site .field-card::after{transform:rotate(var(--paper-back-angle));background:#fff6d2;box-shadow:0 6px 10px #64502a38}
.sunny-site .field-card:nth-child(7n+1){--paper-front-angle:1.1deg;--paper-back-angle:-1.6deg}
.sunny-site .field-card:nth-child(7n+2){--paper-front-angle:-.6deg;--paper-back-angle:.7deg}
.sunny-site .field-card:nth-child(7n+3){--paper-front-angle:-1.3deg;--paper-back-angle:1.5deg}
.sunny-site .field-card:nth-child(7n+4){--paper-front-angle:1.4deg;--paper-back-angle:-.9deg}
.sunny-site .field-card:nth-child(7n+5){--paper-front-angle:-1deg;--paper-back-angle:1.8deg}
.sunny-site .field-card:nth-child(7n+6){--paper-front-angle:.8deg;--paper-back-angle:-1.2deg}
.sunny-site .field-card:nth-child(7n+7){--paper-front-angle:-1.7deg;--paper-back-angle:.5deg}

/* Keep one backing sheet per card. */
.sunny-site .field-card::after{content:none;display:none}

.mobile-dock{display:none}
@media(max-width:760px){
.sunny-site .home-float-nav,.sunny-site .bottomnav{display:none!important}
.sunny-site .field-featured{width:100%;max-width:none;padding-left:20px;padding-right:20px}
.sunny-site .mobile-dock{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff9e9f5;border-top:1px solid #b49b5650;box-shadow:0 -4px 18px #6b542525;backdrop-filter:blur(12px)}
.mobile-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:51px;min-width:0;border:1px solid #594f3840;border-radius:8px;background:#4c5f6d;color:#fff;font-size:11px;line-height:1.2;padding:4px 2px;box-shadow:0 2px 3px #594f3826}
.mobile-dock svg{width:23px;height:23px;flex:none}.mobile-dock span{white-space:nowrap}
.mobile-dock .dock-home,.mobile-dock .dock-venue{background:#b89751}.mobile-dock .dock-book{background:#ce6455}.mobile-dock .dock-access{background:#67acd4}.mobile-dock .dock-team{background:#858d7e}
.mobile-dock .active{outline:2px solid #fff;outline-offset:-4px;box-shadow:0 0 0 1px #48623d,0 2px 3px #594f3826}
body.sunny-site{padding-bottom:calc(132px + env(safe-area-inset-bottom))}.sunny-site[data-view=home] footer{padding-bottom:24px}.sunny-site .experience-mobile-cta{bottom:calc(132px + env(safe-area-inset-bottom))}
}

/* Shared page edges from header through content and footer. */
.sunny-site header,.sunny-site footer,.sunny-site main.container{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.sunny-site .visitor-wide{max-width:1400px}
.visitor-wide .visitor-banner,.visitor-wide .visitor-map,.visitor-introduction,.visitor-wide-text,.registration-heading,.registration-card{width:100%;max-width:none;margin-left:auto;margin-right:auto}
.visitor-content{display:block}.visitor-toc{position:static;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.visitor-toc .eyebrow{display:none}
.home-float-nav a,.info-links a{display:grid;justify-items:center;align-content:center;position:relative;border:1px solid #594f38;border-radius:9px;color:white;font-weight:700;gap:5px;box-shadow:0 3px 6px #6b54252b;transition:transform .2s}
.home-float-nav a{width:60px;min-height:60px;padding:7px 3px;font-size:10px}.home-float-nav a:hover,.info-links a:hover{transform:translateY(-5px)}
.info-links a{min-width:105px;padding:11px 15px;font-size:12px}
.mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:51px;min-width:0;border:1px solid #594f3840;border-radius:8px;background:#4c5f6d;color:#fff;font-size:11px;line-height:1.2;padding:4px 2px;box-shadow:0 2px 3px #594f3826}
@media(max-width:760px){.sunny-site header,.sunny-site footer,.sunny-site main.container{padding-left:20px;padding-right:20px}.info-links a{flex:1;min-width:85px;padding:10px 7px}.mobile-dock .dock-book{background:#ce6455}.mobile-dock .dock-venue{background:#b89751}.mobile-dock .dock-access{background:#67acd4}.mobile-dock .dock-team{background:#858d7e}}

.field-hero{height:calc(54cqw + 44px)}.sunny-site .field-featured{margin-top:36px}.home-experience-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.home-experience-heading .eyebrow{font-size:11px;letter-spacing:2.5px}.home-experience-heading h2{font-size:36px;line-height:1.3;margin:10px 0 0;color:#171a13}.home-experience-heading p{margin:0 0 4px;color:#647243;font-size:16px}.home-experience-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.home-experience-tabs button{border:1px solid #c1c88b50;border-radius:17px;background:#eef2db;padding:14px 23px;font-weight:600;font-size:16px;min-height:50px}.home-experience-tabs button[data-home-filter=event]{background:#ffe7a0}.home-experience-tabs button[aria-pressed=true]{background:#2e814a;color:#fff;border-color:#2e814a}.sunny-site .field-card[hidden]{display:none!important}.splash-foam{transform-origin:0 18px;animation:splash-foam 2.2s ease-in-out infinite}.splash-drops{animation:splash-drops 1.7s ease-out infinite}.splash-ring{transform-origin:0 26px;animation:splash-ring 2.6s ease-out infinite}@keyframes splash-foam{50%{transform:scale(1.04,.93) translateY(2px)}}@keyframes splash-drops{0%{transform:translateY(10px);opacity:0}30%{opacity:1}75%{transform:translateY(-10px);opacity:.8}100%{transform:translateY(-3px);opacity:0}}@keyframes splash-ring{from{transform:scale(.75);opacity:.8}to{transform:scale(1.2);opacity:0}}.motion-paused .waterfall-splash *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.waterfall-splash *{animation:none!important}}@media(max-width:760px){.field-hero{height:calc(76cqw + 245px)}.sunny-site .field-featured{margin-top:24px}.home-experience-heading{display:block;margin-bottom:18px}.home-experience-heading h2{font-size:28px}.home-experience-heading p{font-size:14px;margin-top:12px}.home-experience-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.home-experience-tabs{gap:8px;margin-bottom:25px}.home-experience-tabs button{font-size:12px;padding:11px 12px;min-height:44px;border-radius:13px}}

/* Homepage proportions measured from the approved 1190px reference. */
@media(min-width:761px){
.sunny-site[data-view=home] header{height:8.4cqw;min-height:90px;max-height:118px;padding-left:6.05%;padding-right:4.4%;max-width:1400px}
.sunny-site .sunny-home{max-width:1400px;overflow:visible}
.field-hero{height:55.7cqw}
.field-island{left:8.6%;top:4.96cqw;width:84.3%;aspect-ratio:3/2}
.field-hero-copy{padding:4.2cqw 0 0 6.05%;max-width:none}
.field-hero-copy h1{font-size:clamp(32px,3.36cqw,47px);line-height:1.23;letter-spacing:-1px;max-width:370px;margin:18px 0 20px;font-weight:800}
.field-hero-copy .eyebrow{font-size:clamp(10px,1.01cqw,14px);letter-spacing:0}
.field-hero-copy p{font-size:clamp(12px,1.18cqw,16px);line-height:1.75;max-width:365px;margin-bottom:14px}
.field-hero-copy .solid{font-size:clamp(12px,1.18cqw,16px);padding:12px 24px;min-height:46px}
.cloud-one{top:4.6cqw;left:50%;width:9.4cqw;height:2cqw}
.cloud-two{top:7.5cqw;right:10.3%;width:9.4cqw;height:2cqw}
.cloud-three{top:40cqw;left:4%;width:12cqw;height:2cqw}
.cloud-four{top:46.6cqw;right:9%;width:12cqw;height:2cqw}
.sunny-site .field-featured{width:92%;max-width:1288px;margin-top:0;padding:0;transform:none}
.home-experience-heading{position:relative;min-height:7.55cqw;margin-bottom:1.18cqw;display:block}
.home-experience-heading .eyebrow{font-size:clamp(10px,1.01cqw,14px);letter-spacing:2.5px}
.home-experience-heading h2{font-size:clamp(32px,3.7cqw,52px);line-height:1.2;margin:12px 0 0;letter-spacing:-1px;font-weight:800}
.home-experience-heading p{position:absolute;right:0;top:6.1cqw;margin:0;font-size:clamp(14px,1.43cqw,20px);line-height:1.5;color:#68713b}
.home-experience-tabs{gap:10px;margin-bottom:2.35cqw}
.home-experience-tabs button{font-size:clamp(14px,1.43cqw,20px);padding:14px 31px;min-height:4.62cqw;border-radius:16px;background:#eff1d9;font-weight:600}
.home-experience-tabs button[data-home-filter=event]{background:#ffe59b}
.home-experience-tabs button[aria-pressed=true]{background:#2d8653;color:#fff}
.field-featured .grid{gap:18px}
.sunny-site .field-featured .field-card-picture{aspect-ratio:1.65}
.sunny-site .field-featured .cardbody{padding:16px 22px 14px;min-height:183px}
.sunny-site .field-featured .field-card h3{font-size:20px;line-height:1.35;margin:7px 0}
.sunny-site .field-featured .field-card p{font-size:13px;line-height:1.6;min-height:42px}
.sunny-site .field-featured .field-card .price strong{font-size:25px}
.home-float-nav{right:14px;top:clamp(150px,25.6vw,360px);bottom:auto;gap:7px}
.home-float-nav a{width:66px;min-height:65px;padding:8px 3px;font-size:12px;border-radius:9px}
.home-float-nav svg{width:29px;height:29px}
.home-float-nav .float-team{background:#8b993a}
}
.sunny-site[data-view=home]{background:#f9de32}
.waterfall-splash .splash-foam{filter:none}
@media(max-width:760px){.field-hero-copy h1{font-weight:800}.home-experience-heading h2{font-weight:800}}

.sunny-site[data-view=home]{background:#fadc2e}
@media(min-width:761px){.field-hero-copy{padding-top:2.9cqw}.field-hero{height:54.4cqw}.home-float-nav a{height:65px;min-height:65px;font-size:11px;gap:4px}.home-float-nav a span{white-space:nowrap;letter-spacing:-.3px}.home-float-nav .float-book{font-size:10px}}

/* Unified typography and page-anchored desktop navigation. */
body.sunny-site{position:relative;font-family:Arial,"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;font-weight:500;-webkit-font-smoothing:antialiased}
.sunny-site button,.sunny-site input,.sunny-site select,.sunny-site textarea{font-family:inherit}
.sunny-site h1,.sunny-site h2,.sunny-site h3,.sunny-site strong{font-weight:800}
.sunny-site .logo{font-family:inherit;gap:12px}
.sunny-site .logo .mark{width:44px;height:44px;flex:none}
.sunny-site .logo .brand-mascot{width:100%;height:100%;object-fit:contain}
.sunny-site .logo .brand-name strong{font-size:26px;font-weight:800;letter-spacing:1.8px;line-height:1.1}
.sunny-site .logo .brand-name small{font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:2.2px;margin-top:6px;line-height:1.1}
.sunny-site header .nav button,.sunny-site header .nav select{font-size:16px;font-weight:700;letter-spacing:0;padding:8px 10px}
.sunny-site header .nav{gap:7px}
.sunny-site .eyebrow{font-family:Arial,sans-serif;font-weight:600}
.field-hero-copy .eyebrow{letter-spacing:.35px;font-weight:500}
.home-experience-heading .eyebrow{font-size:12px;letter-spacing:2.6px;font-weight:600}
.field-hero-copy p{font-weight:500}
.home-experience-tabs button{font-weight:700}
.sunny-site .field-card-kicker,.sunny-site .eventdate{font-weight:600}
.sunny-site .field-card p,.visitor-section p,.visitor-section li{font-weight:500}
@media(min-width:761px){
.home-float-nav{position:absolute;left:max(8px,calc((100% - 1400px)/2 + 8px));right:auto;top:clamp(300px,25.6vw,360px);bottom:auto;gap:8px}
.home-float-nav a{width:66px;height:68px;min-height:68px;font-size:12px;font-weight:700;gap:5px;padding:7px 2px}
.home-float-nav .float-book{font-size:11px}
.home-float-nav svg{width:30px;height:30px}
}
@media(min-width:761px) and (max-width:1050px){.sunny-site .logo .brand-name strong{font-size:23px}.sunny-site .logo .brand-name small{font-size:10px}.sunny-site header .nav button,.sunny-site header .nav select{font-size:14px;padding:7px}.sunny-site header .nav{gap:2px}}
@media(max-width:760px){
.sunny-site .logo .mark{width:39px;height:39px}
.sunny-site .logo .brand-name strong{font-size:21px;letter-spacing:1px}
.sunny-site .logo .brand-name small{font-size:9px;letter-spacing:1.6px}
.sunny-site .logo{gap:9px}
.home-experience-heading .eyebrow{font-size:10px;letter-spacing:1.6px}
.sunny-site header .nav select{font-size:14px}
}

.sunny-site h1,.sunny-site h2,.sunny-site h3,.sunny-site .brand-name strong{font-weight:900;-webkit-text-stroke:.28px currentColor}
.sunny-site header .nav button,.sunny-site header .nav select{font-weight:700;-webkit-text-stroke:.12px currentColor}

@media(min-width:761px){.home-float-nav{left:auto;right:max(14px,calc((100% - 1400px)/2 + 14px));position:absolute;}}

@font-face{font-family:SweetNoto;src:url("assets/sweet-noto-bold-v2.woff2") format("woff2");font-weight:500 700;font-display:swap}@font-face{font-family:SweetNoto;src:url("assets/sweet-noto-black-v2.woff2") format("woff2");font-weight:800 900;font-display:swap}
body.sunny-site{font-family:SweetNoto,Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-weight:700}
.sunny-site button,.sunny-site input,.sunny-site select,.sunny-site textarea{font-family:inherit}
.sunny-site h1,.sunny-site h2,.sunny-site h3,.sunny-site .brand-name strong,.sunny-site header .nav button,.sunny-site header .nav select{font-weight:900;-webkit-text-stroke:0}
.sunny-site .field-hero-copy p,.sunny-site .field-card p,.sunny-site .visitor-section p,.sunny-site .visitor-section li,.sunny-site .field-card-kicker,.sunny-site .eventdate,.sunny-site .home-experience-tabs button,.sunny-site .solid,.sunny-site .home-float-nav a{font-weight:700}
.sunny-site .eyebrow{font-family:Arial,sans-serif;font-weight:700}
.sunny-site .home-experience-heading p{font-weight:700}
@media(min-width:761px){.home-experience-heading p{top:9.7cqw;max-width:34%;text-align:right}.home-experience-heading{min-height:7.55cqw}}
@media(max-width:760px){.home-experience-heading p{position:static;max-width:none;text-align:left;margin-top:14px}}

.sunny-site .field-card-picture .experience-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.sunny-site .field-card-picture .photo-c4{object-position:50% 25%}

.sunny-site h1,.sunny-site h2{font-weight:900;-webkit-text-stroke:.7px currentColor}.sunny-site h3,.sunny-site .brand-name strong{font-weight:900;-webkit-text-stroke:.4px currentColor}.sunny-site header .nav button,.sunny-site header .nav select,.sunny-site .home-experience-tabs button,.sunny-site .solid,.sunny-site .home-float-nav a{font-weight:800;-webkit-text-stroke:.2px currentColor}.sunny-site .field-hero-copy p,.sunny-site .field-card p,.sunny-site .field-card-kicker,.sunny-site .eventdate,.sunny-site .home-experience-heading p{font-weight:700;-webkit-text-stroke:.12px currentColor}

/* Scarecrow hops forward and back along the rice field's perspective. */
.scarecrow-hop{transform-origin:0 0;animation:scarecrow-hop 3.6s ease-in-out infinite;will-change:transform}
.scarecrow-shadow{transform-origin:0 2px;animation:scarecrow-shadow 3.6s ease-in-out infinite}
@keyframes scarecrow-hop{
  0%,100%{transform:translate(0,0) scale(1)}
  8%{transform:translate(0,2px) scale(1.02,.96)}
  25%{transform:translate(-13px,-28px) scale(1.025) rotate(-2deg)}
  42%,50%{transform:translate(-26px,14px) scale(1.05)}
  58%{transform:translate(-26px,16px) scale(1.07,1.01)}
  75%{transform:translate(-13px,-32px) scale(1.025) rotate(2deg)}
  92%{transform:translate(0,2px) scale(1.02,.97)}
}
@keyframes scarecrow-shadow{
  0%,100%{transform:translate(0,0) scale(1);opacity:.25}
  25%,75%{transform:translate(-13px,7px) scale(.65);opacity:.13}
  42%,50%,58%{transform:translate(-26px,14px) scale(1.05);opacity:.27}
}
.motion-paused .field-scarecrow *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.field-scarecrow *{animation:none!important}}

/* Perspective fireworks behind the red roof. */
.distant-fireworks{pointer-events:none}.distant-firework-burst{transform-box:fill-box;transform-origin:center;animation:distant-firework 6.5s ease-out infinite}
@keyframes distant-firework{0%,14%{opacity:0;transform:scale(.06)}19%{opacity:1;transform:scale(.35)}35%{opacity:.95;transform:scale(.9)}57%{opacity:0;transform:translateY(14px) scale(1.08)}100%{opacity:0;transform:scale(1.08)}}
.motion-paused .distant-firework-burst{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.distant-firework-burst{animation:none;opacity:.65;transform:scale(.75)}}

.sunny-site .logo .mark{background:transparent;border:0;box-shadow:none}.sunny-site .logo .brand-mascot{object-fit:contain}

footer .site-legal{display:inline-block;margin-top:10px;font-size:12px;line-height:1.8}footer .site-legal a{text-decoration:underline;text-underline-offset:3px}

/* Keep sign-in and account creation aligned on desktop and mobile. */
.registration-card .login-form{display:grid;gap:20px}
.registration-card .login-form>label{display:grid;gap:8px}
.registration-card .login-form input{width:100%;min-width:0}
.registration-card .login-form .error:empty{display:none}
.registration-card .login-actions{display:flex;align-items:stretch;gap:12px}
.registration-card .login-actions button{margin:0;min-height:44px;min-width:0;flex:1;padding:12px 16px;line-height:1.4}
.registration-card .login-form+.muted{margin-top:20px;line-height:1.7}
@media(max-width:480px){.registration-card .login-actions{gap:10px}.registration-card .login-actions button{padding:12px 10px}}

/* Align the registration title and existing-account action. */
.registration-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.registration-card .registration-card-heading h2{margin:0;line-height:1.3}
.registration-card .registration-card-heading button{margin:0;min-height:44px;padding:10px 18px;flex-shrink:0;white-space:nowrap;line-height:1.4}
.registration-card>form>.notice{margin:0;line-height:1.7}
@media(max-width:480px){.registration-card-heading{gap:10px;margin-bottom:20px}.registration-card .registration-card-heading h2{font-size:22px}.registration-card .registration-card-heading button{font-size:12px;padding:10px 12px}}

/* A balanced venue introduction with readable information cards. */
.sunny-site main.visitor-venue.visitor-wide{max-width:1120px;width:calc(100% - 48px);margin:32px auto 64px;padding:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;align-items:center}
.visitor-venue.visitor-wide .visitor-banner{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:#e8edbe}
.visitor-venue.visitor-wide .visitor-banner svg{display:block;width:100%;height:100%}
.visitor-venue.visitor-wide .visitor-introduction{margin:0;padding:30px;background:#fffbed;border-radius:24px;min-width:0}
.visitor-venue.visitor-wide .visitor-introduction .eyebrow{display:block;font-size:11px;line-height:1.7;letter-spacing:2px}
.visitor-venue.visitor-wide .visitor-introduction h1{font-size:38px;line-height:1.25;margin:12px 0 18px;letter-spacing:0}
.visitor-venue.visitor-wide .visitor-introduction p{font-size:15px;line-height:1.85;margin:14px 0;max-width:none}
.visitor-venue.visitor-wide .visitor-introduction .visitor-lead{font-size:20px;font-weight:600;line-height:1.6;margin:0 0 18px}
.visitor-venue.visitor-wide .visitor-actions{margin:22px 0 0;gap:12px}
.visitor-venue.visitor-wide .visitor-actions button{margin:0;min-height:44px;background:#397447;color:#fff;border-color:#397447;padding:12px 20px}
.visitor-venue.visitor-wide .visitor-wide-text{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;padding:0;align-items:stretch}
.visitor-venue.visitor-wide .visitor-section{margin:0;padding:26px;grid-template-columns:30px minmax(0,1fr);gap:14px;border-radius:20px;min-width:0}
.visitor-venue.visitor-wide .visitor-section:last-child{grid-column:1/-1}
.visitor-venue.visitor-wide .visitor-section h2{font-size:23px;line-height:1.45;margin:0 0 14px}
.visitor-venue.visitor-wide .visitor-section p,.visitor-venue.visitor-wide .visitor-section li{font-size:15px;line-height:1.85}
.visitor-venue.visitor-wide .visitor-number{font-size:16px;padding-top:6px}
@media(max-width:800px){.sunny-site main.visitor-venue.visitor-wide{width:calc(100% - 32px);margin:24px auto 40px;grid-template-columns:minmax(0,1fr);gap:20px}.visitor-venue.visitor-wide .visitor-banner{aspect-ratio:16/9}.visitor-venue.visitor-wide .visitor-introduction{padding:24px}.visitor-venue.visitor-wide .visitor-wide-text{grid-template-columns:minmax(0,1fr);gap:16px}.visitor-venue.visitor-wide .visitor-introduction h1{font-size:32px}.visitor-venue.visitor-wide .visitor-introduction .visitor-lead{font-size:18px}.visitor-venue.visitor-wide .visitor-section{padding:22px 18px;gap:10px}.visitor-venue.visitor-wide .visitor-section h2{font-size:21px}}

/* Parking page: compact introduction and aligned visitor guidance. */
.sunny-site main.visitor-parking{max-width:1120px;width:calc(100% - 48px);margin:32px auto 64px;padding:0}
.visitor-parking .visitor-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin:0 0 24px;align-items:center}
.visitor-parking .visitor-hero>div:first-child{background:#fffbed;padding:30px;border-radius:24px;min-width:0}
.visitor-parking .visitor-hero .eyebrow{font-size:11px;line-height:1.7;letter-spacing:2px}
.visitor-parking .visitor-hero h1{font-size:38px;line-height:1.25;letter-spacing:0;margin:12px 0 18px}
.visitor-parking .visitor-hero p{font-size:15px;line-height:1.85;margin:14px 0;max-width:none}
.visitor-parking .visitor-hero .visitor-lead{font-size:20px;line-height:1.6;margin:0 0 18px}
.visitor-parking .visitor-art{transform:none;border-radius:24px;box-shadow:none;width:100%;max-width:none}
.visitor-parking .visitor-actions{margin:22px 0 0}
.visitor-parking .visitor-actions .pill{background:#397447;color:#fff;border-color:#397447;min-height:44px;padding:12px 20px;margin:0}
.visitor-parking .visitor-facts{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 24px;border-radius:20px}
.visitor-parking .visitor-facts section{padding:20px 24px}
.visitor-parking .visitor-facts span{font-size:12px;margin-bottom:8px}
.visitor-parking .visitor-facts strong{font-size:17px;line-height:1.6}
.visitor-parking .visitor-content{display:block}
.visitor-parking .visitor-toc{position:static;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 24px;white-space:normal;overflow:visible}
.visitor-parking .visitor-toc .eyebrow{display:none}
.visitor-parking .visitor-toc a{border:1px solid #a4ab68;border-radius:24px;padding:9px 14px;background:#fff9d9;font-size:13px;line-height:1.5;flex:none}
.visitor-parking .visitor-content>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.visitor-parking .visitor-section{margin:0;padding:26px;grid-template-columns:30px minmax(0,1fr);gap:14px;border-radius:20px;min-width:0}
.visitor-parking .visitor-section:last-child{grid-column:1/-1}
.visitor-parking .visitor-section h2{font-size:23px;line-height:1.45;margin:0 0 14px}
.visitor-parking .visitor-section p,.visitor-parking .visitor-section li{font-size:15px;line-height:1.85}
.visitor-parking .visitor-number{font-size:16px;padding-top:6px}
.visitor-parking .visitor-end{padding:28px;margin-top:24px;border-radius:20px}
.visitor-parking .visitor-end h2{font-size:26px;line-height:1.4;margin:12px 0}
@media(max-width:800px){
.sunny-site main.visitor-parking{width:calc(100% - 32px);margin:24px auto 40px}
.visitor-parking .visitor-hero{grid-template-columns:minmax(0,1fr);gap:20px}
.visitor-parking .visitor-hero>div:first-child{padding:24px}
.visitor-parking .visitor-hero h1{font-size:32px}
.visitor-parking .visitor-hero .visitor-lead{font-size:18px}
.visitor-parking .visitor-facts{grid-template-columns:minmax(0,1fr)}
.visitor-parking .visitor-facts section{padding:16px 22px;border-right:0;border-bottom:1px solid #d8d0a0}
.visitor-parking .visitor-content>div{grid-template-columns:minmax(0,1fr);gap:16px}
.visitor-parking .visitor-section{padding:22px 18px;gap:10px}
.visitor-parking .visitor-section h2{font-size:21px}
.visitor-parking .visitor-toc{gap:8px}
.visitor-parking .visitor-toc a{font-size:12px;padding:8px 12px}
}

/* Match the venue image and introduction dimensions. */
@media(min-width:801px){
.sunny-site main.visitor-venue.visitor-wide{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.visitor-venue.visitor-wide .visitor-banner{aspect-ratio:auto;min-height:390px;height:100%;position:relative;align-self:stretch}
.visitor-venue.visitor-wide .visitor-banner svg{position:absolute;inset:0;width:100%;height:100%}
.visitor-venue.visitor-wide .visitor-introduction{display:flex;flex-direction:column;justify-content:center;align-self:stretch}
}

/* Keep the requested longer Chinese title together at every viewport. */
#field-title .field-title-line{white-space:nowrap;font-size:.87em}

/* Existing account, bookings and profile share the sunny storefront. */
.member-center{padding-top:36px;padding-bottom:60px;min-height:65vh}.member-tabs,.member-order-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.member-tabs button,.member-order-tabs button{border:1px solid #d6bd78;border-radius:999px;padding:10px 18px;background:#fff9e8;color:#35322a;font:inherit;cursor:pointer}.member-tabs button.active,.member-order-tabs button.active{background:#47674c;color:#fff;border-color:#47674c}.member-heading{position:static;width:auto;border:0;box-shadow:none;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:18px 0 26px;padding:0;min-height:0;background:none}.member-heading h1{margin:6px 0 12px;font-size:clamp(28px,4vw,42px)}.member-heading p{max-width:680px;line-height:1.6}.member-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0 35px}.member-metrics button{padding:22px;border:1px solid #e2cd94;background:#fff9e8;border-radius:18px;cursor:pointer;text-align:left;font:inherit;color:inherit}.member-metrics strong{display:block;font-size:32px;color:#47674c;margin-bottom:5px}.member-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:25px}.member-section-title{display:flex;gap:12px;align-items:center;justify-content:space-between}.member-section-title h2{font-size:24px}.member-profile-summary,.member-detail,.member-empty.compact{border:1px solid #e2cd94;background:#fff9e8;border-radius:20px;padding:25px}.member-profile-summary{align-self:start}.member-profile-summary dl,.member-detail dl{margin:20px 0}.member-profile-summary dl div,.member-detail dl div{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid #e7d8b2;padding:12px 0}.member-profile-summary dd,.member-detail dd{margin:0;text-align:right;overflow-wrap:anywhere}.member-profile-summary dt,.member-detail dt{flex-shrink:0;color:#666354}.member-order-card{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;padding:20px;border:1px solid #e2cd94;background:#fff9e8;border-radius:20px;margin-bottom:15px}.member-order-card>img{width:130px;height:135px;object-fit:cover;border-radius:14px;background:#eadbbb}.member-order-card h3{margin:10px 0 8px}.member-order-card p{font-size:14px;margin:7px 0;line-height:1.5}.member-order-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}.member-empty{padding:50px 20px;max-width:800px;text-align:center;margin:25px auto}.member-empty h1{font-size:clamp(28px,5vw,40px)}.member-empty .toolbar{justify-content:center;flex-wrap:wrap}.member-empty.compact{padding:25px;margin:0}.member-filters{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin-bottom:25px}.member-filters label{display:grid;gap:8px;font-size:14px}.member-filters select{min-width:170px;border:1px solid #d6bd78;padding:10px;border-radius:10px;background:#fff9e8;font:inherit}.member-filters>span{padding-bottom:12px;color:#666354}.member-order-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-order-list .member-order-card{margin:0}.member-order-list>.member-empty{grid-column:1/-1}.member-detail{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:35px;margin-top:20px}.member-detail h1{font-size:30px}.member-detail-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:15px}.member-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #d6bd78;padding:20px 0;margin-top:22px}.member-total strong{font-size:27px}.member-service-note{background:#f4ecd4;border-radius:12px;padding:14px;line-height:1.6}.member-success{background:#edf3de;border:1px solid #b7ca98;padding:14px;border-radius:12px}.member-center .text-button{border:0;background:none;padding:8px 0;text-decoration:underline;cursor:pointer;color:#47674c;font:inherit}.member-center #member-profile-form{max-width:760px;margin:0}.member-center #member-profile-form input[readonly]{background:#eee9dc;color:#626050;cursor:default}.member-center #member-profile-form small{display:block;margin-top:6px;font-weight:400;line-height:1.5}.member-center button:focus-visible,.member-center select:focus-visible,.member-center input:focus-visible{outline:3px solid #77944d;outline-offset:3px}
@media(max-width:760px){.member-center{padding-top:20px}.member-tabs{gap:6px;margin-bottom:20px}.member-tabs button{padding:9px 13px;font-size:14px}.member-heading{display:block;margin-top:10px}.member-heading>button{margin-top:6px}.member-metrics{gap:8px;margin:20px 0 25px}.member-metrics button{padding:15px 10px;text-align:center;border-radius:14px}.member-metrics strong{font-size:27px}.member-metrics span{font-size:12px}.member-columns,.member-detail,.member-order-list{grid-template-columns:1fr}.member-profile-summary{padding:20px}.member-section-title{align-items:start}.member-section-title h2{font-size:21px;margin-top:7px}.member-section-title .text-button{font-size:13px;white-space:nowrap}.member-order-card{grid-template-columns:90px minmax(0,1fr);gap:12px;padding:14px}.member-order-card>img{width:90px;height:110px}.member-order-footer{flex-wrap:wrap}.member-order-footer .pill{font-size:12px;padding:8px 12px}.member-detail{padding:20px;gap:22px}.member-detail-image{aspect-ratio:16/10}.member-detail h1{font-size:27px}.member-detail dl div{gap:12px;font-size:14px}.member-filters{gap:12px}.member-filters label{flex:1;min-width:0}.member-filters select{min-width:0;max-width:100%;width:100%;font-size:14px}.member-filters>span{width:100%;padding:0}.member-order-tabs button{padding:9px 13px;font-size:14px}.member-center #member-profile-form{padding:20px}.member-center #member-profile-form .toolbar{flex-wrap:wrap}.member-empty{padding:25px 4px}.member-empty .toolbar{gap:10px}}

.member-confirmation{flex-basis:100%;border:1px solid #b9ab71;background:#f4ecd4;border-radius:12px;padding:15px}.member-confirmation button{margin:4px 8px 4px 0}.member-detail .toolbar{flex-wrap:wrap}

/* Public dialogs retain native focus management; make close reachable by touch. */
dialog .close{min-width:44px;min-height:44px;display:grid;place-items:center;padding:0;border-radius:8px}
button:focus-visible,a:focus-visible{outline-color:#294c3c}
/* Keep the existing account entry available on the home page too. */
.sunny-site[data-view=home] header .profile-entry{display:inline-flex}
@media(max-width:480px){.registration-card-heading{flex-wrap:wrap}.registration-card .registration-card-heading button{max-width:100%;white-space:normal}}

/* Account recovery progress and service messages. */
.password-reset-form .reset-expiry{margin:0;color:#62735b;font-size:13px;line-height:1.5}.reset-expiry:empty{display:none}.member-center .account-security{max-width:760px}
.reset-code-row{display:flex;align-items:flex-end;gap:12px}.reset-code-row label{flex:1;min-width:0}.reset-code-row button{flex:none;min-height:48px;max-width:48%;white-space:normal}.password-reset-form{display:grid;gap:16px}.password-reset-form label{display:grid;gap:8px}.password-reset-form input{width:100%;min-width:0}.password-reset-form .error,.password-reset-form .reset-status{margin:0}.reset-status{color:#2b6d45;font-size:14px;line-height:1.6}.account-security{margin-top:24px;padding-top:20px;border-top:1px solid #d7dfbf}.account-security h3{font-size:20px}.account-security p{line-height:1.7}
.recovery-steps{display:flex;gap:20px;list-style:none;margin:0 0 28px;padding:0;max-width:640px;color:#62735b;font-size:14px;flex-wrap:wrap}.recovery-steps li{display:flex;align-items:center;gap:9px}.recovery-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eaf0d7;color:#286c44;flex:none}
.recovery-steps li.active{color:#245e3b;font-weight:700}.recovery-steps li.active b{background:#286c44;color:#fff}.recovery-steps li.complete b{background:#cce7bf}
.sms-service-note,.recovery-help{max-width:640px;padding:14px 18px;border-radius:14px;background:#eef2dc;font-size:14px;line-height:1.7}.sms-service-note[data-state=warning],.reset-status[data-state=warning]{color:#7a4d24;background:#fff2d6}.sms-service-note[data-state=pending],.reset-status[data-state=pending]{color:#62735b}.sms-service-note button{margin:10px 0 0}.recovery-help{margin-top:18px}.recovery-help p{margin:5px 0}
.password-recovery-card .password-reset-form{margin-top:24px}.password-recovery-card .password-reset-form input{min-height:48px}.password-recovery-card .password-reset-form [type=submit]{min-height:48px;width:100%}.password-recovery-card button:disabled{opacity:.55;cursor:not-allowed}.password-recovery-card input:focus-visible{outline:3px solid #b5ca7a;outline-offset:2px}
@media(max-width:600px){.recovery-steps{gap:10px;font-size:12px;justify-content:space-between}.recovery-steps li{gap:5px}.recovery-steps b{width:25px;height:25px}.password-recovery-card .reset-code-row{align-items:stretch}.password-recovery-card .reset-code-row button{align-self:end;min-height:48px;font-size:13px;padding:10px}}

/* ===== forms-ux 2026-10-11 (appended; remove this block to roll back) ===== */
/* Sweet Smile — customer account forms (login / register / recovery).
   Loaded after style.css; overrides presentation only. */
:root{--ux-ink:#184d37;--ux-green:#258251;--ux-green-dark:#1d6a42;--ux-ring:rgba(37,130,81,.2);--ux-line:#d9dfcb;--ux-muted:#66756a;--ux-field:#fff;--ux-error:#b42335;--ux-soft:#f2f6e6}

/* Heading above the card */
body .registration-heading{max-width:520px;margin:8px auto 22px;padding:0 4px}
body .registration-heading .eyebrow{letter-spacing:.18em;font-size:12px;opacity:.75}
body .registration-heading h1{font-size:30px;line-height:1.3;margin:10px 0 8px}
body .registration-heading p{font-size:15px;opacity:.85;margin:0}

/* Card */
body .registration-card.registration-card{position:relative;box-sizing:border-box;width:100%;max-width:520px;margin:0 auto 40px;padding:28px 36px 32px;background:#fffef9;border-radius:28px;box-shadow:0 1px 0 #fff inset,0 18px 50px rgba(32,73,43,.10),0 2px 6px rgba(32,73,43,.05)}
body .registration-card.registration-card h2{font-size:26px;line-height:1.3;margin:6px 0 6px;color:var(--ux-ink)}
body .registration-card.registration-card>p,body .registration-card.registration-card .muted{color:var(--ux-muted);font-size:13.5px;line-height:1.7}

/* "Back" becomes a quiet text link */
body .registration-card [data-account-return]{display:inline-flex;align-items:center;gap:4px;margin:0 0 10px -6px;padding:6px 8px;min-height:0;border:0;border-radius:10px;background:none;color:var(--ux-muted);font-size:14px;font-weight:600;cursor:pointer}
body .registration-card [data-account-return]::before{content:'‹';font-size:22px;line-height:1;margin-top:-2px}
body .registration-card [data-account-return]:hover{background:var(--ux-soft);color:var(--ux-ink)}

/* Fields */
body .registration-card .form{gap:18px}
body .registration-card .form label{align-content:start;gap:8px;font-size:14px;font-weight:600;color:var(--ux-ink)}
body .registration-card .form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
body .registration-card .form select{box-sizing:border-box;width:100%;min-height:52px;padding:13px 16px;border:1.5px solid var(--ux-line);border-radius:14px;background:var(--ux-field);color:var(--ux-ink);font-size:16px;font-weight:500;transition:border-color .15s,box-shadow .15s}
body .registration-card .form input::placeholder{color:#a3ab9c;font-weight:400}
body .registration-card .form input:hover,body .registration-card .form select:hover{border-color:#bfc9ad}
body .registration-card .form input:focus,body .registration-card .form select:focus{outline:none;border-color:var(--ux-green);box-shadow:0 0 0 4px var(--ux-ring)}
body .registration-card .form input[readonly]{background:#f6f7f1}
body .registration-card .form label small,body .registration-card .phone-entry small.muted{font-size:12.5px;font-weight:400;color:var(--ux-muted);line-height:1.6}
body .registration-card .required-mark{font-size:11px;font-weight:600;color:var(--ux-error);background:#fde9ec;padding:1px 6px;border-radius:6px;margin-left:6px;vertical-align:1px}

/* Show the phone error only once the visitor has typed or tried to submit */
body .registration-card .phone-entry:not(.ux-touched) #phone-length-hint.error{display:none}
body .registration-card .phone-entry.ux-touched input[aria-invalid=true]{border-color:#e3a2ad}
body .registration-card .error{color:var(--ux-error);font-size:13.5px;font-weight:500;margin:0}
body .registration-card p.error:empty,body .registration-card div.error:empty{display:none}

/* Phone row: compact calling-code select + number */
body .registration-card .phone-fields{grid-template-columns:minmax(118px,.75fr) minmax(0,1.5fr);gap:10px}
body .registration-card .phone-entry{gap:8px}

/* Password visibility toggle */
.ux-pw{position:relative;display:block}
.ux-pw>input{padding-right:64px!important}
.ux-pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:4px;min-height:0!important;height:36px;width:auto!important;margin:0!important;padding:0 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#5c6d60!important;font-size:13px!important;font-weight:600;cursor:pointer;box-shadow:none!important}
.ux-pw-toggle:hover{background:#eef2e4!important;color:#184d37!important}
.ux-pw-toggle:focus-visible{outline:2px solid #258251;outline-offset:1px}
.ux-pw-toggle svg{width:18px;height:18px}

/* Password label row with "Forgot password?" */
.ux-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ux-link{border:0;background:none;padding:0;min-height:0;width:auto;margin:0;color:var(--ux-green);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none}
.ux-link:hover{text-decoration:underline;color:var(--ux-green-dark)}

/* Buttons */
body .registration-card .solid,body .registration-card button[type=submit]{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:4px 0 0;padding:12px 20px;border:0;border-radius:999px;background:var(--ux-green);color:#fff;font-size:17px;font-weight:700;letter-spacing:.04em;box-shadow:0 6px 16px rgba(37,130,81,.25);cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s}
body .registration-card .solid:hover:not(:disabled){background:var(--ux-green-dark)}
body .registration-card .solid:active:not(:disabled){transform:translateY(1px)}
body .registration-card .solid:disabled,body .registration-card button[type=submit]:disabled{opacity:1;background:#b9cdb8;color:#f4f8f1;box-shadow:none;cursor:not-allowed}

/* Login: primary then secondary, stacked */
body .registration-card .login-actions{flex-direction:column;gap:12px}
body .registration-card .login-actions button{flex:none;width:100%;min-height:52px;font-size:16px}
body .registration-card .login-actions .pill{border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-ink);font-weight:700}
body .registration-card .login-actions .pill:hover{border-color:var(--ux-green);color:var(--ux-green)}
body .registration-card.ux-login [data-customer-recovery].ux-moved{display:none}
body .registration-card.ux-login .login-form+.muted{margin:18px 0 0;padding-top:16px;border-top:1px dashed var(--ux-line);font-size:12.5px}

/* Secondary pill buttons inside cards become tidy outlined buttons */
body .registration-card>.pill:not([data-account-return]),body .registration-card .registration-card-heading .pill{min-height:44px;padding:10px 18px;border:1.5px solid var(--ux-line);border-radius:999px;background:#fff;color:var(--ux-ink);font-size:14px;font-weight:700}
body .registration-card>.pill:not([data-account-return]):hover,body .registration-card .registration-card-heading .pill:hover{border-color:var(--ux-green);color:var(--ux-green)}
body .registration-card>[data-registration-recovery],body .registration-card>[data-reset-back]{display:block;width:100%;margin-top:14px}

/* Register */
body .registration-card .registration-card-heading{margin-bottom:12px}
body .registration-card>form>.notice{background:var(--ux-soft);border-radius:14px;padding:12px 16px;font-size:13px;color:#3f5a47}
@media(min-width:600px){body .registration-card .form>.form:has(input[name=passwordConfirm]){grid-template-columns:1fr 1fr;gap:14px}}
body .registration-card .form>.form{gap:18px}
.ux-optional{border:1.5px dashed var(--ux-line);border-radius:16px;padding:0 16px;background:#fffef9}
.ux-optional>summary{list-style:none;cursor:pointer;padding:14px 0;font-size:14px;font-weight:700;color:var(--ux-ink);display:flex;align-items:center;justify-content:space-between}
.ux-optional>summary::-webkit-details-marker{display:none}
.ux-optional>summary::after{content:'+';font-size:20px;color:var(--ux-green)}
.ux-optional[open]>summary::after{content:'−'}
.ux-optional>summary small{font-weight:400;color:var(--ux-muted);margin-left:6px}
.ux-optional[open]{padding-bottom:16px}
.ux-optional .ux-optional-body{display:grid;gap:16px}
body .registration-card .checklabel{gap:10px;align-items:flex-start!important;padding:12px 14px;border-radius:14px;background:var(--ux-soft);font-size:13.5px;font-weight:500;line-height:1.6}
body .registration-card .checklabel input{margin-top:3px;accent-color:var(--ux-green)}

/* Recovery */
body .password-recovery-card .recovery-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0 20px;max-width:none;counter-reset:none}
body .password-recovery-card .recovery-steps li{position:relative;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12.5px;color:#8a978b}
body .password-recovery-card .recovery-steps li:not(:last-child)::after{content:'';position:absolute;top:14px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:#e3e8d6;border-radius:2px}
body .password-recovery-card .recovery-steps li.complete:not(:last-child)::after{background:#9fcb8f}
body .password-recovery-card .recovery-steps b{width:28px;height:28px;font-size:13px;background:#eef2e2;color:#7f8d7f}
body .password-recovery-card .recovery-steps li.active{color:var(--ux-ink)}
body .password-recovery-card .recovery-steps li.active b{background:var(--ux-green);color:#fff;box-shadow:0 0 0 4px var(--ux-ring)}
body .password-recovery-card .recovery-steps li.complete b{background:#cfe8c3;color:#1f6a40}
body .password-recovery-card [data-reset-eligibility]{margin:0 0 6px}
body .registration-card.password-recovery-card>[data-reset-register]{display:inline;width:auto;min-height:0;margin:0 0 12px;padding:0;border:0;background:none;color:var(--ux-green);font-size:13.5px;font-weight:600;box-shadow:none}
body .registration-card.password-recovery-card>[data-reset-register]:hover{text-decoration:underline}
body .password-recovery-card .sms-service-note{display:flex;align-items:center;gap:8px;max-width:none;margin:4px 0 0;padding:9px 14px;border-radius:12px;font-size:13px}
body .password-recovery-card .sms-service-note::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:#3fae6b;box-shadow:0 0 0 3px #3fae6b33}
body .password-recovery-card .sms-service-note[data-state=warning]::before{background:#d08a2c;box-shadow:0 0 0 3px #d08a2c33}
body .password-recovery-card .sms-service-note[data-state=pending]::before{background:#b8bfb0;box-shadow:none}
body .password-recovery-card .sms-service-note:empty{display:none}
body .password-recovery-card .password-reset-form{margin-top:18px}
body .password-recovery-card .reset-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
body .password-recovery-card .reset-code-row button{align-self:end;max-width:none;min-height:52px;margin:0;padding:0 18px;border:1.5px solid var(--ux-green);border-radius:14px;background:#fff;color:var(--ux-green);font-size:15px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
body .password-recovery-card .reset-code-row button:hover:not(:disabled){background:#eef6ea}
body .password-recovery-card .reset-code-row button:disabled{border-color:var(--ux-line);color:#9aa597;background:#f6f7f1;opacity:1}
body .password-recovery-card .reset-code-row input[name=code]:not(:placeholder-shown){letter-spacing:.3em;font-variant-numeric:tabular-nums}
body .password-recovery-card .reset-status,body .password-recovery-card .reset-expiry{margin:-6px 0 0;font-size:13px;color:var(--ux-muted)}
body .password-recovery-card .reset-status:empty,body .password-recovery-card .reset-expiry:empty{display:none}
body .password-recovery-card .reset-status[data-state=warning]{padding:8px 12px;border-radius:10px}
body .password-recovery-card .recovery-help{max-width:none;margin-top:18px;padding:12px 16px;border-radius:14px;background:#f7f8f0;font-size:12.5px;color:var(--ux-muted)}

@media(max-width:600px){
 body .registration-heading{margin:0 auto 16px}
 body .registration-heading h1{font-size:24px}
 body .registration-heading p{font-size:14px}
 body .registration-card.registration-card{padding:20px 18px 24px;border-radius:24px;margin-bottom:28px}
 body .registration-card.registration-card h2{font-size:22px}
 body .registration-card .phone-fields{grid-template-columns:1fr}
 body .password-recovery-card .recovery-steps{font-size:11.5px}
 body .password-recovery-card .reset-code-row button{padding:0 14px;font-size:14px}
}

/* Responsive sizing: one centred form that grows with the screen (no side artwork) */
@media(min-width:601px){
 body .registration-heading{max-width:none}
 body .registration-heading h1{font-size:clamp(30px,2.6vw,42px)}
 body .registration-heading p{font-size:clamp(15px,1.15vw,18px)}
 body .registration-card.registration-card{max-width:none;width:100%;padding:clamp(32px,3.2vw,56px) clamp(36px,4vw,72px) clamp(36px,3.4vw,60px);border-radius:clamp(26px,2.2vw,36px)}
 body .registration-card.registration-card h2{font-size:clamp(26px,2.2vw,36px)}
 body .registration-card .form{gap:clamp(18px,1.6vw,26px)}
 body .registration-card .form label,body .registration-card .ux-link{font-size:clamp(14px,1.1vw,17px)}
 body .registration-card .form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body .registration-card .form select{min-height:clamp(52px,4vw,64px);font-size:clamp(16px,1.25vw,19px);padding-left:clamp(16px,1.3vw,20px);border-radius:clamp(14px,1.1vw,18px)}
 body .registration-card .form label small,body .registration-card .phone-entry small.muted,body .registration-card.registration-card>p,body .registration-card.registration-card .muted{font-size:clamp(12.5px,1vw,15px)}
 body .registration-card .solid,body .registration-card button[type=submit],body .registration-card .login-actions button{min-height:clamp(52px,4vw,64px);font-size:clamp(16px,1.3vw,20px)}
 body .registration-card [data-account-return]{font-size:clamp(14px,1.1vw,17px)}
 body .password-recovery-card .reset-code-row button{min-height:clamp(52px,4vw,64px);font-size:clamp(15px,1.15vw,18px);padding:0 clamp(18px,1.6vw,28px)}
 body .password-recovery-card .recovery-steps{font-size:clamp(12.5px,1vw,15px)}
 body .password-recovery-card .recovery-steps b{width:clamp(28px,2.2vw,36px);height:clamp(28px,2.2vw,36px)}
 body .password-recovery-card .recovery-steps li:not(:last-child)::after{top:clamp(14px,1.1vw,18px)}
 .ux-pw-toggle{font-size:clamp(13px,1vw,15px)!important}
 body .registration-card.ux-login .login-form+.muted{font-size:clamp(12.5px,1vw,15px)}
}

/* Wide screens: the card spans the same content width as the home page, so lay fields out in two columns */
@media(min-width:980px){
 body .registration-card .login-form,body .registration-card form.form:has([name=consent]),body .password-recovery-card .password-reset-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(24px,2.6vw,48px);align-items:start}
 body .registration-card .login-form>*,body .registration-card form.form:has([name=consent])>*,body .password-recovery-card .password-reset-form>*{grid-column:1/-1}
 body .registration-card .login-form>.phone-entry,body .registration-card .login-form>label{grid-column:auto}
 body .registration-card .login-actions{flex-direction:row}
 body .registration-card .login-actions button{flex:1}
 body .registration-card form.form:has([name=consent])>.notice{order:0}
 body .registration-card form.form:has([name=consent])>label:has([name=name]){order:1;grid-column:1}
 body .registration-card form.form:has([name=consent])>.phone-entry{order:2;grid-column:2}
 body .registration-card form.form:has([name=consent])>.form{order:3}
 body .registration-card form.form:has([name=consent])>.ux-optional{order:4}
 body .registration-card form.form:has([name=consent])>.ux-optional .ux-optional-body{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,2vw,32px)}
 body .registration-card form.form:has([name=consent])>.checklabel{order:5}
 body .registration-card form.form:has([name=consent])>.error{order:6}
 body .registration-card form.form:has([name=consent])>.solid{order:7}
 body .password-recovery-card .password-reset-form>label,body .password-recovery-card .password-reset-form>.reset-code-row{grid-column:auto}
 body .registration-card>[data-registration-recovery],body .registration-card>[data-reset-back]{width:auto;display:inline-flex;margin-right:12px}
}

/* Less small print: keep only what helps the next step */
body .registration-card.ux-login .login-form+.muted{display:none}
body .registration-card>form>.notice{display:none}
body .registration-card .phone-entry>small.muted{display:none}
body .password-recovery-card .recovery-help p+p{display:none}


/* ===== orders-ux 2026-10-12 (appended; remove this block to roll back) ===== */
/* Sweet Smile — booking status, progress and confirmations (customer side). */
:root{--ux-ok:#1f7a45;--ux-ok-bg:#e3f4e6;--ux-wait:#a35a00;--ux-wait-bg:#fff1d6;--ux-act:#c2312f;--ux-act-bg:#fde7e4;--ux-off:#5f6b63;--ux-off-bg:#eceee8;--ux-done:#2f6a55;--ux-done-bg:#e6efe9}

/* Status chip on order cards: large and coloured */
.ux-status{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-size:clamp(16px,1.3vw,19px);font-weight:800;line-height:1.2;letter-spacing:.02em}
.ux-status::before{content:'';width:10px;height:10px;border-radius:50%;background:currentColor}
.ux-status--ok{color:var(--ux-ok);background:var(--ux-ok-bg)}
.ux-status--wait{color:var(--ux-wait);background:var(--ux-wait-bg)}
.ux-status--act{color:var(--ux-act);background:var(--ux-act-bg)}
.ux-status--off{color:var(--ux-off);background:var(--ux-off-bg)}
.ux-status--done{color:var(--ux-done);background:var(--ux-done-bg)}
.ux-card-flag{display:inline-block;margin-left:8px;padding:6px 12px;border-radius:999px;background:#184d37;color:#fff;font-size:14px;font-weight:700;vertical-align:middle}
.member-order-card .ux-status{margin-bottom:10px}

/* Status banner at the top of the order detail */
.ux-banner{margin:16px 0 20px;padding:clamp(20px,2vw,30px) clamp(22px,2.4vw,36px);border-radius:24px;border:2px solid currentColor;background:#fff}
.ux-banner-title{display:block;font-size:clamp(26px,2.6vw,38px);line-height:1.25;font-weight:900}
.ux-banner-next{margin:10px 0 0;font-size:clamp(17px,1.4vw,21px);font-weight:600;line-height:1.6;color:#1d2b22}
.ux-banner-reason,.ux-banner-message{margin:14px 0 0;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.75);font-size:clamp(16px,1.25vw,19px);line-height:1.6;color:#1d2b22}
.ux-banner-reason b,.ux-banner-message b{display:block;margin-bottom:2px;font-size:14px;color:inherit;opacity:.75}
.ux-banner--ok{color:var(--ux-ok);background:var(--ux-ok-bg)}
.ux-banner--wait{color:var(--ux-wait);background:var(--ux-wait-bg)}
.ux-banner--act{color:var(--ux-act);background:var(--ux-act-bg)}
.ux-banner--off{color:var(--ux-off);background:var(--ux-off-bg)}
.ux-banner--done{color:var(--ux-done);background:var(--ux-done-bg)}

/* Progress timeline */
.ux-timeline{margin:22px 0 8px}
.ux-timeline h3{font-size:20px;margin:0 0 12px}
.ux-timeline ol{list-style:none;margin:0;padding:0 0 0 18px;border-left:3px solid #dfe5d2}
.ux-timeline li{position:relative;padding:0 0 16px 16px}
.ux-timeline li::before{content:'';position:absolute;left:-27px;top:4px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #9bb48c}
.ux-timeline li:first-child::before{background:#258251;border-color:#258251}
.ux-timeline li div{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.ux-timeline b{font-size:17px}
.ux-timeline span{font-size:14px;color:#66756a}
.ux-timeline p{margin:6px 0 0;padding:10px 14px;border-radius:12px;background:#f4f6ee;font-size:16px;line-height:1.6}
.ux-timeline .ux-tl-me p{background:#fff6dc}

/* Message box and cancellation reason */
.ux-message{margin:18px 0;border:1.5px solid #d9dfcb;border-radius:18px;background:#fff;padding:0 18px}
.ux-message>summary{cursor:pointer;padding:16px 0;font-size:17px;font-weight:800;color:#184d37;list-style:none}
.ux-message>summary::-webkit-details-marker{display:none}
.ux-message>summary::before{content:'✎ '}
.ux-message form{display:grid;gap:10px;padding-bottom:16px}
.ux-message textarea,.ux-reason textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid #d9dfcb;border-radius:14px;font:inherit;font-size:16px;resize:vertical}
.ux-message textarea:focus,.ux-reason textarea:focus{outline:none;border-color:#258251;box-shadow:0 0 0 4px rgba(37,130,81,.2)}
.ux-message .solid{justify-self:start;width:auto!important;padding:12px 28px}
.ux-message-wait{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff1d6;color:#7a4a00;font-weight:700}
.ux-reason{display:grid;gap:6px;width:100%;margin:10px 0;font-weight:700}
.member-confirmation p{font-size:18px;font-weight:800}

/* Checkout success */
.ux-success{margin:10px 0 26px;padding:clamp(24px,2.6vw,40px);border-radius:28px;background:#e3f4e6;border:2px solid #1f7a45;text-align:center}
.ux-success-icon{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:#1f7a45;color:#fff;display:grid;place-items:center;font-size:36px;font-weight:900}
.ux-success h2{margin:0;font-size:clamp(28px,2.8vw,42px);color:#16502f}
.ux-success>p{margin:10px auto 0;max-width:720px;font-size:clamp(17px,1.4vw,20px);font-weight:600;color:#1d2b22}
.ux-success ul{list-style:none;margin:20px auto 0;padding:0;max-width:900px;display:grid;gap:10px;text-align:left}
.ux-success li{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 18px;border-radius:16px;background:#fff}
.ux-success li span:first-child{flex:1 1 240px;font-size:17px;font-weight:700}
.ux-success li .pill{margin:0}
.ux-success-ref{margin:16px 0 0!important;font-size:15px!important;color:#3a5a45!important}

/* Member pages use the same content width as the home page */
.member-center #member-profile-form,.member-center .account-security{max-width:none!important;width:100%}
.member-heading p{max-width:none}
@media(min-width:980px){
 .member-center #member-profile-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(24px,2.6vw,48px);align-items:start}
 .member-center #member-profile-form>label{align-content:start}
 .member-center #member-profile-form>*{grid-column:auto}
 .member-center #member-profile-form>.error,.member-center #member-profile-form>.toolbar{grid-column:1/-1}
}
@media(max-width:600px){
 .ux-banner{border-radius:20px}
 .ux-timeline ol{padding-left:14px}
}

/* Round 1: cart and checkout */
.ux-steps{display:flex;gap:8px;list-style:none;margin:0 0 18px;padding:0;flex-wrap:wrap}
.ux-steps li{display:flex;align-items:center;gap:8px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(255,255,255,.55);font-size:15px;font-weight:700;color:#5f6b63}
.ux-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e6eadc;color:#5f6b63;font-size:14px}
.ux-steps li.is-active{background:#fff;color:#184d37;box-shadow:0 2px 10px rgba(32,73,43,.08)}
.ux-steps li.is-active b{background:#258251;color:#fff}
.ux-cart-title{margin:0 0 18px}
.ux-cart-grid{display:grid;gap:20px;align-items:start}
@media(min-width:980px){.ux-cart-grid{grid-template-columns:minmax(0,1fr) clamp(320px,30vw,420px)}.ux-cart-summary{position:sticky;top:20px}}
.ux-cart-list{display:grid;gap:14px}
.ux-cart-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;padding:clamp(18px,1.8vw,26px);border-radius:24px;background:#fffef7;box-shadow:0 8px 26px rgba(32,73,43,.08)}
.ux-cart-item.is-off{opacity:.55}
.ux-cart-check input{width:26px;height:26px;margin:4px 0 0;accent-color:#258251;cursor:pointer}
.ux-cart-body h3{margin:0 0 6px;font-size:clamp(19px,1.5vw,23px)}
.ux-cart-when{margin:0;font-size:clamp(18px,1.4vw,21px);font-weight:800;color:#184d37}
.ux-cart-meta{margin:4px 0 0;font-size:15px;color:#4f5d53}
.ux-flow{display:inline-block;margin-top:10px;padding:6px 14px;border-radius:999px;font-size:15px;font-weight:800}
.ux-flow--wait{color:#a35a00;background:#fff1d6}
.ux-flow--pay{color:#c2312f;background:#fde7e4}
.ux-cart-side{display:grid;justify-items:end;gap:10px}
.ux-cart-side strong{font-size:clamp(20px,1.6vw,24px)}
.ux-cart-remove{border:0;background:none;padding:4px 0;color:#8a4a4a;font-size:14px;font-weight:700;text-decoration:underline;cursor:pointer}
.ux-cart-summary{padding:clamp(20px,2vw,30px);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(32,73,43,.12)}
.ux-cart-count{margin:0;font-size:16px;color:#4f5d53}
.ux-cart-total{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0 16px;padding-bottom:16px;border-bottom:1px dashed #d9dfcb}
.ux-cart-total span{font-size:18px;font-weight:700}
.ux-cart-total strong{font-size:clamp(30px,2.6vw,38px);color:#184d37}
.ux-cart-consent{display:flex!important;gap:10px;align-items:flex-start;padding:14px;border-radius:14px;background:#f2f6e6;font-size:15px;font-weight:600;line-height:1.6;cursor:pointer}
.ux-cart-consent input{width:22px;height:22px;margin-top:1px;flex:none;accent-color:#258251}
.ux-cart-error{margin:10px 0 0;font-size:16px!important;font-weight:700;color:#b42335}
.ux-cart-error:empty{display:none}
.ux-cart-submit{width:100%;min-height:58px;margin-top:14px;border-radius:999px;font-size:clamp(18px,1.4vw,21px)!important;font-weight:800}
.ux-cart-note{margin:12px 0 0;font-size:14px;color:#66756a;text-align:center}
.ux-cart-empty{padding:clamp(30px,4vw,60px) 20px;border-radius:28px;background:#fffef7;text-align:center}
.ux-cart-empty-icon{font-size:56px}
.ux-cart-empty h1{margin:10px 0 8px}
.ux-cart-empty p{font-size:17px;margin:0 0 20px}
.ux-cart-empty .solid{width:auto;padding:14px 32px}
@media(max-width:600px){.ux-cart-item{grid-template-columns:auto minmax(0,1fr)}.ux-cart-side{grid-column:2;justify-items:start;grid-auto-flow:column;align-items:center;gap:16px}}

/* Round 2: booking card + booking dialog */
.ux-rules{list-style:none;margin:14px 0 16px;padding:0;display:grid;gap:8px}
.ux-rules li{display:flex;gap:8px;align-items:center;padding:10px 14px;border-radius:14px;font-size:16px;font-weight:800;line-height:1.4}
.ux-rules li::before{content:'';flex:none;width:10px;height:10px;border-radius:50%;background:currentColor}
.ux-rule--wait{color:#a35a00;background:#fff1d6}
.ux-rule--pay{color:#c2312f;background:#fde7e4}
.ux-rule--ok{color:#1f7a45;background:#e3f4e6}
@media(min-width:980px){aside.experience-reserve{position:sticky;top:20px}}
#modal #server-availability{margin:0 0 6px;padding:14px 18px;border-radius:16px;font-size:clamp(17px,1.4vw,20px);font-weight:800;line-height:1.5;background:#f2f4ee;color:#4f5d53}
#modal #server-availability[data-state=ok]{background:#e3f4e6;color:#1f7a45}
#modal #server-availability[data-state=bad]{background:#fde7e4;color:#b42335}
#modal #server-availability+.pill{justify-self:start;width:auto;padding:6px 14px;font-size:14px}
#modal #step-progress{font-size:16px;font-weight:800;color:#184d37}

/* Round 3: unavailable cart items */
.ux-cart-item.is-problem{outline:3px solid #c2312f;outline-offset:-3px}
.ux-cart-problem{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:12px 16px;border-radius:14px;background:#fde7e4;color:#b42335;font-size:17px;font-weight:900}
.ux-cart-problem span{display:flex;gap:8px}
.ux-cart-problem .pill{width:auto;margin:0;padding:8px 16px;border:1.5px solid #c2312f;border-radius:999px;background:#fff;color:#b42335;font-size:15px;font-weight:800}

/* Round 5: experience cards */
.ux-card-flow{display:inline-block;align-self:flex-start;justify-self:start;width:max-content;margin:2px 0 8px;padding:5px 12px;border-radius:999px;font-size:14px;font-weight:800}
.ux-card-flow--ok{color:#1f7a45;background:#e3f4e6}
.ux-card-flow--wait{color:#a35a00;background:#fff1d6}
.field-card .price{align-items:center}
.ux-card-book{position:relative;z-index:3;flex:none;width:auto!important;min-height:0!important;margin:0!important;padding:10px 20px!important;border:0!important;border-radius:999px!important;background:#258251!important;color:#fff!important;font-size:16px!important;font-weight:800;cursor:pointer;box-shadow:0 4px 12px rgba(37,130,81,.25)}
.ux-card-book:hover{background:#1d6a42!important}

/* Round 7: booking tools + countdown */
.ux-tools{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.ux-tools .pill{width:auto;margin:0;padding:12px 20px;border:1.5px solid #184d37;border-radius:999px;background:#fff;color:#184d37;font-size:16px;font-weight:800}
.ux-tools .pill:hover{background:#f2f6e6}
.ux-countdown{display:inline-block;margin-left:8px;padding:6px 12px;border-radius:999px;background:#184d37;color:#fff;font-size:15px;font-weight:800;vertical-align:middle}
.ux-countdown.is-soon{background:#c2312f}

/* Round 8: phone booking bar on experience pages */
.ux-mobile-book{display:none}
@media(max-width:979px){
 .ux-mobile-book{display:block;margin:0 0 16px;padding:16px 18px;border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(32,73,43,.12)}
 .ux-mobile-book-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .ux-mobile-price{margin:0;font-size:28px;font-weight:900;color:#184d37}
 .ux-mobile-price small{font-size:14px;font-weight:600}
 .ux-mobile-book .solid{width:auto!important;min-height:50px;margin:0!important;padding:0 26px!important;border-radius:999px;font-size:17px!important;font-weight:800}
 .ux-mobile-book .ux-rules{margin:12px 0 0}
 .ux-mobile-book .ux-rules li{font-size:15px;padding:8px 12px}
}

/* Round 11: live password checks */
.ux-pw-hint{display:block;min-height:0;font-size:14px;font-weight:700;line-height:1.5}
.ux-pw-hint:empty{display:none}
.ux-pw-hint.is-ok{color:#1f7a45}
.ux-pw-hint.is-bad{color:#b42335}

/* Round 13: needs-your-attention banner */
.ux-todo{margin:0 0 22px;padding:clamp(16px,1.6vw,24px);border-radius:22px;background:#fff;border:2px solid #c2312f;box-shadow:0 8px 24px rgba(194,49,47,.12)}
.ux-todo h2{margin:0 0 12px;font-size:clamp(20px,1.6vw,24px);color:#b42335}
.ux-todo h2 span{display:inline-grid;place-items:center;min-width:28px;height:28px;margin-left:6px;padding:0 8px;border-radius:999px;background:#c2312f;color:#fff;font-size:16px}
.ux-todo ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ux-todo li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:14px;font-size:clamp(16px,1.2vw,18px);font-weight:800}
.ux-todo--act{background:#fde7e4;color:#8f1f1d}
.ux-todo--msg{background:#e7f0ff;color:#1d3f7a}
.ux-todo .solid{width:auto!important;min-height:44px;margin:0!important;padding:0 22px!important;border-radius:999px;font-size:16px!important}

/* Round 14: book again */
.ux-again{margin:14px 0}
.ux-again .solid{font-size:17px;padding:12px 22px;font-weight:800}
.member-order-footer .ux-again-pill{margin-left:auto;margin-right:8px;font-weight:700}

/* Round 15: next booking on the home page */
.ux-next{position:relative;z-index:3;display:flex;align-items:center;gap:18px;margin:0 0 22px;padding:16px 20px;border-radius:18px;background:#fff;border:3px solid #2f7a52;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.ux-next--wait{border-color:#d68a1a}.ux-next--act{border-color:#c2312f}
.ux-next-when{flex:none;min-width:84px;padding:10px 12px;border-radius:14px;background:#2f7a52;color:#fff;font-size:20px;font-weight:900;text-align:center}
.ux-next--wait .ux-next-when{background:#d68a1a}.ux-next--act .ux-next-when{background:#c2312f}
.ux-next-body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.ux-next-label{font-size:14px;color:#6b6b5f;font-weight:700}
.ux-next-body strong{font-size:20px;line-height:1.3}
.ux-next-body>span:last-child{font-size:16px}
.ux-next .solid{flex:none;font-size:16px;padding:12px 20px;font-weight:800}
@media (max-width:640px){.ux-next{flex-wrap:wrap;gap:12px}.ux-next .solid{width:100%}}

/* Round 18: date chips in booking dialogs */
.ux-date-chips{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 12px}
.ux-date-chip{display:flex;flex-direction:column;align-items:center;min-width:76px;padding:8px 12px;border:2px solid #d9cfa8;border-radius:12px;background:#fffdf3;color:#2b2b25;cursor:pointer;line-height:1.25}
.ux-date-chip b{font-size:16px}
.ux-date-chip span{font-size:13px;color:#6b6b5f}
.ux-date-chip.is-on{border-color:#2f7a52;background:#2f7a52;color:#fff}
.ux-date-chip.is-on span{color:#e6f3ea}
@media (max-width:520px){.ux-date-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ux-date-chip{min-width:0;padding:8px 4px}}

/* Round 20: live payment countdown */
.ux-live-countdown{display:inline-block;margin:6px 0 0 10px;padding:4px 12px;border-radius:999px;background:#fff3d6;color:#8a4b00;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;vertical-align:middle}
.ux-live-countdown.is-urgent{background:#c2312f;color:#fff}
.ux-banner-title+.ux-live-countdown{font-size:18px}

/* Round 24: sticky cart checkout bar on phones */
.ux-cart-sticky{position:fixed;left:12px;right:12px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;border-radius:16px;background:#fffdf3;border:2px solid #2f7a52;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.ux-cart-sticky[hidden]{display:none}
.ux-cart-sticky div{display:flex;flex-direction:column;line-height:1.2}
.ux-cart-sticky span{font-size:13px;color:#6b6b5f;font-weight:700}
.ux-cart-sticky strong{font-size:22px;font-weight:900;color:#1f2a1f}
.ux-cart-sticky .solid{flex:none;padding:12px 20px;font-size:16px;font-weight:800}
@media (min-width:761px){.ux-cart-sticky{display:none}}

/* SMS code login */
.ux-login-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 18px;padding:5px;border-radius:14px;background:#f1ecd6}
.ux-login-modes button{padding:11px 10px;border:0;border-radius:10px;background:transparent;color:#5a5a4c;font-size:16px;font-weight:800;cursor:pointer}
.ux-login-modes button.is-on{background:#fff;color:#1f5f3a;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.ux-sms-row[hidden],.login-form label[hidden]{display:none!important}
.ux-sms-row label{display:block;font-weight:700;margin:0 0 6px}
.ux-sms-line{display:flex;gap:10px}
.ux-sms-line input{flex:1;min-width:0;font-size:20px;letter-spacing:4px;font-variant-numeric:tabular-nums}
.ux-sms-line .pill{flex:none;white-space:nowrap;font-weight:800}
.ux-sms-note{margin:8px 0 0;color:#1f7a45;font-weight:700;font-size:15px}
