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

:root{
  --navy:#0b1a2e;
  --deep:#060e1c;
  --amber:#e07828;
  --amber2:#f0a050;
  --cream:#f0e4cf;
  --silver:#8fa8c2;
  --muted:#4a6278;
  --text:#c8d8e8;
  --card:#0f2035;
}

html{scroll-behavior:smooth}

body{
  font-family:'Outfit',sans-serif;
  background:var(--deep);
  color:var(--text);
  overflow-x:hidden;
}

/* Navigation */
nav{
  position:fixed;
  top:0;
  width:100%;
  z-index:100;
  padding:1.2rem 5vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(6,14,28,0.8);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(143,168,194,0.12);
}

.site-header-media{
  padding:6.8rem 5vw 1.5rem;
  background:linear-gradient(to bottom,var(--navy) 0%,var(--deep) 100%);
}

.site-header-image{
  display:block;
  width:min(1650px,90vw);
  max-width:100%;
  height:auto;
  margin:0 auto;
  border-radius:20px;
  box-shadow:0 30px 80px rgba(0,0,0,0.35);
}

.logo{
  display:inline-flex;
  align-items:center;
  font-size:1.7rem;
  font-weight:600;
  letter-spacing:0.04em;
  color:var(--cream);
  text-decoration:none;
}

.logo-text{
  display:inline-block;
}

.logo span{color:var(--amber)}

.nav-links{
  display:flex;
  gap:2.5rem;
  list-style:none;
}

.nav-links a{
  font-size:0.82rem;
  font-weight:400;
  letter-spacing:0.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--silver);
  transition:color 0.2s;
}

.nav-links a:hover{color:var(--amber2)}

.nav-cta{
  font-size:0.8rem;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  padding:0.55rem 1.4rem;
  border:1px solid var(--amber);
  border-radius:2px;
  color:var(--amber);
  transition:background 0.2s,color 0.2s;
}

.nav-cta:hover{
  background:var(--amber);
  color:var(--deep);
}

/* Hero */
.hero{
  position:relative;
  width:100%;
  min-height:820px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:22rem 0 4.5rem;
  overflow:hidden;
  background:linear-gradient(to bottom,var(--navy) 0%,var(--deep) 60%,var(--deep) 100%);
}

.hero-img{
  position:absolute;
  top:5.5rem;
  left:50%;
  width:1650px;
  max-width:90vw;
  height:auto;
  aspect-ratio:1707/282;
  object-fit:cover;
  object-position:center 40%;
  transform:translateX(-50%) scale(1);
  transform-origin:center;
  border-radius:20px;
  box-shadow:0 30px 80px rgba(0,0,0,0.35);
  animation:slowzoom 20s ease-in-out infinite alternate;
}

@keyframes slowzoom{
  from{transform:translateX(-50%) scale(1)}
  to{transform:translateX(-50%) scale(1.03)}
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(6,14,28,0.12) 0%,rgba(6,14,28,0.08) 30%,rgba(6,14,28,0.72) 68%,rgba(6,14,28,1) 100%),
    radial-gradient(circle at top center,rgba(240,160,80,0.08) 0%,transparent 42%);
}

.hero-content{
  position:relative;
  z-index:2;
  width:1650px;
  max-width:90vw;
  margin:0 auto;
}

.hero-tag{
  display:inline-block;
  margin-top:1rem;
  margin-bottom:1.5rem;
  padding-left:0.9rem;
  border-left:2px solid var(--amber);
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--amber);
}

h1{
  margin-bottom:1.5rem;
  font-size:clamp(2.2rem,5vw,4.2rem);
  font-weight:300;
  line-height:1.05;
  letter-spacing:-0.01em;
  color:var(--cream);
}

h1 em{
  font-style:italic;
  color:var(--amber2);
}

.hero-sub{
  max-width:580px;
  margin-bottom:2.5rem;
  font-size:clamp(0.95rem,1.5vw,1.1rem);
  font-weight:300;
  line-height:1.7;
  color:var(--silver);
}

.btn-group{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}

.btn-primary,
.btn-ghost{
  font-size:0.82rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  text-decoration:none;
  padding:0.85rem 2rem;
  border-radius:2px;
}

.btn-primary{
  font-weight:500;
  background:var(--amber);
  color:var(--deep);
  transition:background 0.2s,transform 0.15s;
}

.btn-primary:hover{
  background:var(--amber2);
  transform:translateY(-1px);
}

.btn-ghost{
  font-weight:400;
  border:1px solid rgba(143,168,194,0.4);
  color:var(--silver);
  transition:border-color 0.2s,color 0.2s;
}

.btn-ghost:hover{
  border-color:var(--silver);
  color:var(--cream);
}

.scroll-hint{
  position:absolute;
  right:5vw;
  bottom:2.5rem;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0.5rem;
  font-size:0.7rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
  opacity:0.7;
}

.scroll-hint::after{
  content:'';
  display:block;
  width:1px;
  height:50px;
  background:linear-gradient(to bottom,var(--muted),transparent);
  animation:scrollline 1.8s ease-in-out infinite;
}

@keyframes scrollline{
  0%,100%{opacity:0;transform:scaleY(0) translateY(-20px)}
  50%{opacity:1;transform:scaleY(1) translateY(0)}
}

/* Shared section styles */
section{padding:7rem 5vw}

.section-tag{
  margin-bottom:1rem;
  font-size:0.72rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--amber);
}

h2{
  margin-bottom:1.5rem;
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:300;
  line-height:1.15;
  color:var(--cream);
}

h2 em{
  font-style:italic;
  color:var(--amber2);
}

.lead{
  max-width:600px;
  font-size:1rem;
  font-weight:300;
  line-height:1.8;
  color:var(--silver);
}

/* Stats */
.stats-bar{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:3rem 6rem;
  padding:2.5rem 5vw;
  background:var(--navy);
  border-top:1px solid rgba(143,168,194,0.08);
  border-bottom:1px solid rgba(143,168,194,0.08);
}

.stat{text-align:center}

.stat-num{
  display:block;
  font-size:2.6rem;
  font-weight:300;
  line-height:1;
  color:var(--amber);
}

.stat-label{
  margin-top:0.4rem;
  font-size:0.72rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
}

.stat-sub{
  display:block;
  margin-top:0.35rem;
  font-size:0.68rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--silver);
}

/* Team */
.team-section{background:var(--deep)}

.team-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1px;
  margin-top:4rem;
  background:var(--deep);
  border:1px solid rgba(143,168,194,0.08);
}

.team-card{
  grid-column:span 2;
  position:relative;
  overflow:hidden;
  padding:2.5rem 2rem;
  text-align:center;
  background:var(--deep);
  transition:background 0.25s;
}

.team-card-top-left{grid-column:2/span 2}
.team-card-top-right{grid-column:4/span 2}

.team-card:hover{background:rgba(224,120,40,0.04)}

.team-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:var(--amber);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.3s;
}

.team-card:hover::before{transform:scaleX(1)}

.team-avatar{
  width:64px;
  height:64px;
  margin:0 auto 1.2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:50%;
  border:1px solid rgba(143,168,194,0.2);
  font-size:1.3rem;
  font-weight:600;
}

.team-avatar-logo{
  display:block;
  width:72%;
  height:72%;
  object-fit:contain;
}

.avatar-claude{background:rgba(224,120,40,0.12)}
.avatar-gpt{background:#fff;border-color:rgba(255,255,255,0.9)}
.avatar-grok{background:#d9e3f2;border-color:rgba(217,227,242,0.95)}
.avatar-amazonq{
  background:#fff;
  border-color:rgba(255,255,255,0.92);
  color:#0d1626;
}
.avatar-human{background:rgba(240,228,207,0.1);color:var(--cream)}

.team-card h3{
  margin-bottom:0.4rem;
  font-size:1.3rem;
  font-weight:400;
  color:var(--cream);
}

.team-role{
  margin-bottom:0.8rem;
  font-size:0.68rem;
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--amber);
}

.team-card p{
  font-size:0.84rem;
  font-weight:300;
  line-height:1.7;
  color:var(--muted);
}

.team-badge{
  display:inline-block;
  margin-top:1rem;
  padding:0.25rem 0.7rem;
  border:1px solid rgba(224,120,40,0.2);
  border-radius:20px;
  background:rgba(224,120,40,0.1);
  font-size:0.65rem;
  letter-spacing:0.1em;
  text-decoration:none;
  text-transform:uppercase;
  color:var(--amber);
  transition:background 0.2s,border-color 0.2s,color 0.2s;
}

.team-badge:hover{
  background:rgba(224,120,40,0.18);
  border-color:rgba(224,120,40,0.35);
  color:var(--amber2);
}

/* Projects */
.projects-section{background:var(--navy)}

.projects-header{
  max-width:650px;
  margin-bottom:4rem;
}

.projects-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1.5rem;
}

.project-card{
  position:relative;
  overflow:hidden;
  padding:2rem 1.8rem;
  background:var(--card);
  border:1px solid rgba(143,168,194,0.1);
  border-radius:4px;
  transition:border-color 0.25s,transform 0.2s;
}

.project-card-external{
  display:grid;
  grid-column:span 2;
  grid-template-columns:minmax(240px,320px) minmax(0,1fr);
  align-items:center;
  gap:2rem;
  background:linear-gradient(180deg,rgba(15,32,53,0.9) 0%,rgba(10,24,41,0.98) 100%);
  border-color:rgba(240,160,80,0.18);
}

.project-media{
  width:100%;
  margin-bottom:1.25rem;
  padding:1rem;
  border:1px solid rgba(240,160,80,0.12);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(240,228,207,0.05) 0%,rgba(224,120,40,0.04) 100%);
}

.project-card-external .project-media{
  height:100%;
  margin-bottom:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
}

.project-media img{
  display:block;
  width:100%;
  max-height:180px;
  object-fit:contain;
}

.project-content{
  min-width:0;
}

.project-card-external .project-header{
  flex-wrap:wrap;
  margin-bottom:1.2rem;
}

.project-card-external .project-status{
  white-space:normal;
  text-align:center;
}

.project-card:hover{
  transform:translateY(-3px);
  border-color:rgba(224,120,40,0.35);
}

.project-card::after{
  content:'';
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:linear-gradient(to right,transparent,var(--amber),transparent);
  opacity:0;
  transition:opacity 0.3s;
}

.project-card:hover::after{opacity:1}

.project-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1rem;
}

.project-name{
  display:block;
  font-size:1.6rem;
  font-weight:400;
  line-height:1.2;
  color:var(--cream);
}

.project-name-link{
  color:#74A6AE;
  text-decoration:none;
  transition:color 0.2s;
}

.project-name-link:hover{
  color:#D97862;
}

.project-byline{
  display:block;
  margin-bottom:0.35rem;
  font-size:0.68rem;
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--amber2);
}

.project-status{
  flex-shrink:0;
  margin-top:0.3rem;
  padding:0.3rem 0.7rem;
  border-radius:20px;
  font-size:0.6rem;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  white-space:nowrap;
}

.status-dev{
  background:rgba(224,120,40,0.12);
  border:1px solid rgba(224,120,40,0.25);
  color:var(--amber);
}

.status-build{
  background:rgba(143,168,194,0.1);
  border:1px solid rgba(143,168,194,0.2);
  color:var(--silver);
}

.status-external{
  background:rgba(240,228,207,0.08);
  border:1px solid rgba(240,228,207,0.18);
  color:var(--cream);
}

.project-desc{
  margin-bottom:1.4rem;
  font-size:0.88rem;
  font-weight:300;
  line-height:1.75;
  color:var(--muted);
}

.project-note{
  margin:-0.2rem 0 1.4rem;
  padding:0.9rem 1rem;
  border-left:2px solid var(--amber);
  background:rgba(224,120,40,0.08);
  font-size:0.82rem;
  line-height:1.7;
  color:var(--silver);
}

.project-note strong{color:var(--cream)}

.tags{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
}

.project-link{
  display:inline-flex;
  align-items:center;
  margin-top:1rem;
  padding:0.7rem 1rem;
  border:1px solid rgba(224,120,40,0.28);
  border-radius:999px;
  text-decoration:none;
  font-size:0.74rem;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--amber2);
  transition:background 0.2s,border-color 0.2s,color 0.2s;
}

.project-link:hover{
  background:rgba(224,120,40,0.12);
  border-color:rgba(224,120,40,0.45);
  color:var(--cream);
}

.tag{
  padding:0.28rem 0.7rem;
  border:1px solid rgba(143,168,194,0.14);
  border-radius:20px;
  background:rgba(143,168,194,0.06);
  font-size:0.68rem;
  font-weight:400;
  letter-spacing:0.06em;
  color:var(--silver);
}

/* CTA */
.cta-section{
  position:relative;
  overflow:hidden;
  padding:8rem 5vw;
  text-align:center;
  background:var(--deep);
}

.cta-section::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:700px;
  height:700px;
  background:radial-gradient(circle,rgba(224,120,40,0.06) 0%,transparent 70%);
  transform:translate(-50%,-50%);
  pointer-events:none;
}

.cta-section > *{
  position:relative;
  z-index:1;
}

.cta-section h2{
  max-width:700px;
  margin:0 auto 1.5rem;
}

.cta-section p{
  max-width:500px;
  margin:0 auto 3rem;
  font-size:1rem;
  font-weight:300;
  line-height:1.7;
  color:var(--muted);
}

.cta-actions{justify-content:center}

/* Footer */
footer{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 1fr;
  gap:3rem;
  padding:4rem 5vw 2.5rem;
  background:var(--deep);
  border-top:1px solid rgba(143,168,194,0.08);
}

.footer-brand .logo{
  display:block;
  margin-bottom:1rem;
  font-size:1.4rem;
}

.footer-brand p{
  max-width:260px;
  font-size:0.83rem;
  line-height:1.7;
  color:var(--muted);
}

.footer-col h4{
  margin-bottom:1.2rem;
  font-size:0.72rem;
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--silver);
}

.footer-col ul{
  display:flex;
  flex-direction:column;
  gap:0.6rem;
  list-style:none;
}

.footer-col a{
  font-size:0.84rem;
  text-decoration:none;
  color:var(--muted);
  transition:color 0.2s;
}

.footer-col a:hover{color:var(--amber)}

.footer-bottom{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:1rem;
  padding-top:2rem;
  border-top:1px solid rgba(143,168,194,0.06);
  font-size:0.75rem;
  color:var(--muted);
}

.footer-bottom-meta{
  display:flex;
  align-items:center;
  gap:0.9rem;
}

.footer-admin-link{
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:rgba(143,168,194,0.55);
  transition:color 0.2s ease;
}

.footer-admin-link:hover{color:var(--silver)}

.founders-line{
  margin-top:0.6rem;
  font-size:0.75rem;
  color:var(--muted);
}

.founders-line a{text-decoration:none}
.founders-line span{color:var(--amber)}

/* Inner pages */
.page-hero{
  padding:8.5rem 5vw 3rem;
  background:linear-gradient(to bottom,var(--navy) 0%,var(--deep) 100%);
}

.page-shell{
  width:min(1200px,90vw);
  margin:0 auto;
}

.page-kicker{
  display:inline-block;
  margin-bottom:1rem;
  padding-left:0.9rem;
  border-left:2px solid var(--amber);
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--amber);
}

.page-title{
  max-width:820px;
  margin-bottom:1.25rem;
  font-size:clamp(2.8rem,6vw,5rem);
  font-weight:300;
  line-height:1.02;
  letter-spacing:-0.02em;
  color:var(--cream);
}

.page-title em{
  font-style:italic;
  color:var(--amber2);
}

.page-intro{
  max-width:720px;
  font-size:1.02rem;
  line-height:1.8;
  color:var(--silver);
}

.page-section{
  padding:0 5vw 6rem;
}

.press-grid{
  display:grid;
  grid-template-columns:1.3fr 0.9fr;
  gap:1.5rem;
}

.press-card{
  padding:2rem;
  background:var(--card);
  border:1px solid rgba(143,168,194,0.1);
  border-radius:8px;
}

.press-card h2,
.press-card h3{
  margin-bottom:1rem;
  color:var(--cream);
}

.press-card p{
  color:var(--silver);
  line-height:1.8;
}

.press-card p + p{
  margin-top:0.9rem;
}

.press-list{
  display:flex;
  flex-direction:column;
  gap:0.85rem;
  list-style:none;
}

.press-list li{
  color:var(--silver);
  line-height:1.7;
}

.press-list a{
  color:var(--amber2);
  text-decoration:none;
  border-bottom:1px solid rgba(240,160,80,0.35);
  transition:color 0.2s,border-color 0.2s;
}

.press-list a:hover{
  color:var(--cream);
  border-bottom-color:rgba(240,228,207,0.6);
}

.press-list strong{
  color:var(--cream);
  font-weight:500;
}

.press-actions{
  margin-top:1.6rem;
}

/* Utilities */
.back-to-top{
  position:fixed;
  right:2rem;
  bottom:4.5rem;
  z-index:120;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:1px solid rgba(224,120,40,0.45);
  border-radius:999px;
  background:rgba(6,14,28,0.9);
  box-shadow:0 16px 40px rgba(0,0,0,0.28);
  transition:transform 0.18s,background 0.2s,border-color 0.2s;
}

.back-to-top span{
  font-size:1.6rem;
  line-height:1;
  color:var(--amber);
}

.back-to-top:hover{
  transform:translateY(-2px);
  background:var(--amber);
  border-color:var(--amber);
}

.back-to-top:hover span{color:var(--deep)}

/* Responsive */
@media(max-width:900px){
  .hero{
    min-height:720px;
    padding-top:16rem;
    padding-bottom:4rem;
  }

  .hero-img{
    top:5rem;
    width:940px;
    max-width:94vw;
    border-radius:16px;
  }

  .hero-content{
    width:940px;
    max-width:94vw;
  }

  .press-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .team-card{grid-column:auto}
  .team-card-top-left,
  .team-card-top-right{grid-column:auto}
  .project-card-external{
    grid-column:auto;
    grid-template-columns:1fr;
  }
  .project-card-external .project-media{margin-bottom:1.25rem}
  .nav-links{display:none}

  footer{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .footer-bottom,
  .footer-bottom-meta{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:600px){
  .hero{
    min-height:620px;
    padding-top:11.5rem;
    padding-bottom:5rem;
  }

  .hero-img{
    top:4.5rem;
    width:560px;
    max-width:96vw;
    border-radius:12px;
  }

  .hero-content{
    width:560px;
    max-width:96vw;
  }

  .page-hero{padding-top:7.5rem}
  .page-title{font-size:clamp(2.35rem,10vw,3.5rem)}
  .page-section{padding-bottom:4rem}
  .press-card{padding:1.4rem}
  .scroll-hint{display:none}

  .back-to-top{
    right:1rem;
    bottom:3.5rem;
    width:46px;
    height:46px;
  }

  .back-to-top span{font-size:1.4rem}
  footer{grid-template-columns:1fr}
}

/* Blog */
.page-shell-wide{
  width:min(1650px,90vw);
  margin:0 auto;
}

.blog-columns-section{
  padding:0 5vw 5rem;
  background:var(--deep);
}

.blog-columns{
  display:grid;
  grid-template-columns:minmax(170px,0.64fr) minmax(0,2.42fr) minmax(170px,0.64fr);
  gap:1.25rem;
  align-items:start;
}

.blog-column{
  min-width:0;
  padding:1.5rem;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
}

.blog-column-left,
.blog-column-center,
.blog-column-right{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.blog-column-left{
  padding:1.15rem;
  background:rgba(11,26,46,0.72);
  border-color:rgba(143,168,194,0.16);
}

.blog-column-center{
  padding:1.7rem;
  background:rgba(11,26,46,0.72);
  border-color:rgba(143,168,194,0.16);
}

.blog-column-right{
  padding:1.1rem;
  background:linear-gradient(180deg,rgba(37,96,201,0.36) 0%,rgba(14,38,91,0.68) 100%);
  border-color:rgba(115,166,255,0.28);
}

.blog-column-panel{
  padding:1.25rem;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  background:rgba(6,14,28,0.34);
}

.column-title{
  margin:0 0 1rem;
  font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:300;
  line-height:1.15;
  color:var(--cream);
}

.column-copy{
  color:rgba(240,228,207,0.9);
  line-height:1.8;
}

.blog-column-left .sidebar-label{
  color:var(--deep);
}

.blog-column-left .author-box strong{
  color:var(--cream);
}

.blog-column-left .author-box span{
  color:rgba(240,228,207,0.8);
}

.blog-heading{
  max-width:none;
  margin-bottom:0;
}

.blog-heading-centered{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.blog-heading-centered .lead{
  margin-left:auto;
  margin-right:auto;
}

.featured-section,
.posts-section,
.editorial-section,
.article-section{
  background:var(--deep);
}

.blog-home .featured-section{
  position:relative;
  z-index:2;
  margin-top:0;
}

.blog-column-center .lead{
  margin:0;
}

.featured-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
}

.featured-main,
.featured-side,
.post-card,
.editorial-card,
.article-content,
.sidebar-card,
.empty-state{
  padding:2rem;
  background:var(--card);
  border:1px solid rgba(143,168,194,0.1);
  border-radius:12px;
}

.featured-main{
  display:flex;
  flex-direction:column;
  gap:1rem;
  grid-column:span 2;
  background:
    linear-gradient(90deg,
      rgba(232, 184, 39, 0.32) 0%,
      rgba(232, 184, 39, 0.32) 50%,
      rgba(184, 43, 43, 0.3) 50%,
      rgba(184, 43, 43, 0.3) 100%
    ),
    rgba(15,32,53,0.92);
  border-color:rgba(255,255,255,0.08);
}

.featured-side{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  grid-column:span 1;
  background:linear-gradient(180deg,rgba(37,96,201,0.34) 0%,rgba(13,36,83,0.94) 100%);
  border-color:rgba(115,166,255,0.24);
}

.featured-side .calendar-card{
  width:100%;
}

.featured-title,
.post-card h3,
.editorial-card h3,
.sidebar-card h3{
  color:var(--cream);
}

.featured-title{
  margin:0;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:300;
  line-height:1.1;
}

.featured-main-single{
  grid-column:auto;
  background:rgba(6,14,28,0.38);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
}

.featured-title-link{
  color:inherit;
  text-decoration:none;
}

.featured-title-link:hover{
  color:var(--amber2);
}

.featured-excerpt,
.post-card p,
.editorial-card p,
.sidebar-card p,
.empty-state p{
  color:var(--silver);
  line-height:1.8;
}

.feature-snippet{
  padding:1.2rem 1.1rem;
  border-left:2px solid var(--amber);
  background:rgba(224,120,40,0.08);
  font-size:0.95rem;
  line-height:1.8;
  color:var(--cream);
}

.featured-label,
.author-label,
.sidebar-label{
  font-size:0.7rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--amber);
}

.author-box{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}

.author-box strong{color:var(--cream)}
.author-box span:last-child{color:var(--muted)}

.category-pill{
  display:inline-flex;
  width:max-content;
  align-items:center;
  padding:0.45rem 0.8rem;
  border:1px solid rgba(224,120,40,0.24);
  border-radius:999px;
  background:rgba(224,120,40,0.1);
  font-size:0.66rem;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--amber2);
}

.category-pill-hero{
  margin-bottom:1rem;
}

.meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:0.8rem 1.1rem;
  font-size:0.78rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.meta-row span{
  position:relative;
}

.meta-row span:not(:last-child)::after{
  content:'';
  position:absolute;
  right:-0.6rem;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(143,168,194,0.35);
  transform:translateY(-50%);
}

.post-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
}

.post-stack{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.blog-column-center .post-card{
  background:rgba(6,14,28,0.38);
  border-color:rgba(255,255,255,0.08);
}

.blog-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,280px);
  gap:1.5rem;
  align-items:start;
}

.blog-sidebar{
  position:sticky;
  top:6.5rem;
  align-self:start;
}

.calendar-card{
  max-width:240px;
  margin:0 auto;
  padding:0.95rem;
  border:1px solid rgba(143,168,194,0.12);
  border-radius:12px;
  background:rgba(11,26,46,0.85);
  box-shadow:0 24px 50px rgba(0,0,0,0.2);
}

.calendar-card h3{
  margin:0.4rem 0 0.7rem;
  font-size:0.9rem;
  font-weight:500;
  color:var(--cream);
}

.calendar-grid{
  display:flex;
  flex-direction:column;
  gap:0.45rem;
}

.calendar-week,
.calendar-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:0.28rem;
}

.calendar-week span{
  font-size:0.52rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
  text-align:center;
}

.calendar-days span{
  display:flex;
  align-items:center;
  justify-content:center;
  height:22px;
  border-radius:7px;
  border:1px solid rgba(143,168,194,0.12);
  background:rgba(6,14,28,0.6);
  font-size:0.66rem;
  color:var(--silver);
}

.calendar-days .is-empty{
  border:none;
  background:transparent;
}

.calendar-days .has-post{
  border-color:rgba(224,120,40,0.4);
  background:rgba(224,120,40,0.2);
  color:var(--cream);
  font-weight:500;
}

.calendar-note{
  margin-top:0.85rem;
  font-size:0.74rem;
  line-height:1.5;
  color:var(--muted);
}

.post-card{
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:border-color 0.2s,transform 0.2s,background 0.2s;
}

.post-card:hover{
  transform:translateY(-3px);
  border-color:rgba(224,120,40,0.3);
  background:rgba(15,32,53,0.95);
}

.editorial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
  margin-bottom:3rem;
}

.editorial-card{
  min-height:100%;
}

.blog-cta{
  border:1px solid rgba(143,168,194,0.08);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(6,14,28,0.95) 0%,rgba(11,26,46,0.96) 100%);
}

.blog-cta p{color:var(--silver)}
.page-kicker-link{text-decoration:none}
.article-hero{padding-bottom:2.5rem}
.article-meta{margin-top:1.4rem}

.article-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(290px,0.65fr);
  gap:1.5rem;
}

.article-body{
  color:var(--text);
}

.article-body p,
.article-body li{
  font-size:1rem;
  line-height:1.95;
  color:var(--silver);
}

.article-body p + p,
.article-body p + .article-subtitle,
.article-body .article-subtitle + p,
.article-body .article-list + p,
.article-body .article-quote + p{
  margin-top:1.2rem;
}

.article-subtitle{
  margin-top:2.2rem;
  font-size:1.4rem;
  font-weight:400;
  color:var(--cream);
}

.article-list{
  margin:1.2rem 0 0 1.2rem;
}

.article-list li + li{
  margin-top:0.75rem;
}

.article-quote{
  margin-top:1.4rem;
  padding:1.4rem 1.5rem;
  border-left:2px solid var(--amber);
  background:rgba(224,120,40,0.08);
}

.article-quote p{
  color:var(--cream);
}

.article-quote cite{
  display:block;
  margin-top:0.8rem;
  font-size:0.8rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--amber2);
}

.article-figure{
  margin-top:1.5rem;
}

.article-figure img{
  display:block;
  width:100%;
  border-radius:18px;
  object-fit:cover;
}

.article-figure figcaption{
  margin-top:0.8rem;
  font-size:0.9rem;
  line-height:1.6;
  color:var(--muted);
}

.article-tags{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  margin-top:2rem;
}

.article-sidebar{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.admin-help{
  margin-top:0.6rem;
  font-size:0.92rem;
  line-height:1.6;
  color:var(--muted);
}

.sidebar-card{
  display:flex;
  flex-direction:column;
  gap:0.8rem;
}

.sidebar-card-accent{
  border-color:rgba(224,120,40,0.22);
  background:linear-gradient(180deg,rgba(15,32,53,0.92) 0%,rgba(11,26,46,1) 100%);
}

.sidebar-actions{
  align-items:flex-start;
}

.related-list{
  display:flex;
  flex-direction:column;
  gap:0.8rem;
}

.related-link{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  padding:0.9rem 1rem;
  border:1px solid rgba(143,168,194,0.12);
  border-radius:10px;
  background:rgba(6,14,28,0.45);
  text-decoration:none;
  transition:border-color 0.2s,transform 0.2s;
}

.related-link strong{
  color:var(--cream);
  font-weight:400;
}

.related-link span{
  font-size:0.72rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
}

.related-link:hover{
  transform:translateY(-2px);
  border-color:rgba(224,120,40,0.3);
}

.empty-state{
  text-align:center;
}

.empty-state h3{
  margin-bottom:0.8rem;
  color:var(--cream);
}

.admin-form{
  display:flex;
  flex-direction:column;
  gap:0.7rem;
}

.admin-stack{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}

.admin-panel{
  padding:1.4rem;
  border:1px solid rgba(143,168,194,0.12);
  border-radius:14px;
  background:rgba(6,14,28,0.42);
}

.admin-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.admin-panel-head h2{
  margin:0;
  color:var(--cream);
  font-size:1.2rem;
  font-weight:400;
}

.admin-inline-form{
  margin:0;
}

.admin-label{
  margin-top:0.6rem;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
}

.admin-input,
.admin-textarea{
  width:100%;
  padding:0.8rem 0.9rem;
  border:1px solid rgba(143,168,194,0.18);
  border-radius:10px;
  background:rgba(6,14,28,0.65);
  color:var(--cream);
  font-family:'Outfit',sans-serif;
  font-size:0.95rem;
}

.admin-textarea{
  resize:vertical;
  min-height:120px;
}

.admin-textarea-lg{
  min-height:240px;
}

.admin-checkbox{
  display:flex;
  align-items:center;
  gap:0.6rem;
  margin:0.8rem 0 1rem;
  color:var(--silver);
  font-size:0.9rem;
}

.code-sample{
  margin-top:0.8rem;
  padding:1rem;
  border:1px solid rgba(143,168,194,0.14);
  border-radius:10px;
  background:rgba(6,14,28,0.6);
  font-size:0.85rem;
  color:var(--silver);
  overflow:auto;
}

.admin-user-list{
  display:flex;
  flex-direction:column;
  gap:0.9rem;
  margin-top:0.8rem;
}

.admin-user-item{
  display:flex;
  flex-direction:column;
  gap:0.2rem;
  padding:0.85rem 0.9rem;
  border:1px solid rgba(143,168,194,0.12);
  border-radius:10px;
  background:rgba(6,14,28,0.45);
  color:var(--silver);
}

.admin-user-item strong{
  color:var(--cream);
}

@media(max-width:900px){
  .site-header-media{
    padding-top:6.3rem;
    padding-bottom:1.25rem;
  }

  .site-header-image{
    width:min(940px,94vw);
    border-radius:16px;
  }

  .blog-columns{
    grid-template-columns:1fr;
  }

  .blog-columns-section{
    padding-bottom:4rem;
  }

  .blog-stats{
    margin-top:0;
    width:100%;
    border-radius:0;
  }

  .featured-card,
  .editorial-grid,
  .article-layout,
  .blog-layout{
    grid-template-columns:1fr;
  }

  .blog-sidebar{
    position:static;
  }

  .blog-home .featured-section{
    margin-top:0;
  }
}

@media(max-width:600px){
  .site-header-media{
    padding-top:5.8rem;
    padding-bottom:1rem;
  }

  .site-header-image{
    width:min(560px,96vw);
    border-radius:12px;
  }

  .featured-main,
  .featured-side,
  .post-card,
  .editorial-card,
  .article-content,
  .sidebar-card,
  .empty-state{
    padding:1.4rem;
  }

  .meta-row{
    gap:0.55rem 0.9rem;
    font-size:0.7rem;
  }

  .featured-title{
    font-size:2rem;
  }

}
