/* Root variables (set dynamically via inline style) */
:root{--nim-primary:#0a5ca8;--nim-accent:#00b894;--nim-hero1:#1a2650;--nim-hero2:#0b1020;--nim-card-h:480px}

.num-ilaw-moot-wrap{background:#f5f7fb;color:#1b1e23;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Khmer OS",sans-serif}
.num-ilaw-moot-wrap a{color:var(--nim-primary);text-decoration:none}
.num-ilaw-moot-wrap a:hover{text-decoration:underline}
.num-ilaw-container{width:min(1200px,92%);margin-inline:auto}

.num-hero{background:radial-gradient(1200px 500px at 20% -10%, var(--nim-hero1) 0%, var(--nim-hero2) 70%);color:#fff;padding:72px 0;border-radius:14px}
.num-hero h1{font-size:clamp(28px,4.5vw,44px);line-height:1.2;margin:0 0 14px}
.num-hero p{color:#d7dff5;margin:0 0 16px}
.num-cta{display:flex;gap:12px;flex-wrap:wrap}
.num-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;border:2px solid transparent;font-weight:700}
.num-btn.primary{background:var(--nim-accent);color:#053a32}
.num-btn.outline{border-color:#9bb3ff;color:#e8f0ff}

.num-ilaw-section{padding:48px 0}
.num-ilaw-section h2{font-size:clamp(24px,3.5vw,34px);margin:0 0 10px}
.num-lead{color:#5b6574;max-width:840px}

.num-carousel{position:relative;margin-top:18px}
.num-carousel-viewport{overflow:hidden}
.num-carousel-track{display:grid;grid-auto-flow:column;gap:18px;grid-auto-columns:calc((100% - 18px)/2);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 12px;-webkit-overflow-scrolling:touch}
.num-carousel-track::-webkit-scrollbar{height:8px}
.num-carousel-track::-webkit-scrollbar-thumb{background:#cfd6e4;border-radius:4px}

.num-card{background:#fff;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.08);overflow:hidden;scroll-snap-align:start;transition:transform .25s ease;height:var(--nim-card-h);display:flex;flex-direction:column}
.num-card:hover{transform:translateY(-3px)}
.num-card-image{width:100%;height:180px;object-fit:cover;display:block;flex-shrink:0}
.num-card-content{padding:20px;flex:1;display:flex;flex-direction:column;min-height:0}
.num-badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#f5f7fb;font-size:12px;color:#445;margin-bottom:10px}
.num-card h3{margin:0 0 10px;font-size:18px;line-height:1.3;flex-shrink:0}
.num-card p{margin:0 0 15px;color:#445;font-size:14px;line-height:1.5;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.num-card-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid #f0f0f0}
.num-card-actions a{font-weight:700;font-size:14px}

.num-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);height:40px;width:40px;border-radius:999px;border:1px solid #e3e8f3;background:#fff;color:#333;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.08);cursor:pointer;z-index:2}
.num-carousel-prev{left:-8px}
.num-carousel-next{right:-8px}
.num-carousel-arrow[disabled]{opacity:.45;cursor:not-allowed}
.num-carousel-arrow svg{width:18px;height:18px}

.num-carousel-dots{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}
.num-carousel-dot{width:10px;height:10px;border-radius:3px;background:#d4d7dc;border:none;padding:0;cursor:pointer;transition:transform .2s ease,background .2s ease,width .2s ease}
.num-carousel-dot.is-active{width:18px;background:#c41f2a}

@media (max-width:900px){
  .num-carousel-track{grid-auto-columns:100%}
  .num-carousel-prev{left:8px}.num-carousel-next{right:8px}
  .num-card{height:460px}
}
@media (max-width:600px){
  .num-card{height:440px}
  .num-card-image{height:150px}
}
