:root{--ink:#18261b;--muted:#4b5b48;--cream:#fcfbf6;--line:#d9e2cf;--green:#2e5a2c;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--cream);font:15px/1.6 Arial,'Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #2c958b;outline-offset:4px}header{height:90px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);gap:25px;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:12px;font-size:18px;letter-spacing:2.8px;font-weight:600;line-height:1.4}.brand small{display:block;font-size:12px;letter-spacing:3px}.emblem{font-size:40px;font-weight:400}nav{display:flex;gap:32px;font-size:13px}.header-actions{display:flex;align-items:center;gap:24px}.language{border:0;background:none;font-size:13px;padding:10px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:0;border-radius:2px;background:var(--green);color:white;padding:17px 25px;font-size:13px;transition:background .2s,transform .2s}.pill:hover{background:#3d7338;transform:translateY(-1px)}.pill.light{background:var(--cream);color:var(--ink)}.pill.small{padding:12px 20px}.pill.full{width:100%;justify-content:space-between}.hero{height:min(770px,calc(100svh - 90px));min-height:570px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 56%}.hero-shade{background:linear-gradient(90deg,rgba(9,27,13,.57),rgba(9,27,13,.03) 83%),linear-gradient(0deg,rgba(6,26,11,.24),transparent 30%)}.hero-copy{position:absolute;left:7.5%;top:15%;max-width:650px}.eyebrow{font-size:12px;letter-spacing:2.8px;font-weight:600;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(56px,6.3vw,92px)/1.05 var(--serif);letter-spacing:-2px;margin-bottom:26px}.hero-sub{font-size:16px;line-height:1.8;color:#ebf0e8}.hero-buttons{display:flex;align-items:center;gap:35px;margin-top:35px}.text-link{font-size:13px;border-bottom:1px solid #ffffff66;padding:10px 0}.hero-bottom{position:absolute;bottom:24px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;color:#e8f0e3}.section{padding:95px 7.5%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}h2{font:400 clamp(36px,3.8vw,58px)/1.12 var(--serif);letter-spacing:-1px;margin-bottom:0}.intro-text{font-size:17px;color:var(--muted)}.features{border-top:1px solid var(--line);padding-top:24px;display:flex;gap:26px;font-size:12px;color:var(--ink)}.rooms{padding-top:30px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-top>p{font-size:13px;color:var(--muted);margin-bottom:2px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.room-image{height:315px;position:relative;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.room-card:hover .room-image img{transform:scale(1.025)}.room-image>span{position:absolute;bottom:12px;left:15px;padding:3px 7px;background:#172825a0;color:white;font-size:12px}.room-content{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:27px 0 18px}.room-content .eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:9px}h3{font:400 29px/1.2 var(--serif);margin-bottom:0}.price{font-size:12px;text-align:right;white-space:nowrap;margin:0}.price strong{display:block;font:400 27px var(--serif)}.room-select{display:flex;width:100%;justify-content:space-between;border:0;border-top:1px solid var(--line);padding:16px 0;background:none;font-size:12px}.explore{background:#eaf3e2}.explore-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.viewer-area{min-width:0}#viewer-poster{position:relative;height:530px;background:#e0e5dc}#viewer-poster>img{width:100%;height:100%;object-fit:cover}.viewer-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#153d37ad,transparent 75%);display:flex;flex-direction:column;align-items:center;justify-content:end;padding:40px;color:white}.viewer-overlay .eyebrow{margin-bottom:15px}.viewer-overlay p{font-size:12px;margin:14px 0 0}#viewer{width:100%;height:640px;border:1px solid #c3cebb;background:#e8efe3}#viewer[hidden]{display:none}.viewer-caption{display:flex;align-items:start;justify-content:space-between;gap:20px;font-size:12px;padding:13px 0;color:#52644f}.viewer-caption button{flex-shrink:0;border:0;border-bottom:1px solid;background:none;padding:0;font-size:12px}#viewer-status{font-size:12px}.room-picker{background:var(--cream);padding:25px}.room-picker .eyebrow{font-size:12px;letter-spacing:1.3px}.type-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);gap:5px;margin-bottom:20px}.type-tabs button{font-size:12px;line-height:1.35;background:none;border:0;border-bottom:2px solid transparent;padding:0 0 12px}.type-tabs button.active{border-color:var(--green);font-weight:bold}.room-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.room-chips button{width:39px;min-height:37px;border:1px solid #c8d2c0;background:none;font-size:12px}.room-chips button.active{background:var(--green);color:white;border-color:var(--green)}#selected-image{width:100%;height:155px;object-fit:cover}.selected-summary{margin-top:18px}.selected-summary span{font-size:12px;color:var(--muted)}#room-note{font-size:12px;min-height:35px;margin:16px 0}.micro{font-size:12px;line-height:1.6;color:var(--muted);margin:18px 0 0}.plan{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:110px;padding-bottom:110px}.plan-heading>p:not(.eyebrow){max-width:370px;color:var(--muted);font-size:14px;margin-top:25px}.selected-badge{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;display:flex;flex-direction:column;gap:8px;font-size:12px}.selected-badge>span{color:var(--muted)}.selected-badge strong{font-size:16px}.selected-badge a{font-size:12px;text-decoration:underline}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;margin-bottom:20px}label>span{display:block;margin-bottom:9px}input,select,textarea{border:1px solid #c0cbb8;background:#fbfcfa;width:100%;min-height:48px;padding:10px 12px;border-radius:0;color:var(--ink);min-width:0}input[type=checkbox]{width:17px;min-height:17px;flex-shrink:0}.check{display:flex;gap:10px;align-items:start}.check span{margin-top:3px}.plan form>.micro{margin-top:0;margin-bottom:20px}.quote-result{padding:18px;background:#e2f1ec;margin:15px 0;font-size:13px}.quote-result strong{font:400 28px var(--serif);display:block}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0 20px;padding:15px 0}summary{cursor:pointer;font-size:13px}details .micro{margin:12px 0 20px}.preview-label{padding:12px;background:#dbe5d4}#request-result{font-size:13px;margin:15px 0}.visit{display:grid;grid-template-columns:1.2fr 1fr;background:#1f4a2c;color:white}.visit>img{width:100%;height:100%;min-height:510px;object-fit:cover}.visit>div{padding:75px 14%}.visit h2{font-size:43px;margin-bottom:25px}.visit p{font-size:13px}.visit .micro{color:#cdd6c7;font-size:12px}.contact{display:block;margin-top:20px;font-size:14px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;padding:50px 7.5%;font-size:12px}footer .brand{font-size:15px}footer p{margin:0;color:var(--muted)}footer small{flex-basis:100%;font-size:12px;color:var(--muted)}.mobile-book{display:none}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:950px){header{gap:15px}.brand{font-size:14px}nav{gap:17px}.header-actions{gap:8px}.section{padding-left:5%;padding-right:5%}.explore-layout{grid-template-columns:minmax(0,1fr) 260px}.room-picker{padding:20px}.room-image{height:250px}.room-content{align-items:start;flex-direction:column;gap:15px}.price{text-align:left}.price strong{display:inline;margin-left:8px}.visit>div{padding:55px 10%}.plan{gap:7%}}
@media(max-width:650px){html{scroll-padding-top:20px}header{height:74px;padding:0 6%}header nav{display:none}.brand{font-size:12px;letter-spacing:1.8px}.brand small{font-size:12px;letter-spacing:1.7px}.emblem{font-size:31px}.header-actions .pill{display:none}.hero{height:650px;min-height:0;max-height:calc(100svh - 74px)}.hero-image{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#09251d90,#09251d10),linear-gradient(0deg,#102e2380,transparent)}.hero-copy{left:7%;right:7%;top:16%}h1{font-size:54px;line-height:1.03;letter-spacing:-1.8px}.hero-sub{font-size:13px}.eyebrow{font-size:12px;letter-spacing:2px}.hero-buttons{flex-direction:column;align-items:start;gap:12px;margin-top:25px}.hero-buttons .pill{padding:14px 19px}.hero-bottom{font-size:12px;left:7%;right:7%;gap:25px;bottom:18px}.section{padding:58px 7%}.intro,.plan{grid-template-columns:1fr;gap:28px}h2{font-size:39px}.intro-text{font-size:14px}.features{gap:16px;font-size:12px}.rooms{padding-top:12px}.section-top{display:block;margin-bottom:28px}.section-top>p{font-size:12px;margin-top:18px}.room-grid{grid-template-columns:1fr;gap:30px}.room-image{height:230px}.room-content{flex-direction:row;align-items:center;gap:15px}.room-content .eyebrow{font-size:12px;letter-spacing:.7px}h3{font-size:25px}.price{font-size:12px;text-align:right}.price strong{font-size:23px;display:block;margin:0}.explore-layout{grid-template-columns:1fr;gap:18px}#viewer-poster{height:315px}.viewer-overlay{padding:26px}#viewer{height:560px}.viewer-caption{font-size:12px}.room-picker{padding:24px}.type-tabs button{font-size:12px}.room-chips button{width:40px;min-height:40px}#selected-image{height:180px}.room-picker .pill{margin-top:5px}.plan{padding-top:62px;padding-bottom:62px}.plan-heading>p:not(.eyebrow){font-size:13px}.form-row{gap:12px}input,select,textarea{font-size:16px;padding:8px;max-width:100%}.visit{grid-template-columns:1fr}.visit>img{height:250px;min-height:0}.visit>div{padding:44px 7%}.visit h2{font-size:36px}footer{padding:35px 7% 95px;gap:18px}footer .brand{flex-basis:100%}.mobile-book{display:flex;position:fixed;bottom:14px;left:7%;right:7%;z-index:5;box-shadow:0 6px 30px #1e351a33;min-height:48px}.room-image>span{font-size:12px}}
.mobile-book.is-covering{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility 0s .2s}
@media (prefers-reduced-motion:reduce){.mobile-book.is-covering{transition:none}}

/* Tropical green accents (theme_green.py): coral section labels, lagoon links. */
.section .eyebrow,.plan .eyebrow,.room-picker .eyebrow{color:#a85440}
.selected-badge a,.viewer-caption button,.text-link:hover{color:#2c7f76}
.room-select:hover{color:#2e5a2c}
.explore{background:linear-gradient(180deg,#eaf3e2,#f4f9ef)}

/* Work-B L6 desktop typography (min-width 1024px only): lift remaining 12/13px brand / nav /
   small-heading / address / shuttle copy to >=14px. Mobile (max-width 950/650) sizes and
   geometry are untouched — do not claim mobile screenshots identical after glyph-subset fixes. */
@media (min-width: 1024px) {
  .brand small { font-size: 14px; }
  nav { font-size: 14px; }
  .language { font-size: 14px; }
  .eyebrow { font-size: 14px; }
  .visit p { font-size: 14px; }
  .visit .micro { font-size: 14px; }
  .micro[data-t="transfer"] { font-size: 14px; }
  footer { font-size: 14px; }
  footer .brand { font-size: 15px; }
  footer small { font-size: 14px; }
  footer a, footer p { font-size: 14px; }
}

/* 0525: two native scroll screens, with no wheel acceleration or synthetic page scrolling. */
html body .stage{height:200vh;height:200svh}
html body .stage .stage-step{top:100vh;top:100svh;height:85vh;height:85svh}
.stage.is-live #viewer iframe{pointer-events:auto}
.stage .stage-picker{overscroll-behavior:auto;touch-action:pan-y}
@media(max-width:760px) and (min-height:501px){
 html body .stage .stage-picker{max-height:none;overflow:visible;padding:14px 18px 16px}
 html body .stage-picker .room-chips{gap:5px;margin-bottom:8px}
 html body .stage-picker .selected-summary{margin-top:8px}
}
