:root{--ink:#5a3e32;--muted:#927a6b;--terracotta:#d78669;--cream:#fffaf5;--sand:#fff0de;--sage:#a7bda9;--line:#ecded2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC",sans-serif;font-size:15px}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.preview{text-align:center;background:#6e8b80;color:white;font-size:11px;letter-spacing:.08em;padding:6px}header{background:rgba(255,250,245,.97);border-bottom:1px solid #f0e5dd}.head{height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px}.brandmark{width:42px;height:42px;border-radius:14px;background:#d78669;color:white;display:grid;place-items:center;font-size:20px;font-weight:900;position:relative}.brandmark span{position:absolute;font-size:10px;right:4px;top:3px}.brand b{font-size:21px;display:block;line-height:1.1;letter-spacing:.06em}.brand small{font-size:9px;letter-spacing:.13em;color:#a18c7d;display:block;margin-top:5px}.desktop-nav{display:flex;gap:38px;font-weight:700}.desktop-nav a:hover{color:var(--terracotta)}.outline{background:transparent;border:1px solid #d9bfb0;border-radius:100px;padding:10px 20px;font-weight:700}.hero{min-height:480px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;gap:35px;padding-top:42px;padding-bottom:53px}.hero-copy{z-index:1}.eyebrow,.overline{font-size:10px;font-weight:800;letter-spacing:.17em;color:#bc7b61}.eyebrow span{color:#d78669;font-size:18px;vertical-align:middle}.eyebrow i{display:inline-block;width:23px;border-top:1px solid #d2b7a6;margin:0 8px 3px}.hero h1{font-size:clamp(37px,4.5vw,62px);letter-spacing:.04em;line-height:1.33;margin:19px 0;font-weight:850}.hero h1 em{font-style:normal;color:var(--terracotta)}.hero-copy>p{line-height:1.95;color:#8b7568;margin-bottom:24px}.hero-search{background:#fff;border:1px solid #eee1d6;border-radius:13px;box-shadow:0 8px 25px #a57d6313;display:flex;align-items:center;padding:6px;max-width:555px}.search-icon{font-size:28px;margin:0 12px;color:#bd9d8b}.hero-search input{width:100%;min-width:0;border:0;outline:0;font-size:13px;background:transparent}.hero-search input::placeholder{color:#b8aaa0}.hero-search button,.dark-btn{border:0;background:#d78669;color:white;border-radius:9px;padding:15px 20px;white-space:nowrap;font-weight:800}.popular{display:flex;gap:8px;align-items:center;margin-top:15px;font-size:11px;color:#a48c7d}.popular button{border:0;background:#f5e9df;border-radius:20px;padding:6px 11px;color:#8e7566;font-size:11px}.hero-art{height:360px;border-radius:48% 48% 12px 12px;background:linear-gradient(#dcebe8 0 57%,#91c2bb 57% 100%);position:relative;overflow:hidden}.sun{position:absolute;top:55px;left:42%;width:74px;height:74px;border-radius:50%;background:#f7d4a6}.cloud{position:absolute;width:100px;height:18px;border-radius:30px;background:#ffffff9c;top:80px;left:8%}.cloud-two{left:auto;right:4%;top:125px;width:74px}.island{position:absolute;left:17%;bottom:80px;width:72%;height:120px;border-radius:70% 80% 0 0;background:#b5c8a7;transform:rotate(-4deg)}.island:after{content:"";position:absolute;bottom:-12px;width:105%;height:40px;border-radius:60%;background:#ebd4b9}.sea{position:absolute;bottom:50px;left:-10%;width:120%;height:37px;border-top:3px solid #f5fffbb8;border-radius:50%}.sea-two{bottom:8px;left:10%;width:80%;opacity:.6}.hero-stamp{position:absolute;right:8%;top:32px;width:90px;height:90px;border:1px solid #fff9;border-radius:50%;text-align:center;padding-top:20px;color:white;font-size:9px;letter-spacing:.12em;line-height:1.5;transform:rotate(12deg)}.art-note{position:absolute;bottom:20px;left:25px;color:white;font-size:9px;letter-spacing:.14em;line-height:1.8}.art-note strong{font-size:13px;letter-spacing:.08em}.hero-counter{position:absolute;bottom:20px;right:0;font-size:10px;color:#aa9181}.hero-counter span{display:inline-block;border-top:1px solid #cfb9ac;width:40px;margin:0 8px 3px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head h2,.stay h2,.cta h2{font-size:29px;line-height:1.4;letter-spacing:.03em;margin:8px 0}.section-head h2 span,.section-head h3 span{font-size:15px;color:#d78669}.section-head p,.stay-copy p{color:#998273;line-height:1.8;margin:4px 0}.section-head.compact p{font-size:12px}.quick{padding:25px 0 62px}.quick-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.quick-grid button{background:#fff;border:1px solid #f3e7dd;border-radius:16px;padding:18px 5px;min-height:139px;display:flex;align-items:center;flex-direction:column;gap:8px;box-shadow:0 5px 18px #8d66570a}.quick-grid button:hover,.card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #8d66571a}.quick-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;font-size:25px}.peach{background:#fbe9e1;color:#cd8065}.sand{background:#faeedc;color:#bc9267}.blue{background:#e2eff0;color:#74a9a6}.mint{background:#e7f0e7;color:#84a690}.quick-grid b{font-size:12px}.quick-grid small{font-size:10px;color:#b4a196}.explore{background:#f8f0e9;padding:69px 0 60px}.filter-hint{color:#b19a8b;font-size:11px}.filter-hint span{font-size:22px;margin-left:8px}.tabs{display:flex;gap:9px;overflow:auto;scrollbar-width:none;margin-bottom:22px}.tabs button{border:1px solid #eadbd0;background:#fffaf5;border-radius:30px;white-space:nowrap;padding:10px 17px;font-size:12px;font-weight:700}.tabs button.active{background:#5a3e32;color:white;border-color:#5a3e32}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:white;border:1px solid #eee3da;border-radius:16px;overflow:hidden;transition:transform .18s,box-shadow .18s;cursor:pointer}.card-art{height:165px;position:relative;overflow:hidden;background:#d7e9e3}.card-art::before{content:"";position:absolute;width:80%;height:100px;background:#b3c9ad;border-radius:70% 75% 0 0;bottom:18px;left:10%;transform:rotate(-3deg)}.card-art::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:55px;background:#9cc8c0;border-radius:50% 50% 0 0}.card:nth-child(2) .card-art{background:#f4dfcf}.card:nth-child(2) .card-art:before{background:#d7b69d}.card:nth-child(2) .card-art:after{background:#e6cbb0}.card:nth-child(3) .card-art{background:#d8e9e9}.card:nth-child(3) .card-art:before{background:#a4c4b9}.card:nth-child(4) .card-art{background:#f1dfce}.card:nth-child(4) .card-art:before{background:#d4b995}.card-sun{position:absolute;top:22px;right:36px;background:#f6d6a7;border-radius:50%;width:42px;height:42px}.card-emoji{position:absolute;z-index:1;bottom:32px;left:43%;font-size:48px;color:white}.card-label{position:absolute;top:12px;left:12px;z-index:2;background:#fffdf1e8;border-radius:5px;font-size:10px;padding:5px 8px;font-weight:800}.card-body{padding:16px}.card-cat{font-size:10px;color:#b59382}.card h3{font-size:15px;margin:8px 0;line-height:1.5}.card p{font-size:11px;color:#aa9486;min-height:30px;line-height:1.6}.card-foot{border-top:1px solid #f2e7df;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#a58c7c}.card-foot b{font-size:13px;color:#c5795f}.disclaimer{font-size:11px;color:#b19a8b;margin-top:17px}.empty{padding:30px;background:white;border-radius:12px}.stay{padding:85px 0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.stay-illustration{height:310px;border-radius:18px;background:#ead9c7;position:relative;overflow:hidden}.stay-illustration:after{content:"";position:absolute;background:#c0cbb3;width:120%;height:80px;bottom:-30px;left:-10%;border-radius:50%}.stay-illustration>span{position:absolute;left:22px;bottom:18px;z-index:2;color:#fff;font-size:10px;letter-spacing:.15em}.house{width:155px;height:130px;background:#fff3e3;position:absolute;bottom:56px;left:34%;border-radius:5px}.roof{position:absolute;top:-49px;left:-20px;width:195px;height:60px;background:#c6866b;clip-path:polygon(50% 0,100% 100%,0 100%)}.window{position:absolute;top:34px;left:28px;background:#a9c4b9;width:37px;height:39px;border:5px solid #fff}.door{position:absolute;bottom:0;right:25px;width:37px;height:67px;background:#c39479;border-radius:20px 20px 0 0}.stay-sun{position:absolute;right:36px;top:25px;font-size:45px;color:#fff8}.stay-copy p{max-width:440px;margin:15px 0 23px}.stay-points{display:flex;gap:18px;font-size:12px;font-weight:700;margin-bottom:26px}.dark-btn{background:#5a3e32;padding:15px 22px}.stay-copy small{display:block;margin-top:13px;color:#ad9688;font-size:11px}.cta{background:#d78669;border-radius:20px;padding:36px 46px;color:#fff;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.cta span{font-size:10px;letter-spacing:.16em;opacity:.8}.cta h2{font-size:26px}.cta p{opacity:.8;font-size:12px}.light-btn{border:0;background:white;border-radius:9px;padding:16px 22px;color:#ad6b53;font-weight:bold;z-index:1}.cta-doodle{position:absolute;right:24%;font-size:170px;opacity:.12}footer{padding:28px 0 105px;border-top:1px solid #ebddd2}.site-tagline{margin:0 auto;padding:0 16px;max-width:36em;text-align:center;font-size:13px;line-height:1.7;font-weight:600;color:#8b7467;overflow-wrap:anywhere}.site-legal{margin:6px auto 0;padding:0 16px;max-width:36em;text-align:center;font-size:11px;line-height:1.7;font-weight:400;color:#a99283;overflow-wrap:anywhere}.fab{position:fixed;bottom:26px;right:26px;border:0;border-radius:50%;width:59px;height:59px;background:#d78669;color:white;box-shadow:0 5px 20px #a45f4c66;font-size:21px;z-index:9;display:flex;flex-direction:column;justify-content:center;align-items:center}.fab span{font-size:10px}.bottom-nav{display:none}.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%,20px);padding:12px 18px;background:#5a3e32;color:white;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;z-index:15;white-space:nowrap;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:18px;max-width:430px;width:calc(100% - 36px);color:var(--ink);padding:28px;box-shadow:0 20px 70px #533b3066}dialog::backdrop{background:#392b24a8}.close{float:right;background:#f7eee7;border:0;border-radius:50%;width:36px;height:36px;font-size:24px}dialog h2{clear:both;padding-top:12px}dialog p{line-height:1.8;color:#947d70}
@media(max-width:800px){.wrap{width:min(100% - 36px,600px)}.head{height:65px}.desktop-nav,.head>.outline,.head-actions .outline{display:none}.hero{display:flex;flex-direction:column-reverse;gap:20px;align-items:stretch;padding-top:20px;padding-bottom:38px}.hero-art{height:215px;border-radius:16px}.sun{width:55px;height:55px;top:28px}.hero-stamp{width:75px;height:75px;font-size:8px;top:20px;padding-top:15px}.hero h1{font-size:36px;margin:10px 0}.hero-copy>p{font-size:13px;line-height:1.8;margin:8px 0 17px}.hero-search button{font-size:12px;padding:13px 10px}.hero-search input{font-size:12px}.popular{overflow:auto;white-space:nowrap}.hero-counter{display:none}.quick{padding:12px 0 44px}.section-head{align-items:start}.section-head h2,.stay h2{font-size:23px}.section-head.compact p{display:none}.quick-grid{grid-template-columns:repeat(4,1fr);gap:8px}.quick-grid button{min-height:95px;padding:12px 2px;gap:6px}.quick-grid small{display:none}.quick-grid b{font-size:11px}.quick-icon{width:40px;height:40px}.explore{padding:44px 0}.section-head p{font-size:12px}.filter-hint{font-size:0}.filter-hint span{font-size:20px}.cards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-18px;padding-right:18px;padding-bottom:8px}.card{min-width:75%;scroll-snap-align:start}.card-art{height:160px}.stay{padding:55px 0;display:flex;flex-direction:column;align-items:stretch;gap:25px}.stay-illustration{height:215px}.house{bottom:35px;transform:scale(.8);transform-origin:bottom}.stay-copy p{font-size:13px}.stay-points{gap:12px;font-size:11px}.cta{padding:27px 24px;display:block}.cta h2{font-size:22px}.light-btn{margin-top:10px}.cta-doodle{right:0;bottom:-50px}footer{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}.bottom-nav{height:calc(65px + env(safe-area-inset-bottom));padding:5px 10px env(safe-area-inset-bottom);display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;background:#fffdfb;box-shadow:0 -4px 20px #734e3b12;z-index:10}.bottom-nav a,.bottom-nav button{min-width:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;font-size:10px;color:#aa9b91}.bottom-nav span{font-size:22px;line-height:1}.bottom-nav .navactive{color:#ce8065}.fab{bottom:calc(78px + env(safe-area-inset-bottom));right:15px;width:54px;height:54px}.toast{bottom:calc(145px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.live-stays{padding:30px 0 65px}.data-notice{background:#f3e7dd;border-radius:12px;color:#82695b;padding:14px;margin-bottom:18px;font-size:13px;line-height:1.6}.villa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.villa-item{background:white;border:1px solid #f0e3d8;border-radius:14px;padding:18px;min-height:150px}.villa-badge,.villa-item small{color:#aa8e7d;font-size:11px}.villa-item h3{font-size:19px;margin:8px 0}.villa-item p{font-size:12px;line-height:1.6;color:#90786b}.villa-item .villa-price{color:#bf725a;font-weight:700}.more-villas{display:block;margin:20px auto 0}.more-villas[hidden]{display:none}@media(max-width:800px){.villa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.villa-item{padding:14px}.live-stays{padding-bottom:45px}}

/* live-stays-enhance — additive only; tokens follow the original design language */
.live-stays .aio-answer{background:#fff;border:1px solid #eee3da;border-radius:16px;padding:16px 18px;color:#8b7568;line-height:1.9;margin:0 0 12px;box-shadow:0 5px 18px #8d66570a}
.live-stays .updated{font-size:12px;color:#a48c7d;margin:0 0 16px}
.live-stays .section-head{align-items:end}
.stay-filters{margin:4px 0 22px}
.filter-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.filter-label{font-size:11px;font-weight:800;letter-spacing:.08em;color:#a48c7d;white-space:nowrap;flex:0 0 auto}
.stay-filters .tabs{margin-bottom:0;flex:1}
.villa-count{font-size:12px;color:#a48c7d;margin:0 0 14px}
.villa-grid .card{cursor:pointer;position:relative}
.villa-grid .card[hidden]{display:none}
.villa-grid .card-art{background:#d7e9e3}
.villa-grid .card-art.tone-sand{background:#f4dfcf}
.villa-grid .card-art.tone-sand::before{background:#d7b69d}
.villa-grid .card-art.tone-sand::after{background:#e6cbb0}
.villa-grid .card-art.tone-mint{background:#d8e9e9}
.villa-grid .card-art.tone-mint::before{background:#a4c4b9}
.villa-grid .card-art.tone-peach{background:#f1dfce}
.villa-grid .card-art.tone-peach::before{background:#d4b995}
.villa-grid .card-art.tone-terra{background:#e8cfc4}
.villa-grid .card-art.tone-terra::before{background:#c99a86}
.villa-grid .card-art.tone-terra::after{background:#d9b3a3}
.villa-grid .card-art.tone-sage{background:#dce8d4}
.villa-grid .card-art.tone-sage::before{background:#b3c9ad}
.card-demo{position:absolute;right:12px;bottom:12px;z-index:2;background:#6e8b80e6;color:#fff;border-radius:5px;font-size:10px;padding:4px 7px;font-weight:700}
.villa-grid .card p{min-height:0}
.villa-grid .card-foot b{color:#c5795f}
.price-tag{color:#bf725a;font-weight:700;font-size:13px;margin:6px 0 0}
.table-hint{display:none;font-size:12px;color:#82695b;margin:0 0 10px;font-weight:700}
.table-frame{position:relative}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #eee3da;border-radius:16px;box-shadow:0 5px 18px #8d66570a}
.live-stays table{width:100%;border-collapse:collapse;min-width:720px;font-size:13px}
.live-stays th,.live-stays td{padding:12px 14px;text-align:left;border-bottom:1px solid #f2e7df;vertical-align:top}
.live-stays thead th{background:var(--sand);font-size:12px;letter-spacing:.04em;color:#6c4d3f;white-space:nowrap}
.live-stays tbody th{font-weight:800;color:var(--ink)}
.live-stays tbody tr:last-child th,.live-stays tbody tr:last-child td{border-bottom:0}
.live-stays tbody tr[hidden]{display:none}
.live-stays caption{caption-side:top;text-align:left;padding:14px 14px 0;color:#82695b;font-size:12px;font-weight:700}
.stay-block{margin-top:40px}
.stay-block .section-head{margin-bottom:16px}
.stay-block .section-head h3,.faq-list-head{font-size:23px;line-height:1.4;letter-spacing:.03em;margin:8px 0}
.faq-list details{background:#fff;border:1px solid #eee3da;border-radius:14px;padding:4px 16px;margin-bottom:10px}
.faq-list summary{cursor:pointer;font-weight:800;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--terracotta);font-size:20px;font-weight:400;line-height:1}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{margin:0 0 16px;color:#8b7568;line-height:1.9;font-size:14px}
.live-cta{background:var(--terracotta);border-radius:20px;padding:28px 32px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden;margin-top:36px}
.live-cta span{font-size:10px;letter-spacing:.16em;opacity:.8}
.live-cta h3{font-size:22px;line-height:1.4;margin:8px 0;font-weight:800}
.live-cta p{opacity:.9;font-size:13px;margin:0;max-width:520px;line-height:1.7}
.live-cta .light-btn{z-index:1;white-space:nowrap}
.live-cta .cta-doodle{right:8%;font-size:140px}
.tour-link{margin:18px 0 0;font-size:13px;color:#8b7568}
.tour-link a{color:#c5795f;font-weight:700;border-bottom:1px solid #e8c8bb}
#villa-empty{margin-top:8px}

@media(max-width:1100px) and (min-width:801px){
  .villa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .table-hint{display:block}
  .table-frame::after{content:"";position:absolute;top:0;right:0;bottom:0;width:28px;pointer-events:none;border-radius:0 16px 16px 0;background:linear-gradient(90deg,transparent,#fff)}
  .live-stays th,.live-stays td{padding:10px 12px}
}
.live-stays tbody th,.live-stays td:nth-child(2){white-space:nowrap}

@media(max-width:800px){
  .filter-row{flex-direction:column;align-items:flex-start;gap:8px}
  .stay-filters .tabs{width:100%}
  .villa-grid{grid-template-columns:1fr}
  .table-hint{display:block}
  .table-frame::after{content:"";position:absolute;top:0;right:0;bottom:0;width:36px;pointer-events:none;border-radius:0 16px 16px 0;background:linear-gradient(90deg,transparent,#fff)}
  .stay-block .section-head h3{font-size:20px}
  .live-cta{padding:24px;display:block}
  .live-cta h3{font-size:20px}
  .live-cta .light-btn{margin-top:12px}
  .live-cta .cta-doodle{right:0;bottom:-40px}
  .live-stays{padding-bottom:28px}
}

/* favorites — same tokens as the original design */
.head-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.fav-entry{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #d9bfb0;border-radius:100px;padding:8px 14px;font-weight:700;position:relative;color:var(--ink)}
.fav-entry:hover{color:var(--terracotta);border-color:#d78669}
.fav-entry-icon{display:grid;place-items:center;color:#d78669}
.fav-entry-icon svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;overflow:visible}
.fav-entry.has-favs .fav-entry-icon svg{fill:currentColor;stroke:currentColor}
.fav-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--terracotta);color:#fff;font-size:10px;display:inline-grid;place-items:center;font-weight:800;line-height:1}
.fav-badge[hidden]{display:none}
.fav-btn{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;border:0;border-radius:50%;background:#fffdf9f0;box-shadow:0 2px 8px #734e3b22;display:grid;place-items:center;color:#c5795f;padding:0}
.fav-btn svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;overflow:visible;pointer-events:none}
.fav-btn[aria-pressed="true"]{background:#fff;color:#d78669}
.fav-btn[aria-pressed="true"] svg{fill:currentColor;stroke:currentColor}
.fav-btn:hover{transform:scale(1.06)}
.fav-actions{margin:-4px 0 16px}
.fav-actions .dark-btn{padding:12px 18px;font-size:13px}
.fav-count{font-weight:800}
.toast{white-space:normal;max-width:min(92vw,380px);text-align:center;line-height:1.6}

@media(max-width:800px){
  .desktop-nav,.head-actions .outline{display:none}
  .fav-entry{padding:7px 10px}
  .fav-entry-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
}

@media(max-width:800px){.bottom-nav{background:linear-gradient(180deg,#f7e9dc,#ead0b9);box-shadow:0 -3px 14px #6c49301a}.bottom-nav a,.bottom-nav button{min-height:48px;color:#674636;border-radius:12px}.bottom-nav .navactive{background:#704835;color:#fff}.bottom-nav .navactive span{color:#fff}.bottom-nav a:focus-visible,.bottom-nav button:focus-visible{outline:2px solid #704835;outline-offset:2px}}
