/* Final premium Partner Visa page cascade. */
.spouse-visa-page .services01-first-section,
.spouse-visa-page .services01-second-section { display: none !important; }

.spouse-visa-page .visa-detail-hero { padding-top: 38px; padding-bottom: 42px; }

.partner-section-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--shrey-red);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

/* Partner, Parent and Visitor visas: compact readable mobile system. */
@media (max-width: 575px) {
    .spouse-visa-page .visa-detail-hero { padding: 28px 0 34px; }
    .spouse-visa-page .visa-detail-hero > .container { padding-right: 12px; padding-left: 12px; }
    .spouse-visa-page .visa-detail-hero-grid { overflow: hidden; border-radius: 18px; }
    .spouse-visa-page .visa-detail-hero-copy { padding: 27px 20px 23px; }
    .spouse-visa-page .visa-detail-hero h1 { margin-bottom: 15px; font-size: 35px; line-height: .99; }
    .spouse-visa-page .visa-detail-hero-copy > p { font-size: 13px; line-height: 1.62; }
    .spouse-visa-page .visa-detail-actions { gap: 8px; margin-top: 19px; }
    .spouse-visa-page .visa-primary-action,
    .spouse-visa-page .visa-secondary-action { min-height: 42px; font-size: 10px; }
    .spouse-visa-page .visa-detail-facts {
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 0; margin-top: 18px; padding-top: 14px;
    }
    .spouse-visa-page .visa-detail-facts div {
        min-width: 0; padding: 0 8px;
        border-right: 1px solid #DDE1EA; border-bottom: 0;
    }
    .spouse-visa-page .visa-detail-facts div:first-child { padding-left: 0; }
    .spouse-visa-page .visa-detail-facts div:last-child { padding-right: 0; border-right: 0; }
    .spouse-visa-page .visa-detail-facts strong { margin-bottom: 7px; font-size: 9px; line-height: 1; }
    .spouse-visa-page .visa-detail-facts span {
        display: block; overflow-wrap: anywhere;
        color: #0E1C3C; font-size: 10px; font-weight: 800; line-height: 1.38;
    }
    .spouse-visa-page .visa-detail-visual { min-height: 280px; }
    .spouse-visa-page .visa-detail-visual-note { right: 22px; bottom: 22px; left: 22px; }

    .spouse-visa-page .partner-process-section { padding: 38px 0 !important; }
    .spouse-visa-page .partner-process-section > .container { padding-right: 12px; padding-left: 12px; }
    .spouse-visa-page .partner-process-shell,
    .spouse-visa-page .partner-support-panel { border-radius: 17px; }
    .spouse-visa-page .partner-process-title,
    .spouse-visa-page .partner-process-summary,
    .spouse-visa-page .partner-support-intro { padding: 26px 20px; }
    .spouse-visa-page .partner-section-label { font-size: 8px; }
    .spouse-visa-page .partner-section-label:before { width: 22px; }
    .spouse-visa-page .partner-process-title h2,
    .spouse-visa-page .partner-support-intro h2 { margin-top: 12px; font-size: 29px; line-height: 1.03; }
    .spouse-visa-page .partner-process-summary p,
    .spouse-visa-page .partner-support-intro p { margin: 14px 0 18px; font-size: 12px; line-height: 1.62; }
    .spouse-visa-page .partner-roadmap-list { padding: 5px 17px; }
    .spouse-visa-page .partner-roadmap-list article {
        min-height: 0; padding: 15px 0;
        grid-template-columns: 34px minmax(0,1fr); gap: 10px;
    }
    .spouse-visa-page .partner-roadmap-list article > span { width: 29px; height: 29px; font-size: 8px; }
    .spouse-visa-page .partner-roadmap-list h3 { margin-bottom: 4px; font-size: 14px; }
    .spouse-visa-page .partner-roadmap-list p { font-size: 10.5px; line-height: 1.52; }
    .spouse-visa-page .partner-process-note { margin: 7px 17px 20px; padding: 11px 12px; font-size: 9.5px; }
    .spouse-visa-page .partner-support-panel { margin-top: 28px; }
    .spouse-visa-page .partner-support-list { padding: 5px 18px; }
    .spouse-visa-page .partner-support-list article {
        padding: 14px 0; grid-template-columns: 24px minmax(0,1fr); gap: 9px;
    }
    .spouse-visa-page .partner-support-list h3 { margin-bottom: 3px; font-size: 13px; }
    .spouse-visa-page .partner-support-list p { font-size: 9.5px; line-height: 1.5; }

    .spouse-visa-page .partner-trust-section { padding: 34px 0 38px !important; }
    .spouse-visa-page .partner-trust-grid { gap: 22px; }
    .spouse-visa-page .partner-trust-heading h2 { margin-top: 12px; font-size: 29px; line-height: 1.03; }
    .spouse-visa-page .partner-trust-heading > p { margin-top: 12px; font-size: 12px; line-height: 1.6; }
    .spouse-visa-page .partner-trust-points { display: block; border-bottom: 0; }
    .spouse-visa-page .partner-trust-points article {
        display: grid; min-height: 0 !important; padding: 15px 0 !important;
        grid-template-columns: 32px minmax(0,1fr); column-gap: 10px;
        border-right: 0; border-bottom: 1px solid #DDE1EA;
    }
    .spouse-visa-page .partner-trust-points strong {
        grid-row: 1 / span 2; margin: 2px 0 0;
        font-size: 9px; line-height: 1;
    }
    .spouse-visa-page .partner-trust-points h3 { margin: 0 0 4px; font-size: 14px; }
    .spouse-visa-page .partner-trust-points p { color: #505F7E; font-size: 10.5px; line-height: 1.52; }

    .spouse-visa-page .home01-immigration-and-services-section { padding: 40px 0 44px !important; }
    .spouse-visa-page .contact-us-contact-form-section { padding: 40px 0 !important; }
    .spouse-visa-page .contact-us-contact-form-section > .container { padding-right: 10px; padding-left: 10px; }
    .spouse-visa-page .contact-us-contact-form-section > .container > .row { border-radius: 17px; }
    .spouse-visa-page .contact-us-contact-form-section .spacing-25 { padding: 27px 18px 23px !important; }
    .spouse-visa-page .contact-us-contact-form-section .section-title h2 { font-size: 32px; }
    .spouse-visa-page .partner-enquiry-copy { margin: 13px 0 18px; font-size: 11px; line-height: 1.55; }
    .spouse-visa-page .contact_form > .row { row-gap: 8px; }
    .spouse-visa-page .contact_form input,
    .spouse-visa-page .contact_form select { height: 46px !important; }
    .spouse-visa-page .contact_form textarea { min-height: 96px; }
    .spouse-visa-page .contact-us-contact-form-section .col-bg-img-thirty-seven,
    .spouse-visa-page .contact-us-contact-form-section .g-map,
    .spouse-visa-page .contact-us-contact-form-section iframe { min-height: 285px !important; }
    .spouse-visa-page .partner-map-card { right: 10px; bottom: 10px; left: 10px; padding: 11px 12px; }
    .spouse-visa-page .partner-map-card strong { font-size: 10px; }
}
.partner-section-label:before { width: 28px; height: 1px; content: ""; background: currentColor; }

.partner-process-section { padding: 44px 0 48px; background: #F2F5FB; }
.partner-process-shell {
    overflow: hidden;
    border: 1px solid #DAE2F2;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 62px rgba(14, 28, 60, .1);
}
.partner-process-heading { display: grid; grid-template-columns: .88fr 1.12fr; }
.partner-process-title { padding: 48px 46px; color: #fff; background: linear-gradient(145deg,#0A142B,#12244E); }
.partner-process-title .partner-section-label { color: #134BC3; }
.partner-process-title h2,
.partner-support-intro h2,
.partner-trust-heading h2 {
    margin: 18px 0 0;
    font-size: clamp(32px,3vw,45px);
    line-height: 1.08;
    letter-spacing: -.045em;
}
.partner-process-title h2 { color: #fff; }
.partner-process-title h2 em,
.partner-support-intro h2 em,
.partner-trust-heading h2 em {
    display: block;
    color: #134BC3;
    font-family: Georgia,serif;
    font-weight: 500;
}
.partner-process-summary { padding: 48px 50px; }
.partner-process-summary p { max-width: 620px; margin: 25px 0 0; color: #505F7E; font-size: 14px; line-height: 1.8; }
.partner-roadmap-list { display: grid; padding: 18px 48px 10px; grid-template-columns: 1fr 1fr; column-gap: 48px; }
.partner-roadmap-list article { display: grid; min-height: 126px; padding: 24px 0; grid-template-columns: 42px minmax(0,1fr); gap: 16px; border-top: 1px solid #DDE1EA; }
.partner-roadmap-list article > span {
    display: grid;
    width: 34px;
    height: 34px;
    margin-top: 1px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--shrey-red);
    font-size: 9px;
    font-weight: 900;
}
.partner-roadmap-list h3 { margin: 0 0 7px; color: #0E1C3C; font-size: 17px; line-height: 1.35; }
.partner-roadmap-list p { margin: 0; color: #505F7E; font-size: 11.5px; line-height: 1.65; }
.partner-process-note {
    margin: 8px 48px 34px;
    padding: 13px 16px;
    border-left: 3px solid var(--shrey-red);
    border-radius: 0 8px 8px 0;
    color: #505F7E;
    background: #FAFBFD;
    font-size: 10px;
    line-height: 1.6;
}
.partner-process-note strong { color: #0E1C3C; }

.partner-support-panel {
    display: grid;
    margin-top: 36px;
    overflow: hidden;
    grid-template-columns: .9fr 1.1fr;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(14, 28, 60, .09);
}
.partner-support-intro { padding: 46px 44px; color: #fff; background: linear-gradient(145deg,#0A142B,#12244E); }
.partner-support-intro .partner-section-label { color: #134BC3; }
.partner-support-intro h2 { color: #fff; }
.partner-support-intro p { margin: 22px 0 27px; color: #CFD5E0; font-size: 13px; line-height: 1.78; }
.partner-text-link { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: 12px; font-weight: 800; }
.partner-text-link span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--shrey-red); }
.partner-text-link:hover { color: #fff; }
.partner-support-list { display: grid; padding: 20px 36px; grid-template-columns: 1fr 1fr; column-gap: 28px; }
.partner-support-list article { display: grid; padding: 20px 0; grid-template-columns: 28px minmax(0,1fr); gap: 12px; border-bottom: 1px solid #E5EBF6; }
.partner-support-list article:nth-last-child(-n+2) { border-bottom: 0; }
.partner-support-list article > span { color: var(--shrey-red); font-size: 10px; font-weight: 850; }
.partner-support-list h3 { margin: 0 0 6px; color: #0E1C3C; font-size: 14px; line-height: 1.35; }
.partner-support-list p { margin: 0; color: #505F7E; font-size: 10.5px; line-height: 1.6; }

.partner-trust-section { padding: 52px 0; background: #fff; }
.partner-trust-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 66px; align-items: center; }
.partner-trust-heading h2 { margin-top: 17px; color: #0E1C3C; }
.partner-trust-heading > p { max-width: 500px; margin: 20px 0 0; color: #505F7E; font-size: 13px; line-height: 1.75; }
.partner-trust-points { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #DDE1EA; border-bottom: 1px solid #DDE1EA; }
.partner-trust-points article { min-height: 214px; padding: 27px 22px; border-right: 1px solid #DDE1EA; }
.partner-trust-points article:last-child { border-right: 0; }
.partner-trust-points strong { display: block; margin-bottom: 34px; color: var(--shrey-red); font-size: 10px; letter-spacing: .1em; }
.partner-trust-points h3 { margin: 0 0 10px; color: #0E1C3C; font-size: 16px; line-height: 1.35; }
.partner-trust-points p { margin: 0; color: #505F7E; font-size: 10.5px; line-height: 1.65; }

.spouse-visa-page .home01-immigration-and-services-section { padding: 52px 0 !important; background: #F2F5FB; }
.spouse-visa-page .home01-immigration-and-services-section .section-title { margin-bottom: 32px; }
.spouse-visa-page .partner-destination-intro { max-width: 680px; margin: 16px auto 0; color: #505F7E; font-size: 12px; line-height: 1.7; }
.spouse-visa-page .home01-immigration-and-services-section .featured-title h3:after { content: "Explore partner pathways"; }

.spouse-visa-page .contact-us-contact-form-section { padding: 52px 0 !important; background: #fff; }
.spouse-visa-page .contact-us-contact-form-section > .container > .row {
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #DAE2F2;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 65px rgba(14, 28, 60, .11);
}
.spouse-visa-page .contact-us-contact-form-section .spacing-25 { height: 100%; padding: 34px 38px !important; background: #fff !important; }
.spouse-visa-page .contact-us-contact-form-section .section-title { margin-bottom: 18px; }
.spouse-visa-page .contact-us-contact-form-section .section-title h2 {
    margin: 13px 0 0;
    color: #0E1C3C;
    font-size: clamp(36px,3vw,44px);
    line-height: 1.02;
    letter-spacing: -.04em;
}
.spouse-visa-page .contact-us-contact-form-section .section-title h2 span { display: block; margin-top: 7px; color: var(--shrey-red); font-family: Georgia,serif; font-weight: 500; line-height: .98; }
.partner-enquiry-copy { max-width: 500px; margin: 17px 0 22px; color: #505F7E; font-size: 13px; line-height: 1.7; }
.spouse-visa-page .contact_form > .row { margin-right: -7px; margin-left: -7px; row-gap: 12px; }
.spouse-visa-page .contact_form > .row > [class*="col-"] { padding-right: 7px; padding-left: 7px; }
.spouse-visa-page .contact_form input,
.spouse-visa-page .contact_form select { height: 54px !important; margin: 0 !important; padding: 0 17px !important; border: 1px solid transparent !important; border-radius: 9px !important; color: #0E1C3C !important; background: #F2F5FB !important; }
.spouse-visa-page .contact_form textarea { min-height: 116px; margin: 0 !important; padding: 15px 17px !important; resize: vertical; border: 1px solid transparent !important; border-radius: 9px !important; color: #0E1C3C !important; background: #F2F5FB !important; }
.spouse-visa-page .contact_form input:focus,
.spouse-visa-page .contact_form select:focus,
.spouse-visa-page .contact_form textarea:focus { border-color: rgba(14, 54, 141, .45) !important; background: #fff !important; }
.spouse-visa-page .contact_form .mt-5 { margin-top: 4px !important; }
.spouse-visa-page .contact_form .submit { display: inline-flex; min-height: 48px; padding: 0 22px 0 25px; align-items: center; gap: 24px; }
.spouse-visa-page .contact_form .submit span { font-size: 18px; }
.spouse-visa-page .contact-us-contact-form-section .g-map { position: relative; overflow: hidden; border-radius: 0 22px 22px 0; }
.spouse-visa-page .contact-us-contact-form-section .col-bg-img-thirty-seven,
.spouse-visa-page .contact-us-contact-form-section .g-map,
.spouse-visa-page .contact-us-contact-form-section iframe { width: 100% !important; height: 100% !important; min-height: 540px; }
.spouse-visa-page .contact-us-contact-form-section iframe { display: block; filter: saturate(.72) contrast(.96); }
.partner-map-card { position: absolute; right: 22px; bottom: 22px; left: 22px; display: flex; padding: 17px 18px; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid rgba(255,255,255,.65); border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: 0 14px 34px rgba(14, 28, 60, .22); backdrop-filter: blur(10px); }
.partner-map-card span { display: block; margin-bottom: 4px; color: var(--shrey-red); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.partner-map-card strong { display: block; color: #0E1C3C; font-size: 12px; }
.partner-map-card a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; color: #0E1C3C; font-size: 11px; font-weight: 800; }
.partner-map-card b { color: var(--shrey-red); font-size: 16px; }

@media (min-width: 992px) {
    .spouse-visa-page .contact-us-contact-form-section > .container > .row > .col-lg-6:first-child { flex: 0 0 53%; max-width: 53%; }
    .spouse-visa-page .contact-us-contact-form-section > .container > .row > .col-lg-6:last-of-type { flex: 0 0 47%; max-width: 47%; }
}
@media (max-width: 991px) {
    .partner-process-heading,
    .partner-support-panel,
    .partner-trust-grid { grid-template-columns: 1fr; }
    .partner-roadmap-list { column-gap: 30px; }
    .partner-trust-grid { gap: 36px; }
}
@media (max-width: 767px) {
    .partner-process-section,
    .partner-trust-section,
    .spouse-visa-page .home01-immigration-and-services-section,
    .spouse-visa-page .contact-us-contact-form-section { padding-top: 40px !important; padding-bottom: 40px !important; }
    .partner-process-title,
    .partner-process-summary,
    .partner-support-intro { padding: 32px 24px; }
    .partner-roadmap-list,
    .partner-support-list { padding: 12px 24px; grid-template-columns: 1fr; }
    .partner-process-note { margin: 8px 24px 28px; }
    .partner-support-list article:nth-last-child(2) { border-bottom: 1px solid #E5EBF6; }
    .partner-trust-points { grid-template-columns: 1fr; }
    .partner-trust-points article { min-height: 0; border-right: 0; border-bottom: 1px solid #DDE1EA; }
    .partner-trust-points article:last-child { border-bottom: 0; }
    .spouse-visa-page .contact-us-contact-form-section .spacing-25 { padding: 30px 22px !important; }
    .spouse-visa-page .contact-us-contact-form-section .g-map { border-radius: 0 0 18px 18px; }
    .spouse-visa-page .contact-us-contact-form-section .col-bg-img-thirty-seven,
    .spouse-visa-page .contact-us-contact-form-section .g-map,
    .spouse-visa-page .contact-us-contact-form-section iframe { min-height: 360px; }
    .partner-map-card { right: 14px; bottom: 14px; left: 14px; padding: 14px; }
}

/* Final mobile compactness overrides. */
@media (max-width: 575px) {
    .spouse-visa-page .visa-detail-hero { padding: 28px 0 34px; }
    .spouse-visa-page .visa-detail-hero-copy { padding: 27px 20px 23px; }
    .spouse-visa-page .visa-detail-hero h1 { margin-bottom: 15px; font-size: 35px; line-height: .99; }
    .spouse-visa-page .visa-detail-hero-copy > p { font-size: 13px; line-height: 1.62; }
    .spouse-visa-page .visa-detail-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin-top: 18px; padding-top: 14px; }
    .spouse-visa-page .visa-detail-facts div { min-width: 0; padding: 0 8px; border-right: 1px solid #DDE1EA; border-bottom: 0; }
    .spouse-visa-page .visa-detail-facts div:last-child { border-right: 0; }
    .spouse-visa-page .visa-detail-facts strong { margin-bottom: 7px; font-size: 9px; }
    .spouse-visa-page .visa-detail-facts span { display: block; color: #0E1C3C; font-size: 10px; font-weight: 800; line-height: 1.38; }
    .spouse-visa-page .visa-detail-visual { min-height: 280px; }
    .spouse-visa-page .partner-process-section { padding: 38px 0 !important; }
    .spouse-visa-page .partner-process-shell,
    .spouse-visa-page .partner-support-panel { border-radius: 17px; }
    .spouse-visa-page .partner-process-title,
    .spouse-visa-page .partner-process-summary,
    .spouse-visa-page .partner-support-intro { padding: 26px 20px; }
    .spouse-visa-page .partner-process-title h2,
    .spouse-visa-page .partner-support-intro h2 { margin-top: 12px; font-size: 29px; line-height: 1.03; }
    .spouse-visa-page .partner-process-summary p,
    .spouse-visa-page .partner-support-intro p { margin: 14px 0 18px; font-size: 12px; line-height: 1.62; }
    .spouse-visa-page .partner-roadmap-list { padding: 5px 17px; }
    .spouse-visa-page .partner-roadmap-list article { min-height: 0; padding: 15px 0; grid-template-columns: 34px minmax(0,1fr); gap: 10px; }
    .spouse-visa-page .partner-roadmap-list h3 { margin-bottom: 4px; font-size: 14px; }
    .spouse-visa-page .partner-roadmap-list p { font-size: 10.5px; line-height: 1.52; }
    .spouse-visa-page .partner-process-note { margin: 7px 17px 20px; padding: 11px 12px; }
    .spouse-visa-page .partner-support-panel { margin-top: 28px; }
    .spouse-visa-page .partner-support-list { padding: 5px 18px; }
    .spouse-visa-page .partner-support-list article { padding: 14px 0; }
    .spouse-visa-page .partner-trust-section { padding: 34px 0 38px !important; }
    .spouse-visa-page .partner-trust-grid { gap: 22px; }
    .spouse-visa-page .partner-trust-heading h2 { margin-top: 12px; font-size: 29px; line-height: 1.03; }
    .spouse-visa-page .partner-trust-heading > p { margin-top: 12px; font-size: 12px; line-height: 1.6; }
    .spouse-visa-page .partner-trust-points { display: block; border-bottom: 0; }
    .spouse-visa-page .partner-trust-points article { display: grid; min-height: 0 !important; padding: 15px 0 !important; grid-template-columns: 32px minmax(0,1fr); column-gap: 10px; }
    .spouse-visa-page .partner-trust-points strong { grid-row: 1 / span 2; margin: 2px 0 0; font-size: 9px; }
    .spouse-visa-page .partner-trust-points h3 { margin: 0 0 4px; font-size: 14px; }
    .spouse-visa-page .partner-trust-points p { font-size: 10.5px; line-height: 1.52; }
    .spouse-visa-page .home01-immigration-and-services-section,
    .spouse-visa-page .contact-us-contact-form-section { padding: 40px 0 !important; }
    .spouse-visa-page .contact-us-contact-form-section .spacing-25 { padding: 27px 18px 23px !important; }
    .spouse-visa-page .contact_form input,
    .spouse-visa-page .contact_form select { height: 46px !important; }
    .spouse-visa-page .contact_form textarea { min-height: 96px; }
    .spouse-visa-page .contact-us-contact-form-section .col-bg-img-thirty-seven,
    .spouse-visa-page .contact-us-contact-form-section .g-map,
    .spouse-visa-page .contact-us-contact-form-section iframe { min-height: 285px !important; }
}
