/* Bali trip guide — full-bleed hero + sticky section nav + tappable checklist. balisurf vars. */
.tg-hero{background-size:cover;background-position:center;color:#fff;padding:90px 20px 70px;text-align:center}
.tg-hero-in{max-width:780px;margin:0 auto}
.tg-hero .eyebrow{font-family:var(--head);font-weight:700;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:#ffd9a8}
.tg-hero h1{font-family:var(--head);font-weight:800;font-size:clamp(2.1rem,4.8vw,3.3rem);line-height:1.08;letter-spacing:-.02em;margin:12px 0 16px;text-shadow:0 2px 18px rgba(0,0,0,.3)}
.tg-hero p{font-size:1.18rem;line-height:1.5;color:#f3ece1;margin:0 auto;max-width:64ch}
.tg-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.tg-intro{max-width:760px;margin:40px auto 10px}
.tg-intro p{font-size:1.12rem;line-height:1.72;color:var(--ink);margin:0 0 16px}
.tg-layout{display:grid;grid-template-columns:230px 1fr;gap:44px;margin:24px 0 60px}

.tg-nav{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow:auto}
.tg-nav-h{font-family:var(--head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 12px}
.tg-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-family:var(--head);font-weight:600;font-size:.96rem;color:var(--soft);text-decoration:none;transition:all .14s}
.tg-nav-item:hover{background:rgba(239,108,46,.08);color:var(--ink)}
.tg-nav-item.on{background:var(--sun);color:#fff}
.tg-ico{font-size:1rem}
.tg-nav-cta{display:block;margin-top:12px;padding:11px 14px;border:1.5px solid var(--teal);border-radius:10px;font-family:var(--head);font-weight:700;font-size:.92rem;color:var(--teal);text-decoration:none;text-align:center}
.tg-nav-cta:hover{background:var(--teal);color:#fff}

.tg-body{min-width:0;max-width:720px}
.tg-sec{margin:0 0 40px;scroll-margin-top:20px}
.tg-sec h2{font-family:var(--head);font-weight:800;font-size:1.7rem;line-height:1.12;margin:0 0 14px;display:flex;align-items:center;gap:12px;color:var(--ink)}
.tg-sec-ico{font-size:1.5rem}
.tg-sec p{font-size:1.06rem;line-height:1.74;color:var(--ink);margin:0 0 14px}
.tg-checklist{background:var(--night);color:#fff;border-radius:18px;padding:30px 32px;margin:10px 0 34px;scroll-margin-top:20px}
.tg-checklist h2{font-family:var(--head);font-weight:800;font-size:1.6rem;margin:0 0 6px}
.tg-checklist > p{color:#d8c9b5;margin:0 0 18px}
.tg-check{list-style:none;margin:0;padding:0}
.tg-check li{margin:0 0 11px}
.tg-check label{display:flex;align-items:flex-start;gap:11px;font-size:1.04rem;line-height:1.5;color:#f0e6d8;cursor:pointer}
.tg-check input{margin-top:4px;width:18px;height:18px;accent-color:var(--sun);cursor:pointer;flex:0 0 auto}
.tg-check input:checked+*{}
.tg-check label:has(input:checked){color:#9db0a8;text-decoration:line-through}
.tg-outro{padding-top:22px;border-top:2px solid var(--ink)}
.tg-outro p{font-size:1.08rem;line-height:1.72}
.cta-row{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
.tg-wrap .btn{display:inline-block;font-family:var(--head);font-weight:700;background:var(--sun);color:#fff;padding:12px 22px;border-radius:11px;text-decoration:none;transition:background .15s}
.tg-wrap .btn:hover{background:#d85c20}
.tg-wrap .btn.ghost{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
.tg-wrap .btn.ghost:hover{background:var(--teal);color:#fff}
.tg-wrap .btn[onclick]{display:none}

@media(max-width:820px){
  .tg-layout{grid-template-columns:1fr;gap:0}
  .tg-nav{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}
  .tg-nav-h{width:100%}
  .tg-nav-item{border:1px solid var(--line);border-radius:999px;padding:7px 13px}
  .tg-nav-cta{margin-top:0}
}
