@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Italiana&display=swap');
:root{--ink:#171812;--paper:#f0eee8;--muted:#aaa99f;--line:rgba(23,24,18,.18)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-weight:300} img{display:block;width:100%;height:100%;object-fit:cover} a{color:inherit;text-decoration:none}.section{padding:10vw 6vw}.compact-section{padding-top:1vw;padding-bottom:10vw}.brighten{filter:brightness(1.08) saturate(.98)}.brighten-soft{filter:brightness(1.04)}
.topbar{position:fixed;left:0;right:0;top:0;z-index:20;padding:24px 3vw;display:flex;justify-content:space-between;align-items:center;color:white;transition:.35s}.topbar.scrolled{background:rgba(17,18,14,.92);backdrop-filter:blur(12px);padding-top:14px;padding-bottom:14px}.brand{font-size:16px;letter-spacing:.22em;font-weight:500}.topbar nav{display:flex;gap:28px;align-items:center;font-size:12px;letter-spacing:.08em}.nav-book{border:1px solid rgba(255,255,255,.55);padding:11px 15px}.menu{display:none;background:none;border:0}
.hero{height:100svh;min-height:680px;position:relative;color:white;overflow:hidden}.hero>img{position:absolute;inset:0}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.50),rgba(0,0,0,.06) 76%),linear-gradient(0deg,rgba(0,0,0,.24),transparent 46%)}.hero-copy{position:absolute;left:6vw;bottom:12vh;max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:500;margin:0 0 26px}.eyebrow.dark{color:#6e7067}.hero-location{font-size:15px;letter-spacing:.28em;margin-bottom:18px}.hero h1,.section h2,.landscape h2{font-family:Italiana,Georgia,serif;font-weight:400}.hero h1{font-size:clamp(70px,9.2vw,142px);line-height:.86;letter-spacing:.015em;margin:0;text-transform:uppercase}.hero-tagline{font-family:Italiana,Georgia,serif;font-size:clamp(28px,3vw,46px);line-height:1.08;margin:24px 0 0}.hero-tagline em{font-weight:400}.hero-intro{font-size:15px;line-height:1.65;max-width:520px;margin:24px 0}.button{display:inline-flex;padding:14px 20px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:500}.button.light{border:1px solid rgba(255,255,255,.8)}.button.dark{background:var(--ink);color:white}.scroll{position:absolute;right:3vw;bottom:28px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.scroll span{padding-left:10px}
.intro{display:grid;grid-template-columns:.88fr 1.12fr;gap:7vw;align-items:center}.section-label{font-size:15px;letter-spacing:.19em;margin-bottom:20px}.intro h2,.wide-copy h2,.stay h2,.ubud h2,.book h2{font-size:clamp(46px,6vw,92px);line-height:.94;margin:0 0 35px}.lead{font-family:Italiana,Georgia,serif;font-size:28px;line-height:1.35}.intro-copy>p:not(.eyebrow):not(.lead),.design-copy p,.ubud-copy p,.early-copy p{font-size:14px;line-height:1.9;max-width:560px}.intro-architecture{height:50vw;max-height:760px;margin:0}.facts{margin-top:45px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.early-architecture{display:grid;grid-template-columns:1.25fr .52fr;gap:3vw;align-items:end}.early-main{height:47vw;margin:0}.early-copy{align-self:center;padding:4vw 1vw 4vw 2vw}.early-copy h3{font-family:Italiana,Georgia,serif;font-size:clamp(38px,4.2vw,68px);font-weight:400;line-height:.96;margin:0 0 26px}.early-small{grid-column:2;height:26vw;margin:-6vw 0 0}
.bleed-block{margin:0 3vw 8vw}.bleed-image{height:78vh;position:relative;overflow:hidden}.below-caption{margin:14px 0 0;text-align:right;font-family:Italiana,Georgia,serif;font-size:22px;letter-spacing:.01em;color:#4c4e47}
.wide-copy{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:6vw}.wide-copy h2{grid-column:1/3}.editorial-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:4vw}.g-large{height:62vw;max-height:850px;margin:0}.design-copy{align-self:center;padding:3vw}.g-small{grid-column:2;height:34vw;margin-top:-14vw}
.dark-section{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;min-height:90vh}.stay-copy{padding:9vw 7vw;align-self:center}.stay-copy p:not(.eyebrow){line-height:1.9;max-width:560px;color:#c4c4bd}.stay-copy p+p{margin-top:18px}.stay figure{margin:0;min-height:80vh}
.rooms-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2vw}.rooms-grid figure{margin:0}.rooms-grid figure:nth-child(2){margin-top:8vw}.rooms-grid img{height:45vw;max-height:650px}.rooms-grid figcaption{font-size:11px;line-height:1.65;padding-top:12px;max-width:92%}.amenities{margin-top:8vw;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.amenities div{padding:24px 20px 20px 0;border-right:1px solid var(--line)}.amenities div:last-child{border:0}.amenities b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.amenities span{font-size:12px;line-height:1.5;color:#74756d}
.gallery{padding-bottom:8vw}.gallery-head{padding-bottom:5vw}.gallery-head h2{font-size:clamp(46px,6vw,90px);margin:0 0 20px}.gallery-head p:last-child{max-width:430px;line-height:1.8}.masonry{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:10vw;gap:1vw;padding:0 3vw}.tile{border:0;padding:0;cursor:zoom-in;overflow:hidden;background:#ddd}.tile-a{grid-column:1/span 8;grid-row:1/span 3}.tile-b{grid-column:9/span 4;grid-row:1/span 2}.tile-c{grid-column:9/span 4;grid-row:3/span 2}.tile-d{grid-column:1/span 4;grid-row:4/span 2}.tile-e{grid-column:5/span 4;grid-row:4/span 3}.tile-f{grid-column:9/span 4;grid-row:5/span 2}.tile-g{grid-column:1/span 4;grid-row:6/span 1}.tile img{transition:transform .6s}.tile:hover img{transform:scale(1.025)}
.ubud{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.ubud figure{height:70vw;max-height:800px;margin:0}.note{font-size:10px!important;color:#777}.text-link{display:inline-block;margin-top:20px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid;padding-bottom:6px}.landscape{height:88vh;position:relative;color:white}.landscape:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.38),transparent 65%)}.landscape-copy{position:absolute;z-index:2;left:6vw;bottom:10vh}.landscape h2{font-size:clamp(52px,7vw,100px);line-height:.92;margin:0}.book{text-align:center;min-height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.book p:not(.eyebrow){max-width:420px;line-height:1.8;margin:0 0 30px}.book h2{margin-bottom:25px}footer{background:var(--ink);color:#e9e7e0;padding:45px 3vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}footer div{display:flex;gap:25px}footer p{margin:0;color:#82827b}.lightbox{position:fixed;z-index:50;inset:0;background:rgba(10,10,8,.96);display:none;align-items:center;justify-content:center;padding:6vw}.lightbox.open{display:flex}.lightbox img{object-fit:contain;max-width:100%;max-height:100%}.close{position:absolute;top:18px;right:28px;border:0;background:none;color:white;font-size:36px;font-weight:200;cursor:pointer}.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.topbar{padding:20px}.brand{font-size:14px}.topbar nav{position:fixed;inset:0;background:var(--ink);padding:110px 28px 40px;display:none;flex-direction:column;align-items:flex-start;font-size:18px}.topbar nav.open{display:flex}.menu{display:block;z-index:21;width:32px}.menu span{display:block;height:1px;background:#fff;margin:7px 0}.hero{min-height:640px}.hero-copy{left:24px;right:24px;bottom:10vh}.hero-location{font-size:13px}.hero h1{font-size:64px;line-height:.9}.hero-tagline{font-size:31px}.hero-intro{font-size:14px}.scroll{right:20px}.section{padding:90px 24px}.compact-section{padding-top:10px}.intro,.dark-section,.ubud,.early-architecture{grid-template-columns:1fr;gap:45px}.intro h2,.wide-copy h2,.stay h2,.ubud h2,.book h2{font-size:52px}.section-label{font-size:14px}.intro-architecture{height:72vw}.early-main{height:68vw}.early-copy{padding:0}.early-small{grid-column:1;height:58vw;margin:0 0 0 18vw}.bleed-block{margin:0 0 80px}.bleed-image{height:62vh}.below-caption{text-align:left;padding:0 24px;font-size:19px}.wide-copy{display:block}.editorial-grid{grid-template-columns:1fr}.g-large{height:115vw}.design-copy{padding:30px 0}.g-small{grid-column:1;margin:0 0 0 22vw;height:68vw}.stay-copy{padding:90px 24px 20px}.stay figure{min-height:95vw}.rooms-grid{grid-template-columns:1fr}.rooms-grid figure:nth-child(2){margin-top:0}.rooms-grid img{height:105vw}.amenities{grid-template-columns:1fr 1fr}.amenities div:nth-child(2){border-right:0}.masonry{grid-template-columns:1fr 1fr;grid-auto-rows:42vw;gap:4px;padding:0 4px}.tile,.tile-a,.tile-b,.tile-c,.tile-d,.tile-e,.tile-f,.tile-g{grid-column:auto;grid-row:auto;height:42vw}.tile-a{grid-column:span 2;height:85vw}.ubud{padding-top:60px}.ubud figure{height:110vw}.landscape{height:75vh}.landscape-copy{left:24px;bottom:50px}.book{min-height:70vh}footer{grid-template-columns:1fr;gap:25px;align-items:start}footer div{flex-direction:column;gap:8px}}
/* V3 refinements */
.monogram{font-family:Italiana,Georgia,serif;font-size:22px;letter-spacing:.08em}
.hero-copy{max-width:760px}
.hero-logo{display:inline-flex;flex-direction:column;align-items:flex-start;margin-bottom:34px;color:#fff;line-height:.72;text-transform:uppercase;font-family:"DM Sans",Arial,sans-serif;font-weight:500;letter-spacing:-.045em;text-shadow:0 1px 20px rgba(0,0,0,.18)}
.hero-logo span{display:block;font-size:clamp(42px,4.7vw,72px)}
.hero-logo small{font-size:clamp(21px,2vw,30px);line-height:1;margin-top:11px;text-transform:none;letter-spacing:-.035em;font-weight:300}
.hero h1.hero-statement{font-family:Italiana,Georgia,serif;font-size:clamp(42px,5.3vw,80px);line-height:.98;letter-spacing:0;text-transform:none;margin:0}
.hero h1.hero-statement em{font-weight:400}
.story-label{font-size:15px;letter-spacing:.18em;margin-bottom:28px}
.stay h2 span{white-space:nowrap}
.amenities{border:0;gap:18px;grid-template-columns:repeat(4,1fr);align-items:stretch}
.amenities div{border:1px solid var(--line)!important;padding:34px 24px;min-height:150px;text-align:center;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.18)}
.amenities b{font-size:12px;margin-bottom:12px}
.amenities span{font-size:12px;line-height:1.65;max-width:190px;margin:0 auto}
.landscape-eyebrow{font-size:15px;letter-spacing:.19em;margin-bottom:20px}
@media(max-width:800px){
 .monogram{font-size:20px}
 .hero-logo{margin-bottom:26px}
 .hero-logo span{font-size:46px}
 .hero-logo small{font-size:23px}
 .hero h1.hero-statement{font-size:44px;line-height:1}
 .story-label,.landscape-eyebrow{font-size:14px}
 .stay h2 span{white-space:normal}
 .amenities{grid-template-columns:1fr 1fr;gap:10px}
 .amenities div{border:1px solid var(--line)!important;padding:26px 16px;min-height:135px}
}
/* V4 refinements */
.hero-brand-card{width:clamp(130px,12vw,185px);background:#fff;padding:12px 14px;margin-bottom:28px;box-shadow:0 10px 35px rgba(0,0,0,.12)}
.hero-brand-card img{width:100%;height:auto;object-fit:contain;display:block}
.hero h1.hero-statement{font-size:clamp(40px,5vw,74px)}
.story-label{font-size:17px;letter-spacing:.16em}
.stay h2{font-size:clamp(40px,4.7vw,70px);line-height:1.02;margin-bottom:32px}
.story-image{min-height:90vh;overflow:hidden}
.story-image img{object-position:center}
.room-natural{filter:brightness(1.11) saturate(.91) contrast(.98)}
.amenities-wrap{max-width:1180px;margin:8vw auto 0;padding:0 1vw}
.amenities{margin-top:0;gap:16px}
.amenities div{padding:38px 28px;min-height:170px;background:rgba(255,255,255,.28);border:1px solid rgba(23,24,18,.14)!important}
.amenities b{font-size:12px;letter-spacing:.15em;margin-bottom:14px}
.amenities span{font-size:13px;line-height:1.65;max-width:210px}
.booking-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:5px}
.button.whatsapp{border:1px solid var(--ink);background:transparent;color:var(--ink)}
.direct-note{font-size:12px!important;color:#686961;margin-top:22px!important;max-width:620px!important}
.direct-note a{border-bottom:1px solid rgba(23,24,18,.35);padding-bottom:2px}
@media(max-width:800px){
 .hero-brand-card{width:138px;padding:10px 11px;margin-bottom:22px}
 .hero h1.hero-statement{font-size:42px}
 .story-label{font-size:15px}
 .stay h2{font-size:44px;line-height:1.02}
 .story-image{min-height:80vw}
 .amenities-wrap{margin-top:70px;padding:0}
 .amenities{grid-template-columns:1fr;gap:10px}
 .amenities div{min-height:125px;padding:25px 20px}
 .booking-actions{flex-direction:column;width:100%;max-width:360px}
 .booking-actions .button{justify-content:center}
}
/* V5 refinements */
.section-kicker{font-size:16px;letter-spacing:.18em;line-height:1.25;margin-bottom:24px}
.hero-brand-round{width:clamp(142px,12.5vw,190px);height:clamp(142px,12.5vw,190px);border-radius:50%;padding:22px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-left:-2.5vw;background:#fff}
.hero-brand-round img{width:100%;height:100%;object-fit:contain}
/* Architecture + craft: give the crafted object real visual weight */
.editorial-grid{grid-template-columns:1.2fr .8fr;column-gap:3.5vw}
.g-large{height:64vw;max-height:900px}
.g-small.craft-feature{height:42vw;max-height:620px;margin-top:-9vw;overflow:hidden}
.g-small.craft-feature img{object-position:center}
/* Story: strict editorial 50/50 split */
.dark-section.stay{grid-template-columns:50% 50%;min-height:82vh}
.stay-copy{padding:7vw 5.5vw 7vw 6vw}
.stay h2{font-size:clamp(38px,4.15vw,60px);line-height:1.02;margin:0 0 30px;max-width:620px}
.stay h2 span{white-space:normal}
.story-image{min-height:82vh;height:100%;margin:0}
.story-image img{height:100%;object-fit:cover}
.rooms-heading{display:block;margin-bottom:6vw}
.gallery-head .section-kicker{font-size:16px;margin-bottom:24px}
@media(max-width:800px){
 .section-kicker,.gallery-head .section-kicker{font-size:14px}
 .hero-brand-round{width:132px;height:132px;padding:17px;margin-left:-8px}
 .editorial-grid{grid-template-columns:1fr}
 .g-large{height:115vw}
 .g-small.craft-feature{grid-column:1;height:82vw;max-height:none;margin:0 0 0 12vw}
 .dark-section.stay{grid-template-columns:1fr;min-height:0}
 .stay-copy{padding:85px 24px 60px}
 .stay h2{font-size:42px}
 .story-image{min-height:92vw;height:92vw}
}


/* V6 final refinements */
/* Story typography now deliberately matches the site's editorial heading family. */
.stay h2,.stay h2 span{font-family:Italiana,Georgia,serif;font-weight:400;letter-spacing:0}
.story-image img{object-position:center center}
/* Brand seal becomes a discreet signature in the lower-right of the opening screen. */
.hero-brand-corner{position:absolute;right:3vw;bottom:64px;margin:0;width:clamp(112px,9vw,148px);height:clamp(112px,9vw,148px);padding:17px;z-index:3;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.hero .scroll{right:3vw;bottom:28px}
@media(max-width:800px){
 .hero-brand-corner{right:20px;bottom:62px;width:104px;height:104px;padding:14px;margin:0}
 .hero .scroll{right:20px;bottom:26px}
}
/* V8 launch polish */
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:800px){
  .hero-copy{bottom:15vh;max-width:calc(100% - 48px)}
  .hero-brand-corner{width:92px;height:92px;bottom:58px}
  .hero h1.hero-statement{font-size:clamp(38px,11vw,48px)}
  .hero-intro{max-width:88%}
  .story-image img{object-position:center center}
  .book{padding-left:24px;padding-right:24px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.tile img{transition:none}
}
