/*
Theme Name: NTIC Alumni Hub
Theme URI: https://ntichub.com
Description: Standalone WordPress theme for the NTIC Alumni "Changemakers Hub". Modern, premium design (navy + gold) with a swappable palette. Independent — does not require any parent theme.
Author: NTIC Alumni
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ntic-alumni-hub
Tags: education, blog, custom-menu, featured-images, footer-widgets, translation-ready
*/

/* ===================================================================
   DESIGN TOKENS — change the whole palette here
   Default = Prestige (navy + gold). Uncomment BENTO for dark mode.
   =================================================================== */
:root{
  --navy:#13294B; --navy-2:#1C3A66; --blue:#245AA8;
  --accent:#C9A24A; --accent-2:#B5892F;
  --ink:#1A2B45; --text:#37455C; --muted:#7C8AA0;
  --cream:#FAF7F0; --line:#E6ECF5; --on-dark:#EAF0FB; --on-dark-2:#AEBBD2;
  --radius:14px; --radius-sm:10px; --maxw:1160px;
  --font-head:"Fraunces",Georgia,serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
/* ALT (dark bento):
:root{--navy:#070E1C;--navy-2:#0C1830;--blue:#2F6BFF;--accent:#2F6BFF;
--accent-2:#2457cc;--ink:#EAF0FB;--text:#C3D0E6;--muted:#8FA3C4;
--cream:#0C1830;--line:#1E2C49;--on-dark:#EAF0FB;--on-dark-2:#8FA3C4;} */

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; font-family:var(--font-body); color:var(--text);
  background:#fff; line-height:1.6; letter-spacing:-0.006em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block;}
a{color:var(--blue); text-decoration:none; transition:color .18s;}
a:hover{color:var(--accent-2);}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head); color:var(--ink); font-weight:500;
  line-height:1.15; letter-spacing:-0.02em; margin:0 0 .5em;
}
.container{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.section{padding:64px 0;}
.section--cream{background:var(--cream);}
.section--navy{background:var(--navy); color:var(--on-dark);}
.eyebrow{
  display:inline-block; font-weight:600; font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--accent);
}
.btn{
  display:inline-block; background:var(--accent); color:var(--navy);
  font-weight:600; padding:12px 22px; border-radius:var(--radius-sm);
  border:none; cursor:pointer; transition:transform .16s, background .16s;
}
.btn:hover{background:var(--accent-2); color:var(--navy); transform:translateY(-1px);}
.btn--ghost{background:transparent; color:var(--on-dark); border:1.5px solid rgba(255,255,255,.4);}
.btn--ghost:hover{background:rgba(255,255,255,.08); color:#fff;}

/* ---------- HEADER / NAV ---------- */
.site-header{background:#fff; border-bottom:1px solid #EFF1F4; position:sticky; top:0; z-index:50;}
.site-header .container{display:flex; align-items:center; gap:32px; min-height:72px;}
.site-brand{display:flex; align-items:center;}
.site-brand img{max-height:38px; width:auto;}
.main-nav{margin-left:auto;}
.main-nav ul{list-style:none; display:flex; align-items:center; gap:30px; margin:0; padding:0;}
.main-nav a{color:#33384A; font-weight:500; font-size:14px; letter-spacing:.01em;}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--navy);}
.header-cta{background:var(--navy); color:#fff; font-weight:600; font-size:14px; padding:10px 20px; border-radius:999px; white-space:nowrap; transition:transform .16s, background .16s;}
.header-cta:hover{background:var(--navy-2); color:#fff; transform:translateY(-1px);}
.nav-toggle{display:none; background:none; border:none; color:var(--navy); font-size:26px; cursor:pointer; margin-left:auto;}
@media(max-width:960px){
  .nav-toggle{display:block;}
  .header-cta{display:none;}
  .main-nav{display:none; position:absolute; top:72px; left:0; right:0; background:#fff; padding:16px 24px; border-bottom:1px solid #EFF1F4;}
  .main-nav.open{display:block;}
  .main-nav ul{flex-direction:column; align-items:flex-start; gap:16px;}
}


/* ---------- DROPDOWN (sub-menu) ---------- */
.main-nav li{position:relative;}
.main-nav .sub-menu{
  position:absolute; top:100%; left:0; min-width:210px;
  background:#fff; border:1px solid #EFF1F4; border-radius:12px;
  box-shadow:0 12px 30px rgba(19,41,75,.10); padding:8px; margin:10px 0 0;
  list-style:none; display:block; opacity:0; visibility:hidden;
  transform:translateY(6px); transition:opacity .18s, transform .18s, visibility .18s; z-index:60;
}
.main-nav li:hover > .sub-menu{opacity:1; visibility:visible; transform:translateY(0);}
.main-nav .sub-menu li{width:100%;}
.main-nav .sub-menu a{display:block; padding:9px 12px; border-radius:8px; font-size:14px; color:#33384A; white-space:nowrap;}
.main-nav .sub-menu a:hover{background:#F4F7FC; color:var(--navy);}
.main-nav .menu-item-has-children > a::after{content:"\2304"; margin-left:6px; font-size:12px; opacity:.6;}
@media(max-width:960px){
  .main-nav .sub-menu{position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; padding:0 0 0 14px; margin:6px 0 0;}
}

/* ---------- HERO ---------- */
.hero{background:var(--navy); color:var(--on-dark); border-radius:0 0 28px 28px; padding:80px 0 72px;}
.hero .eyebrow{border:1px solid var(--accent); padding:5px 12px; border-radius:20px; margin-bottom:20px;}
.hero h1{color:#fff; font-size:clamp(34px,5.2vw,60px); margin:0 0 16px;}
.hero h1 .hl{color:var(--accent);}
.hero p{color:var(--on-dark-2); max-width:46ch; font-size:17px; margin:0 0 26px;}

/* ---------- STATS ---------- */
.stats{display:flex; flex-wrap:wrap; justify-content:space-around; background:var(--cream);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0;}
.stat{text-align:center; padding:0 22px;}
.stat b{display:block; font-family:var(--font-head); font-weight:500; font-size:34px; color:var(--navy);}
.stat span{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}

/* ---------- BENTO / TILES ---------- */
.bento{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.tile{background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:22px; min-height:150px; transition:transform .2s, box-shadow .2s; display:block; color:var(--text);}
.tile:hover{transform:translateY(-3px); box-shadow:0 12px 30px rgba(19,41,75,.10);}
.tile h3,.tile h4{color:var(--ink);}
.tile .kicker{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent);}
.tile--navy{background:var(--navy); color:var(--on-dark); border:none;}
.tile--navy h3,.tile--navy h4{color:#fff;}
.tile--gold{background:var(--accent); color:var(--navy); border:none;}
.tile--gold h3,.tile--gold h4,.tile--gold .kicker{color:var(--navy);}
.tile--wide{grid-column:span 2;}
.tile--full{grid-column:span 4;}
.tile__media{height:150px; background:var(--navy); border-radius:var(--radius) var(--radius) 0 0; overflow:hidden;}
.tile__media img{width:100%; height:100%; object-fit:cover;}
@media(max-width:820px){
  .bento{grid-template-columns:repeat(2,1fr);}
  .tile--wide,.tile--full{grid-column:span 2;}
}

/* ---------- SERVICES ---------- */
.services{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.service{border:1px solid var(--line); border-top:3px solid var(--accent);
  border-radius:0 0 var(--radius-sm) var(--radius-sm); padding:22px; text-align:center; background:#fff; color:var(--text);}
.service:hover{transform:translateY(-3px); box-shadow:0 12px 30px rgba(19,41,75,.08);}
.service .dot{font-size:26px; color:var(--navy);}
.service h4{margin:12px 0 4px; font-size:16px;}
.service p{margin:0; font-size:13px; color:var(--muted);}
@media(max-width:820px){.services{grid-template-columns:repeat(2,1fr);}}

/* ---------- POSTS (single / archive / page) ---------- */
.page-hero{background:var(--navy); color:#fff; padding:56px 0;}
.page-hero h1{color:#fff; margin:0;}
.post-wrap{max-width:760px; margin:0 auto; padding:56px 24px;}
.post-wrap h1,.post-wrap h2{margin-top:1.4em;}
.post-meta{color:var(--muted); font-size:13px; margin-bottom:24px;}
.post-list{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:820px){.post-list{grid-template-columns:1fr;}}
.card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:transform .2s, box-shadow .2s;}
.card:hover{transform:translateY(-3px); box-shadow:0 12px 30px rgba(19,41,75,.10);}
.card__media{height:170px; background:var(--navy); overflow:hidden;}
.card__media img{width:100%; height:100%; object-fit:cover;}
.card__body{padding:18px;}
.card__body h3{font-size:18px; margin:0 0 6px;}
.card__body .post-meta{margin:0;}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--navy); color:var(--on-dark-2); padding:56px 0 28px;}
.site-footer .widgets{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-bottom:36px;}
.site-footer h4,.site-footer .widget-title{color:#fff; font-family:var(--font-head);}
.site-footer a{color:var(--on-dark-2);}
.site-footer a:hover{color:var(--accent);}
.footer-social{display:flex; gap:16px; font-size:20px; margin:10px 0;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding-top:20px; font-size:13px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
@media(max-width:820px){.site-footer .widgets{grid-template-columns:1fr 1fr;}}

.pager{display:flex; gap:10px; justify-content:center; margin-top:40px;}
.pager a,.pager span{padding:8px 14px; border:1px solid var(--line); border-radius:8px;}