:root{
  --christopher-blue:rgb(3,27,98);
  --black:#000;
  --white:#fff;
  --gray:#9b9b9b;
  --sidebar:190px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--black);color:var(--white);font-family:Verdana,Geneva,Tahoma,sans-serif}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--christopher-blue);padding-top:14px}
.logo{display:flex;align-items:center;justify-content:center;height:50px;margin:0 12px 2px;background:var(--gray);color:#ddd;text-decoration:none;font-size:30px}
.nav{display:flex;flex-direction:column}
.nav a{padding:8px 16px;color:#fff;text-decoration:none}
.nav a:hover,.nav a.active{background:#000}
.content{min-height:100vh;margin-left:var(--sidebar);background:#000}
.content-inner{max-width:1500px;margin:auto;padding:24px}
.page-center{min-height:100vh;display:grid;place-items:center;padding:40px;text-align:center}
.page-copy{max-width:900px;line-height:1.7}
.hero-slideshow{position:relative;min-height:100vh;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;background:center/contain no-repeat}
.hero-slide.active{opacity:1}
.hero-caption{position:absolute;left:28px;bottom:24px;max-width:680px;padding:12px 16px;background:rgba(0,0,0,.55);line-height:1.45}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.blog-card{display:block;background:var(--christopher-blue);color:#fff;text-decoration:none;padding:8px;border:1px solid rgba(255,255,255,.12)}
.blog-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.45)}
.blog-date{font-size:12px;color:#ddd}
.blog-title{font-size:15px;margin:3px 0 8px}
.blog-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--gray)}
.article{max-width:1000px;margin:auto;padding:36px 28px 80px;line-height:1.7}
.article-date{color:#ddd;margin-bottom:28px}
.article-photo{display:block;max-width:100%;height:auto;margin:24px auto}
figcaption{color:#ddd;font-size:13px;text-align:center}
@media(max-width:760px){
  .sidebar{position:sticky;top:0;width:100%;min-height:auto;padding:8px}
  .logo{height:42px;margin:0 0 6px;font-size:24px}
  .nav{flex-direction:row;flex-wrap:wrap}
  .nav a{flex:1 1 auto;text-align:center}
  .content{margin-left:0}
  .page-center{min-height:calc(100vh - 100px);padding:24px}
}