/* =========================================================
   Global Classrooms Foundation — Shared Stylesheet
   Theme: navy + humanitarian teal + warm gold accent
   ========================================================= */

:root{
  --navy: #1c3f66;
  --navy-dark: #0e2740;
  --teal: #1f8a70;
  --teal-dark: #146252;
  --gold: #e8a33d;
  --gold-dark: #c07d1f;
  --gold-light: #fbf1e2;
  --ink: #142230;
  --cream: #f6f8fb;
  --paper: #ffffff;
  --line: #dde4ec;
  --muted: #57687a;
  --white: #ffffff;
  --radius: 14px;
  --shadow: 0 12px 30px -12px rgba(14, 39, 64, 0.18);
  --maxw: 1120px;
  font-size: 16px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }

body{
  margin: 0;
  font-family: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  color: var(--ink);
  background: var(--cream);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4{
  font-family: "Poppins", "Segoe UI", sans-serif;
  line-height: 1.22;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  color: var(--navy-dark);
}
h1{ font-size: 2.6rem; font-weight: 800; }
h2{ font-size: 1.9rem; font-weight: 700; }
h3{ font-size: 1.2rem; font-weight: 700; }
p{ margin: 0 0 14px; color: var(--ink); }
a{ color: var(--teal-dark); text-decoration: none; }
a:hover{ text-decoration: underline; }
img{ max-width: 100%; display: block; }
ul{ margin: 0; padding: 0; list-style: none; }

.container{ max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
section{ padding: 64px 0; }
section.alt{ background: var(--white); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

.eyebrow{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--teal-dark); margin-bottom: 10px;
}
.eyebrow::before{ content:"●"; color: var(--gold); font-size: 0.6rem; }

.section-head{ max-width: 680px; margin: 0 auto 36px; text-align: center; }
.section-head.left{ text-align: left; margin-left: 0; }
.section-head h2{ position: relative; padding-top: 20px; }
.section-head h2::before{
  content:""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 46px; height: 4px; border-radius: 4px;
  background: linear-gradient(90deg, var(--teal), var(--gold));
}
.section-head.left h2::before{ left: 0; transform: none; }

.btn{ display:inline-block; padding: 13px 26px; border-radius: 999px; font-weight: 700; font-size: 0.95rem; cursor:pointer; border: 2px solid transparent; transition: all .18s ease; }
.btn-primary{ background: linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%); color:#fff; }
.btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 14px 26px -10px rgba(31,138,112,0.5); text-decoration:none; }
.btn-secondary{ background: transparent; border-color: var(--navy); color: var(--navy); }
.btn-secondary:hover{ background: var(--navy); color:#fff; text-decoration:none; }
.btn-light{ background: #fff; color: var(--navy-dark); }
.btn-light:hover{ transform: translateY(-2px); text-decoration:none; }
.btn-row{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- Header / Nav ---------- */
.site-header{ background: var(--white); border-bottom: 1px solid var(--line); position: sticky; top:0; z-index: 500; }
.nav-wrap{ max-width: var(--maxw); margin:0 auto; padding: 14px 24px; display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand .logo-img{ height:46px; width:auto; display:block; }
.brand .wordmark{
  font-family:"Poppins",sans-serif; font-weight:800; font-size:1.3rem; color: var(--navy-dark); letter-spacing:-0.01em;
  display:flex; align-items:center; gap:9px;
}
.brand .wordmark .mark{
  width:38px; height:38px; border-radius:10px; flex-shrink:0;
  background: linear-gradient(135deg, var(--teal) 0%, var(--navy) 100%);
  display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:1rem;
}
.brand .wordmark .full{ }
.brand .wordmark .full small{ display:block; font-family:"Inter",sans-serif; font-weight:600; font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-top:1px; }
.menu-toggle{ display:none; background:none; border:none; font-size:1.6rem; cursor:pointer; color: var(--navy-dark); }
nav.main-nav ul{ display:flex; gap:6px; align-items:center; }
nav.main-nav > ul > li{ position:relative; }
nav.main-nav > ul > li > a{
  display:block; padding: 10px 14px; font-weight:600; letter-spacing:0.01em; color: var(--ink); border-radius:8px; font-size:0.95rem;
}
nav.main-nav > ul > li:hover > a, nav.main-nav > ul > li.active > a{ color: var(--teal-dark); background: var(--gold-light); }
.nav-cta{ background: var(--teal); color:#fff !important; padding:10px 20px !important; border-radius:999px !important; }
.nav-cta:hover{ background: var(--teal-dark) !important; }

/* ---------- Status banner (transparency strip) ---------- */
.status-banner{
  background: var(--navy-dark); color:#cfe3da; font-size:0.82rem; text-align:center; padding:9px 16px;
}
.status-banner a{ color: var(--gold); font-weight:600; }

/* ---------- Hero (photo banner used on inner pages) ---------- */
.banner-hero{
  position:relative; padding: 90px 0 60px; color:#fff; background-size:cover; background-position:center;
}
.banner-hero::before{ content:""; position:absolute; inset:0; background: linear-gradient(120deg, rgba(14,39,64,0.88) 0%, rgba(14,39,64,0.68) 100%); }
.banner-hero .container{ position:relative; z-index:2; }
.banner-hero h1{ color:#fff; margin-bottom:12px; }
.banner-hero .subhead{ max-width:640px; font-size:1.08rem; color:#e7eef5; }
.breadcrumb{ font-size:0.82rem; color:#bcd2e6; margin-bottom:16px; }
.breadcrumb a{ color:#bcd2e6; }

/* ---------- Home hero: original SVG globe treatment ---------- */
.hero-globe{
  position:relative; overflow:hidden;
  background: linear-gradient(120deg, var(--navy-dark) 0%, var(--navy) 55%, var(--teal-dark) 100%);
  color:#fff; padding: 86px 0 76px;
}
.hero-globe .hero-grid{ display:grid; grid-template-columns: 1.1fr 0.9fr; gap:40px; align-items:center; position:relative; z-index:2; }
.hero-globe h1{ color:#fff; font-size:2.7rem; }
.hero-globe .subhead{ color:#dbe9e4; font-size:1.08rem; max-width:520px; }
.hero-globe .hero-visual{ width:100%; }
.hero-globe .eyebrow{ color:#f3d9a8; }
.hero-globe .eyebrow::before{ color: var(--gold); }
@media (max-width: 860px){
  .hero-globe .hero-grid{ grid-template-columns: 1fr; }
  .hero-globe .hero-visual{ max-width: 340px; margin: 0 auto; }
}

/* ---------- Home hero: real-photo Ken Burns backdrop ---------- */
.hero-photo{ position:relative; overflow:hidden; color:#fff; padding:118px 0 100px; }
.hero-photo .hero-bg{ position:absolute; inset:0; z-index:0; background: var(--navy-dark); }
.hero-photo .hero-bg .slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; animation: heroKenBurns 21s infinite;
  animation-fill-mode: both;
}
.hero-photo .hero-bg .slide:nth-child(1){ animation-delay:0s; }
.hero-photo .hero-bg .slide:nth-child(2){ animation-delay:7s; }
.hero-photo .hero-bg .slide:nth-child(3){ animation-delay:14s; }
@keyframes heroKenBurns{
  0%{ opacity:0; transform:scale(1.0); }
  4%{ opacity:1; }
  30%{ opacity:1; transform:scale(1.09); }
  34%{ opacity:0; transform:scale(1.11); }
  100%{ opacity:0; transform:scale(1.11); }
}
.hero-photo .hero-scrim{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(115deg, rgba(9,26,43,0.94) 0%, rgba(14,39,64,0.86) 38%, rgba(20,98,82,0.62) 100%);
}
.hero-photo .container{ position:relative; z-index:2; }
.hero-photo .hero-content{ max-width:680px; }
.hero-photo h1{ color:#fff; font-size:2.9rem; }
.hero-photo .subhead{ color:#e4eef0; font-size:1.1rem; max-width:560px; }
.hero-photo .eyebrow{ color:#f3d9a8; }
.hero-photo .eyebrow::before{ color: var(--gold); }
.hero-photo .hero-cred{ display:flex; align-items:center; gap:10px; margin-top:30px; font-size:0.82rem; color:#c7dbe0; }
.hero-photo .hero-cred .dot{ width:6px; height:6px; border-radius:50%; background: var(--gold); }
@media (prefers-reduced-motion: reduce){
  .hero-photo .hero-bg .slide{ animation: none; opacity:0; }
  .hero-photo .hero-bg .slide:first-child{ opacity:1; }
}
@media (max-width:860px){
  .hero-photo{ padding:92px 0 70px; }
  .hero-photo h1{ font-size:2.1rem; }
}

/* ---------- Grids / Cards ---------- */
.grid{ display:grid; gap:22px; }
.grid-2{ grid-template-columns: repeat(2, 1fr); }
.grid-3{ grid-template-columns: repeat(3, 1fr); }
.grid-4{ grid-template-columns: repeat(4, 1fr); }
.card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:26px; box-shadow: var(--shadow); transition: transform .18s ease, box-shadow .18s ease; }
.card:hover{ transform: translateY(-4px); box-shadow: 0 20px 42px -16px rgba(14,39,64,0.24); }
.card h3{ margin-bottom:10px; }
.card .icon{ width:44px; height:44px; border-radius:12px; background: var(--gold-light); color: var(--gold-dark); display:flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:14px; font-size:1.05rem; }

/* ---------- Media split ---------- */
.media-split{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center; }
.media-split.reverse .media-col{ order:2; }
.media-split .media-col{ order:1; }
figure.photo{ margin:0; }
figure.photo img{ border-radius: var(--radius); box-shadow: var(--shadow); aspect-ratio:4/3; object-fit:cover; width:100%; }
figure.photo figcaption{ font-size:0.85rem; color: var(--muted); margin-top:10px; }
figure.photo.fallback{
  aspect-ratio:4/3; border-radius: var(--radius); box-shadow: var(--shadow);
  background: linear-gradient(135deg, var(--teal) 0%, var(--navy-dark) 100%);
  display:flex; align-items:center; justify-content:center;
}
figure.photo.fallback::before{
  content:"\1F310"; font-size:2.6rem; opacity:0.85;
}
@media (max-width:900px){ .media-split{ grid-template-columns:1fr; } .media-split.reverse .media-col{ order:1; } }

/* ---------- Moments gallery ---------- */
.moments-grid{ display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:160px; gap:14px; }
.moments-grid a{ display:block; grid-column:span 1; grid-row:span 1; border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); position:relative; }
.moments-grid a.wide{ grid-column:span 2; }
.moments-grid a.tall{ grid-row:span 2; }
.moments-grid img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.moments-grid a:hover img{ transform:scale(1.06); }
.moments-grid .cap{ position:absolute; left:0; right:0; bottom:0; padding:10px 12px 8px; font-size:0.75rem; color:#fff; background:linear-gradient(0deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%); }
@media (max-width:900px){ .moments-grid{ grid-template-columns:repeat(2, 1fr); grid-auto-rows:150px; } .moments-grid a.wide{ grid-column:span 2; } }
@media (max-width:560px){ .moments-grid{ grid-template-columns:1fr; } .moments-grid a.wide, .moments-grid a.tall{ grid-column:span 1; grid-row:span 1; } }

/* ---------- Stats ---------- */
.stat-strip{ background: linear-gradient(120deg, var(--teal) 0%, var(--navy-dark) 100%); color:#fff; padding:46px 0; }
.stat-strip .grid{ text-align:center; }
.stat-strip .stat-num{ font-size:2.3rem; font-weight:700; color: var(--gold); font-family:"Poppins",sans-serif; }
.stat-strip .stat-label{ font-size:0.9rem; color:#d9ebe4; margin-top:4px; }

.trust-stats{ margin:34px 0; }
.trust-stats .grid{ text-align:center; }
.trust-stats .stat-num{ font-size:2.1rem; font-weight:700; color: var(--teal-dark); font-family:"Poppins",sans-serif; }
.trust-stats .stat-label{ font-size:0.86rem; color: var(--muted); margin-top:4px; }

/* ---------- Quote / testimonial ---------- */
.quote-card{ background: var(--gold-light); border-radius: var(--radius); padding:26px 30px; font-style:italic; color: var(--navy-dark); }
.press-frame{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:14px; box-shadow: var(--shadow); max-width:420px; margin:0 auto; }
.press-frame img{ width:100%; border-radius:4px; display:block; }
.press-frame .press-tag{ text-align:center; font-size:0.78rem; color: var(--muted); margin-top:10px; font-style:italic; }

/* ---------- Timeline ---------- */
.steps{ counter-reset: step; list-style:none; padding:0; margin:0; }
.steps li{ counter-increment: step; position:relative; padding:4px 0 26px 54px; border-left:2px solid var(--gold); margin-left:20px; }
.steps li:last-child{ border-left-color:transparent; padding-bottom:0; }
.steps li::before{ content: counter(step); position:absolute; left:-21px; top:0; width:40px; height:40px; background: var(--teal); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; }
.steps li h3{ margin-bottom:6px; }

.timeline{ border-left:3px solid var(--line); padding-left:28px; margin-left:8px; }
.timeline-item{ position:relative; padding-bottom:34px; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{ content:""; position:absolute; left:-34px; top:4px; width:14px; height:14px; border-radius:50%; background: var(--teal); border:3px solid var(--gold-light); }
.timeline-item .year{ font-size:0.78rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color: var(--teal-dark); }
.timeline-item h3{ margin: 4px 0 6px; }

/* ---------- FAQ ---------- */
.faq-item{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px 22px; margin-bottom:12px; }
.faq-item summary{ cursor:pointer; font-weight:600; color: var(--navy-dark); list-style:none; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::before{ content:"+"; color: var(--teal-dark); font-weight:700; margin-right:10px; }

/* ---------- World / international strip ---------- */
.world-panel{ display:grid; grid-template-columns:220px 1fr; gap:32px; align-items:center; background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:28px 30px; box-shadow: var(--shadow); }
.world-panel .world-graphic{ width:100%; height:auto; }
.flag-strip{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.flag-chip{ display:inline-flex; align-items:center; gap:7px; background: var(--gold-light); border-radius:999px; padding:6px 14px 6px 10px; font-size:0.85rem; font-weight:600; color: var(--navy-dark); }
.flag-chip .flag{ font-size:1.05rem; line-height:1; }
@media (max-width:700px){ .world-panel{ grid-template-columns:1fr; text-align:center; } .world-panel .world-graphic{ max-width:180px; margin:0 auto; } .flag-strip{ justify-content:center; } }

/* ---------- Video gallery ---------- */
.video-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:26px; }
.video-card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); transition: transform .18s ease, box-shadow .18s ease; }
.video-card:hover{ transform: translateY(-4px); box-shadow: 0 20px 42px -16px rgba(14,39,64,0.24); }
.video-frame{ position:relative; width:100%; padding-top:56.25%; background: var(--navy-dark); }
.video-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.video-card-body{ padding:16px 18px 20px; }
.video-card-body h3{ font-size:1rem; margin:0 0 6px; line-height:1.35; }
.video-card-body .video-source{ font-size:0.78rem; color: var(--muted); text-transform:uppercase; letter-spacing:0.05em; font-weight:600; }
@media (max-width:900px){ .video-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .video-grid{ grid-template-columns:1fr; } }

/* ---------- Avatar / profile ---------- */
.profile-feature{ display:grid; grid-template-columns:1fr 1.4fr; gap:40px; align-items:center; }
.profile-feature.reverse{ direction: rtl; }
.profile-feature.reverse > *{ direction: ltr; }
.profile-visual{ text-align:center; }
.avatar-frame{ width:190px; height:190px; border-radius:50%; overflow:hidden; border:5px solid var(--gold); box-shadow: var(--shadow); margin:0 auto 18px; }
.avatar-frame img{ width:100%; height:100%; object-fit:cover; }
.avatar-frame.monogram{ position:relative; display:flex; align-items:center; justify-content:center; background: linear-gradient(135deg, var(--teal) 0%, var(--navy-dark) 100%); color:#fff; font-family:"Poppins",sans-serif; font-weight:700; font-size:3rem; letter-spacing:0.02em; box-shadow: inset 0 0 0 6px rgba(255,255,255,0.14), var(--shadow); }
.avatar-frame.monogram::before{ content:""; position:absolute; inset:14px; border:1.5px solid rgba(255,255,255,0.35); border-radius:50%; }
.avatar-frame.monogram span.mono-sub{ position:absolute; bottom:22px; left:0; right:0; font-family:"Inter",sans-serif; font-weight:600; font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase; color: rgba(255,255,255,0.75); }
.profile-visual .role-badge{ display:inline-block; margin-top:12px; padding:6px 16px; border-radius:999px; background: var(--teal); color:#fff; font-size:0.78rem; font-weight:700; }
@media (max-width:900px){ .profile-feature, .profile-feature.reverse{ grid-template-columns:1fr; direction:ltr; } }

/* ---------- Pills / SDG-style badges ---------- */
.sdg-row{ display:flex; flex-wrap:wrap; gap:10px; }
.sdg-badge{ background: var(--gold-light); color: var(--navy-dark); border-radius:999px; padding:8px 16px; font-size:0.85rem; font-weight:600; }

/* ---------- Team grid ---------- */
.team-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:24px; margin-bottom:8px; }
.team-card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:30px 24px; text-align:center; box-shadow: var(--shadow); }
.team-card .avatar-frame{ width:112px; height:112px; margin:0 auto 16px; }
.team-card .avatar-frame.monogram{ font-size:2rem; }
.team-card h3{ margin-bottom:2px; }
.team-card .role{ font-size:0.8rem; color: var(--teal-dark); font-weight:700; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:12px; }
.team-card p.bio{ font-size:0.88rem; color: var(--muted); margin-bottom:14px; }
.team-card .icon-circle{ width:64px; height:64px; border-radius:50%; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; background: linear-gradient(135deg, var(--teal) 0%, var(--navy-dark) 100%); color:#fff; font-weight:800; font-size:1.3rem; font-family:"Poppins",sans-serif; }

/* ---------- SDG alignment grid ---------- */
.sdg-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.sdg-card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); display:flex; flex-direction:column; }
.sdg-card .sdg-num{ color:#fff; font-family:"Poppins",sans-serif; font-weight:800; padding:20px 22px; display:flex; align-items:baseline; gap:10px; }
.sdg-card .sdg-num .n{ font-size:2.2rem; line-height:1; }
.sdg-card .sdg-num .label{ font-size:0.82rem; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; }
.sdg-card .sdg-body{ padding:18px 22px 22px; flex:1; }
.sdg-card .sdg-body p{ font-size:0.88rem; margin-bottom:0; }
.sdg-card.sdg-4 .sdg-num{ background:#C5192D; }
.sdg-card.sdg-5 .sdg-num{ background:#FF3A21; }
.sdg-card.sdg-10 .sdg-num{ background:#DD1367; }
.sdg-card.sdg-17 .sdg-num{ background:#19486A; }
@media (max-width:900px){ .sdg-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .sdg-grid{ grid-template-columns:1fr; } }
.pill-list{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.pill{ background: var(--teal); color:#fff; border-radius:999px; padding:6px 14px; font-size:0.8rem; font-weight:600; }

/* ---------- Quicklinks ---------- */
.contact-quicklinks{ display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-bottom:40px; }
.quicklink-card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:22px; text-align:center; box-shadow: var(--shadow); }
.quicklink-card .icon{ margin:0 auto 12px; }
@media (max-width:900px){ .contact-quicklinks{ grid-template-columns:1fr; } }

/* ---------- Blog ---------- */
.blog-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:26px; }
.blog-card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); display:flex; flex-direction:column; transition: transform .18s ease, box-shadow .18s ease; }
.blog-card:hover{ transform: translateY(-4px); box-shadow: 0 20px 42px -16px rgba(14,39,64,0.24); }
.blog-banner{ position:relative; height:150px; display:flex; align-items:center; justify-content:center; color:#fff; }
.blog-banner .glyph{ font-size:2.6rem; opacity:0.92; }
.blog-banner .blog-tag{ position:absolute; top:14px; left:16px; background:rgba(255,255,255,0.18); backdrop-filter:blur(2px); font-size:0.7rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:5px 12px; border-radius:999px; }
.blog-banner.g1{ background: linear-gradient(135deg, var(--teal) 0%, var(--navy-dark) 100%); }
.blog-banner.g2{ background: linear-gradient(135deg, var(--gold-dark) 0%, var(--navy) 100%); }
.blog-banner.g3{ background: linear-gradient(135deg, var(--navy) 0%, var(--teal-dark) 100%); }
.blog-banner.g4{ background: linear-gradient(135deg, var(--teal-dark) 0%, var(--gold-dark) 100%); }
.blog-body{ padding:22px 22px 24px; display:flex; flex-direction:column; flex-grow:1; }
.blog-body .blog-meta{ font-size:0.76rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color: var(--teal-dark); margin-bottom:8px; }
.blog-body h3{ font-size:1.12rem; margin-bottom:8px; }
.blog-body p.excerpt{ color: var(--muted); font-size:0.92rem; flex-grow:1; }
.blog-body details.blog-full{ margin-top:10px; }
.blog-body details.blog-full summary{ cursor:pointer; font-weight:700; color: var(--teal-dark); list-style:none; font-size:0.9rem; }
.blog-body details.blog-full summary::-webkit-details-marker{ display:none; }
.blog-body details.blog-full summary::before{ content:"Read the full article "; }
.blog-body details.blog-full[open] summary::before{ content:"Hide full article "; }
.blog-body details.blog-full .full-text{ font-size:0.92rem; color: var(--ink); margin-top:12px; }
.blog-body details.blog-full .full-text p{ margin-bottom:12px; }
.blog-body details.blog-full .full-text .stat-src{ font-size:0.78rem; color: var(--muted); font-style:italic; }
@media (max-width:800px){ .blog-grid{ grid-template-columns:1fr; } }

/* ---------- Forms ---------- */
.form-card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:30px; box-shadow: var(--shadow); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-row.single{ grid-template-columns:1fr; }
label{ display:block; font-size:0.85rem; font-weight:600; color: var(--navy-dark); margin-bottom:6px; }
input, select, textarea{ width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:8px; font-family:inherit; font-size:0.95rem; background:#fbfcfe; }
textarea{ min-height:110px; resize:vertical; }
.form-note{ margin-top:14px; font-size:0.9rem; }
@media (max-width:700px){ .form-row{ grid-template-columns:1fr; } }

/* ---------- CTA banner ---------- */
.cta-banner{ background: linear-gradient(120deg, var(--teal) 0%, var(--navy-dark) 100%); color:#fff; text-align:center; padding:64px 0; }
.cta-banner h2{ color:#fff; }
.cta-banner p{ color:#dcece6; max-width:560px; margin:0 auto 24px; }
.cta-banner .btn-row{ justify-content:center; }

/* ---------- Footer ---------- */
footer.site-footer{ background: var(--navy-dark); color:#cfe0da; padding:52px 0 26px; }
footer.site-footer h4{ color:#fff; font-size:0.95rem; margin-bottom:14px; }
footer.site-footer .grid{ grid-template-columns: 1.4fr 1fr 1fr 1fr; }
footer.site-footer a{ color:#b7cdd6; }
footer.site-footer a:hover{ color: var(--gold); }
footer.site-footer li{ margin-bottom:8px; font-size:0.9rem; }
footer.site-footer p{ color:#b7cdd6; }
footer.site-footer .footer-brand p{ color:#9fb8c2; line-height:1.6; }
.footer-wordmark{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.footer-wordmark .mark{ width:40px; height:40px; border-radius:10px; background: linear-gradient(135deg, var(--teal) 0%, var(--gold-dark) 100%); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; }
.footer-wordmark .full{ font-family:"Poppins",sans-serif; font-weight:800; color:#fff; font-size:1.05rem; }
.footer-wordmark .footer-logo-img{ height:38px; width:auto; display:block; background:#fff; border-radius:8px; padding:4px 6px; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,0.08); margin-top:30px; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:0.8rem; color:#93aab4; }
@media (max-width:900px){ footer.site-footer .grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ footer.site-footer .grid{ grid-template-columns:1fr; } }

/* ---------- Mobile nav ---------- */
@media (max-width:900px){
  .menu-toggle{ display:block; }
  nav.main-nav{ display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); box-shadow: var(--shadow); }
  nav.main-nav.open{ display:block; }
  nav.main-nav ul{ flex-direction:column; padding:12px; }
  nav.main-nav > ul > li{ width:100%; }
  .grid-2, .grid-3, .grid-4{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  h1{ font-size:2rem; }
  .grid-2, .grid-3, .grid-4{ grid-template-columns:1fr; }
  .hero-globe h1{ font-size:2rem; }
}
