/* ============ DASAR ============ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --paper:#F4EFE4; --paper2:#EFE8D9; --card:#FBF8F0;
  --ink:#181511; --ink-soft:#6A6152;
  --green:#1D5B43; --green-deep:#12382A; --clay:#B4562E;
  --line:rgba(24,21,17,.16); --line-strong:rgba(24,21,17,.36);
  --pad:clamp(20px,4.5vw,64px);
  --ease:cubic-bezier(.65,.05,.2,1);
}
html{scroll-behavior:smooth}
html.lock,html.lock body{overflow:hidden}
body{background:var(--paper);color:var(--ink);font-family:'Instrument Sans',sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--green);color:var(--paper)}
img,svg{display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
.ic{flex:none}
h1,h2,h3,.serif{font-family:'Fraunces',serif;font-weight:480;letter-spacing:-.015em;line-height:1.04}
em{font-style:italic}
kbd{font-family:'Instrument Sans',sans-serif;font-size:.72rem;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:1px 6px;background:var(--card)}

/* ============ TOMBOL ============ */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:999px;border:1.5px solid var(--ink);font-weight:600;font-size:.92rem;letter-spacing:.01em;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:var(--green);border-color:var(--green)}
.btn.line:hover{background:var(--ink);color:var(--paper)}
.btn.wa{background:var(--green);border-color:var(--green);color:#fff}
.btn.wa:hover{background:var(--green-deep);border-color:var(--green-deep)}
.btn.sm{padding:9px 18px;font-size:.84rem}
.icobtn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;transition:.3s}
.icobtn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
