/* ============================================================
   Mike Martinussen — Blog stylesheet
   Shares design tokens with the main site (mikemartinussen.dk)
   ============================================================ */
:root {
  --navy:   #1E2761;
  --navy2:  #2a3875;
  --dark:   #12120f;
  --cream:  #f5f2eb;
  --cream2: #ede9df;
  --accent: #4A9EFF;
  --green:  #2D9B6F;
  --mid:    #6b6860;
  --light:  #a09d96;
  --border: #d8d4cc;
  --white:  #ffffff;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--cream);
  color:var(--dark);
  font-size:17.5px;
  line-height:1.6;
}

/* ── NAV (identical to homepage) ─────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(18,18,15,0.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.06);
  padding:0 5%;
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
}
.nav-logo{
  font-family:'Fraunces',serif;
  font-size:1.1rem;font-weight:600;
  color:var(--white);letter-spacing:-0.01em;
  text-decoration:none;
}
.nav-logo span{color:var(--accent)}
.nav-links{display:flex;gap:2rem;align-items:center;list-style:none}
.nav-links a{
  color:rgba(255,255,255,0.82);
  text-decoration:none;font-size:.875rem;font-weight:400;
  transition:color .2s;
}
.nav-links a:hover{color:var(--white)}
.nav-links a.current{color:var(--accent)}
.nav-cta{
  background:var(--accent);color:var(--white)!important;
  padding:8px 20px;border-radius:6px;font-weight:500!important;
  transition:opacity .2s!important;
}
.nav-cta:hover{opacity:.85}

/* ── PAGE HEADER ──────────────────────────────────── */
.page-header{
  background:var(--dark);
  padding:150px 5% 70px;
  position:relative;overflow:hidden;
}
.page-header-bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 70% 20%, rgba(30,39,97,0.55) 0%, transparent 70%);
  pointer-events:none;
}
.breadcrumb{
  position:relative;z-index:2;
  font-size:.8rem;color:rgba(255,255,255,.5);
  margin-bottom:1.5rem;
}
.breadcrumb a{color:rgba(255,255,255,.5);text-decoration:none}
.breadcrumb a:hover{color:var(--accent)}
.section-label{
  font-size:.72rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);
  margin-bottom:1rem;
  display:flex;align-items:center;gap:.75rem;
  position:relative;z-index:2;
}
.section-label::before{
  content:'';display:block;width:2rem;height:1px;background:var(--accent);
}
.page-header h1{
  font-family:'Fraunces',serif;
  font-size:clamp(2.4rem,4.5vw,3.6rem);
  font-weight:700;line-height:1.08;
  color:var(--white);letter-spacing:-.03em;
  max-width:820px;
  position:relative;z-index:2;
}
.page-header h1 em{color:var(--accent);font-style:italic;font-weight:300}
.page-header p{
  font-size:1.1rem;color:rgba(255,255,255,.72);
  max-width:560px;margin-top:1.25rem;line-height:1.7;
  position:relative;z-index:2;
}

/* ── BLOG GRID ────────────────────────────────────── */
#blog-list{background:var(--cream);padding:70px 5% 110px}
.blog-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.5rem;max-width:1180px;margin:0 auto;
}
.blog-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:8px;padding:2rem;
  display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s;
  text-decoration:none;color:inherit;
}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.blog-card.featured{
  grid-column:1 / -1;
  background:var(--navy);border-color:var(--navy);
  flex-direction:row;align-items:center;gap:2.5rem;
  padding:2.5rem;
}
.blog-card.featured .blog-card-body{flex:1}
.blog-meta{
  display:flex;align-items:center;gap:.75rem;
  font-size:.75rem;color:var(--light);
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:.9rem;
}
.blog-card.featured .blog-meta{color:rgba(255,255,255,.55)}
.blog-lang-tag{
  background:rgba(30,39,97,0.08);color:var(--navy);
  padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:500;
  text-transform:none;letter-spacing:0;
}
.blog-card.featured .blog-lang-tag{background:rgba(255,255,255,.1);color:rgba(255,255,255,.85)}
.blog-source-tag{
  background:rgba(74,158,255,0.1);color:#2b6fc9;
  padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:500;
  text-transform:none;letter-spacing:0;
}
.blog-card h2,.blog-card h3{
  font-family:'Fraunces',serif;
  font-weight:600;color:var(--dark);
  line-height:1.25;margin-bottom:.75rem;
}
.blog-card h2{font-size:1.7rem}
.blog-card h3{font-size:1.15rem}
.blog-card.featured h2{color:var(--white)}
.blog-card p{font-size:.92rem;color:var(--mid);line-height:1.7}
.blog-card.featured p{color:rgba(255,255,255,.78)}
.blog-card-cta{
  margin-top:1.25rem;font-size:.85rem;font-weight:500;
  color:var(--accent);display:flex;align-items:center;gap:.4rem;
}
.blog-card.featured .blog-card-cta{color:#7EC8FF}
.blog-card-external{font-size:.72rem;color:var(--light);margin-top:.4rem}

/* ── ARTICLE PAGE ─────────────────────────────────── */
article#post{
  background:var(--white);
  padding:70px 5% 40px;
}
.post-wrap{max-width:720px;margin:0 auto}
.post-meta{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  font-size:.82rem;color:var(--light);
  margin-bottom:1.25rem;
}
.post-meta span{display:flex;align-items:center;gap:.4rem}
.post-title{
  font-family:'Fraunces',serif;
  font-size:clamp(2rem,4vw,2.9rem);
  font-weight:700;line-height:1.12;letter-spacing:-.02em;
  color:var(--dark);margin-bottom:1.5rem;
}
.post-lede{
  font-size:1.15rem;color:var(--mid);line-height:1.75;
  margin-bottom:2.5rem;padding-bottom:2.5rem;
  border-bottom:1px solid var(--border);
}
.post-body{font-size:1.05rem;line-height:1.85;color:var(--dark)}
.post-body h2{
  font-family:'Fraunces',serif;font-size:1.6rem;font-weight:600;
  margin:2.5rem 0 1rem;color:var(--navy);
}
.post-body p{margin-bottom:1.35rem}
.post-body strong{font-weight:600}
.post-signature{
  margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);
  font-size:.92rem;color:var(--mid);font-style:italic;
}
.post-cta{
  max-width:720px;margin:3.5rem auto 0;
  background:var(--cream2);border-radius:8px;
  padding:2rem 2.25rem;text-align:center;
}
.post-cta p{font-size:1rem;color:var(--mid);margin-bottom:1.1rem}
.btn-primary{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--accent);color:var(--white);
  padding:12px 26px;border-radius:6px;
  font-size:.92rem;font-weight:500;text-decoration:none;
  transition:all .25s;border:none;cursor:pointer;
}
.btn-primary:hover{background:#3a8ef0;transform:translateY(-1px)}
.post-back{
  max-width:720px;margin:2.5rem auto 0;
}
.post-back a{
  font-size:.88rem;color:var(--mid);text-decoration:none;
  display:inline-flex;align-items:center;gap:.4rem;
}
.post-back a:hover{color:var(--navy)}

/* ── FOOTER (identical to homepage) ──────────────── */
footer{
  background:rgba(0,0,0,.4);
  padding:1.5rem 5%;
  display:flex;align-items:center;justify-content:space-between;
  font-size:.82rem;color:rgba(255,255,255,.4);
  border-top:1px solid rgba(255,255,255,.05);
}
footer, footer + *{background:var(--dark)}
body > footer{margin-top:0}

/* ── MOBILE ───────────────────────────────────────── */
@media(max-width:900px){
  .nav-links{display:none}
  .blog-grid{grid-template-columns:1fr}
  .blog-card.featured{flex-direction:column;align-items:flex-start}
  footer{flex-direction:column;gap:.5rem;text-align:center}
}
