:root{
  --accent:#FFC107; --accent-light:#FFD94D; --accent-soft:#FFF6D9;
  --orange:#E8772E; --orange-dark:#C9601C;
  --dark:#2a1a0e; --ink:#2a1a0e; --muted:#6b5a4c; --line:#f0e2c2; --warm:#e7d9c8;
  --r-lg:28px; --r-md:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1rem;color:var(--ink);line-height:1.65;background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
address{font-style:normal}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.perks :focus-visible,footer :focus-visible,.wa:focus-visible{outline-color:var(--accent)}
.wrap{width:min(1160px,92%);margin-inline:auto}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.i{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
section{padding:88px 0}
h1,h2,h3,h4{color:var(--ink);line-height:1.12;letter-spacing:-.02em}
.sec-head{max-width:64ch;margin-bottom:44px}
.sec-head h2{font-size:clamp(1.9rem,3.8vw,2.8rem);font-weight:800;letter-spacing:-.03em}
.sec-head p{margin-top:14px;color:var(--muted);font-size:1.05rem}

/* tombol */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--ink);background:var(--ink);color:#fff;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.sm{padding:10px 22px;font-size:.92rem}
.btn.line{background:transparent;color:var(--ink)}
.btn.line:hover{background:var(--ink);color:#fff}
.ico{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:16px;background:var(--orange);color:var(--ink)}
.ico .i{width:26px;height:26px}

/* header */
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;padding:10px 0}
.brand{display:flex;align-items:center;gap:8px;margin-right:auto;text-decoration:none;font-weight:800;color:var(--orange)}
.brand img{height:44px;width:auto}
nav ul{list-style:none;display:flex;gap:2px}
nav a{display:block;padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.92rem;color:var(--muted);white-space:nowrap}
nav a:hover{background:var(--accent-soft);color:var(--ink)}

/* hero */
.hero{position:relative;overflow:hidden;padding:64px 0 150px;color:#fff;background:linear-gradient(to bottom, rgba(202, 110, 42, 0.8) 0%, rgba(165, 80, 25, 0.55) 45%, rgba(165, 80, 25, 0.2) 100%),url("images/photo-1451187580459-43490279c0fa.avif") center/cover no-repeat;}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1{font-family:"Archivo Black","Plus Jakarta Sans",sans-serif;font-weight:400;font-style:normal;text-transform:uppercase;letter-spacing:0;font-size:clamp(2.4rem,5.5vw,4.2rem);line-height:1.04;margin-bottom:22px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35);}
.hero .lead{max-width:46ch;margin-bottom:32px;font-size:1.15rem;font-weight:500;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.store{margin-top:22px;font-size:.95rem;font-weight:600}
.store a{text-underline-offset:4px}
.hero .btn{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.hero .btn:hover{background:#fff;border-color:#fff}
.dial{position:relative;width:100%;max-width:440px;justify-self:center}
.dial svg{width:100%;height:auto;overflow:visible}
.track{fill:none;stroke:rgba(255,255,255,.3);stroke-width:22;stroke-linecap:round}
.arc{fill:none;stroke:var(--accent);stroke-width:22;stroke-linecap:round;stroke-dasharray:377;stroke-dashoffset:377;animation:draw 1.8s .3s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.readout{position:absolute;left:0;right:0;top:44%;text-align:center;color:#fff}
.readout strong{display:block;font-size:clamp(4rem,12vw,6.2rem);font-weight:800;letter-spacing:-.05em;line-height:1;color:#fff}
.readout span{font-size:1.3rem;font-weight:700;color:#fff}

/* strip angka */
.trust{position:relative;z-index:2;margin-top:-72px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:var(--r-lg);box-shadow:0 20px 50px rgba(42,26,14,.16)}
.trust li{padding:22px 26px}
.trust li+li{border-left:1px solid var(--line)}
.trust strong{display:block;font-size:1.7rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;color:var(--orange)}
.trust span{font-size:.88rem;color:var(--muted)}

/* paket */
#paket{padding-top:84px}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.plan{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:38px 22px 24px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);transition:transform .25s,box-shadow .25s}
.plan::before{content:"";position:absolute;inset:0 0 auto 0;height:10px;background:var(--accent-light)}
.plan:hover{transform:translateY(-6px);box-shadow:0 24px 44px rgba(232,119,46,.18)}
.plan .num{font-size:4.2rem;font-weight:800;letter-spacing:-.06em;line-height:.95}
.plan .num small{margin-left:6px;font-size:1.3rem;letter-spacing:0;color:var(--muted)}
.plan .for{align-self:flex-start;margin:14px 0 20px;padding:4px 14px;border-radius:999px;background:var(--accent-soft);font-size:.88rem;font-weight:600}
.plan .price{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:var(--orange)}
.plan .price small{font-size:.9rem;font-weight:500;letter-spacing:0;color:var(--muted)}
.plan ul{flex:1;align-content:start;list-style:none;display:grid;gap:11px;margin:20px 0 24px;padding-top:20px;border-top:1px dashed var(--line);font-size:.88rem;color:var(--muted)}
.plan li{position:relative;padding-left:26px}
.plan li::before{content:"";position:absolute;left:1px;top:6px;width:13px;height:7px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg)}
.plan .btn{width:100%;background:var(--accent);border-color:var(--accent-light);color:var(--ink)}
.plan .btn:hover{background:var(--accent);border-color:var(--accent)}
.paket-note{margin-top:44px;text-align:center;color:var(--muted)}
.paket-note a{font-weight:700;color:var(--ink);text-underline-offset:4px}

/* highlight */
.highlights{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:36px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:0 12px 32px rgba(42,26,14,.08)}
.highlights li{display:flex;align-items:center;gap:16px;padding:22px 26px}
.highlights li+li{border-left:1px solid var(--line)}
.highlights strong{font-size:1.05rem;font-weight:800;line-height:1.2;letter-spacing:-.01em;text-transform:uppercase}
.highlights em{display:block;font-style:normal;color:var(--orange)}
.highlights li:nth-child(1) .ico{background:var(--accent);}
.highlights li:nth-child(2) .ico{background:var(--accent);}
.highlights li:nth-child(3) .ico{background:var(--accent);color:var(--ink)}
.features{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.features li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 18px;text-align:center;border-radius:var(--r-md);background:var(--accent-soft);border-bottom:6px solid var(--accent);}
.features li:nth-child(even){background:#fff;border:1.5px solid var(--line);border-bottom:6px solid var(--accent)}
.features .ico{margin-bottom:8px;background: var(--accent);}
.features h3{font-size:1.02rem;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.features p{font-size:.88rem;color:var(--muted)}

/* layanan */
#layanan{background:var(--accent-soft)}
.group h3{margin-bottom:22px;font-size:1.4rem;font-weight:800}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{display:flex;flex-direction:column;gap:12px;padding:30px;background:#fff;border-radius:var(--r-md);border-bottom:6px solid var(--accent)}
.card h4{font-size:1.15rem;font-weight:800}
.card p{font-size:.94rem;color:var(--muted)}

.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 32px;margin-top:56px;padding:44px;border-radius:var(--r-lg);background: var(--accent);color:var(--ink)}
.perks-intro h3{margin-bottom:10px;font-size:1.7rem;font-weight:800}
.perks-intro p{font-size:.98rem;font-weight:500}
.perk{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.perk .ico{width:44px;height:44px;border-radius:14px;background:var(--ink);color:var(--accent)}
.perk .ico .i{width:22px;height:22px}
.perk h4{margin-bottom:6px;font-size:1.05rem;font-weight:800}
.perk p{font-size:.9rem}

/* tentang */
.tl{list-style:none;border-top:1px solid var(--line)}
.tl li{display:grid;grid-template-columns:150px 1fr 110px;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.tl time{font-size:2.3rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.tl time::after{content:"";display:block;width:38px;height:5px;margin-top:10px;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--orange))}
.tl h4{margin-bottom:6px;font-size:1.1rem;font-weight:700}
.tl p{max-width:72ch;font-size:.95rem;color:var(--muted)}
.tl img{height:84px;width:auto;justify-self:end}

.vm{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:64px}
.vm article{display:flex;flex-direction:column;gap:22px;padding:38px;border-radius:var(--r-lg);background:var(--accent);color:var(--ink)}
.vm article:nth-child(2){background:var(--orange)}
.vm h3{margin-bottom:10px;font-size:1.9rem;font-weight:800}
.vm p+p{margin-top:10px}
.vm img{max-height:200px;margin:auto auto 0;padding:14px;background:rgba(255,255,255,.92);border-radius:var(--r-md)}

/* klien */
#klien{background:#fffaf0}
.carousel{position:relative}
.logos{list-style:none;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px}
.logos::-webkit-scrollbar{display:none}
.logos li{flex:0 0 170px;scroll-snap-align:start;display:grid;place-items:center;height:96px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:16px}
.car-btn{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;border:0;border-radius:50%;background:var(--accent);color:var(--ink);cursor:pointer;box-shadow:0 8px 20px rgba(42,26,14,.2);transition:background .2s,transform .2s}
.car-btn:hover{background:var(--orange);transform:scale(1.06)}
.car-btn.prev{left:-20px}.car-btn.next{right:-20px}
.logos img{max-height:52px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .25s,opacity .25s}
.logos li:hover img,.logos li:focus-within img{filter:none;opacity:1}
@media (hover:none){.logos img{filter:none;opacity:1}}

/* kontak */
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:28px;padding:42px;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--accent),var(--accent-light))}
.cta-band h3{margin-bottom:6px;font-size:1.7rem;font-weight:800}
.cta-band p{font-weight:500}
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}
.map{width:100%;height:100%;min-height:400px;border:0;border-radius:var(--r-lg);background:var(--accent-soft)}
.info{display:flex;flex-direction:column;gap:12px;align-content:normal;padding:28px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:0 20px 44px rgba(42,26,14,.08),}
.info-title{margin-bottom:6px;font-size:1.4rem;font-weight:800}
.info-item{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--r-md);background:var(--accent-soft);border:1.5px solid transparent;text-decoration:none;color:var(--ink);transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.info-item .ico{width:48px;height:48px;border-radius:14px;background:var(--accent-light);color:var(--ink);box-shadow:0 6px 14px rgba(232,119,46,.3)}
.info-item .ico .i{width:22px;height:22px}
.info-item>div{flex:1;min-width:0}
.info-item .lbl{display:block;margin-bottom:2px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.info-item strong{display:block;font-size:1rem;font-weight:700;word-break:break-word}
.info-item p{font-size:.92rem;line-height:1.5;color:var(--muted)}
.info-item .go{width:20px;height:20px;color:var(--orange);opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s}
.info-item.link:hover,.info-item.link:focus-visible{background:#fff;border-color:var(--accent);transform:translateX(4px);box-shadow:0 10px 24px rgba(232,119,46,.15)}
.info-item.link:hover .go,.info-item.link:focus-visible .go{opacity:1;transform:none}
.info-wa{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;padding:15px 24px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;text-decoration:none;transition:transform .2s,background .2s}
.info-wa .i{width:22px;height:22px;color:#fff;}
.info-wa:hover{background:#000;transform:translateY(-2px)}

@media (max-width:560px){
  .info{padding:20px}
  .info-item{padding:14px}
  .info-item .go{display:none}
}

footer{padding:28px 0;background:var(--ink);color:var(--warm);text-align:center;font-size:.9rem}
footer a{color:var(--accent)}

.wa{position:fixed;right:18px;bottom:18px;z-index:40;display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 10px 26px rgba(42,26,14,.35)}
.wa .i{color:#fff;width:22px;height:22px}
.wa:hover{background:#000}

@media (max-width:1100px){
  .plans{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  html{scroll-padding-top:128px}
  section{padding:64px 0}
  .bar{flex-wrap:wrap;gap:8px 12px;padding:8px 0}
  nav{order:3;width:100%;overflow-x:auto;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  nav ul{width:max-content}
  .hero{padding:44px 0 130px}
  .hero .wrap{grid-template-columns:1fr;gap:44px}
  .dial{max-width:380px}
  .chip.a{left:0}.chip.b{right:0}
  .trust{grid-template-columns:1fr 1fr}
  .trust li+li{border-left:0}
  .trust li:nth-child(n+3){border-top:1px solid var(--line)}
  .trust li:nth-child(even){border-left:1px solid var(--line)}
  .plans{grid-template-columns:1fr 1fr;max-width:none}
  .features{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr}
  .perks{grid-template-columns:1fr 1fr;padding:34px}
  .perks-intro{grid-column:1/-1}
  .vm,.contact{grid-template-columns:1fr}
  .tl li{grid-template-columns:110px 1fr;gap:20px}
  .tl img{display:none}
  .tl time{font-size:1.9rem}
}
@media (max-width:560px){
  .brand img{height:38px}
  .btn.sm{padding:9px 16px;font-size:.85rem}
  .hero .btn{padding:12px 20px}
  .trust{margin-top:-64px}
  .trust li{padding:16px}
  .trust strong{font-size:1.4rem}
  .plans{grid-template-columns:1fr;max-width:480px;margin-inline:auto}
  .perks{grid-template-columns:1fr;padding:28px 24px}
  .highlights{grid-template-columns:1fr}
  .highlights li+li{border-left:0;border-top:1px solid var(--line)}
  .features li{padding:20px 12px}
  .cta-band{padding:30px 26px}
  .cta-band .actions,.cta-band .btn{width:100%}
  .tl li{grid-template-columns:1fr;gap:12px}
  .vm article{padding:30px 26px}
  .map{min-height:320px}
  .wa{right:12px;bottom:12px;padding:12px 18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .arc{animation:none;stroke-dashoffset:0}
  *,*::before,*::after{transition:none!important}
}
