
body{margin:0;background:#14201d}
a{color:#1f3a34}a:hover{color:#80612f}
.hero{position:relative;overflow:hidden;min-height:760px;display:flex;align-items:center;justify-content:center;text-align:center}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:sk-zoom 18s ease-out forwards}
@keyframes sk-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
.up{opacity:0;transform:translateY(22px);animation:sk-up 1s cubic-bezier(.2,.7,.2,1) forwards}
.u1{animation-delay:.3s}.u2{animation-delay:.75s}.u3{animation-delay:1.2s}.u4{animation-delay:1.6s}.u5{animation-delay:1.95s}
@keyframes sk-up{to{opacity:1;transform:none}}
.cue{width:1px;height:56px;background:rgba(246,241,231,.35);position:relative;overflow:hidden;margin:56px auto 0}
.cue::after{content:"";position:absolute;left:0;top:-56px;width:1px;height:56px;background:#e3c48f;animation:sk-cue 2.4s ease-in-out 2.4s infinite}
@keyframes sk-cue{to{top:56px}}
.rv{opacity:0;transform:translateY(28px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.rv.on{opacity:1;transform:none}
.rv.d2{transition-delay:.15s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.45s}
.split{display:flex;flex-wrap:wrap}
.frame{position:relative;overflow:hidden;flex:1 1 560px;min-width:0;min-height:640px;background:#14201d}
.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.photo.on{opacity:1;animation:sk-kb 7s ease-out forwards}
@keyframes sk-kb{from{transform:scale(1.1)}to{transform:scale(1)}}
.in{opacity:0;transform:translateY(16px);animation:sk-up .8s cubic-bezier(.2,.7,.2,1) forwards}
.in2{opacity:0;transform:translateY(16px);animation:sk-up .8s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:.15s}
.tab{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;padding:13px 0 11px;font-family:'Jost',sans-serif;font-size:14px;letter-spacing:.06em;border-top:1px solid rgba(246,241,231,.16);transition:color .4s ease}
.tab:focus-visible{outline:2px solid #c19a5b;outline-offset:2px}
.bar{display:block;height:2px;margin-top:9px;background:#c19a5b;width:0}
.bar.run{animation:sk-bar 7s linear forwards}.bar.full{width:100%}
@keyframes sk-bar{to{width:100%}}
.swipe{display:none}.mob{display:none}
.line{height:1px;background:#c19a5b;width:0;transition:width 1.6s cubic-bezier(.5,0,.2,1) .2s}
.line.on{width:100%}
.dest{position:relative;overflow:hidden;display:block;min-height:520px;text-decoration:none;border-radius:20px;isolation:isolate}
.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.dest:hover img{transform:scale(1.06)}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,32,29,.55) 0%,rgba(20,32,29,0) 26%,rgba(20,32,29,0) 42%,rgba(20,32,29,.78) 100%)}
.why-m{display:none}
.wd-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.wd-photo{position:sticky;top:0;align-self:start;height:100vh;overflow:hidden;background:#14201d}
.wph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(100% 0 0 0);transform:scale(1.08);transition:clip-path 1.3s cubic-bezier(.65,0,.2,1),transform 2.2s cubic-bezier(.2,.7,.2,1)}
.wph.on{clip-path:inset(0 0 0 0);transform:scale(1)}
.wd-shade{position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(180deg,rgba(20,32,29,0),rgba(20,32,29,.55));z-index:20;pointer-events:none}
.wd-nav{position:absolute;left:40px;bottom:48px;z-index:21;display:flex;gap:6px}
.wd-dot{all:unset;box-sizing:border-box;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',Georgia,serif;font-size:17px;transition:color .5s ease}
.wd-dot:focus-visible{outline:2px solid #c19a5b;outline-offset:2px}
.wd-prog{position:absolute;left:40px;right:40px;bottom:36px;height:1px;background:rgba(246,241,231,.25);z-index:21}
.wd-fill{display:block;height:1px;background:#c19a5b;transition:width .25s linear}
.wd-list{padding:0 64px}
.wd-intro{min-height:62vh;display:flex;flex-direction:column;justify-content:center;max-width:520px}
.wd-item{min-height:74vh;display:flex;flex-direction:column;justify-content:center;max-width:480px;opacity:.28;transition:opacity .8s ease}
.wd-item.active{opacity:1}
.wd-num{font-family:'Playfair Display',Georgia,serif;font-size:64px;line-height:1;margin:0 0 14px;color:#c19a5b}
.wd-h{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:38px;line-height:1.15;margin:0 0 16px}
.mask{display:block;overflow:hidden;padding-bottom:4px}
.mline{display:block;transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.wd-item.seen .mline{transform:none}
.wd-line{font-size:19px;line-height:1.6;margin:0;color:#e8dfcd}
.mcard{position:sticky;overflow:hidden;border-radius:18px;background:#1f3a34;border:1px solid rgba(193,154,91,.35);margin-bottom:22px;box-shadow:0 -10px 30px rgba(10,18,16,.35)}
.eb{font-family:'Jost',sans-serif;font-weight:400;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#e3c48f;margin:0 0 14px}
.h2w{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:42px;line-height:1.15;margin:0}
.h2w span{color:#e3c48f}
.bl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center;max-width:1240px;margin:0 auto}
.bt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:22px;align-items:baseline;width:100%;padding:16px 0;border-top:1px solid rgba(246,241,231,.16);font-family:'Playfair Display',Georgia,serif;font-size:34px;line-height:1.15;transition:color .5s ease,padding-left .5s ease}
.bt:focus-visible{outline:2px solid #c19a5b;outline-offset:4px}
.bt.on{padding-left:14px}
.bn{font-size:17px;color:#c19a5b;min-width:28px}
.bf{position:relative;aspect-ratio:4/5;overflow:hidden;background:#14201d;border-radius:20px;isolation:isolate}
.bp{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1s ease,transform 1.8s cubic-bezier(.2,.7,.2,1)}
.bp.on{opacity:1;transform:scale(1)}
.bline{font-size:19px;line-height:1.6;color:#e8dfcd;margin:20px 0 0;min-height:92px}
.bmob{display:none}
.apply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
@media (max-width: 760px){.apply-grid{grid-template-columns:minmax(0,1fr);gap:24px}}
.story-grid{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
@media (max-width: 760px){.story-grid{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width: 760px){.bl{display:none}.bmob{display:block}.h2w{font-size:32px}}


@media (prefers-reduced-motion: reduce){.wph{transition:none;transform:none}.mline{transform:none;transition:none}.wd-item{transition:none}.wd-fill{transition:none}}
@media (max-width: 760px){
.hero{min-height:640px}.h1{font-size:44px !important}.h2{font-size:34px !important}
.split{display:none}.mob{display:block}.swipe{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 24px 8px;scrollbar-width:none}
.swipe::-webkit-scrollbar{display:none}
.scard{flex:0 0 84%;scroll-snap-align:center;background:#1f3a34;color:#f6f1e7}
.steps{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.dest{min-height:380px}
}
@media (prefers-reduced-motion: reduce){.hero-img,.photo.on{animation:none}.up,.in,.in2{opacity:1;transform:none;animation:none}.rv{opacity:1;transform:none;transition:none}.line{width:100%;transition:none}.cue::after{animation:none}.bar.run{animation:none;width:100%}.dest img{transition:none}}

/* Approved B-011 overrides retain the existing navigation, video and footer. */
.new-homepage .hero{height:auto;min-height:760px;padding:0}.new-homepage .hero-overlay{z-index:1}.new-homepage .hero>div:not(.hero-overlay){z-index:2}.new-homepage .dest{padding:0;border:0;background:#14201d}.new-homepage .dest::after{display:none}.new-homepage .dest img{margin:0}.new-homepage .dest>span{font-weight:400}.new-homepage .story-signoff,.new-homepage .founding-price,.new-homepage .standard-line{font-family:'Playfair Display',Georgia,serif!important}.new-homepage .founding-price{font-size:56px!important}.new-homepage .standard-line{text-align:center!important}.new-homepage .cue{display:none}.new-homepage .hero p.up{max-width:560px;margin-left:auto!important;margin-right:auto!important}.new-homepage .hero .u4{max-width:100%}.new-homepage .up{animation-fill-mode:both}.new-homepage .hero a{display:inline-flex;align-items:center;min-height:48px;box-sizing:border-box}.new-homepage a:focus-visible{outline:3px solid #f0dcb4;outline-offset:5px}.new-homepage .hero a:hover{filter:brightness(1.08)}.new-homepage .bmob .mcard p:first-child{font-size:26px!important}.new-homepage .rv{opacity:1;transform:none}.new-homepage .enhanced .rv{opacity:0}.new-homepage .new-line{height:1px;background:#c19a5b;transform:scaleX(0);transform-origin:left;transition:transform 1.6s ease}.new-homepage .new-line.on{transform:scaleX(1)}.new-homepage .bp{transition:opacity 1s ease,transform 1.8s cubic-bezier(.2,.7,.2,1)}
@media(max-width:760px){.new-homepage .hero{min-height:680px}.new-homepage #why{padding:72px 20px!important}.new-homepage .dest{border-radius:18px;min-height:380px}.new-homepage #destinations>div>div:last-child{grid-template-columns:minmax(0,1fr)!important}.new-homepage .story-signoff{font-size:26px!important}.new-homepage .standard-line{font-size:30px!important}.new-homepage .bt{font-size:28px}.new-homepage .mcard{top:72px}.new-homepage .mcard img{max-height:28vh}.new-homepage .mcard p{line-height:1.45!important}.new-homepage .steps{gap:24px!important}.new-homepage #founding h2{font-size:36px!important}}
@media(prefers-reduced-motion:reduce){.new-homepage *,.new-homepage *::before,.new-homepage *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.new-homepage .up,.new-homepage .rv{opacity:1!important;transform:none!important}.new-homepage .bp{transform:none!important}.new-homepage .new-line{transform:none!important}}

.new-homepage .hero h1{opacity:1;animation:none}.new-homepage .hero .u4{font-size:12px!important}
.new-homepage .steps li>p:first-child{font-family:'Playfair Display',Georgia,serif!important;font-size:34px!important}.new-homepage .bmob .mcard div>p:first-child{font-family:'Playfair Display',Georgia,serif!important}
/* Preserve the approved display treatments over the shared body-copy rules. */
.new-homepage #founding p.founding-price{font-family:'Playfair Display',Georgia,serif!important;font-size:56px!important;line-height:1!important}
.new-homepage #founding>div>p,.new-homepage #standard p{text-align:center!important}
.new-homepage #standard p.standard-line{font-family:'Playfair Display',Georgia,serif!important;font-size:40px!important;line-height:1.25!important}
.new-homepage #story p.story-signoff{font-family:'Playfair Display',Georgia,serif!important;font-size:26px!important}
.new-homepage #how .steps li>p:first-child{font-family:'Playfair Display',Georgia,serif!important;font-size:34px!important}
.new-homepage #why .mcard div>p:first-child{font-family:'Playfair Display',Georgia,serif!important;font-size:26px!important}
.new-homepage #how>div>div:first-child p,.new-homepage #destinations>div>div:first-child p{text-align:center!important}
@media(max-width:760px){.new-homepage #standard p.standard-line{font-size:30px!important}}
.new-homepage #why button.bt{font-family:'Playfair Display',Georgia,serif!important;font-weight:400!important}
main.new-homepage>section{scroll-margin-top:128px}
@media(max-width:760px){main.new-homepage>section{scroll-margin-top:128px}}
.new-homepage #destinations .dest>span:last-child>span:first-child{font-family:'Playfair Display',Georgia,serif!important}

/* B-011 hero is centred, including its copy, independently of body alignment. */
.new-homepage #top,.new-homepage #top h1,.new-homepage #top p{text-align:center!important}
.new-homepage #top .hero-subtitle{max-width:560px;margin-left:auto!important;margin-right:auto!important}
.new-homepage #top .hero-label{font-family:Jost,sans-serif!important;font-size:12px!important;font-weight:400!important;letter-spacing:.24em;line-height:1.65;max-width:100%;white-space:nowrap}
@media(max-width:760px){.new-homepage #top .hero-label{font-size:13px!important;white-space:normal;text-wrap:balance}}

/* Exact B-011 type values, 21 October. Scoped to this homepage. */
main.new-homepage{font-family:Jost,sans-serif;font-weight:300}
main.new-homepage h1,main.new-homepage h2,main.new-homepage h3,main.new-homepage h1 *,main.new-homepage h2 *,main.new-homepage h3 *{font-family:'Playfair Display',Georgia,serif!important;font-weight:400!important;font-style:normal!important}
.new-homepage #top h1{font-size:72px!important;line-height:1.05!important}
.new-homepage #top .hero-subtitle{font-size:20px!important;line-height:1.5!important}
.new-homepage #top .u5{margin-top:30px!important}
.new-homepage #top a{font-size:14px!important;font-weight:400!important;letter-spacing:.2em;padding:19px 30px!important}
main.new-homepage p.section-label,main.new-homepage p.eb{font-family:Jost,sans-serif!important;font-size:12px!important;line-height:1.5!important;font-weight:400!important;letter-spacing:.22em;text-transform:uppercase;color:#80612f!important}
.new-homepage #why p.eb,.new-homepage #founding p.section-label{color:#e3c48f!important}
.new-homepage #story h2,.new-homepage #how h2,.new-homepage #destinations h2{font-size:44px!important;line-height:1.15!important}
.new-homepage #why h2{font-size:42px!important;line-height:1.15!important}
.new-homepage #founding h2{font-size:46px!important;line-height:1.1!important;text-align:center}
.new-homepage #story .story-grid>div:last-child>p{font-size:18px!important;line-height:1.65!important;text-align:left!important}
.new-homepage #story p.cat-aside{font-size:16px!important;line-height:1.6!important;color:#5c6965!important}
.new-homepage #story p.story-signoff{font-size:26px!important;font-weight:400!important}
.new-homepage #why button.bt{font-size:34px!important;font-weight:400!important}
.new-homepage #why .bn{font-size:17px!important;font-weight:400!important}
.new-homepage #why .bline{font-size:19px!important;line-height:1.6!important}
.new-homepage #standard p.standard-line{font-weight:400!important}
.new-homepage #how .steps li>p:first-child{font-size:34px!important;font-weight:400!important}
.new-homepage #how .steps h3{font-size:24px!important}
.new-homepage #how .steps li>p:last-child{font-size:17px!important}
.new-homepage #destinations .dest>span:last-child>span:first-child{font-size:40px!important;font-weight:400!important}
.new-homepage #destinations .dest>span:last-child>span:last-child{font-size:15px!important}
.new-homepage #destinations .dest>span:nth-of-type(2){font-size:12px!important;font-weight:400!important;letter-spacing:.2em}
.new-homepage #founding p.founding-price{font-size:56px!important;font-weight:400!important}
.new-homepage #founding>div>p:not(.section-label):not(.founding-price){font-size:18px!important}
.new-homepage #founding .apply-grid p:not(.section-label){font-size:17px!important;text-align:left!important}
@media(max-width:760px){
 .new-homepage #top h1{font-size:44px!important}
 .new-homepage #top .hero-subtitle{font-size:18px!important}
 .new-homepage #top .u5{width:100%}.new-homepage #top .u5 a{width:100%;justify-content:center}
 .new-homepage #story h2,.new-homepage #how h2,.new-homepage #destinations h2{font-size:34px!important}
 .new-homepage #why h2{font-size:32px!important}
 .new-homepage #founding h2{font-size:34px!important}
 .new-homepage #story .story-grid>div:last-child>p{font-size:17px!important}
 .new-homepage #story p.cat-aside{font-size:16px!important}
 .new-homepage #story p.story-signoff{font-size:24px!important}
 .new-homepage #why .mcard div>p:first-child{font-size:26px!important;font-weight:400!important}
 .new-homepage #why .mcard h3{font-size:25px!important}
 .new-homepage #why .mcard div>p:last-child{font-size:17px!important;line-height:1.55!important}
 .new-homepage #how .steps li>p:first-child{font-size:30px!important}
 .new-homepage #how .steps h3{font-size:22px!important}
 .new-homepage #destinations .dest>span:last-child>span:first-child{font-size:32px!important}
 .new-homepage #founding p.founding-price{font-size:48px!important}
 .new-homepage #founding>div>p:not(.section-label):not(.founding-price){font-size:17px!important}
}
.new-homepage :is(#story,#why,#standard,#how,#destinations,#founding) p.section-label,.new-homepage #why p.eb{font-size:12px!important;font-weight:400!important;letter-spacing:.22em}
.new-homepage #story .story-grid>div:last-child>p.cat-aside{font-size:16px!important;line-height:1.6!important}
.new-homepage #top h1,.new-homepage #top h1 span{letter-spacing:normal}
.new-homepage #top .hero-subtitle{color:#f6f1e7}
@media(max-width:760px){.new-homepage #why{padding:120px 40px!important}}
.new-homepage #why button.bt>span{font-family:'Playfair Display',Georgia,serif!important;font-weight:400!important}
.new-homepage #destinations>div{box-sizing:content-box}
/* Alvin/Claude review corrections override the earlier brief's phone values. */
.bali-coming,.bali-season{display:inline}.bali-coming::after{content:" · "}.bali-season{white-space:nowrap}@media(max-width:760px){.bali-coming,.bali-season{display:block}.bali-coming::after{content:none}}
@media(max-width:760px){
 .new-homepage #top .hero-subtitle{font-size:20px!important}
 .new-homepage #top .u5{width:auto!important;display:flex;flex-wrap:wrap;justify-content:center;align-items:center}
 .new-homepage #top .u5 a{width:auto!important;flex:0 0 auto;justify-content:center;font-size:14px!important;padding:19px 30px!important}
 body:has(.new-homepage) #nav{transition:height .2s ease,padding .2s ease,background-color .2s ease}
 body:has(.new-homepage) #nav.is-compact{height:64px;min-height:64px;max-height:64px;padding:12px 24px!important;background:#14201d!important;align-items:center}
 body:has(.new-homepage) #nav.is-compact .logo{display:flex;align-items:center;height:40px;padding:0;line-height:0}
 body:has(.new-homepage) #nav.is-compact .logo-img{height:40px!important;max-height:40px;width:auto;transition:height .2s ease}
 body:has(.new-homepage) #nav.is-compact .hamburger{align-self:center;margin:0}
 .new-homepage .bali-interest-card>span:nth-of-type(2){left:24px!important;letter-spacing:.14em!important}
}
@media(prefers-reduced-motion:reduce){body:has(.new-homepage) #nav,body:has(.new-homepage) #nav .logo-img{transition:none!important}}
@media(max-width:760px){body:has(.new-homepage) #nav.is-compact>a:first-child{display:flex;align-items:center;height:40px;line-height:0}body:has(.new-homepage) #nav.is-compact .nav-toggle{align-self:center;display:flex;align-items:center;justify-content:center;margin:0;height:40px;line-height:1}}
/* Final review: laptop-height reasons and shorter destination cards. */
.new-homepage #why h2{text-wrap:balance;max-width:1040px}
@media(min-width:761px){
 .new-homepage #why{padding:24px 40px!important}
 .new-homepage #why .bl{grid-template-columns:minmax(0,1fr) auto;column-gap:64px;row-gap:20px;align-items:start}
 .new-homepage #why .why-heading{grid-column:1/-1}
 .new-homepage #why .why-heading h2{margin:0!important}
 .new-homepage #why .reason-list .bt{padding:10px 0}
 .new-homepage #why .reason-visual{width:min(384px,calc((100vh - 408px)*.8));margin-top:10px}
 .new-homepage #why .bf{width:100%;height:auto;aspect-ratio:4/5;max-height:min(560px,calc(100vh - 220px));border-radius:20px;overflow:hidden}
 .new-homepage #why .bline{min-height:0}
 .new-homepage .dest{height:420px;min-height:420px;border-radius:20px}
}
@media(max-width:760px){.new-homepage .dest{height:380px;min-height:380px;border-radius:20px}.new-homepage .mcard img{background:#14201d}}
@media(min-width:761px){.new-homepage #why{padding:16px 40px!important}.new-homepage #why .bl{row-gap:8px}.new-homepage #why .reason-visual{width:min(384px,calc((100vh - 428px)*.8))}}

/* Latest approved desktop Why layout; phone stacking cards remain unchanged. */
@media(min-width:761px){
 .new-homepage #why{padding:24px 40px!important}
 .new-homepage #why .bl{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:80px;align-items:stretch}
 .new-homepage #why .reason-copy{min-width:0;max-width:620px}
 .new-homepage #why .why-heading{display:block}
 .new-homepage #why .why-heading h2{margin:0 0 24px!important;text-wrap:balance;max-width:620px}
 .new-homepage #why .reason-visual{width:auto;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:24px;min-height:0;align-self:stretch}
 .new-homepage #why .bf{height:100%;width:100%;aspect-ratio:auto;max-height:none;border-radius:20px;min-height:0}
 .new-homepage #why .bline{margin:0;min-height:0;line-height:1.6}
 .new-homepage #why .bp{object-fit:cover}
}
