
:root{--ink:#14201d;--green:#1f3a34;--gold:#c19a5b;--label:#80612f;--cream:#f6f1e7;--paper:#fffdf8;--muted:#3d4a46;--rule:#e0d4bb}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Jost',Arial,sans-serif;font-weight:300}
a{color:var(--green)}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.pf{font-family:'Playfair Display',Georgia,serif;font-weight:400}
.lab{margin:0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--label);font-weight:400}
.bali-hero{position:relative;height:720px;overflow:hidden;color:var(--cream);background:var(--ink)}
.bali-hero img{width:100%;height:100%;object-fit:cover;display:block}
.bali-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,32,29,.35),rgba(20,32,29,.1) 35%,rgba(20,32,29,.65))}
.bali-hero .t{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:40px;text-align:center}
.bali-hero .eyebrow{text-shadow:0 1px 12px rgba(0,0,0,.6);font-size:14px;letter-spacing:.3em;text-transform:uppercase;font-weight:400;margin:0 0 6px}
.giant{text-shadow:0 4px 30px rgba(0,0,0,.35);margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:.85;font-size:clamp(110px,22vw,300px);letter-spacing:.02em}
.soon{display:inline-block;margin-top:18px;border:1px solid rgba(246,241,231,.7);padding:8px 16px;font-size:13px;letter-spacing:.22em;text-transform:uppercase}
section{padding:72px 0 8px}
h2{margin:0 0 12px;font-size:44px}
.lead{margin:0;font-size:19px;line-height:1.65;max-width:720px;color:var(--muted)}
.two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}
.always{background:var(--green);color:var(--cream);border-radius:22px;padding:30px 30px 26px}
.always .lab{color:#e3c48f}
.always ul{list-style:none;margin:14px 0 0;padding:0}
.always li{display:flex;gap:10px;align-items:baseline;padding:11px 0;border-top:1px solid rgba(246,241,231,.14);font-size:17px}
.always li:first-child{border-top:none}
.always li:before{content:"\2713";color:var(--gold)}
.always p.note{margin:16px 0 0;font-size:14px;color:rgba(246,241,231,.8);line-height:1.55}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:12px;margin-top:30px}
.gallery figure{margin:0;position:relative;border-radius:16px;overflow:hidden}
.gallery figure:first-child{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.gallery .ph div{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;background:repeating-linear-gradient(45deg,#ece4d3,#ece4d3 10px,#e4dac6 10px,#e4dac6 20px)}.gallery .ph span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#80612f}.gallery .ph b{font-weight:400;font-size:15px}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;font-size:13px;color:var(--paper);background:linear-gradient(to top,rgba(20,32,29,.7),rgba(20,32,29,0))}
.shape{background:var(--paper);border:1px solid #e6dcc7;border-radius:22px;padding:34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.qs{display:grid;gap:14px}
.q{border:1px solid var(--rule);border-radius:14px;padding:14px 16px}
.q b{display:block;font-weight:400;font-size:16px;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:14px;padding:6px 12px;border:1px solid #cdbf9f;border-radius:999px;color:var(--muted);background:var(--cream)}
.steps{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:18px}
.steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px}
.steps .n{width:34px;height:34px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',Georgia,serif;color:var(--label)}
.steps b{display:block;font-weight:400;font-size:17px}
.steps span{display:block;font-size:15px;line-height:1.55;color:var(--muted);margin-top:2px}
.btn{display:inline-block;margin-top:24px;background:var(--gold);color:var(--ink);text-decoration:none;padding:16px 26px;font-weight:400;font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.btn.ghost{background:transparent;border:1px solid var(--green);color:var(--green);margin-left:10px}
details{border-bottom:1px solid var(--rule);padding:15px 0}
summary{font-size:17px;font-weight:400;cursor:pointer}
details p{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--muted)}
.faq{max-width:820px}
footer{margin-top:80px;padding:44px 0 100px;background:var(--ink);color:rgba(246,241,231,.75);text-align:center;font-size:14px}
footer p{margin:0}
.phonebar{display:none}
@media (max-width:760px){
  .wrap{padding:0 20px}
  .bali-hero{height:560px}
  section{padding:52px 0 4px}
  h2{font-size:34px}
  .lead{font-size:17px}
  .two,.shape{grid-template-columns:minmax(0,1fr);gap:28px}
  .shape{padding:22px 20px}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 160px 160px}
  .gallery figure:first-child{grid-column:span 2;grid-row:auto}
  .btn{display:block;text-align:center}
  .btn.ghost{margin:10px 0 0}
  .phonebar{display:flex;position:sticky;bottom:0;z-index:6;background:var(--ink);padding:12px 20px;align-items:center;justify-content:space-between;gap:12px;color:var(--cream);font-size:14px}
  .phonebar a{background:var(--gold);color:var(--ink);text-decoration:none;padding:13px 16px;font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
}

  nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: var(--ink); padding: 20px 40px; display: flex; align-items: center; justify-content: space-between; }
  .logo-img { height: 76px; width: auto; filter: brightness(0) invert(1); }
  .nav-toggle { display: none; }
  .nav-links { display: flex; gap: 30px; align-items: center; }
  .nav-links a { font-family: 'Jost', sans-serif; color: rgba(255,255,255,0.85); text-decoration: none; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 300; }
  .nav-links a:hover { color: var(--gold-soft); }
  .nav-dropdown { position: relative; }
  .nav-dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0;
    padding-top: 14px;
    background: transparent;
    z-index: 60;
  }
  .nav-dropdown-menu > div {
    background: var(--ink);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 4px;
    padding: 10px 0;
    min-width: 180px;
  }
  @media (min-width: 901px) {
    .nav-dropdown:hover .nav-dropdown-menu { display: block; }
  }
  .nav-dropdown-arrow { display: inline-block; transition: transform 0.2s; }
  .nav-dropdown-menu a {
    display: block;
    padding: 10px 18px;
    font-size: 13px;
    white-space: nowrap;
  }
  .nav-dropdown-menu a:hover { background: rgba(255,255,255,0.06); }
  .nav-cta { background: var(--gold); color: var(--ink) !important; padding: 11px 22px; font-weight: 400 !important; }

  footer { background: var(--ink); color: rgba(255,255,255,0.7); padding: 72px 0 32px; }
  .footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .footer-brand .logo { padding-left: 0; margin-bottom: 16px; display: inline-block; }
  .footer-brand p { font-size: 14px; font-weight: 300; max-width: 280px; }
  .footer-col h5 { font-family: 'Jost', sans-serif; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 18px; }
  .footer-col a { display: block; color: rgba(255,255,255,0.7); text-decoration: none; font-size: 14px; margin-bottom: 12px; transition: color 0.2s; }
  .footer-col a:hover { color: var(--gold-soft); }
  .footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 28px; font-size: 13px; color: rgba(255,255,255,0.4); flex-wrap: wrap; gap: 16px; }
  .footer-social { display: flex; gap: 18px; }
  .footer-social a { color: rgba(255,255,255,0.6); text-decoration: none; font-size: 13px; }
  .footer-social a:hover { color: var(--gold-soft); }

/* Page-local retained site chrome; shared site files remain unchanged. */
.home-brand-mask{mask-type:alpha}
body.bali-coming-soon{padding-top:116px}
nav .logo-img,footer .logo-img{height:76px;width:auto;object-fit:contain}
nav .nav-links a{white-space:nowrap}
nav .nav-dropdown-menu a{display:block}
footer{padding-bottom:100px}
footer .wrap{max-width:1200px}
footer .footer-brand p{max-width:280px}
footer p,footer h5{text-align:left}
footer #skymia-company-details{text-align:center!important;margin-top:24px}
.bali-hero .eyebrow{text-align:center!important;color:var(--cream)}
.bali-coming-soon .shape .lab{font-size:12px!important}
.bali-coming-soon .always .lab{font-size:12px!important}
.bali-coming-soon .always .note{font-size:14px!important}
.bali-coming-soon .faq details p{font-size:15px!important}
.bali-coming-soon .lead{font-size:19px!important}
.bali-coming-soon .shape .lead{font-size:17px!important}
.bali-coming-soon .steps li{font-size:15px!important}
.bali-coming-soon h2{line-height:1.2}
.bali-coming-soon h1.giant{line-height:.85}
.bali-coming-soon .btn{white-space:nowrap}
.bali-coming-soon .faq summary{list-style:none;display:flex;gap:10px;align-items:baseline}
.bali-coming-soon .faq summary::-webkit-details-marker{display:none}
.bali-coming-soon .faq summary:before{content:'›';display:inline-block;transition:transform .2s}
.bali-coming-soon .faq details[open] summary:before{transform:rotate(90deg)}
.question-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.question-photos figure{margin:0;overflow:hidden;border-radius:14px;background:var(--cream)}
.question-photos img{display:block;width:100%;height:160px;object-fit:cover}
.question-photos figcaption{font-size:13px;padding:8px 12px;line-height:1.4}
.photo-pending{display:flex;min-height:160px;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(45deg,#ece4d3,#ece4d3 10px,#e4dac6 10px,#e4dac6 20px);font-size:13px;padding:12px}
@media(max-width:900px){
nav{padding:16px 20px;height:108px}
body.bali-coming-soon{padding-top:108px}
nav .nav-links{display:none}
nav .nav-links.open{display:flex;flex-direction:column;position:fixed;inset:0;background:var(--ink);padding:100px 40px 40px;gap:22px;overflow-y:auto;z-index:200}
nav .nav-toggle{display:block;background:none;border:0;color:#fff;font-size:22px;position:relative;z-index:201;cursor:pointer}
nav .nav-dropdown-menu{position:static;padding:4px 0 0 16px;margin-top:8px}
nav .nav-dropdown-menu>div{border:0;padding:0;min-width:0}
nav .nav-dropdown.open .nav-dropdown-menu{display:block}
nav .nav-dropdown.open .nav-dropdown-arrow{transform:rotate(180deg)}
nav .nav-dropdown-menu a{padding:8px 0;font-size:13px}
.footer-top{grid-template-columns:1fr}
}
@media(max-width:760px){
.bali-coming-soon .lead{font-size:17px!important}
.bali-coming-soon .bali-hero .eyebrow{font-size:14px!important;line-height:1.5;max-width:360px;padding:0 12px}
.bali-coming-soon .bali-hero .giant{font-size:clamp(110px,22vw,300px)}
.bali-coming-soon .phonebar{position:fixed;left:0;right:0;bottom:0}
.bali-coming-soon .phonebar span{max-width:160px;line-height:1.4}
.bali-coming-soon .phonebar a{font-size:10px;padding:13px 12px;letter-spacing:.13em}
.bali-coming-soon .phonebar{font-size:12px;padding:12px 20px}
.question-photos img{height:150px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Match the released homepage's 64px phone header and reduced-motion behaviour. */
@media(max-width:760px){
 body.bali-coming-soon nav{transition:height .2s ease,padding .2s ease,background-color .2s ease}
 body.bali-coming-soon nav.is-compact{height:64px;min-height:64px;max-height:64px;padding:12px 24px!important;background:#14201d!important;align-items:center}
 body.bali-coming-soon nav.is-compact>a:first-child{display:flex;align-items:center;height:40px;padding:0;line-height:0}
 body.bali-coming-soon nav.is-compact .logo-img{height:40px!important;max-height:40px;width:auto;transition:height .2s ease}
 body.bali-coming-soon nav.is-compact .nav-toggle{align-self:center;display:flex;align-items:center;justify-content:center;margin:0;height:40px;line-height:1}
}
@media(prefers-reduced-motion:reduce){body.bali-coming-soon nav,body.bali-coming-soon nav .logo-img{transition:none!important}}
