:root{
  --arang:#173d20;
  --sambal:#2f7a2e;
  --nota:#f4f1e8;
  --tulang:#eceae3;
  --muted:#566358;
  --kayu:#8a5a2b;
  --garis:rgba(23,61,32,.22);
  --daun:28px 4px 28px 4px;
  --disp:"Bricolage Grotesque",system-ui,sans-serif;
  --body:"Public Sans",system-ui,sans-serif;
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .09 0 0 0 0 .24 0 0 0 0 .13 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--tulang) var(--noise);color:var(--arang);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.02;letter-spacing:-.02em;margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.small{font-size:.85rem}.muted{color:var(--muted)}.muted2{opacity:.7;font-size:.9rem}

.mark{position:fixed;inset:0;display:grid;place-items:center;font:800 20vw/1 var(--disp);color:rgba(23,61,32,.045);transform:rotate(-14deg);pointer-events:none;z-index:50;user-select:none}

.strip{background:var(--sambal);color:#fff;font-size:.8rem;font-weight:600;text-align:center;padding:8px 16px}

.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:24px;padding:12px clamp(16px,4vw,48px);background:rgba(236,234,227,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--garis)}
.word{font:700 1.1rem/1 var(--disp);text-decoration:none;letter-spacing:-.01em;margin-right:auto}
.links{display:flex;gap:24px}
.links a{font-weight:600;text-decoration:none;font-size:.95rem;opacity:.85}
.links a:hover{color:var(--sambal);opacity:1}
.pick{display:flex;background:rgba(23,61,32,.08);border-radius:999px;padding:4px}
.pick button{font:600 .85rem var(--body);padding:8px 16px;background:transparent;border:0;cursor:pointer;color:var(--arang);border-radius:999px}
.pick button[aria-pressed="true"]{background:var(--arang);color:var(--tulang)}

.btn{display:inline-block;background:var(--sambal);color:#fff;font:700 .95rem var(--body);padding:14px 26px;text-decoration:none;border:2px solid var(--sambal);cursor:pointer;text-align:center;border-radius:999px;transition:background .15s}
.btn:hover{background:#256324;border-color:#256324}
.hero .btn:not(.ghost){background:#e9f2dd;border-color:#e9f2dd;color:var(--arang)}
.hero .btn:not(.ghost):hover{background:#fff;border-color:#fff}
.btn.ghost{background:transparent;color:inherit;border-color:rgba(236,234,227,.55)}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.full{display:block;width:100%}
.btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.card .btn,.nota .btn,.box .btn{background:var(--sambal);border-color:var(--sambal);color:#fff}
.box .btn{background:#e9f2dd;border-color:#e9f2dd;color:var(--arang)}

.hero{background:var(--arang) var(--noise);color:var(--tulang);display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;padding:clamp(48px,7vw,104px) clamp(16px,4vw,48px)}
.eyebrow{font:600 .85rem var(--body);letter-spacing:.04em;color:#b9dc8f;margin:0 0 18px}
.hero h1{font-size:clamp(2.5rem,6.4vw,5.6rem);font-weight:700}
.lead{font-size:1.1rem;max-width:34em;margin:24px 0 32px;color:#dfe8d8}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.card{background:var(--nota) var(--noise);color:var(--arang);padding:28px;border-radius:var(--daun);box-shadow:0 24px 48px -24px rgba(0,0,0,.55)}
.card h2{font-size:2.3rem;margin:6px 0 16px}
.tag{font:700 .78rem var(--body);letter-spacing:.06em;color:var(--sambal);margin:0}
dl{margin:0 0 22px}
dl div{padding:11px 0;border-top:1px dashed rgba(23,61,32,.3)}
dt{font:600 .78rem var(--body);letter-spacing:.04em;color:var(--muted)}
dd{margin:2px 0 0;font-weight:500}

.sec{padding:clamp(52px,7vw,100px) clamp(16px,4vw,48px)}
.sec.dark{background:var(--arang) var(--noise);color:var(--tulang)}
.head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-bottom:32px}
.head h2{font-size:clamp(2rem,4.2vw,3.2rem)}
.head p{margin:0;color:var(--muted)}
.dark .head p{color:#c4d3bf}

.menu-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:44px;align-items:start}
.tools{display:grid;gap:14px;margin-bottom:6px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{font:600 .9rem var(--body);padding:9px 18px;background:rgba(255,255,255,.55);border:1px solid var(--garis);color:var(--arang);cursor:pointer;border-radius:999px}
.tabs button[aria-selected="true"]{background:var(--arang);border-color:var(--arang);color:var(--tulang)}
.search input{width:100%;font:500 1rem var(--body);padding:13px 18px;border:1px solid var(--garis);background:rgba(255,255,255,.7);border-radius:999px}
.search input:focus,.fields input:focus{outline:3px solid rgba(47,122,46,.4);outline-offset:0}

.list{list-style:none;margin:0;padding:0}
.item{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:20px 0;border-bottom:1px dashed rgba(23,61,32,.32)}
.item h3{font:700 1.15rem/1.25 var(--disp);letter-spacing:-.01em}
.item p{margin:3px 0 0;color:var(--muted);font-size:.92rem}
.item .price{font:700 1.1rem var(--disp);white-space:nowrap;text-align:right}
.step{display:inline-flex;align-items:center;background:rgba(255,255,255,.7);border:1px solid var(--garis);margin-top:8px;border-radius:999px}
.step button{width:38px;height:38px;background:transparent;border:0;font:700 1.25rem var(--body);cursor:pointer;color:var(--arang);border-radius:999px}
.step button:hover{background:var(--arang);color:var(--tulang)}
.step output{min-width:30px;text-align:center;font-weight:700}
.item .side{display:flex;flex-direction:column;align-items:flex-end}
.badge{display:inline-block;font:700 .68rem var(--body);letter-spacing:.04em;background:var(--kayu);color:#fff;padding:2px 9px;margin-left:8px;vertical-align:middle;border-radius:999px}
.empty{color:var(--muted);padding:12px 0}

.nota{position:sticky;top:96px;background:var(--nota) var(--noise);border-radius:var(--daun);box-shadow:0 28px 50px -28px rgba(23,61,32,.55),0 0 0 1px var(--garis)}
.nota-bar{display:none}
.nota-body{padding:24px}
.nota-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed rgba(23,61,32,.4);padding-bottom:10px;margin-bottom:10px}
.nota-head .small{font-weight:700;margin:0}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:7px 0;border-bottom:1px dashed rgba(23,61,32,.25);font-size:.92rem}
.rows li b{font-weight:700}
.sum{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 4px;padding-top:12px;border-top:1px dashed rgba(23,61,32,.4)}
.sum span{font-weight:600}
.sum b{font:700 1.7rem var(--disp);letter-spacing:-.02em}
.fields{display:grid;gap:10px;margin:16px 0}
.fields label{display:grid;gap:4px;font:600 .8rem var(--body)}
.fields input{font:500 1rem var(--body);padding:11px 14px;border:1px solid var(--garis);background:rgba(255,255,255,.8);border-radius:12px}
.clear{display:block;margin:12px auto 0;background:none;border:0;color:var(--muted);text-decoration:underline;font:500 .85rem var(--body);cursor:pointer}

.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.box{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(236,234,227,.28);padding:30px;display:grid;gap:18px;align-content:start;border-radius:var(--daun)}
.box h3{font-size:2.3rem}
.box p{margin:0;font-size:1.05rem}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:n}
.steps li{background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px var(--garis);padding:26px;display:grid;gap:8px;counter-increment:n;border-radius:var(--daun)}
.steps li::before{content:counter(n);display:grid;place-items:center;width:44px;height:44px;background:var(--sambal);color:#fff;font:700 1.2rem var(--disp);border-radius:22px 4px 22px 4px;margin-bottom:6px}
.steps b{font:700 1.2rem var(--disp);letter-spacing:-.01em}
.steps span{color:var(--muted)}

.foot{background:var(--sambal);color:#fff;padding:28px clamp(16px,4vw,48px)}
.foot p{margin:0;max-width:60em;font-size:.9rem}

@media (max-width:960px){
  .links{display:none}
  .hero{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:1fr}
  .two,.steps{grid-template-columns:1fr}
  .nota{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:45;border-radius:24px 24px 0 0;box-shadow:0 -12px 30px -12px rgba(23,61,32,.45);max-height:86vh;display:flex;flex-direction:column;overflow:hidden}
  .nota-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px 20px;background:var(--arang);color:var(--tulang);border:0;font:700 .95rem var(--body);cursor:pointer}
  .nota-bar .chev{color:#b9dc8f}
  .nota-body{display:none;overflow:auto}
  .nota.open .nota-body{display:block}
  .sec{padding-bottom:calc(clamp(52px,7vw,100px) + 56px)}
  .foot{padding-bottom:84px}
}
@media (max-width:560px){
  .top{gap:12px;padding:10px 16px}
  .word{font-size:.95rem}
  .pick button{padding:7px 12px;font-size:.8rem}
  .item{grid-template-columns:1fr}
  .item .side{flex-direction:row;justify-content:space-between;align-items:center;width:100%}
  .item .price{text-align:left}
}

.chip{font:600 .85rem var(--body);padding:9px 18px;background:var(--arang);color:var(--tulang);border-radius:999px}
