/* Blog-specific layout — loaded after the main stylesheet */
.blog-main{
  padding-top:104px;
  background:radial-gradient(circle at 82% 0%,rgba(255,45,107,.07),transparent 26%),var(--bg);
}
.blog-main a,
.blog-main a:visited{
  color:var(--pink2);
  text-decoration-color:rgba(255,111,153,.45);
  text-underline-offset:3px;
}
.blog-main a:hover{color:var(--pink)}
.blog-main .btn,
.blog-main .btn:visited{color:#fff;text-decoration:none}
.blog-main .brand,
.blog-main .brand:visited,
.blog-main .blog-card a,
.blog-main .blog-card a:visited{color:inherit;text-decoration:none}

/* Landing page */
.blog-index-hero{padding:96px 0 76px;border-bottom:1px solid var(--line)}
.blog-index-grid{width:min(calc(100% - 48px),1120px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:64px;align-items:center}
.blog-index-hero h1{max-width:820px;margin:16px 0 24px}
.blog-index-hero .lead{max-width:720px;line-height:1.8}
.blog-index-panel{padding:34px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel),rgba(255,45,107,.035))}
.blog-library>.container{width:min(calc(100% - 48px),1120px);margin:0 auto}
.blog-library{padding:88px 0 110px}
.blog-library-head{margin-bottom:64px}
.blog-country{margin:0 0 72px}
.blog-country-head{padding-bottom:18px;margin-bottom:24px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.blog-card{min-width:0}
.blog-card a{display:flex;flex-direction:column;height:100%;padding:30px}
.blog-card p{line-height:1.75}

/* Article header */
.breadcrumbs{width:min(calc(100% - 48px),1040px);margin:0 auto;padding:28px 0 0;color:var(--dim);font-size:12px}
.breadcrumbs a,.breadcrumbs a:visited{color:var(--muted);text-decoration:none}
.blog-hero{padding:54px 0 48px;border-bottom:1px solid var(--line)}
.blog-hero-grid{width:min(calc(100% - 48px),1040px);margin:0 auto;display:block}
.blog-hero h1{max-width:920px;font-size:clamp(2.8rem,6vw,5.15rem);line-height:1.04;margin:14px 0 22px}
.blog-hero .lead{max-width:760px;line-height:1.8}
.blog-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px;color:var(--dim);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.blog-meta .dot{color:var(--pink)}

/* Article body */
.blog-article-wrap{
  width:min(calc(100% - 48px),1040px);
  margin:0 auto;
  padding:68px 0 104px;
  display:grid;
  grid-template-columns:minmax(0,700px) 270px;
  gap:70px;
  align-items:start;
}
.blog-article{min-width:0;max-width:700px;margin:0}
.blog-article .blog-intro{
  margin:0 0 44px;
  padding:0 0 0 22px;
  border-left:2px solid var(--pink);
  color:#eee7e9;
  font-size:20px;
  line-height:1.8;
}
.blog-article p{
  margin:0 0 28px;
  color:#c4babe;
  font-size:17px;
  line-height:1.9;
  max-width:68ch;
}
.blog-article h2{
  margin:68px 0 22px;
  padding-top:2px;
  color:#f7f2f3;
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.5vw,2.8rem);
  font-weight:400;
  line-height:1.16;
  letter-spacing:-.02em;
  scroll-margin-top:110px;
}
.blog-article h2:first-of-type{margin-top:48px}
.article-nav{
  margin:0 0 56px;
  padding:26px 28px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.018);
}
.article-nav span{grid-column:1/-1;margin-bottom:4px;color:var(--pink2);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.article-nav a,.article-nav a:visited{color:#ded4d7;text-decoration:none;font-size:14px}
.article-nav a:hover{color:var(--pink)}
.blog-list{list-style:none;margin:30px 0 42px;padding:0;display:grid;gap:14px}
.blog-list li{padding:20px 22px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:#c4babe;line-height:1.75}
.blog-list strong{color:#fff}
.blog-callout{margin:46px 0;padding:30px 32px;border-left:3px solid var(--pink);background:rgba(255,45,107,.065);display:grid;gap:9px}
.blog-callout strong{font-family:'Playfair Display',serif;font-size:25px;font-weight:400;line-height:1.3;color:#fff}
.blog-callout span{color:#b9adb1;line-height:1.7}
.blog-cta{margin:72px 0 0;padding:38px 40px;border:1px solid rgba(255,45,107,.28);background:linear-gradient(135deg,rgba(255,45,107,.1),rgba(255,255,255,.02))}
.blog-cta h2{margin:10px 0 18px}
.blog-cta p{margin-bottom:24px}
.blog-aside{position:sticky;top:106px}
.aside-card{padding:28px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel),rgba(255,45,107,.04))}
.aside-card h3{margin:0 0 14px;font-family:'Playfair Display',serif;font-size:27px;font-weight:400;line-height:1.2}
.aside-card p{margin-bottom:20px;color:var(--muted);font-size:13px;line-height:1.7}
.aside-card .btn{width:100%}
.aside-back,.aside-back:visited{display:block;margin-top:20px;color:var(--muted)!important;text-decoration:none!important;font-size:12px}
.aside-back:hover{color:var(--pink)!important}

/* Footer links on blog pages */
.footer .legal a,.footer .legal a:visited{color:var(--dim);text-decoration:none}
.footer .legal a:hover{color:var(--pink)}

@media(max-width:960px){
  .blog-index-grid{grid-template-columns:1fr;gap:38px}
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-article-wrap{grid-template-columns:1fr;gap:48px}
  .blog-article{max-width:740px;margin:0 auto;width:100%}
  .blog-aside{position:static;max-width:740px;margin:0 auto;width:100%}
}
@media(max-width:680px){
  .blog-main{padding-top:88px}
  .blog-index-grid,.blog-library>.container,.breadcrumbs,.blog-hero-grid,.blog-article-wrap{width:min(calc(100% - 30px),1040px)}
  .blog-index-hero{padding:62px 0 56px}
  .blog-library{padding:64px 0 80px}
  .blog-grid{grid-template-columns:1fr}
  .blog-country{margin-bottom:54px}
  .blog-hero{padding:40px 0 40px}
  .blog-hero h1{font-size:clamp(2.45rem,12vw,3.5rem)}
  .blog-article-wrap{padding:46px 0 76px}
  .blog-article .blog-intro{padding-left:16px;font-size:18px}
  .blog-article p{font-size:16px;line-height:1.85;margin-bottom:25px}
  .blog-article h2{margin-top:54px;font-size:2rem}
  .article-nav{grid-template-columns:1fr;padding:22px;margin-bottom:48px}
  .blog-cta{padding:28px 24px}
}


/* Fixed-header clearance: protects the blog landing title from clipping */
body:has(.blog-index-hero) .blog-main{padding-top:104px!important}
body:has(.blog-index-hero) .blog-index-hero{padding-top:72px}
@media(max-width:680px){
  body:has(.blog-index-hero) .blog-main{padding-top:88px!important}
  body:has(.blog-index-hero) .blog-index-hero{padding-top:54px}
}

/* Definitive blog landing layout — overrides legacy blog rules */
.blog-main .blog-index-hero{
  padding:86px 0 82px!important;
  overflow:visible!important;
}
.blog-main .blog-index-grid{
  width:min(1120px,calc(100% - 48px))!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.72fr)!important;
  gap:72px!important;
  align-items:center!important;
}
.blog-main .blog-index-grid>div:first-child{min-width:0!important;padding:0!important}
.blog-main .blog-index-hero .eyebrow{margin:0 0 18px!important}
.blog-main .blog-index-hero h1{
  max-width:800px!important;
  margin:0 0 26px!important;
  font-size:clamp(3rem,6.2vw,5.5rem)!important;
  line-height:1.04!important;
}
.blog-main .blog-index-hero .lead{
  max-width:690px!important;
  margin:0 0 26px!important;
  color:#bdb4b7!important;
  font-size:17px!important;
  line-height:1.85!important;
}
.blog-main .blog-index-hero .blog-meta{margin:0 0 30px!important;line-height:1.6!important}
.blog-main .blog-index-hero .actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:0!important}
.blog-main .blog-index-panel{
  width:100%!important;
  margin:0!important;
  padding:34px 36px!important;
  border:1px solid var(--line)!important;
}
.blog-main .blog-index-panel ul{margin:22px 0 0!important;padding:0!important;display:grid!important;gap:16px!important}
.blog-main .blog-index-panel li{line-height:1.6!important}

.blog-main .blog-library{
  padding:92px 0 112px!important;
}
.blog-main .blog-library>.container{
  width:min(1120px,calc(100% - 48px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
}
.blog-main .blog-library-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,430px)!important;
  gap:54px!important;
  align-items:end!important;
  margin:0 0 70px!important;
}
.blog-main .blog-library-head .section-copy{
  margin:0!important;
  max-width:430px!important;
  color:#a79da1!important;
  line-height:1.8!important;
}
.blog-main .blog-country{margin:0 0 82px!important}
.blog-main .blog-country:last-child{margin-bottom:0!important}
.blog-main .blog-country-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  margin:0 0 28px!important;
  padding:0 0 20px!important;
  border-bottom:1px solid var(--line)!important;
}
.blog-main .blog-country-head h2{margin:0!important}
.blog-main .blog-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}
.blog-main .blog-card{
  height:100%!important;
  border:1px solid var(--line)!important;
  background:rgba(255,255,255,.022)!important;
}
.blog-main .blog-card>a{
  display:flex!important;
  flex-direction:column!important;
  min-height:310px!important;
  height:100%!important;
  padding:30px!important;
  color:#f3edef!important;
  text-decoration:none!important;
}
.blog-main .blog-card h3{margin:18px 0 15px!important;color:#f8f2f4!important}
.blog-main .blog-card p{margin:0 0 28px!important;color:#a79da1!important;line-height:1.78!important}
.blog-main .blog-card .read{margin-top:auto!important;color:var(--pink2)!important;text-decoration:none!important}
.blog-main .blog-card a:visited{color:#f3edef!important}

/* Eliminate browser-default blue links everywhere on the blog landing page */
.blog-main .blog-index-hero a:not(.btn),
.blog-main .blog-library a,
.blog-main .blog-library a:visited{
  color:var(--pink2)!important;
  text-decoration-color:rgba(255,111,153,.45)!important;
}
.blog-main .blog-card a,
.blog-main .blog-card a:visited{color:#f3edef!important;text-decoration:none!important}

@media(max-width:960px){
  .blog-main .blog-index-grid{grid-template-columns:1fr!important;gap:40px!important}
  .blog-main .blog-index-panel{max-width:720px!important}
  .blog-main .blog-library-head{grid-template-columns:1fr!important;gap:22px!important}
  .blog-main .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .blog-main .blog-index-hero{padding:62px 0 58px!important}
  .blog-main .blog-index-grid,
  .blog-main .blog-library>.container{width:min(100% - 30px,1120px)!important}
  .blog-main .blog-index-hero h1{font-size:clamp(2.65rem,13vw,3.8rem)!important}
  .blog-main .blog-index-hero .lead{font-size:16px!important}
  .blog-main .blog-index-panel{padding:26px 24px!important}
  .blog-main .blog-library{padding:68px 0 82px!important}
  .blog-main .blog-library-head{margin-bottom:52px!important}
  .blog-main .blog-country-head{display:block!important}
  .blog-main .blog-country-head h2{margin-top:8px!important;font-size:26px!important}
  .blog-main .blog-grid{grid-template-columns:1fr!important}
  .blog-main .blog-card>a{min-height:0!important;padding:26px!important}
}
