/* Editable documents and careers: shared Zayman shell, isolated page surfaces. */
.zayman-textpage,
.zayman-careers {
    --textpage-ink: #18263b;
    --textpage-muted: #596b83;
    --textpage-line: #dfe7f2;
    width: 100%;
    min-width: 0;
    color: var(--zayman-text, #1f2d3d);
    font: inherit;
    overflow-wrap: anywhere;
}

.zayman-textpage [hidden],
.zayman-careers [hidden] { display: none !important; }

body.site .zayman-textpage a,
body.site .zayman-careers a { text-decoration: none; }

.zayman-textpage :where(a, summary):focus-visible,
.zayman-careers :where(a, button, input, textarea, summary):focus-visible {
    outline: 3px solid rgba(63, 110, 203, 0.3);
    outline-offset: 3px;
}

.zayman-textpage__hero,
.zayman-careers__invitation {
    position: relative;
    overflow: hidden;
    padding: 36px 40px;
    border: 1px solid var(--textpage-line);
    border-radius: 34px;
    background:
        radial-gradient(ellipse at 100% 0%, rgba(92, 140, 230, 0.14), transparent 53%),
        linear-gradient(135deg, #fbfdff 0%, #eef4ff 54%, #e5efff 100%);
}

.zayman-textpage__hero { margin-bottom: 24px; }

.zayman-textpage__eyebrow {
    display: block;
    margin-bottom: 16px;
    color: #3159aa;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: 0.04em;
}

body.site .zayman-textpage h1,
body.site .zayman-careers h1 {
    max-width: 850px;
    margin: 0;
    color: var(--textpage-ink);
    font-size: clamp(32px, 3.5vw, 44px);
    font-weight: 800;
    line-height: 1.13;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.zayman-textpage__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    max-width: 880px;
}

.zayman-textpage__grid--with-toc {
    max-width: none;
    grid-template-columns: 224px minmax(0, 1fr);
}

.zayman-textpage__reader,
.zayman-careers__form-card {
    min-width: 0;
    padding: 36px;
    border: 1px solid var(--textpage-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 10px 34px rgba(31, 61, 114, 0.06);
}

.zayman-prose {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #526176;
    font-size: 17px;
    line-height: 1.75;
}

.zayman-prose > :first-child { margin-top: 0; }
.zayman-prose > :last-child { margin-bottom: 0; }
.zayman-prose :where(p, ul, ol, blockquote, table) { margin: 0 0 18px; }
.zayman-prose :where(p, ul, ol) { max-width: 72ch; }
.zayman-prose :where(ul, ol) { padding-left: 24px; }
.zayman-prose li + li { margin-top: 7px; }

body.site .zayman-prose h2 {
    margin: 36px 0 16px;
    color: var(--textpage-ink);
    font-size: 26px;
    font-weight: 750;
    line-height: 1.27;
    letter-spacing: -0.02em;
    scroll-margin-top: 24px;
}

body.site .zayman-prose h3 {
    margin: 26px 0 12px;
    color: var(--textpage-ink);
    font-size: 20px;
    line-height: 1.35;
}

.zayman-prose :where(section, h2, h3) { scroll-margin-top: 24px; }
.zayman-prose :where(img, video, iframe) { max-width: 100%; }
.zayman-prose table { table-layout: fixed; font-size: 16px; }
.zayman-prose :where(th, td) { overflow-wrap: anywhere; }
.zayman-prose blockquote {
    padding: 16px 20px;
    border-left: 3px solid #3f6ecb;
    border-radius: 0 12px 12px 0;
    background: #edf4ff;
}

.zayman-textpage__toc {
    position: sticky;
    top: 24px;
    min-width: 0;
    padding: 12px 0;
}

.zayman-textpage__toc summary {
    padding: 8px 12px;
    color: #667085;
    font-size: 16px;
    font-weight: 750;
    cursor: pointer;
}

.zayman-textpage__toc ol { margin: 10px 0 0; padding: 0; list-style: none; }
.zayman-textpage__toc li { margin: 0; }

body.site .zayman-textpage__toc a {
    display: block;
    padding: 11px 12px;
    border-left: 2px solid transparent;
    border-radius: 0 10px 10px 0;
    color: #596b83;
    font-size: 16px;
    line-height: 1.5;
}

body.site .zayman-textpage__toc a:hover,
body.site .zayman-textpage__toc a:focus-visible {
    border-left-color: #3f6ecb;
    background: #eaf1fd;
    color: #3159aa;
}

.zayman-textpage--faq .zayman-prose h2:not(:first-child) {
    padding-top: 28px;
    border-top: 1px solid #edf1f6;
}

.zayman-textpage--notice {
    max-width: 820px;
    padding: 40px;
    border: 1px solid var(--textpage-line);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 10px 34px rgba(31, 61, 114, 0.06);
}

.zayman-textpage--notice .zayman-textpage__hero,
.zayman-textpage--notice .zayman-textpage__reader {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.zayman-textpage__notice-icon {
    display: grid;
    width: 56px;
    height: 56px;
    margin-bottom: 24px;
    place-items: center;
    border-radius: 17px;
    background: #edf4ff;
    color: #3f6ecb;
}

.zayman-textpage__notice-icon svg { width: 30px; height: 30px; }

.zayman-careers {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 24px;
    align-items: start;
}

.zayman-careers__invitation { padding: 38px 32px; }
.zayman-careers__intro { margin-top: 24px; }
.zayman-careers__form-card { padding: 30px; scroll-margin-top: 24px; }

body.site .zayman-careers__form-card > h2 {
    margin: 0;
    color: var(--textpage-ink);
    font-size: 26px;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.zayman-careers__description { margin: 10px 0 0; color: #667085; font-size: 16px; }
.zayman-careers__form { display: grid; gap: 18px; margin-top: 26px; }
.zayman-careers__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.zayman-careers__field { display: grid; gap: 7px; min-width: 0; }
.zayman-careers__field > label,
.zayman-careers__upload > label,
.zayman-careers__resume > legend { color: #344054; font-size: 16px; font-weight: 650; }
.zayman-careers__field > label > span[aria-hidden],
.zayman-careers__resume > legend > span { color: #3159aa; }
.zayman-careers__optional { display: inline-block; margin-left: 5px; font-size: 14px; font-weight: 400; color: #667085; }

body.site .zayman-careers__input {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    margin: 0;
    padding: 11px 14px;
    border: 1px solid #dce5f2;
    border-radius: 13px;
    background: #f9fbfe;
    color: #1f2d3d;
    font: inherit;
    font-size: 16px;
    line-height: 1.5;
    box-shadow: none;
}

body.site textarea.zayman-careers__input { min-height: 120px; resize: vertical; }
body.site .zayman-careers__input::placeholder { color: #667085; opacity: 1; }
body.site .zayman-careers__input:focus { border-color: #81a4e9; background: #fff; }
body.site .zayman-careers__input[aria-invalid="true"] { border-color: #be4557; }
.zayman-careers__resume { display: grid; gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.zayman-careers__resume > legend { padding: 0; margin-bottom: 10px; }
.zayman-careers__hint { margin: 0; color: #667085; font-size: 14px; line-height: 1.5; }
.zayman-careers__upload { display: grid; gap: 10px; min-width: 0; padding: 16px; border: 1px dashed #a9bfdc; border-radius: 14px; background: #f7faff; }
body.site .zayman-careers__upload input[type="file"] { width: 100%; min-width: 0; max-width: 100%; padding: 0; border: 0; border-radius: 0; color: #596b83; font-size: 16px; background: transparent; }
.zayman-careers__upload input::file-selector-button { max-width: 100%; min-height: 44px; margin-right: 10px; padding: 9px 11px; border: 1px solid #cad9ee; border-radius: 9px; color: #3159aa; background: #fff; font: inherit; font-weight: 650; cursor: pointer; }
.zayman-careers__file-name { font-size: 14px; color: #3159aa; overflow-wrap: anywhere; }
.zayman-careers__error { color: #9d3042; font-size: 16px; line-height: 1.5; }

body.site .zayman-careers__consent {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
    color: #526176;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    cursor: pointer;
}

body.site .zayman-careers__consent input { width: 18px; height: 18px; margin: 4px 0 0; accent-color: #3f6ecb; }
.zayman-careers__consent-document { min-width: 0; }
.zayman-careers__consent-document summary { padding: 8px 0; color: #3159aa; font-size: 16px; cursor: pointer; }
.zayman-careers__consent-document .zayman-prose { margin-top: 12px; padding: 18px; border-radius: 13px; background: #f4f7fb; font-size: 16px; }
body.site .zayman-careers__consent-document .zayman-prose h2 { font-size: 22px; }

body.site .zayman-careers__submit {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border: 1px solid #3f6ecb;
    border-radius: 13px;
    background: linear-gradient(135deg, #3f6ecb, #3159aa);
    color: #fff;
    font: inherit;
    font-size: 16px;
    font-weight: 750;
    line-height: 1.5;
    box-shadow: 0 8px 20px rgba(63, 110, 203, 0.2);
    cursor: pointer;
}

body.site .zayman-careers__submit:hover { background: #3159aa; color: #fff; }
.zayman-careers__status { margin-top: 22px; padding: 16px; border: 1px solid #dfe7f2; border-radius: 13px; background: #f4f7fb; font-size: 16px; }
.zayman-careers__status :where(p, ul) { margin: 0 0 10px; }
.zayman-careers__status > :last-child { margin-bottom: 0; }
.zayman-careers__status ul { padding-left: 22px; }
.zayman-careers__status--success { border-color: #bce5d6; background: #eefaf5; color: #17694e; }
.zayman-careers__status--error { border-color: #f0c5cc; background: #fff3f5; color: #9d3042; }
.zayman-careers__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 900px) {
    .zayman-careers { grid-template-columns: minmax(0, 1fr); }
    .zayman-careers__invitation { padding: 28px; }
    .zayman-textpage__grid--with-toc { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .zayman-textpage__toc { position: static; padding: 10px 14px; border: 1px solid var(--textpage-line); border-radius: 17px; background: #fff; }
}

@media (max-width: 640px) {
    body.site .zayman-textpage h1,
    body.site .zayman-careers h1 { font-size: 30px; line-height: 1.16; letter-spacing: -0.03em; }
    body.site .zayman-prose h2,
    body.site .zayman-careers__form-card > h2 { font-size: 24px; line-height: 1.3; }
    .zayman-textpage__hero,
    .zayman-careers__invitation { padding: 26px 22px; border-radius: 24px; }
    .zayman-textpage__reader,
    .zayman-careers__form-card { padding: 24px 20px; border-radius: 20px; }
    .zayman-textpage--notice { padding: 28px 22px; border-radius: 24px; }
    .zayman-careers__row { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .zayman-careers { gap: 18px; }
    .zayman-careers__intro { margin-top: 18px; }
    .zayman-prose { font-size: 16px; }
    .zayman-careers__upload { padding: 14px 12px; }
}

@media (max-width: 360px) {
    body.site .zayman-textpage h1,
    body.site .zayman-careers h1 { font-size: 28px; }
    .zayman-textpage__hero,
    .zayman-careers__invitation,
    .zayman-textpage--notice { padding-inline: 18px; }
    .zayman-textpage__reader,
    .zayman-careers__form-card { padding-inline: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .zayman-textpage *,
    .zayman-careers * { scroll-behavior: auto; animation: none; transition: none; }
}

@media print {
    .zayman-textpage__toc,
    .zayman-careers__form-card { display: none; }
    .zayman-textpage__grid,
    .zayman-careers { display: block; max-width: none; }
    .zayman-textpage__hero,
    .zayman-textpage__reader,
    .zayman-careers__invitation,
    .zayman-textpage--notice { padding: 0; border: 0; background: #fff; box-shadow: none; }
}
