:root{
  --brand:#8f0e14;
  --brand-dark:#6f0b10;
  --brand-deep:#4d070b;
  --brand-soft:#f7eaeb;
}

/* V12: compact, consistent footer */
.universal-footer.site-footer,
.cia-footer{
  margin-top:52px!important;
  padding:44px 0 20px!important;
  background:#101011!important;
}
.cia-footer-wave{
  top:-46px!important;
  height:48px!important;
}
.cia-footer-wave .footer-wave-main{fill:#101011!important}
.universal-footer>.container,
.cia-footer>.cia-container{max-width:1210px!important}
.universal-footer .footer-grid{
  grid-template-columns:minmax(230px,1.2fr) minmax(125px,.62fr) minmax(125px,.62fr) minmax(235px,1fr)!important;
  gap:28px 42px!important;
}
.universal-footer .footer-logo{
  width:205px!important;
  margin:0 0 14px!important;
}
.universal-footer .footer-about{
  max-width:350px!important;
  font-size:12px!important;
  line-height:1.62!important;
}
.universal-footer .footer-title{
  margin:2px 0 12px!important;
  font-size:12px!important;
}
.universal-footer .footer-links{gap:7px!important}
.universal-footer .footer-links a,
.universal-footer .footer-contact a{
  font-size:11.5px!important;
  line-height:1.42!important;
}
.universal-footer .footer-contact{gap:9px!important}
.universal-footer .footer-contact svg{
  width:14px!important;
  height:14px!important;
  flex-basis:14px!important;
}
.universal-footer .icon-socials{
  gap:8px!important;
  margin-top:14px!important;
}
.universal-footer .icon-socials a{
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
}
.universal-footer .icon-socials svg{width:16px!important;height:16px!important}
.universal-footer .footer-disclaimer{
  margin:26px 0 0!important;
  padding:12px 0!important;
  font-size:9px!important;
  line-height:1.55!important;
}
.universal-footer .footer-bottom{
  padding-top:13px!important;
  font-size:10px!important;
}
.cia-footer-mobile-actions{display:none}

/* Repeated CTA image removed; keeps service pages visually varied and shorter. */
.consult-cta{padding-top:56px!important}
.consult-card{
  grid-template-columns:1fr!important;
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
}
.consult-card:after{
  content:"";
  position:absolute;
  right:-80px;
  top:-120px;
  width:300px;
  height:300px;
  border-radius:50%;
  border:54px solid rgba(143,14,20,.045);
  pointer-events:none;
}
.consult-copy{position:relative;z-index:1;max-width:820px;padding:38px 42px!important}
.consult-photo{display:none!important}

/* Homepage hero collage: three distinct immigration visuals. */
.cia-visual-small.two img{transform:none!important;object-position:50% 42%!important}
.cia-visual-small.one img{object-position:50% 45%!important}

/* Make the media/video section's key words and labels clearly branded. */
.cia-story-media-copy h2 span{color:var(--brand)!important}
.cia-media-overlay .cia-media-play{
  color:#fff!important;
  background:var(--brand)!important;
  box-shadow:0 14px 32px rgba(143,14,20,.28)!important;
}
.cia-media-placeholder.has-real-media .cia-media-tag{
  color:#fff!important;
  background:rgba(111,11,16,.92)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.cia-media-overlay small{color:rgba(255,255,255,.86)!important}

/* Newsletter popup is intentionally visible after two seconds until subscribed. */
.newsletter-popup{z-index:2200!important}
.newsletter-popup.show{display:grid!important}
.newsletter-modal{border-radius:24px!important}
.newsletter-copy .eyebrow{color:var(--brand)!important}
.newsletter-copy h2{letter-spacing:-.035em!important}
.newsletter-copy .blog-newsletter-form button{
  background:var(--brand)!important;
}

/* Unique service-page imagery feels consistent even with different source crops. */
.page-hero-media{background:#eee9e6!important}
.page-hero-media img{object-position:center!important}
body.page-work .page-hero-media img{object-position:50% 38%!important}
body.page-study .page-hero-media img{object-position:50% 45%!important}
body.page-visitor .page-hero-media img{object-position:50% 50%!important}
body.page-business .page-hero-media img{object-position:48% 42%!important}
body.page-lmia .page-hero-media img{object-position:50% 40%!important}
body.page-contact .page-hero-media img{object-position:55% 50%!important}

@media(max-width:980px){
  .universal-footer .footer-grid{
    grid-template-columns:1.15fr .85fr .85fr!important;
    gap:28px 34px!important;
  }
  .universal-footer .footer-grid>div:last-child{grid-column:1/-1!important}
}

@media(max-width:860px){
  .universal-footer.site-footer,.cia-footer{
    margin-top:54px!important;
    padding-top:40px!important;
    padding-bottom:112px!important;
  }
  .cia-footer-wave{top:-40px!important;height:42px!important}
}

@media(max-width:640px){
  .universal-footer.site-footer,.cia-footer{
    margin-top:44px!important;
    padding:28px 0 104px!important;
  }
  .cia-footer-wave{top:-31px!important;height:33px!important}
  .cia-footer-mobile-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:0 0 24px;
    padding-bottom:18px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .cia-footer-mobile-actions a{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    padding:7px 5px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    color:#fff;
    background:rgba(255,255,255,.025);
    font-size:10px;
    font-weight:700;
    text-decoration:none;
  }
  .cia-footer-mobile-actions svg{
    width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;
    color:#dc7076;
  }
  .universal-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px 22px!important;
  }
  .universal-footer .footer-brand-block,
  .universal-footer .footer-grid>div:last-child{grid-column:1/-1!important}
  .universal-footer .footer-logo{width:184px!important;margin-bottom:11px!important}
  .universal-footer .footer-about{font-size:11px!important;line-height:1.55!important}
  .universal-footer .footer-title{margin-bottom:9px!important;font-size:11px!important}
  .universal-footer .footer-links{gap:6px!important}
  .universal-footer .footer-links a,.universal-footer .footer-contact a{font-size:10.5px!important}
  .universal-footer .footer-disclaimer{margin-top:22px!important;padding:10px 0!important}
  .universal-footer .footer-bottom{gap:7px!important;padding-top:11px!important}
  .consult-copy{padding:30px 24px!important}
  .newsletter-modal{width:min(92vw,470px)!important}
}

/* Global newsletter modal, including homepage where blog.css is not loaded. */
.newsletter-popup{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(18,18,22,.52);
  opacity:0;
  visibility:hidden;
  transition:.22s ease;
}
.newsletter-popup.show{opacity:1!important;visibility:visible!important}
.newsletter-modal{
  position:relative;
  width:min(760px,100%);
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  overflow:hidden;
  background:#fff;
  box-shadow:0 30px 110px rgba(0,0,0,.26);
  transform:translateY(14px) scale(.985);
  transition:.22s ease;
}
.newsletter-popup.show .newsletter-modal{transform:translateY(0) scale(1)}
.newsletter-visual{position:relative;min-height:390px;background:#f5f1ef}
.newsletter-visual img{width:100%;height:100%;object-fit:cover;display:block}
.newsletter-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(20,10,12,.28))}
.newsletter-copy{display:flex;flex-direction:column;justify-content:center;padding:40px}
.newsletter-copy h2{margin:12px 0 0;font-family:Poppins,sans-serif;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;color:#171416}
.newsletter-copy>p{margin:13px 0 0;color:#70696c;line-height:1.65}
.blog-newsletter-form{display:grid;gap:10px;margin-top:18px}
.blog-newsletter-form input{width:100%;height:48px;padding:0 13px;border:1px solid #ded8d4;border-radius:12px;background:#fff;outline:none}
.blog-newsletter-form input:focus{border-color:rgba(143,14,20,.44);box-shadow:0 0 0 4px rgba(143,14,20,.07)}
.blog-newsletter-form button{min-height:46px;border:0;border-radius:12px;color:#fff;font-weight:800;cursor:pointer}
.blog-newsletter-form button:disabled{opacity:.62;cursor:wait}
.newsletter-status{min-height:18px;color:#70696c;font-size:.72rem;line-height:1.4}
.newsletter-status.success{color:#21704c}.newsletter-status.error{color:#a0161c}
.newsletter-close{position:absolute;right:15px;top:15px;z-index:3;width:40px;height:40px;border:1px solid #ded8d4;border-radius:50%;background:rgba(255,255,255,.94);font-size:1.4rem;cursor:pointer}
.newsletter-fineprint{margin-top:10px;color:#92939a;font-size:.68rem;line-height:1.5}
body.newsletter-open{overflow:hidden}
@media(max-width:720px){
  .newsletter-modal{grid-template-columns:1fr}
  .newsletter-visual{display:none}
  .newsletter-copy{padding:34px 24px 28px}
}

/* The app dock is mobile-only on every page. */
.cia-mobile-dock{display:none!important}
@media(max-width:860px){.cia-mobile-dock{display:grid!important}}

/* Real hero photography replaces the old placeholder treatment completely. */
.cia-visual-main,.cia-visual-small{
  border-style:solid!important;
  border-color:rgba(143,14,20,.13)!important;
}
.cia-visual-main:before,.cia-visual-small:before{display:none!important;content:none!important}
.cia-visual-main>img,.cia-visual-small>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Keep off-canvas navigation and horizontal carousels from creating page-level sideways scroll. */
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}

/* Mobile footer completion row: one compact premium strip, not oversized icon boxes. */
@media(max-width:640px){
  .cia-footer-mobile-actions{
    gap:0!important;
    padding:0!important;
    margin:0 0 22px!important;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.1)!important;
    border-radius:14px;
    background:rgba(255,255,255,.025);
  }
  .cia-footer-mobile-actions a{
    min-height:46px!important;
    border:0!important;
    border-right:1px solid rgba(255,255,255,.09)!important;
    border-radius:0!important;
    background:transparent!important;
    font-size:9.5px!important;
  }
  .cia-footer-mobile-actions a:last-child{border-right:0!important}
  .cia-footer-mobile-actions svg{width:14px!important;height:14px!important}
}

/* Keep the hero planning chip readable at every width. */
.cia-visual-chip span{display:grid;gap:2px;min-width:0}
.cia-visual-chip b{display:block;font-size:13px;line-height:1.2;white-space:nowrap}
.cia-visual-chip small{display:block;font-size:10px;line-height:1.35;color:#6f676a;white-space:normal}
@media(max-width:640px){
  .cia-visual-chip b{font-size:11px}
  .cia-visual-chip small{font-size:9px}
}
