* { box-sizing: border-box; }

body {
    margin: 0;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px 70px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #203047;
    background:
        radial-gradient(ellipse at top, #eaf3ff 0, transparent 65%),
        #f7f9fc;
}

.welcome {
    width: 100%;
    max-width: 470px;
    padding: 48px 32px;
    text-align: center;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 26px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 55px rgba(40,65,100,.08);
}

.welcome-logo {
    display: block;
    width: 210px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 24px;
}

.welcome-label {
    color: #475569;
    font-size: 12px;
    letter-spacing: .15em;
    text-transform: uppercase;
}

h1 {
    margin: 22px 0 12px;
    font-size: clamp(26px, 5vw, 34px);
    font-weight: 600;
    letter-spacing: -.04em;
}

.welcome-description {
    margin: 0 0 30px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.6;
}

.welcome-providers {
    display: flex;
    justify-content: center;
    gap: 14px;
}

.welcome-provider {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #111827;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(40,65,100,.08);
}

.welcome-provider:hover {
    border-color: #64748b;
}

.welcome-provider:focus-visible {
    outline: 3px solid #7bb5fa;
    outline-offset: 4px;
}

.welcome-provider-apple {
    background: #000;
    border-color: #000;
    color: #fff;
}

.welcome-provider:disabled {
    opacity: .5;
    cursor: default;
}

.welcome-note {
    margin: 16px 0 0;
    color: #78869a;
    font-size: 11px;
}

.welcome-error {
    margin-bottom: 20px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #fff0ed;
    color: #963e32;
    font-size: 13px;
}

.welcome-footer {
    margin-top: 26px;
    color: #8995a6;
    font-size: 10px;
}

body {
    padding-bottom: 130px;
}

.welcome-footer {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: 12px;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 12px 18px;
    border: 1px solid rgba(210,220,235,.6);
    border-radius: 14px;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(16px);
    box-shadow: 0 3px 16px rgba(40,65,100,.08);
    color: #78869a;
    font-size: 10px;
    line-height: 1.6;
}

.welcome-legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-top: 3px;
}

.welcome-legal-links a {
    color: #64748b;
    text-decoration: none;
}

.welcome-legal-links a:hover {
    text-decoration: underline;
}

.welcome-country {
    flex-shrink: 0;
    text-align: right;
}

@media (max-width: 600px) {
    .welcome-footer {
        left: 8px;
        right: 8px;
        bottom: 8px;
        padding: 10px 12px;
        font-size: 9px;
    }

    .welcome-legal {
        min-width: 0;
    }
}

.welcome-footer {
    left: 24px;
    right: 24px;
    bottom: 16px;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
    font-size: 11px;
    line-height: 1.5;
    gap: 24px;
}

.welcome-legal {
    display: flex;
    align-items: center;
    gap: 20px;
    white-space: nowrap;
}

.welcome-legal-links {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 20px;
    margin: 0;
}

.welcome-legal-links a {
    color: #007aff;
}

.welcome-country {
    color: #505965;
    white-space: nowrap;
}

@media (max-width: 800px) {
    .welcome-footer {
        left: 12px;
        right: 12px;
        bottom: 12px;
        font-size: 9px;
        gap: 14px;
        overflow-x: auto;
    }

    .welcome-legal,
    .welcome-legal-links {
        flex-shrink: 0;
        gap: 12px;
    }
}

.welcome-logo {
    margin-bottom: 8px;
}

.welcome-label {
    display: block;
    width: 210px;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 7px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 7px;
    line-height: 1.2;
}


.welcome-languages {
    margin-top: 22px;
    color: #64748b;
    font-size: 12px;
}

.welcome-for {
    display: inline-block;
    margin-right: 4px;
    font-family: "Snell Roundhand", "Apple Chancery", "Segoe Script", "URW Chancery L", cursive;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.welcome-provider-facebook {
    background: #1877f2;
    border-color: #1877f2;
    color: #fff;
}

.welcome-provider-pending {
    position: relative;
}


.welcome-provider-soon {
    position: absolute;
    bottom: 3px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    pointer-events: none;
    padding: 0;
    background: transparent;
    color: #334155;
    font-weight: 600;
    font-size: 7px;
    line-height: 1.2;
    white-space: nowrap;
}

.welcome-provider-pending .welcome-provider > svg {
    transform: translateY(-5px);
}

.welcome-inacioserv {
    margin: 0 auto 12px;
    color: #172033;
    font-size: clamp(25px, 7vw, 34px);
    font-weight: 750;
    letter-spacing: -.05em;
}

.welcome-inacioserv span {
    color: #64748b;
    font-weight: 400;
}



.portal-composition { width: 100%; max-width: 470px; }

body:not(.portal-business_holding) {
    min-height: 100svh;
    padding: 70px 5vw 90px;
    color: #17191c;
    background: #dce3e8 url('/assets/portal-glass.svg') center center / cover no-repeat;
}
body:not(.portal-business_holding) .portal-composition {
    width: 100%;
    max-width: 1440px;
    display: flex;
    justify-content: flex-end;
}
body:not(.portal-business_holding) .portal-identity { display: none; }
body:not(.portal-business_holding) .welcome {
    width: 49%;
    max-width: 600px;
    padding: clamp(34px, 4vw, 64px);
    text-align: left;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 14px;
    background: rgba(248,250,252,.58);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 24px 70px #24394e12, inset 0 1px 0 #fff8;
}
body:not(.portal-business_holding) .welcome-inacioserv {
    margin: 0 0 48px;
    padding: 0;
    line-height: 0;
}
.welcome-inacioserv img {
    display: block;
    width: 100%;
    max-width: 330px;
    height: auto;
}
body:not(.portal-business_holding) .welcome-label {
    width: auto;
    margin: 0 0 16px;
    padding: 0;
    color: #6e7580;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .34em;
}
body:not(.portal-business_holding) h1 {
    margin: 0 0 18px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 3.4vw, 54px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.045em;
    text-wrap: balance;
}
body:not(.portal-business_holding) .welcome-description {
    margin: 0 0 38px;
    color: #616974;
    font-size: 14px;
    line-height: 1.7;
}
.portal-login-title {
    margin: 0 0 20px;
    padding-top: 26px;
    border-top: 1px solid #84909d40;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: -.02em;
}
body:not(.portal-business_holding) .welcome-providers {
    justify-content: flex-start;
    gap: clamp(10px, 1.3vw, 20px);
}
body:not(.portal-business_holding) .welcome-provider {
    width: clamp(52px, 5.4vw, 78px);
    height: clamp(60px, 6.2vw, 88px);
    flex-basis: auto;
    border-radius: 10px;
    border-color: #b8c1ca;
    background: #ffffff70;
    color: #111;
    box-shadow: none;
}
body:not(.portal-business_holding) .welcome-provider-facebook { color: #1877f2; }
body:not(.portal-business_holding) .welcome-provider:disabled { opacity: .55; }
body:not(.portal-business_holding) .welcome-provider-soon {
    bottom: 7px;
    color: #30363e;
    text-shadow: none;
    font-size: 8px;
    font-weight: 400;
}
body:not(.portal-business_holding) .welcome-provider > svg {
    width: 27px;
    height: 27px;
}
body:not(.portal-business_holding) .welcome-note {
    margin-top: 20px;
    color: #626b75;
    font-size: 10px;
}
body:not(.portal-business_holding) .welcome-languages {
    margin-top: 28px;
    color: #505964;
}
body:not(.portal-business_holding) .welcome-footer {
    left: 4vw;
    right: 4vw;
    bottom: 22px;
    color: #525b65;
    font-size: 10px;
}
body:not(.portal-business_holding) .welcome-legal-links a,
body:not(.portal-business_holding) .welcome-country { color: inherit; }

body.portal-intranet {
    background-color: #e9edef;
    background-image: linear-gradient(#e9edef66,#e9edef66), url('/assets/portal-glass.svg');
}
.portal-intranet .welcome {
    border-radius: 4px;
    background: rgba(252,253,254,.88);
    border-top: 3px solid #a68a48;
    box-shadow: 0 18px 60px #2637440c;
}
.portal-intranet h1 {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: -.055em !important;
}
.portal-intranet .welcome-provider { border-radius: 5px !important; }

body.portal-business_inacioserv {
    color: #f8f6f0;
    background: #101010 url('/assets/portal-ribbon.svg') center center / cover no-repeat;
}
body.portal-business_inacioserv .welcome {
    background: transparent;
    border: none;
    border-radius: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}
body.portal-business_inacioserv .welcome-inacioserv {
    display: inline-block;
    padding: 15px 17px;
    background: #faf8f2;
    border-radius: 5px;
}
body.portal-business_inacioserv .welcome-label { color: #cbb587; }
body.portal-business_inacioserv .welcome-description,
body.portal-business_inacioserv .welcome-note,
body.portal-business_inacioserv .welcome-languages { color: #b9b7b3; }
.portal-business_inacioserv .portal-login-title { border-color: #b3a48440; }
body.portal-business_inacioserv .welcome-provider {
    background: #15151566;
    border-color: #a38b6055;
    color: #fff;
}
body.portal-business_inacioserv .welcome-provider-facebook { color: #2484ff; }
body.portal-business_inacioserv .welcome-provider-soon {
    color: #eee9df;
}
body.portal-business_inacioserv .account-language-picker select {
    color: #e1ddd5;
}
.portal-business_inacioserv .account-language-picker option {
    color: #17191c;
    background: #fff;
}
body.portal-business_inacioserv .welcome-footer { color: #bcb4a5; }

.portal-business_holding .welcome-provider-pending:has(.welcome-provider-apple) .welcome-provider-soon,
.portal-business_holding .welcome-provider-pending:has(.welcome-provider-facebook) .welcome-provider-soon {
    color: #fff;
    text-shadow: 0 1px 2px #0005;
}
@media (max-width: 800px) {
    body:not(.portal-business_holding) {
        justify-content: center;
        padding: 42px 20px 120px;
        background-position: 28% center;
    }
    body:not(.portal-business_holding) .portal-composition { justify-content: center; }
    body:not(.portal-business_holding) .welcome {
        width: 100%;
        max-width: 480px;
        padding: 32px 26px;
    }
    body:not(.portal-business_holding) .welcome-inacioserv { margin-bottom: 34px; }
    body:not(.portal-business_holding) .welcome-provider {
        width: 62px;
        height: 72px;
    }
    body:not(.portal-business_holding) .welcome-footer {
        left: 20px;
        right: 20px;
        font-size: 9px;
    }
    body.portal-business_inacioserv {
        background-image: linear-gradient(#101010bc,#101010dc), url('/assets/portal-ribbon.svg');
    }
}
@media (prefers-reduced-transparency: reduce) {
    body:not(.portal-business_holding) .welcome { background: #f4f6f8; }
    body.portal-business_inacioserv .welcome { background: #101010; }
}

/* Original artwork is cropped only in its display windows; no recreated lettering. */
.business-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    margin: 0 0 42px;
}

.business-crest {
    display: block;
    width: 96px;
    height: 96px;
    overflow: hidden;
}

.business-crest img {
    display: block;
    width: auto;
    height: 96px;
    max-width: none;
}

.business-wordmark {
    display: block;
    position: relative;
    width: min(100%, 330px);
    aspect-ratio: 576 / 59;
    overflow: hidden;
}

.business-wordmark img {
    position: absolute;
    top: 0;
    left: -12.1528%;
    width: 112.1528%;
    height: 100%;
    max-width: none;
    filter: brightness(0) invert(1);
}

body.portal-intranet {
    color: #152838;
    background: linear-gradient(90deg, #f5f7f9 0%, #f5f7f9 70%, #122c40 70%, #122c40 100%);
}

body.portal-intranet .portal-composition {
    position: relative;
    max-width: 1180px;
    justify-content: flex-start;
    min-height: 640px;
}

body.portal-intranet .welcome {
    width: 54%;
    max-width: 540px;
    padding: 30px 45px 30px 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.portal-intranet .welcome-inacioserv {
    margin-bottom: 64px;
    padding: 0;
    background: transparent;
}

body.portal-intranet .welcome-label {
    display: inline-block;
    padding: 6px 11px;
    margin-bottom: 24px;
    border-left: 3px solid #ad8d42;
    background: #e7edf1;
    color: #314f64;
    letter-spacing: .22em;
}

body.portal-intranet h1 {
    max-width: 420px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.055em;
}

body.portal-intranet .welcome-description {
    max-width: 370px;
    color: #637383;
}

body.portal-intranet .welcome-provider {
    width: 72px;
    height: 78px;
    background: #fff;
    border-color: #c9d4de;
    border-radius: 3px;
}

body.portal-intranet .welcome-languages {
    margin-top: 38px;
}

body.portal-intranet .portal-identity {
    display: block;
    position: absolute;
    left: 68%;
    top: 0;
    bottom: 0;
    width: 32%;
    overflow: hidden;
    background:
        linear-gradient(#9db7c312 1px, transparent 1px),
        linear-gradient(90deg, #9db7c312 1px, transparent 1px);
    background-size: 38px 38px;
    border: 1px solid #92aeb51c;
}

body.portal-intranet .portal-identity > span {
    display: none;
}

body.portal-intranet .portal-identity::before,
body.portal-intranet .portal-identity::after {
    content: '';
    position: absolute;
    width: 390px;
    height: 390px;
    top: 16%;
    left: 12%;
    border: 1px solid #bed0d650;
    border-radius: 50%;
}

body.portal-intranet .portal-identity::after {
    width: 270px;
    height: 270px;
    top: calc(16% + 60px);
    left: calc(12% + 60px);
    border-color: #c4a15f88;
    box-shadow: 0 0 0 35px #d1dfe50a;
}

body.portal-intranet .welcome-footer {
    right: 34%;
    color: #637383;
}

@media (max-width: 800px) {
    .business-brand { gap: 18px; margin-bottom: 32px; }
    .business-crest { width: 80px; height: 80px; }
    .business-crest img { height: 80px; }

    body.portal-intranet {
        background: #f5f7f9;
        border-top: 8px solid #122c40;
    }

    body.portal-intranet .portal-composition { min-height: 0; }
    body.portal-intranet .portal-identity { display: none; }

    body.portal-intranet .welcome {
        width: 100%;
        padding: 12px 4px;
    }

    body.portal-intranet .welcome-inacioserv { margin-bottom: 44px; }
    body.portal-intranet .welcome-footer { right: 20px; }
}

.welcome-holding-crest {
    display: block;
    width: 100px;
    max-width: 35%;
    height: auto;
    margin: 0 auto 24px;
}

/* Approved holding login: neutral gray, original heraldry as a watermark. */
body.portal-business_holding {
    isolation: isolate;
    position: relative;
    background: #eeeeec;
    color: #303134;
}
.portal-business_holding::before {
    content: '';
    position: fixed;
    z-index: -1;
    pointer-events: none;
    left: min(-110px, -6vw);
    top: 50%;
    transform: translateY(-50%);
    width: min(78vw, 1000px);
    aspect-ratio: 577 / 432;
    background: url('/assets/brasao-inacio.svg') center / contain no-repeat;
    opacity: .08;
}
.portal-business_holding .welcome {
    position: relative;
    background: rgba(250,250,249,.9);
    border-color: #ffffffb3;
    box-shadow: 0 16px 55px #3031340d;
}
.portal-business_holding h1 {
    margin: 28px 0 10px;
    color: #303134;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.portal-business_holding .welcome-description {
    color: #7b7d80;
    font-size: 15px;
    line-height: 1.6;
}
.portal-business_holding .welcome-label,
.portal-business_holding .welcome-for {
    color: #3f4145;
}
.portal-business_holding .welcome-note { color: #7b7d80; }
.portal-business_holding .account-language-picker,
.portal-business_holding .account-language-picker select,
.portal-business_holding .welcome-languages {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #404145;
}
.portal-business_holding .account-language-picker select {
    border-radius: 0;
    outline-offset: 4px;
}
.portal-business_holding .welcome-provider {
    border-color: #c6c6c8;
    box-shadow: none;
}
.portal-business_holding .welcome-footer {
    justify-content: space-between;
    color: #85868a;
    font-size: 10px;
}
.portal-business_holding .welcome-legal { gap: 12px; }
.portal-business_holding .welcome-legal-links { gap: 12px; }
.portal-business_holding .welcome-legal-links a { color: #85868a; }
.portal-business_holding .welcome-country { display: block; }
@media (max-width: 600px) {
    .portal-business_holding::before { width: 130vw; left: -55vw; }
    .portal-business_holding .welcome-legal { white-space: normal; flex-wrap: wrap; justify-content: center; }
}

/* Glass panel, original wordmark, aligned holding copy and bounded labels. */
body.portal-hub .welcome {
    background: rgba(255,255,255,.24);
    border: 1px solid rgba(255,255,255,.85);
    backdrop-filter: blur(24px) saturate(115%);
    -webkit-backdrop-filter: blur(24px) saturate(115%);
    box-shadow: inset 0 1px 0 #fff9, 0 20px 70px #23354115;
}
body.portal-business_inacioserv .business-brand {
    margin-bottom: 48px;
}
.portal-business_holding .welcome-label {
    width: 210px;
    padding-left: 9px;
    letter-spacing: 9px;
    font-size: 16px;
    margin: 0 auto;
}
.portal-business_holding h1,
.portal-business_holding .welcome-description {
    width: 100%;
    max-width: 330px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    text-align-last: auto;
}
.portal-business_holding h1 {
    font-size: 15px;
    letter-spacing: .03em;
}
.portal-business_holding .welcome-description {
    font-size: 15px;
    letter-spacing: 0;
}
.welcome-provider-pending {
    flex: 0 0 auto;
    width: 48px;
}
.welcome-provider-pending .welcome-provider {
    width: 100%;
}
.welcome-provider-soon,
body:not(.portal-business_holding) .welcome-provider-soon {
    left: 2px;
    right: 2px;
    width: auto;
    max-width: calc(100% - 4px);
    bottom: 3px;
    transform: none;
    padding: 0;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.05;
    font-size: 6.5px;
}
.welcome-provider-pending .welcome-provider > svg {
    transform: translateY(-7px);
}
body:not(.portal-business_holding) .welcome-provider-pending {
    width: clamp(52px, 5.4vw, 78px);
}
body:not(.portal-business_holding) .welcome-provider-soon {
    bottom: 6px;
    font-size: 8px;
}
/* Intranet: a distinct, centered two-column access console. */
body.portal-intranet {
    color: #192c3b;
    padding: 80px 32px 110px;
    background:
        radial-gradient(ellipse at 20% 10%, #304c60 0%, transparent 55%),
        #132430;
    border: 0;
}
body.portal-intranet .portal-composition {
    max-width: 900px;
    min-height: 0;
    justify-content: center;
}
body.portal-intranet .portal-identity {
    display: none;
}
body.portal-intranet .welcome {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    grid-template-areas:
        'brand brand'
        'label providers'
        'headline providers'
        'description note'
        'description language';
    column-gap: 68px;
    align-items: start;
    width: 100%;
    max-width: 900px;
    padding: 48px;
    border: 1px solid #ffffff60;
    border-radius: 12px;
    background: linear-gradient(90deg, #fff 53%, #f0f3f5 53%);
    box-shadow: 0 35px 100px #0003;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
body.portal-intranet .welcome-inacioserv {
    grid-area: brand;
    margin: 0 0 62px;
    padding: 0 0 30px;
    border-bottom: 1px solid #d9e0e5;
}
body.portal-intranet .welcome-inacioserv img { max-width: 270px; }
body.portal-intranet .welcome-label {
    grid-area: label;
    padding: 0;
    margin-bottom: 18px;
    border: 0;
    background: transparent;
    color: #8b753f;
    font-size: 10px;
}
body.portal-intranet h1 {
    grid-area: headline;
    font-size: clamp(32px, 3.4vw, 46px);
    margin: 0 0 20px;
    letter-spacing: -.05em;
}
body.portal-intranet .welcome-description {
    grid-area: description;
    margin: 0;
    font-size: 13px;
    max-width: 320px;
}
body.portal-intranet .welcome-providers {
    grid-area: providers;
    justify-content: flex-start;
    gap: 16px;
    padding-top: 12px;
}
body.portal-intranet .welcome-provider-pending { width: 78px; }
body.portal-intranet .welcome-provider {
    width: 78px;
    height: 88px;
    background: #fff;
    border-radius: 8px;
}
body.portal-intranet .welcome-note {
    grid-area: note;
    margin: 22px 0 0;
    text-align: left;
}
body.portal-intranet .welcome-languages {
    grid-area: language;
    margin-top: 25px;
    text-align: left;
}
body.portal-intranet .welcome-error { grid-column: 1 / -1; }
body.portal-intranet .welcome-footer {
    left: 32px;
    right: 32px;
    color: #acb9c3;
}
@media (max-width: 800px) {
    body:not(.portal-business_holding) .welcome-provider-pending { width: 62px; }
    body.portal-intranet { padding: 40px 20px 120px; }
    body.portal-intranet .welcome {
        display: block;
        padding: 32px 26px;
        background: #fafbfc;
        width: 100%;
        max-width: 480px;
    }
    body.portal-intranet .welcome-inacioserv { margin-bottom: 32px; padding-bottom: 25px; }
    body.portal-intranet .welcome-description { margin-bottom: 25px; }
    body.portal-intranet .welcome-provider-pending { width: 70px; }
    body.portal-intranet .welcome-provider { width: 70px; height: 80px; }
}
@media (prefers-reduced-transparency: reduce) {
    body.portal-hub .welcome { background: #f4f6f8; }
}

.portal-business_holding h1,
.portal-business_holding .welcome-description {
    width: auto;
    max-width: none;
    text-align: center;
    text-align-last: auto;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0;
    word-spacing: normal;
}
.portal-business_holding h1 {
    margin-top: 28px;
    margin-bottom: 8px;
    font-weight: 500;
}
.portal-business_holding .welcome-description {
    margin-top: 0;
    margin-bottom: 30px;
}

.portal-business_holding h1 {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .015em;
}
.portal-business_holding .welcome-description {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0;
}

body.portal-business_inacioserv .business-brand {
    flex-direction: row;
    align-items: center;
    gap: 7px;
}
body.portal-business_inacioserv .business-crest {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
}
body.portal-business_inacioserv .business-crest img {
    height: 34px;
    width: auto;
    max-width: none;
}
body.portal-business_inacioserv .business-wordmark {
    flex: 1 1 auto;
    width: min(100%, 290px);
    max-width: 290px;
}
body.portal-business_inacioserv .welcome-footer,
body.portal-business_inacioserv .welcome-footer a,
body.portal-business_inacioserv .welcome-country {
    color: #fff;
}

body.portal-business_inacioserv .business-brand {
    margin-bottom: 10px;
}
body.portal-business_inacioserv .welcome-label {
    width: min(100%, 331px);
    margin: 0 0 38px;
    padding-left: 9px;
    color: #fff;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 9px;
    text-align: center;
}
@media (max-width: 400px) {
    body.portal-business_inacioserv .welcome-label {
        font-size: 18px;
        letter-spacing: 7px;
        padding-left: 7px;
    }
}

body.portal-business_inacioserv .welcome {
    text-align: center;
}
body.portal-business_inacioserv .business-brand {
    justify-content: center;
    margin-bottom: 4px;
}
body.portal-business_inacioserv .business-wordmark {
    flex: 0 1 290px;
}
body.portal-business_inacioserv .welcome-label {
    width: min(100%, 350px);
    margin: 0 auto 34px;
    padding-left: 11px;
    font-size: 24px;
    letter-spacing: 11px;
}
body.portal-business_inacioserv h1,
body.portal-business_inacioserv .welcome-description {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
body.portal-business_inacioserv .welcome-providers {
    justify-content: center;
}
body.portal-business_inacioserv .welcome-note,
body.portal-business_inacioserv .welcome-languages {
    text-align: center;
}
@media (max-width: 400px) {
    body.portal-business_inacioserv .welcome-label {
        font-size: 21px;
        letter-spacing: 9px;
        padding-left: 9px;
    }
}

/* Hub: optical depth without tilting text or controls. */
body.portal-hub .welcome {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid #ffffffc9;
    border-radius: 18px;
    background: linear-gradient(135deg, #ffffff55, #ffffff16 48%, #d9e2e93d);
    backdrop-filter: blur(22px) saturate(120%);
    -webkit-backdrop-filter: blur(22px) saturate(120%);
    box-shadow:
        inset 2px 2px 2px #ffffffe6,
        inset -2px -2px 2px #ffffff65,
        inset 0 0 26px #ffffff33,
        5px 7px 0 -3px #dce5eb66,
        14px 22px 48px #243d5126,
        0 42px 70px #233b4d15;
}
body.portal-hub .welcome::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(145deg, #ffffff50 0%, #ffffff0a 35%, transparent 55%);
}
/* Intranet: open workspace entrance, no split card or borrowed glass imagery. */
body.portal-intranet {
    position: relative;
    min-height: 100svh;
    padding: 150px 40px 110px;
    border: none;
    color: #24282b;
    background: #f7f7f4;
}
body.portal-intranet::before {
    content: '';
    position: fixed;
    left: 40px;
    right: 40px;
    top: 112px;
    height: 1px;
    background: #dfe1dc;
    pointer-events: none;
}
body.portal-intranet .portal-composition {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 1100px;
    min-height: 0;
}
body.portal-intranet .portal-identity { display: none; }
body.portal-intranet .welcome {
    position: static;
    display: block;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    padding: 45px 24px;
    text-align: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
body.portal-intranet .welcome-inacioserv {
    position: absolute;
    top: 48px;
    left: 40px;
    margin: 0;
    padding: 0;
    border: 0;
}
body.portal-intranet .welcome-inacioserv img {
    width: 270px;
    max-width: 42vw;
    height: auto;
}
body.portal-intranet .welcome-label {
    display: block;
    width: auto;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #8b753f;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .38em;
    text-align: center;
}
body.portal-intranet h1 {
    max-width: none;
    margin: 0 auto 22px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.05em;
    text-align: center;
}
body.portal-intranet .welcome-description {
    max-width: 430px;
    margin: 0 auto 42px;
    color: #737974;
    font-size: 14px;
    line-height: 1.8;
    text-align: center;
}
body.portal-intranet .welcome-providers {
    justify-content: center;
    padding: 0;
    gap: 18px;
}
body.portal-intranet .welcome-provider-pending {
    width: 84px;
}
body.portal-intranet .welcome-provider {
    width: 84px;
    height: 90px;
    background: #fff;
    border: 1px solid #d7dcd5;
    border-radius: 12px;
    box-shadow: 0 4px 12px #25302906;
}
body.portal-intranet .welcome-note {
    margin: 26px auto 0;
    color: #7b817b;
    text-align: center;
}
body.portal-intranet .welcome-languages {
    position: absolute;
    top: 48px;
    right: 40px;
    margin: 0;
    color: #545c55;
}
body.portal-intranet .account-language-picker,
body.portal-intranet .account-language-picker select {
    background: transparent;
    border: 0;
    color: #545c55;
    box-shadow: none;
}
body.portal-intranet .welcome-footer {
    color: #858a84;
}
@media (max-width: 600px) {
    body.portal-intranet { padding: 150px 20px 110px; }
    body.portal-intranet::before { left: 20px; right: 20px; top: 108px; }
    body.portal-intranet .welcome-inacioserv { top: 34px; left: 20px; }
    body.portal-intranet .welcome-inacioserv img { width: 210px; max-width: 52vw; }
    body.portal-intranet .welcome-languages { top: 76px; right: 20px; font-size: 11px; }
    body.portal-intranet .welcome { padding: 24px 0; }
    body.portal-intranet .welcome-provider-pending { width: 76px; }
    body.portal-intranet .welcome-provider { width: 76px; height: 84px; }
}
@media (prefers-reduced-transparency: reduce) {
    body.portal-hub .welcome { background: #eef2f4; }
}

.portal-business_holding .portal-composition {
    max-width: 430px;
}
.portal-business_holding .welcome {
    max-width: 430px;
    padding: 34px 30px 32px;
}
.portal-business_holding h1 {
    margin: 24px auto 7px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .02em;
    text-align: center;
}
.portal-business_holding .welcome-description {
    margin: 0 auto 25px;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
}
.portal-business_holding .welcome-note {
    margin-top: 18px;
}
.portal-business_holding .welcome-languages {
    margin-top: 20px;
}
@media (max-width: 400px) {
    .portal-business_holding .welcome {
        padding: 30px 20px;
    }
    .portal-business_holding h1 {
        font-size: 19px;
    }
    .portal-business_holding .welcome-description {
        font-size: 14px;
    }
}

.portal-business_holding h1 { font-size: 22px; }
.portal-business_holding .welcome-description { font-size: 14px; }
body.portal-hub .welcome {
    background: linear-gradient(135deg, #ffffff32, #ffffff08 48%, #d9e2e91f);
    backdrop-filter: blur(12px) saturate(115%);
    -webkit-backdrop-filter: blur(12px) saturate(115%);
}
body.portal-business_inacioserv h1 {
    font-size: clamp(38px, 3.8vw, 58px);
    margin-bottom: 10px;
}
body.portal-business_inacioserv .welcome-description {
    margin-top: 0;
    margin-bottom: 34px;
}
/* Intranet: warm editorial entrance, distinct from the glass and dark portals. */
body.portal-intranet {
    padding: 120px 5vw 100px;
    background: #eae7df;
    color: #282c27;
}
body.portal-intranet::before {
    left: 5vw;
    right: 5vw;
    top: 100px;
    background: #cbc9c0;
}
body.portal-intranet .portal-composition {
    display: block;
    max-width: 1180px;
}
body.portal-intranet .welcome {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        'label label'
        'headline providers'
        'description note'
        'description language';
    align-items: center;
    column-gap: 100px;
    width: 100%;
    max-width: none;
    padding: 70px 0 50px;
    text-align: left;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body.portal-intranet .welcome-inacioserv {
    position: fixed;
    top: 42px;
    left: 5vw;
    margin: 0;
    padding: 0;
}
body.portal-intranet .welcome-inacioserv img {
    max-width: 270px;
    width: 42vw;
}
body.portal-intranet .welcome-label {
    grid-area: label;
    text-align: left;
    margin-bottom: 35px;
    color: #827042;
}
body.portal-intranet h1 {
    grid-area: headline;
    max-width: 500px;
    margin: 0 0 24px;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(46px, 6vw, 84px);
    font-weight: 400 !important;
    text-align: left;
    line-height: 1.03;
}
body.portal-intranet .welcome-description {
    grid-area: description;
    margin: 0;
    max-width: 360px;
    text-align: left;
    color: #73776d;
}
body.portal-intranet .welcome-providers {
    grid-area: providers;
    justify-content: flex-start;
    align-self: end;
    gap: 14px;
    padding: 0 0 24px;
    border-bottom: 1px solid #c5c7bd;
}
body.portal-intranet .welcome-provider,
body.portal-intranet .welcome-provider-pending {
    width: 68px;
}
body.portal-intranet .welcome-provider {
    height: 78px;
    border-color: #bfc5b8;
    border-radius: 2px;
    background: #f8f8f2;
}
body.portal-intranet .welcome-note {
    grid-area: note;
    margin: 24px 0 0;
    text-align: left;
}
body.portal-intranet .welcome-languages {
    grid-area: language;
    position: static;
    margin: 20px 0 0;
    text-align: left;
}
body.portal-intranet .welcome-footer { color: #71786e; }
@media (max-width: 800px) {
    body.portal-intranet { padding-top: 130px; }
    body.portal-intranet .welcome {
        display: block;
        padding: 25px 0;
    }
    body.portal-intranet h1 { font-size: 52px; }
    body.portal-intranet .welcome-description { margin-bottom: 38px; }
    body.portal-intranet .welcome-inacioserv { top: 40px; }
    body.portal-intranet .welcome-inacioserv img { width: 250px; max-width: 70vw; }
    body.portal-intranet .welcome-providers { justify-content: flex-start; gap: 12px; }
}
@media (max-width: 400px) {
    body.portal-intranet .welcome-provider,
    body.portal-intranet .welcome-provider-pending { width: 60px; }
    .portal-business_holding h1 { font-size: 21px; }
}

/* Service Hub: transparent optical glass, depth concentrated on the perimeter. */
body.portal-hub .welcome {
    text-align: center;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 18px;
    backdrop-filter: blur(3px) saturate(108%);
    -webkit-backdrop-filter: blur(3px) saturate(108%);
    box-shadow:
        inset 1px 1px 1px #ffffffed,
        inset -1px -1px 1px #b2c4d36b,
        inset 3px 3px 4px #ffffff55,
        inset -3px -3px 4px #ffffff38,
        3px 4px 0 -1px #dce5eb66,
        10px 18px 35px #20384b18;
}
body.portal-hub .welcome::before {
    inset: 0;
    border-radius: inherit;
    background: transparent;
    box-shadow: inset 0 0 0 4px #ffffff12;
}
body.portal-hub .welcome::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
        linear-gradient(125deg, transparent 8%, #ffffff47 9%, #ffffff0d 12%, transparent 15%) top left / 48% 42% no-repeat,
        linear-gradient(125deg, transparent 45%, #ffffff30 47%, transparent 50%) bottom right / 42% 38% no-repeat,
        radial-gradient(ellipse at top left, #ffffff5c, transparent 62%) top left / 110px 60px no-repeat,
        radial-gradient(ellipse at bottom right, #ffffff47, transparent 65%) bottom right / 100px 55px no-repeat;
}
body.portal-hub .welcome-inacioserv img { margin-left: auto; margin-right: auto; }
body.portal-hub .welcome-label {
    width: auto;
    margin: 0 auto 20px;
    padding-left: .32em;
    font-size: 13px;
    letter-spacing: .32em;
    text-align: center;
}
body.portal-hub h1,
body.portal-hub .welcome-description {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
body.portal-hub .welcome-providers { justify-content: center; }
body.portal-hub .welcome-note,
body.portal-hub .welcome-languages { text-align: center; }
@media (prefers-reduced-transparency: reduce) {
    body.portal-hub .welcome { background: #eef2f4; }
    body.portal-hub .welcome::after { display: none; }
}

/* Hub Service: label integrated with the original wordmark. */
body.portal-hub .welcome-inacioserv { margin-bottom: 4px; }
body.portal-hub .welcome-label {
    width: min(100%, 330px);
    margin: 0 auto 34px;
    padding-left: .3em;
    font-size: clamp(18px, 2vw, 23px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .3em;
}
body.portal-hub .welcome-provider-linkedin { color: #0a66c2; }
body.portal-hub .welcome-providers { flex-wrap: wrap; }
@media (max-width: 600px) {
    body.portal-hub .welcome-providers { gap: 10px; }
    body.portal-hub .welcome-provider,
    body.portal-hub .welcome-provider-pending {
        width: 48px;
        flex-basis: 48px;
    }
}

body.portal-hub .hub-signup {
    margin: 22px auto 0;
    font-size: 13px;
    line-height: 1.6;
    color: #4c5863;
    text-align: center;
}
body.portal-hub .hub-signup-link {
    color: #213f57;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.portal-hub .hub-signup-link:focus-visible {
    outline: 2px solid #213f57;
    outline-offset: 4px;
}
body.portal-hub .hub-registration-description {
    color: #4c5863;
    font-size: 14px;
    line-height: 1.6;
    margin: 0 auto 24px;
}

/* Hub: stronger title with a compact subtitle. */
body.portal-hub .welcome-label { color: #000; }
body.portal-hub h1 {
    font-size: clamp(40px, 4vw, 62px);
    margin-bottom: 8px;
}
body.portal-hub .welcome-description {
    margin-top: 0;
    line-height: 1.5;
}
