    :root{
      --primary:#f9a618;   /* GOLD / ORANGE */
      --secondary:#334c9c; /* BLUE */
      --text:#292929;      /* TEXT */
      --muted:#6b7280;
      --bg:#ffffff;
      --card:#ffffff;
      --border:#eaeaea;
      --shadow:0 18px 40px rgba(0,0,0,.08);
      --shadow2:0 30px 70px rgba(0,0,0,.12);
      --radius:18px;
    }

    html,body{height:100%}
    body{
      font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial;
      background:
        radial-gradient(900px 360px at 10% 10%, rgba(249,166,24,.10), transparent 60%),
        radial-gradient(900px 360px at 90% 15%, rgba(51,76,156,.10), transparent 65%),
        var(--bg);
      color:var(--text);
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      overflow-x:hidden;
    }


     /* ================= HERO BANNER (DIFFERENT LOOK) ================= */
.ct-hero{
  position:relative;
  padding:96px 0 54px;
  overflow:hidden;
  margin-top:-2em;
}
.ct-hero::before{
  content:"";
  position:absolute;
  inset:-40% -40%;
  background:
    radial-gradient(circle at 18% 25%, rgba(249,166,24,.30), transparent 55%),
    radial-gradient(circle at 85% 30%, rgba(51,76,156,.25), transparent 58%);
  filter:blur(18px);
  opacity:.9;
}
.ct-hero::after{
  content:"";
  position:absolute;
  inset:-120% -80%;
  background:linear-gradient(120deg, transparent 40%, rgba(255,255,255,.7) 50%, transparent 60%);
  transform:rotate(12deg) translateX(-30%);
  animation:heroSweep 9s ease-in-out infinite;
  opacity:.55;
}
@keyframes heroSweep{
  0%{transform:rotate(12deg) translateX(-40%)}
  50%{transform:rotate(12deg) translateX(40%)}
  100%{transform:rotate(12deg) translateX(-40%)}
}
.ct-hero .wrap{ position:relative; z-index:2; }
.ct-pill{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.55rem 1.05rem;
  border-radius:999px;
  background:rgba(249,166,24,.12);
  border:1px solid rgba(249,166,24,.28);
  color:var(--p);
  font-weight:900;
  font-size:12px;
  letter-spacing:.26em;
}
.ct-hero h1{
  font-weight:900;
  letter-spacing:-.8px;
}
.ct-hero p{ color:var(--m); max-width:760px; }



    /* subtle moving shine in background */
    .shine-layer{
      position:fixed; inset:-30%;
      pointer-events:none; z-index:0;
      background:linear-gradient(120deg,
        rgba(249,166,24,.08),
        rgba(255,255,255,0),
        rgba(51,76,156,.08)
      );
      filter:blur(10px);
      transform:rotate(-10deg);
      animation: shineMove 14s linear infinite;
      opacity:.55;
    }
    @keyframes shineMove{
      0%{ transform:translateX(-20%) rotate(-10deg); }
      50%{ transform:translateX(20%) rotate(-10deg); }
      100%{ transform:translateX(-20%) rotate(-10deg); }
    }

    /* layout stacking */
    header, main, footer { position:relative; z-index:1; }

    /* top bar */
    .topbar{
      padding:26px 0 10px;
    }
    .brand{
      font-weight:800;
      letter-spacing:.2px;
      color:var(--secondary);
      line-height:1.1;
    }
    .brand .dot{
      color:var(--primary);
    }
    .navlink{
      text-decoration:none;
      color:var(--text);
      font-weight:600;
      position:relative;
      padding:8px 2px;
      opacity:.92;
    }
    .navlink::after{
      content:"";
      position:absolute;
      left:0; bottom:2px;
      width:0; height:2px;
      background:linear-gradient(90deg,var(--primary),var(--secondary));
      transition:width .35s ease;
    }
    .navlink:hover{ color:var(--secondary); }
    .navlink:hover::after{ width:100%; }

    /* hero */
    .hero{
      border-radius:22px;
      border:1px solid var(--border);
      background:linear-gradient(135deg,#fff,#f9fafb);
      box-shadow:var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .hero::before{
      content:"";
      position:absolute; inset:-2px;
      background:radial-gradient(500px 120px at 20% 0%, rgba(249,166,24,.16), transparent 55%);
      pointer-events:none;
    }
    .hero h1{
      font-weight:800;
      letter-spacing:-.3px;
      color:var(--text);
    }
    .hero p{ color:var(--muted); }

    .chip{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:7px 12px;
      border-radius:999px;
      background:rgba(249,166,24,.12);
      border:1px solid rgba(249,166,24,.35);
      color:var(--primary);
      font-weight:700;
      font-size:12px;
    }

    /* search box */
    .search-wrap{
      border:1px solid var(--border);
      border-radius:16px;
      background:#fff;
      box-shadow:var(--shadow);
    }
    .form-control{
      border:1px solid var(--border);
      color:var(--text);
    }
    .form-control:focus{
      border-color:var(--primary);
      box-shadow:0 0 0 .15rem rgba(249,166,24,.25);
    }

    /* buttons */
    .btn-primary-custom{
      background:var(--primary);
      border:1px solid var(--primary);
      color:#fff;
      font-weight:700;
      border-radius:12px;
      box-shadow:0 14px 30px rgba(249,166,24,.20);
    }
    .btn-primary-custom:hover{
      background:#e59305;
      border-color:#e59305;
      color:#fff;
    }
    .btn-outline-custom{
      border:1px solid var(--secondary);
      color:var(--secondary);
      background:#fff;
      font-weight:700;
      border-radius:12px;
    }
    .btn-outline-custom:hover{
      background:var(--secondary);
      color:#fff;
    }

    /* card */
    .card-blog{
      background:var(--card);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
      transition:transform .35s ease, box-shadow .35s ease;
      height:100%;
    }
    .card-blog:hover{
      transform:translateY(-10px);
      box-shadow:var(--shadow2);
    }
    .img-wrap{ position:relative; overflow:hidden; }
    .img-wrap img{
      width:100%;
      height:570px;
      object-fit:cover;
      transition:transform .7s cubic-bezier(.2,.9,.23,1);
    }
    .card-blog:hover .img-wrap img{ transform:scale(1.08); }

    .img-wrap::after{
      content:"";
      position:absolute; top:-30%; left:-40%;
      width:40%; height:140%;
      background:linear-gradient(120deg, rgba(255,255,255,0), rgba(255,255,255,.35), rgba(255,255,255,0));
      transform:skewX(-20deg);
      opacity:0;
      transition:all .9s ease;
    }
    .card-blog:hover .img-wrap::after{
      left:120%;
      opacity:1;
    }

    .meta{ font-size:13px; color:var(--muted); }
    .title{
      font-weight:800;
      color:var(--text);
      letter-spacing:-.2px;
      font-size:1.05rem;
      margin:0;
    }

    .tag{
      font-size:12px;
      padding:6px 12px;
      border-radius:999px;
      background:rgba(51,76,156,.10);
      color:var(--secondary);
      border:1px solid rgba(51,76,156,.25);
      font-weight:700;
      white-space:nowrap;
    }

    /* animated Explore link (underline + arrow) */
    .explore-link{
      position:relative;
      font-weight:800;
      color:var(--secondary);
      text-decoration:none;
      padding-right:22px;
      display:inline-block;
      letter-spacing:.1px;
    }
    .explore-link::after{
      content:"→";
      position:absolute;
      right:0;
      top:0;
      transition:transform .3s ease;
    }
    .explore-link::before{
      content:"";
      position:absolute;
      left:0;
      bottom:-4px;
      height:2px;
      width:0;
      background:linear-gradient(90deg,var(--primary),var(--secondary));
      transition:width .35s ease;
    }
    .explore-link:hover{ color:var(--primary); }
    .explore-link:hover::after{ transform:translateX(6px); }
    .explore-link:hover::before{ width:100%; }

    /* sidebar card */
    .side-card{
      border:1px solid var(--border);
      border-radius:16px;
      background:#fff;
      box-shadow:var(--shadow);
    }

    /* pagination */
    .page-item .page-link{
      color:var(--text);
      border:1px solid var(--border);
      background:#fff;
    }
    .page-item.active .page-link{
      background:var(--primary);
      border-color:var(--primary);
      color:#fff;
      box-shadow:0 12px 25px rgba(249,166,24,.22);
    }

    /* reveal animation */
    .reveal{
      opacity:0;
      transform:translateY(18px);
      transition:all .7s cubic-bezier(.2,.9,.23,1);
    }
    .reveal.visible{
      opacity:1;
      transform:none;
    }

    @media (max-width: 767px){
      .img-wrap img{ height:550px; }
      .hero{ border-radius:16px; }
      .topbar{ padding:18px 0 10px; }
    }
