/* Programmers Point — Brand Styles */
:root{
  --brand-navy:#1B3A7A;
  --brand-navy-deep:#0D1F4F;
  --brand-navy-light:#2952B3;
  --brand-red:#C8202F;
  --brand-red-hover:#A01828;
  --brand-page:#F8F9FF;
  --brand-heading:#1A1A2E;
  --brand-body:#4A4A6A;
  --brand-muted:#7A7A9A;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--brand-body);
  background:var(--brand-page);
  margin:0;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:'Poppins',system-ui,sans-serif;
  color:var(--brand-heading);
  font-weight:700;
}
a{text-decoration:none}
.section{padding:90px 0}
.section-label{
  text-transform:uppercase;letter-spacing:3px;font-size:.78rem;font-weight:600;
  color:var(--brand-red);display:inline-block;margin-bottom:14px;
}
.section-title{font-size:2.4rem;margin-bottom:16px;line-height:1.2}
.section-sub{color:var(--brand-muted);font-size:1.05rem;max-width:680px;margin:0 auto}

/* Buttons */
.btn-brand-red{background:var(--brand-red);color:#fff;border:none;padding:12px 26px;border-radius:50px;font-weight:600;transition:.25s;}
.btn-brand-red:hover{background:var(--brand-red-hover);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(200,32,47,.35)}
.btn-brand-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);padding:10px 24px;border-radius:50px;font-weight:600;transition:.25s}
.btn-brand-outline:hover{background:#fff;color:var(--brand-navy);border-color:#fff}
.btn-brand-navy{background:var(--brand-navy);color:#fff;border:none;padding:12px 26px;border-radius:50px;font-weight:600;transition:.25s}
.btn-brand-navy:hover{background:var(--brand-navy-deep);color:#fff}

/* Announcement bar */
.announcement{background:var(--brand-navy-deep);color:#fff;text-align:center;font-size:.88rem;padding:8px 12px;letter-spacing:.3px}
.announcement a{color:#ffd166;font-weight:600;margin-left:6px}

/* Navbar */
.navbar-brand-logo{height:44px}
.navbar{transition:.3s;padding:14px 0;background:#fff}
.navbar.scrolled{box-shadow:0 6px 24px rgba(27,58,122,.08);padding:8px 0}
.nav-link{color:var(--brand-heading)!important;font-weight:500;margin:0 6px}
.nav-link:hover{color:var(--brand-navy)!important}

/* Hero */
.hero{
  background:linear-gradient(135deg,var(--brand-navy-deep) 0%,var(--brand-navy) 60%,var(--brand-navy-light) 100%);
  color:#fff;position:relative;overflow:hidden;padding:110px 0 90px;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:26px 26px;opacity:.6;
}
.hero h1{color:#fff;font-size:3.3rem;line-height:1.15;margin-bottom:20px}
.hero h1 .accent{color:#ffd166}
.hero p.lead{color:rgba(255,255,255,.85);font-size:1.15rem;max-width:560px}
.hero-badge{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:7px 16px;border-radius:50px;font-size:.85rem;color:#fff;margin-bottom:22px}
.hero-trust{display:flex;gap:30px;margin-top:36px;flex-wrap:wrap;color:rgba(255,255,255,.8);font-size:.9rem}
.hero-trust div strong{color:#fff;font-size:1.25rem;display:block;font-family:'Poppins'}

/* Code mockup */
.code-card{background:#0d1b3d;border-radius:14px;box-shadow:0 30px 60px rgba(0,0,0,.4);transform:rotate(-3deg);overflow:hidden;font-family:'JetBrains Mono',monospace;font-size:.85rem;position:relative;z-index:2}
.code-card .bar{background:#1a2a4d;padding:10px 14px;display:flex;gap:6px;align-items:center}
.code-card .bar span{width:11px;height:11px;border-radius:50%;display:inline-block}
.code-card .bar .r{background:#ff5f56}.code-card .bar .y{background:#ffbd2e}.code-card .bar .g{background:#27c93f}
.code-card .body{padding:18px 22px;color:#e0e6f5;line-height:1.85}
.code-card .tag{color:#ff6b9d}.code-card .attr{color:#ffd166}.code-card .str{color:#73d13d}.code-card .com{color:#7a8aa8;font-style:italic}
.cursor{display:inline-block;width:8px;height:1em;background:#fff;vertical-align:-2px;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}

/* Stats */
.stat-card{background:#fff;padding:36px 24px;border-radius:14px;text-align:center;border:1px solid rgba(27,58,122,.08);transition:.3s;height:100%}
.stat-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(27,58,122,.1)}
.stat-num{font-family:'Poppins';font-size:2.8rem;font-weight:700;color:var(--brand-navy);margin-bottom:6px;display:block}
.stat-label{color:var(--brand-muted);font-size:.95rem;font-weight:500}

/* Tech skill cards (In-demand skills) */
.tech-card{
  background:#fff;border-radius:16px;padding:28px 18px;text-align:center;
  border:1px solid rgba(27,58,122,.08);transition:.3s;height:100%;
}
.tech-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(27,58,122,.12);border-color:var(--brand-navy)}
.tech-card img{height:56px;width:auto;margin-bottom:14px;object-fit:contain}
.tech-card h6{font-size:1rem;margin:0;color:var(--brand-heading);font-weight:600}
.tech-card small{color:var(--brand-muted);font-size:.78rem}

/* Course cards */
.course-card{background:#fff;border-radius:14px;padding:28px;border:1px solid rgba(27,58,122,.08);transition:.3s;height:100%;position:relative}
.course-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(27,58,122,.12)}
.course-card.featured{border:2px solid var(--brand-red)}
.course-card .badge-pop{position:absolute;top:-12px;right:18px;background:var(--brand-red);color:#fff;padding:5px 14px;border-radius:50px;font-size:.72rem;font-weight:600;letter-spacing:.5px}
.course-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:18px;color:#fff}

/* Pop courses */
.pop-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 20px rgba(27,58,122,.06);transition:.3s;height:100%}
.pop-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(27,58,122,.12)}
.pop-card img{width:100%;height:180px;object-fit:cover}
.pop-card .body{padding:22px}
.pop-card .meta{color:var(--brand-muted);font-size:.85rem;margin-bottom:12px}
.pop-card.featured{border:2px solid var(--brand-red);transform:scale(1.03)}

/* Community carousel/collage */
.community-section{background:linear-gradient(135deg,#fff5f0 0%,#f0f4ff 100%)}
.community-collage{position:relative}
.community-collage img{width:100%;height:100%;object-fit:cover;border-radius:14px;box-shadow:0 16px 36px rgba(27,58,122,.12)}
.community-stats{display:flex;gap:36px;margin-top:30px;flex-wrap:wrap;justify-content:center}
.community-stats div strong{display:block;font-size:1.8rem;color:var(--brand-navy);font-family:'Poppins'}
.carousel-item img{height:420px;object-fit:cover;border-radius:14px}
#communityCarousel{border-radius:14px;overflow:hidden;box-shadow:0 24px 50px rgba(27,58,122,.15)}
#communityCarousel .carousel-control-prev-icon,#communityCarousel .carousel-control-next-icon{background-color:rgba(27,58,122,.6);border-radius:50%;padding:22px;background-size:60%}

/* Blog */
.blog-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(27,58,122,.06);transition:.3s;height:100%}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(27,58,122,.12)}
.blog-card img{height:200px;width:100%;object-fit:cover}
.blog-card .body{padding:22px}
.blog-pill{display:inline-block;background:#fff0f1;color:var(--brand-red);padding:4px 12px;border-radius:50px;font-size:.72rem;font-weight:600;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}

/* Testimonials */
.test-card{background:#fff;border-radius:14px;padding:24px;border:1px solid rgba(27,58,122,.08);height:100%;transition:.3s}
.test-card:hover{box-shadow:0 16px 36px rgba(27,58,122,.1);transform:translateY(-4px)}
.test-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-family:'Poppins'}
.test-stars{color:#ffb400;font-size:.9rem}

/* Newsletter CTA */
.newsletter{
  background:linear-gradient(135deg,var(--brand-navy-deep),var(--brand-navy));
  border-radius:22px;color:#fff;padding:50px;overflow:hidden;position:relative;
}
.newsletter h2{color:#fff;font-size:2rem}
.newsletter img{border-radius:14px;width:100%;height:100%;object-fit:cover;min-height:280px}
.newsletter .form-control{border-radius:50px;padding:12px 22px;border:none}
.newsletter ul{list-style:none;padding:0;margin:18px 0 0}
.newsletter ul li{padding:6px 0;color:rgba(255,255,255,.9)}
.newsletter ul li i{color:#73d13d;margin-right:10px}

/* Footer */
footer{background:#1A1A2E;color:#a0a0b8;padding:70px 0 0;margin-top:80px}
footer h6{color:#fff;font-size:1rem;margin-bottom:18px;font-family:'Poppins'}
footer a{color:#a0a0b8;display:block;padding:5px 0;font-size:.92rem;transition:.2s}
footer a:hover{color:#fff}
footer .social{display:flex;gap:12px;margin-top:18px}
footer .social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;padding:0;color:#fff}
footer .social a:hover{background:var(--brand-red)}
footer .bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:40px;padding:20px 0;text-align:center;font-size:.85rem}

/* Responsive */
@media(max-width:991px){
  .hero h1{font-size:2.3rem}
  .section{padding:60px 0}
  .section-title{font-size:1.8rem}
  .newsletter{padding:32px}
  .code-card{margin-top:50px;transform:rotate(0)}
}