/* =====================================================================
   Luxury Bali Car Rental — stylesheet website publik
   Palet: hitam #0d0c0a · emas #d4b87c · krem #efe9dd
   Font : Cormorant Garamond (judul) + Jost (teks)
   ===================================================================== */
:root{
  --bg:#0d0c0a;--bg2:#15130f;--bg3:#1c1a15;
  --gold:#d4b87c;--gold-d:#8a6d35;--cream:#efe9dd;
  --paper:#f1ece2;--ink:#1a1814;
  --mute:#b3ab9b;--mute2:#a9a192;--mute3:#8a8375;
  --line:rgba(212,184,124,.18);
  --pad:clamp(20px,5vw,72px);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--bg);color:var(--cream);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip}
body{font-family:var(--sans);font-weight:300;min-height:100vh;line-height:1.5}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--cream)}
img{max-width:100%;display:block}
h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- header ---------- */
.hdr{position:relative;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding:28px var(--pad);border-bottom:1px solid var(--line);background:var(--bg)}
.hdr--overlay{position:absolute;top:0;left:0;right:0;background:transparent}
.brand{display:inline-flex;align-items:center;color:var(--cream)}
.brand:hover{color:var(--cream)}

/* ---------- logo (candi bentar + wordmark) ---------- */
.logo{--s:40px;display:inline-flex;align-items:center;gap:calc(var(--s) * .34);color:var(--cream);font-family:var(--serif);line-height:1}
.logo svg{flex:none;display:block;width:var(--s);height:var(--s);stroke:var(--gold)}
.logo-w{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--s) * .14)}
.logo-a{font-size:calc(var(--s) * .5);letter-spacing:.26em;font-weight:500;white-space:nowrap;margin-right:-.26em;text-transform:uppercase}
.logo-b{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:400;font-size:calc(var(--s) * .2);letter-spacing:.42em;color:var(--gold);white-space:nowrap;text-transform:uppercase}
.logo-b i{display:block;width:0;height:1px;background:var(--gold)}
.logo-b span{margin-right:-.42em}
.logo--stacked{flex-direction:column;gap:calc(var(--s) * .35)}
.logo--stacked .logo-w{align-items:center;gap:calc(var(--s) * .12)}
.logo--stacked .logo-a{font-size:calc(var(--s) * .34)}
.logo--stacked .logo-b{font-size:calc(var(--s) * .13)}
.logo--stacked .logo-b i{width:calc(var(--s) * .4)}
.hdr-panel{display:contents}
.nav{display:flex;flex-wrap:wrap;gap:8px 34px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.nav a{color:var(--cream)}
.nav a:hover,.nav a.is-active{color:var(--gold)}
.nav-toggle{display:none;width:48px;height:48px;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:none;border:1px solid rgba(212,184,124,.5);cursor:pointer;padding:0}
.nav-toggle span{display:block;width:20px;height:1px;background:var(--gold);transition:transform .25s,opacity .25s}
.hdr.is-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hdr.is-open .nav-toggle span:nth-child(2){opacity:0}
.hdr.is-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- tombol ---------- */
.btn{display:inline-block;padding:18px 34px;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:center}
.btn--gold{background:var(--gold);color:var(--bg)}
.btn--gold:hover{background:var(--cream);color:var(--bg)}
.btn--ghost{border-color:rgba(239,233,221,.5);color:var(--cream);font-weight:400}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn--outline{border-color:var(--gold);color:var(--gold);padding:12px 22px;font-size:11px;font-weight:300}
.btn--outline:hover{background:var(--gold);color:var(--bg)}
.link-under{display:inline-block;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:8px}
.link-under:hover{color:var(--cream);border-color:var(--cream)}
.center-link{display:flex;justify-content:center;margin-top:60px}

/* ---------- tipografi bersama ---------- */
.eyebrow{display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.eyebrow .rule{width:48px;height:1px;background:currentColor;flex:none}
.eyebrow--dark{color:var(--gold-d)}
.eyebrow--hero{margin-bottom:26px}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,72px);line-height:1.02}
.h2 em,.page-hero h1 em,.cta h2 em,.notfound h1 em{color:var(--gold)}
.h2--dark em{color:var(--gold-d)}
.h2--md{font-size:clamp(40px,4.6vw,68px);margin-bottom:34px}
.h2--sm{font-size:clamp(40px,4.4vw,64px);line-height:1.04}
.lead{font-size:17px;line-height:1.8;color:#cfc7b7;margin-bottom:22px;text-wrap:pretty}
.lead--dim{color:var(--mute2);margin-bottom:44px}

/* ---------- hero ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:680px;overflow:hidden;background:radial-gradient(ellipse at 72% 28%,rgba(212,184,124,.16),transparent 58%),linear-gradient(160deg,#1c1a15 0%,#0d0c0a 70%)}
.hero-media,.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;transition:opacity 1.4s ease}
.hero-slide.is-active{opacity:1}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(13,12,10,.8) 0%,rgba(13,12,10,.15) 32%,rgba(13,12,10,.2) 55%,rgba(13,12,10,.95) 100%),linear-gradient(90deg,rgba(13,12,10,.7) 0%,rgba(13,12,10,0) 55%)}
.hero-copy{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(120px,16vh,170px);max-width:980px;pointer-events:none}
.hero-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7.4vw,112px);line-height:.98;margin-bottom:28px;letter-spacing:-.01em;text-wrap:balance}
.hero-copy p{font-size:17px;line-height:1.7;color:#cfc7b7;max-width:520px;margin-bottom:38px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;pointer-events:auto}
.hero-ctrl{position:absolute;left:var(--pad);right:calc(var(--pad) + 132px);bottom:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hero-bars{display:flex;gap:10px}
.hero-bar{width:24px;height:2px;border:0;padding:0;cursor:pointer;background:rgba(239,233,221,.35);transition:all .5s;position:relative}
.hero-bar::after{content:'';position:absolute;inset:-12px 0}
.hero-bar.is-active{width:56px;background:var(--gold)}
.hero-count{display:flex;align-items:center;gap:22px;font-family:var(--serif);font-size:20px}
.hero-count .cur{color:var(--gold)}
.hero-count .all{color:var(--mute3)}
.hero-arrow{width:48px;height:48px;border:1px solid rgba(239,233,221,.35);background:transparent;color:var(--cream);cursor:pointer;font-size:18px;transition:border-color .2s,color .2s}
.hero-arrow:hover{border-color:var(--gold);color:var(--gold)}
.hero .hero-copy .btn{pointer-events:auto}

/* ---------- strip keunggulan ---------- */
.strip{border-bottom:1px solid rgba(212,184,124,.15);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.strip>div{padding:38px clamp(20px,3vw,44px);border-right:1px solid rgba(212,184,124,.15)}
.strip>div:last-child{border-right:0}
.strip-t{font-family:var(--serif);font-size:22px;margin-bottom:6px}
.strip-s{font-size:14px;color:var(--mute2)}

/* ---------- section ---------- */
.section{padding:clamp(80px,11vw,150px) var(--pad)}
.section--paper{background:var(--paper);color:var(--ink)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:64px}
.sec-head-l{max-width:640px}
.sec-head-p{max-width:380px;font-size:16px;line-height:1.7;color:var(--mute)}
.center-head{text-align:center;margin-bottom:70px}
.center-head .eyebrow{justify-content:center}

/* ---------- kartu armada ---------- */
.grid{display:grid;gap:28px}
.grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.grid--list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.card{background:var(--bg2);border:1px solid rgba(212,184,124,.14);display:flex;flex-direction:column;transition:border-color .25s}
.card:hover{border-color:rgba(212,184,124,.5)}
.card[hidden]{display:none}
.card-img{position:relative;aspect-ratio:4/3;background:var(--bg3);overflow:hidden}
.card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.card:hover .card-img img{transform:scale(1.04)}
.tag{position:absolute;top:16px;left:16px;pointer-events:none;background:rgba(13,12,10,.8);border:1px solid rgba(212,184,124,.4);color:var(--gold);font-size:10px;letter-spacing:.26em;text-transform:uppercase;padding:7px 12px}
.noimg{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#5e584d;background:linear-gradient(135deg,var(--bg3),var(--bg2))}
.noimg--brand{opacity:.9}
.card-body{padding:28px 26px 30px;display:flex;flex-direction:column;gap:18px;flex:1}
.card-body h3{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1}
.card-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute2)}
.dot{color:#5e584d}
.card-incl{font-size:13px;color:var(--mute2);margin-top:-6px}
.card-price{border-top:1px solid rgba(212,184,124,.15);padding-top:18px}
.price{font-family:var(--serif);font-size:26px;color:var(--gold)}
.price small{font-family:var(--sans);font-size:12px;color:var(--mute3);letter-spacing:.1em}
.note{font-size:12px;color:var(--mute3);margin-top:6px;line-height:1.5}
.card-cta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:var(--cream);font-size:11px;letter-spacing:.24em;text-transform:uppercase;border:1px solid rgba(239,233,221,.25);padding:15px 18px;transition:all .2s}
.card-cta:hover{background:var(--gold);color:var(--bg);border-color:var(--gold)}

/* ---------- kenapa pilih kami ---------- */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,100px);align-items:start}
.why .h2{margin-bottom:40px}
.why-img{position:relative;aspect-ratio:5/4;width:100%;background:#e4ddcd;overflow:hidden}
.why-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.section--paper .noimg{background:#e4ddcd;color:#9b917c}
.reasons{display:flex;flex-direction:column}
.reason{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:34px 0;border-bottom:1px solid rgba(26,24,20,.15)}
.reason:first-child{padding-top:0}
.reason-n{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--gold-d)}
.reason h3,.value h3{font-family:var(--serif);font-weight:500;font-size:30px;margin-bottom:8px}
.reason p,.value p{font-size:16px;line-height:1.7;color:#4d473d}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:clamp(60px,8vw,110px);border-top:1px solid rgba(26,24,20,.25)}
.stats>div{padding:36px 20px 0 0}
.stat-v{font-family:var(--serif);font-size:clamp(56px,6vw,84px);line-height:1}
.stat-l{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#6b6457;margin-top:10px}
.section--paper .sec-head+.values{margin-top:0}

/* ---------- testimoni ---------- */
.testis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.testi{background:var(--bg);padding:48px 40px;display:flex;flex-direction:column;gap:28px}
.stars{color:var(--gold);letter-spacing:.3em;font-size:13px}
.testi blockquote{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.4;flex:1;text-wrap:pretty}
.testi figcaption{display:flex;align-items:center;gap:14px}
.avatar{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:20px;color:var(--gold)}
.who{display:flex;flex-direction:column}
.who-n{font-weight:400;font-size:15px}
.who-c{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute3)}

/* ---------- FAQ ---------- */
.section--faq{padding-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(40px,6vw,100px)}
.faq{border-top:1px solid rgba(212,184,124,.25)}
.faq-item{border-bottom:1px solid rgba(212,184,124,.25)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0;font-family:var(--serif);font-size:25px;color:var(--cream);transition:color .2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--gold)}
.faq-item summary i{flex:none;font-style:normal;color:var(--gold);font-family:var(--sans);font-weight:300;font-size:26px;width:24px;text-align:center}
.faq-item summary i::before{content:'+'}
.faq-item[open] summary i::before{content:'\2212'}
.faq-item p{margin:0 0 30px;font-size:16px;line-height:1.75;color:var(--mute);max-width:600px}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;padding:clamp(90px,12vw,160px) var(--pad)}
.cta--photo{min-height:560px;padding-block:100px}
.cta-bg,.cta-shade{position:absolute;inset:0}
.cta-bg img{width:100%;height:100%;object-fit:cover}
.cta-shade{background:rgba(13,12,10,.72);pointer-events:none}
.cta-inner{position:relative;max-width:760px}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,6vw,88px);line-height:1;margin-bottom:26px}
.cta p{font-size:17px;line-height:1.7;color:#cfc7b7;margin:0 auto 42px;max-width:560px}
.cta .btn{padding:20px 40px;letter-spacing:.26em}

/* ---------- footer ---------- */
.ftr{padding:90px var(--pad) 36px;border-top:1px solid rgba(212,184,124,.2);background:var(--bg)}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:50px;padding-bottom:70px}
.ftr-about{max-width:340px}
.ftr-logo{margin-bottom:28px}
.ftr-about p{font-size:14px;line-height:1.8;color:var(--mute2)}
.ftr-col{display:flex;flex-direction:column;gap:14px;font-size:14px;color:#cfc7b7}
.ftr-col a{color:#cfc7b7}
.ftr-col a:hover{color:var(--gold)}
.ftr-contact{line-height:1.7}
.ftr-h{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.ftr-company{font-weight:400;color:var(--cream)}
.ftr-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid rgba(212,184,124,.15);padding-top:28px;font-size:12px;letter-spacing:.12em;color:var(--mute3)}
.ftr-social{display:flex;gap:22px}
.ftr-social a{color:var(--mute3)}
.ftr-social a:hover{color:var(--gold)}

/* ---------- tombol WhatsApp melayang (hijau) ---------- */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:50;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;padding:0;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .2s,background .2s}
.wa-float:hover{background:#1fbd5b;color:#fff;transform:scale(1.07)}
.wa-float .wa-ic{width:34px;height:34px;fill:currentColor;display:block}
.wa-float::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25D366;z-index:-1;animation:wa-pulse 2.6s ease-out infinite}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.5}75%,100%{transform:scale(1.6);opacity:0}}

/* ---------- pemilih bahasa ---------- */
.hdr-tools{display:flex;align-items:center;gap:22px}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.16em;color:var(--mute);padding:10px 2px;user-select:none;transition:color .2s}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover,.lang[open] summary{color:var(--gold)}
.lang summary i{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.lang[open] summary i{transform:rotate(225deg) translate(-1px,-1px)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:196px;margin:0;padding:8px;list-style:none;background:var(--bg);border:1px solid var(--line);box-shadow:0 22px 50px rgba(0,0,0,.6);z-index:60}
.lang-menu a{display:block;padding:11px 14px;font-size:14px;letter-spacing:0;text-transform:none;color:var(--cream)}
.lang-menu a:hover{background:rgba(212,184,124,.1);color:var(--gold)}
.lang-menu a.is-active{color:var(--gold)}
.lang-chips{display:none}

/* ---------- hero halaman dalam ---------- */
.page-hero{padding:clamp(70px,9vw,120px) var(--pad) clamp(50px,6vw,80px)}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,9vw,140px);line-height:.95}
.page-hero--long h1{font-size:clamp(52px,7.4vw,116px);line-height:.98}
.page-hero--split{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px}
.page-hero--split>p{max-width:360px;font-size:16px;line-height:1.7;color:var(--mute)}
.crumbs{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute3);margin-bottom:40px}
.crumbs a{color:var(--mute3)}
.crumbs a:hover{color:var(--gold)}
.crumbs span{color:#5e584d;margin:0 10px}
.crumbs b{font-weight:300;color:var(--gold)}

/* ---------- armada: filter ---------- */
.filterbar{padding:0 var(--pad);position:sticky;top:0;z-index:10;background:var(--bg)}
.filterbar-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-top:1px solid rgba(212,184,124,.2);border-bottom:1px solid rgba(212,184,124,.2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:transparent;color:var(--cream);border:1px solid rgba(239,233,221,.25);padding:12px 22px;font-family:var(--sans);font-weight:300;font-size:11px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.chip:hover{border-color:var(--gold)}
.chip.is-active{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.search{background:transparent;border:0;border-bottom:1px solid rgba(239,233,221,.35);color:var(--cream);font-family:var(--sans);font-weight:300;font-size:15px;padding:10px 2px;width:min(100%,280px);outline:none;border-radius:0}
.search:focus{border-color:var(--gold)}
.search::placeholder{color:#7d7669}
.section--list{padding-top:48px}
.count{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute3);margin-bottom:28px}
.empty{padding:90px 20px;text-align:center;border:1px solid rgba(212,184,124,.2)}
.empty-t{font-family:var(--serif);font-size:30px;margin-bottom:10px}
.empty-s{font-size:15px;color:var(--mute2)}

/* ---------- tentang kami ---------- */
.story{padding:0 var(--pad) clamp(80px,11vw,150px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,100px);align-items:center}
.story-img{position:relative;aspect-ratio:4/5;width:100%;background:var(--bg2)}
.story-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-badge{position:absolute;right:-1px;bottom:-1px;background:var(--bg);padding:26px 30px 0 30px;pointer-events:none}
.story-badge .v{font-family:var(--serif);font-size:64px;line-height:1;color:var(--gold)}
.story-badge .l{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--mute2);margin-top:8px}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));border-top:1px solid rgba(26,24,20,.25)}
.value{padding:40px 30px 10px 0}
.value .reason-n{margin-bottom:28px}
.value h3{margin-bottom:12px}
.cta--plain{padding-block:clamp(90px,12vw,160px)}

/* ---------- gallery ---------- */
.section--gallery{padding-top:0}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));grid-auto-flow:dense;gap:20px}
.shot{display:flex;flex-direction:column;gap:14px}
.shot--large{grid-row:span 2}
.shot-img{position:relative;flex:1;min-height:280px;background:var(--bg2);cursor:zoom-in;border:0;padding:0;display:block;width:100%;overflow:hidden}
.shot--large .shot-img{min-height:560px}
.shot-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.shot-img:hover img{transform:scale(1.03)}
.shot-img--empty{cursor:default}
.shot figcaption{display:flex;justify-content:space-between;gap:16px;font-size:13px;letter-spacing:.08em;color:#cfc7b7}
.shot .n{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:16px}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(13,12,10,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:40px;cursor:zoom-out}
.lightbox img{max-width:100%;max-height:78vh;object-fit:contain;border:1px solid rgba(212,184,124,.3)}
.lb-cap{font-family:var(--serif);font-size:24px;text-align:center}
.lb-hint{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute3)}
.lb-close{position:absolute;top:20px;right:24px;background:none;border:0;color:var(--cream);font-size:38px;line-height:1;cursor:pointer}

/* ---------- blog ---------- */
.blog-feature{padding:0 var(--pad) 80px}
.feature{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(30px,5vw,70px);align-items:center;color:var(--cream);border-top:1px solid rgba(212,184,124,.2);padding-top:60px}
.feature:hover{color:var(--cream)}
.feature-img,.post-img{position:relative;width:100%;background:var(--bg2);overflow:hidden}
.feature-img{aspect-ratio:16/10}
.post-img{aspect-ratio:3/2}
.feature-img img,.post-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.feature:hover .feature-img img,.post:hover .post-img img{transform:scale(1.04)}
.meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.meta .dim{color:var(--mute3)}
.feature .meta{margin-bottom:24px}
.feature h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4vw,58px);line-height:1.05;margin-bottom:22px}
.feature p{font-size:17px;line-height:1.75;color:var(--mute);margin-bottom:34px;max-width:520px}
.blog-list{padding:0 var(--pad) clamp(80px,11vw,150px)}
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:40px 28px}
.post{display:flex;flex-direction:column;gap:22px;color:var(--cream)}
.post:hover{color:var(--gold)}
.post h3{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.12}
.post p{font-size:15px;line-height:1.75;color:var(--mute2)}
.more{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:64px}
.pager a,.pager-gap{min-width:44px;padding:12px 14px;border:1px solid rgba(239,233,221,.25);color:var(--cream);font-size:13px;text-align:center}
.pager-gap{border:0}
.pager a:hover{border-color:var(--gold);color:var(--gold)}
.pager a.is-current{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.post-hero h1{font-size:clamp(40px,5.6vw,88px);line-height:1.02;max-width:1000px}
.post-hero .meta{margin-bottom:24px}
.post-hero{padding-bottom:clamp(40px,5vw,60px)}
.post-cover{position:relative;margin:0 var(--pad) clamp(48px,6vw,80px);aspect-ratio:16/8;background:var(--bg2);overflow:hidden}
.post-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prose{max-width:760px;margin:0 auto;padding:0 var(--pad);font-size:18px;line-height:1.85;color:#cfc7b7}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 24px}
.prose h2,.prose h3,.prose h4{font-family:var(--serif);font-weight:500;color:var(--cream);line-height:1.15;margin:52px 0 16px}
.prose h2{font-size:clamp(30px,3.4vw,42px)}
.prose h3{font-size:clamp(26px,3vw,34px)}
.prose h4{font-size:24px}
.prose ul,.prose ol{margin:0 0 26px;padding-left:24px}
.prose li{margin-bottom:10px}
.prose li::marker{color:var(--gold)}
.prose a{text-decoration:underline;text-underline-offset:4px}
.prose blockquote{margin:36px 0;padding-left:26px;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.45;color:var(--cream)}
.prose hr{border:0;border-top:1px solid var(--line);margin:44px 0}
.prose pre,.prose code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--bg2);padding:.15em .4em}
.prose pre{padding:18px;overflow:auto}
.post-foot{max-width:760px;margin:60px auto 0;padding:32px var(--pad) clamp(70px,9vw,110px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}
.blog-related{padding-bottom:clamp(60px,8vw,100px)}
.blog-related .posts{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}

/* ---------- kontak ---------- */
.contact{padding:0 var(--pad) clamp(70px,9vw,110px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,90px)}
.contact-info{border-top:1px solid rgba(212,184,124,.25);padding-top:50px}
.contact-info .lead{font-size:16px;line-height:1.75;color:var(--mute);margin-bottom:40px;max-width:480px}
.rows{margin:0 0 44px;display:flex;flex-direction:column}
.row{display:grid;grid-template-columns:minmax(0,170px) 1fr;gap:20px;padding:24px 0;border-top:1px solid rgba(212,184,124,.15)}
.row:last-child{border-bottom:1px solid rgba(212,184,124,.15)}
.row dt{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute3);padding-top:4px}
.row dd{font-size:16px;line-height:1.7}
.row dd b{font-weight:400}
.row dd a{color:var(--cream)}
.row dd a:hover{color:var(--gold)}
.row dd .phone{font-family:var(--serif);font-size:28px}
.map{position:relative;min-height:560px;background:var(--bg2);border:1px solid rgba(212,184,124,.2)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.9) sepia(.25)}
.map-label{position:absolute;left:20px;bottom:20px;background:var(--bg);border:1px solid rgba(212,184,124,.4);padding:16px 20px;pointer-events:none;max-width:calc(100% - 40px)}
.map-label .k{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.map-label .v{font-family:var(--serif);font-size:20px}
.contact-form{margin:0 var(--pad);padding:clamp(50px,7vw,90px) 0 clamp(80px,11vw,150px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(40px,6vw,100px);border-top:1px solid rgba(212,184,124,.15)}
.field{margin-bottom:26px}
.field label{display:block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute3);margin-bottom:10px}
.field input,.field textarea{width:100%;background:transparent;border:1px solid rgba(239,233,221,.25);color:var(--cream);padding:16px 18px;font-family:var(--sans);font-weight:300;font-size:16px;outline:none;border-radius:0;transition:border-color .2s;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--gold)}
.field.has-error input,.field.has-error textarea{border-color:#d98a7a}
.field .err{display:block;color:#e59a8a;font-size:13px;margin-top:8px}
.field ::placeholder{color:#6e675b}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.alert{border:1px solid var(--gold);background:rgba(212,184,124,.08);padding:16px 20px;margin-bottom:28px;font-size:15px}
.alert--err{border-color:#d98a7a;background:rgba(217,138,122,.08)}

/* ---------- 404 ---------- */
.notfound{text-align:center;padding:clamp(90px,14vw,190px) var(--pad)}
.notfound-n{font-family:var(--serif);font-size:clamp(90px,16vw,200px);line-height:1;color:var(--gold)}
.notfound h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,68px);margin:10px 0 18px}
.notfound p{color:var(--mute);margin-bottom:40px}


/* ---------- responsif ---------- */
@media (max-width:1199px){
  .hdr{--hpad:20px;padding:16px var(--hpad);gap:12px 20px}
  .hdr .logo{--s:34px!important}
  .hdr--overlay{position:relative;background:var(--bg)}
  .nav-toggle{display:flex}
  .hdr-panel{display:none;flex-direction:column;align-items:stretch;gap:0;width:calc(100% + var(--hpad) * 2);margin:4px calc(var(--hpad) * -1) 0;padding:6px var(--hpad) 28px;border-top:1px solid var(--line)}
  .hdr.is-open .hdr-panel{display:flex}
  .nav{flex-direction:column;flex-wrap:nowrap;gap:0;width:100%;letter-spacing:0;text-transform:none}
  .nav a{display:block;font-family:var(--serif);font-size:28px;letter-spacing:0;padding:14px 0;border-bottom:1px solid rgba(212,184,124,.12)}
  .hdr-panel .btn{width:100%;margin-top:24px;padding:15px 22px;background:var(--gold);border-color:var(--gold);color:var(--bg);font-weight:500}
  .hdr-panel .btn:hover{background:var(--cream);border-color:var(--cream)}
  .hdr-tools{display:block}
  .hdr-tools .lang{display:none}
  .lang-chips{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0 4px}
  .lang-chips a{padding:10px 15px;border:1px solid rgba(212,184,124,.35);color:var(--cream);font-size:13px;line-height:1;letter-spacing:0}
  .lang-chips a:hover{border-color:var(--gold);color:var(--gold)}
  .lang-chips a.is-active{background:var(--gold);border-color:var(--gold);color:var(--bg)}
}
@media (max-width:380px){
  .hdr .logo{--s:29px!important}
}
/* Laptop kecil: rapatkan header agar tetap satu baris (nav + pemilih bahasa + tombol) */
@media (min-width:1200px) and (max-width:1439px){
  .hdr{gap:20px 24px}
  .hdr .logo{--s:38px!important}
  .nav{gap:8px clamp(16px,1.8vw,28px);letter-spacing:.16em}
  .hdr-tools{gap:14px}
  .btn--outline{padding:11px 16px;letter-spacing:.18em}
}

/* Hero HP / layar potret: foto di atas (tidak terpotong), teks di bawahnya */
@media (max-width:819px),(max-aspect-ratio:20/23){
  .hero{height:auto;min-height:0;display:block;padding:0;overflow:visible;background:var(--bg)}
  .hero-media{position:relative;inset:auto;width:100%;aspect-ratio:1254/740;overflow:hidden;background:var(--bg2)}
  .hero-shade{background:linear-gradient(180deg,rgba(13,12,10,0) 60%,rgba(13,12,10,1) 100%)}
  .hero-copy{position:relative;left:auto;right:auto;bottom:auto;max-width:none;padding:8px 20px 0;pointer-events:auto}
  .hero-copy .eyebrow{font-size:11px;letter-spacing:.3em;gap:14px;margin-bottom:18px}
  .hero-copy .eyebrow .rule{width:32px}
  .hero-copy h1{font-size:clamp(40px,11vw,60px);line-height:1;margin-bottom:18px}
  .hero-copy p{font-size:15px;line-height:1.7;margin-bottom:28px}
  .hero-cta{flex-direction:column;gap:12px}
  .hero-cta .btn{padding:17px 24px}
  .hero-ctrl{position:relative;left:auto;right:auto;bottom:auto;padding:32px 20px 44px}
  .hero-count{font-size:18px;gap:12px}
  .hero-arrow{width:44px;height:44px}
}

@media (max-width:700px){
  body{font-weight:400}
  /* --- ritme & jarak --- */
  .section{padding:64px var(--pad)}
  .section--gallery{padding-top:8px}
  .section--faq{padding-top:0}
  .sec-head{margin-bottom:34px;gap:16px}
  .center-head{margin-bottom:38px}
  .center-link{margin-top:32px}
  .eyebrow{font-size:12px;letter-spacing:.22em;gap:12px;margin-bottom:16px}
  .eyebrow .rule{width:32px}
  .h2,.h2--md,.h2--sm{font-size:clamp(34px,10vw,46px)}
  .lead{font-size:16px;line-height:1.75}
  .lead--dim{margin-bottom:30px}
  .btn{padding:16px 24px}

  /* --- strip keunggulan: 2 x 2 --- */
  .strip{grid-template-columns:1fr 1fr}
  .strip>div{padding:22px 18px;border-right:0;border-bottom:1px solid rgba(212,184,124,.15)}
  .strip>div:nth-child(odd){border-right:1px solid rgba(212,184,124,.15)}
  .strip>div:nth-last-child(-n+2){border-bottom:0}
  .strip-t{font-size:19px;line-height:1.2}
  .strip-s{font-size:13px;line-height:1.45}

  /* --- armada beranda: karusel geser --- */
  .grid--cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(var(--pad) * -1);padding:0 var(--pad) 10px;scroll-padding:0 var(--pad);-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .grid--cards::-webkit-scrollbar{display:none}
  .grid--cards>.card{flex:0 0 84%;scroll-snap-align:start}
  .grid--list{gap:18px}
  .card-img{aspect-ratio:16/11}
  .card-body{padding:20px 18px 22px;gap:14px}
  .card-body h3{font-size:25px}
  .card-meta{font-size:12.5px;letter-spacing:.1em}
  .price{font-size:24px}
  .note{font-size:12.5px}
  .card-cta{padding:15px 16px;font-size:11.5px}

  /* --- kenapa pilih kami, nilai, statistik --- */
  .why{gap:34px}
  .why .h2{margin-bottom:26px}
  .reason{grid-template-columns:40px 1fr;gap:10px;padding:24px 0}
  .reason-n{font-size:24px}
  .reason h3,.value h3{font-size:25px;margin-bottom:6px}
  .reason p,.value p{font-size:15.5px;line-height:1.65}
  .values{grid-template-columns:1fr}
  .value{padding:26px 0 24px;border-bottom:1px solid rgba(26,24,20,.15);display:grid;grid-template-columns:40px 1fr;gap:0 10px}
  .value .reason-n{grid-row:span 2;margin-bottom:0}
  .stats{grid-template-columns:1fr 1fr;margin-top:44px}
  .stats>div{padding:26px 10px 0 0}
  .stat-v{font-size:clamp(44px,13vw,56px)}
  .stat-l{font-size:12px;letter-spacing:.14em;margin-top:6px}

  /* --- testimoni & FAQ --- */
  .testi{padding:30px 22px;gap:18px}
  .testi blockquote{font-size:22px}
  .section--faq{gap:26px}
  .faq-item summary{font-size:21px;padding:22px 0;gap:14px}
  .faq-item p{font-size:15.5px;margin-bottom:22px}

  /* --- CTA --- */
  .cta{padding:72px var(--pad)}
  .cta--photo{min-height:420px;padding-block:72px}
  .cta h2{font-size:clamp(36px,10.5vw,52px);margin-bottom:18px}
  .cta p{font-size:16px;margin-bottom:28px}
  .cta .btn{width:100%;padding:18px 20px}

  /* --- footer --- */
  .ftr{padding:54px var(--pad) 90px}
  .ftr-grid{grid-template-columns:1fr 1fr;gap:34px 22px;padding-bottom:36px}
  .ftr-about,.ftr-contact{grid-column:1 / -1;max-width:none}
  .ftr-col{gap:12px;font-size:15px}
  .ftr-col a,.ftr-contact span{overflow-wrap:anywhere}
  .ftr-bottom{flex-direction:column;gap:10px;font-size:12px;letter-spacing:.06em}


  .wa-float{right:14px;bottom:14px;width:54px;height:54px}
  .wa-float .wa-ic{width:30px;height:30px}

  /* --- halaman dalam --- */
  .page-hero{padding:44px var(--pad) 32px}
  .page-hero h1,.page-hero--long h1{font-size:clamp(42px,13.5vw,60px);line-height:1}
  .page-hero--split{gap:16px}
  .page-hero--split>p{font-size:15.5px;max-width:none}
  .crumbs{margin-bottom:22px;font-size:11.5px;letter-spacing:.16em}

  /* --- armada: filter ringkas, tidak menempel --- */
  .filterbar{position:static}
  .filterbar-in{gap:14px;padding:16px 0}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--pad) * -1);padding:0 var(--pad);width:calc(100% + var(--pad) * 2);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none;padding:11px 18px;font-size:11.5px}
  .search{width:100%;font-size:16px}
  .section--list{padding-top:28px}
  .count{margin-bottom:18px}

  /* --- tentang kami --- */
  .story{gap:34px;padding-bottom:64px}
  .story-badge{padding:18px 20px 0 20px}
  .story-badge .v{font-size:46px}
  .story-badge .l{font-size:10.5px;letter-spacing:.18em}

  /* --- gallery: 2 kolom --- */
  .gallery{grid-template-columns:1fr 1fr;gap:10px;grid-auto-flow:row}
  .shot{gap:8px}
  .shot--large{grid-column:1 / -1;grid-row:auto}
  .shot-img,.shot--large .shot-img{flex:none;min-height:0;aspect-ratio:4/5}
  .shot--large .shot-img{aspect-ratio:16/10}
  .shot figcaption{font-size:12.5px;letter-spacing:.02em;gap:8px}
  .shot .n{font-size:14px}
  .lightbox{padding:18px}
  .lb-cap{font-size:20px}

  /* --- blog --- */
  .blog-feature{padding-bottom:44px}
  .feature{padding-top:34px;gap:24px}
  .feature h2{font-size:clamp(30px,8.5vw,40px)}
  .feature p{font-size:16px;margin-bottom:22px}
  .posts{gap:38px}
  .post{gap:16px}
  .post h3{font-size:27px}
  .meta{font-size:11px;letter-spacing:.2em}
  .pager{margin-top:44px}
  .post-hero h1{font-size:clamp(34px,10vw,48px)}
  .post-cover{aspect-ratio:16/10;margin-bottom:34px}
  .prose{font-size:17px;line-height:1.8}
  .prose h2{margin-top:38px}
  .prose blockquote{font-size:22px}
  .post-foot{margin-top:36px;padding-bottom:56px}

  /* --- kontak --- */
  .contact{gap:34px;padding-bottom:56px}
  .contact-info{padding-top:34px}
  .contact-info .lead{margin-bottom:26px}
  .row{grid-template-columns:1fr;gap:6px;padding:18px 0}
  .row dd .phone{font-size:26px}
  .rows{margin-bottom:28px}
  .contact-info>.btn{width:100%}
  .map{min-height:320px}
  .contact-form{gap:26px;padding-block:44px 64px}
  .field input,.field textarea{font-size:16px}
  .contact-form .btn{width:100%}
  .notfound-n{font-size:110px}
}

/* ---------- tipografi per bahasa ---------- */
h1,h2,h3,.strip-t,.faq-item summary,blockquote{overflow-wrap:break-word;hyphens:auto}
html[lang="zh-CN"]{--serif:'Cormorant Garamond','Noto Serif SC','Songti SC','SimSun',Georgia,serif;--sans:'Jost','Noto Sans SC','PingFang SC','Microsoft YaHei',system-ui,sans-serif}
html[lang="ja"]{--serif:'Cormorant Garamond','Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',Georgia,serif;--sans:'Jost','Noto Sans JP','Hiragino Sans','Yu Gothic',system-ui,sans-serif}
html[lang="ko"]{--serif:'Cormorant Garamond','Noto Serif KR','Batang',Georgia,serif;--sans:'Jost','Noto Sans KR','Malgun Gothic',system-ui,sans-serif}
/* Huruf CJK tidak perlu jarak antarhuruf lebar seperti Latin */
:lang(zh) :is(.nav a,.eyebrow,.btn,.link-under,.chip,.tag,.card-meta,.card-cta,.ftr-h,.stat-l,.meta,.more,.count,.crumbs,.row dt,.map-label .k,.lb-hint,.story-badge .l,.field label,.lang summary){letter-spacing:.08em}
:lang(ja) :is(.nav a,.eyebrow,.btn,.link-under,.chip,.tag,.card-meta,.card-cta,.ftr-h,.stat-l,.meta,.more,.count,.crumbs,.row dt,.map-label .k,.lb-hint,.story-badge .l,.field label,.lang summary){letter-spacing:.08em}
:lang(ko) :is(.nav a,.eyebrow,.btn,.link-under,.chip,.tag,.card-meta,.card-cta,.ftr-h,.stat-l,.meta,.more,.count,.crumbs,.row dt,.map-label .k,.lb-hint,.story-badge .l,.field label,.lang summary){letter-spacing:.08em}
:lang(zh) :is(h1,h2,h3,blockquote,.faq-item summary,.strip-t){letter-spacing:.02em}
:lang(ja) :is(h1,h2,h3,blockquote,.faq-item summary,.strip-t){letter-spacing:.02em}
:lang(ko) :is(h1,h2,h3,blockquote,.faq-item summary,.strip-t){letter-spacing:.02em}
:lang(zh) .lead,:lang(ja) .lead,:lang(ko) .lead,:lang(zh) .prose,:lang(ja) .prose,:lang(ko) .prose{line-height:1.95}
/* Rusia & Prancis: kata lebih panjang → jarak antarhuruf lebih rapat agar tombol/label tidak melebar */
:lang(ru) :is(.nav a,.eyebrow,.btn,.link-under,.chip,.tag,.card-meta,.card-cta,.ftr-h,.stat-l,.meta,.more,.count,.crumbs,.row dt,.map-label .k,.lb-hint,.field label,.lang summary),
:lang(fr) :is(.nav a,.eyebrow,.btn,.link-under,.chip,.tag,.card-meta,.card-cta,.ftr-h,.stat-l,.meta,.more,.count,.crumbs,.row dt,.map-label .k,.lb-hint,.field label){letter-spacing:.12em}
:lang(ru) :is(.nav a){font-size:11.5px}

/* Rusia: aksara Sirilik lebih lebar → judul HP sedikit lebih kecil */
@media (max-width:700px){
  :lang(ru) .page-hero h1,:lang(ru) .page-hero--long h1,:lang(ru) .post-hero h1{font-size:clamp(28px,9vw,48px)}
  :lang(ru) .h2,:lang(ru) .h2--md,:lang(ru) .h2--sm{font-size:clamp(27px,8.4vw,40px)}
  :lang(ru) .hero-copy h1{font-size:clamp(31px,9.6vw,50px)}
  :lang(ru) .cta h2,:lang(ru) .feature h2{font-size:clamp(28px,8.6vw,44px)}
  :lang(fr) .page-hero h1,:lang(fr) .page-hero--long h1{font-size:clamp(38px,12vw,58px)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .wa-float::before{animation:none;display:none}
  .hero-slide,.card-img img,.shot-img img,.feature-img img,.post-img img{transition:none}
}
