:root{--cream:#f6f3ec;--ink:#253c37;--muted:#6a736c;--gold:#b29a6c;--line:#d8d8ca;--serif:Georgia,'Times New Roman','Yu Mincho',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}button{border:0}h1,h2,h3,p{margin:0}h2{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.7;letter-spacing:.03em}p{line-height:2.1}.wrap{width:min(1200px,86%);margin:auto}.header{height:98px;padding:0 4.4%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);gap:30px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.13em;font-family:var(--serif);font-size:25px;line-height:1}.sun{font-size:51px;font-weight:400;color:#9a885f}.brand-sub{display:block;font:9px/2.4 sans-serif;letter-spacing:.24em}.header nav{display:flex;gap:37px;margin-left:auto;margin-right:28px;font-size:12px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--gold);transition:width .2s}.header nav a:hover:after{width:100%}.reserve{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 23px;background:var(--ink);color:var(--cream);font-size:12px;letter-spacing:.05em}.menu{display:none;background:none;font-size:24px}.hero{position:relative;min-height:720px;height:calc(100svh - 98px);max-height:920px;overflow:hidden;color:var(--cream)}.hero-photo{position:absolute;inset:0;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,29,25,.64),rgba(12,27,22,.10) 76%),linear-gradient(0deg,rgba(12,25,23,.40),transparent 70%)}.hero-top{position:absolute;top:36px;left:7%;font-size:10px;letter-spacing:.24em}.hero-copy{position:absolute;left:9%;top:18%}.eyebrow{font:10px/1.8 sans-serif;letter-spacing:.23em;color:#788070;margin-bottom:23px}.eyebrow.light{color:#eee9da}.hero h1{font:clamp(65px,7.9vw,122px)/.99 var(--serif);letter-spacing:-.045em;font-weight:400}.hero h1 em{font-weight:400}.hero-ja{margin-top:30px;font-size:14px;line-height:2;letter-spacing:.12em}.hero-link{margin-top:30px;display:inline-flex;gap:55px;padding:0 0 12px;border-bottom:1px solid #b1b5a3;font-size:12px}.hero-link span{font-size:20px}.hero-caption{position:absolute;right:40px;bottom:34px;font-size:8px;letter-spacing:.16em}.scroll{position:absolute;bottom:36px;left:7%;font-size:9px;letter-spacing:.2em;display:flex;gap:24px;align-items:center}.scroll span{font-size:22px}.intro{padding:105px 0 0}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.intro-grid p{font-size:13px;color:#5c6a61;margin-bottom:18px}.intro-foot{margin-top:58px;display:flex;gap:24px;justify-content:space-between;border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:23px 0;font-size:10px;letter-spacing:.17em;color:#667365}.villas{padding-top:108px;padding-bottom:112px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;gap:30px}.section-head h2{line-height:1.55}.serif{font-family:var(--serif);font-weight:400}.section-head h2 .serif{font-size:44px;font-style:italic}.section-aside{color:var(--muted);font-size:12px;margin-bottom:10px}.villa-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%}.villa.second{padding-top:105px}.photo-button{display:block;position:relative;width:100%;padding:0;background:none;height:370px;overflow:hidden}.photo-button img{transition:transform .6s}.photo-button:hover img{transform:scale(1.035)}.photo-label{position:absolute;top:22px;left:22px;background:var(--cream);padding:9px 12px;font-size:8px;letter-spacing:.2em}.photo-open{position:absolute;right:20px;bottom:20px;background:var(--cream);width:42px;height:42px;display:grid;place-items:center;font-size:22px}.villa-title{display:flex;align-items:center;justify-content:space-between;margin-top:23px;gap:15px}.villa-title h3{font:40px var(--serif);font-weight:400}.villa-title h3 em{font-weight:400}.villa-title>span{font-size:11px;color:var(--muted)}.villa-desc{font-size:12px;color:#607064;line-height:2.1;margin:16px 0}.villa-tags{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:10px;color:#6a7568;margin:18px 0 25px}.villa-tags span+span:before{content:'·';margin-right:14px}.text-button{background:none;border-bottom:1px solid #9aab96;padding:0 0 12px;width:100%;display:flex;align-items:center;justify-content:space-between;font-size:12px}.experience{padding:100px 0 108px;background:#e9ece3}.aside-en{font-size:24px;font-style:italic;color:#6f7b6c}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.experience-grid article img{height:330px}.num{margin-top:24px;font-size:9px;letter-spacing:.16em;color:#72816e}.experience-grid h3{font-family:var(--serif);font-size:21px;font-weight:400;margin:12px 0}.experience-grid article>p:last-child{font-size:12px;color:#6c786a}.quiet{position:relative;height:600px;color:var(--cream)}.quiet>img{object-position:center 48%}.quiet:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,30,24,.76),rgba(17,30,24,.05))}.quiet>div{position:absolute;z-index:1;top:115px;left:10%}.quiet h2{font-size:45px;line-height:1.6}.quiet p:last-child{font-size:13px;margin-top:25px;color:#e0e2d6}.access{padding:110px 0;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.access h2{font-size:31px}.access p{font-size:12px;color:#6c766b;margin-top:25px}.access>img{height:550px}dl{margin:35px 0}dl>div{display:flex;border-bottom:1px solid var(--line);padding:17px 0;gap:25px;font-size:12px}dt{font:9px/2 sans-serif;letter-spacing:.14em;min-width:90px;color:#83917e}dd{margin:0;font-size:12px;line-height:1.8}.fine{font-size:10px!important;line-height:1.8}.faq{max-width:900px;padding-bottom:100px}.faq h2{font-size:31px;margin-bottom:34px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:23px 35px 23px 0;position:relative;font-size:13px}summary:after{content:'+';position:absolute;right:8px;font-size:20px;top:18px}details[open] summary:after{content:'−'}details p{padding:0 25px 24px 0;font-size:12px;color:#65715f}.booking-section{text-align:center;background:#263e37;color:var(--cream);padding:95px 25px}.booking-section .eyebrow{color:#b2bca5}.booking-section h2{font-size:56px;font-style:italic}.booking-section>p:not(.eyebrow){font-size:13px;margin:13px 0 30px}.booking-section>button{background:var(--cream);padding:18px 28px;font-size:12px;min-width:285px;display:inline-flex;justify-content:space-between;gap:30px}.booking-section small{display:block;font-size:10px;color:#c0c8b7;margin-top:22px}footer{padding:50px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{font-size:21px}footer .sun{font-size:42px}footer p{font:italic 18px var(--serif);color:#72816b}footer>span{font-size:9px;color:#83907a}dialog{background:var(--cream);color:var(--ink);border:0;max-width:760px;width:90%;max-height:90svh;padding:32px;overscroll-behavior:contain}dialog::backdrop{background:rgba(12,26,22,.67);backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.dialog-top .eyebrow{margin:0}.close{background:none;font-size:30px;line-height:1;min-width:40px;min-height:40px}dialog h2{font-size:28px}dialog>p{font-size:12px;color:var(--muted);margin:10px 0 25px}.booking-choice{display:flex;align-items:center;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.booking-choice img{width:130px;height:94px}.booking-choice strong{display:block;font:29px var(--serif);font-weight:400}.booking-choice small{display:block;font-size:10px;margin-top:12px;color:var(--muted)}.booking-choice>span:last-child{margin-left:auto;font-size:25px}.gallery-stage{position:relative}.gallery-stage>img{height:370px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin:13px 0}.gallery-controls button{background:none;font-size:22px;width:50px;height:40px}.gallery-controls span{font-size:11px;letter-spacing:.1em}.detail-body>p{font-size:13px;line-height:2;margin-top:16px}.detail-body dl{margin-top:22px}.detail-body .reserve{display:flex}.detail-body h2{font:46px var(--serif)}body.modal-open{overflow:hidden}@media(min-width:1600px){.hero-copy{left:max(9%,calc((100vw - 1200px)/2))}}@media(max-width:1000px){.header{height:84px;gap:15px}.header nav{gap:20px;margin-right:10px}.brand{font-size:21px}.brand-sub{font-size:8px}.hero{height:calc(90svh - 84px);min-height:650px}.hero h1{font-size:90px}.photo-button{height:300px}.villa-title{align-items:flex-start;flex-direction:column}.section-head .aside-en{max-width:240px}.experience-grid article img{height:270px}.access{gap:6%}.access h2{font-size:27px}.access>img{height:530px}.intro-grid{gap:7%}h2{font-size:32px}}@media(max-width:700px){.header{height:80px;padding:0 6%;gap:16px}.brand{font-size:19px;gap:8px}.sun{font-size:39px}.brand-sub{font-size:7px;letter-spacing:.16em}.header>.reserve{font-size:10px;padding:12px 13px;margin-left:auto;gap:12px}.menu{display:block;font-size:21px;padding:6px}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);z-index:5;padding:26px 7%;margin:0;flex-direction:column;gap:28px}.header nav.open{display:flex}.hero{height:calc(91svh - 80px);min-height:610px;max-height:850px}.hero-photo{object-position:56% center}.hero-shade{background:linear-gradient(90deg,rgba(15,29,24,.63),rgba(15,29,24,.18)),linear-gradient(0deg,rgba(13,26,22,.40),transparent)}.hero-top{top:25px;left:7%;font-size:8px;letter-spacing:.15em}.hero-copy{left:7%;top:22%}.hero-copy .eyebrow{font-size:10px;letter-spacing:.13em}.hero h1{font-size:clamp(60px,13vw,86px)}.hero-ja{font-size:12px;line-height:2;margin-top:25px}.hero-link{font-size:11px;margin-top:30px;gap:45px}.hero-caption{display:none}.scroll{bottom:26px;font-size:8px}.wrap{width:86%}.intro{padding-top:65px}.intro-grid{grid-template-columns:1fr;gap:26px}.intro-grid h2{font-size:28px}.intro-grid p{font-size:12px}.intro-foot{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;font-size:8px;padding:22px 0}.eyebrow{font-size:9px;margin-bottom:17px}.villas{padding-top:65px;padding-bottom:65px}.section-head{margin-bottom:30px;align-items:flex-start}.section-head h2{font-size:28px}.section-head h2 .serif{font-size:32px}.section-aside{display:none}.villa-grid{grid-template-columns:1fr;gap:45px}.villa.second{padding-top:0}.photo-button{height:310px}.villa-title{flex-direction:row;align-items:center}.villa-title h3{font-size:35px}.villa-title>span{font-size:10px}.villa-desc{font-size:12px}.experience{padding:65px 0}.section-head .aside-en{display:none}.experience-grid{grid-template-columns:1fr;gap:38px}.experience-grid article img{height:290px}.num{margin-top:15px}.experience-grid h3{font-size:22px}.quiet{height:500px}.quiet>div{top:100px;left:7%}.quiet h2{font-size:34px}.quiet>img{object-position:35%}.access{padding:65px 0;grid-template-columns:1fr;gap:34px}.access h2{font-size:27px}.access>img{height:380px}.faq{padding-bottom:65px}.faq h2{font-size:28px}.booking-section{padding:65px 22px}.booking-section h2{font-size:40px;line-height:1.3}.booking-section>p:not(.eyebrow){font-size:12px;margin-top:18px}footer{padding:40px 7%;flex-wrap:wrap;gap:26px}footer .brand{font-size:20px}footer p{width:100%;order:3;font-size:16px}footer>span{margin-left:auto;font-size:8px}dialog{padding:22px;width:94%;max-height:92svh}dialog h2{font-size:23px}.booking-choice{gap:13px}.booking-choice img{width:90px;height:85px}.booking-choice strong{font-size:25px}.booking-choice small{font-size:9px;max-width:165px;line-height:1.8}.gallery-stage>img{height:265px}.detail-body h2{font-size:35px}.detail-body>p{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:700px){.header{gap:10px}.header .brand{font-size:18px;gap:6px;flex-shrink:0}.header .sun{font-size:34px}.header>.reserve{white-space:nowrap;flex-shrink:0;padding:12px 11px;font-size:9px;gap:9px}.menu{padding:5px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.chat-launcher{position:fixed;right:27px;bottom:26px;z-index:15;background:var(--cream);color:var(--ink);width:76px;height:76px;border-radius:50%;border:1px solid #c6ccbd;box-shadow:0 5px 25px #152b2730;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;transition:transform .2s}.chat-launcher:hover{transform:translateY(-3px)}.chat-launcher svg{width:31px;height:31px}.chat-launcher-label{font-size:9px;letter-spacing:.06em}.chat-panel{position:fixed;right:28px;bottom:115px;z-index:20;width:385px;max-width:calc(100vw - 32px);max-height:calc(100svh - 150px);background:var(--cream);border:1px solid #d8dccf;box-shadow:0 15px 65px #0e27283b;border-radius:12px;overflow:auto;overscroll-behavior:contain}.chat-panel[hidden],.chat-panel [hidden]{display:none}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:var(--cream);padding:22px 24px 19px}.chat-brand{font-size:8px;letter-spacing:.17em;color:#c5cfbc}.chat-head h2{font-family:inherit;font-size:18px;line-height:1.6;margin-top:8px}.chat-head>button{background:none;color:var(--cream);font-size:28px;min-width:32px;min-height:38px}.chat-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 20px}.chat-tabs button{background:none;padding:16px 12px;font-size:12px;width:50%;border-bottom:2px solid transparent;color:#7b8773}.chat-tabs button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink)}.chat-preview-note{font-size:10px;color:#7b806e;background:#eeeee3;text-align:center;padding:9px 10px}.chat-log{height:215px;overflow:auto;padding:20px 18px 10px;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px}.message{max-width:92%;font-size:12px;flex-shrink:0}.message.guide{align-self:flex-start}.message>span{display:block;font-size:8px;letter-spacing:.09em;color:#86907d;margin:0 0 7px 2px}.message>p{background:#e8ece2;padding:14px 16px;border-radius:2px 12px 12px 12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.message.guest{align-self:flex-end}.message.guest>p{color:var(--cream);background:var(--ink);border-radius:12px 2px 12px 12px}.chat-topics{display:flex;gap:7px;flex-wrap:wrap;padding:10px 18px 15px}.chat-topics button{border:1px solid #cbd2c1;background:transparent;border-radius:20px;padding:9px 12px;font-size:10px}.chat-topics button:hover{background:#e8ece2}.chat-compose{margin:0 18px;display:flex;align-items:flex-end;border:1px solid #cbd2c1;border-radius:7px;background:#fff;padding:10px;gap:8px}.chat-compose textarea{resize:none;min-width:0;width:100%;font:13px/1.7 inherit;border:0;color:var(--ink);background:none;outline-offset:2px}.chat-compose>button{flex-shrink:0;background:var(--ink);color:var(--cream);height:34px;width:34px;border-radius:50%;font-size:23px}.chat-note{font-size:9px;line-height:1.7;color:#838a7b;margin:10px 18px 16px}.line-content{text-align:center;padding:30px 24px}.line-mark{display:inline-flex;background:#06c755;color:white;border-radius:12px;padding:13px 16px;font:bold 20px Arial,sans-serif;letter-spacing:.03em}.line-content h3{font:22px/1.6 var(--serif);margin:23px 0 16px}.line-content p{font-size:12px;color:#6a7663;line-height:2.1}.line-benefits{display:flex;flex-direction:column;gap:12px;margin:24px 0;text-align:left;font-size:11px}.line-benefits span:before{content:'✓';margin-right:13px;color:#60845b}.line-content>button{background:#d9e5d5;color:#5f755a;width:100%;padding:15px;font-size:12px;cursor:default}.line-content>small{display:block;margin-top:12px;color:#83907a;font-size:9px;line-height:1.8}@media(max-width:700px){.chat-launcher{right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:65px;height:65px}.chat-launcher svg{width:29px;height:29px}.chat-launcher-label{font-size:8px}.chat-panel{right:12px;bottom:96px;width:365px;max-width:calc(100vw - 24px);max-height:calc(100svh - 120px)}.chat-head{padding:17px 20px}.chat-log{height:min(215px,27svh)}.chat-compose textarea{font-size:16px}.chat-topics button{min-height:39px}.chat-note{font-size:10px}.chat-tabs button{min-height:48px}}
.chat-compose textarea{font-family:inherit;font-size:13px;line-height:1.7}@media(max-width:700px){.chat-compose textarea{font-size:16px}.chat-topics button{min-height:44px}}
@media(max-width:700px){.chat-panel{right:16px;width:calc(100% - 32px);max-width:365px}}
.staff-contact{display:block;margin:16px auto 4px;background:var(--ink);color:var(--cream);padding:13px 22px;font-size:12px;width:calc(100% - 36px)}.staff-contact:disabled{opacity:.6;cursor:wait}.staff-status{text-align:center;font-size:11px;padding:0 18px}.line-friend-link{display:block;background:#06c755;color:#fff;padding:15px;font-size:12px}
.property-hero{height:620px;position:relative;color:var(--cream)}.property-hero img{object-position:center}.property-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#122820a6,transparent 70%)}.property-hero-copy{position:absolute;left:7%;bottom:58px;z-index:1}.property-hero h1{font:80px/1.1 var(--serif);font-weight:400}.property-hero-copy>p:last-child{margin-top:18px;font-size:13px;letter-spacing:.08em}.property-overview{padding:80px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:12%}.property-overview h2{font-size:32px;margin-bottom:22px}.property-overview p{font-size:13px;color:#607064}.property-overview dl{margin-top:0}.property-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:30px}.property-actions .text-button{width:auto;gap:30px}.property-gallery{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;padding-bottom:80px}.property-gallery img{height:440px}.property-notes{max-width:900px;padding-bottom:85px}.property-notes h2{font-size:29px;margin-bottom:26px}.property-notes ul{padding:0;list-style:none;margin:0}.property-notes li{padding:19px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.9}.property-notes li strong{font-weight:500;display:block;color:var(--ink);margin-bottom:6px}.property-other{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:30px 0 70px;font:27px var(--serif)}.property-other a{font:13px 'Yu Gothic',sans-serif;border-bottom:1px solid var(--ink);padding:10px 0}.property-breadcrumb{padding:20px 7%;font-size:10px;color:#72816b}.property-breadcrumb a{border-bottom:1px solid var(--line)}@media(max-width:700px){.property-hero{height:510px}.property-hero h1{font-size:59px}.property-hero-copy{bottom:40px}.property-overview{padding:50px 0;grid-template-columns:1fr;gap:35px}.property-overview h2{font-size:27px}.property-gallery{grid-template-columns:1fr;gap:18px;padding-bottom:55px}.property-gallery img{height:320px}.property-notes{padding-bottom:50px}.property-notes h2{font-size:26px}.property-other{padding-bottom:50px;font-size:23px}}
.capacity-note{font-size:10px;line-height:1.8;color:#7b826e;margin-top:12px}.capacity-detail{display:block;font-size:10px;color:#7b826e;margin-top:6px}.inline-link{text-decoration:underline;text-underline-offset:3px}.property-options{display:grid;grid-template-columns:1fr 1.25fr;gap:12%;padding-bottom:85px;scroll-margin-top:35px}.option-heading h2{font-size:32px}.option-heading>p:last-child{font-size:12px;color:var(--muted);margin-top:15px}.sauna-option{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.option-label{font-size:9px;letter-spacing:.16em;color:#7d866d}.option-title{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:14px 0 18px}.option-title h3{font:26px/1.6 var(--serif);font-weight:400}.campaign-label{font-size:10px;background:#e3e9da;color:#456047;padding:7px 10px}.sauna-option>p:not(.option-label){font-size:12px;color:#68745f}.option-pricing{display:flex;gap:38px;align-items:flex-end;margin:26px 0 30px}.option-pricing>div{display:flex;flex-direction:column;gap:8px}.option-pricing span{font-size:10px;color:#7d866d}.option-pricing s{font:22px var(--serif);color:#7e8575;text-decoration-thickness:1px}.option-pricing strong{font-size:35px;font-weight:400;color:var(--ink);line-height:1.15}@media(max-width:700px){.property-options{grid-template-columns:1fr;gap:25px;padding-bottom:55px}.option-heading h2{font-size:27px}.option-title h3{font-size:23px}.option-pricing{gap:30px}.campaign-label{font-size:9px}}

/* The shared homepage introduces both villas in a slow photographic crossfade. */
.hero .hero-photo{opacity:0;transition:opacity 2.5s ease-in-out;pointer-events:none}.hero .hero-photo.is-active{opacity:1}
.hero-switcher{position:absolute;left:9%;bottom:92px;display:flex;align-items:center;gap:24px;z-index:1}
.hero-villa{background:transparent;color:var(--cream);text-align:left;padding:12px 0 14px;min-width:170px;border-top:1px solid #ffffff55;opacity:.65;transition:opacity .3s,border-color .3s}
.hero-villa.is-active,.hero-villa:hover{opacity:1;border-color:var(--cream)}.hero-villa>span{display:block;font:25px var(--serif)}.hero-villa small{display:block;font-size:8px;letter-spacing:.14em;margin-top:7px}.hero-pause{width:40px;height:40px;border:1px solid #ffffff70;border-radius:50%;color:var(--cream);background:#152b2440;font-size:14px}
@media(max-width:700px){.hero-switcher{left:7%;right:7%;bottom:72px;gap:18px}.hero-villa{min-width:0;flex:1;padding:10px 0}.hero-villa>span{font-size:22px}.hero-villa small{font-size:7px;letter-spacing:.07em}.hero-pause{width:34px;height:34px;flex-shrink:0}}

.villa-film{padding:100px 0;background:#e7e8de}.film-grid{display:grid;grid-template-columns:1fr minmax(0,440px);gap:12%;align-items:center}.film-copy h2{font-size:32px;line-height:1.65}.film-en{font-size:27px;font-style:italic;color:#77816e;margin:20px 0 30px}.film-description{font-size:13px;color:#5c6a61;margin-bottom:40px}.film-copy .text-button{max-width:310px}.film-copy>small{display:block;font-size:10px;letter-spacing:.05em;color:#7a8174;margin-top:18px}.film-player{background:#fff;box-shadow:0 18px 60px #253c3712;line-height:0;overflow:hidden}.film-player iframe{display:block;width:100%;height:760px;border:0;background:#fff}
@media(max-width:700px){.villa-film{padding:65px 0}.film-grid{grid-template-columns:1fr;gap:35px}.film-copy h2{font-size:29px}.film-en{font-size:24px;margin:15px 0 22px}.film-description{font-size:12px;margin-bottom:26px}.film-player{width:100%;max-width:440px;margin:auto}.film-player iframe{height:710px}}
/* Room-by-room photographic guide. */
.facilities{padding:20px 0 75px}.facility-nav{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 65px}.facility-nav a{padding:12px 16px;border:1px solid #cbd1c2;font-size:11px}.facility-nav a:hover{background:var(--ink);color:var(--cream)}.facility-category{padding:0 0 65px;scroll-margin-top:30px}.facility-category-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;margin-bottom:30px}.facility-category-head h3{font:29px/1.6 var(--serif);font-weight:400;text-wrap:balance}.facility-category-head .eyebrow{font-size:9px;margin-bottom:12px}.facility-category-head>div>p:not(.eyebrow){font-size:13px;color:#64715f;line-height:2}.facility-category-head ul{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:18px 0 0}.facility-category-head li{font-size:10px;padding:8px 11px;background:#e8ece1;line-height:1.6}.facility-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.facility-photos figure{margin:0;min-width:0}.facility-photo{position:relative;display:block;width:100%;height:245px;padding:0;overflow:hidden;background:#e4e9df}.facility-photo img{transition:transform .6s}.facility-photo:hover img{transform:scale(1.04)}.facility-photos figcaption{font-size:11px;color:#68755f;margin-top:13px;line-height:1.8}.facility-enlarge{position:absolute;bottom:12px;right:12px;background:var(--cream);padding:6px 10px;font-size:18px}.facility-source-note{font-size:11px;color:#77816d;border-top:1px solid var(--line);padding-top:25px}.facility-dialog{max-width:1150px}.facility-lightbox-image{height:min(65svh,720px);position:relative;background:#dfe4d7}.facility-lightbox-image>img{object-fit:contain}.facility-lightbox-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.facility-lightbox-controls button{background:transparent;font-size:25px;width:48px;height:44px}.facility-lightbox-controls p{font-size:12px}.facility-dialog .facility-lightbox-caption{font-size:13px;margin:10px 0 0}
/* Label each property photograph at its source. */
.photo-frame{display:block;position:relative;overflow:hidden;min-width:0}.photo-frame>img{width:100%;height:100%;object-fit:cover}.villa-photo-badge{position:absolute;top:14px;left:14px;z-index:2;display:block;padding:8px 12px;background:rgba(246,243,236,.94);color:#253c37;font:13px/1.2 var(--serif);letter-spacing:.07em;pointer-events:none;box-shadow:0 1px 8px #0000000d}.hero-house-badge{top:72px;left:7%;background:#f6f3ecdd}.photo-button>.photo-frame{height:100%}.photo-button>.photo-label{top:56px;left:14px}.experience-grid article>.photo-frame{height:330px}.quiet>.photo-frame{height:100%}.access>.photo-frame{height:550px}.booking-choice>.photo-frame{width:130px;height:94px;flex-shrink:0}.booking-choice .villa-photo-badge{top:5px;left:5px;font-size:10px;padding:5px 7px}.gallery-stage>.photo-frame{height:370px}.property-hero>.photo-frame{height:100%}.property-gallery>.photo-frame{height:440px}.offer-card>.photo-frame{height:100%;min-height:310px;max-height:420px}.selectable-option>.photo-frame{height:210px}.option-villa-gateway a>.photo-frame{height:320px}.film-player{position:relative;overflow:visible}.film-player:before{content:'Villa 1';position:absolute;left:0;top:-32px;font:14px var(--serif);letter-spacing:.08em}.facility-lightbox-image .photo-frame{height:100%}.facility-lightbox-image .photo-frame>img{object-fit:contain}
/* The owner's official logo replaces the provisional wordmark. */
.header,.header nav,footer{background:#040508;color:var(--cream)}.header{height:116px}.brand.brand-official{display:block;width:155px;flex-shrink:0}.brand-official img{height:108px;width:155px;object-fit:contain}.header>.reserve{background:var(--cream);color:var(--ink)}footer .brand-official{width:160px}footer .brand-official img{width:160px;height:116px}footer p,footer>span,.footer-instagram small{color:#c2c5b7}.hero{height:calc(100svh - 116px)}
@media(max-width:1000px){.experience-grid article>.photo-frame{height:270px}.access>.photo-frame{height:530px}.hero{height:calc(90svh - 116px)}.facility-photo{height:210px}}
@media(max-width:700px){.header{height:90px}.brand.brand-official{width:102px}.brand-official img{width:102px;height:78px}.header nav{top:90px}.hero{height:calc(91svh - 90px)}.hero-house-badge{top:58px;font-size:11px}.experience-grid article>.photo-frame{height:290px}.access>.photo-frame{height:380px}.booking-choice>.photo-frame{width:90px;height:85px}.gallery-stage>.photo-frame{height:265px}.offer-card>.photo-frame{height:240px;min-height:0}.selectable-option>.photo-frame{height:230px}.option-villa-gateway a>.photo-frame{height:260px}.facility-nav{gap:8px;margin:25px 0 40px}.facility-nav a{padding:10px 12px;font-size:10px}.facilities{padding-bottom:35px}.facilities .section-head h2{font-size:27px}.facility-category{padding-bottom:45px}.facility-category-head{grid-template-columns:1fr;gap:18px;margin-bottom:22px}.facility-category-head h3{font-size:25px}.facility-category-head>div>p:not(.eyebrow){font-size:12px}.facility-photos{grid-template-columns:1fr 1fr;gap:18px 12px}.facility-photo{height:170px}.facility-photos figure:first-child{grid-column:1/-1}.facility-photos figure:first-child .facility-photo{height:260px}.facility-photos figcaption{font-size:10px;margin-top:9px}.villa-photo-badge{top:10px;left:10px;padding:6px 9px;font-size:12px}.facility-lightbox-image{height:60svh}.facility-dialog .dialog-top .eyebrow{font-size:8px;max-width:80%}.film-player{margin-top:16px}}

/* White and champagne-gold palm emblem, paired with the original editorial wordmark. */
.header,.header nav,footer{background:var(--cream);color:var(--ink)}.header{height:98px}.brand.brand-horizontal{display:flex;align-items:center;gap:15px;width:auto;flex-shrink:0}.brand-emblem{width:70px;height:70px;border-radius:50%;background:#253c37;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px #b29a6c66}.brand-emblem img{width:61px;height:61px;object-fit:contain}.brand-wordmark{font:25px/1 var(--serif);letter-spacing:.13em;white-space:nowrap}.brand-wordmark .brand-sub{font:9px/2.4 sans-serif;letter-spacing:.24em;color:#6a736c}.header>.reserve{background:var(--ink);color:var(--cream)}footer .brand-emblem{width:64px;height:64px}footer .brand-emblem img{width:56px;height:56px}footer .brand-wordmark{font-size:22px}footer p,footer>span,.footer-instagram small{color:#72816b}.hero{height:calc(100svh - 98px)}
@media(max-width:1100px){.header{gap:20px}.brand.brand-horizontal{gap:11px}.brand-emblem{width:58px;height:58px}.brand-emblem img{width:50px;height:50px}.brand-wordmark{font-size:22px}.brand-wordmark .brand-sub{font-size:8px;letter-spacing:.18em}}
@media(max-width:1000px){.header{height:84px}.hero{height:calc(90svh - 84px)}}
@media(max-width:700px){.header{height:80px;gap:12px}.brand.brand-horizontal{gap:9px}.brand-emblem{width:42px;height:42px}.brand-emblem img{width:36px;height:36px}.brand-wordmark{font-size:17px;letter-spacing:.09em}.brand-wordmark .brand-sub{font-size:6px;letter-spacing:.12em;line-height:2.6}.header>.reserve{padding:12px 10px;gap:8px;font-size:10px}.header nav{top:80px}.hero{height:calc(91svh - 80px)}footer .brand.brand-horizontal{gap:12px}footer .brand-emblem{width:54px;height:54px}footer .brand-emblem img{width:47px;height:47px}footer .brand-wordmark{font-size:21px}}

.hero .hero-house-badge{top:72px;left:7%}@media(max-width:700px){.hero .hero-house-badge{top:58px;left:7%}}

/* Approved primary identity: ivory wordmark and gold palms on forest green. */
.header,.header nav,footer{background:#253c37;color:#f6f3ec}.brand.brand-primary{display:block;flex-shrink:0;width:245px}.brand-primary .brand-primary-logo{display:block;width:100%;height:auto;object-fit:contain}.header>.reserve{background:#f6f3ec;color:#253c37}.header nav a:after{background:#b29a6c}footer .brand.brand-primary{width:245px}footer p,footer>span,.footer-instagram small{color:#c6ccbc}@media(max-width:1100px){.brand.brand-primary{width:220px}}@media(max-width:700px){.brand.brand-primary{width:158px}.header{gap:10px}footer .brand.brand-primary{width:220px}}
/* A separate photographic carousel for each property. */
.property-hero[data-property-carousel]{overflow:hidden}.property-slides,.property-slide{position:absolute;inset:0}.property-slide{opacity:0;transition:opacity 2.5s ease-in-out;pointer-events:none}.property-slide.is-active{opacity:1}.property-slide img{height:100%;width:100%;object-fit:cover}.property-slide .villa-photo-badge{top:22px;left:7%}.property-hero[data-property-carousel] .property-hero-copy{bottom:95px}.property-carousel-controls{position:absolute;right:7%;bottom:28px;display:flex;align-items:center;gap:12px;z-index:3}.property-carousel-controls button{border:1px solid #f6f3ec88;background:#253c3740;color:#f6f3ec;width:42px;height:42px;border-radius:50%;font-size:18px}.property-carousel-controls button:hover{background:#253c3799}.property-slide-count{font:11px sans-serif;letter-spacing:.16em;margin-right:10px;min-width:40px}.property-carousel-controls [data-property-pause]{font-size:14px}@media(max-width:700px){.property-hero[data-property-carousel] .property-hero-copy{bottom:105px}.property-carousel-controls{left:7%;right:auto;bottom:28px;gap:12px}.property-carousel-controls button{width:38px;height:38px}.property-slide .villa-photo-badge{top:18px;left:7%}}
/* Detailed, house-specific equipment and guest information. */
.stay-page-nav{display:flex;flex-wrap:wrap;gap:15px 30px;padding-top:30px;padding-bottom:25px;border-bottom:1px solid var(--line)}.stay-page-nav a{font-size:11px;padding:10px 0;border-bottom:1px solid #98a68f}.amenities-section{padding:20px 0 50px}.amenities-section h2,.stay-guide h2,.neighborhood h2{font-size:32px}.amenity-groups{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;align-items:start}.amenity-group{border-bottom:1px solid var(--line)}.amenity-group summary{padding:23px 55px 23px 0;font-size:13px;display:flex;gap:15px;justify-content:space-between}.amenity-group summary>span{font-size:10px;color:#7b8673;white-space:nowrap}.amenity-group ul{list-style:none;padding:0 25px 22px 0;margin:0}.amenity-group li{display:flex;gap:13px;line-height:1.9;font-size:12px;color:#5b6c58;margin:9px 0;overflow-wrap:anywhere}.amenity-group li>span{color:#87946f}.amenity-group li.not-available{color:#8b8273}.stay-smallprint{font-size:11px;line-height:2;color:#78836e;margin-top:25px}.stay-guide{padding:45px 0 65px}.guide-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;gap:20px}.guide-highlights span{display:block;font:9px sans-serif;letter-spacing:.15em;color:#78856b;margin-bottom:15px}.guide-highlights strong{font-size:16px;font-weight:400}.guide-nav{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 45px}.guide-nav a{font-size:11px;padding:12px 15px;background:#e7ebdf}.guide-category{margin-top:40px;scroll-margin-top:30px}.guide-category h3{font:26px/1.7 var(--serif);font-weight:400;border-bottom:2px solid #9aa78d;padding-bottom:18px}.guide-category dl{margin:0}.guide-category dl>div{display:grid;grid-template-columns:220px 1fr;gap:35px;padding:23px 0}.guide-category dt{font:13px/2 'Yu Gothic',sans-serif;letter-spacing:0;min-width:0;color:var(--ink)}.guide-category dd{font-size:12px;line-height:2.1;color:#65735d}.guide-bottom-links{display:flex;gap:35px;margin-top:45px}.guide-bottom-links a{width:50%;font-size:11px}.neighborhood{padding-bottom:70px}.neighborhood-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 45px;margin-top:35px}.neighborhood-grid>div{border-top:1px solid var(--line);padding-top:22px}.neighborhood-grid h3{font:21px var(--serif);font-weight:400;margin-bottom:14px}.neighborhood-grid p{font-size:12px;color:#66755d}.property-registration{font-size:10px;color:#7b866e;padding-bottom:25px}
@media(max-width:700px){.stay-page-nav{gap:5px 20px;padding-top:20px;padding-bottom:20px}.stay-page-nav a{font-size:10px}.amenities-section{padding-top:0;padding-bottom:20px}.amenities-section h2,.stay-guide h2,.neighborhood h2{font-size:27px}.amenity-groups{grid-template-columns:1fr;gap:0}.amenity-group summary{font-size:12px}.amenity-group li{font-size:12px}.stay-guide{padding-top:30px;padding-bottom:45px}.guide-highlights{grid-template-columns:1fr 1fr;gap:25px 18px}.guide-highlights strong{font-size:13px}.guide-highlights span{font-size:8px;margin-bottom:10px}.guide-nav{gap:8px;margin:25px 0 30px}.guide-nav a{font-size:10px;padding:10px 12px}.guide-category{margin-top:30px}.guide-category h3{font-size:23px}.guide-category dl>div{grid-template-columns:1fr;gap:10px;padding:20px 0}.guide-category dt{font-size:13px}.guide-category dd{font-size:12px}.guide-bottom-links{display:block;margin-top:30px}.guide-bottom-links a{width:100%;margin-top:23px}.neighborhood{padding-bottom:45px}.neighborhood-grid{grid-template-columns:1fr;gap:24px}.property-registration{font-size:9px}}

.booking-section>a.reserve{background:var(--cream);color:var(--ink);min-width:285px;padding:18px 28px;justify-content:space-between}
/* A consistent, visible booking entry on every property page. */
.has-booking-rail{padding-bottom:90px}.has-booking-rail>.header{position:sticky;top:0;z-index:12}.site-booking-rail{position:fixed;bottom:0;left:0;right:0;z-index:14;border-top:1px solid #cbd4c2;background:rgba(246,243,236,.98);padding:15px 7%;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 -5px 25px #253c3708}.site-booking-rail strong{font:22px var(--serif);font-weight:400;display:block}.site-booking-rail span{display:block;font-size:10px;color:#7c886d;margin-top:7px}.site-booking-rail>a{display:block;padding:18px 30px;background:var(--ink);color:var(--cream);font-size:12px}.has-booking-rail .chat-launcher{bottom:115px}.has-booking-rail .chat-panel{bottom:205px;max-height:calc(100svh - 240px)}.has-booking-rail .header .reserve{white-space:nowrap}
@media(max-width:700px){.has-booking-rail{padding-bottom:90px}.site-booking-rail{padding:12px 6% max(12px,env(safe-area-inset-bottom));gap:12px}.site-booking-rail strong{font-size:16px}.site-booking-rail span{font-size:8px;max-width:145px;line-height:1.6}.site-booking-rail>a{padding:17px 15px;font-size:11px;white-space:nowrap}.has-booking-rail .header .reserve{font-size:9px;padding:12px 9px;gap:6px}.has-booking-rail .chat-launcher{bottom:105px;right:15px}.has-booking-rail .chat-panel{bottom:180px;max-height:calc(100svh - 205px)}}
@media(min-width:701px){.has-booking-rail .property-carousel-controls{right:calc(7% + 90px)}}

.inquiry-compose{display:flex;flex-direction:column;align-items:stretch;padding:14px;gap:9px}.inquiry-compose label{font-size:12px;line-height:1.7}.inquiry-compose input:not([type=checkbox]),.inquiry-compose textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #cbd2c1;border-radius:3px;padding:10px;background:white;font:16px/1.5 inherit}.inquiry-compose .inquiry-consent{display:flex;gap:8px;align-items:flex-start}.inquiry-compose .inquiry-consent input{margin-top:4px}.inquiry-compose>button{width:100%;height:auto;min-height:44px;border-radius:3px;font-size:13px;padding:12px}.inquiry-compose button:disabled{opacity:.6}.inquiry-compose .inquiry-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.inquiry-compose a{text-decoration:underline}.inquiry-compose #inquiry-result{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.chat-panel [hidden]{display:none!important}.inquiry-compose input:not([type=checkbox]),.inquiry-compose textarea{font-family:inherit;font-size:16px}

.inquiry-faq{margin:0 18px 12px;border-bottom:1px solid #cbd2c1}.inquiry-faq summary{font-size:12px;line-height:1.8;cursor:pointer;padding:12px 0}.inquiry-faq .chat-log{height:auto;max-height:160px;padding:4px 0 10px}.inquiry-faq .chat-topics{padding:10px 0 15px}.chat-head{padding:15px 20px}.chat-tabs button{padding:12px}.inquiry-compose{gap:7px;padding:12px}.inquiry-compose textarea{min-height:70px}.chat-preview-note{line-height:1.7}

.visual-guide-discover{display:block;width:fit-content;margin-top:18px;padding-bottom:6px;border-bottom:1px solid #aebc9c;color:#6a7e5c;font-size:11px;line-height:1.7;letter-spacing:.03em}
