
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:#0f172a;background:#f8fafc;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 2rem));margin:0 auto}
.site-header{position:sticky;top:0;z-index:60;backdrop-filter:blur(12px);background:rgba(255,255,255,.94);border-bottom:1px solid rgba(15,23,42,.08)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px}
.brand{font-weight:800;font-size:.9rem;letter-spacing:.2em}
.nav{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}
.nav a{color:#475569;font-weight:500;font-size:.95rem}
.nav a:hover{color:#0b3b75}
.cta-small,.btn,.slider-arrow{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;transition:.2s ease}
.cta-small{padding:.7rem 1rem;background:#0b3b75;color:#fff;font-size:.92rem}
.cta-small:hover{background:#082f5f}
.menu-btn{display:none;border:0;background:transparent;font-size:1.6rem;cursor:pointer}
.mobile-nav{display:none;padding:0 1rem 1rem;border-top:1px solid rgba(15,23,42,.08)}
.mobile-nav a{display:block;padding:.7rem 0;color:#334155;font-weight:500}
.mobile-nav.open{display:block}
.hero{background:linear-gradient(135deg,rgba(8,47,95,.95),rgba(11,59,117,.88)),radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 35%);color:white}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:2.5rem;align-items:center;padding:5rem 0 3rem}
.eyebrow,.section-label{display:inline-block;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.eyebrow{color:#dbeafe;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.55rem .9rem}
.hero h1{font-size:clamp(2.6rem,6vw,4.7rem);line-height:1.05;margin:1rem 0 0}
.lead{margin-top:1.3rem;font-size:1.1rem;color:#eff6ff;max-width:62ch}
.slogan{margin-top:.9rem;font-size:1.25rem;font-weight:700}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.btn{padding:.95rem 1.3rem}
.btn-light{background:#fff;color:#082f5f}
.btn-light:hover{background:#e2e8f0}
.btn-outline{border:1px solid rgba(255,255,255,.28);color:white}
.btn-outline:hover{background:rgba(255,255,255,.08)}
.hero-image-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:2rem;padding:.9rem;box-shadow:0 25px 60px rgba(2,6,23,.3)}
.hero-image-card img{width:100%;height:auto;max-height:720px;object-fit:contain;object-position:center;background:#082f5f;border-radius:1.5rem}
.top-intro-box{margin-top:1.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#eaf4ff;border-radius:1.5rem;padding:1.25rem 1.35rem;max-width:760px}
.top-intro-box h3{margin:0 0 .5rem;font-size:1rem;color:#fff}
.quick-facts{margin-top:-1.5rem;position:relative;z-index:2}
.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.fact-card,.card,.timeline-item,.contact-card,.poster-card,.policy-group{background:white;border:1px solid rgba(15,23,42,.08);border-radius:1.4rem;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.fact-card{padding:1.35rem;text-align:center}
.fact-card span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:#0b3b75;font-weight:700}
.fact-card strong{display:block;margin-top:.45rem;font-size:1.05rem}
.section{padding:5.3rem 0}
.section-white{background:white}
.section-head{max-width:820px;margin-bottom:2rem}
.section-label{color:#0b3b75}
.light{color:#93c5fd}
.section-head h2{margin:.5rem 0 0;font-size:clamp(2rem,4vw,3rem);line-height:1.1}
.section-head p{color:#475569;font-size:1.03rem}
.policy-grid,.articles-grid,.videos-grid{display:grid;gap:1.25rem}
.policy-grid{grid-template-columns:repeat(2,1fr)}
.policy-group{padding:1.5rem}
.policy-group h3{margin:0 0 .35rem;font-size:1.35rem;line-height:1.2;color:#0f172a}
.policy-group .policy-sub{color:#0b3b75;font-weight:700;margin-bottom:.8rem}
.policy-group ul{margin:.2rem 0 0;padding-left:1.15rem}
.policy-group li{margin:.55rem 0}
.bio-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem;align-items:start}
.sticky-copy{position:sticky;top:100px}
.timeline{display:grid;gap:.9rem}
.timeline-item{padding:1rem 1.2rem;line-height:1.7}

/* Real slider */
.slider-wrap{position:relative}
.slider-top{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.slider-controls{display:flex;gap:.65rem}
.slider-arrow{width:42px;height:42px;border:1px solid rgba(15,23,42,.12);background:#fff;color:#0b3b75;cursor:pointer}
.slider-arrow:hover{background:#eff6ff}
.slider-viewport{overflow:hidden}
.slider-track{display:flex;transition:transform .45s ease}
.gallery-slide{min-width:20%;padding:0 .4rem}
.gallery-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:1.3rem;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.gallery-card img{width:100%;height:110px;object-fit:cover}
.gallery-card .caption{padding:.65rem .8rem .8rem;font-weight:600;color:#334155;font-size:.92rem}
.slider-dots{display:flex;gap:.45rem;justify-content:center;margin-top:1rem}
.slider-dot{width:10px;height:10px;border-radius:999px;background:#cbd5e1;border:0;cursor:pointer}
.slider-dot.active{background:#0b3b75}

.articles-grid{grid-template-columns:repeat(3,1fr)}
.article-card-full{padding:0;overflow:hidden}
.article-card-full img{width:100%;aspect-ratio:16/10;object-fit:cover}
.article-body{padding:1rem 1.1rem 1.2rem}
.article-date{display:inline-block;font-size:.8rem;font-weight:700;color:#0b3b75;margin-bottom:.5rem}
.article-card h3{margin:0 0 .55rem;line-height:1.2}
.article-card a{display:inline-block;margin-top:.9rem;color:#0b3b75;font-weight:700}
.article-card a:hover{text-decoration:underline}
.archive-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0 2rem}
.archive-actions a{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1rem;border-radius:999px;background:#fff;color:#0b3b75;border:1px solid rgba(11,59,117,.15);font-weight:700}
.archive-actions a.primary{background:#0b3b75;color:#fff}
.poster-section{background:#e2e8f0}
.poster-card{overflow:hidden;padding:1rem;border-radius:2rem}
.poster-card img{border-radius:1.35rem}
.video-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:1.4rem;padding:1.3rem;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.video-thumb{border-radius:1rem;aspect-ratio:16/9;background:linear-gradient(135deg,#0b3b75,#0f172a);display:flex;align-items:center;justify-content:center;color:white;font-weight:800;letter-spacing:.08em;margin-bottom:1rem}
.video-card a{color:#0b3b75;font-weight:700}
.contact-section{background:#0b3b75;color:white}
.contact-section h2{margin:.5rem 0 0;font-size:clamp(2rem,4vw,3rem)}
.contact-section p{color:#e0f2fe}
.contact-grid{display:grid;grid-template-columns:1fr .95fr;gap:2rem;align-items:start}
.contact-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);padding:1.7rem}
.contact-item + .contact-item{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.16)}
.contact-item span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:#bfdbfe;font-weight:700}
.contact-item strong{display:block;margin-top:.35rem;font-size:1.15rem}
.contact-item a{color:white}
.contact-item a:hover{text-decoration:underline}
.site-footer{background:white;border-top:1px solid rgba(15,23,42,.08)}
.footer-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#64748b;font-size:.95rem}
.page-hero{padding:4rem 0 2rem;background:linear-gradient(135deg,#edf4ff,#f8fafc);border-bottom:1px solid rgba(15,23,42,.06)}
.page-hero h1{margin:.3rem 0 0;font-size:clamp(2.2rem,5vw,4rem)}
.page-hero p{max-width:760px;color:#475569}
.helper-box{margin-top:1rem;background:#eff6ff;color:#0f172a;border:1px solid #bfdbfe;border-radius:1rem;padding:1rem 1.1rem}
@media (max-width:1200px){
  .gallery-slide{min-width:25%}
}
@media (max-width:980px){
  .nav,.cta-small{display:none}
  .menu-btn{display:inline-block}
  .hero-grid,.bio-grid,.contact-grid,.facts-grid,.policy-grid,.articles-grid,.videos-grid{grid-template-columns:1fr}
  .hero-grid{padding:4rem 0 2rem}
  .sticky-copy{position:static}
  .quick-facts{margin-top:0;padding-top:1rem}
  .gallery-slide{min-width:33.333%}
}
@media (max-width:640px){
  .gallery-slide{min-width:50%}
  .gallery-card img{height:100px}
}
@media (max-width:640px){
  .container{width:min(1180px,calc(100% - 1.2rem))}
  .hero-actions,.archive-actions{flex-direction:column}
  .gallery-slide{min-width:100%;padding:0}
  .slider-top{align-items:flex-start;flex-direction:column}
  .footer-wrap{flex-direction:column;justify-content:center;text-align:center;padding:1rem 0}
}


/* Articles closer to alexismakrides.com */
.article-card-full{
  border-radius:0;
  box-shadow:none;
  border:0;
  background:transparent;
}
.article-card-full img{
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
}
.article-body{
  padding:.8rem 0 1.2rem;
}
.article-card h3{
  font-size:1.18rem;
  font-weight:700;
  color:#0f172a;
}

@media (max-width:980px){
  .events-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .events-grid{grid-template-columns:1fr}
  .event-photo img{height:210px}
}


/* v9 fixes */
.hero-image-card{
  max-width:460px;
  margin:0 auto;
}
.hero-image-card img{
  width:100%;
  height:auto;
  max-height:720px;
  object-fit:contain;
  object-position:center;
  background:#082f5f;
  border-radius:1.5rem;
}


/* Article covers visible and similar to alexismakrides.com homepage */
.article-card-full{
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
}
.article-card-full img{
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
  background:#e5e7eb;
}
.article-body{
  padding:.8rem 0 1.2rem;
}
.article-card h3{
  font-size:1.18rem;
  font-weight:700;
  color:#0f172a;
  margin:.15rem 0 .5rem;
}
.article-card p{
  color:#475569;
}


/* === v10 FINAL OVERRIDES === */

/* First/hero photo: show the entire image, no crop */
.hero-image-card{
  width:100%;
  max-width:430px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:10px !important;
  background:rgba(255,255,255,.08) !important;
  border-radius:28px !important;
}
.hero-image-card img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#082f5f !important;
  border-radius:22px !important;
}

/* Events: fixed 2-column grid, smaller photos, framed, with spacing */
.events-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:12px !important; /* approx 3mm */
  align-items:start !important;
}
.event-photo{
  display:block !important;
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,.16) !important;
  border-radius:14px !important;
  padding:8px !important;
  box-shadow:0 8px 24px rgba(15,23,42,.07) !important;
  overflow:hidden !important;
}
.event-photo img{
  width:100% !important;
  height:180px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:10px !important;
  background:#e5e7eb !important;
}

/* Article covers: visible and clean */
.article-card-full img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/10 !important;
  object-fit:cover !important;
  display:block !important;
  background:#e5e7eb !important;
}

@media (max-width:700px){
  .events-grid{
    grid-template-columns:1fr !important;
  }
  .event-photo img{
    height:220px !important;
  }
}
