/* Presentation shared only by the four Corporate pages. Form markup and
   submission/validation scripts deliberately remain unchanged. */
#page .container.about-page-shell,
#page .container.business-intro,
#page .container.business-faq,
#page .container#business-contact {
    width: calc(100% - clamp(32px, 6vw, 160px));
    max-width: 1600px;
    margin-inline: auto;
    padding-inline: 0;
}

#page:has(> .about-page-shell),
#page:has(> .business-intro) {
    background: linear-gradient(180deg, #f4f7fa 0, #fff 700px);
}

#page .about-page-shell {
    padding-top: clamp(24px, 3vw, 48px);
    padding-bottom: clamp(40px, 5vw, 80px) !important;
}

#page .about-page-heading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    justify-content: flex-start;
    gap: 24px;
    min-height: 186px;
    margin-bottom: 32px;
    padding: clamp(24px, 4vw, 64px);
    border: 0;
    border-radius: 24px;
    background: linear-gradient(115deg, #002c53, #003c70 60%, #175d7e);
    box-shadow: 0 16px 40px rgba(0, 44, 83, .1);
    text-align: start;
}

#page .about-page-heading .about-heading-icon {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 18px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font-size: 28px;
}

#page .about-page-heading .about-page-title {
    flex: 1 1 280px;
    margin: 0 !important;
    color: #fff;
    font-size: clamp(26px, 3vw, 46px);
    font-weight: 600;
    line-height: 1.3;
    text-align: start;
    text-wrap: balance;
}

#page .about-contact-grid,
#page .about-job-grid,
#page .about-logo-grid {
    gap: clamp(20px, 2.5vw, 40px);
}

#page .about-info-card,
#page .about-logo-card {
    padding: clamp(24px, 3vw, 48px);
    border-color: #e0e8ef;
    border-radius: 24px;
    box-shadow: 0 12px 36px rgba(0, 44, 83, .045);
    color: #455a6b;
    line-height: 1.85;
}

#page .about-info-card h3 {
    margin: 0 0 20px !important;
    color: #003c70;
    font-size: clamp(21px, 1.8vw, 27px);
    line-height: 1.4;
}

#page .about-contacts-page .about-info-card {
    background: linear-gradient(145deg, #fff, #f3f7fa);
}

#page .about-company-details {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-color: #d7e3ec;
    line-height: 1.9;
}

/* Email addresses are identifiers: allow a safe wrap on narrow phones. */
#page .about-company-details a { overflow-wrap: anywhere !important; }

#page .about-mission { max-width: 70ch; }
#page .about-mission > h3::before,
#page .about-contacts-layout .about-mission > .about-contact-section-title::before {
    content: '';
    display: block;
    width: 34px;
    height: 4px;
    margin-bottom: 18px;
    border-radius: 2px;
    background: #b7410e;
}

#page .about-job-grid { align-items: stretch; }
#page .about-job-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    align-self: stretch;
}
#page .about-job-copy .about-copy { max-width: 70ch; }
#page .about-job-copy .about-copy > b:first-child,
#page .about-job-copy .about-copy > strong:first-child {
    color: #003c70;
    font-size: clamp(20px, 1.7vw, 26px);
    font-weight: 600;
    line-height: 1.45;
}
#page .about-job-copy .about-copy > :first-child { margin-top: 0 !important; }
#page .about-job-page .about-job-image {
    display: block;
    align-self: start;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: contain;
    border: 0;
    border-radius: 24px;
    box-shadow: 0 14px 40px rgba(0, 44, 83, .12);
}
#page .about-primary-action {
    min-height: 52px;
    margin-top: 28px;
    padding: 14px 24px;
    border-radius: 12px;
}

#page .about-logos-page {
    display: grid;
    grid-template-columns: minmax(220px, .65fr) minmax(0, 2fr);
    gap: 0 32px;
}
#page .about-logos-page::before,
#page .about-logos-page::after { display: none; }
#page .about-logos-page .about-page-heading { grid-column: 1 / -1; }
#page .about-brand-panel {
    align-self: stretch;
    align-items: center;
    min-width: 0;
    padding: 40px 24px;
    border: 1px solid #e0e8ef;
    border-radius: 24px;
    background: linear-gradient(145deg, #fff8ef, #edf5fa);
}
#page .about-brand-panel .logo-big {
    width: 240px;
    height: auto;
    aspect-ratio: 200 / 88;
}
#page .about-logo-grid { gap: 24px; align-items: stretch; }
#page .about-logo-card { padding: 24px; }
#page .about-logo-card:focus-within {
    border-color: #97b4cb;
    box-shadow: 0 12px 36px rgba(0, 44, 83, .08);
}
#page .about-logo-preview {
    min-height: 140px;
    padding: 24px 16px;
    margin-bottom: 24px;
    border: 0;
    border-radius: 16px;
    background-color: #f2f6fa;
}
#page .about-logo-code {
    height: 200px;
    border-color: #d6e0e9;
    background: #f7fafe;
    color: #334d63;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace !important;
    font-size: 14px !important;
    line-height: 1.7;
    /* Wrap URLs visually; the original value copied to the clipboard is unchanged. */
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

#page .about-copy-tools {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px 16px;
    margin-top: 16px;
}
#page .about-copy-tools[hidden] { display: none; }
#page .about-copy-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 9px;
    min-height: 44px;
    max-width: 100%;
    padding: 10px 18px;
    border: 1px solid #003c70;
    border-radius: 10px;
    background: #003c70;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    white-space: normal;
    cursor: pointer;
}
#page .about-copy-button svg { flex: 0 0 18px; width: 18px; height: 18px; }
#page .about-copy-button:hover { background: #002c53; border-color: #002c53; }
#page .about-copy-button:focus-visible { outline: 3px solid #b7410e; outline-offset: 4px; }
#page .about-copy-button[aria-busy="true"] { cursor: wait; opacity: .7; }
#page .about-copy-button.is-copied { background: #176346; border-color: #176346; }
#page .about-copy-status {
    min-width: 0;
    max-width: 100%;
    color: #176346;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
}
#page .about-copy-status.is-error { color: #a33319; }

/* Remove the old centered ten-column wrapper, without moving form nodes. */
#page #business-contact > .row { margin-inline: 0; }
#page #business-contact > .row > .col-lg-10 {
    float: none;
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
}
#page #business-contact .contact-card { max-width: none; margin-inline: 0; }

/* The shared form's existing field, validation and CAPTCHA rules are retained. */
#page .about-page-shell .corporate-form-card,
#page #business-contact .corporate-form-card {
    border-color: #dce6ee;
    border-radius: 24px;
    box-shadow: 0 12px 36px rgba(0, 44, 83, .07);
}
#page .about-page-shell .corporate-form-heading,
#page #business-contact .corporate-form-heading {
    padding: 26px 28px;
    border-color: #dde7ef;
    border-radius: 23px 23px 0 0;
    background: #eef4f8;
}
#page .about-page-shell .corporate-form-title,
#page #business-contact .corporate-form-title { color: #003c70; }

@media (min-width: 1200px) {
    #page .about-contact-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
    #page .about-job-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
    /* Keep the editorial introduction beside the existing form, preserving
       its DOM order and comfortable widths for the translated field labels. */
    #page #business-contact > .row > .col-lg-10 {
        display: grid;
        grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
        align-items: start;
        gap: clamp(28px, 3vw, 48px);
    }
    #page #business-contact .business-contact-intro {
        position: sticky;
        top: var(--anchor-offset, 120px);
        align-self: start;
        min-width: 0;
        max-height: calc(100vh - var(--anchor-offset, 120px) - 24px);
        max-height: calc(100dvh - var(--anchor-offset, 120px) - 24px);
        overflow-y: auto;
        margin-bottom: 0;
        padding: clamp(24px, 2.4vw, 38px);
        border-radius: 0 24px 24px 0;
    }
    #page #business-contact .business-contact-intro h2 {
        font-size: clamp(25px, 2.1vw, 34px);
        line-height: 1.4;
    }
}

/* Short windows must keep the complete introduction in the document flow. */
@media (min-width: 1200px) and (max-height: 700px) {
    #page #business-contact .business-contact-intro {
        position: static;
        max-height: none;
        overflow: visible;
    }
}

@media (max-width: 1199px) {
    #page .about-logos-page { grid-template-columns: minmax(0, 1fr); }
    #page .about-brand-panel { padding: 28px; margin-bottom: 24px; }
    #page .about-brand-panel .logo-big { width: 200px; }
}

@media (max-width: 991px) {
    #page .about-page-heading { min-height: 160px; }
    /* Let the image height participate in normal flow as the viewport rotates. */
    #page .about-job-page .about-job-grid { display: flex; flex-direction: column; }
    #page .about-job-page .about-job-image { order: -1; }
}

@media (max-width: 767px) {
    #page .about-page-heading {
        gap: 18px;
        min-height: 0;
        margin-bottom: 24px;
        padding: 28px 22px;
        border-radius: 20px;
    }
    #page .about-page-heading .about-heading-icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        border-radius: 14px;
        font-size: 24px;
    }
    #page .about-page-heading .about-page-title {
        flex-basis: 100%;
        font-size: clamp(24px, 5.6vw, 32px);
    }
    #page .about-info-card,
    #page .about-logo-card { padding: 24px 20px; border-radius: 20px; }
    #page .about-company-details { margin-bottom: 24px; padding-bottom: 24px; }
    #page .about-job-page .about-job-image { border-radius: 20px; }
    #page .about-primary-action { width: 100%; padding-inline: 14px; }
    #page .about-brand-panel { border-radius: 20px; }
    #page .about-logo-code { font-size: 16px !important; }
    #page .about-copy-tools { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    #page .about-copy-button { width: 100%; }
    #page .about-copy-status { min-height: 1.6em; text-align: center; }
    #page .about-page-shell .corporate-form-heading,
    #page #business-contact .corporate-form-heading { padding: 22px 18px; }
    #page .about-page-shell .corporate-form-title,
    #page #business-contact .corporate-form-title { flex-wrap: wrap; }
    #page .about-page-shell .corporate-form-title > span:last-child,
    #page #business-contact .corporate-form-title > span:last-child { min-width: 0; max-width: 100%; }
}

@media (max-width: 359px) {
    #page .about-page-heading { padding-inline: 16px; }
    #page .about-info-card,
    #page .about-logo-card { padding-inline: 16px; }
    #page .about-info-card h3 { font-size: 20px; }
}

#page .about-contacts-layout,
#page .about-contact-primary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: clamp(16px, 2.4vw, 32px);
}

#page .about-contacts-layout .about-company-details {
    margin: 0;
    padding: clamp(16px, 2vw, 24px) clamp(18px, 2.5vw, 30px);
    border: 1px solid #dce6ee;
    background: #fff;
    font-size: 15px;
    line-height: 1.65;
}

#page .about-contacts-layout .about-contact-section-title {
    margin: 0 0 8px;
    color: #003c70;
    font-size: clamp(20px, 1.8vw, 26px);
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
    text-align: start;
}

#page .about-contacts-layout .about-company-details small {
    display: block;
    margin-block-start: 4px;
    color: #536779;
    font-size: 13px;
}

#page .about-contacts-layout .about-mission { max-width: none; background: #fff; }
#page .about-contacts-layout .about-mission > .about-contact-section-title { margin-bottom: 18px; }

@media (min-width: 992px) {
    #page .about-contacts-layout { grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr); }
}
