/* Z Immigration refinement layer: loaded last on every page. Selectors are prefixed with "html body" so they reliably beat the legacy per-breakpoint !important overrides. */
/* Z Immigration — refinement layer. Loaded last on every page.
   Replaces the stack of conflicting per-breakpoint overrides with one fluid, mobile-first set of rules. */
:root{--zi-pad:clamp(20px,5.2vw,96px);--zi-sec:clamp(56px,7vw,96px);--zi-cr:#8B0000}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}
html body img,html body video,html body iframe{max-width:100%}
html body a,html body button,html body [role=button],html body input,html body select,html body textarea,html body label{touch-action:manipulation}
html body :focus-visible{outline:2px solid var(--ring,#8B0000);outline-offset:3px}
html body .hero,html body .disc,html body #testimonials,html body footer,html body .ann{--ring:#fff}

/* Decorative template furniture removed: ghost section numbers, glow orbs, dead social rail, scroll cue */
html body .sec-num,html body .hero-orb,html body .hero-rail,html body .hero-ind,html body .hero-scroll{display:none!important}

/* ---------- Content must never depend on JS to be visible ---------- */
html body .rv,html body .rv.fl,html body .rv.fr{opacity:1}
html.gsap-ok .rv,html.gsap-ok .rv.fl,html.gsap-ok .rv.fr{opacity:0}

/* ---------- Hero ---------- */
html body .hero{min-height:100vh;min-height:100svh}
html body .hero-inner{padding:clamp(112px,17svh,168px) var(--zi-pad) clamp(112px,15svh,136px)!important}
html body .hero-h1{font-size:clamp(2.1rem,6.2vw,4.75rem)!important;line-height:1.02!important;letter-spacing:-.012em!important;word-spacing:normal!important;hyphens:none;overflow-wrap:normal;word-break:normal}
html body .hero-h1 .w{display:inline-block;white-space:nowrap}
html body .hero-sub{font-size:clamp(.95rem,1.6vw,1.1rem)!important;line-height:1.55!important;max-width:36ch}
html body .hero-btns{display:flex;flex-wrap:wrap;gap:12px}
html body .btn-hp,html body .btn-hg{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
html body .hero-trust{margin:28px 0 0;font:700 11px/1.7 'Lato',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.82)}
html body .hero-trust span{display:inline-block;margin-right:14px}
html body .hero-trust span+span::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:#C9962A;margin:0 14px 2px 0;vertical-align:middle}

/* Hero legibility on bright photography */
html body .hero-h1{text-shadow:0 2px 28px rgba(0,0,0,.35)}
@media(max-width:767px){
html body .hero-ov2{background:linear-gradient(180deg,rgba(18,3,3,.66) 0%,rgba(28,5,5,.52) 42%,rgba(18,3,3,.84) 100%)!important}}


/* ---------- Sections & type: one fluid scale ---------- */
html body .s,html body #why-us.s,html body section.s,html body #about,html body #why-us,html body #process,html body #services,html body #testimonials,html body #fees,html body #faq,html body #contact{padding-block:var(--zi-sec)!important;padding-inline:var(--zi-pad)!important}
html body #services{padding-inline-end:0!important}
html body .h2{font-size:clamp(1.75rem,2.9vw,2.6rem)!important;line-height:1.08!important;text-wrap:balance}
html body h1:not(.hero-h1){text-wrap:balance}
html body p,html body li{text-wrap:pretty}
html body .disc-content p{color:rgba(255,255,255,.8)!important}

/* ---------- Why us: editorial layout instead of a card grid ---------- */
html body .wy-grid{display:grid;gap:clamp(36px,6vw,96px);grid-template-columns:minmax(0,1fr)}
html body .wy-head .h2{margin-bottom:28px}
html body .wy-cred{border-top:2px solid var(--zi-cr);padding-top:22px;max-width:38ch}
html body .wy-cred-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
html body .wy-cred-k{font:700 11px 'Lato',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--zi-cr)}
html body .wy-cred-v{font:600 1.5rem/1 'Cormorant Garamond',serif;font-variant-numeric:lining-nums tabular-nums}
html body .wy-cred p{margin:12px 0 18px;font-size:.95rem;line-height:1.7;color:#4b4340}
html body .wy-link{font:700 12px 'Lato',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--zi-cr);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;display:inline-block;min-height:24px}
html body .wy-list{list-style:none;margin:0;padding:0;counter-reset:wy}
html body .wy-list li{counter-increment:wy;display:grid;grid-template-columns:2.6rem minmax(0,1fr);column-gap:8px;padding:26px 0;border-top:1px solid rgba(0,0,0,.12)}
html body .wy-list li:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
html body .wy-list li::before{content:counter(wy,decimal-leading-zero);font:700 11px/1.9 'Lato',sans-serif;letter-spacing:.14em;color:var(--zi-cr)}
html body .wy-list h3{margin:0 0 6px;font:600 clamp(1.2rem,1.7vw,1.4rem)/1.2 'Cormorant Garamond',serif;color:#1a1210}
html body .wy-list p{margin:0;font-size:1rem;line-height:1.7;color:#4b4340;max-width:58ch}
html body .wy-list a{color:var(--zi-cr);font-weight:700;text-underline-offset:3px}
@media(min-width:900px){
html body .wy-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
html body .wy-head{position:sticky;top:112px}
}


/* ---------- Motion: quiet by default ---------- */
html body .wu-card:hover,html body .svc-slide:hover{transform:none}
@media(prefers-reduced-motion:reduce){
html body *,html body *::before,html body *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
html body .ann-track{animation:none!important}
}


/* ---------- Floating WhatsApp ---------- */
html body #wa-widget{bottom:calc(clamp(12px,4vw,20px) + env(safe-area-inset-bottom))}

/* ---------- Phones & small tablets ---------- */
@media(max-width:767px){
html body body{font-size:16px}
html body p:not(#zc p),html body li:not(#zc li){font-size:max(15px,1em);line-height:1.65}
html body input,html body select,html body textarea{font-size:16px!important}
html body .hero-btns{flex-direction:column;align-items:stretch;width:100%;max-width:340px}
html body .hero-trust{font-size:10px;letter-spacing:.14em;margin-top:22px}
html body .hero-trust span{display:inline-block;margin-right:10px}
html body .hero-trust span+span::before{margin-right:10px}
html body .mob-btn{width:48px;height:48px}
html body .svc-drop-link,html body #mobOverlay a,html body .mob-svc-toggle{min-height:48px}
html body .proc-grid{grid-template-columns:1fr!important}
html body .cred-strip{padding-inline:var(--zi-pad)!important}
html body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:380px){
html body .hero-h1{font-size:clamp(2.2rem,11vw,2.6rem)!important}
html body .btn-hp,html body .btn-hg{padding-inline:20px}
}


/* =====================================================================
   PREMIUM LAYER: one restrained system across every page.
   Principles: one corner radius, one shadow scale, hairlines over boxes,
   deep wine + warm ivory + sparing brass, generous and consistent rhythm.
   ===================================================================== */
:root{
  --p-ink:#1b1311;--p-text:#4a403b;--p-muted:#7b706a;
  --p-line:rgba(27,19,17,.13);--p-brass:#B8893A;
  --p-radius:4px;
  --p-sh1:0 1px 2px rgba(27,19,17,.06),0 6px 18px rgba(27,19,17,.05);
  --p-sh2:0 2px 4px rgba(27,19,17,.06),0 20px 44px rgba(27,19,17,.10);
}
html body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:'kern','liga'}
html body ::selection{background:rgba(139,0,0,.16)}
html body a{text-underline-offset:3px;text-decoration-thickness:1px}

/* One corner radius for every card-like surface (chat widget keeps its own) */
html body .ast,html body .cf,html body .cta-banner,html body .elig-banner,html body .f-b,html body .fees-wrap,
html body .ft-rcic,html body .hours-box,html body .map-card,html body .mission,html body .profile-card,
html body .proc-step,html body .stats-row,html body .team-rcic,html body .av-img,html body .av-badge,
html body .cal-placeholder,html body .disc-cal-card,html body .pc-photo-inner,html body .sd-hero-img,
html body .svc-grid,html body .tier,html body .article-readtime,html body .ci-ico,html body .cal-icon,html body .cal-badge{
  border-radius:var(--p-radius)!important}
html body .hero-pill,html body .wu-rcic-badge{border-radius:2px!important}
html body .tier,html body .profile-card,html body .team-rcic,html body .cf,html body .mission,html body .svc-grid{
  box-shadow:var(--p-sh1)!important}
html body .tier:hover,html body .profile-card:hover{box-shadow:var(--p-sh2)!important;transform:none!important}

/* Inner-page hero banners: calm wine field, no stripes, brass hairline */
html body .page-hero{
  padding:clamp(112px,13vw,168px) var(--zi-pad) clamp(72px,8vw,104px)!important;
  background:radial-gradient(120% 140% at 15% 0%,#6a0000 0%,#470000 48%,#2b0000 100%)!important;
  border-bottom:1px solid rgba(184,137,58,.55)}
html body .page-hero::before,html body .page-hero::after{display:none!important}
html body .page-hero h1{font-weight:500!important;letter-spacing:-.012em!important;line-height:1.04!important;font-size:clamp(2.1rem,4.4vw,3.6rem)!important;text-wrap:balance}
html body .page-hero p{color:rgba(255,255,255,.78)!important;max-width:58ch;margin-inline:auto;font-size:clamp(.95rem,1.3vw,1.05rem)!important;line-height:1.7!important}
html body .page-hero .eye{color:rgba(255,255,255,.72)!important}

/* Buttons: one language, restrained */
html body .btn-hp,html body .btn-hg,html body .btn-nav,html body .btn-cta,html body .btn-elig,html body .btn-sub,html body .proc-cta{
  border-radius:2px!important;letter-spacing:.16em!important;font-weight:700!important;
  transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease!important}
html body .btn-hp,html body .btn-nav,html body .btn-cta,html body .btn-sub,html body .proc-cta{box-shadow:0 1px 2px rgba(27,19,17,.18)!important}
html body .btn-hp:hover,html body .btn-nav:hover,html body .btn-cta:hover,html body .btn-sub:hover,html body .proc-cta:hover{box-shadow:0 8px 22px rgba(139,0,0,.28)!important}

/* Section dividers and headings */
html body .rule{margin-block:0}
html body .eye{letter-spacing:.26em!important;font-weight:800!important}
html body .h2 em,html body h2 em,html body h1 em{font-weight:500}

/* Pricing cards: fix price/duration collision, calmer scale */
html body .tier-price{font-size:clamp(3rem,4.4vw,3.6rem)!important;line-height:1.08!important;margin-bottom:14px!important;font-variant-numeric:lining-nums tabular-nums}
html body .tier-price span{vertical-align:baseline!important}
html body .tier-duration{margin-top:2px;margin-bottom:22px!important;display:block}
html body .tier h3{font-weight:600!important}

/* Services overview: category grids fill their row (no empty third column) */
html body .svc-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))!important}
html body .svc-card{background:#fff}
html body .svc-card:hover{background:#fffdf9!important}

/* Body copy rhythm on long-form pages */
html body .ab,html body .sd-body p,html body .article-content p{max-width:68ch}
html body table{border-collapse:collapse}
html body hr{border:0;border-top:1px solid var(--p-line)}

/* Footer: quieter, better spaced */
html body #site-footer a,html body footer a{transition:color .2s ease}
html body #site-footer .ft-col h4,html body footer h4{letter-spacing:.2em;font-size:11px}

/* Reduce animation fatigue sitewide */
html body .svc-slide,html body .tier,html body .wu-card,html body .profile-card{transition:box-shadow .3s ease,background-color .3s ease!important}
@media(max-width:767px){
  html body .page-hero{padding:104px var(--zi-pad) 64px!important}
  html body .tier-price{font-size:3.6rem!important}
}
html body p:not(#zc p),html body .ab{line-height:1.75!important}
html body .tier h3{line-height:1.15!important;margin-bottom:12px!important}
html body .tier p{line-height:1.75!important}

/* About: a single consultant is presented as a profile, not a lone card in a three-column grid */
html body .team-grid{grid-template-columns:minmax(0,1fr)!important;max-width:1080px;margin-top:48px!important}
html body .team-card{box-shadow:var(--p-sh1)!important;border:1px solid var(--p-line)!important}
html body .team-card:hover{transform:none!important;box-shadow:var(--p-sh2)!important}
html body .team-photo{background:linear-gradient(165deg,#fbf6ea 0%,#eadfc8 100%)!important;border-bottom:0!important;min-height:300px}
html body .team-photo::after{display:none!important}
html body .team-photo-placeholder{font-family:'Cormorant Garamond',serif!important;font-size:clamp(4.5rem,9vw,6.5rem)!important;font-weight:500!important;letter-spacing:.06em;color:var(--p-brass)!important;opacity:.9!important}
html body .team-body{padding:clamp(28px,4.4vw,56px)!important}
html body .team-cred{background:var(--p-ink)!important;border-radius:2px!important;letter-spacing:.16em!important}
html body .team-bio{font-size:1rem!important;line-height:1.8!important;color:var(--p-text)!important}
@media(min-width:860px){
  html body .team-card{display:grid!important;grid-template-columns:minmax(240px,320px) minmax(0,1fr)}
  html body .team-photo{height:auto!important;min-height:100%!important;border-right:1px solid var(--p-line)}
}

/* Remove remaining glow / blob decoration */
html body .mission::before,html body .mission::after,html body .final-cta::before,html body .final-cta::after,html body .cta-banner::before,html body .cta-banner::after{display:none!important}
html body .hero-3d,html body .hero-ring{display:none!important}

/* Pricing: featured badge sits inside the card in brass (was clipped and neon yellow) */
html body .tier--featured,html body .tier--featured:hover{transform:none!important}
html body .tier--featured::after{top:0!important;background:var(--p-brass)!important;color:#1b1311!important;border-radius:0 0 3px 3px!important;font-size:10px!important;letter-spacing:.22em!important;padding:6px 16px!important;box-shadow:none!important}

/* Service cards: key facts wrap cleanly instead of squeezing three columns */
html body .svc-card-meta{flex-wrap:wrap;gap:14px 28px}
html body .svc-meta-item{flex:1 1 38%;min-width:0}
html body .svc-meta-label{white-space:normal}

/* Chat widget: compact header so the conversation and the service options get the room */
html body #zc-head{padding:14px 18px 14px!important;position:relative}
html body #zc-head-top{position:absolute;top:10px;right:12px;margin:0!important;z-index:2}
html body #zc-avatars{display:none!important}
html body #zc-headline{font-size:20px!important;margin:0!important;padding-right:44px;line-height:1.15}
html body #zc-sub{font-size:11.5px!important;margin-top:3px!important}
html body .zc-opts{margin-top:10px}
html body .zc-opts{gap:5px}
html body .zc-opt{padding:6px 11px;font-size:11.5px}

/* Chat widget: larger, easier to read and to tap */
html body #zc-panel{width:min(400px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 96px)!important;max-height:calc(100dvh - 96px)!important}
html body #zc-msgs{max-height:none!important;height:min(400px,calc(100vh - 290px))!important;height:min(400px,calc(100dvh - 290px))!important;min-height:220px;padding:18px 18px 8px!important;gap:12px!important}
html body .zc-bubble{font-size:14px!important;line-height:1.6!important;max-width:88%!important;padding:12px 15px!important}
html body .zc-row{gap:10px}
html body #zc-inp{font-size:15px!important;padding:12px 16px!important;min-height:44px}
html body #zc-send{width:44px!important;height:44px!important}
html body #zc-foot{padding:12px 14px 14px!important;gap:10px!important}
html body #zc-x{width:36px!important;height:36px!important}
html body .zc-opts{gap:7px;margin-top:12px}
html body .zc-opt{padding:8px 13px;font-size:12.5px;min-height:36px}
html body .zc-cta{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:13px}
html body #zc-disclaimer{font-size:11.5px!important}
@media(max-width:700px){
  html body #zc-panel{width:calc(100vw - 20px)!important;max-width:none!important}
  html body #zc-msgs{height:clamp(240px,calc(100vh - 300px),520px)!important;height:clamp(240px,calc(100dvh - 300px),520px)!important}
  html body .zc-bubble{font-size:15px!important;max-width:90%!important}
}

/* Sticky navigation: body/html overflow:hidden made the bar scroll away on inner pages */
html,html body{overflow-x:clip!important}
html body[data-chrome="injected"] .nav{position:sticky;top:0}

/* Phones: the teaser popup covered page content; the chat button is always available */
@media(max-width:700px){
  html body #zc-popup{display:none!important}
  html body .hero-trust{font-size:9.5px!important;letter-spacing:.12em!important;line-height:1.9!important;margin-top:20px!important}
  html body .hero-trust span{margin-right:8px!important}
  html body .hero-inner{padding-bottom:128px!important}
}

html body .char{will-change:auto!important}
html body .hero-h1{text-shadow:0 2px 18px rgba(0,0,0,.4)!important;-webkit-font-smoothing:antialiased}
html body .hero-h1 .w,html body .hero-h1 em{opacity:1!important}

@keyframes ziRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
html body .hero-h1{animation:ziRise .8s cubic-bezier(.22,1,.36,1) .25s both}

/* ---------- Premium finish: calmer, more deliberate detail ---------- */
html body section.s{position:relative}
html body .eye{color:var(--zi-cr)!important}
html body .rule{opacity:.9}
html body .mob-overlay .mob-svc-toggle,html body .mob-overlay a{letter-spacing:.01em}
html body nav.nav{box-shadow:0 1px 0 rgba(27,19,17,.06),0 10px 30px rgba(27,19,17,.05)}

/* Home hero header: transparent with white text at the top, solid once scrolled (matches live site) */
html body nav.nav:not(.solid){background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
html body nav.nav:not(.solid)::before{opacity:0}
html body nav.nav:not(.solid) .logo-z,html body nav.nav:not(.solid) .logo-main,html body nav.nav:not(.solid) .logo-sub,html body nav.nav:not(.solid) .logo-text{color:#fff!important}
html body nav.nav:not(.solid) .logo-vline{background:rgba(255,255,255,.45)!important}
html body nav.nav:not(.solid) .nav-links a{color:rgba(255,255,255,.92)!important}
html body nav.nav:not(.solid) .nav-links a:hover,html body nav.nav:not(.solid) .nav-links a.active{color:#fff!important}
html body nav.nav:not(.solid) .nav-links a::after{background:#fff}

/* ---------- Typography matched to the live site (measured at 1280px) ---------- */
html body .page-hero h1{font-family:'Cormorant Garamond',serif!important;font-size:clamp(3.5rem,7.5vw,6rem)!important;font-weight:600!important;line-height:.94!important;letter-spacing:-.012em!important}
html body .hero-h1{font-size:clamp(3rem,5vw,6rem)!important;font-weight:600!important;line-height:.98!important}
html body h2:not(#zc h2){font-size:clamp(2.5rem,5vw,4.5rem)!important;font-weight:600!important;line-height:1!important;letter-spacing:-.8px!important}
html body .btn-nav{font-size:10px!important;font-weight:800!important;letter-spacing:.18em!important}
html body .logo-main{font-size:12px!important}
@media(max-width:767px){
  html body .page-hero h1{font-size:clamp(2.6rem,11vw,3.6rem)!important}
  html body h2:not(#zc h2){font-size:clamp(2rem,8.5vw,2.8rem)!important;letter-spacing:-.4px!important}
  html body .hero-h1{font-size:clamp(2.6rem,10vw,3.8rem)!important}
}

/* ---------- Blog page: everything centred ---------- */
html body.blog-page .page-hero{text-align:center}
html body.blog-page .page-hero .eye{justify-content:center}
html body.blog-page .page-hero p{margin-left:auto;margin-right:auto}
html body.blog-page .feed-head,html body.blog-page .blog-section-head{text-align:center;justify-content:center}
html body.blog-page #blogFeed{max-width:920px;margin-left:auto;margin-right:auto;text-align:center}
html body.blog-page .article-item,html body.blog-page .article-content,html body.blog-page .article-meta{text-align:center;justify-content:center;align-items:center}
html body.blog-page .article-item{display:flex;flex-direction:column;align-items:center}
html body.blog-page .blog-empty{text-align:center}
html body.blog-page .eye{display:flex!important;justify-content:center!important;width:100%}
html body.blog-page section .eye + *{margin-left:auto;margin-right:auto}
html body.blog-page .feed-header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
html body.blog-page .feed-title{text-align:center;width:100%}
html body.blog-page .feed-title::before,html body.blog-page .feed-title::after{content:'';display:inline-block;width:28px;height:1px;background:var(--zi-cr);vertical-align:middle;margin:0 12px}
html body.blog-page .feed-title::before{}
html body.blog-page .hero-eye{justify-content:center;width:100%}
