:root{--ink:#282b28;--sub:#5e655e;--line:#dedfd6;--bg:#f7f7f2;--card:#fff;--accent:#435749;--accent-ink:#304135;--serif:"Noto Serif TC","Songti TC","PMingLiU",serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:110px}body{font-family:"PingFang TC","Microsoft JhengHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #9a632e;outline-offset:5px}img{max-width:100%}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;z-index:200;background:#fff;padding:12px}.skip-link:focus{top:10px}.wrap{max-width:1220px;margin:auto;padding:0 40px}header{position:sticky;top:0;z-index:50;background:rgba(247,247,242,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 40px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--accent);color:#fff;border-radius:50%;width:40px;height:40px;font-family:var(--serif);font-size:21px}.brand b{font-family:var(--serif);font-size:21px;letter-spacing:.12em}.nav nav{display:flex;gap:24px}.nav nav a{text-decoration:none;font-size:14px;white-space:nowrap;position:relative;padding:8px 0;color:var(--sub)}.nav nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav nav a:hover:after,.nav nav a[aria-current]:after{transform:scaleX(1)}.nav nav a[aria-current]{color:var(--accent-ink)}.hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center;padding:64px 0 72px}.eyebrow,.section-kicker{font-size:14px;font-weight:600;letter-spacing:.12em;color:var(--accent);margin-bottom:18px}.hero h1{font-family:var(--serif);font-size:clamp(32px,3.2vw,48px);font-weight:500;line-height:1.5;letter-spacing:.035em;margin-bottom:22px}.hero h1 em{font-style:normal;color:var(--accent)}.hero .lead{font-size:16px;color:var(--sub);max-width:29em;margin-bottom:25px;line-height:1.95}.hero-visual{position:relative;align-self:stretch;min-height:490px;margin:0}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;border-radius:160px 8px 8px 8px}.hero-visual figcaption{position:absolute;bottom:22px;left:22px;right:22px;display:flex;justify-content:space-between;gap:14px;color:white;font-size:14px;padding:14px 18px;background:rgba(26,36,29,.76);backdrop-filter:blur(8px);border-radius:4px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.tags span{font-size:14px;border:1px solid var(--line);border-radius:4px;padding:3px 10px;color:var(--sub);background:transparent}.cta{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--accent);color:#fff;padding:14px 23px;border-radius:4px;text-decoration:none;font-size:16px;min-height:52px;transition:background .2s,transform .2s}.cta:hover{background:var(--accent-ink);transform:translateY(-2px)}.hero-facts{display:flex;gap:0;margin:0 0 27px;padding:18px 0;border-block:1px solid var(--line)}.hero-facts div{flex:1;border-right:1px solid var(--line);padding-left:18px}.hero-facts div:first-child{padding-left:0}.hero-facts div:last-child{border:0}.hero-facts dt{font-size:14px;color:var(--sub)}.hero-facts dd{font-family:var(--serif);font-size:28px;line-height:1.5}.hero-facts small{font-family:system-ui;font-size:14px;margin-left:4px}section{padding:64px 0;border-top:1px solid var(--line);scroll-margin-top:18px}.section-kicker{margin-bottom:8px}h2{font-family:var(--serif);font-size:clamp(28px,3vw,36px);font-weight:500;letter-spacing:.04em;line-height:1.5;margin-bottom:12px}.sub{font-size:16px;color:var(--sub);margin-bottom:28px;max-width:780px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.section-heading h2{margin-bottom:0}.viewer-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 20px 60px -40px #2c3a2c55}.viewer-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:14px;border-bottom:1px solid var(--line)}.viewer-tabs button,.room-btns button{border:1px solid transparent;background:transparent;border-radius:6px;padding:10px 20px;font-size:16px;min-height:46px;color:var(--sub);transition:background .2s,color .2s}.viewer-tabs button:hover,.room-btns button:hover{background:#eef0ea}.viewer-tabs button.active,.room-btns button.active{background:var(--accent);color:white}.layer-controls{display:flex;align-items:center;gap:20px;padding:12px 22px;flex-wrap:wrap;background:#f4f5ef}.layer-controls b{font-size:14px;color:var(--sub);font-weight:500}.layer-controls label,.furniture-switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:16px;min-height:44px}.layer-controls input,.furniture-switch input{appearance:none;width:40px;height:24px;border:1px solid #7c867d;border-radius:20px;background:#d7ddd5;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.layer-controls input:after,.furniture-switch input:after{content:"";display:block;width:16px;height:16px;background:white;border-radius:50%;position:absolute;left:3px;top:3px;box-shadow:0 1px 3px #0003;transition:transform .2s}.layer-controls input:checked,.furniture-switch input:checked{background:var(--accent);border-color:var(--accent)}.layer-controls input:checked:after,.furniture-switch input:checked:after{transform:translateX(16px)}.layer-status{font-size:14px;color:var(--sub);padding:8px 22px;border-bottom:1px solid var(--line)}.room-btns{display:none;gap:4px;padding:10px 14px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.room-btns.show{display:flex}model-viewer{width:100%;height:600px;background:#eceee8;--poster-color:#eceee8}.viewer-note{padding:16px 22px;color:var(--sub);font-size:14px;border-top:1px solid var(--line)}.plan-wrap{position:relative;max-width:1100px;margin:auto;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#e9eae4}.plan-wrap img{width:100%;height:auto;display:block}.plan-wrap svg{position:absolute;inset:0;width:100%;height:100%}.plan-wrap polygon{fill:transparent;stroke:transparent;stroke-width:3;cursor:pointer;transition:fill .25s,stroke .25s}.plan-wrap polygon:hover,.plan-wrap polygon:focus{fill:#43574925;stroke:var(--accent)}.plan-wrap svg text{pointer-events:none;fill:#282b28;paint-order:stroke;stroke:#fff;stroke-width:8px;stroke-linejoin:round;font-size:32px;font-weight:600}.plan-hint{font-size:14px;color:var(--sub);margin-top:16px;text-align:center}.plan-hint small{font-size:14px}.plan-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:18px 0}.text-button{border:1px solid var(--line);background:#fff;padding:9px 16px;min-height:44px;border-radius:5px;font-size:16px;color:var(--accent)}.room-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.room-legend button{min-height:68px;padding:12px 16px;border:1px solid var(--line);background:#fff;border-radius:6px;text-align:left;color:var(--ink);font-size:16px}.room-legend span{display:block;color:var(--sub);font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ph{position:relative;overflow:hidden;cursor:pointer;border-radius:8px;background:#e7e7df;outline-offset:4px}.ph:first-child{grid-column:span 2;grid-row:span 2}.ph img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.ph:first-child img{height:100%;min-height:500px}.ph figcaption{position:absolute;bottom:0;left:0;right:0;padding:36px 20px 17px;background:linear-gradient(transparent,#18251dcc);font-size:16px;color:#fff;display:flex;justify-content:space-between}.ph figcaption:after{content:'↗';font-size:20px}.ph:hover img{transform:scale(1.035)}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}.info{padding:23px 0;border-bottom:1px solid var(--line);min-width:0}.info b{display:block;font-size:16px;font-weight:600;margin-bottom:8px;color:var(--accent)}.info span{font-size:16px;color:var(--sub);line-height:1.85}#terms .info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.disclaimer{font-size:14px;color:var(--sub);padding:22px 25px;border-left:2px solid #a3ac9b;background:#eff0e9;border-radius:0 6px 6px 0}#contact{background:var(--accent-ink);color:#fff;margin:30px -32px 60px;padding:42px 32px;border-radius:12px;border:0}#contact .sub,#contact .info span{color:#e0e6df}#contact .section-kicker,#contact .info b{color:#d4dfcc}#contact .info{border-color:#ffffff30}footer{font-size:14px;color:var(--sub);padding:26px 0 38px;border-top:1px solid var(--line)}.mobile-cta{display:none}.lightbox{position:fixed;inset:0;background:#152019f5;z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:70px 70px 35px}.lightbox.open{display:flex;animation:fade-in .2s ease}.lightbox img{max-width:100%;max-height:76dvh;object-fit:contain;border-radius:4px}.lightbox .cap{color:#fff;font-size:16px;text-align:center}.lightbox .x,.lb-nav{border:1px solid #ffffff50;background:#ffffff15;color:white;min-width:48px;min-height:48px;border-radius:50%;font-size:28px}.lightbox .x{position:absolute;top:18px;right:20px}.lb-nav{position:absolute;top:50%;transform:translateY(-50%)}.lb-prev{left:15px}.lb-next{right:15px}.plan-dialog{width:min(96vw,1400px);max-width:none;max-height:94dvh;margin:auto;padding:0;border:0;border-radius:10px;background:var(--bg);color:var(--ink)}.plan-dialog::backdrop{background:#152019dc;backdrop-filter:blur(6px)}.dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px}.dialog-toolbar h3{font-size:18px}.plan-zoom-scroll{overflow:auto;max-height:78dvh;overscroll-behavior:contain}.plan-zoom-scroll .plan-wrap{min-width:1100px}.plan-dialog .plan-wrap svg text{display:block!important}.plan-dialog p{font-size:14px;padding:10px 20px}.reveal{animation:reveal-in .7s cubic-bezier(.2,.65,.25,1) both}.hero-visual{animation:reveal-in .85s ease both}@keyframes reveal-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.wrap{max-width:1360px}.hero-visual{min-height:560px}}
@media(max-width:1050px){.nav{flex-direction:column;gap:6px;padding:12px 24px}.nav nav{gap:22px}.hero{gap:30px}.hero-visual{min-height:460px}.grid{gap:14px}.ph img{height:210px}.ph:first-child img{min-height:434px}.room-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){html{scroll-padding-top:125px}.wrap{padding:0 20px}.nav{align-items:stretch;padding:10px 20px 0;gap:6px}.brand{align-self:flex-start}.brand b{font-size:19px}.brand-mark{width:32px;height:32px;font-size:18px}.nav nav{overflow:auto;gap:22px;scrollbar-width:none;margin:0 -20px;padding:0 20px}.nav nav::-webkit-scrollbar{display:none}.nav nav a{font-size:14px;min-height:44px;display:flex;align-items:center}.hero{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:32px 0 40px}.hero h1{font-size:34px;margin-bottom:16px}.eyebrow{margin-bottom:12px}.hero .lead{margin-bottom:20px}.hero-visual{min-height:0;aspect-ratio:4/3}.hero-visual img{border-radius:70px 6px 6px 6px}.hero-visual figcaption{left:14px;right:14px;bottom:14px;padding:10px 12px}.hero-facts{margin-bottom:20px;padding:12px 0}.hero-facts dd{font-size:27px}.tags{gap:6px;margin-bottom:20px}.tags span{padding:2px 7px}.hero .cta{width:100%}section{padding:36px 0}h2{font-size:28px}.section-kicker{font-size:14px}.sub{margin-bottom:20px}.section-heading{gap:8px}.viewer-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px;gap:4px}.viewer-tabs button{font-size:16px;min-width:0;padding:10px 4px;line-height:1.5}.room-btns button{padding:8px 12px;min-height:44px}.layer-controls{gap:12px;padding:10px 14px}.layer-status{padding:8px 14px}.viewer-note{padding:14px}.viewer-card{border-radius:8px}model-viewer{height:440px;height:clamp(360px,60svh,520px)}.plan-wrap{border-radius:6px}.plan-wrap svg text{display:none}.room-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-legend button{padding:10px 12px}.plan-hint{text-align:left}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ph:first-child{grid-column:span 2;grid-row:auto}.ph img{height:210px}.ph:first-child img{height:260px;min-height:0}.ph figcaption{padding:28px 12px 12px;font-size:16px;line-height:1.5}.info-grid,#terms .info-grid{grid-template-columns:1fr;gap:0}.info{padding:18px 0}.disclaimer{padding:18px}#contact{margin:15px -4px 30px;padding:28px 20px;border-radius:8px}.mobile-cta{display:flex;position:fixed;z-index:60;bottom:0;left:0;right:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line);background:#f7f7f2f5;backdrop-filter:blur(15px)}.mobile-cta a{flex:1;text-align:center;padding:10px;font-size:16px;border-radius:5px;text-decoration:none;min-height:48px}.mobile-cta .a1{border:1px solid var(--accent);color:var(--accent)}.mobile-cta .a2{background:var(--accent);color:#fff}footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.lightbox{padding:76px 12px 100px}.lightbox img{max-height:66dvh}.lb-nav{top:auto;bottom:22px;transform:none}.lb-prev{left:calc(50% - 64px)}.lb-next{right:calc(50% - 64px)}.plan-dialog{width:100vw;max-height:100dvh;border-radius:0}.plan-zoom-scroll{max-height:75dvh}}
@media(max-width:370px){.wrap{padding:0 16px}.hero h1{font-size:30px}.hero-facts dd{font-size:25px}.hero-facts div{padding-left:12px}.hero-visual figcaption{flex-wrap:wrap;gap:2px}.ph img{height:180px}.section-heading{align-items:flex-start}.furniture-switch{font-size:16px}.room-legend{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.layer-controls input,.furniture-switch input{appearance:auto}.layer-controls input:after,.furniture-switch input:after{display:none}}

@media(max-width:900px){.plan-wrap svg text{display:none}}
@media(max-width:700px){.hero{gap:20px}.hero>div{display:contents}.hero .eyebrow{order:0;margin:0}.hero h1{order:1;margin:0}.hero-visual{order:2}.hero .lead{order:3;margin:0}.hero-facts{order:4;margin:0}.hero .tags{order:5;margin:0}.hero .cta{order:6}}

.hero h1 em{display:inline-block;font-size:.66em;margin-top:12px;letter-spacing:.08em}

/* Rental essentials and booking steps */
.rental-summary{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:0 0 22px;padding:18px 0;border-block:1px solid var(--line)}
.rental-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.rental-price span{font-size:16px;color:var(--sub)}.rental-price strong{font-size:32px;line-height:1.3;font-weight:600;color:var(--accent-ink);font-variant-numeric:tabular-nums}
.availability{font-size:14px;background:#e5ebe1;color:var(--accent-ink);padding:4px 10px;border-radius:4px;white-space:nowrap}.update-stamp{flex-basis:100%;font-size:14px;color:var(--sub)}
.booking-title{font-size:20px;font-weight:500;margin:26px 0 16px}.booking-flow{counter-reset:booking;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-bottom:30px}.booking-flow li{counter-increment:booking;border-top:1px solid #ffffff40;padding-top:16px;min-width:0}.booking-flow li:before{content:'0' counter(booking);display:block;color:#d4dfcc;font-size:16px;margin-bottom:8px}.booking-flow b{font-size:16px;display:block;margin-bottom:8px}.booking-flow p{font-size:16px;color:#e0e6df;line-height:1.8}
@media(max-width:1050px){.booking-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.hero .rental-summary{order:2;margin:0}.hero-visual{order:3}.hero .lead{order:4}.hero-facts{order:5}.hero .tags{order:6}.hero .cta{order:7}.rental-price strong{font-size:30px}.booking-flow{grid-template-columns:1fr;gap:16px}.booking-flow li{display:grid;grid-template-columns:32px 1fr;column-gap:12px}.booking-flow li:before{grid-row:span 2}.booking-flow b,.booking-flow p{grid-column:2}}

.anti-fraud{margin:24px 0;padding:20px 22px;background:#ffffff0c;border:1px solid #ffffff40;border-left:3px solid #cbd9bc;border-radius:6px}.anti-fraud h3{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px}.anti-fraud p{font-size:16px;line-height:1.85;color:#e0e6df}.anti-fraud p+p{margin-top:8px}.anti-fraud strong{color:#fff;font-weight:600}@media(max-width:700px){.anti-fraud{padding:16px}}

.company-credit{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 0 28px;border-bottom:1px solid var(--line);margin-bottom:22px}.credit-label{font-size:14px;letter-spacing:.1em;color:var(--sub);margin-bottom:8px}.credit-name{font-family:var(--serif);font-size:24px;line-height:1.6;color:var(--accent-ink);text-decoration:none}.credit-name:hover{text-decoration:underline;text-underline-offset:5px}.credit-copy{font-size:16px;margin-top:10px;color:var(--sub)}.credit-link{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:12px 18px;border:1px solid var(--accent);border-radius:5px;text-decoration:none;font-size:16px;color:var(--accent);min-height:48px;flex-shrink:0;transition:background .2s,color .2s}.credit-link:hover{background:var(--accent);color:white}.footer-meta{font-size:14px}@media(max-width:700px){.company-credit{flex-direction:column;align-items:stretch;gap:20px}.credit-name{font-size:22px}.credit-link{align-self:flex-start}.credit-copy{font-size:16px}}

.line-contact{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 0}.line-contact-copy{max-width:620px;min-width:0}.line-contact h3{font-size:20px;font-weight:500}.line-account{font-size:24px;letter-spacing:.03em;margin:6px 0;color:#fff}.line-contact-copy>p:not(.line-account){font-size:16px;color:#e0e6df}.line-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;margin-top:18px;padding:12px 20px;border-radius:5px;background:#fff;color:#25432c;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.line-button:hover{background:#e5f4e7;transform:translateY(-2px)}.line-qr{flex-shrink:0;text-align:center}.line-qr a{display:block;background:#fff;padding:10px;border-radius:8px}.line-qr img{display:block;width:180px;height:180px;max-width:none}.line-qr figcaption{font-size:14px;color:#e0e6df;margin-top:8px}@media(max-width:700px){.line-contact{flex-direction:column;align-items:stretch;padding:16px 0;gap:24px}.line-button{width:100%}.line-qr{align-self:center}.line-account{font-size:24px}}
