  :root{
    /* Bhuwana Lestari / Green Policing brand palette */
    --forest-950:#1a6b2c;
    --forest-800:#2f8f3f;
    --forest-700:#3aa34a;
    --forest-600:#4bb356;
    --leaf-500:#87bb4c;
    --leaf-300:#d3eca0;
    --deepest:#164023;
    --teal-700:#135e4a;
    --gold-600:#c9932c;
    --gold-500:#f0b429;
    --gold-300:#ffe08a;
    --navy-700:#1c3a63;
    --cream-50:#fbfbf6;
    --cream-100:#eef1e2;
    --ink-900:#15170f;
    --ink-700:#43473a;
    --line:#e2e4d5;
    --shadow:0 18px 40px -22px rgba(30,44,8,.35);
    --radius-btn:14px;
    --radius-card:14px;
    --radius-chip:12px;
    --leaf-pattern:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22220%22%20height%3D%22220%22%20viewBox%3D%220%200%20220%20220%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ffe08a%22%20stroke-opacity%3D%220.10%22%20stroke-width%3D%221.1%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M6%20210%20C%2026%20172%2022%20138%2052%20108%20C%2072%2088%2078%2066%2070%2034%22/%3E%3Cpath%20d%3D%22M64%2058%20C%2078%2050%2088%2052%2096%2042%22/%3E%3Cpath%20d%3D%22M58%2084%20C%2044%2082%2036%2088%2026%2082%22/%3E%3Cpath%20d%3D%22M48%20132%20C%2034%20134%2026%20144%2012%20142%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23ffe08a%22%20fill-opacity%3D%220.09%22%3E%3Cellipse%20cx%3D%2296%22%20cy%3D%2241%22%20rx%3D%227%22%20ry%3D%223.4%22%20transform%3D%22rotate%2828%2096%2041%29%22/%3E%3Cellipse%20cx%3D%2225%22%20cy%3D%2281%22%20rx%3D%227%22%20ry%3D%223.4%22%20transform%3D%22rotate%28-160%2025%2081%29%22/%3E%3Cellipse%20cx%3D%2211%22%20cy%3D%22141%22%20rx%3D%227%22%20ry%3D%223.4%22%20transform%3D%22rotate%28-150%2011%20141%29%22/%3E%3C/g%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.09%22%20stroke-width%3D%221.1%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M212%206%20C%20190%2034%20194%2062%20172%2084%20C%20156%20100%20150%20116%20156%20138%22/%3E%3Cpath%20d%3D%22M178%2060%20C%20166%2054%20158%2058%20150%2050%22/%3E%3Cpath%20d%3D%22M164%2096%20C%20176%20100%20182%2096%20192%20102%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23ffffff%22%20fill-opacity%3D%220.075%22%3E%3Cellipse%20cx%3D%22150%22%20cy%3D%2249%22%20rx%3D%226%22%20ry%3D%223%22%20transform%3D%22rotate%28200%20150%2049%29%22/%3E%3Cellipse%20cx%3D%22193%22%20cy%3D%22102%22%20rx%3D%226%22%20ry%3D%223%22%20transform%3D%22rotate%2830%20193%20102%29%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22M116%20150%20C%2096%20160%2090%20182%20116%20208%20C%20142%20182%20136%20160%20116%20150%20Z%22%20fill-opacity%3D%220.055%22/%3E%3Cpath%20d%3D%22M116%20158%20L116%20200%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.06%22%20stroke-width%3D%221%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M150%208%20C%20136%2016%20132%2032%20150%2050%20C%20168%2032%20164%2016%20150%208%20Z%22%20fill-opacity%3D%220.06%22/%3E%3Cpath%20d%3D%22M150%2014%20L150%2044%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.065%22%20stroke-width%3D%221%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M40%2030%20C%2030%2036%2027%2048%2040%2062%20C%2053%2048%2050%2036%2040%2030%20Z%22%20fill-opacity%3D%220.05%22/%3E%3C/g%3E%3Cg%20fill%3D%22%23ffe08a%22%20fill-opacity%3D%220.12%22%3E%3Ccircle%20cx%3D%2270%22%20cy%3D%2234%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%22156%22%20cy%3D%22138%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%2252%22%20cy%3D%22108%22%20r%3D%221.3%22/%3E%3C/g%3E%3C/svg%3E");
  }

  *{box-sizing:border-box}
  body{
    background:var(--cream-50);
    color:var(--ink-900);
    font-family:'Manrope',system-ui,-apple-system,Segoe UI,sans-serif;
    line-height:1.5;
    padding-inline:0;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Poppins','Manrope',system-ui,sans-serif;
    text-wrap:balance;
    margin:0;
    color:var(--ink-900);
    letter-spacing:-0.01em;
  }
  h1,h2{text-transform:uppercase;font-weight:800}
  p{margin:0}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  ul{margin:0;padding:0;list-style:none}
  .wrap{
    max-width:1160px;
    margin-inline:auto;
    padding-inline:24px;
  }
  section{padding-block:64px}
  @media (max-width:760px){
    .wrap{padding-inline:20px}
    section{padding-block:44px}
  }
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-family:'Manrope',sans-serif;
    font-weight:800;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--forest-800);
  }
  .eyebrow svg{flex:none}
  :focus-visible{outline:2px solid var(--leaf-500);outline-offset:3px}
  .skip-link{
    position:absolute;left:12px;top:-48px;
    background:var(--forest-950);color:var(--cream-50);
    padding:10px 16px;border-radius:4px;font-weight:700;font-size:14px;
    transition:top .15s ease;
    z-index:100;
  }
  .skip-link:focus{top:12px}

  /* ---------- utility bar ---------- */
  .utility{
    background:var(--forest-950);
    color:var(--cream-100);
    font-size:12.5px;
  }
  .utility .wrap{
    display:flex;justify-content:space-between;align-items:center;
    padding-block:8px;gap:16px;flex-wrap:wrap;
  }
  .utility .aff{color:var(--gold-300);letter-spacing:.03em;font-weight:600}
  .utility .contact{display:flex;gap:18px;flex-wrap:wrap;color:var(--cream-100);opacity:.85}

  /* ---------- nav ---------- */
  header.main{
    background:var(--cream-50);
    border-bottom:1px solid var(--line);
    position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  }
  nav.wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding-block:14px;
  }
  .brand{display:flex;align-items:center;gap:12px}
  .badge-mark{flex:none;border-radius:50%;object-fit:cover;display:block}
  .brand-text{display:flex;flex-direction:column;line-height:1.22;max-width:250px}
  .brand-text strong{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;color:var(--forest-950)}
  .brand-text span{font-size:10.5px;color:var(--ink-700);letter-spacing:.03em}
  .nav-links{display:flex;align-items:center;gap:24px}
  .nav-links a{
    font-weight:700;font-size:14.5px;color:var(--ink-700);
    padding-block:4px;border-bottom:2px solid transparent;
  }
  .nav-links a:hover{color:var(--forest-800)}
  .nav-links a.active{color:var(--forest-950);border-color:var(--gold-500)}
  .nav-cta{
    background:var(--forest-950);color:var(--cream-50)!important;
    padding:9px 18px;border-radius:10px;font-size:13.5px!important;
    border:1px solid var(--forest-950);
  }
  .nav-cta:hover{background:var(--forest-700)}
  .menu-btn{display:none;background:none;border:0;padding:6px;cursor:pointer}
  .menu-btn span,.menu-btn::before,.menu-btn::after{
    content:"";display:block;width:22px;height:2px;background:var(--forest-950);margin:5px 0;
  }

  @media (max-width:860px){
    nav.wrap{position:relative}
    .nav-links{
      position:absolute;top:calc(100% + 12px);right:0;z-index:50;
      background:var(--cream-50);
      flex-direction:column;align-items:stretch;
      padding:14px;gap:2px;min-width:220px;
      border:1px solid var(--line);border-radius:16px;
      box-shadow:0 22px 46px -18px rgba(20,30,10,.4);
      opacity:0;visibility:hidden;pointer-events:none;
      transform:translateY(-8px) scale(.97);transform-origin:top right;
      transition:opacity .18s ease, transform .18s ease;
    }
    .nav-links.open{
      opacity:1;visibility:visible;pointer-events:auto;
      transform:translateY(0) scale(1);
    }
    .nav-links a{padding:10px 12px;border-radius:10px;width:100%;border-bottom:none}
    .nav-links a:hover, .nav-links a:focus-visible{background:var(--cream-100)}
    .nav-links .nav-cta{
      margin-top:6px;display:flex;justify-content:center;text-align:center;
    }
    .menu-btn{display:block}
    .menu-btn[aria-expanded="true"] span{opacity:0}
    .menu-btn[aria-expanded="true"]::before{transform:translateY(7px) rotate(45deg)}
    .menu-btn[aria-expanded="true"]::after{transform:translateY(-7px) rotate(-45deg)}
    .menu-btn span,.menu-btn::before,.menu-btn::after{transition:transform .18s ease, opacity .18s ease}
  }
  @media (prefers-reduced-motion:reduce){
    .nav-links{transition:none}
    .menu-btn span,.menu-btn::before,.menu-btn::after{transition:none}
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    background:var(--forest-950);
    color:var(--cream-50);
    overflow:hidden;
  }
  .hero-slides{position:absolute;inset:0}
  .hero-slide{
    position:absolute;inset:0;background-size:cover;background-position:center 30%;
    opacity:0;transition:opacity 1.1s ease;
  }
  .hero-slide.is-active{opacity:1}
  .hero-scrim{
    position:absolute;inset:0;z-index:1;
    background-image:
      linear-gradient(100deg, rgba(26,107,44,.9) 6%, rgba(47,143,63,.6) 32%, rgba(135,187,76,.28) 58%, rgba(26,107,44,.48) 100%),
      repeating-linear-gradient(115deg, rgba(255,214,120,.16) 0px, rgba(255,214,120,.16) 2px, transparent 2px, transparent 46px);
  }
  @media (max-width:760px){
    .hero-scrim{
      background-image:
        linear-gradient(180deg, rgba(13,46,20,.58) 0%, rgba(15,50,24,.34) 42%, rgba(11,40,20,.66) 100%),
        repeating-linear-gradient(115deg, rgba(255,214,120,.12) 0px, rgba(255,214,120,.12) 2px, transparent 2px, transparent 46px);
    }
    .hero-inner .eyebrow,
    .hero-inner h1,
    .hero-tag,
    .hero-caption{
      text-shadow:0 2px 10px rgba(6,20,10,.65), 0 1px 3px rgba(6,20,10,.7);
    }
  }
  @media (prefers-reduced-motion:reduce){.hero-slide{transition:none}}
  .hero-corner{position:absolute;opacity:.55;pointer-events:none;z-index:2}
  .hero-corner.tl{top:0;left:0}
  .hero-corner.br{bottom:0;right:0;transform:rotate(180deg)}
  .hero-inner{
    position:relative;z-index:3;
    padding-block:96px 60px;
    display:grid;gap:22px;max-width:640px;
  }
  @media (max-width:760px){
    .hero-inner{padding-block:56px 40px;gap:16px}
    .hero-tag{font-size:15px;max-width:none}
  }
  @media (max-width:420px){
    .hero-inner h1{font-size:28px}
  }
  .hero-inner .eyebrow{color:var(--gold-300)}
  .hero-inner h1{
    font-size:clamp(32px,5vw,50px);
    font-weight:900;color:var(--cream-50);
    line-height:1.08;
  }
  .hero-inner h1 em{
    font-style:italic;color:var(--gold-300);font-weight:600;
  }
  .hero-tag{
    font-size:16.5px;color:var(--cream-100);opacity:.92;max-width:52ch;
  }
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 26px;border-radius:var(--radius-btn);font-weight:700;font-size:14.5px;
    border:1.5px solid transparent;
    transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  }
  .btn-gold{background:var(--gold-500);color:var(--deepest);box-shadow:0 10px 24px -12px rgba(240,180,41,.6)}
  .btn-gold:hover{background:var(--gold-300);transform:translateY(-1px)}
  .btn-ghost{border-color:rgba(251,251,246,.55);color:var(--cream-50)}
  .btn-ghost:hover{border-color:var(--cream-50);background:rgba(251,251,246,.1);transform:translateY(-1px)}
  @media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}
  .hero-bottom{
    position:relative;z-index:3;
    display:flex;justify-content:space-between;align-items:flex-end;
    gap:20px;padding-bottom:26px;flex-wrap:wrap;
  }
  .hero-dots{display:flex;gap:9px}
  .dot{
    width:10px;height:10px;border-radius:999px;padding:0;border:0;cursor:pointer;
    background:rgba(251,251,246,.4);transition:background .2s ease, transform .2s ease;
  }
  .dot:hover{background:rgba(251,251,246,.75)}
  .dot.is-active{background:var(--gold-500);transform:scale(1.3)}
  @media (prefers-reduced-motion:reduce){.dot{transition:none}}
  .hero-caption{
    font-size:12px;color:var(--cream-100);opacity:.8;
    max-width:340px;text-align:right;font-style:italic;
    border-right:2px solid var(--gold-500);padding-right:12px;
  }

  /* ---------- mission strip ---------- */
  .mission{background:var(--cream-100);border-bottom:1px solid var(--line)}
  .mission .wrap{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  }
  .m-item{
    display:flex;gap:14px;padding:30px 18px;
    border-left:1px solid var(--line);
  }
  .m-item:first-child{border-left:none;padding-left:0}
  .m-icon{
    flex:none;width:44px;height:44px;border-radius:15px;
    background:linear-gradient(160deg, var(--leaf-500), var(--forest-800));
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 18px -10px rgba(30,44,8,.5);
  }
  .m-item h3{font-size:14.5px;font-weight:700;margin-bottom:4px;font-family:'Manrope',sans-serif}
  .m-item p{font-size:13px;color:var(--ink-700)}

  @media (max-width:860px){
    .mission .wrap{grid-template-columns:1fr 1fr;row-gap:22px}
    .m-item:nth-child(3){border-left:none}
  }
  @media (max-width:520px){
    .m-item{gap:10px;padding:20px 10px 20px 14px}
    .m-icon{width:36px;height:36px;border-radius:12px}
    .m-item h3{font-size:14.5px}
    .m-item p{font-size:13px;line-height:1.45}
  }

  /* ---------- section headers ---------- */
  .sec-head{
    display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
    margin-bottom:36px;flex-wrap:wrap;
  }
  .sec-head h2{font-size:clamp(26px,3.4vw,36px);font-weight:700;margin-top:8px}
  .sec-head .more{font-weight:700;font-size:13.5px;color:var(--forest-800);white-space:nowrap;padding-bottom:6px}
  .sec-head .more:hover{color:var(--leaf-500)}
  @media (max-width:760px){
    .sec-head{margin-bottom:24px}
    .sec-head .more{white-space:normal}
  }

  /* ---------- fokus riset ---------- */
  .riset-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
  }
  .r-card{
    background:#fff;border:1px solid var(--line);
    border-radius:var(--radius-card);overflow:hidden;
    padding:22px 20px 20px;display:flex;flex-direction:column;gap:12px;
    box-shadow:var(--shadow);
  }
  .r-num{
    width:38px;height:38px;border-radius:11px;
    display:flex;align-items:center;justify-content:center;
    font-family:'Poppins',sans-serif;font-weight:800;font-size:14.5px;color:#fff;
  }
  .r-card:nth-child(6n+1) .r-num,
  .r-card:nth-child(6n+2) .r-num,
  .r-card:nth-child(6n+3) .r-num{background:var(--deepest)}
  .r-card:nth-child(6n+4) .r-num,
  .r-card:nth-child(6n+5) .r-num,
  .r-card:nth-child(6n) .r-num{background:var(--leaf-500)}
  .r-card h3{font-size:16px;font-family:'Poppins',sans-serif;font-weight:700;text-transform:none;color:var(--ink-900)}
  .r-card p{font-size:13.5px;color:var(--ink-700);flex:1}
  .r-card .more{font-size:12.5px;font-weight:800;letter-spacing:.03em;color:var(--forest-800);text-transform:uppercase}
  .r-card .more:hover{color:var(--leaf-500)}

  @media (max-width:900px){.riset-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:560px){
    .riset-grid{gap:12px}
    .r-card{padding:16px 14px 14px;gap:8px}
    .r-num{width:32px;height:32px;font-size:13px;border-radius:9px}
    .r-card h3{font-size:15px;line-height:1.3}
    .r-card p{font-size:13px;line-height:1.45}
    .r-card .more{font-size:12px}
  }

  .note-illustrative{
    font-size:12px;color:var(--ink-700);opacity:.7;margin-top:26px;font-style:italic;
  }

  /* ---------- green policing spotlight ---------- */
  .spotlight{
    background-image:
      var(--leaf-pattern),
      radial-gradient(ellipse 900px 500px at 15% 0%, rgba(135,187,76,.35), transparent 62%),
      linear-gradient(135deg, var(--forest-700), var(--forest-950));
    background-repeat:repeat, no-repeat, no-repeat;
    background-size:220px 220px, auto, auto;
    color:var(--cream-50);position:relative;overflow:hidden;
  }
  .spotlight-branch{position:absolute;top:-10px;right:-10px;opacity:.5;pointer-events:none}
  .spotlight .wrap{
    position:relative;z-index:2;
    display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:start;
  }
  .sprout{margin-top:6px}
  .sprout{flex:none;width:94px;height:113px}
  .spotlight h2{color:var(--cream-50);font-size:clamp(26px,3.6vw,38px);margin-top:8px}
  .spotlight .eyebrow{color:var(--leaf-300)}
  .spotlight p.body{font-size:15.5px;color:var(--cream-100);opacity:.92;max-width:62ch;margin-top:14px}
  .pilar-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
  .pilar{
    font-family:'Poppins',sans-serif;font-weight:700;font-size:13px;color:#fff;
    padding:10px 16px;border-radius:12px;
  }
  .pilar-a{background:var(--leaf-500)}
  .pilar-b{background:var(--forest-700)}
  .pilar-c{background:var(--deepest)}
  .spotlight blockquote{
    margin-top:20px;font-style:italic;
    color:var(--gold-300);font-size:17px;border-left:2px solid var(--gold-500);padding-left:14px;
  }
  .spotlight .btn{margin-top:20px}
  .motto-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid rgba(238,241,226,.18)}
  .motto-chip{
    display:inline-flex;align-items:center;gap:7px;
    font-size:11.5px;font-weight:700;color:var(--cream-100);opacity:.85;
    border:1px solid rgba(238,241,226,.3);border-radius:999px;padding:6px 12px;
  }

  @media (max-width:760px){
    .spotlight .wrap{grid-template-columns:1fr;text-align:left;gap:20px}
    .sprout{width:64px;height:64px}
  }

  /* ---------- publikasi & berita ---------- */
  .split{background:var(--cream-50)}
  .split .wrap{
    display:grid;grid-template-columns:1fr 1fr;gap:56px;
  }
  .split h2{font-size:22px}
  .pub-list{margin-top:22px;display:flex;flex-direction:column}
  .pub-item{
    display:flex;gap:16px;padding-block:16px;border-top:1px solid var(--line);
  }
  .pub-item:last-child{border-bottom:1px solid var(--line)}
  .pub-year{
    flex:none;width:52px;font-family:'Poppins',sans-serif;font-weight:700;color:var(--gold-600);font-size:15px;
  }
  .pub-item h4{font-size:14.5px;font-weight:700;margin-bottom:3px}
  .pub-item p{font-size:12.5px;color:var(--ink-700)}
  .tag{
    display:inline-block;margin-top:6px;font-size:10.5px;font-weight:800;letter-spacing:.06em;
    text-transform:uppercase;color:var(--forest-800);background:var(--cream-100);
    padding:4px 11px;border-radius:999px;
  }

  .news-list{margin-top:22px;display:flex;flex-direction:column;gap:18px}
  .news-item{
    display:flex;gap:16px;background:#fff;border:1px solid var(--line);padding:16px;
    border-radius:var(--radius-card);
  }
  .news-date{
    flex:none;width:58px;text-align:center;background:var(--forest-950);color:var(--gold-300);
    padding:8px 4px;font-weight:800;border-radius:10px;
  }
  .news-date .d{font-family:'Poppins',sans-serif;font-size:19px;display:block;line-height:1}
  .news-date .m{font-size:10px;letter-spacing:.06em;text-transform:uppercase}
  .news-item h4{font-size:14.5px;font-weight:700;margin-bottom:4px}
  .news-item p{font-size:12.5px;color:var(--ink-700)}

  @media (max-width:820px){.split .wrap{grid-template-columns:1fr;gap:36px}}

  /* ---------- stat band ---------- */
  .stats{
    background-color:var(--forest-800);color:var(--cream-50);
    background-image:var(--leaf-pattern);background-repeat:repeat;background-size:220px 220px;
  }
  .stats .wrap{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  }
  .stat{
    text-align:center;padding-block:14px;border-left:1px solid rgba(247,244,234,.18);
    font-variant-numeric:tabular-nums;
  }
  .stat:first-child{border-left:none}
  .stat .n{font-family:'Poppins',sans-serif;font-size:clamp(30px,4vw,42px);font-weight:700;color:var(--gold-300)}
  .stat .l{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--cream-100);opacity:.85;margin-top:4px}

  @media (max-width:700px){
    .stats .wrap{grid-template-columns:1fr 1fr;row-gap:26px}
    .stat:nth-child(3){border-left:none}
  }

  /* ---------- footer ---------- */
  footer{
    background-color:var(--forest-950);color:var(--cream-100);
    background-image:var(--leaf-pattern);background-repeat:repeat;background-size:220px 220px;
  }
  .foot-top{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px;padding-block:56px 40px;
  }
  .foot-brand p{font-size:13px;color:var(--cream-100);opacity:.78;margin-top:14px;max-width:34ch}
  .foot-col h5{
    font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-300);
    font-weight:800;margin-bottom:14px;
  }
  .foot-col ul{display:flex;flex-direction:column;gap:9px}
  .foot-col a{font-size:13.5px;color:var(--cream-100);opacity:.85}
  .foot-col a:hover{opacity:1;color:var(--gold-300)}
  .foot-col p{font-size:13.5px;color:var(--cream-100);opacity:.85;line-height:1.6}
  .logo-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
  .logo-chip{
    display:flex;align-items:center;justify-content:center;
    background:#fff;border-radius:12px;padding:8px 12px;
  }
  .logo-chip img{height:30px;width:auto;display:block}
  .foot-bottom{
    border-top:1px solid rgba(247,244,234,.15);
    padding-block:20px;display:flex;justify-content:space-between;
    font-size:12px;color:var(--cream-100);opacity:.65;flex-wrap:wrap;gap:10px;
  }
  @media (max-width:900px){
    .foot-top{grid-template-columns:1fr 1fr;row-gap:34px}
  }
  @media (max-width:560px){
    .foot-top{grid-template-columns:1fr}
  }

  /* ---------- mobile typography boost (overrides earlier small sizes) ---------- */
  @media (max-width:640px){
    body{font-size:15px}
    .util-bar{font-size:13px}
    .brand-text strong{font-size:14.5px}
    .brand-text span{font-size:11.5px}
    .hero-tag{font-size:15.5px;line-height:1.5}
    .hero-inner p.lede{font-size:15.5px;line-height:1.55}
    .sec-head .more{font-size:13.5px}
    .r-card .more{font-size:12.5px}
    .note-illustrative{font-size:13px;line-height:1.5}
    .pub-item h4,.news-item h4{font-size:15px}
    .pub-item p,.news-item p{font-size:13.5px;line-height:1.5}
    .pub-item .tag{font-size:11px}
    .news-date .d{font-size:18px}
    .news-date .m{font-size:11px}
    .spotlight p.body{font-size:15px;line-height:1.55}
    .spotlight .m-item p,.spotlight ul li{font-size:12.5px}
    .stat .l{font-size:12.5px}
    .foot-brand p{font-size:13.5px;line-height:1.55}
    .foot-col a,.foot-col p{font-size:14px}
    .foot-bottom{font-size:12.5px}
    section > .wrap > p[style*="font-size:13.5px"]{font-size:14px!important}
  }

/* ============================================================
   Inner-page additions (Profil, Riset, Publikasi, Berita, Kontak)
   — extends the design system above with the same tokens/spacing.
   ============================================================ */

/* Simple inner-page header banner (non-homepage pages) */
.page-hero{
  background:linear-gradient(120deg, var(--forest-950), var(--forest-800));
  color:var(--cream-50);
  position:relative;overflow:hidden;
}
.page-hero .wrap{padding-block:52px 40px;position:relative;z-index:2}
.page-hero h1{color:var(--cream-50);font-size:clamp(26px,4vw,40px)}
.page-hero p{color:var(--cream-100);opacity:.9;margin-top:10px;max-width:60ch;font-size:15px}
.page-hero .eyebrow{color:var(--gold-300)}
.breadcrumb{font-size:12.5px;color:var(--cream-100);opacity:.75;margin-bottom:10px}
.breadcrumb a{text-decoration:underline}

/* Rich-text content (Tentang Kami / Visi & Misi / Berita detail) */
.prose{max-width:74ch;font-size:15.5px;line-height:1.75;color:var(--ink-900)}
.prose h3{margin-top:32px;margin-bottom:10px;font-size:19px;text-transform:none;color:var(--forest-900,var(--forest-950))}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{margin:0 0 16px 22px;list-style:revert}
.prose li{margin-bottom:6px}
.prose strong{color:var(--forest-950)}
.prose em{color:var(--teal-700);font-style:italic}

/* Struktur Organisasi */
.org-groups{display:grid;gap:28px}
.org-group h3{font-size:15px;color:var(--forest-800);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:760px){.org-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.org-grid{grid-template-columns:1fr}}
.org-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);padding:16px;box-shadow:var(--shadow)}
.org-card .role{font-weight:700;font-size:14px;color:var(--ink-900)}
.org-card .person{font-size:13px;color:var(--ink-700);margin-top:3px}

/* Full-width grids used on standalone Riset/Publikasi/Berita pages */
.page-riset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
@media (max-width:900px){.page-riset-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.page-riset-grid{grid-template-columns:1fr;gap:16px}}

.page-pub-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
@media (max-width:700px){.page-pub-grid{grid-template-columns:1fr}}

.page-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
@media (max-width:900px){.page-news-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.page-news-grid{grid-template-columns:1fr}}

.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.news-card .thumb{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:var(--cream-100)}
.news-card .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.news-card .date-chip{display:inline-flex;gap:6px;align-items:baseline;font-family:'Poppins',sans-serif;font-weight:800;color:var(--forest-800);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase}
.news-card h3{font-size:16px;text-transform:none}
.news-card p{font-size:13.5px;color:var(--ink-700);flex:1}
.news-card .more{font-size:12.5px;font-weight:800;color:var(--forest-800);text-transform:uppercase;letter-spacing:.03em;margin-top:4px}

/* Kontak */
.kontak-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:24px}
@media (max-width:820px){.kontak-grid{grid-template-columns:1fr;gap:32px}}
.kontak-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);padding:26px;box-shadow:var(--shadow)}
.kontak-card h3{font-size:16px;margin-bottom:14px}
.kontak-list{display:flex;flex-direction:column;gap:14px}
.kontak-list .row{display:flex;gap:12px;align-items:flex-start}
.kontak-list .ic{flex:none;width:36px;height:36px;border-radius:10px;background:linear-gradient(160deg,var(--leaf-500),var(--forest-800));display:flex;align-items:center;justify-content:center}
.kontak-list .txt{font-size:14px;color:var(--ink-700);line-height:1.5}
.kontak-map{border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--line);margin-top:18px;aspect-ratio:16/10}
.kontak-map iframe{width:100%;height:100%;border:0;display:block}

/* Pagination + status badges (shared) */
.badge-draft{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--gold-300);color:var(--deepest);padding:2px 8px;border-radius:999px;margin-left:8px}

/* 404 */
.error-page{text-align:center;padding-block:100px}
.error-page .code{font-family:'Poppins',sans-serif;font-weight:900;font-size:96px;color:var(--forest-800);line-height:1}
.error-page p{color:var(--ink-700);margin-top:12px;font-size:15px}
