/* ═══════════════════════════════════════════════════════════════
   AEX Digital — Shared Blog Post Stylesheet
   Linked by every /blog/*.html article and the blog template.
   Edit styles here once; every post updates. Pairs with /css/fonts.css.
   ═══════════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
:root{
  --bg:#ffffff;--surface:#f7f7f8;--card:#f2f2f4;--border:#e4e4e7;--border-dark:#d0d0d5;
  --black:#0d0d0f;--dark:#1a1a1d;--mid:#6b6b72;--light:#9999a2;
  --red:#fd5656;--red-soft:rgba(253,86,86,0.08);--red-border:rgba(253,86,86,0.25);
  --white:#ffffff;--r:14px;--r-lg:20px;
}
body{font-family:'Montserrat',sans-serif;background:var(--bg);color:var(--black);-webkit-font-smoothing:antialiased;width:100%;}
.page-wrap{overflow-x:clip;width:100%;}

/* NAV */
nav{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:62px;background:rgba(255,255,255,0.85);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);}
.logo{font-weight:800;font-size:1.1rem;letter-spacing:-0.03em;color:var(--black);text-decoration:none;}
.logo em{font-style:normal;color:var(--red)}
.nav-links{display:flex;gap:1.75rem;list-style:none}
.nav-links a{text-decoration:none;color:var(--mid);font-size:0.82rem;font-weight:600;transition:color .18s;}
.nav-links a:hover{color:var(--black)}
.nav-cta{background:var(--black);color:#fff;padding:0.52rem 1.2rem;border-radius:8px;font-weight:700;font-size:0.78rem;text-decoration:none;letter-spacing:0.04em;text-transform:uppercase;transition:background .18s;}
.nav-cta:hover{background:var(--red)}

/* ══════════════════════════════════════════════
   ARTICLE LAYOUT
   ══════════════════════════════════════════════ */

/* Breadcrumb */
.breadcrumb{max-width:960px;margin:0 auto;padding:1.5rem 5% 0;font-size:0.72rem;color:var(--light);font-weight:500;}
.breadcrumb a{color:var(--light);text-decoration:none;transition:color .18s;}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb span{margin:0 0.4rem;}

/* Article header */
.article-header{max-width:960px;margin:0 auto;padding:2rem 5% 2.5rem;}
.article-meta{display:flex;align-items:center;gap:8px;margin-bottom:1.25rem;flex-wrap:wrap;}
.article-cat{font-size:0.62rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.25rem 0.7rem;border-radius:100px;border:1px solid;}
.article-cat.cat-design{color:#fd5656;background:rgba(253,86,86,0.07);border-color:rgba(253,86,86,0.2);}
.article-cat.cat-seo   {color:#2175c2;background:rgba(33,117,194,0.07);border-color:rgba(33,117,194,0.2);}
.article-cat.cat-case  {color:#7c3aed;background:rgba(139,92,246,0.07);border-color:rgba(139,92,246,0.2);}
.article-cat.cat-guide {color:#16a34a;background:rgba(22,163,74,0.07);border-color:rgba(22,163,74,0.2);}
.meta-dot{width:3px;height:3px;border-radius:50%;background:var(--border-dark);}
.meta-date{font-size:0.72rem;color:var(--light);font-weight:500;}
.meta-read{font-size:0.72rem;color:var(--light);font-weight:500;}

.article-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;letter-spacing:-0.04em;line-height:1.1;color:var(--black);margin-bottom:1rem;}
.article-intro{font-size:1rem;color:var(--mid);line-height:1.85;font-weight:400;border-left:3px solid var(--red);padding-left:1.25rem;margin-bottom:0;}

/* Featured image */
.article-image{max-width:960px;margin:0 auto;padding:0 5% 2.5rem;}
.article-image img{width:100%;border-radius:var(--r-lg);display:block;border:1.5px solid var(--border-dark);}

/* If no image — coloured banner placeholder */
.article-image-placeholder{
  width:100%;aspect-ratio:21/9;border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;border:1.5px solid var(--border-dark);
}
.placeholder-design{background:linear-gradient(135deg,#0d0d0f,#2a0808);}
.placeholder-seo    {background:linear-gradient(135deg,#051020,#0a1e38);}
.placeholder-case   {background:linear-gradient(135deg,#0a0515,#1a0f28);}
.placeholder-guide  {background:linear-gradient(135deg,#05150a,#0f2818);}

/* ══════════════════════════════════════════════
   ARTICLE BODY — THE MAIN PROSE AREA
   ══════════════════════════════════════════════ */
.article-body{max-width:960px;margin:0 auto;padding:0 5% 3rem;}

/* Typography within the article */
.article-body h2{
  font-size:1.4rem;font-weight:800;letter-spacing:-0.03em;
  color:var(--black);margin:2.5rem 0 0.9rem;line-height:1.2;
}
.article-body h3{
  font-size:1.1rem;font-weight:700;letter-spacing:-0.02em;
  color:var(--black);margin:2rem 0 0.7rem;
}
.article-body p{
  font-size:0.92rem;color:var(--mid);line-height:1.9;margin-bottom:1.25rem;font-weight:400;
}
.article-body strong{color:var(--black);font-weight:700;}
.article-body a{color:var(--red);text-decoration:none;}
.article-body a:hover{text-decoration:underline;}

/* Unordered list */
.article-body ul{list-style:none;margin-bottom:1.5rem;}
.article-body ul li{
  font-size:0.92rem;color:var(--mid);line-height:1.85;
  padding:0.25rem 0 0.25rem 1.5rem;position:relative;
}
.article-body ul li::before{
  content:'';position:absolute;left:0;top:0.7rem;
  width:7px;height:7px;border-radius:50%;background:var(--red);
}

/* Ordered list */
.article-body ol{list-style:none;counter-reset:article-ol;margin-bottom:1.5rem;}
.article-body ol li{
  font-size:0.92rem;color:var(--mid);line-height:1.85;
  padding:0.25rem 0 0.25rem 2rem;position:relative;counter-increment:article-ol;
}
.article-body ol li::before{
  content:counter(article-ol);position:absolute;left:0;top:0.2rem;
  width:20px;height:20px;border-radius:5px;
  background:var(--red-soft);border:1px solid var(--red-border);
  color:var(--red);font-size:0.65rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;
}

/* Callout / tip box */
.callout{
  background:var(--red-soft);border:1.5px solid var(--red-border);
  border-left:4px solid var(--red);border-radius:var(--r);
  padding:1.25rem 1.5rem;margin:2rem 0;
}
.callout-label{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);margin-bottom:0.4rem;}
.callout p{font-size:0.88rem;color:var(--black);margin-bottom:0;line-height:1.7;}

/* Inline CTA box — black panel with red button, dropped mid-article */
.inline-cta{background:var(--black);border-radius:var(--r-lg);padding:1.75rem 2rem;margin:2.5rem 0;text-align:center;}
.inline-cta p{font-size:0.95rem;color:#fff;font-weight:700;line-height:1.5;margin-bottom:1rem;}
.inline-cta a{display:inline-block;background:var(--red);color:#fff;padding:0.8rem 1.8rem;border-radius:9px;font-weight:700;font-size:0.85rem;text-decoration:none;letter-spacing:0.02em;transition:opacity .18s,transform .15s;}
.inline-cta a:hover{opacity:.88;transform:translateY(-1px);text-decoration:none;}

/* Divider */
.article-divider{border:none;border-top:1px solid var(--border);margin:2.5rem 0;}

/* ── Author / share bar ── */
.article-footer-bar{
  max-width:960px;margin:0 auto;padding:0 5% 4rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
  border-top:1px solid var(--border);padding-top:2rem;
}
.author-block{display:flex;align-items:center;gap:12px;}
.author-avatar{width:42px;height:42px;border-radius:50%;background:var(--card);border:2px solid var(--border-dark);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.author-name{font-size:0.82rem;font-weight:700;color:var(--black);}
.author-role{font-size:0.7rem;color:var(--light);margin-top:1px;}
.share-links{display:flex;align-items:center;gap:8px;}
.share-label{font-size:0.7rem;font-weight:600;color:var(--light);letter-spacing:0.05em;text-transform:uppercase;}
.share-btn{width:32px;height:32px;border-radius:8px;background:var(--surface);border:1px solid var(--border-dark);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:0.8rem;transition:border-color .18s,background .18s;}
.share-btn:hover{background:var(--red-soft);border-color:var(--red-border);}

/* RELATED POSTS */
.related-section{background:var(--surface);border-top:1px solid var(--border);padding:60px 5%;}
.related-inner{max-width:960px;margin:0 auto;}
.related-label{font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:0.5rem;display:block;}
.related-h2{font-size:1.5rem;font-weight:800;letter-spacing:-0.03em;color:var(--black);margin-bottom:2rem;}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.related-card{background:var(--white);border:1.5px solid var(--border-dark);border-radius:var(--r);padding:1.25rem;text-decoration:none;display:block;transition:border-color .18s,transform .2s;}
.related-card:hover{border-color:var(--red);transform:translateY(-3px);}
.related-card-cat{font-size:0.6rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);margin-bottom:0.5rem;}
.related-card-title{font-size:0.88rem;font-weight:700;color:var(--black);line-height:1.35;letter-spacing:-0.01em;}
.related-card-read{font-size:0.72rem;color:var(--light);margin-top:0.5rem;}

/* CTA BAND */
.cta-band{background:var(--black);padding:80px 5%;text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:'';position:absolute;top:-150px;left:50%;transform:translateX(-50%);width:700px;height:400px;background:radial-gradient(ellipse,rgba(253,86,86,0.18) 0%,transparent 65%);pointer-events:none;}
.cta-band h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;letter-spacing:-0.045em;color:#fff;line-height:1.05;margin-bottom:1rem;position:relative;z-index:1;}
.cta-band h2 em{font-style:italic;font-weight:300;color:rgba(255,255,255,0.45);}
.cta-band p{font-size:0.9rem;color:rgba(255,255,255,0.45);max-width:480px;margin:0 auto 2.25rem;line-height:1.8;position:relative;z-index:1;}
.btn-cta-red{background:var(--red);color:#fff;padding:0.95rem 2.25rem;border-radius:10px;text-decoration:none;font-weight:700;font-size:0.88rem;letter-spacing:0.03em;text-transform:uppercase;transition:opacity .18s,transform .15s;display:inline-block;position:relative;z-index:1;box-shadow:0 0 30px rgba(253,86,86,0.35);}
.btn-cta-red:hover{opacity:.88;transform:translateY(-2px)}
.cta-sub{font-size:0.75rem;color:rgba(255,255,255,0.25);margin-top:1rem;position:relative;z-index:1;}.cta-sub a{color:rgba(255,255,255,0.45);text-decoration:none;}.cta-sub a:hover{text-decoration:underline;}

/* FOOTER */
footer{background:var(--dark);padding:3.5rem 5% 2rem;}
.foot-inner{max-width:1160px;margin:0 auto;}
.foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,0.07);margin-bottom:1.75rem;}
.foot-logo{font-weight:800;font-size:1.05rem;letter-spacing:-0.03em;color:#fff;text-decoration:none;margin-bottom:0.75rem;display:block;}
.foot-logo em{font-style:normal;color:var(--red)}
.foot-desc{font-size:0.78rem;color:rgba(255,255,255,0.32);line-height:1.8;}
.foot-col h4{font-size:0.64rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:1rem;}
.foot-col a{display:block;font-size:0.78rem;color:rgba(255,255,255,0.38);text-decoration:none;margin-bottom:0.45rem;font-weight:500;transition:color .18s;}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;font-size:0.7rem;color:rgba(255,255,255,0.18);flex-wrap:wrap;gap:0.5rem;font-weight:500;}

/* RESPONSIVE */
@media(max-width:960px){
  .related-grid{grid-template-columns:1fr;}
  .nav-links{display:none}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .article-footer-bar{flex-direction:column;align-items:flex-start;}
  .foot-top{grid-template-columns:1fr}
}
