/* V15 finishing pass: reliable blog modal, social links, journey card and subtle world map. */
:root{
  --brand:#8f0e14;
  --brand-dark:#6f0b10;
  --brand-deep:#4d070b;
}

/* Homepage hero: the supplied dotted world map sits behind the content at low visual priority. */
.cia-hero{isolation:isolate;overflow:hidden}
.cia-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:50%;
  right:clamp(-170px,-6vw,-45px);
  width:min(830px,62vw);
  aspect-ratio:1.78/1;
  transform:translateY(-50%);
  background:url('../images/world-map-dots-red.png') center/contain no-repeat;
  opacity:.22;
  pointer-events:none;
  mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 80%,transparent 100%);
}
.cia-hero>.cia-container{position:relative;z-index:1}
@media(max-width:900px){
  .cia-hero::after{right:-250px;width:850px;opacity:.14;top:47%}
}
@media(max-width:600px){
  .cia-hero::after{right:-310px;width:790px;opacity:.11;top:41%}
}

/* Journey overview: image plus one clear dark label, without a play/blue-dot treatment. */
.cia-media-overlay-simple{
  left:22px!important;
  right:auto!important;
  bottom:22px!important;
  width:auto!important;
  max-width:calc(100% - 44px);
  display:block!important;
  padding:14px 18px!important;
  border:1px solid rgba(255,255,255,.14);
  border-radius:15px;
  background:rgba(19,16,18,.86);
  box-shadow:0 15px 35px rgba(0,0,0,.22);
  backdrop-filter:blur(10px);
}
.cia-media-overlay-simple b{
  margin:0!important;
  color:#fff!important;
  font-family:Poppins,sans-serif!important;
  font-size:16px!important;
  line-height:1.35!important;
  letter-spacing:-.01em;
}
.cia-media-placeholder.has-real-media .cia-media-tag,
.cia-media-overlay-simple .cia-media-play,
.cia-media-overlay-simple small{display:none!important}
@media(max-width:600px){
  .cia-media-overlay-simple{left:15px!important;bottom:15px!important;max-width:calc(100% - 30px);padding:11px 14px!important;border-radius:12px}
  .cia-media-overlay-simple b{font-size:13px!important}
}

/* Blog sidebar social cards: icon, copy and CTA are consistently aligned. */
.blog-sidebar-social{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:11px!important;
  margin-top:4px;
}
.blog-sidebar-social .blog-social-link{
  min-width:0;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:12px!important;
  padding:13px!important;
  border:1px solid #e5dedb!important;
  border-radius:15px!important;
  background:#fff!important;
  color:#292326!important;
  text-align:left!important;
  box-shadow:0 8px 22px rgba(42,25,29,.045);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.blog-sidebar-social .blog-social-link:hover{
  transform:translateY(-2px);
  border-color:rgba(143,14,20,.26)!important;
  box-shadow:0 13px 30px rgba(81,16,22,.09);
}
.blog-social-icon{
  width:42px;height:42px;display:grid;place-items:center;border-radius:12px;
  color:#fff;background:linear-gradient(145deg,var(--brand),var(--brand-dark));
  box-shadow:0 8px 18px rgba(111,11,16,.18);
}
.blog-social-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.blog-social-copy{min-width:0;display:block}
.blog-social-copy b,.blog-social-copy small{display:block}
.blog-social-copy b{font-family:Poppins,sans-serif;font-size:12.5px;line-height:1.35;color:#262124}
.blog-social-copy small{margin-top:3px;color:#7a7275;font-size:10.5px;line-height:1.45}
.blog-social-arrow{color:var(--brand);font-size:15px;font-weight:800;text-align:right}
.blog-sidebar-contact{margin-top:14px!important;padding-top:14px;border-top:1px solid #ece6e3;gap:9px!important}
.blog-sidebar-contact a{line-height:1.45!important;overflow-wrap:anywhere}

/* The modal always appears two seconds after blog entry; keep it centered on every viewport. */
body.blog-page .newsletter-popup{
  position:fixed!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  z-index:5000!important;
}
body.blog-page .newsletter-modal{
  width:min(780px,calc(100vw - 40px))!important;
  max-height:calc(100svh - 40px);
  overflow:auto!important;
  border-radius:27px!important;
}
body.blog-page .newsletter-copy{padding:40px!important}
@media(max-width:720px){
  body.blog-page .newsletter-popup{padding:16px!important}
  body.blog-page .newsletter-modal{width:min(440px,calc(100vw - 32px))!important;max-height:calc(100svh - 32px);border-radius:22px!important}
  body.blog-page .newsletter-copy{padding:34px 23px 26px!important}
  body.blog-page .newsletter-copy h2{font-size:clamp(1.65rem,8.5vw,2.15rem)!important;line-height:1.12!important}
  body.blog-page .newsletter-copy>p{font-size:13px!important;line-height:1.6!important}
}

/* General rhythm polish for the blog sidebar and widgets. */
.blog-sidebar{align-content:start}
.blog-widget{padding:22px!important}
.blog-widget h2{margin:0 0 14px!important;line-height:1.25!important}
.blog-widget p{line-height:1.65!important}
@media(max-width:900px){
  .blog-sidebar{gap:16px!important}
}
@media(max-width:640px){
  .blog-sidebar{grid-template-columns:1fr!important}
  .blog-widget{padding:19px!important}
}
