:root{--wall:#1F2933;--deep:#18212A;--steel:#CFD4D9;--or:#F5A524;--fg:#EEF1F4;--mute:#A9B4BF;--ln:#3A4856;--yel:#FFEB3B}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--wall);scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--wall);color:var(--fg);font-family:'Barlow',system-ui,sans-serif;font-size:18px;line-height:1.55;overflow-x:hidden}
a{color:var(--or)}
a:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:2px}
.wrap{max-width:1180px;margin:0 auto;padding-left:clamp(16px,5vw,64px);padding-right:clamp(16px,5vw,64px)}

/* header */
.top{border-bottom:1px solid var(--ln)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}
.mark{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:20px;letter-spacing:.06em;color:var(--fg);text-decoration:none;text-transform:uppercase;display:inline-flex;align-items:center;min-height:44px}
.mark b{color:var(--or);font-weight:700}
.nav{display:flex;gap:4px;list-style:none;flex-wrap:wrap}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--mute);text-decoration:none;font-family:'Barlow Semi Condensed',sans-serif;font-weight:500;font-size:17px}
.nav a:hover,.nav a[aria-current]{color:var(--fg)}
.nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--or)}

/* hero */
.hero{padding-top:clamp(48px,9vw,120px);padding-bottom:clamp(40px,6vw,72px)}
h1{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(52px,9vw,132px);line-height:.88;letter-spacing:-.01em}
h1 span{display:block;color:var(--steel)}
.lead{font-family:'Barlow Semi Condensed',sans-serif;font-weight:500;font-size:clamp(21px,2.2vw,30px);line-height:1.25;max-width:22em;margin-top:24px}
.sub{color:var(--mute);max-width:36em;margin-top:14px}

/* section */
.sec{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(40px,6vw,80px);border-top:2px solid var(--steel)}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.sec-p{color:var(--mute);max-width:40em;margin-bottom:28px}
h2{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:clamp(30px,4vw,48px);line-height:1;text-transform:uppercase}
.count{color:var(--mute);font-size:16px}

/* laci: motif katalog */
.drawers{display:grid;gap:16px}
.drawer{background:linear-gradient(90deg,#C2C8CE,#D6DADE 50%,#BCC3CA);border:3px solid #7F8A94;border-radius:4px;padding:clamp(16px,3vw,28px);display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) auto;gap:clamp(16px,3vw,32px);align-items:center;color:#1F2933}
.plate{background:#E9ECEE;border:3px solid #4B5866;border-radius:2px;padding:6px}
.plate span{display:block;background:var(--or);color:#1F2933;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:clamp(22px,2.4vw,30px);letter-spacing:.08em;text-align:center;padding:8px 6px;line-height:1.1}
.drawer.pro .plate span{background:#1F2933;color:var(--or)}
.drawer p{font-size:17px;line-height:1.45}
.drawer .meta{margin-top:8px;font-size:15px;color:#3A4856}
.state{display:inline-block;margin-top:10px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;color:#1F2933;border:2px solid #1F2933;border-radius:2px;padding:2px 8px}
.pull{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;background:#1F2933;color:var(--fg);border-radius:24px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:18px;text-decoration:none;white-space:nowrap}
.pull:hover{background:#2B3540}
.pull:focus-visible{outline:3px solid #1F2933;outline-offset:3px}
.note{color:var(--mute);font-size:16px;margin-top:18px}

/* detail indikator */
.detail{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,64px);align-items:start}
.detail .intro{font-size:19px;max-width:32em;margin-top:16px}
.feat{margin-top:28px;border-top:2px solid var(--steel)}
.feat div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--ln)}
.feat dt{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;color:var(--or);font-size:17px;line-height:1.35}
.feat dd{color:var(--mute);font-size:16px;line-height:1.45}
.chart{position:sticky;top:24px}
.chart svg,.fig svg{display:block;width:100%;height:auto;background:var(--deep);border:1px solid var(--ln);border-radius:4px}
.chart figcaption,.fig figcaption{color:var(--mute);font-size:14px;margin-top:8px}
.spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--ln);border:1px solid var(--ln);margin-top:28px}
.spec div{background:var(--wall);padding:14px 16px}
.spec dt{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;color:var(--steel)}
.spec dd{font-size:16px;margin-top:2px}
.access{margin-top:28px;padding:22px;border:2px solid var(--or);border-radius:4px}
.access h3{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:24px;text-transform:uppercase}
.access p{color:var(--mute);margin-top:8px;font-size:17px}
.cta{display:inline-flex;align-items:center;min-height:48px;margin-top:16px;padding:0 22px;background:var(--or);color:#1F2933;border-radius:2px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:19px;text-decoration:none;box-shadow:0 0 0 3px var(--wall),0 0 0 5px var(--or)}
.cta:hover{background:#FFB940}

/* halaman materi */
.doc{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,5vw,64px);padding-top:clamp(32px,5vw,56px);padding-bottom:clamp(40px,6vw,80px)}
.toc{position:sticky;top:24px;align-self:start;border-top:2px solid var(--steel);padding-top:12px}
.toc p{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;color:var(--steel);font-size:15px;letter-spacing:.06em}
.toc ol{list-style:none;margin-top:6px;counter-reset:b}
.toc li{counter-increment:b}
.toc a{display:flex;gap:8px;min-height:40px;align-items:center;color:var(--mute);text-decoration:none;font-size:16px;line-height:1.25}
.toc a::before{content:counter(b,decimal-leading-zero);font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;color:var(--or);font-size:14px}
.toc a:hover{color:var(--fg)}
.body{max-width:720px}
.bab{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--ln)}
.bab:last-child{border-bottom:0}
.bab h2{font-size:clamp(28px,3.4vw,40px);text-transform:none;display:flex;gap:14px;align-items:baseline}
.bab h2 i{font-style:normal;color:var(--or);font-size:.6em}
.bab h3{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:21px;margin-top:24px;color:var(--steel)}
.bab p,.bab li{margin-top:12px}
.bab ul,.bab ol{padding-left:22px}
.bab li{margin-top:8px}
.bab li::marker{color:var(--or)}
.formula{margin-top:16px;padding:16px 18px;background:var(--deep);border-left:4px solid var(--or);font-family:'Barlow Semi Condensed',sans-serif;font-weight:500;font-size:20px;overflow-x:auto}
table{width:100%;border-collapse:collapse;margin-top:16px;font-size:16px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--ln);vertical-align:top}
th{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;color:var(--steel);font-size:15px;letter-spacing:.04em}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.tbl{overflow-x:auto}
.callout{margin-top:18px;padding:14px 16px;border:1px solid var(--ln);border-radius:4px;background:var(--deep);font-size:16px;color:var(--mute)}
.callout b{color:var(--fg)}
.fig{margin-top:20px}
.steps{counter-reset:s;list-style:none;padding-left:0!important}
.steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:8px}
.steps li::before{content:counter(s);font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;color:#1F2933;background:var(--or);width:26px;height:26px;border-radius:2px;display:grid;place-items:center;font-size:15px;margin-top:2px}
.next{margin-top:8px;padding:22px;border:2px solid var(--or);border-radius:4px}
.next h3{margin-top:0;color:var(--fg);text-transform:uppercase}

/* harga + pesan */
.drawer .price{margin-top:10px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:26px;color:#1F2933}
.price s{font-weight:500;font-size:18px;color:#4B5866;margin-left:6px}
.drawer.best{border-color:var(--or);box-shadow:0 0 0 3px var(--wall),0 0 0 5px var(--or)}
.order{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.pick{border:0;display:grid;gap:12px}
.pick legend{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;color:var(--steel);font-size:15px;letter-spacing:.06em;margin-bottom:10px}
.opt{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:16px;border:2px solid var(--ln);border-radius:4px;cursor:pointer;min-height:64px}
.opt:hover{border-color:var(--mute)}
.opt:has(input:checked){border-color:var(--or);background:#26313C}
.opt input{width:20px;height:20px;accent-color:var(--or)}
.opt input:focus-visible{outline:3px solid var(--or);outline-offset:3px}
.opt b{display:block;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:20px}
.opt i{display:block;font-style:normal;color:var(--mute);font-size:15px}
.opt em{font-style:normal;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:20px;color:var(--or)}
.fields{display:grid;gap:18px}
.fld{display:grid;gap:6px;font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:17px}
.fld input{font:inherit;font-family:'Barlow',system-ui,sans-serif;font-weight:400;font-size:18px;color:var(--fg);background:var(--deep);border:2px solid var(--ln);border-radius:4px;padding:10px 12px;min-height:48px;width:100%}
.fld input:focus-visible{outline:3px solid var(--or);outline-offset:2px;border-color:var(--or)}
.fld input::placeholder{color:#7F8A94}
.fld small{font-family:'Barlow',system-ui,sans-serif;font-weight:400;font-size:15px;color:var(--mute)}
.err{color:#FFB4A8;font-size:16px;border-left:4px solid #FF7A66;padding-left:10px}
.fields .cta{margin-top:0;justify-self:start;border:0;cursor:pointer;font-family:'Barlow Semi Condensed',sans-serif}
.fields .cta:disabled{opacity:.7;cursor:progress}
.fields .cta:focus-visible{outline:3px solid var(--fg);outline-offset:6px}

/* status pesanan */
.status{max-width:640px;padding:24px;border:2px solid var(--ln);border-radius:4px;margin-top:8px}
.status.paid{border-color:var(--or)}
.status h2{font-size:clamp(26px,3vw,36px);text-transform:none}
.status p{color:var(--mute);margin-top:10px}
.status p b{color:var(--fg)}
.status .cta{margin-top:18px}

/* footer */
.foot{border-top:1px solid var(--ln);padding:28px 0 40px;color:var(--mute);font-size:16px}
.foot .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.disc{font-size:14px;max-width:46em}

@media (max-width:900px){
 .drawer{grid-template-columns:1fr}
 .pull{justify-self:start}
 .detail{grid-template-columns:1fr}
 .chart{position:static;order:-1}
 .doc{grid-template-columns:1fr}
 .order{grid-template-columns:1fr}
 .toc{position:static}
}
@media (max-width:560px){
 body{font-size:17px}
 .feat div{grid-template-columns:1fr;gap:2px}
 .spec{grid-template-columns:1fr}
 .nav a{padding:0 8px;font-size:16px}
}
