.home-header{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:18px;max-width:1180px}.brand{font:700 24px/1.1 Georgia,"Microsoft JhengHei",serif;letter-spacing:3px;text-decoration:none;color:#21484b}.brand small{display:block;font:10px/1.8 system-ui;letter-spacing:3px;margin-top:4px}nav{display:flex;gap:20px;align-items:center}nav a,nav button,.property-links button,.footer-links a,.footer-links button{color:#355c5d;text-decoration:none;background:none;border:0;padding:4px;font:inherit;font-size:14px;cursor:pointer}main{max-width:1180px}.hero{height:138px}.hero h1{font-family:Georgia,"Microsoft JhengHei",serif;font-size:31px}.filters{padding:15px 20px;margin-bottom:16px}.checkout{padding:24px;border-radius:20px;box-shadow:0 8px 28px #213e3910}.product-heading{display:grid;grid-template-columns:1.08fr 1fr;gap:26px;align-items:stretch;margin-bottom:20px}.photo-open{width:100%;height:290px;border-radius:15px}.photo-open span{width:34px;line-height:34px}.product-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:9px}.product-heading h2{font-size:25px;line-height:1.4}.property-links{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 18px}.property-links button{font-size:13px;border-bottom:1px solid #9db9ad;padding:4px 0}.offer-preview{margin:0}.offer-box button{min-height:108px}.booking-layout{border-top:1px solid #e6ebe5;padding-top:16px;display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}.contact-grid{margin:0;max-width:none;grid-template-columns:.8fr 1.25fr auto}.fields{max-width:none}.home-footer{max-width:1132px;margin:24px auto 38px;padding:20px 0;border-top:1px solid #d7e1d7;display:flex;justify-content:space-between;gap:30px}.home-footer strong{font-size:16px}.home-footer p{font-size:13px;color:#74817b;margin-top:4px}.footer-links{display:flex;max-width:600px;gap:10px 20px;flex-wrap:wrap}.footer-links a,.footer-links button{font-size:13px}dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(620px,100%);height:100dvh;max-height:100dvh;max-width:100%;border:0;padding:0;background:#fafaf5;color:#193f43;box-shadow:-12px 0 60px #15383230}dialog::backdrop{background:#193f4366}.panel-top{position:sticky;top:0;background:#fafaf5;display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid #dfe5dc;z-index:2}.panel-top button{border:1px solid #cbd8cd;background:white;border-radius:50%;height:38px;width:38px;cursor:pointer}#panelContent{padding:24px 26px;line-height:1.8}#panelContent img,#panelContent video,#panelContent iframe{max-width:100%;height:auto;border-radius:12px}#panelContent img{display:block;margin:12px 0}#panelContent iframe{width:100%;min-height:280px}#panelContent a{color:#146b64}#panelContent h2{margin:12px 0}#panelContent p{margin:10px 0}#panelContent .container{padding:0}#panelContent [class*="grid"]{display:block}button:focus-visible,a:focus-visible{outline:3px solid #cf9344;outline-offset:3px}
@media(max-width:850px){.booking-layout{grid-template-columns:1fr;gap:6px}.photo-open{height:255px}.home-footer{margin:20px 24px}.product-heading h2{font-size:22px}}
@media(max-width:650px){.home-header{padding:16px 14px}.brand{font-size:20px}nav{gap:9px}nav a,nav button{font-size:12px}.hero{height:115px}.hero h1{font-size:23px}.checkout{padding:14px}.product-heading{grid-template-columns:1fr;gap:15px}.photo-open{height:210px}.product-heading h2{font-size:22px}.eyebrow{display:none}.property-links{margin:8px 0 13px}.offer-box button{min-height:94px}.booking-layout{padding-top:12px}.home-footer{display:block;margin:22px 14px}.footer-links{margin-top:12px;gap:8px 16px}.panel-top{padding:16px}#panelContent{padding:18px}.contact-grid{grid-template-columns:.8fr 1.2fr auto}}.chips{align-content:start;align-items:start}#panelContent .pm-lang-text:not(.pm-zh-Hant){display:none}
/* Compact dates with derived duration; booking calculations stay unchanged. */
.fields{grid-template-columns:142px 142px 76px 76px;gap:8px;justify-content:start}
.fields input{padding:6px 7px;font-size:14px}
#stayDays{display:flex;align-items:center;justify-content:center;height:42px;margin-top:4px;border:1px solid #d9e2db;background:#f4f7f1;border-radius:9px;font-size:15px;white-space:nowrap}
.booking-layout{grid-template-columns:minmax(460px,1.1fr) minmax(330px,1fr);gap:16px}
@media(max-width:1000px){.booking-layout{grid-template-columns:1fr;gap:7px}}
@media(max-width:650px){.fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px;gap:6px}.fields label:last-child{grid-column:3;grid-row:2}.fields input{padding:6px 3px;font-size:14px}}
/* Compact two-row guest details. */
.booking-layout{grid-template-columns:1fr;gap:3px;padding-top:12px}
.fields{grid-template-columns:136px 136px 72px 72px;gap:7px}
.contact-grid{max-width:820px;grid-template-columns:120px 170px minmax(140px,1fr) auto;gap:7px;margin-top:2px}
.fields input,.fields select,.contact-grid input,#stayDays,#submit{height:38px}
.checkout{padding:18px}
.product-heading{margin-bottom:14px;gap:20px}
#stay{margin:2px 0;min-height:18px;font-size:12px}
@media(max-width:650px){.fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 57px 57px;gap:5px}.fields label:last-child{grid-column:auto;grid-row:auto}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) auto;gap:5px}.note-field{grid-column:1/3}.contact-grid #submit{grid-column:3;grid-row:2}.checkout{padding:12px}.fields input{font-size:12px;padding:4px 2px}.fields select{padding:4px 2px;font-size:13px}}
.fields{align-items:end;grid-template-columns:136px 136px auto 72px;max-width:475px}
.fields #stay{margin:0;padding:0 3px 9px;min-height:0;font-size:14px;line-height:20px;color:#526d65;border:0;background:none;border-radius:0}
@media(max-width:650px){.fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto 57px;gap:5px}.fields #stay{font-size:13px;padding:0 2px 9px}}
.contact-grid{grid-template-columns:120px 170px auto;max-width:410px}
@media(max-width:650px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) auto;max-width:none}.contact-grid #submit{grid-column:3;grid-row:1}}
.property-links a{color:#355c5d;text-decoration:none;font-size:13px;border-bottom:1px solid #9db9ad;padding:4px 0}
/* Two balanced rows for the six choices in each group. */
#styles,#views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:stretch}
#styles button,#views button{width:100%;justify-content:center;min-height:38px;padding:6px 9px;white-space:nowrap}
@media(max-width:650px){#styles,#views{gap:6px}#styles button,#views button{font-size:13px;padding:6px 5px}}
/* Keep prices inside narrow offer cards. */
.offer-grid{min-width:0}
.offer-box{min-width:0;container-type:inline-size}
.offer-box button{min-width:0;padding:10px}
.offer-box b{font-size:clamp(16px,13cqi,24px);line-height:1.35;letter-spacing:-.3px;white-space:nowrap}
.offer-box small{font-size:clamp(10px,7cqi,12px)}
@media(min-width:651px) and (max-width:900px){.product-heading{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}}
.offer-grid.monthly-first{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center}
.monthly-first .offer-box:first-child button{min-height:125px;background:#e4f0e7;border:1px solid #619982;padding:14px}
.monthly-first .offer-box:first-child b{font-size:clamp(18px,14cqi,29px)}
.monthly-first .offer-box:last-child button{min-height:96px;background:#fafbf7;padding:9px}
.monthly-first .offer-box:last-child b{font-size:clamp(15px,12cqi,21px)}
.monthly-first .offer-box:last-child button span{font-size:12px}
.monthly-first .offer-box button.active{border:2px solid #16745e}
.offer-grid.ranked-offers{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:stretch}
.ranked-offers .offer-box:first-child{grid-column:1;grid-row:1 / span 2}
.ranked-offers .offer-box:first-child button{height:100%;min-height:125px;background:#e4f0e7;border-color:#619982}
.ranked-offers .offer-box:nth-child(n+2){grid-column:2}
.ranked-offers .offer-box:nth-child(n+2) button{min-height:85px;padding:8px}
.ranked-offers .offer-box:nth-child(n+2) button span{font-size:12px}
.ranked-offers .offer-box:nth-child(n+2) b{font-size:clamp(15px,12cqi,21px)}
.ranked-offers .offer-box button.active{border:2px solid #16745e}
