/* ============================================================
   UNIDOR South Sudan — Static Site Stylesheet
   Colors: #10ABE2 (cyan), #0d1a26 (deep navy), #0D0D0D (black)
   Typography: Barlow Condensed (headings) + Source Sans 3 (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Source+Sans+3:wght@300;400;600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --cyan:    #10ABE2;
  --cyan-dk: #0d8fbd;
  --navy:    #0d1a26;
  --black:   #0D0D0D;
  --warm:    #F4F1EC;
  --white:   #ffffff;
  --gray1:   #f5f5f5;
  --gray2:   #e5e5e5;
  --gray3:   #9ca3af;
  --gray4:   #6b7280;
  --gray5:   #374151;
  --ease-out: cubic-bezier(0.23,1,0.32,1);
}

html { scroll-behavior: smooth; }
body { font-family: 'Source Sans 3', sans-serif; color: var(--black); background: #fff; line-height: 1.6; }
img  { max-width: 100%; display: block; }
a    { text-decoration: none; color: inherit; }
ul   { list-style: none; }

/* ── UTILITY ── */
.container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; }
@media(min-width:1024px){ .container{ padding:0 2rem; } }

.section-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .75rem; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  color: var(--cyan); display: block; margin-bottom: .5rem;
}
.section-heading {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900; line-height: 1; letter-spacing: -.01em;
}
.section-heading-accent {
  border-left: 4px solid var(--cyan);
  padding-left: 1rem;
}

/* ── BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .75rem 1.5rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: .8125rem;
  letter-spacing: .08em; text-transform: uppercase;
  border: 2px solid transparent;
  cursor: pointer; transition: background .18s var(--ease-out), color .18s var(--ease-out), transform .16s var(--ease-out);
}
.btn:active { transform: scale(.97); }
.btn-cyan   { background: var(--cyan); color: var(--black); border-color: var(--cyan); }
.btn-cyan:hover { background: var(--cyan-dk); border-color: var(--cyan-dk); color: #fff; }
.btn-black  { background: var(--black); color: #fff; border-color: var(--black); }
.btn-black:hover { background: #1a1a1a; }
.btn-outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.btn-outline-white:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.btn-outline-black { background: transparent; color: var(--black); border-color: var(--black); }
.btn-outline-black:hover { background: var(--black); color: #fff; }

/* ── PHOTO CARD ── */
.photo-card { position: relative; overflow: hidden; display: block; }
.photo-card img { width:100%; height:100%; object-fit:cover; transition: transform .5s var(--ease-out); filter: brightness(1.12) contrast(1.05) saturate(1.1); }
.photo-card:hover img { transform: scale(1.04); }
.photo-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.2) 50%, transparent 100%);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 1.25rem;
  transition: background .3s ease;
}
.photo-card:hover .photo-card-overlay {
  background: linear-gradient(to top, rgba(16,171,226,.75) 0%, rgba(0,0,0,.4) 60%, transparent 100%);
}
.photo-card-overlay h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.25rem; color:#fff; }
.photo-card-overlay p  { font-size:.75rem; color:rgba(255,255,255,.8); margin-top:.25rem; }
.photo-card-overlay .icon { color:var(--cyan); margin-bottom:.5rem; font-size:1.1rem; }

/* ── UNIDOR PHOTO FILTER ── */
.u-photo { filter: brightness(1.12) contrast(1.05) saturate(1.1); }
.u-photo-hero { filter: brightness(1.08) contrast(1.04) saturate(1.08); }

/* ── TOP BAR ── */
.topbar {
  background: var(--navy); color: rgba(255,255,255,.7);
  font-size: .75rem; font-family:'Barlow Condensed',sans-serif;
  letter-spacing:.05em; padding: .45rem 0;
}
.topbar .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; }
.topbar a { color: var(--cyan); }
.topbar a:hover { color: #fff; }

/* ── NAV ── */
.site-nav {
  position: sticky; top: 0; z-index: 100;
  background: var(--navy);
  box-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.site-nav .container {
  display: flex; align-items: center; justify-content: space-between;
  height: 68px; gap: 1rem;
}
.nav-logo { display:flex; align-items:center; gap:.75rem; }
.nav-logo img { width:48px; height:48px; object-fit:contain; }
.nav-logo-text { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.1rem; color:#fff; line-height:1.1; }
.nav-logo-text span { display:block; font-size:.65rem; font-weight:600; letter-spacing:.1em; color:var(--cyan); text-transform:uppercase; }

.nav-links { display:flex; align-items:center; gap:.25rem; }
.nav-links a {
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.8rem; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.8); padding:.5rem .75rem;
  transition: color .18s ease;
}
.nav-links a:hover, .nav-links a.active { color: var(--cyan); }
.nav-cta { margin-left:.5rem; }

.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:.5rem; }
.nav-toggle span { display:block; width:24px; height:2px; background:#fff; margin:5px 0; transition:.3s; }

@media(max-width:900px){
  .nav-links { display:none; position:absolute; top:68px; left:0; right:0; background:var(--navy); flex-direction:column; align-items:flex-start; padding:1rem 1.5rem 1.5rem; gap:.25rem; border-top:1px solid rgba(255,255,255,.1); }
  .nav-links.open { display:flex; }
  .nav-cta { display:none; }
  .nav-toggle { display:block; }
}

/* ── HERO SLIDER ── */
.hero {
  position: relative; min-height: 85vh;
  display: flex; align-items: stretch; overflow: hidden;
  background: #0a2a3a;
}
.hero-slide {
  position: absolute; inset: 0;
  opacity: 0; transition: opacity 1s ease;
}
.hero-slide.active { opacity: 1; }
.hero-slide img { width:100%; height:100%; object-fit:cover; opacity:.85; filter:brightness(1.08) contrast(1.04) saturate(1.08); }
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(8,32,48,.72) 0%, rgba(8,32,48,.38) 55%, rgba(8,32,48,.08) 100%);
}
.hero-content {
  position: relative; z-index: 10;
  width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 1.5rem;
  display: flex; flex-direction: column; justify-content: center;
  padding-top: 5rem; padding-bottom: 5rem; gap: 2rem;
}
@media(min-width:1024px){
  .hero-content { flex-direction:row; align-items:center; padding:0 2rem; min-height:85vh; }
}
.hero-text { flex:1; max-width:640px; }
.hero-eyebrow { font-family:'Barlow Condensed',sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#7dd8f5; margin-bottom:.75rem; }
.hero-title { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:clamp(3rem,7vw,5.5rem); line-height:1; color:#fff; margin-bottom:1.25rem; }
.hero-title span { color:var(--cyan); }
.hero-desc { color:rgba(255,255,255,.85); font-size:1.1rem; line-height:1.65; max-width:480px; margin-bottom:2rem; }
.hero-btns { display:flex; flex-wrap:wrap; gap:.75rem; }
.hero-cta-panel {
  width:100%; max-width:380px; flex-shrink:0;
  padding:2rem; background:rgba(8,32,48,.82);
  border:1px solid rgba(16,171,226,.45);
  backdrop-filter:blur(8px);
}
@media(min-width:1024px){ .hero-cta-panel{ width:340px; } }
.hero-cta-panel .label { font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--cyan); margin-bottom:.5rem; }
.hero-cta-panel h2 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.5rem; color:#fff; line-height:1.15; margin-bottom:.75rem; }
.hero-cta-panel p { color:rgba(255,255,255,.65); font-size:.875rem; line-height:1.6; margin-bottom:1.25rem; }
.hero-dots { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); display:flex; gap:.5rem; z-index:20; }
.hero-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.4); border:none; cursor:pointer; transition:.3s; }
.hero-dot.active { background:var(--cyan); transform:scale(1.3); }

/* ── HOW WE WORK ── */
.how-section { padding:4rem 0; background:var(--warm); }
.how-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:2.5rem; }
@media(min-width:640px){ .how-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .how-grid{ grid-template-columns:repeat(4,1fr); } }
.how-card { background:#fff; padding:1.5rem; border-top:4px solid var(--cyan); transition:box-shadow .3s; }
.how-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.1); }
.how-card .icon { font-size:1.75rem; margin-bottom:1rem; color:var(--cyan); }
.how-card h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.2rem; color:var(--black); margin-bottom:.5rem; }
.how-card p { font-size:.875rem; color:var(--gray4); line-height:1.6; }

/* ── PROGRAMS GRID ── */
.programs-section { padding:4rem 0; background:#fff; }
.programs-header { display:flex; flex-direction:column; gap:1rem; margin-bottom:2.5rem; }
@media(min-width:768px){ .programs-header{ flex-direction:row; align-items:flex-end; justify-content:space-between; } }
.programs-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
@media(min-width:640px){ .programs-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .programs-grid{ grid-template-columns:repeat(3,1fr); } }
.programs-grid .photo-card { height:260px; }

/* ── STATS BAND ── */
.stats-section { padding:4rem 0; background:var(--navy); }
.stats-header { text-align:center; margin-bottom:3rem; }
.stats-header .section-label { justify-content:center; }
.stats-header h2 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:clamp(2rem,4vw,3rem); color:#fff; }
.stats-header p { color:var(--gray3); margin-top:.75rem; max-width:480px; margin-left:auto; margin-right:auto; }
.stats-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
@media(min-width:1024px){ .stats-grid{ grid-template-columns:repeat(4,1fr); } }
.stat-item { text-align:center; }
.stat-value { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:clamp(2.5rem,5vw,4rem); color:var(--cyan); line-height:1; margin-bottom:.25rem; }
.stat-label { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.1rem; color:#fff; margin-bottom:.25rem; }
.stat-sub   { font-size:.75rem; color:var(--gray3); line-height:1.4; }
.stats-cta  { text-align:center; margin-top:3rem; }

/* ── ABOUT PREVIEW ── */
.about-section { padding:4rem 0 5rem; background:var(--warm); }
.about-grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
@media(min-width:1024px){ .about-grid{ grid-template-columns:1fr 1fr; gap:5rem; } }
.about-img-wrap { position:relative; }
.about-img-wrap img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.about-badge { position:absolute; bottom:-1.5rem; right:-1rem; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.12); padding:1.25rem; width:160px; }
@media(min-width:1024px){ .about-badge{ right:-2rem; } }
.about-badge .year { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:2rem; color:var(--cyan); }
.about-badge .year-label { font-size:.8rem; font-weight:600; color:var(--gray5); }
.about-badge .year-sub   { font-size:.7rem; color:var(--gray3); margin-top:.2rem; }
.about-vmv { display:grid; grid-template-columns:1fr; gap:.75rem; margin:1.5rem 0 2rem; }
@media(min-width:640px){ .about-vmv{ grid-template-columns:repeat(3,1fr); } }
.vmv-card { background:#fff; padding:1rem; border-left:4px solid var(--cyan); }
.vmv-card .vmv-label { font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cyan); margin-bottom:.3rem; }
.vmv-card p { font-size:.8rem; color:var(--gray5); line-height:1.5; }

/* ── LEADERSHIP ── */
.leadership-section { padding:4rem 0; background:var(--warm); }
.leadership-header { display:flex; flex-direction:column; gap:1rem; margin-bottom:2.5rem; }
@media(min-width:768px){ .leadership-header{ flex-direction:row; align-items:flex-end; justify-content:space-between; } }
.leadership-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
@media(min-width:640px){ .leadership-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .leadership-grid{ grid-template-columns:repeat(5,1fr); } }
.leader-card { text-align:center; }
.leader-photo { width:112px; height:112px; margin:0 auto 1rem; overflow:hidden; border:4px solid #fff; box-shadow:0 4px 16px rgba(0,0,0,.12); transition:box-shadow .3s, border-color .3s; }
.leader-card:hover .leader-photo { box-shadow:0 8px 24px rgba(0,0,0,.18); border-color:var(--cyan); }
.leader-photo img { width:100%; height:100%; object-fit:cover; filter:brightness(1.1) contrast(1.05); transition:transform .5s var(--ease-out); }
.leader-card:hover .leader-photo img { transform:scale(1.06); }
.leader-role { font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cyan); margin-bottom:.25rem; }
.leader-name { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1rem; color:var(--black); line-height:1.2; }

/* ── JOIN MISSION ── */
.join-section { padding:4rem 0; background:#fff; }
.join-grid { display:grid; grid-template-columns:1fr; gap:1rem; max-width:800px; margin:2.5rem auto 0; }
@media(min-width:640px){ .join-grid{ grid-template-columns:1fr 1fr; } }
.join-card { position:relative; overflow:hidden; height:260px; }
.join-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease-out); }
.join-card:hover img { transform:scale(1.05); }
.join-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; background:linear-gradient(to top,rgba(13,13,13,.9) 0%,transparent 60%); }
.join-overlay h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.5rem; color:#fff; margin-bottom:.25rem; }
.join-overlay p  { font-size:.8rem; color:rgba(255,255,255,.75); margin-bottom:.75rem; }

/* ── PARTNERS STRIP ── */
.partners-strip { padding:2.5rem 0; background:var(--warm); border-top:1px solid var(--gray2); }
.partners-strip .strip-label { text-align:center; font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--gray3); margin-bottom:1.5rem; }
.partners-logos { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:2rem; }
.partner-logo-item { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:.9rem; letter-spacing:.05em; color:var(--gray4); border-bottom:2px solid var(--cyan); padding-bottom:2px; }

/* ── PAGE HERO ── */
.page-hero { position:relative; height:260px; display:flex; align-items:flex-end; overflow:hidden; background:var(--navy); }
@media(min-width:1024px){ .page-hero{ height:320px; } }
.page-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; filter:brightness(1.08) contrast(1.04); }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(13,13,13,.9) 0%,transparent 60%); }
.page-hero-content { position:relative; z-index:10; width:100%; padding-bottom:2.5rem; }

/* ── ABOUT PAGE ── */
.about-history { padding:4rem 0; background:var(--warm); }
.about-history-grid { display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:1024px){ .about-history-grid{ grid-template-columns:1fr 1fr; gap:5rem; } }
.philosophy-box { background:#fff; padding:1.5rem; border-left:4px solid var(--cyan); margin-top:1.5rem; }
.philosophy-box h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.2rem; color:var(--black); margin-bottom:1rem; }
.philosophy-item { margin-bottom:.75rem; }
.philosophy-item .plabel { font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cyan); margin-bottom:.2rem; }
.philosophy-item p { font-size:.875rem; color:var(--gray5); }

.core-values { padding:4rem 0; background:#fff; }
.values-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:3rem; }
@media(min-width:640px){ .values-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .values-grid{ grid-template-columns:repeat(4,1fr); } }
.value-card { padding:1.5rem; border:1px solid var(--gray2); transition:box-shadow .3s, border-color .3s; }
.value-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); border-color:rgba(16,171,226,.3); }
.value-card .icon { font-size:1.75rem; color:var(--cyan); margin-bottom:1rem; }
.value-card h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.2rem; color:var(--black); margin-bottom:.5rem; }
.value-card p { font-size:.875rem; color:var(--gray4); line-height:1.6; }

.networks-section { padding:4rem 0; background:var(--navy); }
.networks-grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:start; }
@media(min-width:1024px){ .networks-grid{ grid-template-columns:1fr 1fr; } }
.network-list { display:grid; grid-template-columns:1fr; gap:.75rem; }
@media(min-width:640px){ .network-list{ grid-template-columns:1fr 1fr; } }
.network-item { display:flex; align-items:flex-start; gap:.5rem; padding:.75rem 1rem; background:rgba(16,171,226,.08); border-left:2px solid var(--cyan); }
.network-item span { color:var(--cyan); flex-shrink:0; margin-top:.1rem; }
.network-item p { font-size:.875rem; color:rgba(255,255,255,.8); }

/* ── PROGRAMS PAGE ── */
.programs-page { padding:4rem 0; background:#fff; }
.programs-full-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:640px){ .programs-full-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .programs-full-grid{ grid-template-columns:repeat(3,1fr); } }
.program-card { border:1px solid var(--gray2); overflow:hidden; transition:box-shadow .3s; }
.program-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.1); }
.program-card-img { height:200px; overflow:hidden; }
.program-card-img img { width:100%; height:100%; object-fit:cover; filter:brightness(1.1) contrast(1.05) saturate(1.1); transition:transform .5s var(--ease-out); }
.program-card:hover .program-card-img img { transform:scale(1.05); }
.program-card-body { padding:1.25rem; }
.program-card-body .icon { color:var(--cyan); font-size:1.25rem; margin-bottom:.5rem; }
.program-card-body h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.25rem; color:var(--black); margin-bottom:.25rem; }
.program-card-body .sub { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--cyan); margin-bottom:.5rem; }
.program-card-body p { font-size:.875rem; color:var(--gray4); line-height:1.6; }

/* ── WHERE WE WORK ── */
.wwwork-section { padding:4rem 0; background:var(--warm); }
.states-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:2.5rem; }
@media(min-width:640px){ .states-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .states-grid{ grid-template-columns:repeat(3,1fr); } }
.state-card { background:#fff; padding:1.5rem; border-top:3px solid var(--cyan); transition:box-shadow .3s; }
.state-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); }
.state-card h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.2rem; color:var(--black); margin-bottom:.75rem; }
.state-tags { display:flex; flex-wrap:wrap; gap:.35rem; }
.state-tag { font-size:.7rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:.2rem .5rem; background:rgba(16,171,226,.1); color:var(--cyan); border:1px solid rgba(16,171,226,.25); }

/* ── MEDIA CENTER ── */
.media-section { padding:4rem 0; background:#fff; }
.media-tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2.5rem; border-bottom:2px solid var(--gray2); padding-bottom:0; }
.media-tab { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; padding:.6rem 1.25rem; background:none; border:none; border-bottom:3px solid transparent; margin-bottom:-2px; cursor:pointer; color:var(--gray4); transition:color .2s, border-color .2s; }
.media-tab:hover { color:var(--black); }
.media-tab.active { color:var(--cyan); border-bottom-color:var(--cyan); }
.media-panel { display:none; }
.media-panel.active { display:block; }
.docs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
@media(min-width:640px){ .docs-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .docs-grid{ grid-template-columns:repeat(4,1fr); } }
.doc-card { border:1px solid var(--gray2); overflow:hidden; transition:box-shadow .3s, border-color .3s; }
.doc-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.1); border-color:rgba(16,171,226,.3); }
.doc-card-img { height:160px; overflow:hidden; background:var(--gray1); }
.doc-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s var(--ease-out); }
.doc-card:hover .doc-card-img img { transform:scale(1.04); }
.doc-card-body { padding:1rem; }
.doc-card-body h4 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1rem; color:var(--black); margin-bottom:.5rem; line-height:1.2; }
.doc-card-body a { display:inline-flex; align-items:center; gap:.35rem; font-family:'Barlow Condensed',sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cyan); }
.doc-card-body a:hover { color:var(--cyan-dk); }

/* ── PARTNERS PAGE ── */
.partners-section { padding:4rem 0; background:var(--warm); }
.partners-cats { display:grid; grid-template-columns:1fr; gap:3rem; }
.partners-cat h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.5rem; color:var(--black); margin-bottom:1.25rem; border-left:4px solid var(--cyan); padding-left:.75rem; }
.partners-list { display:flex; flex-wrap:wrap; gap:.75rem; }
.partner-badge { padding:.6rem 1.25rem; background:#fff; border:1px solid var(--gray2); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.9rem; color:var(--gray5); transition:border-color .2s, color .2s; }
.partner-badge:hover { border-color:var(--cyan); color:var(--black); }

/* ── CONTACT PAGE ── */
.contact-section { padding:4rem 0; background:var(--warm); }
.contact-grid { display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:1024px){ .contact-grid{ grid-template-columns:1fr 1fr; gap:4rem; } }
.contact-info h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.5rem; color:var(--black); margin-bottom:1.25rem; }
.contact-item { display:flex; gap:1rem; margin-bottom:1.25rem; }
.contact-item .ci-icon { width:40px; height:40px; background:var(--cyan); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff; font-size:1.1rem; }
.contact-item .ci-text .ci-label { font-family:'Barlow Condensed',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan); margin-bottom:.15rem; }
.contact-item .ci-text p { font-size:.9rem; color:var(--gray5); }
.contact-form { background:#fff; padding:2rem; }
.contact-form h3 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.5rem; color:var(--black); margin-bottom:1.5rem; }
.form-row { display:grid; grid-template-columns:1fr; gap:1rem; margin-bottom:1rem; }
@media(min-width:640px){ .form-row{ grid-template-columns:1fr 1fr; } }
.form-group { display:flex; flex-direction:column; gap:.35rem; margin-bottom:1rem; }
.form-group label { font-family:'Barlow Condensed',sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gray5); }
.form-group input, .form-group select, .form-group textarea {
  padding:.65rem .9rem; border:1px solid var(--gray2); background:#fff;
  font-family:'Source Sans 3',sans-serif; font-size:.9rem; color:var(--black);
  outline:none; transition:border-color .2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--cyan); }
.form-group textarea { resize:vertical; min-height:120px; }

/* ── CTA SECTION ── */
.cta-section { padding:3.5rem 0; background:#fff; text-align:center; }
.cta-section h2 { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:clamp(2rem,4vw,3rem); color:var(--black); margin-bottom:1rem; }
.cta-section p { color:var(--gray4); max-width:520px; margin:0 auto 2rem; }

/* ── FOOTER ── */
.site-footer { background:var(--navy); color:rgba(255,255,255,.75); }
.footer-main { padding:3rem 0 2rem; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media(min-width:640px){ .footer-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .footer-grid{ grid-template-columns:2fr 1fr 1fr 1fr; } }
.footer-brand .nav-logo { margin-bottom:1rem; }
.footer-brand p { font-size:.875rem; line-height:1.65; color:rgba(255,255,255,.6); max-width:280px; }
.footer-col h4 { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--cyan); margin-bottom:1rem; }
.footer-col ul li { margin-bottom:.5rem; }
.footer-col ul li a { font-size:.875rem; color:rgba(255,255,255,.6); transition:color .2s; }
.footer-col ul li a:hover { color:var(--cyan); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:1.25rem 0; display:flex; flex-direction:column; gap:.5rem; align-items:center; text-align:center; }
@media(min-width:640px){ .footer-bottom{ flex-direction:row; justify-content:space-between; } }
.footer-bottom p { font-size:.8rem; color:rgba(255,255,255,.45); }

/* ── ANIMATIONS ── */
@keyframes fadeInUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.fade-in-up { opacity:0; }
.fade-in-up.visible { animation:fadeInUp .6s var(--ease-out) forwards; }

/* ── RESPONSIVE HELPERS ── */
.text-center { text-align:center; }
.mt-1 { margin-top:.5rem; } .mt-2 { margin-top:1rem; } .mt-3 { margin-top:1.5rem; } .mt-4 { margin-top:2rem; }
.mb-1 { margin-bottom:.5rem; } .mb-2 { margin-bottom:1rem; } .mb-3 { margin-bottom:1.5rem; } .mb-4 { margin-bottom:2rem; }
.flex-center { display:flex; align-items:center; justify-content:center; }
