/* Bloom CSS Logistics: brilliant-tutor-network */
/*
 * Brilliant Maths Tutors — Tutor Network Recruitment v1.0 — BODY / DEFERRED
 * CSS Logistics suggested path: pages/brilliant-tutor-recruitment.css
 * Assignment: Recruitment page only | Strategy: deferred | Priority: 50
 * Requires the critical recruitment stylesheet for shared variables/buttons.
 */

.bmt-recruit-strip { border-bottom: 1px solid var(--bmt-recruit-line); background: #fff; }
.bmt-recruit-strip__grid {
    display: grid;
    grid-template-columns: .85fr 1.75fr auto;
    gap: 34px;
    align-items: center;
    padding-block: 25px;
}
.bmt-recruit-strip__grid p { margin-bottom: 0; }
.bmt-recruit-strip__grid > p:nth-child(2) { color: var(--bmt-recruit-muted); font-size: .9rem; }
.bmt-recruit-strip a { color: var(--bmt-recruit-navy); font-size: .86rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.bmt-recruit-strip a span { color: var(--bmt-recruit-orange); }

.bmt-recruit-section { padding-block: clamp(72px, 9vw, 118px); }
.bmt-recruit-heading { max-width: 760px; margin-bottom: 42px; }
.bmt-recruit-heading--center { margin-inline: auto; text-align: center; }
.bmt-recruit-heading h2,
.bmt-recruit-network h2,
.bmt-recruit-geo h2,
.bmt-recruit-faq h2,
.bmt-recruit-apply h2 {
    margin-bottom: 16px;
    color: var(--bmt-recruit-navy);
    font-size: clamp(2.35rem, 4.5vw, 4.3rem);
    letter-spacing: -.052em;
}
.bmt-recruit-heading > p:last-child,
.bmt-recruit-network__copy > p,
.bmt-recruit-geo__grid > div:first-child > p,
.bmt-recruit-apply__copy > p {
    color: var(--bmt-recruit-muted);
    font-size: 1.02rem;
}

.bmt-recruit-independence { background: var(--bmt-recruit-mist); }
.bmt-recruit-independence-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.bmt-recruit-feature-card {
    position: relative;
    min-height: 300px;
    overflow: hidden;
    padding: 30px 26px;
    border: 1px solid var(--bmt-recruit-line);
    border-radius: var(--bmt-recruit-radius);
    background: #fff;
    box-shadow: var(--bmt-recruit-shadow-soft);
}
.bmt-recruit-feature-card > span {
    position: absolute;
    right: 18px;
    top: 8px;
    color: rgba(2,48,71,.08);
    font-size: 5.5rem;
    font-weight: 950;
    line-height: 1;
}
.bmt-recruit-feature-card h3 {
    position: relative;
    z-index: 1;
    margin: 54px 0 12px;
    color: var(--bmt-recruit-navy);
    font-size: 1.45rem;
    letter-spacing: -.03em;
}
.bmt-recruit-feature-card p { position: relative; z-index: 1; margin-bottom: 0; color: var(--bmt-recruit-muted); }
.bmt-recruit-feature-card--blue { border-top: 5px solid var(--bmt-recruit-blue); }
.bmt-recruit-feature-card--yellow { border-top: 5px solid var(--bmt-recruit-yellow); background: #fff9e8; }
.bmt-recruit-feature-card--navy { border-color: #0c536d; background: linear-gradient(145deg, var(--bmt-recruit-navy), #075d78); }
.bmt-recruit-feature-card--navy > span { color: rgba(255,255,255,.08); }
.bmt-recruit-feature-card--navy h3 { color: #fff; }
.bmt-recruit-feature-card--navy p { color: #c7e7ef; }
.bmt-recruit-feature-card--paper { border-top: 5px solid var(--bmt-recruit-orange); }

.bmt-recruit-network { background: linear-gradient(135deg, var(--bmt-recruit-navy-2), #064b64); color: #fff; }
.bmt-recruit-network__grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(50px, 7vw, 90px);
    align-items: start;
}
.bmt-recruit-network__copy { position: sticky; top: 34px; }
.bmt-recruit-network h2 { color: #fff; }
.bmt-recruit-network__copy > p { color: #c9e7ef; }
.bmt-recruit-network__note {
    display: grid;
    gap: 4px;
    margin-top: 26px;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,.19);
    border-radius: 16px;
    background: rgba(255,255,255,.06);
}
.bmt-recruit-network__note strong { color: var(--bmt-recruit-yellow); }
.bmt-recruit-network__note span { color: #d9f3fb; font-size: .9rem; }

.bmt-recruit-flow { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.bmt-recruit-flow li {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 16px;
    align-items: start;
    padding: 21px 22px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 18px;
    background: rgba(255,255,255,.07);
}
.bmt-recruit-flow > li > span {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    background: var(--bmt-recruit-yellow);
    color: var(--bmt-recruit-navy-2);
    font-weight: 900;
}
.bmt-recruit-flow h3 { margin-bottom: 5px; color: #fff; font-size: 1.08rem; }
.bmt-recruit-flow p { margin-bottom: 0; color: #b9dfe9; font-size: .9rem; }

.bmt-recruit-fit { background: #fff; }
.bmt-recruit-fit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: clamp(38px, 6vw, 76px);
    align-items: start;
}
.bmt-recruit-fit-list { display: grid; gap: 14px; }
.bmt-recruit-fit-list article {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 16px;
    padding: 21px;
    border: 1px solid var(--bmt-recruit-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--bmt-recruit-shadow-soft);
}
.bmt-recruit-fit-list article > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #e7f7fb;
    color: #057a98;
    font-weight: 950;
}
.bmt-recruit-fit-list h3 { margin-bottom: 5px; color: var(--bmt-recruit-navy); font-size: 1.08rem; }
.bmt-recruit-fit-list p { margin-bottom: 0; color: var(--bmt-recruit-muted); font-size: .91rem; }

.bmt-recruit-profile-card {
    position: sticky;
    top: 34px;
    padding: 30px;
    border-radius: var(--bmt-recruit-radius-lg);
    background: var(--bmt-recruit-mist);
    box-shadow: var(--bmt-recruit-shadow-soft);
}
.bmt-recruit-profile-card h3 { margin-bottom: 22px; color: var(--bmt-recruit-navy); font-size: 2rem; letter-spacing: -.04em; }
.bmt-recruit-profile-card dl { display: grid; gap: 0; margin: 0; }
.bmt-recruit-profile-card dl > div {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 16px;
    padding-block: 13px;
    border-top: 1px solid var(--bmt-recruit-line);
}
.bmt-recruit-profile-card dt { color: var(--bmt-recruit-navy); font-weight: 850; }
.bmt-recruit-profile-card dd { margin: 0; color: var(--bmt-recruit-muted); }

.bmt-recruit-geo {
    position: relative;
    overflow: hidden;
    background: #e9f7fb;
}
.bmt-recruit-geo::after {
    content: "⌖";
    position: absolute;
    right: 5vw;
    bottom: -70px;
    color: rgba(33,158,188,.09);
    font-size: 18rem;
    line-height: 1;
}
.bmt-recruit-geo__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: clamp(40px, 7vw, 90px);
    align-items: center;
}
.bmt-recruit-geo__examples {
    padding: 30px;
    border: 1px solid rgba(33,158,188,.28);
    border-radius: var(--bmt-recruit-radius);
    background: rgba(255,255,255,.78);
    box-shadow: var(--bmt-recruit-shadow-soft);
}
.bmt-recruit-geo__examples span {
    display: block;
    margin-bottom: 8px;
    color: #087b98;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.bmt-recruit-geo__examples strong { display: block; color: var(--bmt-recruit-navy); font-size: 1.45rem; line-height: 1.3; }
.bmt-recruit-geo__examples p { margin: 10px 0 0; color: var(--bmt-recruit-muted); }

.bmt-recruit-steps { background: #fff; }
.bmt-recruit-join-steps {
    counter-reset: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.bmt-recruit-join-steps li {
    padding: 28px 24px;
    border: 1px solid var(--bmt-recruit-line);
    border-radius: var(--bmt-recruit-radius);
    background: #fff;
    box-shadow: var(--bmt-recruit-shadow-soft);
}
.bmt-recruit-join-steps span { color: var(--bmt-recruit-yellow); font-size: 2.5rem; font-weight: 950; line-height: 1; }
.bmt-recruit-join-steps h3 { margin: 18px 0 9px; color: var(--bmt-recruit-navy); font-size: 1.25rem; }
.bmt-recruit-join-steps p { margin-bottom: 0; color: var(--bmt-recruit-muted); font-size: .91rem; }

.bmt-recruit-faq { background: var(--bmt-recruit-mist); }
.bmt-recruit-faq__grid {
    display: grid;
    grid-template-columns: .76fr 1.24fr;
    gap: clamp(40px, 7vw, 86px);
    align-items: start;
}
.bmt-recruit-faq__grid > div:first-child { position: sticky; top: 34px; }
.bmt-recruit-faq__list { display: grid; gap: 10px; }
.bmt-recruit-faq details {
    border: 1px solid var(--bmt-recruit-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(2,48,71,.05);
}
.bmt-recruit-faq summary {
    position: relative;
    padding: 18px 50px 18px 20px;
    color: var(--bmt-recruit-navy);
    cursor: pointer;
    font-weight: 850;
    list-style: none;
}
.bmt-recruit-faq summary::-webkit-details-marker { display: none; }
.bmt-recruit-faq summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--bmt-recruit-blue);
    font-size: 1.5rem;
    transition: transform .16s ease;
}
.bmt-recruit-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.bmt-recruit-faq details p { margin: 0; padding: 0 20px 20px; color: var(--bmt-recruit-muted); }

.bmt-recruit-apply { background: #fff; }
.bmt-recruit-apply__shell {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(40px, 6vw, 76px);
    align-items: start;
}
.bmt-recruit-apply__copy {
    position: sticky;
    top: 34px;
    padding: 10px 0;
}
.bmt-recruit-apply__copy ul {
    display: grid;
    gap: 9px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}
.bmt-recruit-apply__copy li {
    position: relative;
    padding-left: 26px;
    color: var(--bmt-recruit-navy);
    font-weight: 750;
}
.bmt-recruit-apply__copy li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #07809e;
    font-weight: 950;
}
.bmt-recruit-apply__form {
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid var(--bmt-recruit-line);
    border-radius: var(--bmt-recruit-radius-lg);
    background: var(--bmt-recruit-mist);
    box-shadow: var(--bmt-recruit-shadow);
}
.bmt-recruit-form-fallback h3 { margin-bottom: 12px; color: var(--bmt-recruit-navy); font-size: 1.7rem; }
.bmt-recruit-form-fallback p { color: var(--bmt-recruit-muted); }
.bmt-recruit-form-fallback .bmt-recruit-button { margin-top: 8px; }

/* Dedicated CF7 form support when the "Tutor Network Application" form exists. */
.bmt-recruit-apply__form .wpcf7 form { margin: 0; }
.bmt-recruit-apply__form .wpcf7 p { margin: 0 0 14px; }
.bmt-recruit-apply__form .wpcf7 label {
    display: grid;
    gap: 6px;
    color: var(--bmt-recruit-navy);
    font-size: .86rem;
    font-weight: 800;
}
.bmt-recruit-apply__form .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.bmt-recruit-apply__form .wpcf7 select,
.bmt-recruit-apply__form .wpcf7 textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--bmt-recruit-line);
    border-radius: 12px;
    background: #fff;
    color: var(--bmt-recruit-ink);
    padding: 12px 14px;
    font: inherit;
}
.bmt-recruit-apply__form .wpcf7 textarea { min-height: 145px; resize: vertical; }
.bmt-recruit-apply__form .wpcf7 input:focus,
.bmt-recruit-apply__form .wpcf7 select:focus,
.bmt-recruit-apply__form .wpcf7 textarea:focus {
    outline: none;
    border-color: var(--bmt-recruit-blue);
    box-shadow: 0 0 0 4px rgba(33,158,188,.16);
}
.bmt-recruit-apply__form .wpcf7-submit {
    min-height: 50px;
    border: 0;
    border-radius: 999px;
    padding: 13px 22px;
    background: var(--bmt-recruit-yellow);
    color: var(--bmt-recruit-navy-2);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(255,183,3,.21);
}
.bmt-recruit-apply__form .wpcf7-submit:hover { background: #ffc42b; }
.bmt-recruit-apply__form .wpcf7-not-valid-tip { color: #b42318; font-size: .8rem; }
.bmt-recruit-apply__form .wpcf7-response-output { margin: 16px 0 0 !important; border-radius: 12px; }

.bmt-recruit-final { padding: 0 0 clamp(72px, 9vw, 118px); background: #fff; }
.bmt-recruit-final__box {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 42px;
    align-items: center;
    padding: clamp(35px, 5vw, 62px);
    border-radius: var(--bmt-recruit-radius-lg);
    background: linear-gradient(125deg, var(--bmt-recruit-navy), #075d78);
    color: #fff;
}
.bmt-recruit-final__box::after {
    content: "π";
    position: absolute;
    right: -4px;
    bottom: -80px;
    color: rgba(255,255,255,.06);
    font-family: Georgia, serif;
    font-size: 20rem;
    line-height: 1;
}
.bmt-recruit-final .bmt-recruit-script { color: var(--bmt-recruit-yellow); }
.bmt-recruit-final h2 {
    margin-bottom: 12px;
    color: #fff;
    font-size: clamp(2.25rem, 4vw, 3.8rem);
    letter-spacing: -.05em;
}
.bmt-recruit-final p { margin-bottom: 0; color: #c6e4ee; }
.bmt-recruit-final__actions {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 1080px) {
    .bmt-recruit-independence-grid { grid-template-columns: 1fr 1fr; }
    .bmt-recruit-join-steps { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
    .bmt-recruit-strip__grid { grid-template-columns: 1fr; gap: 8px; padding-block: 28px; }
    .bmt-recruit-strip a { justify-self: start; }
    .bmt-recruit-network__grid,
    .bmt-recruit-fit-grid,
    .bmt-recruit-geo__grid,
    .bmt-recruit-faq__grid,
    .bmt-recruit-apply__shell,
    .bmt-recruit-final__box { grid-template-columns: 1fr; }
    .bmt-recruit-network__copy,
    .bmt-recruit-profile-card,
    .bmt-recruit-faq__grid > div:first-child,
    .bmt-recruit-apply__copy { position: static; }
    .bmt-recruit-final__actions { justify-content: flex-start; }
}

@media (max-width: 620px) {
    .bmt-recruit-section { padding-block: 62px; }
    .bmt-recruit-heading h2,
    .bmt-recruit-network h2,
    .bmt-recruit-geo h2,
    .bmt-recruit-faq h2,
    .bmt-recruit-apply h2 { font-size: clamp(2.05rem, 10vw, 3.15rem); }

    .bmt-recruit-independence-grid,
    .bmt-recruit-join-steps { grid-template-columns: 1fr; }

    .bmt-recruit-feature-card { min-height: 0; }
    .bmt-recruit-flow li { grid-template-columns: 44px 1fr; padding: 18px; }
    .bmt-recruit-flow > li > span { width: 38px; height: 38px; }

    .bmt-recruit-profile-card,
    .bmt-recruit-apply__form { padding: 24px; border-radius: 24px; }
    .bmt-recruit-profile-card dl > div { grid-template-columns: 1fr; gap: 3px; }

    .bmt-recruit-final__box { padding: 31px 24px; border-radius: 26px; }
    .bmt-recruit-final__actions { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
    .bmt-recruit-button,
    .bmt-recruit-faq summary::after { transition: none; }
}