:root{
  --blog-bg:#090909;
  --blog-surface:#111011;
  --blog-surface-2:#161216;
  --blog-line:#2c2229;
  --blog-text:#f4eff1;
  --blog-muted:#aaa2a7;
  --blog-pink:#efb6cf;
  --blog-pink-soft:#d99cb8;
}

body.blog-site{
  margin:0;
  background:var(--blog-bg);
  color:var(--blog-text);
}

.blog-site a{
  color:inherit;
}

.blog-nav{
  position:relative;
  border-bottom:1px solid var(--blog-line);
  background:rgba(9,9,9,.96);
}

.blog-nav__inner{
  width:min(1180px,calc(100% - 48px));
  min-height:88px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.blog-brand{
  display:flex;
  align-items:center;
  width:54px;
  height:54px;
  flex:none;
}

.blog-brand img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.blog-nav__right{
  display:flex;
  align-items:center;
  gap:34px;
}

.blog-nav__section{
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  color:#8f888d;
}

.blog-languages{
  display:flex;
  align-items:center;
  gap:18px;
}

.blog-lang{
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-decoration:none;
  color:#8f888d;
  transition:color .2s ease;
}

.blog-lang:hover,
.blog-lang.is-active{
  color:var(--blog-pink);
}

.blog-hero{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:100px 0 74px;
  border-bottom:1px solid var(--blog-line);
}

.blog-hero__eyebrow{
  margin-bottom:18px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--blog-pink-soft);
}

.blog-hero h1{
  max-width:950px;
  margin:0;
  font-size:clamp(54px,7vw,104px);
  line-height:.94;
  letter-spacing:-.055em;
  color:#fff;
}

.blog-hero p{
  max-width:720px;
  margin:28px 0 0;
  font-size:19px;
  line-height:1.65;
  color:#b8b1b5;
}

.blog-grid{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:54px 0 110px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.blog-card{
  overflow:hidden;
  border:1px solid var(--blog-line);
  border-radius:20px;
  background:var(--blog-surface);
  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease;
}

.blog-card:hover{
  transform:translateY(-4px);
  border-color:#4b3543;
  background:var(--blog-surface-2);
}

.blog-card.is-featured{
  grid-column:span 2;
  display:grid;
  grid-template-columns:1.35fr 1fr;
}

.blog-media{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 30%,#32212c 0,#171116 46%,#0d0b0d 100%);
}

.blog-card__media{
  aspect-ratio:16/10;
}

.blog-card.is-featured .blog-card__media{
  aspect-ratio:auto;
  min-height:100%;
}

.blog-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .5s ease;
}

.blog-card:hover .blog-media img,
.related-card:hover .blog-media img{
  transform:scale(1.035);
}

.blog-media--empty{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
}

.blog-media--empty span{
  font-size:28px;
  font-weight:900;
  letter-spacing:.18em;
  color:rgba(239,182,207,.45);
}

.blog-card__body{
  padding:24px 24px 28px;
}

.blog-card.is-featured .blog-card__body{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.blog-card__meta,
.post-meta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#bd91a6;
}

.blog-card h2{
  margin:15px 0 12px;
  font-size:clamp(23px,2vw,32px);
  line-height:1.05;
  letter-spacing:-.03em;
}

.blog-card:not(.is-featured) h2{
  font-size:24px;
}

.blog-card h2 a{
  color:#f2d6e1;
  text-decoration:none;
}

.blog-card h2 a:hover{
  color:#fff;
}

.blog-card p{
  margin:0;
  color:#bdb5b9;
  font-size:16px;
  line-height:1.7;
}

.read{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:22px;
  width:max-content;
  color:var(--blog-pink)!important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}

.read span{
  transition:transform .2s ease;
}

.read:hover span{
  transform:translateX(4px);
}

.blog-empty{
  color:#aaa2a7;
}

.blog-article-shell{
  width:min(920px,calc(100% - 48px));
  margin:0 auto;
  padding:42px 0 120px;
}

.article-topbar{
  margin-bottom:36px;
}

.article-topbar a{
  color:var(--blog-pink);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}

.article-breadcrumb{
  margin-bottom:24px;
  color:#837c81;
  font-size:13px;
  line-height:1.6;
}

.article-breadcrumb a{
  color:#bfa0ae;
  text-decoration:none;
}

.article-breadcrumb span{
  margin:0 6px;
  color:#655b61;
}

.article-header h1{
  margin:0;
  color:#fff;
  font-size:clamp(48px,7vw,92px);
  line-height:.96;
  letter-spacing:-.055em;
}

.article-header .post-meta{
  margin-top:26px;
}

.post-cover-wrap{
  margin:48px 0 62px;
  overflow:hidden;
  border-radius:22px;
  border:1px solid var(--blog-line);
  background:#101010;
}

.post-cover{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  object-fit:cover;
  object-position:center;
}

.post-content{
  color:#dad3d6;
  font-size:18px;
  line-height:1.85;
}

.post-content > *:first-child{
  margin-top:0;
}

.post-content h2{
  margin:72px 0 20px;
  color:#fff;
  font-size:clamp(31px,4vw,46px);
  line-height:1.05;
  letter-spacing:-.035em;
}

.post-content h3{
  margin:48px 0 16px;
  color:#fff;
  font-size:25px;
  line-height:1.15;
}

.post-content p{
  margin:0 0 24px;
}

.post-content ul,
.post-content ol{
  margin:0 0 30px;
  padding-left:28px;
}

.post-content li{
  margin:0 0 12px;
}

.post-content a{
  color:var(--blog-pink);
  text-decoration:underline;
  text-underline-offset:3px;
}

.post-content strong{
  color:#fff;
}

.post-content img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  margin:42px 0;
  border-radius:18px;
  border:1px solid var(--blog-line);
}

.post-content blockquote{
  margin:42px 0;
  padding:24px 28px;
  border-left:2px solid var(--blog-pink);
  background:#120f12;
  color:#e8dde2;
}

.related-section{
  margin-top:96px;
  padding-top:54px;
  border-top:1px solid var(--blog-line);
}

.related-heading span{
  display:block;
  margin-bottom:12px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--blog-pink-soft);
}

.related-heading h2{
  margin:0 0 30px;
  font-size:clamp(38px,5vw,62px);
  line-height:.96;
  letter-spacing:-.05em;
  color:#fff;
}

.related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.related-card{
  overflow:hidden;
  border:1px solid var(--blog-line);
  border-radius:18px;
  background:var(--blog-surface);
  transition:transform .25s ease,border-color .25s ease;
}

.related-card:hover{
  transform:translateY(-3px);
  border-color:#4b3543;
}

.related-card__media{
  aspect-ratio:16/10;
}

.related-card__body{
  padding:20px;
}

.related-card h3{
  margin:0;
  font-size:21px;
  line-height:1.08;
  letter-spacing:-.02em;
}

.related-card h3 a{
  color:#f0d6e1;
  text-decoration:none;
}

.related-card p{
  margin:12px 0 0;
  color:#a9a1a6;
  font-size:14px;
  line-height:1.6;
}

.related-card .read{
  margin-top:17px;
  font-size:11px;
}

.blog-footer{
  border-top:1px solid var(--blog-line);
}

.blog-footer__inner{
  width:min(1180px,calc(100% - 48px));
  min-height:90px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#777075;
  font-size:12px;
}

.blog-footer__inner nav{
  display:flex;
  align-items:center;
  gap:9px;
}

.blog-footer__inner a{
  color:#9f8c95;
  text-decoration:none;
}

.blog-footer__inner a:hover{
  color:var(--blog-pink);
}

@media (max-width: 980px){
  .blog-card.is-featured{
    grid-column:span 3;
  }

  .related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 760px){
  .blog-nav__inner,
  .blog-hero,
  .blog-grid,
  .blog-article-shell,
  .blog-footer__inner{
    width:min(100% - 32px,1180px);
  }

  .blog-nav__inner{
    min-height:72px;
  }

  .blog-nav__right{
    gap:18px;
  }

  .blog-nav__section{
    display:none;
  }

  .blog-hero{
    padding:72px 0 48px;
  }

  .blog-grid{
    grid-template-columns:1fr;
    padding:34px 0 80px;
  }

  .blog-card.is-featured{
    grid-column:auto;
    display:block;
  }

  .blog-card.is-featured .blog-card__media{
    aspect-ratio:16/10;
    min-height:0;
  }

  .blog-hero h1{
    font-size:clamp(48px,14vw,72px);
  }

  .article-header h1{
    font-size:clamp(44px,13vw,68px);
  }

  .post-content{
    font-size:17px;
  }

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

  .blog-footer__inner{
    padding:22px 0;
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Article content isolation */
.blog-site .blog-article-shell{
  box-sizing:border-box;
}

.blog-site .post-content{
  width:100%;
  max-width:820px;
  margin:0 auto;
}

.blog-site .post-content > section,
.blog-site .post-content > div{
  max-width:100%;
}

.blog-site .post-content img{
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.blog-site .post-content > img{
  margin-left:auto;
  margin-right:auto;
}

.blog-site .post-content table{
  display:block;
  width:100%;
  overflow-x:auto;
}

.blog-site .post-content iframe,
.blog-site .post-content video{
  display:block;
  width:100%;
  max-width:100%;
  margin:32px auto;
}

.blog-site .post-content h1{
  display:none;
}

/* =========================================================
   FINAL BLOG ISOLATION
   Prevent global site.css article/layout rules from leaking in.
   ========================================================= */

.blog-site main{
  width:100%;
  margin:0;
  padding:0;
}

.blog-site article.blog-card:not(.is-featured){
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  grid-column:auto;
}

.blog-site article.blog-card.is-featured{
  display:grid !important;
  width:auto !important;
  min-width:0 !important;
}

.blog-site .blog-card__body{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
}

.blog-site .blog-card__meta{
  display:flex !important;
  width:100% !important;
}

.blog-site .blog-card h2,
.blog-site .blog-card p,
.blog-site .blog-card .read{
  width:auto !important;
  max-width:none !important;
}

.blog-site article.blog-article-shell{
  display:block !important;
  box-sizing:border-box !important;
  width:min(1040px, calc(100% - 64px)) !important;
  max-width:1040px !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:48px 0 120px !important;
}

.blog-site .article-header{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

.blog-site .article-header h1{
  display:block !important;
  width:100% !important;
  max-width:980px !important;
  margin:0 !important;
}

.blog-site .article-header .post-meta{
  display:flex !important;
  width:100% !important;
  max-width:100% !important;
}

.blog-site .post-cover-wrap{
  display:block !important;
  width:100% !important;
  max-width:1040px !important;
  margin:42px auto 58px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.blog-site .post-cover{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
}

.blog-site .post-content{
  display:block !important;
  width:min(820px,100%) !important;
  max-width:820px !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
}

.blog-site .post-content > img,
.blog-site .post-content figure,
.blog-site .post-content picture{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.blog-site .post-content img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:760px !important;
  object-fit:contain !important;
  margin-top:42px !important;
  margin-bottom:42px !important;
}

.blog-site .post-content h2{
  display:block !important;
  width:100% !important;
  margin-top:68px !important;
}

.blog-site .post-content h3{
  display:block !important;
  width:100% !important;
}

.blog-site .post-content p,
.blog-site .post-content ul,
.blog-site .post-content ol{
  width:100% !important;
  max-width:100% !important;
}

.blog-site .related-section{
  display:block !important;
  width:100% !important;
  max-width:1040px !important;
  margin:96px auto 0 !important;
}

.blog-site .related-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
}

.blog-site article.related-card{
  display:block !important;
  min-width:0 !important;
}

.blog-site article.related-card .related-card__body{
  display:block !important;
}

@media(max-width:760px){
  .blog-site article.blog-article-shell{
    width:calc(100% - 32px) !important;
    padding-top:32px !important;
  }

  .blog-site .post-content{
    width:100% !important;
    max-width:100% !important;
  }

  .blog-site .post-cover-wrap{
    margin-top:30px !important;
  }

  .blog-site .related-grid{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   FINAL ARTICLE PRESENTATION NORMALIZATION
   Prevent pasted inline formatting from breaking Blog style.
   ========================================================= */

.blog-site .post-content [style] {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.blog-site .article-header .post-meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}

.blog-site .article-header .post-meta > span {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

/* Mobile grid-item width fix */
@media (max-width: 760px) {
  .blog-card {
    min-width: 0;
    max-width: 100%;
    width: 100%;
  }

  .blog-card__media,
  .blog-media {
    max-width: 100%;
  }
}

/* Mobile Blog UX: readable wrapping + touch targets */
@media (max-width: 760px) {
  .blog-site .blog-card__body {
    min-width: 0;
    max-width: 100%;
  }

  .blog-site .blog-card h2,
  .blog-site .blog-card h2 a,
  .blog-site .blog-card p {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .blog-site .blog-lang {
    min-width: 44px;
    min-height: 44px;
    padding: 12px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .blog-site .read {
    min-height: 44px;
    padding: 12px 4px;
    display: inline-flex;
    align-items: center;
  }
}


/* Mobile Blog Footer: accessible touch targets */
@media (max-width: 760px) {
  .blog-site .blog-footer__inner a {
    min-width: 44px;
    min-height: 44px;
    padding: 12px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

