
/* Dokurapi: tata letak direplika dari pengukuran, kode ditulis dari nol.
   Titik patah mengikuti perilaku referensi: >=1200 penuh, 1024-1199 desktop sempit,
   640-1023 tablet (satu kolom terpusat 600 px), <640 ponsel (acuan 390 px). */
:root{
  --accent:#C4411D;        /* CTA + tautan, kontras 5,2:1 di atas putih */
  --accent-hover:#A93714;
  --accent-deco:#E4572E;   /* warna merek untuk ikon dan ilustrasi */
  --tint:#FFF3EE;          /* latar section lembut */
  --ink:#1A1A1A;
  --ink2:#212121;
  --muted:#6F6F6F;
  --line:#E8E8E8;
  --btn-line:#DDDDDD;
  --card:#FAFAFA;
  --gray:#F4F4F4;
  --dark:#191919;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:24px;color:var(--ink);background:#fff;overflow-x:hidden}
h1,h2,h3,p,ul{margin:0}
h1,h2,h3{text-wrap:balance}
ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
svg{display:block}
img,svg{max-width:100%}
[hidden]{display:none!important}
[id]{scroll-margin-top:72px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- tombol ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 12px;border:1px solid transparent;border-radius:4px;font-size:16px;font-weight:700;line-height:24px;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover)}
.btn-secondary{background:#fff;color:var(--accent);border-color:var(--accent)}
.btn-secondary:hover{background:var(--tint)}
.btn-out{display:inline-flex;align-items:center;height:40px;border:1px solid var(--btn-line);border-radius:4px;background:#fff;transition:background-color .15s}
.btn-out:hover{background:var(--gray)}
.center{display:flex;justify-content:center}

/* ---------- navbar (menempel saat scroll, seperti referensi) ---------- */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;height:56px;padding:0 8px}
.logo{display:flex;align-items:center;gap:8px;height:40px;flex:none}
.logo-mark{width:40px;height:40px}
.wordmark{font-size:26px;line-height:40px;font-weight:800;letter-spacing:-.6px;color:var(--ink);width:98px}
.tools-wrap{position:relative;margin-left:16px;flex:none}
.tools-btn{gap:4px;padding:0 12px;width:110px}
.tools-label{color:var(--ink);flex:1;text-align:left}
.tools-menu{position:absolute;top:48px;left:0;width:260px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.tools-menu a{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;font-size:15px}
.tools-menu a:hover{background:var(--gray)}
.tm-all{display:none}
.tools-btn[aria-expanded="true"]{background:var(--tint);border-color:#F1B9A6}
.tools-btn[aria-expanded="true"] svg:last-child{transform:rotate(180deg)}
.nav-links{display:flex;gap:20px;margin-left:16px;min-width:0}
.nav-links a{line-height:56px;color:var(--ink2);white-space:nowrap}
.nav-links a:hover,.nav-txt:hover{color:var(--accent)}
.nav-right{display:flex;align-items:center;margin-left:auto;flex:none;padding-left:16px}
.nav-txt{color:var(--ink2);margin-right:19px;white-space:nowrap}
.nav-txt+.nav-txt{margin-right:16px}
.lang-btn{padding:0 12px;gap:4px;margin-right:8px;color:var(--muted)}
.lang-opt{font-size:16px}
.lang-opt.on{color:var(--ink);font-weight:700}
.lang-sep{color:#BDBDBD}
.burger{display:none;width:42px;justify-content:center;padding:0}
.m-menu{position:absolute;top:57px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 16px 16px;box-shadow:0 12px 24px rgba(0,0,0,.08)}
.m-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.m-menu .btn{display:flex;margin-top:16px;border-bottom:0;padding:0 12px}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:96px;align-items:center;max-width:1440px;min-height:636px;margin:0 auto;padding:0 48px}
.hero h1{font-size:64px;line-height:80px;font-weight:700}
.hero p{font-size:22px;line-height:32px;padding-top:16px}
.hero-btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.hero-ill svg{width:100%;height:auto}

/* ---------- alat populer ---------- */
.tools{padding-top:68px;text-align:center}
.tools h2,.intro h2,.why h2{font-size:42px;line-height:56px;font-weight:700}
.tools .sub{font-size:18px;line-height:28px;padding-top:16px}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1176px;margin:20px auto 0;text-align:left}
.tool-card{position:relative;display:block;height:120px;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:16px 56px 16px 64px;transition:border-color .15s,box-shadow .15s}
.tool-card:hover{border-color:#F1B9A6;box-shadow:0 4px 14px rgba(196,65,29,.10)}
.tool-card .t{display:block;font-size:16px;line-height:24px;font-weight:700}
.tool-card .d{display:block;font-size:14px;line-height:20px;margin-top:-1px}
.ic32{position:absolute;left:15px;top:15px;width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff}
.ic32 svg{width:20px;height:20px}
.chev{position:absolute;right:15px;top:15px;width:24px;height:24px;color:var(--ink)}
.tools .center{margin-top:20px}

/* ---------- intro ---------- */
.intro{padding-top:128px;text-align:center}
.intro p{max-width:600px;margin:0 auto;padding-top:16px;font-size:18px;line-height:28px}

/* ---------- fitur: dua kolom sama lebar, teks = kolom - 125 px, ilustrasi = kolom - 3 px ---------- */
.features{width:calc(100% - 48px);max-width:1152px;margin:64px auto 0}
.feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.feat+.feat{margin-top:80px}
.feat .txt{margin:0 85px 0 40px;min-width:0}
.feat.rev .txt{margin:0 40px 0 85px}
.feat .ill{justify-self:end;width:calc(100% - 3px);max-width:573px;min-width:0}
.feat.rev .ill{order:-1;justify-self:start}
.feat h3{font-size:32px;line-height:40px;font-weight:700;padding-bottom:16px}
.feat p{font-size:18px;line-height:28px}
.more{display:inline-flex;align-items:center;gap:4px;margin-top:32px;color:var(--accent);font-size:16px;line-height:24px}
.more svg{width:24px;height:24px;transition:transform .15s}
.more:hover span{text-decoration:underline}
.more:hover svg{transform:translateX(3px)}
.feat .ill svg{width:100%;height:auto}

/* ---------- versi HP ---------- */
.app{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;width:calc(100% - 48px);max-width:1200px;margin:120px auto 0;padding:80px 40px;background:var(--tint)}
.app-txt{width:calc(100% - 160px);margin:0 auto}
.app h2{font-size:42px;line-height:56px;font-weight:700;padding:40px 0 16px}
.app p{font-size:18px;line-height:28px}
.badges{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.badge{display:flex;align-items:center;justify-content:center;gap:8px;width:160px;height:40px;padding:0 12px;border-radius:4px;background:var(--dark);color:#fff;transition:background-color .15s}
.badge:hover{background:#333}
.badge svg{width:22px;height:22px;flex:none;color:#fff}
.badge span{display:flex;flex-direction:column;line-height:1}
.badge small{font-size:9px;letter-spacing:.3px;font-weight:600;opacity:.9}
.badge b{font-size:15px;font-weight:700;margin-top:2px;white-space:nowrap}
.app-ill svg{width:100%;height:auto}

/* ---------- gratis ---------- */
.pricing{display:flex;align-items:center;width:calc(100% - 48px);max-width:1200px;min-height:400px;margin:80px auto 0;padding:40px 40px 40px 64px;background:var(--tint)}
.pr-txt{flex:352 1 0;min-width:0;margin-right:104px;padding-bottom:8px}
.pr-txt h2{font-size:42px;line-height:56px;font-weight:700;padding-bottom:8px}
.pr-txt p{font-size:18px;line-height:28px;text-wrap:pretty}
.pr-txt .btn{margin-top:32px}
.pr-cards{flex:640 1 0;min-width:0;display:flex;gap:16px}
.pr-card{flex:1 1 0;min-width:0;height:200px;background:#fff;border-radius:6px;padding:24px 16px}
.pr-top{display:flex;justify-content:space-between;align-items:center}
.pr-top h3{font-size:32px;line-height:40px;font-weight:700;padding-bottom:40px;align-self:flex-start}
.pr-count{display:flex;align-items:center;font-size:16px;line-height:24px}
.pr-count svg{width:24px;height:24px}
.pr-count span{padding-left:4px}
.pr-price{font-size:32px;line-height:40px;margin-top:16px}
.pr-per{font-size:14px;line-height:20px}
.pr-note{font-size:14px;line-height:20px;color:var(--muted)}

/* ---------- kenapa ---------- */
.why{width:calc(100% - 48px);max-width:1152px;margin:104px auto 0;text-align:center}
.why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:48px;text-align:left}
.why-h{display:flex;align-items:center;gap:8px}
.wi{width:32px;height:32px;flex:none}
.why h3{font-size:22px;line-height:32px;font-weight:700}
.why p{margin-top:8px;font-size:18px;line-height:28px}

/* ---------- ajakan ---------- */
.band{position:relative;overflow:hidden;width:calc(100% - 48px);max-width:1152px;height:360px;margin:104px auto 0;padding:84px 80px;background:var(--gray)}
.band h2{position:relative;z-index:1;font-size:42px;line-height:56px;font-weight:700}
.band p{position:relative;z-index:1;max-width:600px;font-size:18px;line-height:28px;padding-bottom:8px}
.band .btn{position:relative;z-index:1;margin-top:32px}
.band-shapes{position:absolute;right:0;top:0;width:400px;height:360px}
.band-shapes-t{display:none}

/* ---------- footer ---------- */
.foot{margin-top:40px;border-top:1px solid var(--line)}
.dir{padding:40px 0 24px}
/* direktori: satu daftar multi-kolom (lebar kolom minimal 160 px), grup tidak terpotong */
.dir-in{columns:160px;column-gap:8px;padding:16px 16px 32px}
.dir-in section{break-inside:avoid;margin-bottom:16px}
.dir-in ul{display:grid;gap:4px}
.gl{font-size:14px;line-height:20px;color:var(--muted);padding-bottom:4px}
.dir-in a{display:flex;align-items:center;gap:4px;padding:4px;border-radius:4px;font-size:14px;line-height:20px;color:var(--ink)}
.dir-in a:hover{background:var(--gray)}
.dir-in a span:last-child{text-wrap:balance}
.ic{width:24px;height:24px;border-radius:4px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}
.ic svg{width:16px;height:16px}
.ic.tx{font-size:8px;font-weight:800;letter-spacing:-.2px;line-height:1}
.foot-main{display:flex;border-top:1px solid var(--line);padding:32px 24px 20px}
.foot-brand{flex:0 0 calc(50% - 247px)}
.tagline{font-size:18px;line-height:28px;padding-top:24px}
.foot-cols{display:grid;grid-template-columns:repeat(4,160px);justify-content:space-between;flex:1 1 auto;margin-top:-12px}
.foot-cols li{font-size:16px;line-height:24px}
.foot-cols .fh{font-weight:700;padding:12px 0}
.foot-cols a{display:block;padding:12px 0}
.foot-cols a:hover,.bar-links a:hover{color:var(--accent)}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:24px}
.socials{display:flex;gap:24px}
.socials svg{width:24px;height:24px}
.foot-badges{display:flex;flex-wrap:wrap;gap:16px}
.foot-bar{display:flex;justify-content:space-between;align-items:center;gap:40px;min-height:72px;padding:24px;background:var(--gray)}
.copy{font-size:16px;line-height:24px;text-wrap:pretty}
.heart{display:inline-block;width:20px;height:20px;margin:0 2px;vertical-align:-4px}
.bar-links{display:flex;align-items:center;gap:40px;flex:none}
.bar-links a{white-space:nowrap}
.bar-lang{display:flex;align-items:center;gap:4px;border:0;background:none;padding:0;white-space:nowrap}
.bar-lang svg{width:24px;height:24px;flex:none}

/* ---------- desktop sempit 1024-1199 ---------- */
@media (max-width:1199px){
  .nav-links a:nth-child(6),.nav-txt+.nav-txt{display:none}
  .nav-txt{margin-right:16px}
  .tool-grid{margin-left:12px;margin-right:12px}
  .band p{max-width:520px}
  .foot-bar{flex-direction:column-reverse;align-items:flex-start;gap:24px}
  .bar-links{flex-wrap:wrap;gap:16px 40px}
}

/* ---------- tablet 640-1023 ---------- */
@media (max-width:1023px){
  .nav-links{display:none}
  .nav-txt+.nav-txt{display:inline}
  .hero{grid-template-columns:1fr;min-height:0;padding:48px 48px 48px}
  .hero h1{font-size:48px;line-height:56px}
  .hero-ill{display:none}
  .tools{padding-top:96px}
  .tools h2,.intro h2,.why h2{font-size:36px;line-height:48px}
  .tools .sub,.intro p{padding-left:24px;padding-right:24px}
  .intro p{max-width:648px}
  .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .intro{padding-top:96px}
  .features{margin-top:48px}
  .feat{display:flex;flex-direction:column-reverse;align-items:stretch;max-width:600px;margin-left:auto;margin-right:auto}
  .feat+.feat{margin-top:48px}
  .feat .txt,.feat.rev .txt{margin:48px 0 0}
  .feat.rev .ill{order:0}
  .feat .ill{width:100%;max-width:none}
  .feat h3{font-size:26px;line-height:36px}
  .app{grid-template-columns:1fr;max-width:600px;margin:64px auto 0;padding:40px 40px 32px}
  .app-ill{order:-1;margin-bottom:8px}
  .app-txt{width:auto}
  .app h2{font-size:36px;line-height:48px;padding:8px 0 16px}
  .pricing{flex-direction:column;align-items:stretch;max-width:600px;min-height:0;margin:80px auto 0;padding:40px}
  .pr-txt{flex:none;margin:0;padding:0}
  .pr-txt h2{font-size:36px;line-height:48px}
  .pr-cards{flex:none;gap:8px;margin-top:48px}
  .why{margin-top:88px}
  .band{height:auto;margin:88px auto 0;padding:24px;text-align:center}
  .band h2{font-size:36px;line-height:48px}
  .band p{max-width:480px;margin:0 auto;padding:8px 0 0}
  .band-shapes{display:none}
  .band-shapes-t{display:block;position:absolute;right:0;top:0;width:200px;height:232px}
}
/* footer utama ditumpuk (merek di atas, 4 kolom di bawah) di bawah 992 px, seperti referensi */
@media (max-width:991px){
  .foot-main{flex-direction:column}
  .foot-brand{flex:none}
  .foot-cols{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:40px;margin-top:20px}
}
/* referensi menampilkan ilustrasi hero di bawah teks pada 992-1023 */
@media (min-width:992px) and (max-width:1023px){
  .hero{padding-bottom:4px}
  .hero-ill{display:block;width:640px;margin-top:48px}
}
@media (max-width:899px){
  .nav-txt{display:none!important}
}
@media (max-width:767px){
  .bar-links{gap:16px 24px}
}

/* ---------- ponsel <640 (acuan 390 px) ---------- */
@media (max-width:639px){
  .nav-cta{display:none}
  .tools-btn{width:62px;padding:0 8px;gap:4px}
  .tools-label{display:none}
  .lang-btn{padding:0 8px;margin-right:8px;font-size:14px}
  .lang-opt{font-size:14px}
  .burger{display:inline-flex}
  .nav-right{padding-left:8px}
  .tools-wrap{position:static}
  .tools-menu{position:fixed;top:57px;left:0;right:0;width:auto;max-height:calc(100vh - 57px);max-height:calc(100dvh - 57px);overflow-y:auto;overscroll-behavior:contain;padding:8px 0 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:0 12px 24px rgba(0,0,0,.08)}
  .tm-quick{display:none}
  .tm-all{display:block;columns:140px;column-gap:8px;padding:8px 16px 0}
  .tm-all section{break-inside:avoid;margin-bottom:16px}
  .tm-all ul{display:grid;gap:4px}
  .tm-all a{gap:4px;padding:4px;font-size:14px;line-height:20px}
  .tm-all a span:last-child{text-wrap:balance}
  .hero{padding:24px 24px 0}
  .hero h1{font-size:42px;line-height:52px}
  .tools h2,.intro h2,.why h2{font-size:32px;line-height:40px}
  .tools h2{padding:0 24px}
  .tool-grid{grid-template-columns:1fr;margin:24px 16px 0}
  .tools .center{margin-top:24px}
  .features{margin:48px auto 0}
  .feat{max-width:none}
  .feat h3{font-size:24px;line-height:32px}
  .app{max-width:none;margin:72px auto 0;padding:40px 24px 32px}
  .app h2{font-size:32px;line-height:40px;padding:8px 0}
  .badges{flex-direction:column;align-items:flex-start}
  .pricing{max-width:none;margin:48px auto 0;padding:24px}
  .pr-txt h2{font-size:32px;line-height:40px}
  .pr-cards{flex-direction:column;gap:8px;margin-top:32px}
  .pr-card{flex:none;width:100%;height:auto;padding:24px 16px 0;min-height:192px}
  .pr-card+.pr-card{min-height:200px}
  .pr-top h3{font-size:24px;line-height:32px;padding-bottom:48px}
  .pr-price{font-size:24px;line-height:32px}
  .why{margin:72px auto 0}
  .why-grid{grid-template-columns:1fr}
  .band{width:calc(100% - 32px);margin:88px auto 0}
  .band h2{font-size:32px;line-height:40px}
  .band-shapes-t{display:none}
  .dir{padding:40px 0 24px}
  .foot-main{padding:32px 12px 20px}
  .foot-cols{grid-template-columns:1fr;row-gap:16px}
  .foot-row{flex-direction:column;align-items:flex-start;padding:32px 12px}
  .socials a{display:flex;align-items:center;height:40px}
  .foot-bar{padding:24px 12px;gap:32px}
  .bar-links{flex-direction:column-reverse;align-items:flex-start;gap:32px}
  .bar-links a,.bar-lang{line-height:24px}
}
@media (max-width:374px){
  .hero h1{font-size:38px;line-height:48px}
  .lang-btn{padding:0 6px;margin-right:6px}
  .tools-wrap{margin-left:10px}
}
@media (max-width:359px){
  .nav-in{padding:0 6px}
  .logo{gap:6px}
  .wordmark{font-size:22px;width:auto;letter-spacing:-.5px}
  .tools-wrap{margin-left:8px}
  .tools-btn{width:56px;padding:0 6px}
  .nav-right{padding-left:6px}
  .lang-btn{padding:0 5px;margin-right:6px}
  .lang-opt{font-size:13px}
  .lang-sep{margin:0 -1px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}


/* =========================================================
   Tambahan situs (halaman alat, artikel, halaman statis).
   Gaya mengikuti konsep: aksen bata, sudut 4-8 px, garis #E8E8E8.
   ========================================================= */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:8px 12px;border:1px solid var(--line)}
.skip:focus{left:8px}
.wrap{width:calc(100% - 48px);max-width:1152px;margin:0 auto}
.narrow{max-width:760px}
.prose a,a.inline{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.nav-wa{display:inline-flex;align-items:center;gap:6px;color:var(--ink2);margin-right:16px;white-space:nowrap}
.nav-wa svg{width:20px;height:20px;color:#1F8A5B}
.nav-wa:hover{color:var(--accent)}
.tools-menu .tm-head{font-size:13px;color:var(--muted);padding:4px 8px}
.btn{gap:8px}
.btn svg{width:20px;height:20px;flex:none}
.btn-wa{background:#17704A;color:#fff}
.btn-wa:hover{background:#125C3D}
.btn-quiet{background:#fff;color:var(--ink);border-color:var(--btn-line)}
.btn-quiet:hover{background:var(--gray)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.hero-wa{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:16px;line-height:24px;color:var(--ink2);padding-top:0!important}
.hero-wa a{color:#1F6B47;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.hero-wa svg{width:20px;height:20px;color:#1F8A5B;flex:none}

/* breadcrumb + kepala halaman */
.crumbs{font-size:14px;line-height:20px;color:var(--muted);padding-top:20px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}
.crumbs li+li::before{content:"/";margin-right:4px;color:#BDBDBD}
.crumbs a:hover{color:var(--accent)}
.page-head{padding:16px 0 40px}
.page-head h1{font-size:48px;line-height:56px;font-weight:700;margin-top:16px}
.page-head .lead{font-size:20px;line-height:30px;margin-top:16px;max-width:760px}
.page-head .meta{font-size:14px;line-height:20px;color:var(--muted);margin-top:12px}
.kicker{display:inline-block;font-size:14px;line-height:20px;font-weight:700;color:var(--accent);margin-top:16px}
.page-band{background:var(--tint);margin-bottom:48px}

/* halaman alat: pita warna dengan panel alat di tengah */
.tool-hero{background:var(--tint);padding:0 0 48px}
.tool-hero .crumbs{width:calc(100% - 48px);max-width:1152px;margin:0 auto}
.tool-hero-in{width:calc(100% - 48px);max-width:860px;margin:0 auto;text-align:center}
.tool-hero h1{font-size:48px;line-height:56px;font-weight:700;padding-top:24px}
.tool-hero .lead{font-size:20px;line-height:30px;padding-top:12px;max-width:680px;margin:0 auto}
.tool-card-ui{margin-top:28px;background:#fff;border:1px solid #F1D3C7;border-radius:8px;box-shadow:0 8px 28px rgba(196,65,29,.08);text-align:left}
.tool-ui-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.tool-ui-head h2{font-size:18px;line-height:26px;font-weight:700}
.local-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:18px;font-weight:700;color:#1F6B47;background:#E8F6EE;border-radius:4px;padding:4px 8px;white-space:nowrap}
.local-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#1F8A5B}
.tool-ui-body{padding:20px}
.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:190px;padding:24px 16px;border:2px dashed #EBA58F;border-radius:8px;background:#FFF9F6;text-align:center;cursor:pointer;transition:background-color .15s,border-color .15s}
.file-drop:hover,.file-drop.dragover,.file-drop:focus-visible{background:var(--tint);border-color:var(--accent)}
.drop-ic{width:48px;height:48px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff}
.drop-ic svg{width:28px;height:28px}
.file-drop strong{font-size:18px;line-height:26px}
.file-drop .drop-btn{margin-top:4px;pointer-events:none}
.file-drop .hint{font-size:14px;line-height:20px;color:var(--muted)}
.file-list{display:grid;gap:8px;margin-top:12px}
.file-list:empty{display:none}
.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:var(--card);font-size:15px;line-height:22px;min-width:0}
.file-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-row>span:last-child{flex:none}
.file-row button{height:32px;min-width:32px;padding:0 10px;border:1px solid var(--btn-line);border-radius:4px;background:#fff;font-size:14px}
.file-row button:hover{background:var(--gray)}
.file-row button:disabled{opacity:.4;cursor:default}
.controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-top:16px}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:20px;font-weight:600;color:var(--ink2);min-width:0}
.field-row{display:flex;gap:8px}
.field select,.field input[type=number]{height:40px;border:1px solid var(--btn-line);border-radius:4px;background:#fff;padding:0 10px;font:inherit;font-weight:400;font-size:16px;color:var(--ink);min-width:0}
.field select{min-width:120px}
.field input[type=number]{width:130px}
.range-wrap{display:flex;align-items:center;gap:8px;height:40px}
.range-wrap input{accent-color:var(--accent-deco);width:160px}
.range-output{font-weight:700;min-width:44px}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.status{min-height:24px;margin-top:12px;font-size:15px;line-height:22px;color:var(--ink2)}
.status:empty{min-height:0;margin:0}
.status.success{color:#1F6B47;font-weight:600}
.status.error{color:#B42318;font-weight:600}
.result-box{margin-top:16px;padding:16px;border:1px solid #CFE9DA;border-radius:6px;background:#F3FBF6}
.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.result-line span{display:block;font-size:13px;line-height:18px;color:var(--muted)}
.result-line strong{display:block;font-size:20px;line-height:28px}
.canvas-preview{margin-top:16px;display:flex;justify-content:center;background:var(--gray);border-radius:6px;padding:12px}
.canvas-preview canvas{max-width:220px;width:100%;height:auto;border:1px solid var(--line);background:#fff}
.privacy-note{margin-top:16px;font-size:14px;line-height:20px;color:var(--muted)}
.help-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 16px;border-radius:6px;background:var(--gray)}
.help-box p{font-size:15px;line-height:22px;max-width:520px}
.help-box strong{display:block}
.check-wrap{overflow-x:auto}
.check-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px;line-height:22px}
.check-table th,.check-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.check-table th{font-size:13px;color:var(--muted);font-weight:600}
.check-table .ok{color:#1F6B47;font-weight:700}
.check-table .over{color:#B42318;font-weight:700}
.check-table td:first-child{word-break:break-all}

/* isi halaman (prosa) */
.content{padding:56px 0 0}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.prose{font-size:18px;line-height:30px;color:var(--ink)}
.prose>*+*{margin-top:16px}
.prose h2{font-size:30px;line-height:38px;font-weight:700;margin-top:40px}
.prose h3{font-size:22px;line-height:30px;font-weight:700;margin-top:28px}
.prose ul,.prose ol{padding-left:24px}
.prose ul{list-style:disc}
.prose li+li{margin-top:6px}
.prose table{width:100%;border-collapse:collapse;font-size:16px;line-height:24px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.prose th{background:var(--gray)}
.prose blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid var(--accent-deco);background:var(--tint)}
.prose code{font-size:15px;background:var(--gray);padding:1px 5px;border-radius:3px}
.prose figure{margin:24px 0}
.prose img{height:auto;border:1px solid var(--line);border-radius:6px}
.prose figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.section-h{font-size:32px;line-height:40px;font-weight:700;margin-top:56px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px;padding:0;list-style:none;counter-reset:s}
.steps li{position:relative;padding:20px 16px 16px;border:1px solid var(--line);border-radius:6px;background:var(--card);counter-increment:s}
.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;background:var(--accent-deco);color:#fff;font-weight:800;margin-bottom:12px}
.steps h3{font-size:18px;line-height:26px;font-weight:700}
.steps p{font-size:16px;line-height:24px;margin-top:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--btn-line);border-radius:4px;background:#fff;font-size:15px;font-weight:600}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.on{background:var(--tint);border-color:#F1B9A6;color:var(--accent)}
.faq{margin-top:20px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-size:18px;line-height:26px;font-weight:700;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;font-weight:400;color:var(--accent);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq .ans{padding:0 0 16px;font-size:17px;line-height:28px}
.side{position:sticky;top:80px;display:grid;gap:16px}
.side-card{border:1px solid var(--line);border-radius:6px;padding:16px;background:#fff}
.side-card .h{display:block;font-size:16px;line-height:24px;font-weight:700;margin-bottom:8px}
.side-card p{font-size:15px;line-height:22px}
.side-card .btn{margin-top:12px;width:100%}
.side-card ul{display:grid;gap:6px;font-size:15px;line-height:22px}
.side-card ul a:hover{color:var(--accent)}
.toc ol{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:15px;line-height:22px}
.toc a:hover{color:var(--accent)}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.related-grid .tool-card{height:auto;min-height:104px}
.art-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}
.art-card:hover{border-color:#F1B9A6;box-shadow:0 4px 14px rgba(196,65,29,.10)}
.art-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top;background:var(--gray);border-bottom:1px solid var(--line)}
.ac-body{padding:16px}
.ac-cat{font-size:13px;line-height:18px;font-weight:700;color:var(--accent)}
.art-card h3{font-size:19px;line-height:26px;font-weight:700;margin-top:4px}
.art-card p{font-size:15px;line-height:22px;color:var(--ink2);margin-top:6px}
.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.cta-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:32px 0;padding:20px 24px;border-radius:6px;background:var(--tint);border:1px solid #F7D5C8}
.cta-box p{font-size:17px;line-height:26px;font-weight:600;max-width:480px}
.art-hero{margin:0 0 8px}
.art-hero img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:var(--gray)}
.art-hero figcaption{font-size:14px;line-height:20px;color:var(--muted);margin-top:8px}
.sources{font-size:15px;line-height:24px;padding-left:20px;list-style:decimal;margin-top:12px}
.sources a{color:var(--accent);text-decoration:underline;word-break:break-word}
.hub-group{margin-top:48px}
.hub-group h2{font-size:28px;line-height:36px;font-weight:700}
.hub-group>p{font-size:17px;line-height:26px;color:var(--ink2);margin-top:6px}
.hub-group .tool-grid{margin:20px 0 0;max-width:none}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contact-card{border:1px solid var(--line);border-radius:6px;padding:24px;background:var(--card)}
.contact-card h2{font-size:22px;line-height:30px;font-weight:700}
.contact-card p{font-size:16px;line-height:24px;margin-top:8px}
.contact-card .btn{margin-top:16px}
.contact-card .big{font-size:20px;font-weight:700;margin-top:8px;word-break:break-all}
.notice{margin-top:24px;padding:16px;border-radius:6px;background:var(--gray);font-size:16px;line-height:24px}
.e404{text-align:center;padding:72px 0 24px}
.e404 .code{font-size:96px;line-height:1;font-weight:800;color:var(--accent-deco)}
.e404 h1{font-size:40px;line-height:48px;font-weight:700;margin-top:16px}
.e404 p{font-size:18px;line-height:28px;margin:12px auto 0;max-width:560px}
.e404 .hero-btns{justify-content:center}
.foot-contact{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:16px;line-height:24px}
.foot-contact a{display:inline-flex;align-items:center;gap:6px}
.foot-contact a:hover{color:var(--accent)}
.foot-contact svg{width:22px;height:22px;flex:none}
.foot-cols a.wa{color:#1F6B47;font-weight:700}
.badge{color:#fff}
.band .btns{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.band .btns .btn{margin-top:0}
.pricing-page .pricing{margin-top:0}
@media (max-width:1199px){.nav-wa span{display:none}.nav-wa{margin-right:12px}}
@media (max-width:1023px){
  .content-grid{grid-template-columns:1fr;gap:40px}
  .side{position:static}
  .related-grid,.art-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-head h1,.tool-hero h1{font-size:40px;line-height:48px}
  .band .btns{justify-content:center}
}
@media (max-width:639px){
  .nav-wa{display:none}
  .wrap,.tool-hero .crumbs,.tool-hero-in{width:calc(100% - 32px)}
  .page-head h1,.tool-hero h1{font-size:32px;line-height:40px}
  .page-head .lead,.tool-hero .lead{font-size:18px;line-height:28px}
  .tool-ui-head{padding:12px 16px}
  .tool-ui-body{padding:16px}
  .file-drop{min-height:160px}
  .result-grid{grid-template-columns:1fr 1fr}
  .related-grid,.art-grid,.contact-grid{grid-template-columns:1fr}
  .prose{font-size:17px;line-height:28px}
  .prose h2{font-size:26px;line-height:34px}
  .section-h{font-size:26px;line-height:34px;margin-top:48px}
  .controls .field{flex:1 1 100%}
  .field input[type=number],.field select{width:100%;flex:none}
  .range-wrap input{flex:1;width:auto}
  .cta-box{padding:16px}
  .e404 .code{font-size:72px}
  .e404 h1{font-size:30px;line-height:38px}
  .hero-wa{align-items:flex-start}
  .hero-wa svg{margin-top:2px}
}

/* direktori footer: grid supaya grup menyebar selebar layar */
.dir-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));column-gap:8px;align-items:start}
.dir-in section{margin-bottom:16px}

/* header: buang tautan nav bertahap supaya tidak bertabrakan dengan sisi kanan */
@media (max-width:1365px){.nav-links a:nth-child(n+6){display:none}}
@media (max-width:1199px){.nav-links a:nth-child(n+5){display:none}}
@media (max-width:1100px){.nav-links a:nth-child(n+4){display:none}}
.art-hero{margin-bottom:24px}
