:root { --sea:#5faed0; }
.stage { background:radial-gradient(ellipse at 52% 35%,#9ed4df 0%,#6cb8d7 42%,#3f94c3 100%); }
.ocean-label,.sea-label { color:#174b71; }
.map-title,.map-context { color:#133e58; }
.map-title .eyebrow,.map-title p,.map-context-desc { color:#204b65; }
.island-guide .stage { background:radial-gradient(ellipse at 52% 42%,#93d0e1 0%,#5bafd6 45%,#287eb9 100%); }
.island-guide .terrain-relief { opacity:1; pointer-events:none; }
.island-guide .volcano-peak,.island-guide .volcano-ridge,.island-guide .volcano-shadow { display:none; }
.island-guide .volcano-label { font-family:var(--sans); font-style:normal; font-weight:600; fill:#233929; paint-order:stroke; stroke:#edf4d9; stroke-width:2; stroke-linejoin:round; }
.island-guide .volcano-elev { fill:#344c39; paint-order:stroke; stroke:#edf4d9; stroke-width:1.4; }
.island-guide .volcano-label { font-size:var(--peak-label-size,7px)!important; stroke-width:var(--peak-stroke,1px); }
.island-guide .volcano-elev { font-size:var(--peak-elev-size,5px)!important; stroke-width:var(--peak-stroke,1px); }
.island-guide #baliMap:not(.show-peak-labels) .volcano-label,.island-guide #baliMap:not(.show-peak-labels) .volcano-elev { visibility:hidden; }
.island-guide #baliMap.show-peak-labels .map-marker-label { font-family:var(--sans); font-size:var(--peak-label-size)!important; letter-spacing:0; stroke-width:var(--peak-stroke); }
.island-guide .act-bg { filter:none; }.island-guide .act-inner { animation:none!important; }
.island-guide .water-label { fill:#164a73; stroke:#a5d8eb; stroke-width:1.1; opacity:1; font-size:11px; }
.island-guide .hint-land { fill:#6d9d94; opacity:.22; }.island-guide .hint-land-label { fill:#255678; opacity:.8; }
.island-guide .region-label-name { fill:#213e2a; stroke:#eef5df; stroke-width:2.2; font-style:normal; font-weight:500; }
.island-guide .region-label-iconic { fill:#234431; stroke:#eff5df; stroke-width:1.5; paint-order:stroke; }
.island-guide[data-mode=discover] .region-shape { fill:transparent!important; stroke:#ecf1d6; stroke-opacity:.6; stroke-width:.55; }
.island-guide[data-mode=discover] .region-shape:hover { fill:#f6ffd822!important; stroke:#fff; stroke-opacity:1; stroke-width:1; }
.island-guide:not([data-mode=discover]) .terrain-relief { opacity:.24; mix-blend-mode:multiply; }
.island-guide .graticule,.island-guide .terrain-line,.island-guide .agung-smoke { display:none; }
.price-estimates { margin:30px 0; padding:25px; border:1px solid var(--line-2); background:#fffdf7; border-radius:8px; }
.estimate-heading { display:flex; justify-content:space-between; align-items:baseline; gap:15px; margin-bottom:20px; }
.estimate-heading h2 { font:400 27px/1.3 var(--serif); margin:0; }.estimate-heading>span { font:12px/1.5 var(--sans); color:var(--ink-dim); }
.estimate-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.estimate-card>span { font:13px/1.5 var(--sans); color:var(--ink-dim); }.estimate-card strong { display:block; margin:10px 0 8px; font:500 clamp(22px,2.7vw,31px)/1.15 var(--sans); letter-spacing:-.7px; font-variant-numeric:tabular-nums; }
.estimate-card small { display:flex; gap:8px; align-items:center; color:var(--ink-dim); font:12px var(--sans); }.estimate-card small b { font-weight:400; background:#e7eddc; padding:4px 7px; border-radius:3px; }
.estimate-details { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); font:14px/1.7 var(--sans); }
.estimate-details summary { cursor:pointer; color:var(--jungle); min-height:30px; }.estimate-details p { margin:14px 0; max-width:76ch; font:14px/1.7 var(--sans); }
.estimate-table-scroll { overflow:auto; }.estimate-details table { width:100%; text-align:left; border-collapse:collapse; min-width:530px; font-variant-numeric:tabular-nums; }
.estimate-details th,.estimate-details td { padding:11px 10px; border-bottom:1px solid var(--line); font-size:13px; font-weight:400; }.estimate-details thead th { font-weight:600; }.estimate-details td small { display:block; color:var(--ink-dim); font-size:12px; }
.estimate-ledger-note { margin-bottom:14px; color:var(--ink-dim); font:13px/1.6 var(--sans); }
.island-guide .takeover__br-primary,.island-guide .takeover__seg-idr,.island-guide .ltable td { font-variant-numeric:tabular-nums; }
.island-guide .takeover__seg-idr { font:500 24px/1.4 var(--sans); letter-spacing:-.5px; }.island-guide .takeover__seg-usd { font:14px/1.7 var(--sans); }.island-guide .takeover__seg-sub { font-size:13px; }
.island-guide .rngbar { display:none; }.island-guide .ltable { min-width:1150px; }.island-guide .ltable td { white-space:nowrap; }
.island-guide .takeover__gallery { grid-template-columns:1.45fr 1fr; grid-template-rows:170px 170px; }
.island-guide .takeover__gallery-hero { grid-row:1 / span 2; grid-column:1; }
.island-guide .takeover__gallery-side { grid-column:2; min-height:0; }
.island-guide .takeover__gallery[data-photo-count="2"] .takeover__gallery-side { grid-row:1 / span 2; }
.island-guide .takeover__gallery[data-photo-count="1"] .takeover__gallery-hero { grid-column:1 / -1; }
.island-guide .takeover__gallery-cap { font-size:12px; letter-spacing:0; text-transform:none; padding:22px 13px 12px; }
.island-guide .takeover__br-primary { font-family:var(--sans); letter-spacing:-.7px; font-size:29px; }
.source-field-notes summary { cursor:pointer; font:14px/1.6 var(--sans); color:var(--jungle); }.source-field-notes[open] .takeover__dossier-note { margin-top:15px; }
@media(max-width:760px) {
 .price-estimates { padding:18px; }.estimate-heading { display:block; }.estimate-heading h2 { font-size:26px; margin-bottom:6px; }
 .estimate-cards { grid-template-columns:1fr; gap:0; }.estimate-card { padding:16px 0; border-top:1px solid var(--line); }.estimate-card strong { font-size:29px; margin:7px 0; }
 .island-guide .takeover__seg-idr { font-size:21px; }.island-guide .takeover__br-primary { font-size:25px; }.estimate-ledger-note { font-size:12px; }
 .island-guide .takeover__gallery { grid-template-columns:1fr 1fr; grid-template-rows:210px 140px; }
 .island-guide .takeover__gallery-hero { grid-column:1/-1; grid-row:1; }.island-guide .takeover__gallery-side { grid-column:auto; grid-row:2; }
 .island-guide .takeover__gallery-side:last-child { display:block; }.island-guide .takeover__gallery[data-photo-count="2"] .takeover__gallery-side { grid-column:1/-1; grid-row:2; }
 .island-guide .takeover__gallery[data-photo-count="1"] { grid-template-rows:240px; }
 .estimate-table-scroll::before { content:'Swipe the table to see source ranges →'; display:block; margin:8px 0 12px; font-size:12px; color:var(--ink-dim); }
}
