/*
 * InvestmentVisaLaw.com
 * Shared Header / Navigation / Footer Layout
 *
 * Extracted from the known-good homepage CSS so the shared
 * site shell is loaded consistently on every WordPress page.
 */
:root{--ivl-navy:#12283a;--ivl-navy-deep:#0b1b29;--ivl-navy-soft:#1e3b50;--ivl-ink:#24333d;--ivl-muted:#65727a;--ivl-paper:#fbfaf6;--ivl-ivory:#f2eee5;--ivl-line:#d9d3c7;--ivl-gold:#b48a50;--ivl-gold-light:#d8c39e;--ivl-white:#fff;--ivl-serif:Georgia,Cambria,"Times New Roman",serif;--ivl-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ivl-shadow:0 18px 50px rgba(11,27,41,.09)}
body.ivl-site-page{margin:0 !important;background:var(--ivl-paper);color:var(--ivl-ink);font-family:var(--ivl-sans);font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased}
body.ivl-site-page *{box-sizing:border-box}
.ivl-site a{color:inherit;text-decoration:none}
.ivl-shell{width:min(1180px, calc(100% - 48px));margin-inline:auto}
.ivl-topbar{background:var(--ivl-navy-deep);color:rgba(255,255,255,.75);font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.ivl-topbar-inner{display:flex;justify-content:space-between;gap:24px;padding-block:9px}
.ivl-header{position:sticky;top:0;z-index:1000;background:rgba(251,250,246,.97);border-bottom:1px solid var(--ivl-line);backdrop-filter:blur(12px)}
.admin-bar .ivl-header{top:32px}
.ivl-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.ivl-brand{display:inline-flex;align-items:center;gap:14px;min-width:max-content}
.ivl-mark,.ivl-footer-mark{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid var(--ivl-gold);color:var(--ivl-gold);font-family:var(--ivl-serif);font-size:18px;letter-spacing:.05em}
.ivl-brand-copy{display:flex;flex-direction:column;line-height:1.2}
.ivl-brand-copy strong{color:var(--ivl-navy-deep);font-family:var(--ivl-serif);font-size:20px;font-weight:500}
.ivl-brand-copy small{margin-top:6px;color:var(--ivl-muted);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.ivl-primary-nav ul{display:flex;align-items:center;gap:22px;margin:0;padding:0;list-style:none}
.ivl-primary-nav a{display:block;padding-block:12px;color:var(--ivl-navy);font-size:13px;font-weight:700}
.ivl-primary-nav a:hover,.ivl-primary-nav a:focus,.ivl-primary-nav a[aria-current=page]{color:var(--ivl-gold)}
.ivl-primary-nav .ivl-nav-cta a{padding:11px 16px;border:1px solid var(--ivl-navy)}
.ivl-menu-toggle{display:none;align-items:center;gap:10px;border:0;background:0 0;color:var(--ivl-navy);font:inherit;font-size:13px;font-weight:750;text-transform:uppercase;cursor:pointer}
.ivl-menu-lines{width:24px;display:grid;gap:4px}
.ivl-menu-lines i{display:block;height:2px;background:currentColor}
.ivl-hero-inner,.ivl-hub-hero .ivl-shell{position:relative;z-index:1}
.ivl-hero-lead,.ivl-hub-hero .ivl-shell>p:last-child{max-width:820px;margin:28px auto 0;color:rgba(255,255,255,.81);font-size:clamp(18px, 2vw, 22px)}
.ivl-hub-hero .ivl-shell{padding-block:100px 92px}
.ivl-footer{padding:70px 0 25px;background:var(--ivl-navy-deep);color:rgba(255,255,255,.68);font-size:14px}
.ivl-footer-grid{display:grid;grid-template-columns:1.4fr .75fr 1fr;gap:70px}
.ivl-footer h2,.ivl-footer h3{color:var(--ivl-white);font-family:var(--ivl-serif);font-weight:400}
.ivl-footer h2{margin:20px 0 12px;font-size:28px}
.ivl-footer h3{margin:0 0 18px;font-size:19px}
.ivl-footer a{display:block;margin:7px 0}
.ivl-footer a:hover{color:var(--ivl-gold-light)}
.ivl-footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:55px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);font-size:12px}
.ivl-footer-bottom span:last-child{display:flex;gap:20px}
.ivl-footer-bottom a{display:inline;margin:0}
.ivl-site a:focus-visible,.ivl-site button:focus-visible{outline:3px solid var(--ivl-gold);outline-offset:4px}
@media (max-width:1080px){.ivl-menu-toggle{display:inline-flex}
.ivl-primary-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 24px 28px;background:var(--ivl-paper);border-bottom:1px solid var(--ivl-line);box-shadow:var(--ivl-shadow)}
.ivl-primary-nav.is-open{display:block}
.ivl-primary-nav ul{display:grid;gap:2px}
.ivl-primary-nav a{padding:11px 0}
.ivl-primary-nav .ivl-nav-cta a{margin-top:8px;padding-inline:14px;text-align:center}}
@media (max-width:782px){.admin-bar .ivl-header{top:46px}}
@media (max-width:720px){.ivl-shell{width:min(100% - 32px, 1180px)}
.ivl-topbar-inner{justify-content:center;text-align:center}
.ivl-topbar-inner span:first-child{display:none}
.ivl-header-inner{min-height:74px}
.ivl-brand-copy small,.ivl-menu-label{display:none}
.ivl-mark{width:42px;height:42px}
.ivl-brand-copy strong{font-size:17px}
.ivl-route-grid,.ivl-feature-grid,.ivl-chapter-grid,.ivl-two-column,.ivl-decision-block,.ivl-counsel-grid,.ivl-hub-intro,.ivl-contact-card,.ivl-footer-grid{grid-template-columns:1fr}
.ivl-hub-hero .ivl-shell{padding-block:75px 70px}
.ivl-footer-grid{gap:35px}
.ivl-footer-bottom{display:grid}
.ivl-footer-bottom span:last-child{flex-wrap:wrap}}

/*
 * IVL brand image sizing.
 * Keep the original theme wrappers.
 */

.ivl-mark > img.ivl-brand-icon--header {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
    box-shadow: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

.ivl-footer-mark > img.ivl-brand-icon--footer {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
    box-shadow: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* BEGIN IVL SKIP LINK FIX */

/*
 * Accessibility skip link.
 * Hidden during normal browsing.
 * Becomes visible when reached by keyboard focus.
 */
.ivl-skip-link {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
}

.ivl-skip-link:focus,
.ivl-skip-link:focus-visible {
    position: fixed !important;
    left: 16px !important;
    top: 16px !important;
    width: auto !important;
    height: auto !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    clip: auto !important;
    clip-path: none !important;

    background: #ffffff !important;
    color: #102c3a !important;
    border: 2px solid #102c3a !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;

    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;

    z-index: 1000000 !important;
}

/* END IVL SKIP LINK FIX */

/* BEGIN IVL DENSITY PASS V1 */

/*
 * Moderate sitewide spacing reduction.
 * Typography, colors, widths and content are intentionally unchanged.
 */


/* ==========================================================
   SHARED HEADER
   ========================================================== */

.ivl-topbar-inner {
    padding-block: 7px !important;
}

.ivl-header-inner {
    min-height: 80px !important;
}


/* ==========================================================
   HOMEPAGE + STANDARD HUB HEROES
   ========================================================== */

.ivl-hero-inner {
    padding-block: 82px 78px !important;
}

.ivl-hub-hero .ivl-shell {
    padding-block: 82px 76px !important;
}

.ivl-hero-lead,
.ivl-hub-hero .ivl-shell > p:last-child {
    margin-top: 22px !important;
}

.ivl-actions {
    margin-top: 29px !important;
}

.ivl-firm-line {
    margin-top: 20px !important;
}


/* ==========================================================
   HOMEPAGE ROUTES + SECTIONS
   ========================================================== */

.ivl-route-grid a {
    min-height: 112px !important;
    padding: 26px 24px !important;
}

.ivl-section {
    padding-block: 76px !important;
}

.ivl-two-column {
    gap: clamp(42px, 6vw, 82px) !important;
}

.ivl-section-title {
    margin-bottom: 34px !important;
}

.ivl-feature {
    min-height: 365px !important;
    padding: 32px 30px !important;
}

.ivl-feature h3 {
    margin-top: 34px !important;
    margin-bottom: 15px !important;
}

.ivl-feature p {
    margin-bottom: 20px !important;
}

.ivl-chapter-grid article {
    min-height: 225px !important;
    padding: 26px !important;
}

.ivl-chapter-grid h3 {
    margin-top: 27px !important;
    margin-bottom: 11px !important;
}

.ivl-centered-action {
    margin-top: 30px !important;
}

.ivl-dark-columns > div:last-child {
    padding-top: 28px !important;
}

.ivl-decision-block {
    gap: 52px !important;
}

.ivl-comparison > div {
    padding: 25px !important;
}


/* ==========================================================
   COUNSEL / REVIEW / CONTACT AREAS
   ========================================================== */

.ivl-counsel-grid {
    gap: 48px !important;
}

.ivl-counsel-grid aside {
    padding: 34px !important;
}

.ivl-counsel-grid aside h3 {
    margin-bottom: 22px !important;
}

.ivl-hub-intro {
    gap: 58px !important;
}

.ivl-review-box {
    padding: 32px !important;
}

.ivl-review-box h2 {
    margin: 14px 0 20px !important;
}

.ivl-final-cta .ivl-button {
    margin-top: 24px !important;
}

.ivl-contact-card {
    gap: 40px !important;
    padding: 40px !important;
}


/* ==========================================================
   AUTHORITY PAGE HERO
   ========================================================== */

.ivl-site .ivla-hero {
    padding:
        clamp(42px, 5vw, 68px)
        0
        clamp(38px, 4.5vw, 60px)
        !important;
}

.ivl-site .ivla-breadcrumbs {
    margin-bottom: 22px !important;
}

.ivl-site .ivla-eyebrow,
.ivl-site .ivla-section-label {
    margin-bottom: 12px !important;
}

.ivl-site .ivla-dek {
    margin-top: 20px !important;
}

.ivl-site .ivla-review-line {
    gap: 7px 18px !important;
    margin-top: 22px !important;
}

.ivl-site .ivla-review-line span + span::before {
    margin-right: 18px !important;
}


/* ==========================================================
   AUTHORITY FACT BAND
   ========================================================== */

.ivl-site .ivla-facts > div {
    padding: 22px 26px !important;
}


/* ==========================================================
   AUTHORITY MAIN LAYOUT
   ========================================================== */

.ivl-site .ivla-layout {
    gap: clamp(32px, 5vw, 64px) !important;
    padding-top: clamp(42px, 5vw, 64px) !important;
    padding-bottom: clamp(54px, 6vw, 78px) !important;
}

.ivl-site .ivla-toc {
    padding: 20px 0 22px !important;
}

.ivl-site .ivla-toc ol {
    margin-top: 14px !important;
}

.ivl-site .ivla-toc a {
    padding: 6px 0 !important;
}

.ivl-site .ivla-side-review {
    margin-top: 22px !important;
    padding: 20px !important;
}

.ivl-site .ivla-side-review p {
    margin: 10px 0 14px !important;
}


/* ==========================================================
   AUTHORITY CONTENT RHYTHM
   ========================================================== */

.ivl-site .ivla-direct-answer {
    margin-bottom: 52px !important;
    padding: clamp(24px, 3vw, 34px) !important;
}

.ivl-site .ivla-direct-answer h2,
.ivl-site .ivla-content-section > h2,
.ivl-site .ivla-related > h2 {
    margin-bottom: 18px !important;
}

.ivl-site .ivla-content-section {
    padding-bottom: 56px !important;
}

.ivl-site .ivla-content-section + .ivla-content-section {
    padding-top: 56px !important;
}

.ivl-site .ivla-prose p {
    margin-bottom: 20px !important;
}

.ivl-site .ivla-prose ul,
.ivl-site .ivla-prose ol {
    margin: 16px 0 22px !important;
}

.ivl-site .ivla-prose li {
    margin-bottom: 8px !important;
}


/* ==========================================================
   AUTHORITY CARDS / TABLES / CALLOUTS
   ========================================================== */

.ivl-site .ivla-card-grid {
    margin: 24px 0 !important;
}

.ivl-site .ivla-card {
    padding: 22px !important;
}

.ivl-site .ivla-card h3 {
    margin-top: 18px !important;
}

.ivl-site .ivla-link-grid,
.ivl-site .ivla-related-grid {
    margin-top: 24px !important;
}

.ivl-site .ivla-link-grid > a,
.ivl-site .ivla-related-grid > a {
    padding: 22px !important;
}

.ivl-site .ivla-link-grid span,
.ivl-site .ivla-related-grid span {
    margin-top: 9px !important;
}

.ivl-site .ivla-related-grid em {
    padding-top: 18px !important;
}

.ivl-site .ivla-split {
    gap: 16px !important;
    margin: 24px 0 !important;
}

.ivl-site .ivla-split > div {
    padding: 24px !important;
}

.ivl-site .ivla-table-wrap {
    margin: 24px 0 26px !important;
}

.ivl-site .ivla-table-wrap th,
.ivl-site .ivla-table-wrap td {
    padding: 16px 18px !important;
}

.ivl-site .ivla-note {
    margin: 24px 0 !important;
    padding: 20px 22px !important;
}

.ivl-site .ivla-evidence-grid {
    margin: 24px 0 !important;
}

.ivl-site .ivla-evidence-grid > div {
    padding: 22px !important;
}

.ivl-site .ivla-steps {
    margin: 24px 0 !important;
}

.ivl-site .ivla-steps li {
    margin-bottom: 20px !important;
}

.ivl-site .ivla-check-list {
    margin: 22px 0 !important;
}

.ivl-site .ivla-check-list li {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
}


/* ==========================================================
   FAQ / SOURCES / RELATED CONTENT
   ========================================================== */

.ivl-site .ivla-faq summary {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

.ivl-site .ivla-faq details > div {
    padding-bottom: 18px !important;
}

.ivl-site .ivla-sources ol {
    margin-top: 24px !important;
}

.ivl-site .ivla-sources li {
    padding-top: 17px !important;
    padding-bottom: 17px !important;
}

.ivl-site .ivla-sources li::before {
    top: 17px !important;
}

.ivl-site .ivla-related {
    padding-top: 56px !important;
}

.ivl-site .ivla-editorial-note {
    margin-top: 38px !important;
    padding: 18px 22px !important;
}


/* ==========================================================
   AUTHORITY FINAL CTA
   ========================================================== */

.ivl-site .ivla-final-cta {
    padding: clamp(48px, 6vw, 72px) 0 !important;
}

.ivl-site .ivla-final-cta h2 {
    margin-bottom: 16px !important;
}

.ivl-site .ivla-final-cta > .ivl-shell > p:not(.ivla-eyebrow) {
    margin-bottom: 24px !important;
}

/* Legacy final CTA used on some pages. */
.ivl-site .ivl-final-cta {
    padding: clamp(48px, 6vw, 72px) 20px !important;
}


/* ==========================================================
   FOOTER
   ========================================================== */

.ivl-footer {
    padding: 54px 0 22px !important;
}

.ivl-footer-grid {
    gap: 48px !important;
}

.ivl-footer h2 {
    margin: 16px 0 10px !important;
}

.ivl-footer h3 {
    margin-bottom: 14px !important;
}

.ivl-footer a {
    margin: 5px 0 !important;
}

.ivl-footer-bottom {
    gap: 24px !important;
    margin-top: 38px !important;
    padding-top: 18px !important;
}

.ivl-footer-bottom span:last-child {
    gap: 16px !important;
}


/* ==========================================================
   TABLET / MOBILE
   ========================================================== */

@media (max-width: 720px) {

    .ivl-topbar-inner {
        padding-block: 6px !important;
    }

    .ivl-header-inner {
        min-height: 68px !important;
    }

    .ivl-hero-inner {
        padding-block: 60px 56px !important;
    }

    .ivl-hub-hero .ivl-shell {
        padding-block: 60px 56px !important;
    }

    .ivl-actions {
        margin-top: 24px !important;
    }

    .ivl-route-grid a {
        min-height: 92px !important;
        padding: 22px 20px !important;
    }

    .ivl-section {
        padding-block: 56px !important;
    }

    .ivl-section-title {
        margin-bottom: 28px !important;
    }

    .ivl-two-column,
    .ivl-decision-block,
    .ivl-counsel-grid,
    .ivl-hub-intro {
        gap: 28px !important;
    }

    .ivl-feature,
    .ivl-chapter-grid article {
        padding: 25px !important;
    }

    .ivl-counsel-grid aside,
    .ivl-review-box {
        padding: 28px !important;
    }

    .ivl-contact-card {
        padding: 28px 24px !important;
    }

    .ivl-footer {
        padding: 44px 0 20px !important;
    }

    .ivl-footer-grid {
        gap: 28px !important;
    }

    .ivl-footer-bottom {
        margin-top: 30px !important;
        padding-top: 16px !important;
    }


    /* Authority pages */

    .ivl-site .ivla-hero {
        padding: 36px 0 34px !important;
    }

    .ivl-site .ivla-breadcrumbs {
        margin-bottom: 18px !important;
    }

    .ivl-site .ivla-dek {
        margin-top: 18px !important;
    }

    .ivl-site .ivla-review-line {
        margin-top: 20px !important;
    }

    .ivl-site .ivla-facts > div {
        padding: 18px 0 !important;
    }

    .ivl-site .ivla-layout {
        gap: 32px !important;
        padding-top: 40px !important;
        padding-bottom: 56px !important;
    }

    .ivl-site .ivla-content-section,
    .ivl-site .ivla-content-section + .ivla-content-section {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    .ivl-site .ivla-direct-answer {
        margin-bottom: 20px !important;
        padding: 24px !important;
    }

    .ivl-site .ivla-card,
    .ivl-site .ivla-link-grid > a,
    .ivl-site .ivla-related-grid > a,
    .ivl-site .ivla-evidence-grid > div,
    .ivl-site .ivla-split > div {
        padding: 20px !important;
    }

    .ivl-site .ivla-related {
        padding-top: 44px !important;
    }

    .ivl-site .ivla-editorial-note {
        margin-top: 30px !important;
    }

    .ivl-site .ivla-final-cta,
    .ivl-site .ivl-final-cta {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}

/* END IVL DENSITY PASS V1 */

/* BEGIN IVL ACCESSIBILITY CONTRAST V1 */

/*
 * Brand gold #b48a50 is retained for decorative use.
 *
 * Small text on white, paper, and ivory backgrounds uses the darker
 * accessible gold below. This preserves the visual identity while
 * bringing normal-size text above WCAG AA contrast requirements.
 */

.ivl-site {
    --ivl-gold-text-accessible: #775714;
    --ivl-gold-text-dark-bg: #e2bd65;
}


/*
 * ----------------------------------------------------------
 * LIGHT BACKGROUNDS
 * ----------------------------------------------------------
 */

/* Route selector numerals */
.ivl-site .ivl-route-section .ivl-route-grid span {
    color:
        var(--ivl-gold-text-accessible)
        !important;
}


/*
 * Small uppercase section kickers on ordinary light sections.
 *
 * Do not apply this rule to the intentionally dark sections.
 */
.ivl-site
.ivl-section:not(.ivl-dark-section):not(.ivl-final-cta)
.ivl-kicker {
    color:
        var(--ivl-gold-text-accessible)
        !important;
}


/* Chapter / pathway labels on light cards */
.ivl-site
.ivl-feature:not(.ivl-feature-primary)
.ivl-chapter,
.ivl-site
.ivl-chapter-grid article
> span {
    color:
        var(--ivl-gold-text-accessible)
        !important;
}


/* Comparison labels such as E-2, L-1 and EB-5 */
.ivl-site
.ivl-comparison
span {
    color:
        var(--ivl-gold-text-accessible)
        !important;
}


/* Text links appearing inside light content sections */
.ivl-site
.ivl-section:not(.ivl-dark-section):not(.ivl-final-cta)
.ivl-text-link {
    color:
        var(--ivl-gold-text-accessible)
        !important;
}


/*
 * Homepage-specific coverage for new or future layout sections
 * that use the shared kicker/text-link classes on a light surface.
 */
body.home
.ivl-site
.ivl-paper-section
.ivl-kicker,
body.home
.ivl-site
.ivl-intro-section
.ivl-kicker,
body.home
.ivl-site
.ivl-counsel-section
.ivl-kicker,
body.home
.ivl-site
.ivl-decision-block
.ivl-kicker,
body.home
.ivl-site
.ivl-counsel-section
.ivl-text-link,
body.home
.ivl-site
.ivl-decision-block
.ivl-text-link {
    color:
        var(--ivl-gold-text-accessible)
        !important;
}


/*
 * ----------------------------------------------------------
 * DARK BACKGROUNDS
 * ----------------------------------------------------------
 *
 * Darkening the gold would reduce contrast on navy, so explicitly
 * use the lighter brand gold for small text placed on dark surfaces.
 */

.ivl-site
.ivl-dark-section
.ivl-kicker,
.ivl-site
.ivl-dark-section
.ivl-chapter,
.ivl-site
.ivl-dark-section
.ivl-text-link,
.ivl-site
.ivl-feature-primary
.ivl-chapter,
.ivl-site
.ivl-final-cta
.ivl-kicker,
.ivl-site
.ivl-hero
.ivl-kicker,
.ivl-site
.ivl-hero
.ivl-eyebrow,
.ivl-site
.ivl-hub-hero
.ivl-kicker,
.ivl-site
.ivl-hub-hero
.ivl-eyebrow {
    color:
        var(--ivl-gold-text-dark-bg)
        !important;
}


/*
 * ----------------------------------------------------------
 * KEYBOARD VISIBILITY
 * ----------------------------------------------------------
 */

.ivl-site
.ivl-menu-toggle:focus-visible {
    outline:
        3px solid
        #775714
        !important;
    outline-offset: 4px;
}

.ivl-site
a:focus-visible,
.ivl-site
button:focus-visible {
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

/* END IVL ACCESSIBILITY CONTRAST V1 */

