:root { color-scheme: light; font-family: system-ui, sans-serif; color: #17202a; background: #f7f8fa; }
* { box-sizing: border-box; }
body { margin: 0; }
.impersonation-banner { position: sticky; z-index: 100; top: 0; display: flex; align-items: center; justify-content: center; gap: 1rem; padding: .7rem 1rem; border-bottom: 2px solid #174b3a; color: #102e25; background: #dff4ec; text-align: center; }
.impersonation-banner form { margin: 0; }
.impersonation-banner button { padding: .5rem .75rem; border: 1px solid #174b3a; color: #fff; background: #174b3a; font-weight: 750; white-space: nowrap; }
.container, .site-header { width: min(70rem, calc(100% - 2rem)); margin-inline: auto; }
.site-header { padding-block: 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-header nav, .site-header nav form { display: flex; align-items: center; gap: 1rem; margin: 0; }
.site-header nav a { color: #174b3a; }
.user-menu { position: relative; color: #174b3a; }
.user-menu summary { cursor: pointer; font-weight: 700; }
.user-menu-panel { position: absolute; z-index: 20; top: calc(100% + .65rem); right: 0; display: grid; min-width: 13rem; padding: .45rem; border: 1px solid #b8cbc3; border-radius: .4rem; background: white; box-shadow: 0 .5rem 1.5rem rgb(23 32 42 / 14%); }
.site-header nav .user-menu-panel a { display: block; padding: .65rem .75rem; text-decoration: none; }
.site-header nav .user-menu-panel a:hover, .site-header nav .user-menu-panel a:focus-visible { background: #eef4f1; }
.user-menu-section { margin: .35rem .75rem 0; padding-top: .65rem; border-top: 1px solid #d9e4df; color: #52655d; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.site-header nav .user-menu-panel form { display: block; margin: 0; }
.user-menu-panel button { width: 100%; padding: .65rem .75rem; color: #8b1515; background: transparent; text-align: left; }
.brand { position: relative; display: block; text-decoration: none; line-height: 0; }
.brand img { display: block; width: min(20rem, 58vw); height: auto; }
.beta-badge { position: absolute; top: -.7rem; right: -.7rem; padding: .3rem .5rem; border: 2px solid #a31919; border-radius: .3rem; color: #a31919; background: #fff7f7; font-size: .8rem; font-weight: 900; line-height: 1; letter-spacing: .08em; text-transform: uppercase; transform: rotate(-7deg); }
.hero { max-width: 64rem; padding-block: clamp(3rem, 7vw, 6rem); }
.eyebrow { color: #246b55; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); line-height: 1; margin: .4rem 0 1.25rem; }
.hero h1 { max-width: 15ch; font-size: clamp(2.8rem, 6.5vw, 5.2rem); }
.hero > p { max-width: 48rem; }
.hero-with-art { display: grid; align-items: center; gap: 2rem; max-width: none; padding-block: clamp(2rem, 5vw, 4rem); }
.hero-copy { min-width: 0; }
.hero-art { min-width: 0; margin: 0; }
.hero-art img { display: block; width: 100%; height: auto; border-radius: .55rem; }
.hero-art figcaption { margin-top: 1rem; color: #344b43; font-size: clamp(1rem, 1.3vw, 1.1rem); line-height: 1.65; text-wrap: pretty; }
@media (min-width: 64rem) {
  .hero-with-art { grid-template-columns: 1fr 1.2fr; gap: 2.5rem; }
  .hero-with-art h1 { font-size: clamp(2.8rem, 4vw, 3.6rem); }
  .hero-with-art .hero-summary { font-size: 1.15rem; }
}
.hero-summary { font-size: clamp(1.15rem, 2vw, 1.35rem); line-height: 1.55; }
.hero-topics { display: flex; flex-wrap: wrap; gap: .55rem; max-width: 58rem; margin-block: 1.5rem; padding: 0; list-style: none; }
.hero-topics li { padding: .45rem .7rem; border: 1px solid #b8cbc3; border-radius: 2rem; color: #174b3a; background: #eef4f1; font-size: .92rem; font-weight: 650; }
.prelaunch-callout { max-width: 54rem; margin-block: 1.25rem; padding: 1rem; border-left: .3rem solid #9a6b00; background: #fff3cd; line-height: 1.5; }
.prelaunch-callout a { color: #5f4300; font-weight: 750; }
.prelaunch-demo-note { margin: .55rem 0 0; color: #4b5551; font-size: .9rem; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.audiences { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding-bottom: clamp(3rem, 7vw, 5rem); }
.section-heading { grid-column: 1 / -1; max-width: 44rem; margin-bottom: .75rem; }
.section-heading .eyebrow { margin-bottom: .35rem; }
.section-heading h2 { margin-block: 0 .5rem; font-size: clamp(2rem, 4vw, 3rem); }
.section-heading p:last-child { margin-top: 0; color: #4b5551; font-size: 1.05rem; }
.audience-card { min-height: 10rem; padding: 1.5rem; color: inherit; background: white; border: 1px solid #d9dfdc; border-radius: .65rem; text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.audience-card:hover, .audience-card:focus-visible { border-color: #246b55; box-shadow: 0 .5rem 1.5rem rgb(23 75 58 / 10%); transform: translateY(-2px); }
.audience-card h3 { margin-top: 0; color: #174b3a; }
.audience-card p { margin-bottom: 0; line-height: 1.5; }
.recent-jobs { padding-block: 1rem 4rem; }
.recent-jobs > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.recent-jobs > header h2 { margin: .2rem 0 0; font-size: 2rem; }
.recent-jobs > header p { margin: 0; }
.home-job-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.home-job-card { padding: 1.25rem; background: white; border: 1px solid #d9dfdc; border-radius: .5rem; }
.home-job-card > p { margin-block: .5rem; color: #4b5551; }
.home-job-card h3 { margin-block: .65rem; }
.home-job-card h3 a { color: #17202a; }
.demo-badge { display: inline-block; padding: .15rem .4rem; border-radius: .25rem; color: #174b3a; background: #dff3e8; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.status-badge { display: inline-block; padding: .2rem .5rem; border-radius: 999px; color: #174b3a; background: #dff3e8; font-size: .8rem; font-weight: 800; }
.recent-jobs-action { margin-top: 1.5rem; }
.site-footer { width: min(70rem, calc(100% - 2rem)); margin: 2rem auto 0; padding-block: 1.5rem 2.5rem; border-top: 1px solid #d9dfdc; color: #4b5551; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.site-footer a { color: #174b3a; }
.cookie-consent { position: static; width: calc(100% - 2rem); display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; max-width: 68rem; margin: 1rem auto; padding: 1rem 1.25rem; border: 1px solid #9eb9ae; border-radius: .55rem; background: #fff; box-shadow: 0 .25rem 1.25rem rgb(16 48 37 / 18%); }
.cookie-consent[hidden] { display: none; }
.cookie-consent p { margin: .35rem 0 0; }
.cookie-consent-actions { display: flex; flex: 0 0 auto; gap: .65rem; }
.cookie-consent-actions button { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; }
.cookie-consent .button-secondary { border: 1px solid #174b3a; color: #174b3a; background: #fff; }
@media (max-width: 44rem) { .cookie-consent { align-items: stretch; flex-direction: column; } .cookie-consent-actions { display: grid; grid-template-columns: 1fr 1fr; } }
.legal-page { max-width: 52rem; margin-block: 3rem 5rem; line-height: 1.65; }
.legal-page h1 { font-size: clamp(2.4rem, 6vw, 4rem); }
.legal-page h2 { margin-top: 2rem; }
.legal-page dd { margin-bottom: .75rem; }
.legal-page table { width: 100%; border-collapse: collapse; background: white; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.table-scroll table { width: 100%; border-collapse: collapse; background: white; }
.table-scroll th, .table-scroll td { padding: .7rem; border: 1px solid #c8d1cd; text-align: left; vertical-align: top; }
.legal-page th, .legal-page td { padding: .75rem; border: 1px solid #d9dfdc; text-align: left; vertical-align: top; }
.legal-draft { padding: 1rem; border: 2px solid #9a6b00; border-radius: .4rem; background: #fff3cd; }
.legal-context { color: #4b5551; font-size: .9rem; line-height: 1.5; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; padding: .75rem; background: white; z-index: 10; }
.form-page { max-width: 42rem; margin-block: 3rem; }
.form-page h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
.profile-area-title { margin-bottom: 1rem; }
.profile-section-title { margin-block: 1.25rem .75rem; font-size: clamp(1.65rem, 4vw, 2.25rem); }
.profile-specialization-title { margin-block: 1.5rem .75rem; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.profile-section-path { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: 1.25rem; color: #4b5551; font-size: .9rem; }
.profile-section-path a { color: #174b3a; }
.form-page label { display: block; font-weight: 650; margin-bottom: .35rem; }
.form-page label:has(> input[type="checkbox"], > input[type="radio"]) { font-weight: 400; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.registration-page form { margin-block: 1.5rem; }
.registration-vision { margin-block: 1.5rem; padding-block: 1rem; border-block: 1px solid #d9dfdc; color: #344b43; }
.company-registration-form { max-width: 46rem; }
.company-registration-section { margin-block: 1.25rem; padding: clamp(1rem, 3vw, 1.4rem); border-color: #cbd6d1; border-radius: .55rem; background: white; }
.company-registration-section legend { padding-inline: .4rem; color: #173e31; font-size: 1.15rem; font-weight: 800; }
.company-registration-section .fieldset-intro { margin-top: 0; color: #4b5551; }
.company-registration-section .form-context-note { margin-bottom: 0; padding: .75rem; border-left: .25rem solid #5c8f7d; color: #344b43; background: #f2f7f5; font-size: .92rem; }
.required-fields-note { margin-bottom: 1.25rem; color: #4b5551; font-size: .92rem; }
.required-marker { color: #8b1515; font-weight: 800; }
.optional-marker { margin-left: .25rem; color: #59645f; font-size: .85rem; font-weight: 400; }
.profile-form-guidance { margin-block: 1.5rem; padding: 1rem 1.15rem; border-left: .3rem solid #246b55; background: #eef4f1; }
.profile-form-guidance h2 { margin: 0 0 .35rem; font-size: 1.1rem; }
.profile-form-guidance p { margin: 0; }
.profile-form-field { margin-block: 1.25rem; }
.general-profile-form { display: flow-root; }
.general-profile-form .profile-form-field { margin-block: 1.25rem; }
.general-profile-form .profile-form-field > :first-child { margin-top: 0; }
.general-profile-form .profile-form-field > :last-child { margin-bottom: 0; }
.general-profile-form input[type="checkbox"] { width: 1.15rem; height: 1.15rem; margin: .2rem 0 0; accent-color: #174b3a; }
.profile-form-field.has-errors { padding: .8rem; border-left: .25rem solid #982b2b; background: #fff5f3; }
.company-modality-fields { margin-block: 1.25rem; padding: 1rem; border: 1px solid #d8e1dd; border-radius: .45rem; background: #f8faf9; }
.company-modality-fields > p { margin-top: 0; }
.company-modality-fields .profile-form-field { display: flex; align-items: center; gap: .6rem; margin-block: .65rem; }
.company-modality-fields .profile-form-field label { order: 2; margin: 0; font-weight: 600; }
.company-modality-fields .profile-form-field input { order: 1; width: auto; }
.publication-required { display: inline-block; margin-left: .35rem; padding: .15rem .45rem; border-radius: 999px; background: #e4f1eb; color: #174b3a; font-size: .75rem; font-weight: 750; }
.profile-form-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.registration-field { margin-block: 1.15rem; }
.registration-field .errorlist { margin: 0 0 .4rem; padding-left: 1.2rem; }
.form-page input:not([type="checkbox"]):not([type="radio"]), .form-page textarea, .form-page select { width: 100%; max-width: 38rem; padding: .75rem; border: 1px solid #89958f; border-radius: .3rem; font: inherit; }
.password-field { position: relative; display: block; width: 100%; max-width: 38rem; }
.form-page .password-field input { max-width: none; padding-right: 3rem; }
.password-toggle { position: absolute; top: 50%; right: .25rem; display: grid; width: 2.5rem; height: 2.5rem; padding: 0; border-radius: .25rem; place-items: center; color: #174b3a; background: transparent; transform: translateY(-50%); }
.password-toggle:hover { background: #eef4f1; }
.password-toggle:focus-visible { outline: 3px solid #246b55; outline-offset: 1px; }
.password-toggle svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.password-toggle-slash.is-hidden { display: none; }
.form-page select[multiple] { min-height: 12rem; }
.job-editor { max-width: 58rem; }
.job-editor .form-guidance { margin-block: 1.5rem 2rem; padding: 1rem 1.15rem; border-left: .3rem solid #246b55; background: #eef4f1; }
.job-editor .form-guidance p { margin-block: 0 .45rem; }
.job-editor .form-guidance p:last-child { margin-bottom: 0; }
.job-editor fieldset { margin-block: 1.5rem; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #cbd6d1; border-radius: .55rem; background: #fff; }
.job-editor legend { padding-inline: .4rem; color: #173e31; font-size: 1.2rem; font-weight: 800; }
.job-editor .fieldset-intro { margin-top: 0; color: #4b5551; }
.job-editor #id_professional_families { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 48rem; gap: .6rem; margin-top: .65rem; }
.job-editor #id_professional_families > div { display: flex; min-width: 0; }
.job-editor #id_professional_families label { display: flex; align-items: flex-start; width: 100%; min-height: 100%; gap: .65rem; padding: .75rem .85rem; border: 1px solid #cbd6d1; border-radius: .4rem; background: #f8faf9; line-height: 1.35; cursor: pointer; }
.job-editor #id_professional_families label:hover { border-color: #5c8f7d; background: #f0f6f3; }
.job-editor #id_professional_families input[type="radio"] { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin: .08rem 0 0; accent-color: #174b3a; }
.job-editor #id_professional_families label:has(input:checked) { border-color: #174b3a; box-shadow: inset 0 0 0 1px #174b3a; background: #e8f3ee; }
.job-editor #id_professional_families label:has(input:focus-visible) { outline: 3px solid #4b9078; outline-offset: 2px; }
.job-editor .job-salary-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.job-editor .job-salary-fields > div { min-width: 0; }
.job-editor .job-salary-fields input, .job-editor .job-salary-fields select { width: 100%; }
@media (max-width: 48rem) { .job-editor #id_professional_families, .job-editor .job-salary-fields { grid-template-columns: 1fr; } .job-editor .job-salary-fields { gap: 0; } }
button { padding: .65rem 1rem; border: 0; border-radius: .3rem; color: white; background: #174b3a; font: inherit; font-weight: 700; cursor: pointer; }
.helptext { display: block; color: #4b5551; font-size: .9rem; margin-top: .3rem; }
.visibility-help-line { display: block; margin-top: .25rem; }
.errorlist { color: #a31919; }
.message { padding: 1rem; }
.message-success { background: #dff3e8; border-left: .3rem solid #246b55; }
.message-error { background: #fbe4e4; border-left: .3rem solid #a31919; }
.message-warning { background: #fff3cd; border-left: .3rem solid #9a6b00; }
.message-info, .message-debug { background: #e3edf7; border-left: .3rem solid #2c5c8f; }
.warning { padding: 1rem; background: #fff3cd; border-left: .3rem solid #9a6b00; }
.danger-zone { padding: 1rem; border: 2px solid #a31919; border-radius: .4rem; background: #fff7f7; }
.danger-zone button { background: #8b1515; }
.danger-button { background: #8b1515; }
.collaborator-dashboard { max-width: 72rem; margin-block: 2.5rem 5rem; }
.collaborator-dashboard > header { max-width: 52rem; }
.collaborator-dashboard > header h1 { margin-block: .2rem .6rem; }
.collaborator-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .8rem; margin-block: 2rem; }
.collaborator-summary div { padding: 1rem; border: 1px solid #cbd6d1; border-radius: .55rem; background: white; }
.collaborator-summary dt { color: #4b5551; font-size: .82rem; font-weight: 700; }
.collaborator-summary dd { margin: .35rem 0 0; color: #174b3a; font-size: 1.65rem; font-weight: 850; }
.collaborator-conditions { max-width: 52rem; padding: 1.15rem 1.25rem; border-left: .3rem solid #246b55; background: #eef4f1; }
.collaborator-conditions h2 { margin-top: 0; }
.collaborator-conditions p:last-child { margin-bottom: 0; }
.collaborator-registration-promotion { display: grid; gap: .35rem; width: 100%; margin-block: 1.25rem; padding: 1rem 1.1rem; border: 1px solid #b8d1c7; border-left: .3rem solid #246b55; border-radius: .4rem; color: #29483e; background: #f0f7f4; line-height: 1.5; }
.collaborator-registration-promotion a { width: fit-content; margin-top: .15rem; color: #174b3a; font-weight: 800; }
.collaborator-how-page { max-width: 72rem; margin-block: 2rem 5rem; }
.collaborator-back-link a { color: #174b3a; font-weight: 750; }
.collaborator-how-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(15rem, .6fr); gap: clamp(1.5rem, 5vw, 3.5rem); align-items: center; margin-block: 1.5rem 4rem; padding: clamp(1.5rem, 5vw, 3rem); border-radius: 1rem; background: linear-gradient(135deg, #eaf4ef, #f9fbfa); }
.collaborator-how-hero h1 { max-width: 17ch; font-size: clamp(2.35rem, 5.5vw, 4.4rem); }
.collaborator-how-lead { max-width: 46rem; color: #3d4c46; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.6; }
.collaborator-enrollment-status { padding: 1.2rem; border: 1px solid #abc8bc; border-radius: .7rem; background: white; }
.collaborator-enrollment-status > span { display: block; color: #59645f; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.collaborator-enrollment-status strong { display: block; margin-block: .25rem .6rem; color: #174b3a; font-size: 1.25rem; }
.collaborator-enrollment-status p { margin-bottom: 0; line-height: 1.5; }
.collaborator-how-section { max-width: 64rem; margin-block: 4rem; }
.collaborator-how-section > h2 { margin-top: .25rem; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.collaborator-process { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.collaborator-process li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .85rem; padding: 1.25rem; border: 1px solid #d2dfda; border-radius: .7rem; background: white; }
.collaborator-process li > span { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: 50%; color: white; background: #246b55; font-weight: 850; }
.collaborator-process h3 { margin: .3rem 0 .4rem; }
.collaborator-process p { margin: 0; color: #485650; line-height: 1.55; }
.collaborator-current-conditions { max-width: 72rem; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #c8d8d1; border-radius: .8rem; background: #f5f9f7; }
.collaborator-condition-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; margin-block: 1.5rem 2rem; }
.collaborator-condition-grid > div { padding: 1rem; border-radius: .55rem; background: white; }
.collaborator-condition-grid dt { color: #59645f; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.collaborator-condition-grid dd { margin: .35rem 0 0; color: #174b3a; font-size: 1.05rem; font-weight: 800; line-height: 1.35; }
.collaborator-service-list { display: grid; gap: .65rem; padding: 0; list-style: none; }
.collaborator-service-list li { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid #d6e1dc; background: white; }
.collaborator-service-list span { color: #485650; text-align: right; }
.collaborator-important { padding-left: 1.25rem; border-left: .3rem solid #9a6b00; }
.collaborator-important li { margin-block: .55rem; line-height: 1.55; }
.collaborator-register-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: .85rem; color: white; background: #174b3a; }
.collaborator-register-cta .eyebrow { color: #bfe2d5; }
.collaborator-register-cta h2 { margin-block: .2rem .4rem; }
.collaborator-register-cta p:last-child { max-width: 44rem; margin-bottom: 0; }
.collaborator-register-cta .button-link { flex: 0 0 auto; color: #174b3a; background: white; }
.collaborator-membership-control { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr); align-items: center; gap: 2rem; margin-top: 4rem; padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid #a9c7ba; border-radius: .85rem; background: #edf6f2; }
.collaborator-membership-control h2 { margin-block: .2rem .5rem; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.collaborator-membership-control p { line-height: 1.55; }
.collaborator-membership-note { padding-left: .8rem; border-left: .25rem solid #9a6b00; color: #5f4a12; }
.collaborator-membership-action { display: grid; gap: .8rem; justify-items: start; }
.collaborator-membership-action form { display: grid; gap: .45rem; margin: 0; }
.collaborator-membership-action small { color: #53605b; }
.collaborator-membership-action > a { color: #174b3a; font-weight: 800; }
.collaborator-toggle { display: inline-flex; align-items: center; gap: .7rem; min-height: 3rem; padding: .55rem .8rem; border: 1px solid #9aa9a3; border-radius: 2rem; color: #35443e; background: white; }
.collaborator-toggle:hover { border-color: #246b55; background: #f7faf9; }
.collaborator-toggle-track { display: block; width: 2.7rem; padding: .2rem; border-radius: 2rem; background: #8a9691; transition: background .15s; }
.collaborator-toggle-track span { display: block; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgb(0 0 0 / 25%); transition: transform .15s; }
.collaborator-toggle.is-on { border-color: #246b55; color: #174b3a; background: white; }
.collaborator-toggle.is-on .collaborator-toggle-track { background: #246b55; }
.collaborator-toggle.is-on .collaborator-toggle-track span { transform: translateX(1.2rem); }
.collaborator-toggle.is-disabled { cursor: not-allowed; opacity: .65; }
.collaborator-toggle:focus-visible { outline: 3px solid #4b9078; outline-offset: 2px; }
.collaborator-account-note { margin-top: 4rem; padding: 1.5rem; border-left: .3rem solid #64766f; background: #f0f3f2; }
.collaborator-account-note h2 { margin-top: 0; }
@media (max-width: 48rem) { .collaborator-how-hero, .collaborator-process, .collaborator-condition-grid, .collaborator-membership-control { grid-template-columns: 1fr; } .collaborator-register-cta { align-items: stretch; flex-direction: column; } .collaborator-register-cta .button-link { text-align: center; } .collaborator-service-list li { align-items: flex-start; flex-direction: column; } .collaborator-service-list span { text-align: left; } }
.choice-page { max-width: 70rem; margin-block: 4rem; }
.choice-page > header { max-width: 48rem; }
.choice-page h1 { font-size: clamp(2.5rem, 7vw, 5rem); margin-block: .5rem 1rem; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-block: 2.5rem; }
.choice-grid article { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.25rem, 4vw, 2rem); background: white; border: 1px solid #d9dfdc; border-radius: .75rem; }
.choice-grid article p { line-height: 1.6; }
.choice-grid article .choice-role { margin-block: .8rem 0; color: #246b55; font-size: .82rem; font-weight: 800; letter-spacing: .06em; line-height: 1.3; text-transform: uppercase; }
.choice-grid article .choice-role + h2 { margin-top: .35rem; }
.choice-grid article ul { flex-grow: 1; padding-left: 1.2rem; line-height: 1.8; }
.choice-grid article .choice-future { margin-block: .25rem 1.25rem; padding: .8rem 1rem; border-left: .25rem solid #5c8f7d; color: #344b43; background: #f2f7f5; font-size: .92rem; line-height: 1.5; }
.choice-icon { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; color: white; background: #246b55; font-weight: 800; }
.choice-icon svg { width: 1.55rem; height: 1.55rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.forum-page { margin-block: 2rem 5rem; }
.forum-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 15rem; align-items: center; gap: 2rem; margin-bottom: 0; padding: clamp(1.5rem, 5vw, 3.25rem); overflow: hidden; border-radius: 1rem 1rem 0 0; color: white; background: linear-gradient(125deg, #123e31, #246b55 72%, #3f856f); }
.forum-hero::after { position: absolute; inset: auto -5rem -8rem auto; width: 18rem; height: 18rem; border: 1px solid rgb(255 255 255 / 16%); border-radius: 50%; content: ""; }
.forum-hero-copy { position: relative; z-index: 1; max-width: 45rem; }
.forum-hero .eyebrow { color: #cce9de; }
.forum-hero h1 { margin-block: .15rem .6rem; color: white; font-size: clamp(2.3rem, 6vw, 4.5rem); }
.forum-hero-lead { max-width: 38rem; margin-bottom: 1.35rem; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.55; }
.forum-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.25rem; }
.forum-hero-actions a:not(.button-link) { color: white; font-weight: 700; }
.forum-hero-visual { position: relative; z-index: 1; min-height: 10rem; }
.forum-hero-visual span { position: absolute; display: grid; place-items: center; width: 5rem; height: 5rem; border: 1px solid rgb(255 255 255 / 30%); border-radius: 1.2rem; box-shadow: 0 1rem 2rem rgb(0 0 0 / 16%); background: rgb(255 255 255 / 14%); font-size: 2rem; transform: rotate(-8deg); backdrop-filter: blur(4px); }
.forum-hero-visual span:nth-child(2) { top: 1rem; right: 1rem; width: 4rem; height: 4rem; transform: rotate(9deg); }
.forum-hero-visual span:nth-child(3) { right: 3rem; bottom: 0; width: 5.5rem; height: 5.5rem; transform: rotate(4deg); }
.forum-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 3.5rem; padding: 0; border: 1px solid #c9d8d2; border-top: 0; border-radius: 0 0 1rem 1rem; background: white; }
.forum-stats div { padding: 1rem 1.25rem; border-right: 1px solid #dce5e1; text-align: center; }
.forum-stats div:last-child { border: 0; }
.forum-stats dt { color: #5b6762; font-size: .78rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.forum-stats dd { margin: .15rem 0 0; color: #174b3a; font-size: 1.65rem; font-weight: 850; }
.forum-section-title, .forum-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; }
.forum-section-title h2 { margin: .1rem 0; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.forum-section-title .eyebrow { margin: 0; }
.forum-recent-section { margin-bottom: 3.5rem; }
.forum-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem 3.5rem; }
.forum-category-grid article { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1rem; padding: 1.3rem; border: 1px solid #d3dfda; border-radius: .8rem; background: white; transition: border-color .15s, box-shadow .15s, transform .15s; }
.forum-category-grid article:hover { border-color: #8db3a4; box-shadow: 0 .5rem 1.3rem rgb(23 75 58 / 9%); transform: translateY(-2px); }
.forum-category-grid h3, .forum-category-grid p { margin-top: 0; }
.forum-category-grid h3 { margin-bottom: .35rem; }
.forum-category-grid p { color: #53605b; line-height: 1.45; }
.forum-category-icon { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: .8rem; color: #174b3a; background: #e5f1ec; }
.forum-category-icon svg { width: 1.8rem; height: 1.8rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.forum-category-icon-docencia-tutoria { color: #67520a; background: #fff1c5; }
.forum-category-icon-tecnologia-elearning { color: #245380; background: #e3effa; }
.forum-category-icon-autoria-contenidos { color: #75411e; background: #f8e8d8; }
.forum-category-icon-diseno-instruccional-multimedia { color: #633e7f; background: #efe4f8; }
.forum-category-icon-comercial-proyectos { color: #7a3434; background: #f8e5e5; }
.forum-category-count { margin-bottom: .6rem; font-size: .84rem; }
.forum-category-latest { display: block; padding-top: .65rem; border-top: 1px solid #e4eae7; color: #243f36; font-size: .86rem; font-weight: 650; line-height: 1.35; text-decoration: none; }
.forum-category-latest span { display: block; margin-bottom: .15rem; color: #6a756f; font-size: .72rem; letter-spacing: .03em; text-transform: uppercase; }
.forum-category-heading { display: flex; gap: 1rem; max-width: 48rem; }
.forum-category-heading h1 { margin-block: .15rem; }
.forum-topic-list { display: grid; gap: .7rem; margin-block: 1rem 2rem; }
.forum-topic-list > article { padding: 1rem; border: 1px solid #d6e0dc; border-radius: .7rem; background: white; }
.forum-topic-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.forum-topic-row.has-thumbnail { grid-template-columns: 8.5rem minmax(0, 1fr); }
.forum-topic-thumbnail { display: block; min-height: 7.5rem; overflow: hidden; border-radius: .5rem; background: #e8efec; }
.forum-topic-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.forum-topic-list h2, .forum-topic-list h3 { margin: .3rem 0; font-size: 1.18rem; line-height: 1.35; }
.forum-topic-list h2 a, .forum-topic-list h3 a { color: #172b24; text-decoration: none; }
.forum-topic-list h2 a:hover, .forum-topic-list h3 a:hover { color: #174b3a; text-decoration: underline; }
.forum-topic-list .forum-topic-excerpt { margin: .25rem 0 .7rem; color: #4f5c57; font-size: .92rem; line-height: 1.45; }
.forum-topic-labels, .forum-topic-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .7rem; }
.forum-topic-labels { font-size: .78rem; font-weight: 750; }
.forum-topic-labels a { color: #4d665d; text-decoration: none; }
.forum-kind { display: inline-flex; padding: .2rem .5rem; border-radius: 999px; color: #245380; background: #e5eff8; }
.forum-kind-experience { color: #67520a; background: #fff1c5; }
.forum-kind-resource { color: #633e7f; background: #efe4f8; }
.forum-kind-discussion { color: #174b3a; background: #dfeee8; }
.forum-topic-meta { color: #66726d; font-size: .8rem; }
.forum-participants { display: inline-flex; padding-left: .35rem; }
.forum-avatar { display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-left: -.35rem; border: 2px solid white; border-radius: 50%; color: white; background: #246b55; font-size: .78rem; font-weight: 850; text-decoration: none; }
.forum-avatar:nth-child(2n) { background: #476b8f; }
.forum-avatar:nth-child(3n) { background: #7a5540; }
.forum-avatar.is-demo { background: #6b5a82; }
.forum-status { display: inline-block; flex: 0 0 auto; padding: .25rem .55rem; border-radius: 999px; color: #344b43; background: #e8efec; font-size: .8rem; font-weight: 750; }
.forum-status.is-removed { color: #7d2020; background: #fbe4e4; }
.forum-rules-summary, .forum-closed-note { padding: 1rem 1.15rem; border-left: .3rem solid #5c8f7d; background: #f2f7f5; }
.forum-rules-summary { display: flex; gap: .8rem; border: 1px solid #c9ddd5; border-left-width: .3rem; border-radius: .65rem; }
.forum-rules-summary > span { display: grid; place-items: center; flex: 0 0 auto; width: 2rem; height: 2rem; border-radius: 50%; color: white; background: #246b55; font-weight: 850; }
.forum-rules-summary p { margin: .25rem 0 0; }
.forum-breadcrumb { display: flex; gap: .5rem; margin-bottom: 1rem; color: #63706a; font-size: .88rem; }
.forum-post { position: relative; margin-block: 1rem; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #d9dfdc; border-radius: .7rem; background: white; }
.forum-topic { margin-bottom: 2.5rem; }
.forum-topic-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid #e0e7e4; }
.forum-topic-header h1 { max-width: 54rem; margin-block: .5rem; font-size: clamp(1.8rem, 4.5vw, 3.2rem); line-height: 1.12; }
.forum-topic-header p { margin: 0; color: #64706b; font-size: .86rem; }
.forum-post-layout { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 1.5rem; padding-top: 1.25rem; }
.forum-author-card { display: flex; align-items: flex-start; gap: .65rem; min-width: 0; }
.forum-author-card .forum-avatar { flex: 0 0 auto; width: 2.7rem; height: 2.7rem; margin: 0; font-size: 1rem; }
.forum-author-card strong, .forum-author-card a, .forum-author-card small { display: block; overflow-wrap: anywhere; }
.forum-author-card small { margin-top: .2rem; color: #66726d; line-height: 1.3; }
.forum-author-card > div > a { margin-top: .25rem; font-size: .78rem; }
.forum-post-content { min-width: 0; }
.forum-message { max-width: 52rem; line-height: 1.65; overflow-wrap: anywhere; }
.forum-replies { position: relative; }
.forum-replies::before { position: absolute; top: 0; bottom: 0; left: 1rem; width: 2px; background: #dce7e2; content: ""; }
.forum-reply { margin-left: 2rem; }
.forum-reply::before { position: absolute; top: 2rem; left: -2rem; width: 2rem; height: 2px; background: #dce7e2; content: ""; }
.forum-reply-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-bottom: .7rem; color: #6a756f; font-size: .8rem; }
.forum-demo-source { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 1rem; max-width: 48rem; margin-top: 1.5rem; padding: .85rem; border: 1px solid #d8d0e5; border-radius: .65rem; background: #faf8fc; }
.forum-demo-source img { width: 8rem; height: 5.5rem; border-radius: .4rem; object-fit: cover; }
.forum-demo-source p { margin: .35rem 0; font-size: .88rem; }
.forum-post-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; font-size: .9rem; }
.forum-post-actions form { margin: 0; }
.forum-reply-form { max-width: 48rem; margin-top: 2rem; padding: 1.25rem; border-radius: .55rem; background: #eef4f1; }
.forum-removed { color: #59645f; font-style: italic; }
.forum-composer { max-width: 52rem; }
.forum-composer header { margin-block: 1.5rem; }
.forum-composer form { padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #d5e0dc; border-radius: .8rem; background: white; }
.forum-composer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.forum-writing-tips { display: flex; gap: .65rem; margin-block: 1rem 1.25rem; padding: .8rem; border-radius: .5rem; background: #edf5f1; }
.forum-writing-tips span { color: #246b55; font-weight: 850; }
.forum-writing-tips p { margin: 0; font-size: .88rem; line-height: 1.45; }
@media (max-width: 48rem) { .forum-hero { grid-template-columns: 1fr; } .forum-hero-visual { display: none; } .forum-category-grid { grid-template-columns: 1fr; } .forum-section-heading { align-items: stretch; flex-direction: column; } .forum-post-layout { grid-template-columns: 1fr; gap: .75rem; } .forum-author-card { align-items: center; } }
@media (max-width: 36rem) { .forum-stats div { padding-inline: .5rem; } .forum-stats dt { font-size: .66rem; } .forum-stats dd { font-size: 1.3rem; } .forum-topic-row.has-thumbnail { grid-template-columns: 1fr; } .forum-topic-thumbnail { max-height: 10rem; } .forum-topic-meta { align-items: flex-start; flex-direction: column; } .forum-demo-source { grid-template-columns: 1fr; } .forum-demo-source img { width: 100%; height: 9rem; } .forum-composer-grid { grid-template-columns: 1fr; } .forum-reply { margin-left: 1rem; } .forum-replies::before { left: 0; } .forum-reply::before { left: -1rem; width: 1rem; } }
.prelaunch-page { margin-block: 3rem 5rem; }
.prelaunch-page > header { max-width: 50rem; }
.prelaunch-page h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); overflow-wrap: anywhere; }
.prelaunch-reasons h1 { font-size: clamp(1.85rem, 5vw, 3.25rem); }
.prelaunch-reasons-figure { margin: 1.5rem 0 2rem; }
.prelaunch-reasons-figure figcaption { margin-top: .55rem; color: #4b5551; font-size: .9rem; line-height: 1.5; }
.prelaunch-reasons-image { display: block; width: 100%; height: auto; max-height: 22rem; object-fit: cover; object-position: 50% 35%; border-radius: .75rem; }
@media (min-width: 44rem) { .prelaunch-reasons-image { max-height: 15rem; object-position: 50% 20%; } }
.prelaunch-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-block: 2.5rem; }
.prelaunch-grid article { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.25rem, 4vw, 2rem); background: white; border: 1px solid #d9dfdc; border-radius: .75rem; }
.prelaunch-grid ul { flex-grow: 1; padding-left: 1.2rem; line-height: 1.7; }
.prelaunch-professional-vision { padding-top: 1rem; border-top: 1px solid #d9dfdc; color: #344b43; }
.prelaunch-transparency { max-width: 52rem; padding: 1rem; background: #eef4f1; border-left: .3rem solid #246b55; }
.login-prompt { text-align: center; }
@media (max-width: 44rem) { .choice-grid { grid-template-columns: 1fr; } }
@media (max-width: 44rem) { .prelaunch-grid { grid-template-columns: 1fr; } }
.section-nav { display: flex; flex-wrap: wrap; gap: .5rem; padding-block: 1rem; border-block: 1px solid #d9dfdc; }
.section-nav a { padding: .55rem .75rem; border: 1px solid transparent; border-radius: .35rem; color: #174b3a; font-weight: 650; text-decoration: none; }
.section-nav a:hover, .section-nav a:focus-visible { border-color: #b8cbc3; background: #eef4f1; }
.section-nav a.is-active { border-color: #174b3a; color: white; background: #174b3a; }
.section-complete { margin-left: .25rem; color: #16803c; font-weight: 800; }
.section-nav a.is-active .section-complete { color: #aef0c2; }
.profile-navigation { margin-bottom: 1rem; }
.profile-navigation-bar { display: flex; align-items: center; gap: 1rem; border-block: 1px solid #d9dfdc; }
.profile-primary-nav { flex: 1 1 auto; flex-wrap: nowrap; overflow-x: auto; border-block: 0; scrollbar-width: thin; }
.profile-primary-nav a { flex: 0 0 auto; }
.profile-preview-action { display: inline-flex; align-items: center; gap: .4rem; flex: 0 0 auto; padding: .55rem .75rem; border: 1px solid #174b3a; border-radius: .35rem; color: #174b3a; background: white; font-weight: 650; text-decoration: none; }
.profile-preview-icon { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.profile-preview-action:hover, .profile-preview-action:focus-visible { color: white; background: #174b3a; }
.profile-global-progress { display: grid; grid-template-columns: minmax(12rem, auto) minmax(8rem, 1fr) auto; align-items: center; gap: .5rem 1rem; margin-block: .75rem 1.5rem; padding: .7rem .85rem; border: 1px solid #c8d7d1; border-radius: .45rem; background: #f7faf8; }
.profile-global-progress div { display: flex; flex-wrap: wrap; gap: .2rem .5rem; }
.profile-global-progress span { color: #4b5551; font-size: .85rem; }
.profile-global-progress progress { width: 100%; }
.profile-global-progress a { color: #174b3a; font-weight: 650; white-space: nowrap; }
.profile-specializations { margin-bottom: 1.5rem; padding: 1rem; border-bottom: 1px solid #d9dfdc; background: #f7faf8; scroll-margin-block: 2rem; }
.profile-specializations-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.profile-specializations-heading strong { color: #17202a; font-size: 1.1rem; }
.profile-specializations-heading p { margin: 0; color: #4b5551; font-size: .9rem; }
.specialization-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.specialization-nav a { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-width: 0; padding: .7rem .8rem; border: 1px solid #d9dfdc; border-radius: .35rem; color: #174b3a; background: white; font-weight: 650; text-decoration: none; }
.specialization-nav a:hover, .specialization-nav a:focus-visible { border-color: #8eafa1; background: #eef4f1; }
.specialization-nav a.is-active { border-color: #174b3a; box-shadow: inset .25rem 0 #174b3a; background: #eef4f1; }
.specialization-status { display: inline-flex; align-items: center; gap: .25rem; flex: 0 0 auto; padding: .2rem .5rem; border: 1px solid; border-radius: 999px; font-size: .78rem; font-weight: 700; line-height: 1.25; }
.specialization-status.is-basic { border-color: #72ad88; color: #145c31; background: #e2f2e8; }
.specialization-status.is-complete { border-color: #287848; color: #0b4826; background: #ccebd7; }
.specialization-status.is-pending { border-color: #d6a62a; color: #684c00; background: #fff4d6; }
.specialization-status [aria-hidden="true"] { font-size: .95rem; line-height: 1; }
.specialization-status-help { margin: 0 0 .75rem; color: #4b5551; font-size: .82rem; }
.profile-editing-mode { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block: 1.25rem; padding: 1rem; border: 1px solid #b8cbc3; border-radius: .5rem; background: #eef4f1; }
.profile-editing-mode h4, .profile-editing-mode p { margin-block: 0 .3rem; }
.profile-editing-mode h4 { font-size: 1.15rem; }
.profile-editing-mode form { flex: 0 0 auto; }
.simplified-profile-form { max-width: 44rem; }
.simplified-profile-form fieldset { margin-block: 1rem; padding: 1rem; border: 1px solid #d9dfdc; border-radius: .5rem; background: white; }
.simplified-profile-form fieldset[id], .optional-form-section[id] { scroll-margin-block: 2rem; }
.simplified-profile-form legend { padding-inline: .35rem; color: #174b3a; font-weight: 750; }
.optional-form-section { margin-block: 1rem 1.5rem; padding: 1rem; border: 1px solid #d9dfdc; border-radius: .5rem; background: white; }
.optional-form-section summary { color: #174b3a; font-weight: 750; cursor: pointer; }
.guided-section { padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #d9dfdc; border-radius: .6rem; background: white; scroll-margin-block: 2rem; }
.section-step { margin: 0 0 .25rem; color: #246b55; font-size: .82rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.guided-profile-form > button { margin-bottom: 2rem; }
.specialization-progress { margin-block: 1rem 1.5rem; padding: 1rem; border: 1px solid #c8d7d1; border-radius: .6rem; background: #f7faf8; }
.specialization-progress-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.specialization-progress-summary h4, .specialization-progress-summary p { margin-block: 0 .25rem; }
.specialization-progress-summary h4 { font-size: 1.05rem; }
.specialization-progress ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .5rem; padding: 0; list-style: none; }
.specialization-progress a { display: flex; align-items: center; justify-content: space-between; gap: .75rem; height: 100%; padding: .65rem .75rem; border: 1px solid #c8d7d1; border-radius: .4rem; color: #174b3a; background: white; font-size: .88rem; font-weight: 700; text-decoration: none; }
.specialization-progress a:hover, .specialization-progress a:focus-visible { border-color: #246b55; background: #eef4f1; }
.specialization-progress small { flex: 0 0 auto; font-size: .76rem; font-weight: 650; }
.specialization-progress li.is-complete small { color: #145c31; }
.specialization-progress li.is-pending small { color: #684c00; }
@media (max-width: 44rem) {
  .profile-primary-nav { margin-inline: -1rem; padding-inline: 1rem; }
  .profile-navigation-bar { align-items: stretch; flex-wrap: wrap; gap: 0; }
  .profile-primary-nav { flex-basis: calc(100% + 2rem); }
  .profile-preview-action { justify-content: center; width: 100%; margin-block: .75rem; }
  .profile-global-progress { grid-template-columns: 1fr auto; }
  .profile-global-progress progress { grid-column: 1 / -1; grid-row: 2; }
  .profile-specializations { margin-inline: -1rem; }
  .profile-specializations-heading { display: block; }
  .profile-specializations-heading p { margin-top: .25rem; }
  .specialization-nav { grid-template-columns: 1fr; }
  .profile-editing-mode { display: block; }
  .profile-editing-mode form { margin-top: .75rem; }
}
.form-card { margin-block: 1rem; padding: 1rem; border: 1px solid #d9dfdc; border-radius: .4rem; background: white; }
.career-page { max-width: 52rem; }
.career-section { margin-block: 2rem 3rem; }
.career-section [id] { scroll-margin-block: 2rem; }
.career-section-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.career-section-header h2, .career-section-header h4, .career-section-header p { margin-block: .25rem; }
.experience-list { display: grid; gap: .75rem; }
.experience-card { display: flex; justify-content: space-between; gap: 1.25rem; padding: 1rem 1.1rem; border: 1px solid #d9dfdc; border-radius: .5rem; background: white; }
.catalog-result, .focus-target { scroll-margin-block: 4rem; }
.catalog-result:target, .focus-target:target { border-color: #246b55; box-shadow: 0 0 0 .2rem rgb(36 107 85 / 18%); animation: catalog-result-highlight 1.8s ease-out; }
.catalog-result:focus, .focus-target:focus { outline: 3px solid #246b55; outline-offset: 3px; }
@keyframes catalog-result-highlight { from { background: #dff3e8; } to { background: white; } }
@media (prefers-reduced-motion: reduce) { .catalog-result:target, .focus-target:target { animation: none; } }
.experience-card h3, .experience-card h5 { margin: 0 0 .25rem; color: #17202a; }
.experience-card p { margin-block: .3rem; line-height: 1.45; }
.experience-organization { font-weight: 650; }
.experience-period { color: #4b5551; font-size: .92rem; }
.experience-actions { display: flex; flex-wrap: wrap; align-content: flex-start; justify-content: flex-end; gap: .35rem .75rem; min-width: 11rem; font-size: .9rem; }
.experience-actions a { color: #174b3a; }
.experience-actions .danger-link { color: #8b1515; }
.experience-actions form { margin: 0; }
.text-button { padding: 0; color: #174b3a; background: transparent; font-size: inherit; font-weight: 650; }
.text-button:disabled { color: #89958f; cursor: not-allowed; }
.profile-progress { margin-block: 1.25rem; padding: 1rem; border: 1px solid #b8cbc3; border-radius: .5rem; background: #eef4f1; }
.profile-progress h2 { margin-block: 0 .25rem; font-size: 1.25rem; }
.profile-progress p { margin-top: 0; }
.profile-progress progress { width: 100%; height: .8rem; accent-color: #246b55; }
.profile-progress ul { padding: 0; list-style: none; line-height: 1.8; }
.profile-progress .is-complete { color: #246b55; }
fieldset { margin-block: 1.5rem; padding: 1rem; border: 1px solid #89958f; }
legend { font-weight: 750; }
.content-page { margin-block: 3rem; }
.contact-page { max-width: 70rem; }
.contact-header { max-width: 48rem; margin-bottom: 2rem; }
.contact-header h1 { margin-bottom: .75rem; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, 19rem); gap: 1.5rem; align-items: start; }
.contact-form { display: grid; gap: 1.15rem; margin: 0; padding: clamp(1.25rem, 3vw, 2rem); border-radius: .75rem; box-shadow: 0 .4rem 1.4rem rgb(23 32 42 / 6%); }
.contact-form-header { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; padding-bottom: .9rem; border-bottom: 1px solid #d9dfdc; }
.contact-form-header h2, .contact-form-header p { margin: 0; }
.contact-form-header p, .contact-help, .contact-actions p { color: #4b5551; font-size: .9rem; }
.contact-name-email { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-field { display: grid; gap: .4rem; }
.contact-field label { font-weight: 700; }
.contact-field label span, .contact-consent label span { color: #8b1515; }
.contact-page input:not([type="checkbox"]), .contact-page select, .contact-page textarea { width: 100%; min-height: 2.8rem; padding: .7rem .75rem; border: 1px solid #89958f; border-radius: .35rem; background: #fff; color: #17202a; font: inherit; }
.contact-page textarea { min-height: 10rem; resize: vertical; line-height: 1.5; }
.contact-page input:focus-visible, .contact-page select:focus-visible, .contact-page textarea:focus-visible { border-color: #174b3a; outline: 3px solid rgb(36 107 85 / 22%); outline-offset: 1px; }
.contact-page [aria-invalid="true"] { border-color: #8b1515; }
.contact-help { margin: 0; line-height: 1.45; }
.contact-consent { display: grid; grid-template-columns: 1.25rem 1fr; gap: .7rem; align-items: start; padding: .9rem; border-radius: .4rem; background: #f5f8f6; }
.contact-consent input { width: 1.1rem; height: 1.1rem; margin: .18rem 0 0; accent-color: #174b3a; }
.contact-consent label { line-height: 1.5; }
.contact-actions { display: flex; align-items: center; gap: 1rem; }
.contact-actions p { max-width: 28rem; margin: 0; line-height: 1.4; }
.contact-sidebar { display: grid; gap: 2rem; }
.contact-details { padding: 1.25rem; border: 1px solid #d9dfdc; border-radius: .75rem; background: #fff; }
.contact-details h2 { margin: 0 0 .9rem; font-size: 1.25rem; }
.contact-details address { display: grid; gap: .2rem; margin-bottom: 1rem; font-style: normal; line-height: 1.45; }
.contact-email { display: inline-block; overflow-wrap: anywhere; color: #174b3a; font-weight: 700; }
.contact-guidance { padding: 1.25rem; border: 1px solid #b8cbc3; border-radius: .75rem; background: #eef4f1; }
.contact-guidance h2 { margin-top: 0; font-size: 1.25rem; }
.contact-guidance ul { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.contact-guidance li { padding-bottom: 1rem; border-bottom: 1px solid #cbdad4; line-height: 1.5; }
.contact-guidance li:last-child { padding-bottom: 0; border: 0; }
.contact-guidance strong { display: block; margin-bottom: .2rem; }
.contact-guidance > p { margin: 1.25rem 0 0; padding-top: 1rem; border-top: 1px solid #cbdad4; color: #35403b; font-size: .9rem; line-height: 1.5; }
.contact-page .errorlist { margin: 0; padding: 0; color: #8b1515; font-size: .92rem; list-style: none; }
.form-error-summary { padding: 1rem; border: 1px solid #c96868; border-left-width: .3rem; border-radius: .4rem; background: #fff4f4; }
.form-error-summary h2 { margin: 0 0 .25rem; font-size: 1.1rem; }
.form-error-summary p { margin: 0; }
.form-error-summary ul { margin-bottom: 0; padding-left: 1.25rem; }
.form-error-summary a { color: #701010; }
.content-page > h1, .job-detail > h1 { font-size: clamp(2.2rem, 6vw, 4.5rem); }
.company-block, .job-card, .empty-state { padding: 1.25rem; border: 1px solid #d9dfdc; border-radius: .5rem; background: white; }
.company-block { margin-block: 1.5rem; }
.company-block > header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.company-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .75rem; }
.button-link { display: inline-block; padding: .65rem 1rem; border-radius: .3rem; color: white; background: #174b3a; text-decoration: none; font-weight: 700; }
.button-link-secondary { display: inline-block; padding: .6rem .95rem; border: 1px solid #174b3a; border-radius: .3rem; color: #174b3a; background: transparent; text-decoration: none; font-weight: 700; }
.item-list { padding: 0; list-style: none; }
.item-list li { display: flex; justify-content: space-between; gap: 1rem; padding-block: .8rem; border-top: 1px solid #d9dfdc; }
.job-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.candidate-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.candidate-card { padding: 1.25rem; border: 1px solid #d9dfdc; border-radius: .5rem; background: white; }
.candidate-card h2 { margin-top: 0; }
.candidate-card h2 a { color: #17202a; }
.candidate-profile-view { max-width: 70rem; margin-inline: auto; }
.profile-preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-block: 1rem; padding: 1rem 1.25rem; border: 1px solid #b8cbc3; border-radius: .6rem; background: #eef4f1; }
.profile-preview-toolbar p { margin-block: .15rem; }
.preview-recommendations { margin-block: 1rem 1.5rem; border: 1px solid #d6a62a; border-radius: .6rem; background: #fffaf0; }
.preview-recommendations summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; color: #684c00; font-weight: 750; cursor: pointer; }
.preview-recommendations > p, .preview-recommendations > ul { margin-inline: 1rem; }
.recommendation-count { display: grid; place-items: center; min-width: 1.7rem; height: 1.7rem; border-radius: 50%; color: white; background: #8a6500; font-size: .82rem; }
.candidate-profile-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .42fr); gap: clamp(1.5rem, 5vw, 3.5rem); margin-block: 2rem; padding: clamp(1.5rem, 5vw, 3rem); border-radius: .85rem; color: #17202a; background: linear-gradient(135deg, #f4f8f6, #e8f2ed); }
.candidate-profile-hero h1 { max-width: 14ch; margin-block: .3rem .75rem; font-size: clamp(2.2rem, 6vw, 4.4rem); line-height: 1.02; }
.profile-location { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: 1.05rem; }
.profile-location span { color: #174b3a; font-weight: 700; }
.profile-family-tags, .profile-inline-list { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; list-style: none; }
.profile-family-tags li { padding: .35rem .65rem; border: 1px solid #9bb7ac; border-radius: 999px; color: #174b3a; background: white; font-size: .86rem; font-weight: 700; }
.profile-highlights { align-self: center; padding: 1rem; border: 1px solid #c8d7d1; border-radius: .6rem; background: rgb(255 255 255 / 78%); }
.profile-highlights h2 { margin-top: 0; font-size: 1rem; }
.profile-highlights ul { display: grid; gap: .55rem; padding: 0; list-style: none; }
.profile-highlights li { display: grid; grid-template-columns: 1.2rem 1fr; gap: .35rem; font-size: .9rem; }
.profile-highlights li span { color: #16703a; font-weight: 900; }
.candidate-profile-layout { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.candidate-profile-index { position: sticky; top: 1rem; display: grid; gap: .15rem; padding: 1rem; border: 1px solid #d9dfdc; border-radius: .6rem; background: white; }
.candidate-profile-index strong { margin-bottom: .4rem; color: #17202a; }
.candidate-profile-index a { padding: .35rem .45rem; border-radius: .3rem; color: #174b3a; text-decoration: none; }
.candidate-profile-index a:hover, .candidate-profile-index a:focus-visible { background: #eef4f1; }
.candidate-profile-content { min-width: 0; }
.profile-content-section { margin-block: 0 1.25rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #d9dfdc; border-radius: .7rem; background: white; line-height: 1.65; scroll-margin-block: 1rem; }
.profile-content-section > h2, .specialization-card-header h2 { margin-block: .15rem 1rem; font-size: clamp(1.45rem, 3vw, 2rem); }
.section-kicker { margin: 0; color: #246b55; font-size: .78rem; font-weight: 850; letter-spacing: .08em; }
.profile-summary { border-left: .35rem solid #246b55; }
.profile-timeline { display: grid; }
.profile-timeline article { position: relative; display: grid; grid-template-columns: 1.1rem 1fr; gap: .75rem; padding-bottom: 1.25rem; }
.profile-timeline article:not(:last-child)::before { content: ""; position: absolute; top: .7rem; bottom: 0; left: .32rem; width: 2px; background: #c8d7d1; }
.profile-timeline-marker { position: relative; z-index: 1; width: .7rem; height: .7rem; margin-top: .45rem; border: 2px solid white; border-radius: 50%; background: #246b55; box-shadow: 0 0 0 1px #246b55; }
.profile-timeline h3, .profile-record-grid h3, .profile-record-grid h4 { margin-block: 0 .25rem; }
.profile-item-meta { margin-block: .15rem .55rem; color: #4b5551; font-size: .9rem; }
.profile-record-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .75rem; }
.profile-record-grid article { padding: 1rem; border: 1px solid #e0e6e3; border-radius: .5rem; background: #fafcfb; }
.specialization-card { border-top: .3rem solid #246b55; }
.specialization-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.profile-status-chip { flex: 0 0 auto; padding: .3rem .6rem; border-radius: 999px; color: #145c31; background: #e2f2e8; font-size: .8rem; font-weight: 750; }
.profile-fact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: .75rem; margin-block: 1rem; }
.profile-fact-grid > div { padding: .85rem; border-radius: .45rem; background: #f4f7f5; }
.profile-fact-grid dt { color: #4b5551; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.profile-fact-grid dd { margin: .25rem 0 0; }
.profile-feature-block { margin-block: 1rem; padding: .9rem 1rem; border-left: .25rem solid #72ad88; background: #f4f9f6; }
.profile-feature-block h3 { margin-top: 0; }
.profile-more-details { margin-top: .65rem; border: 1px solid #d9dfdc; border-radius: .5rem; }
.profile-more-details summary { padding: .75rem .9rem; color: #174b3a; font-weight: 750; cursor: pointer; }
.profile-more-details[open] summary { border-bottom: 1px solid #d9dfdc; background: #f7faf8; }
.profile-more-details > div { padding: .25rem 1rem 1rem; }
.profile-more-details > div > h3:first-child { margin-top: .85rem; }
.profile-inline-list li { padding: .25rem .5rem; border-radius: 999px; background: #eef4f1; font-size: .86rem; }
.profile-external-action a { display: inline-block; padding: .55rem .8rem; border: 1px solid #174b3a; border-radius: .35rem; }
.profile-trust-note { max-width: none; margin-block: 2rem; padding: 1rem 1.25rem; border-left: .3rem solid #246b55; background: #eef4f1; line-height: 1.55; }
.professional-contact-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-block: 1.5rem 2rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #bdd2c9; border-radius: .75rem; background: linear-gradient(135deg, #edf7f2, #fff); }
.professional-contact-cta h2 { margin-block: .25rem .4rem; }
.professional-contact-cta p:last-child { max-width: 48rem; margin-bottom: 0; }
.professional-contact-cta .button-link { flex: 0 0 auto; }
.contact-recipient-summary { display: flex; padding: 1rem; border: 1px solid #d4dfda; border-radius: .5rem; background: #fff; flex-direction: column; }
.contact-recipient-summary span { color: #59645f; }
.professional-contact-detail { max-width: 62rem; margin-inline: auto; }
.contact-response-panel { margin-block: 1.5rem; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #c8d8d1; border-radius: .65rem; background: #f6faf8; }
.contact-response-panel h2 { margin-top: 0; }
.contact-shared-email { padding: .8rem 1rem; border-left: .3rem solid #246b55; background: #e6f3ed; }
@media (max-width: 50rem) {
  .candidate-profile-hero { grid-template-columns: 1fr; }
  .candidate-profile-layout { grid-template-columns: 1fr; }
  .candidate-profile-index { position: static; display: flex; overflow-x: auto; gap: .35rem; padding: .65rem; white-space: nowrap; }
  .candidate-profile-index strong { display: none; }
  .candidate-profile-index a { flex: 0 0 auto; }
  .professional-contact-cta { align-items: stretch; flex-direction: column; }
  .professional-contact-cta .button-link { text-align: center; }
}
@media (max-width: 36rem) {
  .profile-preview-toolbar { display: block; }
  .profile-preview-toolbar .button-link-secondary { margin-top: .75rem; }
  .candidate-profile-hero { margin-inline: -1rem; border-radius: 0; }
  .specialization-card-header { display: block; }
  .profile-status-chip { display: inline-block; margin-bottom: .75rem; }
}
@media print {
  .profile-preview-toolbar, .preview-recommendations, .candidate-profile-index, .site-header, .site-footer { display: none; }
  .candidate-profile-layout { display: block; }
  .profile-content-section { break-inside: avoid; box-shadow: none; }
  .profile-more-details > div { display: block; }
}
.privacy-note { max-width: 48rem; margin-block: 2rem; padding: 1rem; background: #eef4f1; border-left: .3rem solid #246b55; }
.job-card { display: flex; flex-direction: column; gap: 1rem; border-radius: .7rem; }
.job-card h2 { margin-block: .35rem; font-size: 1.45rem; line-height: 1.2; }
.job-card h2 a { color: #17202a; }
.job-card-company { margin: 0; color: #35403b; }
.job-card-families { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.job-card-families li { padding: .25rem .5rem; border-radius: 999px; color: #174b3a; background: #eef4f1; font-size: .78rem; font-weight: 700; }
.job-card-facts { display: grid; gap: .55rem; margin: 0; }
.job-card-facts > div { display: grid; grid-template-columns: 5.5rem 1fr; gap: .5rem; }
.job-card-facts dt { color: #59645f; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.job-card-facts dd { margin: 0; }
.job-card footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: .8rem; border-top: 1px solid #e2e7e4; color: #59645f; font-size: .86rem; }
.job-card footer a { flex: 0 0 auto; color: #174b3a; font-weight: 800; }
.job-offer-view { max-width: 70rem; margin-inline: auto; }
.job-offer-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .4fr); gap: clamp(1.5rem, 5vw, 3.5rem); margin-block: 2rem; padding: clamp(1.5rem, 5vw, 3rem); border-radius: .85rem; background: linear-gradient(135deg, #f4f8f6, #e8f2ed); }
.job-offer-hero h1 { max-width: 15ch; margin-block: .4rem .7rem; font-size: clamp(2.2rem, 6vw, 4.25rem); line-height: 1.02; }
.job-status-line { margin-block: .6rem 0; }
.job-status-chip { display: inline-block; padding: .3rem .65rem; border-radius: 999px; font-size: .8rem; font-weight: 800; }
.job-status-chip.is-open { color: #145c31; background: #dcefe3; }
.job-status-chip.is-preview { color: #315d78; background: #e3eff6; }
.job-status-chip.is-closed { color: #684c00; background: #fff0c8; }
.job-company-line { margin-block: 0 1rem; color: #35403b; font-size: 1.1rem; font-weight: 700; }
.job-hero-highlights { align-self: center; padding: 1rem; border: 1px solid #c8d7d1; border-radius: .6rem; background: rgb(255 255 255 / 82%); }
.job-hero-highlights h2 { margin-top: 0; font-size: 1rem; }
.job-hero-highlights dl { display: grid; gap: .75rem; margin: 0; }
.job-hero-highlights dl > div { padding-bottom: .65rem; border-bottom: 1px solid #dde5e1; }
.job-hero-highlights dl > div:last-child { padding-bottom: 0; border: 0; }
.job-hero-highlights dt, .job-action-dates dt { color: #59645f; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.job-hero-highlights dd, .job-action-dates dd { margin: .15rem 0 0; font-weight: 700; }
.job-availability-note { max-width: none; margin-block: 1rem 1.5rem; }
.job-offer-layout { display: grid; grid-template-columns: 16rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.job-action-panel { position: sticky; top: 1rem; padding: 1.15rem; border: 1px solid #cbd8d2; border-radius: .65rem; background: white; }
.job-action-panel h2 { margin-top: 0; font-size: 1.15rem; }
.job-action-panel .button-link, .job-action-panel .button-link-secondary { width: 100%; text-align: center; }
.button-link.is-disabled { color: #5e6864; background: #e2e6e4; cursor: not-allowed; }
.job-applied-message { padding: .7rem; color: #145c31; background: #e8f3ec; font-weight: 750; }
.job-company-view-note { padding: .85rem; border-left: .25rem solid #5c8f7d; background: #eef4f1; line-height: 1.45; }
.job-company-view-note p { margin-block: .35rem .65rem; }
.job-company-view-note a { color: #174b3a; font-weight: 750; }
.job-action-dates { display: grid; gap: .75rem; margin: 1.1rem 0 0; padding-top: 1rem; border-top: 1px solid #d9dfdc; }
.job-confidential-note { margin-bottom: 0; padding-top: .9rem; border-top: 1px solid #d9dfdc; color: #4b5551; font-size: .86rem; line-height: 1.45; }
.job-offer-content { min-width: 0; }
.job-condition-grid > div { min-width: 0; }
.job-salary-fact { background: #eaf4ef !important; }
.job-salary-fact dd { color: #174b3a; font-weight: 800; }
.job-requirement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.job-requirement-block { padding: 1rem; border-radius: .5rem; }
.job-requirement-block h3 { margin-top: 0; font-size: 1.05rem; }
.job-requirement-block.is-required { border-left: .3rem solid #246b55; background: #f1f7f4; }
.job-requirement-block.is-valued { border: 1px solid #d9dfdc; background: #fafcfb; }
.job-closing-action { margin-block: 1.5rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: .7rem; background: #e8f2ed; }
.job-closing-action h2 { margin-top: 0; }
.job-preview-actions { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; margin-block: 2rem; padding-top: 1.25rem; border-top: 1px solid #d9dfdc; }
.job-preview-actions form { margin: 0; }
.job-report-link { margin-block: 2rem; text-align: right; font-size: .9rem; }
.dashboard-heading, .company-dashboard-header, .section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.dashboard-primary-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.company-dashboard .company-block { overflow: hidden; padding: 0; border: 1px solid #ccd8d3; border-radius: .85rem; background: #fff; box-shadow: 0 .35rem 1.2rem rgb(23 75 58 / 7%); }
.company-dashboard-header { padding: 1.5rem; border-bottom: 1px solid #e0e7e4; background: linear-gradient(135deg, #f5f9f7, #fff); }
.company-dashboard-header h2, .company-profile-summary h3, .section-heading h3, .management-job-card h4 { margin-top: 0; }
.company-state-chip, .management-state, .summary-count { display: inline-flex; padding: .2rem .55rem; border-radius: 999px; background: #e8efec; color: #26483c; font-size: .82rem; font-weight: 750; }
.management-state.is-positive { background: #daf0e5; color: #12523c; }
.company-portfolio-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; border-bottom: 1px solid #e0e7e4; list-style: none; }
.company-portfolio-stats li { display: flex; min-width: 0; padding: 1rem 1.5rem; flex-direction: column; border-right: 1px solid #e0e7e4; }
.company-portfolio-stats li:last-child { border-right: 0; }
.company-portfolio-stats strong { color: #174b3a; font-size: 1.15rem; }
.company-portfolio-stats span { color: #59645f; font-size: .78rem; }
.company-profile-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.5rem; padding: 1rem 1.15rem; border: 1px solid #dbe4e0; border-radius: .65rem; background: #fafcfb; }
.company-profile-summary p { margin-bottom: 0; }
.company-profile-status { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; margin: 1.5rem; padding: 1.15rem; border: 1px solid #cbd8d2; border-radius: .7rem; background: #f7faf8; }
.company-profile-status-icon { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: #dfe8e4; color: #28483d; font-size: 1.25rem; font-weight: 850; }
.company-profile-status-icon svg, .profile-visibility-action svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.company-profile-status-copy h3 { margin: .15rem 0 .3rem; font-size: 1.12rem; }
.company-profile-status-copy p { margin: 0; color: #46534e; line-height: 1.45; }
.profile-status-kicker { color: #53605b !important; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.company-profile-status.is-visible { border-color: #9ecdb8; background: #eef8f3; }
.company-profile-status.is-visible .company-profile-status-icon { background: #1f7659; color: #fff; }
.company-profile-status.is-hidden .company-profile-status-icon { background: #68766f; color: #fff; }
.company-profile-status.is-incomplete, .company-profile-status.is-unavailable { border-color: #e2ca84; background: #fff9e8; }
.company-profile-status.is-incomplete .company-profile-status-icon, .company-profile-status.is-unavailable .company-profile-status-icon { background: #f0d680; color: #604a0b; }
.company-profile-status.is-blocked { border-color: #dfaea5; background: #fff3f0; }
.company-profile-status.is-blocked .company-profile-status-icon { background: #a84435; color: #fff; }
.company-profile-status-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.company-profile-status-actions form { margin: 0; }
.profile-visibility-action { display: inline-flex; align-items: center; gap: .4rem; }
.profile-visibility-action.is-show { background: #1f7659; border-color: #1f7659; }
.profile-visibility-action.is-hide { background: #fff; border-color: #aab8b2; color: #354b43; }
.profile-missing-list { display: flex; flex-wrap: wrap; gap: .35rem; margin: .55rem 0 0; padding: 0; list-style: none; }
.profile-missing-list li { padding: .2rem .5rem; border-radius: 999px; background: #f4dda0; color: #5b460c; font-size: .78rem; font-weight: 750; }
.compact-actions, .management-job-actions, .management-job-secondary-actions, .action-confirmation-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem 1rem; }
.compact-actions form, .management-job-actions form, .action-confirmation-buttons form { margin: 0; }
.job-management-section { padding: .5rem 1.5rem 1.5rem; }
.section-heading { align-items: end; margin-bottom: 1rem; }
.section-heading p:last-child { max-width: 34rem; color: #53605b; font-size: .92rem; }
.management-job-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1rem; }
.management-job-card { display: flex; min-width: 0; padding: 1.15rem; border: 1px solid #d7e0dc; border-radius: .65rem; background: #fff; flex-direction: column; }
.management-job-card header { flex: 1; }
.management-job-card h4 { margin-block: .75rem .35rem; font-size: 1.12rem; }
.management-job-card header p { color: #59645f; font-size: .88rem; }
.job-review-indicator { display: grid; grid-template-columns: 1.8rem 1fr; gap: .65rem; align-items: start; margin-top: 1rem; padding: .75rem; border: 1px solid #d9e1de; border-radius: .55rem; background: #f5f7f6; }
.job-review-indicator > span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #dfe6e3; color: #31483f; font-size: .85rem; font-weight: 850; }
.job-review-indicator p { margin: 0; color: #24332e; }
.job-review-indicator strong, .job-review-indicator small { display: block; }
.job-review-indicator small { margin-top: .15rem; color: #52605b; line-height: 1.4; }
.job-review-indicator.is-pending { border-color: #e5cf8d; background: #fff9e8; }
.job-review-indicator.is-pending > span { background: #f3dc96; color: #644d0c; }
.job-review-indicator.is-approved { border-color: #a9d5c1; background: #edf8f3; }
.job-review-indicator.is-approved > span { background: #1f7659; color: #fff; }
.job-review-indicator.is-hidden { border-color: #bdc8c3; background: #f1f4f3; }
.job-review-indicator.is-hidden > span { background: #68766f; color: #fff; }
.job-review-indicator.is-changes { border-color: #e1b3aa; background: #fff4f1; }
.job-review-indicator.is-changes > span { background: #a84435; color: #fff; }
.management-job-actions { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #e4e9e7; }
.management-job-secondary-actions { margin-top: .85rem; font-size: .88rem; }
.visibility-control { display: inline-flex; align-items: center; gap: .35rem; font-weight: 750; }
.visibility-control svg { flex: 0 0 auto; }
.visibility-button { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .7rem; border: 1px solid #9eb9ae; background: #fff; color: #174b3a; }
.visibility-button.is-visible { border-color: #b7c3be; color: #4f5d57; }
.danger-link { color: #982b2b; }
.archived-jobs { margin: 0 1.5rem 1.5rem; border-top: 1px solid #dce4e0; }
.archived-jobs summary { display: flex; align-items: center; justify-content: space-between; padding-block: 1rem; cursor: pointer; color: #174b3a; font-weight: 750; }
.archived-jobs .management-job-grid { padding-bottom: 1rem; }
.management-job-card.is-archived { background: #f7f8f7; }
.details-help { color: #53605b; font-size: .92rem; }
.company-account-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-top: 1px solid #e0e7e4; background: #fafcfb; }
.company-account-actions p { margin: 0; }
.company-account-actions > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem 1rem; }
.action-confirmation { max-width: 44rem; }
.action-confirmation-card { margin-block: 1.5rem; padding: 1.5rem; border: 1px solid #d7e0dc; border-radius: .75rem; background: #fff; box-shadow: 0 .35rem 1.2rem rgb(23 75 58 / 7%); }
.action-confirmation-card h2 { margin-block: .75rem; }
.action-warning { padding: .8rem 1rem; border-left: .3rem solid #a52a2a; background: #fff4f2; }
.danger-button { background: #982b2b; border-color: #982b2b; }
.guide-page { max-width: 76rem; margin-inline: auto; }
.guide-nav { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 2rem; padding: .35rem; border: 1px solid #d3dfda; border-radius: .7rem; background: #f4f8f6; }
.guide-nav a { padding: .55rem .8rem; border-radius: .45rem; color: #244b3e; font-size: .9rem; font-weight: 750; text-decoration: none; }
.guide-nav a:hover { background: #e4eee9; }
.guide-nav a[aria-current="page"] { color: #fff; background: #174b3a; }
.guide-hero { display: grid; grid-template-columns: minmax(0, 1fr) 7rem; gap: 2rem; align-items: center; margin-bottom: 2.5rem; padding: clamp(1.5rem, 5vw, 3rem); border-radius: 1rem; background: linear-gradient(135deg, #edf6f2, #f8fbf9); }
.guide-hero h1, .guide-article-header h1 { max-width: 17ch; margin-block: .3rem .8rem; font-size: clamp(2.25rem, 6vw, 4.4rem); line-height: 1.02; }
.guide-lead { max-width: 48rem; color: #3d4c46; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.55; }
.guide-hero-mark { display: grid; width: 6rem; height: 6rem; place-items: center; border-radius: 50%; color: #fff; background: #246b55; font-size: 3.5rem; font-weight: 850; }
.guide-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.guide-card { display: flex; min-height: 16rem; padding: 1.4rem; border: 1px solid #d4dfda; border-radius: .8rem; background: #fff; flex-direction: column; box-shadow: 0 .35rem 1rem rgb(23 75 58 / 6%); }
.guide-card.is-internal { border-color: #d8c680; background: #fffbed; }
.guide-card h2 { margin-block: .65rem .4rem; font-size: 1.3rem; }
.guide-card p { color: #4c5a55; line-height: 1.5; }
.guide-card a { margin-top: auto; color: #174b3a; font-weight: 800; }
.guide-number { color: #246b55; font-size: .78rem; font-weight: 850; letter-spacing: .1em; }
.guide-note, .guide-warning, .guide-tip, .guide-example { margin-block: 1.5rem; padding: 1rem 1.15rem; border-left: .3rem solid #246b55; background: #eef6f2; line-height: 1.55; }
.guide-note p, .guide-warning p, .guide-tip p, .guide-example p { margin-block: .35rem; }
.guide-warning { border-color: #a26a12; background: #fff8e7; }
.guide-example { border-color: #537d9b; background: #f0f6fa; }
.guide-article-header { margin-block: 2rem 2.5rem; padding-bottom: 2rem; border-bottom: 1px solid #d9e1de; }
.guide-reviewed { color: #5d6863; font-size: .85rem; }
.guide-toc { display: flex; flex-wrap: wrap; gap: .5rem .85rem; margin-bottom: 3rem; padding: 1rem; border: 1px solid #d6e0dc; border-radius: .65rem; background: #fafcfb; }
.guide-toc strong { width: 100%; color: #45534d; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.guide-toc a { color: #174b3a; }
.guide-step { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: 1.1rem; max-width: 64rem; margin-block: 3rem; scroll-margin-top: 1rem; }
.guide-step-number { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; color: #fff; background: #246b55; font-weight: 850; }
.guide-step h2 { margin-top: .35rem; font-size: clamp(1.55rem, 3vw, 2rem); }
.guide-step h3 { margin-bottom: .35rem; }
.guide-step p, .guide-step li, .guide-definitions dd { line-height: 1.62; }
.guide-checklist { display: grid; gap: .55rem; padding-left: 1.4rem; }
.guide-split, .guide-role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 1.2rem; }
.guide-split > div, .guide-role-grid article { padding: 1.1rem; border: 1px solid #d5dfdb; border-radius: .65rem; background: #fff; }
.guide-definitions { display: grid; gap: .7rem; }
.guide-definitions > div { display: grid; grid-template-columns: minmax(9rem, .35fr) minmax(0, 1fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid #e0e6e3; }
.guide-definitions dt { color: #174b3a; font-weight: 800; }
.guide-definitions dd { margin: 0; }
.guide-screen { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .65rem; margin-block: 1.25rem; padding: 1.5rem; border-radius: .75rem; background: #edf4f1; }
.guide-screen span { padding: .7rem 1rem; border: 1px solid #b9cec5; border-radius: .5rem; background: #fff; font-weight: 750; }
.guide-screen b { color: #557067; }
.guide-state-flow { display: flex; flex-wrap: wrap; gap: .45rem; margin-block: 1.2rem; padding: 0; }
.guide-state-flow span { position: relative; padding: .5rem .8rem; border-radius: 999px; color: #244a3d; background: #e3efe9; font-size: .85rem; font-weight: 750; }
.guide-state-flow span:not(:last-child)::after { content: "→"; margin-left: .8rem; color: #68766f; }
.guide-status-sample { display: flex; flex-wrap: wrap; gap: .6rem; margin-block: 1rem; }
.guide-status-sample span { padding: .4rem .7rem; border-radius: 999px; font-size: .82rem; font-weight: 800; }
.guide-status-sample .is-visible { color: #145c31; background: #dcefe3; }
.guide-status-sample .is-hidden { color: #47524d; background: #e5e9e7; }
.guide-status-sample .is-pending { color: #684c00; background: #fff0c8; }
.guide-next { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding: 1.25rem; border-top: 1px solid #d6dfdb; background: #f7faf8; }
.guide-next span { color: #5a6661; font-size: .82rem; font-weight: 750; text-transform: uppercase; }
.guide-next a { color: #174b3a; font-weight: 850; }
.hero-guide-links { display: flex; flex-wrap: wrap; gap: .35rem .7rem; margin-top: -.25rem; font-size: .92rem; }
.hero-guide-links a { color: #174b3a; font-weight: 700; }
.hero-guide-links span { color: #89938f; }
.home-guides { margin-bottom: clamp(3rem, 7vw, 5.5rem); padding: clamp(1.35rem, 4vw, 2.5rem); border: 1px solid #cbdcd5; border-radius: .85rem; background: linear-gradient(135deg, #f1f7f4 0%, #e8f2ed 100%); }
.home-guides > header { max-width: 48rem; }
.home-guides h2 { margin: .2rem 0 .5rem; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.home-guides header p:last-child { margin-bottom: 0; line-height: 1.6; }
.home-guide-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1.5rem; }
.home-guide-links a { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .2rem .7rem; min-height: 100%; padding: 1.05rem; border: 1px solid #c7d7d0; border-radius: .65rem; color: #17202a; background: #fff; text-decoration: none; }
.home-guide-links a:hover { border-color: #246b55; box-shadow: 0 .25rem .8rem rgb(23 75 58 / 10%); }
.home-guide-links a:focus-visible { outline: .2rem solid #d49b19; outline-offset: .15rem; }
.home-guide-links span { grid-row: 1 / 3; color: #246b55; font-size: .78rem; font-weight: 850; letter-spacing: .05em; }
.home-guide-links strong { color: #174b3a; font-size: 1.05rem; }
.home-guide-links small { line-height: 1.45; }
@media (max-width: 50rem) {
  .job-offer-hero, .job-offer-layout { grid-template-columns: 1fr; }
  .job-action-panel { position: static; }
  .job-action-panel .button-link, .job-action-panel .button-link-secondary { width: auto; }
}
@media (max-width: 42rem) {
  .guide-hero { grid-template-columns: 1fr; }
  .guide-hero-mark { width: 4rem; height: 4rem; font-size: 2.3rem; }
  .guide-step { grid-template-columns: 2.5rem minmax(0, 1fr); gap: .75rem; }
  .guide-step-number { width: 2.35rem; height: 2.35rem; }
  .guide-split, .guide-role-grid { grid-template-columns: 1fr; }
  .guide-definitions > div { grid-template-columns: 1fr; gap: .25rem; }
  .guide-next { align-items: flex-start; flex-direction: column; }
  .home-guide-links { grid-template-columns: 1fr; }
}
@media (max-width: 36rem) {
  .job-offer-hero { margin-inline: -1rem; border-radius: 0; }
  .job-requirement-grid { grid-template-columns: 1fr; }
  .job-action-panel .button-link, .job-action-panel .button-link-secondary { display: block; width: 100%; }
  .job-preview-actions { align-items: stretch; flex-direction: column; }
  .job-preview-actions a, .job-preview-actions button { width: 100%; text-align: center; }
}
@media (max-width: 42rem) {
  .dashboard-heading, .company-dashboard-header, .section-heading, .company-profile-summary { align-items: stretch; flex-direction: column; }
  .dashboard-primary-actions { justify-content: flex-start; }
  .dashboard-primary-actions a { width: 100%; text-align: center; }
  .company-dashboard-header, .job-management-section { padding-inline: 1rem; }
  .company-portfolio-stats { grid-template-columns: 1fr; }
  .company-portfolio-stats li { padding-inline: 1rem; }
  .company-portfolio-stats li { border-right: 0; border-bottom: 1px solid #e0e7e4; }
  .company-portfolio-stats li:last-child { border-bottom: 0; }
  .company-profile-summary, .company-profile-status, .archived-jobs { margin-inline: 1rem; }
  .company-profile-status { grid-template-columns: 2.5rem minmax(0, 1fr); align-items: start; }
  .company-profile-status-icon { width: 2.5rem; height: 2.5rem; }
  .company-profile-status-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .company-profile-status-actions a, .company-profile-status-actions button { width: 100%; justify-content: center; text-align: center; }
  .company-account-actions { align-items: stretch; padding-inline: 1rem; flex-direction: column; }
  .company-account-actions > div { justify-content: flex-start; }
  .management-job-grid { grid-template-columns: 1fr; }
  .action-confirmation-buttons { align-items: stretch; flex-direction: column-reverse; }
  .action-confirmation-buttons a, .action-confirmation-buttons button { width: 100%; text-align: center; }
  .profile-form-actions { align-items: stretch; flex-direction: column-reverse; }
  .profile-form-actions button { width: 100%; }
}
.secondary-action { margin-top: 1rem; }
.inline-form { display: inline; }
.inline-form button { padding: .35rem .55rem; }
.two-factor-setup-steps { padding-left: 1.25rem; }
.two-factor-setup-steps li { margin-bottom: 1.5rem; }
.two-factor-qr { max-width: 12rem; margin-block: .75rem; }
.two-factor-qr svg { width: 100%; height: auto; }
.two-factor-secret code, .two-factor-recovery-codes code { font-size: 1rem; letter-spacing: .05em; }
.two-factor-recovery-codes { padding: 1rem 1.25rem; list-style: none; background: white; border: 1px solid #d9dfdc; border-radius: .5rem; }
.two-factor-recovery-codes li { padding: .2rem 0; }
.search-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .75rem 1rem; align-items: end; margin-block: 1.5rem; padding: 1rem; background: white; border: 1px solid #d9dfdc; border-radius: .5rem; }
.search-form p { margin: 0; }
.search-form input, .search-form select { width: 100%; padding: .65rem; font: inherit; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 1.5rem; margin-block: 2rem; }
.status-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: .75rem; padding: 0; list-style: none; }
.status-summary a { display: block; min-height: 100%; padding: .8rem; border: 1px solid #d9dfdc; border-radius: .4rem; background: white; }
.application-review > section { max-width: 52rem; margin-block: 2rem; line-height: 1.65; }
.construction-page { display: grid; align-content: center; min-height: 100vh; max-width: 46rem; margin-inline: auto; padding: 2rem; }
.construction-page img { width: min(100%, 26rem); height: auto; margin-bottom: 3rem; }
.construction-page h1 { max-width: 16ch; font-size: clamp(2.4rem, 7vw, 4.8rem); line-height: 1.05; }
.construction-page p:last-child { max-width: 40rem; font-size: 1.2rem; line-height: 1.65; }
.maintenance-page h1 { max-width: 19ch; }
.maintenance-page .maintenance-estimate { padding-left: 1rem; border-left: .25rem solid #d49b19; font-size: 1rem; }
.maintenance-page .maintenance-staff-access { margin-top: 2rem; font-size: .95rem; }
.maintenance-staff-banner { padding: .7rem 1rem; background: #fff1c7; border-bottom: 2px solid #b77a00; color: #342500; text-align: center; }
.maintenance-staff-banner a { color: #174b3a; font-weight: 750; }
.editorial-index > header, .article-detail { max-width: 52rem; }
.category-nav { display: flex; flex-wrap: wrap; column-gap: 1rem; row-gap: 1.15rem; margin-block: 2rem; padding-top: .35rem; }
.category-nav a, .article-category a { color: #174b3a; font-weight: 700; }
.category-nav a { position: relative; display: inline-flex; align-items: center; padding: .5rem .85rem; border: 1px solid #b8cbc3; border-radius: 2rem; text-decoration: none; }
.category-count { position: absolute; inset-block-start: -.65rem; inset-inline-end: -.55rem; display: inline-grid; min-width: 1.4rem; height: 1.4rem; padding-inline: .28rem; place-items: center; border-radius: 2rem; background: #174b3a; box-shadow: 0 0 0 2px #fff; color: #fff; font-size: .72rem; font-weight: 800; line-height: 1; }
.article-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1rem; margin-block: 2rem; }
.article-card { padding: 1.25rem; border: 1px solid #d9dfdc; border-radius: .5rem; background: white; }
.article-card-artwork { margin: -1.25rem -1.25rem 1rem; border-bottom: 1px solid #e2e6e4; background: #f7f8f7; }
.article-card-artwork a { display: block; }
.article-card .article-card-artwork img { display: block; width: 100%; height: auto; margin: 0; border-radius: .5rem .5rem 0 0; aspect-ratio: 1200 / 630; object-fit: cover; }
.article-card-artwork figcaption { padding: .35rem 1.25rem .45rem; color: #66706c; font-size: .7rem; line-height: 1.35; }
.article-card h2 { margin-top: .4rem; }
.article-card h2 a { color: #17202a; }
.article-category, .article-meta { color: #4b5551; font-size: .92rem; }
.article-card .article-meta { color: #59635f; font-size: .82rem; font-weight: 400; line-height: 1.5; }
.article-card .article-view-count { white-space: nowrap; }
.article-detail > header { margin-bottom: 2.5rem; }
.article-detail section, .article-body { line-height: 1.75; }
.article-body { display: flow-root; }
.article-detail section { margin-block: 2.25rem; }
.article-featured-image { margin: 0 0 2.5rem; }
.article-featured-image img { display: block; width: 100%; height: auto; border: 1px solid #d9dfdc; border-radius: .5rem; }
.article-featured-image figcaption { margin-top: .4rem; color: #4b5551; font-size: .85rem; }
.article-section > h2 { margin-bottom: .85rem; }
.article-section-content { display: flow-root; }
.article-section-image { float: right; width: 30%; max-width: 14rem; margin: .15rem 0 1rem 1.35rem; }
.article-lead-image, .article-section-image-wide { width: 60%; max-width: 28rem; }
.article-section-image-triple-wide { float: none; width: 100%; max-width: none; margin: .15rem 0 1.25rem; }
.article-section-image img { display: block; width: 100%; height: auto; border: 1px solid #d9dfdc; background: white; }
.article-section-image figcaption { margin-top: .55rem; color: #35403b; font-size: .92rem; line-height: 1.5; }
.article-series-link { margin-block: 2rem; padding: 1rem 1.2rem; border-left: .3rem solid #246b55; background: #f5f8f6; }
.article-series-link p { margin: 0; }
.article-sources { margin-block: 2.5rem; padding-top: 1rem; border-top: 1px solid #d9dfdc; }
.article-sources li + li { margin-top: .65rem; }
.article-cta { margin-block: 3rem; padding: 1.5rem; border-radius: .5rem; background: #eef4f1; }
.article-cta p { font-size: 1.15rem; font-weight: 650; }
.related-articles { margin-top: 3rem; padding: 1.25rem; background: #eef4f1; border-left: .3rem solid #246b55; }
.analytics-world-map-figure { max-width: 62rem; margin: 1.5rem 0 .75rem; }
.analytics-world-map { display: block; width: 100%; height: auto; border: 1px solid #b8cbc3; border-radius: .75rem; background: #eef6f8; }
.analytics-world-map-ocean { fill: #eef6f8; }
.analytics-world-map-country { fill: #d9dfdc; stroke: #fff; stroke-width: .7; vector-effect: non-scaling-stroke; fill-rule: evenodd; }
.analytics-world-map-level-0 { background: #d9dfdc; fill: #d9dfdc; }
.analytics-world-map-level-1 { background: #a9cfbf; fill: #a9cfbf; }
.analytics-world-map-level-2 { background: #4f9279; fill: #4f9279; }
.analytics-world-map-level-3 { background: #174b3a; fill: #174b3a; }
.analytics-world-map-figure figcaption { margin-top: .4rem; color: #4b5551; font-size: .85rem; }
.analytics-map-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .75rem 0 1.5rem; padding: 0; list-style: none; font-size: .9rem; }
.analytics-map-legend li { display: inline-flex; align-items: center; gap: .4rem; }
.analytics-map-legend span { width: 1.2rem; height: 1.2rem; border: 1px solid #aeb9b4; border-radius: .2rem; }
@media (max-width: 42rem) { .impersonation-banner { align-items: stretch; flex-direction: column; gap: .55rem; } .impersonation-banner button { width: 100%; } .site-header { align-items: flex-start; flex-direction: column; } .site-header nav { flex-wrap: wrap; gap: .65rem 1rem; } .hero { padding-block: 2rem 3.5rem; } .user-menu-panel { right: auto; left: 0; } }
@media (max-width: 42rem) { .article-card-artwork figcaption { font-size: .74rem; } }
@media (max-width: 42rem) { .article-lead-image, .article-section-image-wide, .article-section-image-triple-wide { float: none; width: 100%; max-width: none; margin: 0 0 1.25rem; } }
@media (max-width: 48rem) { .audiences { grid-template-columns: 1fr; } }
@media (max-width: 42rem) { .recent-jobs > header { align-items: flex-start; flex-direction: column; } .home-job-grid { grid-template-columns: 1fr; } }
@media (max-width: 42rem) { .career-section-header, .experience-card { align-items: flex-start; flex-direction: column; } .experience-actions { justify-content: flex-start; min-width: 0; } }
@media (max-width: 42rem) { .company-block > header, .item-list li { align-items: flex-start; flex-direction: column; } .company-actions { justify-content: flex-start; } }
@media (max-width: 52rem) { .contact-layout { grid-template-columns: 1fr; } }
@media (max-width: 36rem) { .contact-name-email { grid-template-columns: 1fr; } .contact-form-header, .contact-actions { align-items: flex-start; flex-direction: column; } .contact-actions button { width: 100%; } }

.job-card-facts > .job-card-characteristics { grid-template-columns: 1fr; gap: .25rem; }
.job-characteristic { display: inline-block; overflow-wrap: anywhere; }
