
:root{--teal:#0e4a5c;--ink:#1d2a30;--muted:#5b6b72;--line:#d9e2e5;--bg:#ffffff;--soft:#f3f8f9}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
.test-banner{background:#fff4d6;border-bottom:1px solid #e8d38a;padding:8px 16px;font-size:14px}
header{background:var(--teal);color:#fff;padding:14px 16px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
header a{color:#fff;text-decoration:none;font-size:15px}.brand{font-weight:700;font-size:22px;margin-right:16px}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;flex-wrap:wrap}nav li{position:relative}
nav .sub{display:none;position:absolute;top:100%;left:0;background:#fff;padding:10px;min-width:240px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:5}
nav li:hover .sub{display:block}nav .sub a{color:var(--teal)}
main{max-width:960px;margin:0 auto;padding:24px 16px 220px}section.case{border-top:1px solid var(--line);padding:18px 0}
h1{color:var(--teal)}h2{color:var(--teal);font-size:22px}
.isi{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:3px solid var(--teal);max-height:150px;overflow:hidden;padding:10px 16px;box-shadow:0 -4px 12px rgba(0,0,0,.12)}
.isi.open{max-height:80vh;overflow:auto}.isi h3{margin:0 0 6px;color:var(--teal)}
footer{background:var(--soft);padding:24px 16px;font-size:13px;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.collapse:not(.show){display:none}.tab-pane{display:none}.tab-pane.active{display:block}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .3s}.acc-panel.open{max-height:500px}
.offscreen{position:absolute;left:-9999px}
.carousel{position:relative;overflow:hidden;height:120px;border:1px solid var(--line)}
.slide{position:absolute;inset:0;padding:16px;transition:transform .4s}.slide:not(.current){transform:translateX(110%)}
.tip{position:relative;border-bottom:1px dotted}.tip [role=tooltip]{display:none;position:absolute;background:#333;color:#fff;padding:6px;width:260px;font-size:13px}
.tip:hover [role=tooltip]{display:block}
.hero{height:260px;background-size:cover;background-position:center;border-radius:8px}
table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--line);padding:8px;text-align:left}
.grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.grid>div{padding:8px;border:1px solid var(--line)}
.counter-box{font-size:40px;color:var(--teal);font-weight:700}
.ctrl{color:var(--muted);font-size:14px}
img,video,iframe,object{max-width:100%}
@media (max-width:600px){header{gap:10px}.grid{grid-template-columns:1fr}}
