:root {
  --navy: #123b63;
  --navy-dark: #082c4d;
  --blue: #2aa8d8;
  --blue-soft: #e9f7fc;
  --ink: #17202b;
  --muted: #5e6b78;
  --line: #dce5eb;
  --paper: #ffffff;
  --surface: #f5f8fa;
}

/* Certification console: complete application surfaces */
.academy-sidebar nav button { background: transparent; border: 0; border-radius: 7px; color: #526778; cursor: pointer; font: inherit; font-size: .83rem; font-weight: 720; padding: 12px 13px; text-align: left; }
.academy-sidebar nav button:hover, .academy-sidebar nav button.active { background: #e7f4f8; color: #0d6382; }
.academy-sidebar nav button.active { box-shadow: inset 3px 0 #31acd3; }
.academy-attend-link { border-top: 1px solid #dce6eb; color: #0e7398; font-size: .7rem; font-weight: 800; margin-top: 17px; padding: 17px 4px 0; }
.academy-demo-banner, .academy-success, .academy-error { border-radius: 8px; font-size: .75rem; margin-top: 18px; padding: 13px 15px; }
.academy-demo-banner { align-items: center; background: #fff8df; border: 1px solid #ead58b; color: #6b5921; display: flex; justify-content: space-between; }
.academy-demo-banner div { display: grid; gap: 3px; }
.academy-demo-banner a { color: #123b63; font-weight: 850; }
.academy-success { background: #e8f7ef; border: 1px solid #b9dfcb; color: #236b4f; }
.academy-error { background: #fff0ec; border: 1px solid #efc5b8; color: #8a3f2a; line-height: 1.5; }
.academy-section { padding-top: 34px; }
.academy-section-title { align-items: flex-end; display: flex; gap: 30px; justify-content: space-between; margin-bottom: 22px; }
.academy-section-title > div > span, .academy-report-callout > div > span { color: #1691bd; font-size: .65rem; font-weight: 850; letter-spacing: .12em; }
.academy-section-title h2 { color: #123b63; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 3.4vw, 2.8rem); font-weight: 500; letter-spacing: -.035em; margin: 7px 0; }
.academy-section-title p { color: #657582; font-size: .8rem; line-height: 1.6; margin: 0; max-width: 730px; }
.academy-session-list { display: grid; gap: 13px; }
.academy-session-list > article { align-items: center; background: white; border: 1px solid #dfe7ec; border-radius: 10px; cursor: pointer; display: grid; gap: 25px; grid-template-columns: 1.4fr .8fr auto; padding: 22px 24px; }
.academy-session-list > article:hover, .academy-session-list > article.selected { border-color: #68bdd9; box-shadow: 0 7px 22px rgba(17,72,104,.08); }
.academy-session-list > article > div:first-child > span { color: #1788ae; font-size: .65rem; font-weight: 800; }
.academy-session-list h3 { color: #193950; font-size: 1rem; margin: 5px 0; }
.academy-session-list p { color: #6b7a85; font-size: .7rem; margin: 0; }
.academy-session-numbers { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.academy-session-numbers div { text-align: center; }
.academy-session-numbers b, .academy-session-numbers span { display: block; }
.academy-session-numbers b { color: #123b63; font-size: 1.1rem; }
.academy-session-numbers span { color: #7b8993; font-size: .58rem; margin-top: 3px; text-transform: uppercase; }
.academy-session-actions { align-items: flex-end; display: flex; flex-direction: column; gap: 12px; }
.academy-session-actions button { background: transparent; border: 0; color: #147ba1; cursor: pointer; font: inherit; font-size: .68rem; font-weight: 800; }
.academy-table-tools { display: grid; gap: 10px; grid-template-columns: 1fr 190px auto; margin-bottom: 14px; }
.academy-table-tools input, .academy-table-tools select, .academy-form-grid input, .academy-form-grid select { background: white; border: 1px solid #d7e1e7; border-radius: 7px; color: #1b3447; font: inherit; font-size: .76rem; padding: 11px 12px; }
.academy-people-table { background: white; border: 1px solid #dfe7ec; border-radius: 10px; overflow: hidden; }
.academy-people-table > div { align-items: center; border-top: 1px solid #e6edf1; display: grid; font-size: .72rem; gap: 12px; grid-template-columns: 1.4fr .72fr .86fr .4fr .46fr .52fr .5fr .45fr; padding: 13px 18px; }
.academy-people-table > div:first-child { border-top: 0; }
.academy-people-table .head { background: #f6f8fa; color: #71808b; font-size: .58rem; font-weight: 850; text-transform: uppercase; }
.academy-people-table b, .academy-people-table small { display: block; }
.academy-people-table small { color: #84919a; font-size: .6rem; margin-top: 3px; }
.academy-people-table i { border-radius: 50%; display: inline-block; height: 7px; margin-right: 7px; width: 7px; }
.status-completed { background: #37a675; }.status-started { background: #e1a931; }.status-left { background: #d36b49; }.status-invited { background: #9ba9b2; }
.academy-question-summary { display: grid; gap: 13px; grid-template-columns: repeat(4, 1fr); }
.academy-question-summary article { background: white; border: 1px solid #dfe7ec; border-radius: 9px; padding: 20px; }
.academy-question-summary span, .academy-question-summary b, .academy-question-summary small { display: block; }
.academy-question-summary span { color: #647582; font-size: .65rem; font-weight: 800; }
.academy-question-summary b { color: #123b63; font-size: 1.8rem; margin: 7px 0; }
.academy-question-summary small { color: #82909a; font-size: .58rem; line-height: 1.4; }
.academy-question-list { background: white; border: 1px solid #dfe7ec; border-radius: 10px; margin-top: 16px; }
.academy-question-list article { border-top: 1px solid #e7edf1; display: grid; gap: 17px; grid-template-columns: 25px 1fr; padding: 18px 21px; }
.academy-question-list article:first-child { border-top: 0; }
.academy-question-list > article > b { color: #9aa8b1; font-size: .65rem; padding-top: 4px; }
.academy-question-list h3 { color: #263d4f; font-size: .82rem; margin: 8px 0 4px; }
.academy-question-list p { color: #7a8993; font-size: .64rem; margin: 0; }
.exam-layer-tag { border-radius: 999px; display: inline-block; font-size: .58rem; font-weight: 850; letter-spacing: .04em; padding: 5px 8px; text-transform: uppercase; }
.exam-layer-tag.role { background: #e8f2ff; color: #2366a4; }.exam-layer-tag.fretbox { background: #e5f8fb; color: #087b8e; }.exam-layer-tag.university { background: #fff3d9; color: #94631b; }
.academy-report-callout { align-items: center; background: #eef7fb; border: 1px solid #d4e7ef; border-radius: 11px; color: #173b56; display: grid; gap: 40px; grid-template-columns: 1fr auto; padding: 30px 34px; }
.academy-report-callout h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 500; margin: 8px 0; }
.academy-report-callout p { color: #617887; font-size: .72rem; margin: 0; }
.academy-report-callout > strong { color: #147da3; font-size: 2.8rem; text-align: center; }
.academy-report-callout > strong small { color: #6f8793; display: block; font-size: .58rem; margin-top: 5px; text-transform: uppercase; }
.academy-report-grid { display: grid; gap: 15px; grid-template-columns: repeat(3, 1fr); margin-top: 18px; }
.academy-report-grid article { background: white; border: 1px solid #dfe7ec; border-radius: 9px; padding: 22px; }
.academy-report-grid span { color: #1ca1ce; font-size: .65rem; font-weight: 850; }.academy-report-grid h3 { color: #123b63; margin: 8px 0; }.academy-report-grid p { color: #71808b; font-size: .7rem; line-height: 1.55; margin: 0; }
.academy-empty { color: #72818c; padding: 35px; text-align: center; }

.academy-modal-backdrop { align-items: flex-start; background: rgba(6,29,47,.72); display: flex; inset: 0; justify-content: center; overflow-y: auto; padding: 35px 18px; position: fixed; z-index: 50; }
.academy-modal { background: #f7f9fa; border-radius: 13px; box-shadow: 0 25px 70px rgba(0,0,0,.25); max-width: 900px; overflow: hidden; width: 100%; }
.academy-modal > header { align-items: flex-start; background: white; border-bottom: 1px solid #dce5eb; color: #173b56; display: flex; justify-content: space-between; padding: 24px 30px; }
.academy-modal > header span { color: #5bc6e8; font-size: .62rem; font-weight: 850; letter-spacing: .12em; }
.academy-modal > header h2 { font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; font-weight: 500; margin: 5px 0 0; }
.academy-modal > header > button { background: transparent; border: 0; color: #5e7481; cursor: pointer; font-size: 1.7rem; }
.academy-modal form { padding: 2px 30px 30px; }
.academy-modal fieldset { border: 0; border-bottom: 1px solid #dce5ea; margin: 0; padding: 25px 0; }
.academy-modal legend { align-items: center; color: #173b56; display: flex; font-size: .78rem; font-weight: 850; gap: 9px; }
.academy-modal legend b { align-items: center; background: #dff4fa; border-radius: 50%; color: #087da6; display: flex; height: 25px; justify-content: center; width: 25px; }
.academy-form-grid { display: grid; gap: 13px; grid-template-columns: 1fr 1fr; margin-top: 14px; }
.academy-form-grid label { color: #5e6f7b; display: grid; font-size: .65rem; font-weight: 750; gap: 6px; }
.academy-form-grid label.wide { grid-column: 1 / -1; }
.academy-form-grid label small { color: #8a979f; font-size: .55rem; font-weight: 500; }
.academy-role-checks { display: grid; gap: 9px; grid-template-columns: repeat(4, 1fr); margin-top: 15px; }
.academy-role-checks label { background: white; border: 1px solid #dce5ea; border-radius: 8px; cursor: pointer; display: grid; gap: 3px; padding: 13px; }
.academy-role-checks input { accent-color: #168bb4; justify-self: start; }.academy-role-checks span { color: #234155; font-size: .7rem; font-weight: 800; }.academy-role-checks small { color: #84919a; font-size: .56rem; }
.academy-upload { align-items: center; background: white; border: 1px dashed #a9bdc8; border-radius: 9px; display: grid; gap: 15px; grid-template-columns: 1fr auto; margin-top: 14px; padding: 18px; position: relative; }
.academy-upload input { cursor: pointer; inset: 0; opacity: 0; position: absolute; }.academy-upload b { color: #244257; display: block; font-size: .75rem; }.academy-upload p { color: #7a8993; font-size: .62rem; margin: 4px 0 0; }.academy-upload button { background: #edf5f8; border: 0; border-radius: 6px; color: #167b9f; font: inherit; font-size: .64rem; font-weight: 800; padding: 9px; position: relative; z-index: 1; }
.academy-upload-preview { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }.academy-upload-preview span { background: #edf3f6; border-radius: 6px; color: #71808a; font-size: .58rem; padding: 8px 10px; }.academy-upload-preview b { color: #29475b; display: block; font-size: .63rem; margin-bottom: 3px; }
.academy-field-note { color: #6f7f8b; font-size: .68rem; line-height: 1.55; }.academy-question-builder { background: white; border: 1px solid #dce5ea; border-radius: 9px; margin-top: 12px; padding: 16px; }.academy-remove { background: transparent; border: 0; color: #aa4f36; cursor: pointer; font: inherit; font-size: .62rem; margin-top: 10px; }.academy-modal form > footer { display: flex; gap: 10px; justify-content: flex-end; padding-top: 22px; }

/* Participant assessment */
.exam-page { background: #f3f6f8; color: #162b3a; min-height: 100vh; }
.exam-header { align-items: center; background: white; border-bottom: 1px solid #dfe7ec; display: flex; justify-content: space-between; padding: 17px max(4vw, 22px); }
.exam-header a { align-items: center; color: #123b63; display: flex; font-family: Georgia, "Times New Roman", serif; gap: 13px; }.exam-header img { height: 34px; object-fit: contain; width: 76px; }.exam-header a span { border-left: 1px solid #d7e2e8; padding-left: 13px; }.exam-header small { color: #73828d; }
.exam-entry { align-items: stretch; display: grid; gap: 60px; grid-template-columns: 1.1fr .75fr; margin: 0 auto; max-width: 1120px; padding: 85px 30px; }
.exam-entry-copy > span, .exam-entry-form > span, .exam-result-copy > span { color: #1894bd; font-size: .68rem; font-weight: 850; letter-spacing: .12em; }.exam-entry-copy h1 { color: #123b63; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.4rem, 5vw, 4.5rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.03; margin: 13px 0 20px; }.exam-entry-copy p { color: #5d6f7c; font-size: .95rem; line-height: 1.7; max-width: 640px; }.exam-entry-copy ol { color: #526773; display: grid; font-size: .76rem; gap: 10px; line-height: 1.5; margin-top: 28px; padding-left: 20px; }
.exam-entry-form { align-self: center; background: white; border: 1px solid #dce5ea; border-radius: 12px; box-shadow: 0 15px 35px rgba(23,61,85,.08); display: grid; gap: 16px; padding: 30px; }.exam-entry-form h2 { color: #153b58; font-family: Georgia, "Times New Roman", serif; margin: 0 0 4px; }.exam-entry-form label { color: #526773; display: grid; font-size: .69rem; font-weight: 750; gap: 6px; }.exam-entry-form input { border: 1px solid #ccd9e1; border-radius: 7px; font: inherit; padding: 12px; }.exam-entry-form > small { color: #83909a; font-size: .58rem; line-height: 1.5; text-align: center; }
.exam-demo-details { background: #f3f7f9; border-radius: 7px; color: #637783; font-size: .62rem; padding: 10px 12px; }.exam-demo-details summary { color: #176f91; cursor: pointer; font-weight: 800; }.exam-demo-details p { line-height: 1.6; margin: 8px 0; }.exam-demo-details button { background: transparent; border: 0; color: #123b63; cursor: pointer; font: inherit; font-weight: 850; padding: 0; text-decoration: underline; }
.exam-workspace { display: grid; gap: 22px; grid-template-columns: 260px minmax(0, 820px); justify-content: center; padding: 35px 24px 60px; }.exam-identity { background: white; border: 1px solid #dce5eb; border-radius: 11px; color: #173b56; padding: 24px; }.exam-identity > span { color: #1688ae; font-size: .6rem; font-weight: 850; letter-spacing: .1em; }.exam-identity h2 { font-family: Georgia, "Times New Roman", serif; margin: 7px 0 3px; }.exam-identity > p { color: #6a7e8b; font-size: .68rem; margin: 0; }.exam-identity dl { border-bottom: 1px solid #dce5eb; border-top: 1px solid #dce5eb; margin: 22px 0; padding: 8px 0; }.exam-identity dl div { margin: 10px 0; }.exam-identity dt { color: #82919a; font-size: .55rem; text-transform: uppercase; }.exam-identity dd { font-size: .68rem; font-weight: 750; margin: 3px 0 0; }.exam-layer-key { display: grid; gap: 12px; }.exam-layer-key div { align-items: center; display: grid; font-size: .6rem; gap: 8px; grid-template-columns: 8px 1fr auto; }.exam-layer-key i { border-radius: 50%; height: 8px; }.exam-layer-key i.role { background: #6ea6dc; }.exam-layer-key i.fretbox { background: #49c3d5; }.exam-layer-key i.university { background: #e8b959; }.exam-layer-key b { color: #147da3; }
.exam-question-card { background: white; border: 1px solid #dce5ea; border-radius: 11px; padding: 28px 32px; }.exam-progress-row { align-items: flex-start; display: grid; gap: 25px; grid-template-columns: 1fr auto; }.exam-progress-row > div:first-child > span { color: #71818d; font-size: .58rem; font-weight: 850; }.exam-progress { background: #e6edf1; border-radius: 999px; height: 5px; margin-top: 8px; overflow: hidden; }.exam-progress i { background: #21a7d1; display: block; height: 100%; }.exam-timer { background: #edf6f9; border-radius: 7px; min-width: 80px; padding: 8px 12px; text-align: center; }.exam-timer span, .exam-timer b { display: block; }.exam-timer span { color: #63808f; font-size: .5rem; }.exam-timer b { color: #123b63; font-size: 1rem; margin-top: 2px; }.exam-timer.urgent { background: #fff0ec; }.exam-timer.urgent b { color: #aa4e34; }.exam-question-card > .exam-layer-tag { margin-top: 30px; }.exam-question-card > h1 { color: #173b56; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2.8vw, 2rem); font-weight: 500; line-height: 1.25; margin: 13px 0 24px; }.exam-options { display: grid; gap: 10px; }.exam-options button { align-items: center; background: white; border: 1px solid #d8e2e8; border-radius: 8px; color: #334b5c; cursor: pointer; display: grid; font: inherit; font-size: .76rem; gap: 12px; grid-template-columns: 32px 1fr 20px; padding: 12px; text-align: left; }.exam-options button > b { align-items: center; background: #edf3f6; border-radius: 6px; color: #557080; display: flex; height: 30px; justify-content: center; }.exam-options button.selected { background: #edf8fb; border-color: #49b7d7; }.exam-options button.selected > b { background: #168db5; color: white; }.exam-options button > i { color: #168db5; font-style: normal; font-weight: 900; }.exam-navigation { align-items: center; border-top: 1px solid #e4eaee; display: flex; justify-content: space-between; margin-top: 25px; padding-top: 18px; }.exam-navigation > span { color: #798893; font-size: .62rem; }
.exam-result { align-items: stretch; display: grid; gap: 0; grid-template-columns: .7fr 1.3fr; margin: 70px auto; max-width: 920px; padding: 0 25px; }.exam-result-mark { align-items: center; background: #eef7fb; border: 1px solid #d1e6ee; border-radius: 12px 0 0 12px; color: #173b56; display: flex; flex-direction: column; justify-content: center; padding: 35px; text-align: center; }.exam-result-mark > span { color: #147da3; font-size: .62rem; font-weight: 850; letter-spacing: .12em; }.exam-result-mark > strong { color: #123b63; font-size: 4rem; line-height: 1; margin: 13px 0; }.exam-result-mark > small { color: #657d8a; font-size: .6rem; }.exam-result-mark.retry { background: #fff6e7; border-color: #ead9b7; }.exam-result-copy { background: white; border: 1px solid #dce5ea; border-radius: 0 12px 12px 0; padding: 38px; }.exam-result-copy h1 { color: #123b63; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; font-weight: 500; margin: 8px 0; }.exam-result-copy > p { color: #667783; font-size: .76rem; line-height: 1.6; }.exam-result-scores { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); margin: 22px 0; }.exam-result-scores div { background: #f1f5f7; border-radius: 7px; padding: 12px; }.exam-result-scores span, .exam-result-scores b { display: block; }.exam-result-scores span { color: #75858f; font-size: .55rem; }.exam-result-scores b { color: #173d58; font-size: 1.2rem; margin-top: 4px; }.exam-priority { background: #fff6e3; border-radius: 7px; padding: 11px; }.exam-result-actions { display: flex; gap: 9px; margin-top: 20px; }.exam-result-actions a { display: inline-block; }

/* Verifiable certificate */
.certificate-page { background: #e9eef1; min-height: 100vh; padding: 45px 20px; text-align: center; }.certificate-sheet { background: #fffdf8; border: 10px solid #123b63; box-shadow: 0 15px 45px rgba(22,47,66,.18); margin: 0 auto; max-width: 950px; min-height: 650px; outline: 2px solid #40b5dc; outline-offset: -22px; padding: 42px 65px; position: relative; }.certificate-top { align-items: center; display: flex; justify-content: space-between; }.certificate-top img { height: 42px; object-fit: contain; width: 95px; }.certificate-top span { color: #123b63; font-size: .65rem; font-weight: 850; letter-spacing: .16em; }.certificate-seal { align-items: center; background: #123b63; border: 5px solid #79d0eb; border-radius: 50%; color: white; display: flex; flex-direction: column; height: 105px; justify-content: center; margin: 20px auto 15px; width: 105px; }.certificate-seal span, .certificate-seal small { font-size: .48rem; letter-spacing: .09em; }.certificate-seal b { color: #65d1ee; font-size: 1.6rem; }.certificate-sheet > p { color: #6a7780; font-family: Georgia, "Times New Roman", serif; font-size: .86rem; }.certificate-sheet h1 { color: #123b63; font-family: Georgia, "Times New Roman", serif; font-size: 2.8rem; font-weight: 500; margin: 7px 0; }.certificate-rule { background: #d6b052; height: 2px; margin: 12px auto; width: 230px; }.certificate-sheet h2 { color: #178caf; font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; margin: 7px 0; }.certificate-sheet .certificate-description { line-height: 1.55; margin: 15px auto 5px; max-width: 660px; }.certificate-sheet h3 { color: #173b56; margin: 8px 0 22px; }.certificate-details { display: grid; gap: 0; grid-template-columns: 1.3fr .5fr .8fr; margin: 0 auto; max-width: 700px; }.certificate-details div { border-left: 1px solid #d8e1e5; padding: 9px 14px; }.certificate-details div:first-child { border-left: 0; }.certificate-details span, .certificate-details b { display: block; }.certificate-details span, .certificate-sheet footer span { color: #7b8991; font-size: .55rem; text-transform: uppercase; }.certificate-details b { color: #254255; font-size: .7rem; margin-top: 5px; }.certificate-sheet footer { border-top: 1px solid #dfe5e8; display: grid; gap: 4px; margin-top: 30px; padding-top: 16px; }.certificate-sheet footer b { color: #123b63; font-size: .72rem; letter-spacing: .1em; }.certificate-sheet footer small { color: #87939a; font-size: .52rem; }.certificate-print { margin-top: 20px; }

@media (max-width: 900px) { .academy-session-list > article { grid-template-columns: 1fr; }.academy-session-numbers { justify-self: stretch; }.academy-session-actions { align-items: center; flex-direction: row; }.academy-question-summary { grid-template-columns: 1fr 1fr; }.academy-people-table { overflow-x: auto; }.academy-people-table > div { min-width: 800px; }.exam-entry { grid-template-columns: 1fr; padding-top: 55px; }.exam-workspace { grid-template-columns: 1fr; }.exam-identity { display: grid; grid-template-columns: 1fr 1fr; }.exam-identity dl { grid-column: 1 / -1; }.exam-layer-key { grid-column: 1 / -1; }.exam-result { grid-template-columns: 1fr; }.exam-result-mark { border-radius: 12px 12px 0 0; }.exam-result-copy { border-radius: 0 0 12px 12px; } }
@media (max-width: 620px) { .academy-demo-banner, .academy-section-title { align-items: flex-start; flex-direction: column; }.academy-table-tools { grid-template-columns: 1fr; }.academy-question-summary, .academy-report-grid { grid-template-columns: 1fr; }.academy-report-callout { grid-template-columns: 1fr; }.academy-form-grid { grid-template-columns: 1fr; }.academy-form-grid label.wide { grid-column: auto; }.academy-role-checks { grid-template-columns: 1fr 1fr; }.academy-modal-backdrop { padding: 0; }.academy-modal { border-radius: 0; min-height: 100vh; }.academy-modal form { padding: 2px 18px 25px; }.exam-header small { display: none; }.exam-entry { padding: 42px 20px; }.exam-entry-copy h1 { font-size: 2.5rem; }.exam-question-card { padding: 22px 17px; }.exam-options button { font-size: .7rem; }.exam-navigation { flex-wrap: wrap; gap: 10px; }.exam-navigation > span { order: -1; text-align: center; width: 100%; }.exam-result-scores { grid-template-columns: 1fr; }.exam-result-actions { align-items: stretch; flex-direction: column; text-align: center; }.certificate-page { padding: 0; }.certificate-sheet { border-width: 6px; min-height: 100vh; outline-offset: -14px; padding: 38px 22px; }.certificate-sheet h1 { font-size: 2rem; }.certificate-details { grid-template-columns: 1fr; }.certificate-details div, .certificate-details div:first-child { border-left: 0; border-top: 1px solid #d8e1e5; } }
@media print { .academy-sidebar, .academy-topbar, .academy-demo-banner, .academy-section-title .academy-button, .certificate-print, .back-to-top { display: none !important; }.academy-shell { display: block; }.academy-main, .academy-section { padding: 0; }.certificate-page { background: white; padding: 0; }.certificate-sheet { box-shadow: none; max-width: none; min-height: 95vh; } }

/* FretBox Campus Operations Certification */
.academy-shell { background: #f7f9fb; color: #162433; display: grid; grid-template-columns: 225px minmax(0, 1fr); min-height: 100vh; }
.academy-sidebar { background: #f3f6f8; border-right: 1px solid #dce5eb; color: #243c4e; display: flex; flex-direction: column; min-height: 100vh; padding: 30px 18px; position: sticky; top: 0; }
.academy-sidebar-label { color: #778893; font-size: .62rem; font-weight: 850; letter-spacing: .12em; padding: 3px 12px 20px; }
.academy-brand { align-items: center; border-bottom: 1px solid rgba(255,255,255,.13); color: white; display: flex; gap: 11px; padding: 0 4px 24px; }
.academy-brand img { background: white; border-radius: 6px; height: 35px; object-fit: contain; padding: 3px; width: 76px; }
.academy-brand span { font-family: Georgia, "Times New Roman", serif; font-size: .9rem; line-height: 1.05; max-width: 82px; }
.academy-sidebar nav { display: grid; gap: 5px; margin-top: 30px; }
.academy-sidebar nav a { border-radius: 7px; color: #c8d9e7; font-size: .83rem; font-weight: 720; padding: 12px 13px; }
.academy-sidebar nav a:hover, .academy-sidebar nav a.active { background: rgba(55,184,225,.15); color: white; }
.academy-sidebar nav a.active { box-shadow: inset 3px 0 #3fc0e7; }
.academy-sidebar-note { background: white; border: 1px solid #dce5eb; border-radius: 8px; margin-top: auto; padding: 17px; }
.academy-sidebar-note span, .academy-topbar > div > span, .academy-welcome > div > span, .academy-panel-heading > div > span { color: #42bfe7; font-size: .65rem; font-weight: 850; letter-spacing: .11em; }
.academy-sidebar-note b { color: #24445b; display: block; font-size: .77rem; margin: 7px 0; }
.academy-sidebar-note p { color: #71838f; font-size: .7rem; line-height: 1.55; margin: 0; }
.academy-main { min-width: 0; padding: 0 38px 55px; }
.academy-topbar { align-items: center; background: rgba(255,255,255,.97); border-bottom: 1px solid #dfe7ec; display: grid; gap: 18px; grid-template-columns: auto 1fr auto; margin: 0 -38px; padding: 15px 38px; position: sticky; top: 0; z-index: 5; }
.academy-top-brand { align-items: center; border-right: 1px solid #dce5eb; display: flex; min-height: 42px; padding-right: 18px; }
.academy-top-brand img { display: block; height: auto; object-fit: contain; padding: 0; width: 92px; }
.academy-top-title { min-width: 0; }
.academy-topbar h1 { color: #123b63; font-size: 1.05rem; margin: 4px 0 0; }
.academy-top-actions { display: flex; gap: 9px; }
.academy-button { background: #123b63; border: 1px solid #123b63; border-radius: 7px; color: white; cursor: pointer; font: inherit; font-size: .76rem; font-weight: 800; padding: 11px 14px; }
.academy-button.secondary { background: white; color: #123b63; }
.academy-button.danger { background: white; border-color: #d8a99e; color: #944b3e; }
.academy-button.small { padding: 8px 11px; }
.academy-welcome { align-items: center; background: linear-gradient(125deg, #eef7fb, #f8fbfc); border: 1px solid #d6e8ef; border-radius: 13px; color: #153b56; display: grid; gap: 35px; grid-template-columns: 1fr auto; margin-top: 30px; overflow: hidden; padding: 34px 38px; position: relative; }
.academy-welcome::after { border: 50px solid rgba(62,191,231,.08); border-radius: 50%; content: ""; height: 230px; position: absolute; right: -85px; top: -90px; width: 230px; }
.academy-welcome h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 3vw, 2.65rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; margin: 9px 0 12px; max-width: 690px; }
.academy-welcome p { color: #5e7482; font-size: .87rem; line-height: 1.65; margin: 0; max-width: 680px; }
.academy-readiness { border-left: 1px solid #cbdfe7; min-width: 190px; padding: 9px 0 9px 30px; position: relative; z-index: 1; }
.academy-readiness strong { color: #137da5; display: block; font-size: 3.1rem; line-height: 1; }
.academy-readiness span, .academy-readiness small { display: block; }
.academy-readiness span { font-size: .78rem; font-weight: 800; margin-top: 7px; }
.academy-readiness small { color: #6e8592; font-size: .68rem; margin-top: 4px; }
.academy-metrics { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); margin: 18px 0; }
.academy-metrics article, .academy-panel { background: white; border: 1px solid #dfe7ec; border-radius: 10px; box-shadow: 0 5px 16px rgba(21,52,74,.04); }
.academy-metrics article { padding: 20px; }
.academy-metrics span, .academy-metrics small { color: #687886; display: block; }
.academy-metrics span { font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.academy-metrics b { color: #123b63; display: block; font-size: 1.8rem; margin: 7px 0 4px; }
.academy-metrics small { font-size: .67rem; }
.academy-grid { display: grid; gap: 18px; grid-template-columns: 1.55fr .85fr; }
.academy-panel { padding: 24px; }
.academy-panel-heading { align-items: flex-start; display: flex; gap: 20px; justify-content: space-between; }
.academy-panel-heading h2 { color: #18364e; font-family: Georgia, "Times New Roman", serif; font-size: 1.28rem; margin: 6px 0 0; }
.academy-status { border-radius: 999px; font-size: .65rem; font-weight: 850; padding: 6px 9px; }
.academy-status.open { background: #e5f7ef; color: #20785b; }
.academy-session-meta { border-bottom: 1px solid #e7edf1; border-top: 1px solid #e7edf1; display: grid; gap: 15px; grid-template-columns: 1fr .7fr 1.1fr; margin: 20px 0; padding: 15px 0; }
.academy-session-meta span, .academy-session-meta b { display: block; }
.academy-session-meta span { color: #75838d; font-size: .64rem; margin-bottom: 5px; text-transform: uppercase; }
.academy-session-meta b { color: #243b4d; font-size: .74rem; }
.academy-progress { background: #e7edf1; border-radius: 999px; height: 7px; overflow: hidden; }
.academy-progress span { background: #2caed7; display: block; height: 100%; }
.academy-progress-label { color: #71808b; display: flex; font-size: .68rem; justify-content: space-between; margin-top: 7px; }
.academy-progress-label b { color: #123b63; }
.academy-text-button { background: transparent; border: 0; color: #0d7197; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; margin-top: 19px; padding: 0; }
.academy-attention ul { display: grid; gap: 13px; list-style: none; margin: 19px 0 0; padding: 0; }
.academy-attention li { align-items: center; border-top: 1px solid #e7edf1; display: grid; gap: 12px; grid-template-columns: 34px 1fr; padding-top: 12px; }
.academy-attention li b { color: #b05c2c; font-size: 1.1rem; }
.academy-attention li span { color: #687886; font-size: .72rem; }
.academy-role-panel { margin-top: 18px; }
.academy-role-table { margin-top: 17px; }
.academy-role-table > div { align-items: center; border-top: 1px solid #e7edf1; display: grid; font-size: .74rem; gap: 12px; grid-template-columns: 1.2fr .7fr .7fr 1.3fr; padding: 13px 4px; }
.academy-role-table .head { border: 0; color: #75838d; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.academy-role-table b { color: #203b50; }
.academy-bar { background: #e7edf1; border-radius: 999px; height: 6px; overflow: hidden; }
.academy-bar i { background: #2caed7; display: block; height: 100%; }
@media (max-width: 900px) { .academy-shell { grid-template-columns: 1fr; } .academy-sidebar { min-height: 0; position: static; } .academy-sidebar nav { display: flex; flex-wrap: wrap; } .academy-sidebar-note { display: none; } .academy-main { padding: 0 18px 40px; } .academy-topbar { margin: 0 -18px; padding: 16px 18px; } .academy-metrics { grid-template-columns: 1fr 1fr; } .academy-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .academy-sidebar { padding: 20px 16px; } .academy-sidebar nav { display: none; } .academy-topbar { align-items: flex-start; gap: 15px; position: static; } .academy-top-actions .secondary { display: none; } .academy-welcome { grid-template-columns: 1fr; padding: 27px 24px; } .academy-readiness { border-left: 0; border-top: 1px solid rgba(255,255,255,.25); padding: 20px 0 0; } .academy-metrics { gap: 9px; } .academy-metrics article { padding: 16px; } .academy-session-meta { grid-template-columns: 1fr; } .academy-role-table > div { grid-template-columns: 1fr .55fr .65fr; } .academy-role-table > div > :last-child { display: none; } }

/* Knowledge-first editorial layer */
.library-lockup { align-items: center; display: flex; gap: 12px; }
.library-lockup span { border-left: 1px solid var(--line); color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: .86rem; line-height: 1.05; max-width: 72px; padding-left: 12px; }
.fretbox-link { color: var(--navy); font-size: .86rem; font-weight: 750; padding: 10px 0; }
.header-actions { align-items: center; display: flex; gap: 18px; justify-content: flex-end; }
.community-ribbon { background: #f3c96b; border-bottom: 1px solid #dab04e; color: #18354e; overflow: hidden; }
.community-ribbon-track { animation: community-ribbon-scroll 34s linear infinite; display: flex; min-width: max-content; width: max-content; }
.community-ribbon-track span { display: block; font-size: .78rem; font-weight: 720; letter-spacing: .01em; padding: 10px 42px; white-space: nowrap; }
.community-ribbon-track a { color: #082c4d; font-weight: 900; margin-left: 12px; text-decoration: underline; text-underline-offset: 3px; }
.community-ribbon:hover .community-ribbon-track { animation-play-state: paused; }
@keyframes community-ribbon-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .community-ribbon-track { animation: none; min-width: 0; width: auto; }
  .community-ribbon-track span { white-space: normal; }
  .community-ribbon-track span[aria-hidden="true"] { display: none; }
}
.language-control {
  align-items: center;
  background: #f2f5f6;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: flex;
  padding: 3px;
  position: relative;
}
.language-control a {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: #52636f;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  padding: 8px 10px;
}
.language-control a.active { background: var(--navy); color: white; }
.hindi-page { background: var(--paper); }
.hindi-hero { background: #f6f3eb; border-bottom: 1px solid #e4dfd2; padding: 64px max(7vw, 30px); }
.hindi-hero > div { max-width: 930px; }
.hindi-hero h1 { color: var(--navy-dark); font-family: Georgia, "Noto Serif Devanagari", serif; font-size: clamp(2.6rem, 6vw, 5.7rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.08; margin: 14px 0 22px; }
.hindi-hero p { color: #536571; font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.75; max-width: 790px; }
.hindi-status { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hindi-status span { background: white; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); font-size: .78rem; font-weight: 750; padding: 9px 13px; }
.hindi-library { padding: 70px max(7vw, 30px) 90px; }
.hindi-library .article-grid { margin-top: 34px; }
.language-note { background: #edf2f1; border: 1px solid #d8e2df; margin: 0 max(7vw, 30px) 80px; padding: 32px; }
.language-note h2 { color: var(--navy-dark); font-family: Georgia, "Noto Serif Devanagari", serif; margin: 0 0 12px; }
.language-note p { color: #546671; line-height: 1.7; margin: 0; max-width: 920px; }
.footer-brand .footer-note { color: #72b9aa; font-size: .78rem; font-weight: 700; }
.footer-brand > strong { color: white; display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; margin-bottom: 14px; }

.editorial-charter { margin: 0 auto; max-width: 1180px; padding: 85px 30px; }
.editorial-charter h2, .contribute-band h2, .contributor-invite h2 { color: var(--navy-dark); font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.045em; line-height: 1.08; margin: 15px 0; }
.principle-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.principle-grid article { background: #fbfaf6; border: 1px solid #e7e3d9; padding: 30px; }
.principle-grid b { color: #1a91b9; font-size: .75rem; }
.principle-grid h3 { color: var(--navy-dark); font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; margin: 12px 0; }
.principle-grid p { color: var(--muted); line-height: 1.65; margin: 0; }
.identity-row { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; margin-top: 28px; }
.identity-row span { border: 1px solid var(--line); border-radius: 999px; color: #536775; font-size: .76rem; font-weight: 700; padding: 9px 13px; }

.contribute-band, .contributor-invite { align-items: center; background: #f1f7f5; border: 1px solid #d7e6e0; display: grid; gap: 50px; grid-template-columns: 1fr auto; margin: 10px auto 70px; max-width: 1120px; padding: 48px 52px; }
.contribute-band > div > span { color: #32836b; font-size: .72rem; font-weight: 850; letter-spacing: .13em; }
.contribute-band h2, .contributor-invite h2 { font-size: clamp(1.7rem, 3vw, 2.55rem); margin: 10px 0; }
.contribute-band p, .contributor-invite p { color: var(--muted); line-height: 1.65; margin: 0; }
.contribute-band > a, .contributor-invite > a { background: var(--navy); border-radius: 8px; color: white; font-size: .84rem; font-weight: 800; padding: 14px 18px; white-space: nowrap; }

.earlier-articles {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  margin: 0 auto 70px;
  max-width: 1120px;
  padding: 32px 0;
}
.earlier-articles-heading { align-items: end; display: grid; gap: 35px; grid-template-columns: .8fr 1.2fr; }
.earlier-articles-heading h2 { color: var(--navy-dark); font-size: clamp(1.45rem, 2.4vw, 2rem); margin: 7px 0 0; }
.earlier-articles-heading p { color: var(--muted); font-size: .88rem; line-height: 1.6; margin: 0; }
.earlier-archive { margin-top: 22px; }
.earlier-archive summary { align-items: center; background: var(--surface); border: 1px solid var(--line); color: var(--navy); cursor: pointer; display: flex; font-size: .86rem; font-weight: 800; justify-content: space-between; list-style: none; padding: 15px 17px; }
.earlier-archive summary::-webkit-details-marker { display: none; }
.earlier-archive[open] summary span:last-child { transform: rotate(45deg); }
.earlier-archive summary span:last-child { font-size: 1.2rem; transition: transform .2s ease; }
.earlier-article-links { display: grid; gap: 0 34px; grid-template-columns: 1fr 1fr; }
.earlier-article-links a, .earlier-link-unavailable { align-items: center; border-top: 1px solid var(--line); display: grid; font-size: .84rem; gap: 12px; grid-template-columns: 27px 1fr auto; line-height: 1.4; padding: 13px 0; }
.earlier-article-links a { color: var(--navy); font-weight: 750; }
.earlier-article-links b, .earlier-link-unavailable > b { color: #8a99a3; font-size: .68rem; }
.earlier-article-links a:hover { color: #087eae; }
.earlier-link-unavailable { color: #7d898f; }
.earlier-link-unavailable small { display: block; font-size: .68rem; font-weight: 650; margin-top: 3px; }
.product-link { color: #6a7882; font-size: .78rem; margin: 20px 0 0; }
.product-link a { color: var(--navy); font-weight: 800; text-decoration: underline; text-decoration-color: #b9c9d4; text-underline-offset: 3px; }

.back-to-top { align-items: center; background: var(--navy); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; bottom: 22px; box-shadow: 0 8px 26px rgba(8,44,77,.22); color: white; display: flex; font-size: .7rem; gap: 6px; opacity: 0; padding: 10px 13px; pointer-events: none; position: fixed; right: 22px; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; z-index: 50; }
.back-to-top span { font-size: 1rem; line-height: 1; }
.back-to-top.visible { opacity: .94; pointer-events: auto; transform: translateY(0); }
.back-to-top:hover { background: #0b3153; opacity: 1; }
.back-to-top:focus-visible { opacity: 1; outline: 3px solid #7fd6f2; outline-offset: 3px; pointer-events: auto; }

.article-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.article-actions > span { color: #546875; font-size: .78rem; font-weight: 800; margin-right: 5px; }
.article-actions button, .article-actions a { background: rgba(255,255,255,.72); border: 1px solid #cbdde6; border-radius: 999px; color: var(--navy); cursor: pointer; font: inherit; font-size: .75rem; font-weight: 750; padding: 8px 12px; }
.article-actions small { color: #32836b; font-size: .72rem; }
.article-actions .suggest-action { background: var(--navy); border-color: var(--navy); color: white; }
.aside-share a { color: #087fa9; display: block; font-weight: 800; margin-top: 10px; }

.living-note { background: #fbfaf6; border: 1px solid #e5dfcf; font-family: Inter, ui-sans-serif, system-ui, sans-serif; padding: 30px; }
.living-note span { color: #98732d; font-size: .68rem; font-weight: 900; letter-spacing: .13em; }
.living-note h2 { font-size: 1.7rem; }
.living-note p { color: #59666e; font-size: .92rem; line-height: 1.7; margin-bottom: 0; }

.revision-history { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.revision-history > div:not(.section-kicker) { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 22px; grid-template-columns: 125px 1fr; padding: 17px 0; }
.revision-history time { color: var(--navy); font-size: .78rem; font-weight: 800; }
.revision-history p { color: #5d6c76; font-size: .86rem; line-height: 1.6; margin: 0; }
.review-status { margin-top: 16px !important; }

.suggest-edit { background: #f2f8fa; border: 1px solid #d7e6ec; font-family: Inter, ui-sans-serif, system-ui, sans-serif; padding: 32px; }
.suggest-edit h2 { font-size: 1.9rem; }
.suggest-edit > p { color: #5c6d78; font-size: .91rem; line-height: 1.65; }
.suggest-edit form { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; margin-top: 24px; }
.suggest-edit label { color: #445763; display: flex; flex-direction: column; font-size: .76rem; font-weight: 800; gap: 7px; }
.suggest-edit label.wide { grid-column: 1 / -1; }
.suggest-edit input, .suggest-edit textarea { background: white; border: 1px solid #cadbe3; border-radius: 6px; font: inherit; padding: 12px; }
.suggest-edit button { background: var(--navy); border: 0; border-radius: 7px; color: white; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; justify-self: start; padding: 12px 16px; }
.suggest-edit button:disabled, .contribution-form-panel button:disabled { cursor: wait; opacity: .65; }
.form-trap { height: 0; left: -10000px; overflow: hidden; position: absolute; width: 0; }
.editorial-form .checkbox { align-items: flex-start; flex-direction: row; font-weight: 650; line-height: 1.5; }
.editorial-form .checkbox input { flex: 0 0 auto; margin-top: 3px; width: auto; }
.form-submit-row { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; }
.form-submit-row small { color: #657681; font-size: .72rem; font-weight: 600; }
.turnstile-panel { align-items: flex-start; background: #f6f9fa; border: 1px solid #d7e1e5; border-radius: 9px; display: flex; flex-direction: column; gap: 8px; min-height: 74px; padding: 12px; }
.turnstile-panel > div { max-width: 100%; min-height: 0; width: 100%; }
.turnstile-panel small { color: #657681; font-size: .72rem; }.turnstile-panel .turnstile-error { color: #8b352b; font-weight: 750; }
.form-error { background: #fff2f0; border-left: 4px solid #b84235; color: #812b23; font-size: .84rem; margin: 0; padding: 12px 14px; }
.suggest-success { background: white; border-left: 4px solid #40977b; display: flex; flex-direction: column; font-size: .86rem; gap: 5px; padding: 18px; }
.suggest-success span { color: #65757f; }
.contributor-invite { margin-bottom: 20px; }
.article-feedback-section { margin: 0 auto 50px; max-width: 790px; padding: 0 24px; }

.contribution-page { background: #f7f8f6; min-height: 70vh; padding-bottom: 90px; }
.contribution-hero { background: #f2f7f8; border-bottom: 1px solid var(--line); padding: 70px max(7vw, 30px); }
.contribution-hero h1 { color: var(--navy-dark); font-size: clamp(2.8rem, 6vw, 5.6rem); letter-spacing: -.055em; line-height: 1.02; margin: 16px 0 22px; max-width: 980px; }
.contribution-hero p { color: #566a77; font-size: clamp(1rem, 1.6vw, 1.25rem); line-height: 1.7; margin: 0; max-width: 820px; }
.contribution-layout { display: grid; gap: 55px; grid-template-columns: minmax(230px, 330px) minmax(0, 760px); margin: 0 auto; max-width: 1160px; padding: 65px 30px 0; }
.contribution-layout > aside { align-self: start; background: #0d3558; color: white; padding: 32px; position: sticky; top: 105px; }
.contribution-layout > aside h2 { color: white; font-size: 1.65rem; margin-top: 0; }
.contribution-layout > aside ol { color: #d7e4ec; line-height: 1.6; padding-left: 20px; }
.contribution-layout > aside li { margin-bottom: 13px; padding-left: 5px; }
.contribution-layout > aside p { border-top: 1px solid rgba(255,255,255,.2); color: #a9c0cf; font-size: .78rem; line-height: 1.55; margin: 24px 0 0; padding-top: 18px; }
.contribution-form-panel { background: white; border: 1px solid var(--line); padding: clamp(24px, 5vw, 48px); }
.contribution-form-panel > h2 { color: var(--navy-dark); font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 12px; }
.contribution-form-panel > p { color: #5d6d78; line-height: 1.65; }
.contribution-form-panel form { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; margin-top: 30px; }
.contribution-form-panel label { color: #445763; display: flex; flex-direction: column; font-size: .76rem; font-weight: 800; gap: 7px; }
.contribution-form-panel label.wide, .contribution-form-panel .wide { grid-column: 1 / -1; }
.contribution-form-panel input, .contribution-form-panel textarea { background: #fbfcfc; border: 1px solid #cadbe3; border-radius: 6px; font: inherit; padding: 12px; }
.contribution-form-panel button { background: var(--navy); border: 0; border-radius: 7px; color: white; cursor: pointer; font: inherit; font-size: .82rem; font-weight: 800; padding: 13px 18px; }

@media (max-width: 800px) {
  .library-lockup span { font-size: .76rem; }
  .fretbox-link { font-size: .78rem; }
  .principle-grid { grid-template-columns: 1fr; }
  .contribute-band, .contributor-invite { grid-template-columns: 1fr; margin: 35px 16px; padding: 30px 22px; }
  .earlier-articles { margin: 0 16px 45px; padding: 26px 0; }
  .earlier-articles-heading, .earlier-article-links { grid-template-columns: 1fr; }
  .earlier-articles-heading { gap: 12px; }
  .back-to-top { bottom: 14px; right: 14px; }
  .suggest-edit { padding: 24px 20px; }
  .suggest-edit form { grid-template-columns: 1fr; }
  .suggest-edit label.wide { grid-column: auto; }
  .contribution-layout { grid-template-columns: 1fr; padding: 35px 16px 0; }
  .contribution-layout > aside { position: static; }
  .contribution-form-panel form { grid-template-columns: 1fr; }
  .contribution-form-panel label.wide, .contribution-form-panel .wide { grid-column: auto; }
}

/* Academy governance and pilot-readiness controls */
.academy-file-button { align-items: center; display: inline-flex; }
.academy-file-button input { display: none; }
.academy-session-actions { flex-wrap: wrap; }
.academy-status.paused, .academy-status.draft { background: #fff1cf; color: #855e14; }
.academy-status.closed, .academy-status.retired, .academy-status.cancelled { background: #f1f3f5; color: #65727b; }
.academy-status.approved { background: #e6f6ed; color: #28724b; }
.academy-control-panel { background: #fff; border: 1px solid #dce5eb; border-radius: 11px; display: grid; gap: 19px; margin-top: 20px; padding: 24px; }
.academy-control-panel > div:first-child > span { color: #1689af; font-size: .62rem; font-weight: 850; letter-spacing: .11em; }
.academy-control-panel h3 { color: #173b56; margin: 6px 0; }
.academy-control-panel p { color: #6f818c; font-size: .72rem; margin: 0; }
.academy-control-form { display: grid; gap: 12px; grid-template-columns: 1.5fr repeat(4, 1fr); }
.academy-control-form label, .academy-form-stack label { color: #526a79; display: grid; font-size: .65rem; font-weight: 760; gap: 6px; }
.academy-control-form input, .academy-form-stack input, .academy-form-stack select, .academy-form-stack textarea, .academy-member-form input, .academy-member-form select { background: white; border: 1px solid #ccd9e1; border-radius: 7px; color: #263e50; font: inherit; padding: 10px; }
.academy-control-actions, .academy-report-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.academy-layer-report { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); margin: 18px 0; }
.academy-layer-report article { background: white; border: 1px solid #dce5eb; border-radius: 9px; display: grid; gap: 8px; overflow: hidden; padding: 18px; position: relative; }
.academy-layer-report span { color: #6c7f8a; font-size: .58rem; font-weight: 850; letter-spacing: .06em; }
.academy-layer-report b { color: #173f59; font-size: 1.5rem; }
.academy-layer-report i { background: #28a7cf; bottom: 0; height: 4px; left: 0; position: absolute; }
.academy-analysis-grid { display: grid; gap: 16px; grid-template-columns: 1.35fr .65fr; margin-top: 18px; }
.academy-analysis-grid > article { padding: 22px; }
.academy-analysis-grid ol { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.academy-analysis-grid li { align-items: center; border-top: 1px solid #e4eaee; display: grid; gap: 14px; grid-template-columns: 1fr auto; padding: 10px 0; }
.academy-analysis-grid li span { color: #4f6472; font-size: .66rem; line-height: 1.4; }
.academy-analysis-grid li b { color: #9a5a2a; font-size: .58rem; }
.academy-analysis-grid dl { display: grid; gap: 8px; }
.academy-analysis-grid dl div { align-items: center; background: #f4f8fa; border-radius: 7px; display: flex; justify-content: space-between; padding: 10px; }
.academy-analysis-grid dt { color: #607582; font-size: .62rem; }
.academy-analysis-grid dd { color: #173f59; font-size: 1rem; font-weight: 850; margin: 0; }
.academy-analysis-grid > article > p { color: #74858f; font-size: .62rem; line-height: 1.5; }
.academy-people-table.academy-people-actions > div { grid-template-columns: 1.5fr .75fr .8fr .45fr .55fr .6fr .55fr .5fr 1fr; }
.participant-row-actions { align-items: flex-start !important; display: flex !important; flex-direction: column; gap: 4px; }
.participant-row-actions a, .participant-row-actions button { background: none; border: 0; color: #0f789d; cursor: pointer; font: inherit; font-size: .58rem; font-weight: 800; padding: 0; text-align: left; }
.academy-bank-builder { background: #f5fafc; border: 1px solid #d6e7ee; border-radius: 10px; margin: 18px 0; padding: 18px; }
.academy-bank-builder summary { color: #153e59; cursor: pointer; font-size: .78rem; font-weight: 850; }
.academy-bank-builder .academy-form-grid { margin: 18px 0; }
.academy-bank-list { background: white; border: 1px solid #dfe7ec; border-radius: 10px; padding: 22px; }
.academy-bank-list > h3 { color: #173b56; margin: 0 0 14px; }
.academy-bank-list > article { align-items: center; border-top: 1px solid #e5ebef; display: grid; gap: 18px; grid-template-columns: 1fr auto; padding: 16px 0; }
.academy-bank-list > article:first-of-type { border-top: 0; }
.academy-bank-list article small { color: #748691; font-size: .6rem; margin-left: 8px; }
.academy-bank-list h4 { color: #254358; font-size: .76rem; margin: 8px 0 4px; }
.academy-bank-list p { color: #71818b; font-size: .65rem; margin: 0; }
.academy-bank-list article > div:last-child { display: flex; gap: 6px; }
.academy-bank-list article button, .academy-panel-heading a { background: white; border: 1px solid #cbdbe3; border-radius: 6px; color: #126f91; cursor: pointer; font: inherit; font-size: .62rem; font-weight: 800; padding: 7px 9px; }
.academy-controls-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.academy-controls-grid > article { padding: 24px; }
.academy-form-stack { display: grid; gap: 12px; }
.academy-form-stack textarea { min-height: 85px; resize: vertical; }
.academy-member { align-items: center; border-bottom: 1px solid #e3eaee; display: flex; justify-content: space-between; padding: 12px 0; }
.academy-member div { display: grid; gap: 3px; }
.academy-member b { color: #29475b; font-size: .72rem; }
.academy-member span { color: #7a8b95; font-size: .6rem; }
.academy-member i { background: #eef2f4; border-radius: 999px; color: #667780; font-size: .56rem; font-style: normal; padding: 5px 8px; }
.academy-member i.active { background: #e4f5eb; color: #277149; }
.academy-member-form { display: grid; gap: 8px; margin-top: 16px; }
.academy-channel-lock { background: #fffaf0; border-color: #ead9b7; }
.academy-channel-lock .academy-panel-heading > b { background: #f3dfb8; border-radius: 999px; color: #765416; font-size: .56rem; letter-spacing: .08em; padding: 6px 9px; }
.academy-channel-lock > p, .academy-channel-lock li { color: #6e6657; font-size: .68rem; line-height: 1.55; }
.academy-audit-list { display: grid; }
.academy-audit-list > div { border-top: 1px solid #e4eaee; display: grid; gap: 3px; grid-template-columns: 1fr auto; padding: 11px 0; }
.academy-audit-list b { color: #355164; font-size: .68rem; text-transform: capitalize; }
.academy-audit-list span { color: #758792; font-size: .58rem; }
.academy-audit-list time { color: #83919a; font-size: .56rem; grid-column: 2; grid-row: 1 / span 2; }
.exam-practice { background: #f4f8fa; border: 1px solid #d9e4e9; border-radius: 8px; display: grid; gap: 8px; margin: 0; padding: 14px; }
.exam-practice legend { color: #173e58; font-size: .68rem; font-weight: 850; padding: 0 5px; }
.exam-practice p { color: #5f7481; font-size: .64rem; margin: 0 0 3px; }
.exam-practice label { align-items: center; display: flex; flex-direction: row; font-size: .63rem; gap: 7px; }
.exam-practice small { color: #28734a; font-size: .58rem; }
.exam-consent { align-items: flex-start !important; display: flex !important; flex-direction: row; gap: 8px !important; line-height: 1.45; }
.exam-consent input { margin-top: 2px; }
.exam-save-state { color: #2a7750; font-style: normal; }
.exam-save-state.saving { color: #916719; }
.exam-save-state.offline { color: #a34a3b; }
.exam-session-instructions { background: #f3f8fa; border-radius: 7px; display: grid; gap: 3px; padding: 10px; }
.exam-session-instructions b { color: #1b7192; font-size: .55rem; text-transform: uppercase; }
.exam-assignments { background: #edf7fb; border-radius: 8px; display: grid; gap: 7px; margin-top: 12px; padding: 13px; }
.exam-assignments b { color: #23475e; font-size: .68rem; }
.exam-assignments a { color: #0e759a; font-size: .65rem; font-weight: 750; }
.verify-page { background: #f5f8fa; min-height: 100vh; padding-bottom: 60px; }
.verify-page > header { align-items: center; background: white; border-bottom: 1px solid #dfe7ec; display: flex; justify-content: space-between; padding: 16px max(24px, calc((100vw - 900px) / 2)); }
.verify-page > header img { display: block; height: auto; width: 92px; }
.verify-page > header span { color: #617583; font-size: .62rem; font-weight: 850; letter-spacing: .12em; }
.verify-card { background: white; border: 1px solid #dce5ea; border-radius: 12px; box-shadow: 0 15px 35px rgba(23,61,85,.06); margin: 70px auto; max-width: 650px; padding: 38px; }
.verify-card > span { color: #1688af; font-size: .63rem; font-weight: 850; letter-spacing: .12em; }
.verify-card h1 { color: #153d59; font-family: Georgia, "Times New Roman", serif; font-size: 2.2rem; font-weight: 500; margin: 9px 0; }
.verify-card > p { color: #6f7f89; font-size: .75rem; }
.verify-card form { align-items: end; display: grid; gap: 10px; grid-template-columns: 1fr auto; margin: 25px 0; }
.verify-card form label { color: #536b79; display: grid; font-size: .64rem; font-weight: 800; gap: 6px; }
.verify-card input { border: 1px solid #cbd9e1; border-radius: 7px; font: inherit; padding: 11px; }
.verify-result { border-radius: 9px; margin-top: 20px; padding: 20px; }
.verify-result.valid { background: #edf8f2; border: 1px solid #cce8d7; }.verify-result.expired, .verify-result.invalid { background: #fff5e8; border: 1px solid #ead8bc; }
.verify-result > b { color: #286e49; }.verify-result h2 { color: #173f59; margin: 10px 0 4px; }.verify-result p { color: #667983; font-size: .7rem; }
.verify-result dl { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); }.verify-result dl div { background: rgba(255,255,255,.7); border-radius: 6px; padding: 9px; }.verify-result dt { color: #71838d; font-size: .55rem; }.verify-result dd { color: #27485c; font-size: .68rem; font-weight: 800; margin: 4px 0 0; }.verify-result a { color: #0e7398; font-size: .67rem; font-weight: 800; }
.certificate-sheet footer a { color: #0f7398; text-decoration: underline; }

@media (max-width: 1000px) {
  .academy-control-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-people-table.academy-people-actions { overflow-x: auto; }
  .academy-people-table.academy-people-actions > div { min-width: 1050px; }
}
@media (max-width: 700px) {
  .academy-controls-grid, .academy-control-form, .academy-layer-report, .academy-analysis-grid { grid-template-columns: 1fr; }
  .academy-control-actions .academy-button, .academy-report-actions .academy-button { flex: 1; text-align: center; }
  .verify-card { margin: 35px 14px; padding: 26px 20px; }
  .verify-card form { grid-template-columns: 1fr; }
  .verify-result dl { grid-template-columns: 1fr; }
}

@media print {
  .site-header, .community-ribbon, .site-footer, .article-aside, .article-actions, .suggest-edit, .contributor-invite, .related-section { display: none !important; }
  .article-hero { background: white; padding-bottom: 25px; }
  .article-layout { display: block; max-width: 760px; }
  .article-image-wrap { margin-top: 0; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
}
a { color: inherit; text-decoration: none; }

.site-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 220px 1fr auto;
  min-height: 84px;
  padding: 0 5vw;
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand img {
  display: block;
  height: 54px;
  object-fit: contain;
  width: 145px;
}
.site-header nav {
  display: flex;
  gap: 34px;
  justify-content: center;
}
.site-header nav a {
  color: #304252;
  font-size: 0.94rem;
  font-weight: 650;
}
.role-menu { position: relative; }
.role-menu summary { align-items: center; color: #304252; cursor: pointer; display: flex; font-size: .94rem; font-weight: 650; gap: 6px; list-style: none; }
.role-menu summary::-webkit-details-marker { display: none; }
.role-menu[open] summary { color: #087eae; }
.role-menu-panel { background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 20px 50px rgba(8,45,72,.18); left: 50%; padding: 10px; position: absolute; top: calc(100% + 18px); transform: translateX(-50%); width: 390px; z-index: 40; }
.site-header nav .role-menu-panel { display: grid; gap: 2px 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(680px, calc(100vw - 32px)); }
.role-menu-panel > a { border-radius: 8px; display: block; padding: 11px 13px; }
.role-menu-panel > a:hover,.role-menu-panel > a:focus { background: #eef6f9; }
.role-menu-panel b,.role-menu-panel span { display: block; }
.role-menu-panel b { color: var(--navy-dark); font-size: .86rem; }
.role-menu-panel span { color: #72808a; font-size: .72rem; line-height: 1.4; margin-top: 3px; }
.role-menu-panel a.role-menu-all { border-top: 1px solid var(--line); color: #087eae; font-size: .78rem; font-weight: 800; margin-top: 6px; padding-top: 13px; }
.mobile-role-menu { display: none; }
.mobile-menu-label { border-top: 1px solid var(--line); color: #73818a; font-size: .66rem; font-weight: 900; letter-spacing: .12em; margin: 6px 8px 2px; padding-top: 12px; }
.mobile-menu-label:first-child { border-top: 0; margin-top: 0; padding-top: 4px; }
.demo-button {
  background: var(--blue);
  border-radius: 10px;
  color: white;
  font-weight: 750;
  padding: 13px 22px;
}

.hero {
  align-items: center;
  background: #f6f3eb;
  border-bottom: 1px solid #e4dfd2;
  color: var(--navy-dark);
  display: grid;
  gap: clamp(42px, 6vw, 90px);
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  margin: 0 auto;
  padding: 54px max(7vw, 30px) 58px;
  text-align: left;
}
.eyebrow, .article-label {
  color: #187da5;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}
.hero h1 {
  color: var(--navy-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.45rem, 4.25vw, 4.35rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 1.02;
  margin: 17px 0 20px;
  max-width: 760px;
}
.heading-accent { color: #1687b2; }
.heading-accent-light { color: #73d2ee; }
.hero-copy > p {
  color: #52616c;
  font-size: clamp(.98rem, 1.3vw, 1.12rem);
  line-height: 1.65;
  margin: 0;
  max-width: 680px;
}
.hero-tools {
  background: rgba(255,255,255,.78);
  border: 1px solid #ded9cc;
  border-radius: 14px;
  box-shadow: 0 14px 38px rgba(35, 49, 58, .07);
  padding: 27px;
}
.search-label {
  color: #746d5e;
  display: block;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .13em;
}
.search-shell {
  align-items: center;
  background: white;
  border: 1px solid #d7d2c7;
  border-radius: 9px;
  box-shadow: none;
  display: grid;
  gap: 9px;
  grid-template-columns: auto 1fr auto;
  margin: 11px 0 19px;
  max-width: none;
  padding: 6px 7px 6px 14px;
}
.search-shell span { color: var(--navy); font-size: 1.3rem; }
.search-shell input {
  border: 0;
  color: var(--ink);
  font: inherit;
  min-width: 0;
  outline: 0;
  padding: 10px 0;
}
.search-shell button {
  background: var(--navy);
  border: 0;
  border-radius: 9px;
  color: white;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  padding: 11px 17px;
}
.hero-meta {
  color: #64717a;
  display: grid;
  font-size: 0.78rem;
  gap: 9px;
}
.hero-meta span::before {
  color: #b38535;
  content: "—";
  margin-right: 8px;
}
.hero-meta b { color: var(--navy); }

.featured-wrap {
  align-items: stretch;
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 22px 65px rgba(15, 54, 82, 0.11);
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  margin: 34px auto 70px;
  max-width: 1120px;
  overflow: hidden;
  position: relative;
}
.featured-image { min-height: 420px; }
.featured-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.featured-copy { align-self: center; padding: 52px; }
.featured-copy .article-label { color: #1887b2; }
.featured-copy h2 {
  color: var(--navy-dark);
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  letter-spacing: -0.035em;
  line-height: 1.12;
  margin: 17px 0;
}
.featured-copy p {
  color: var(--muted);
  font-size: 1.03rem;
  line-height: 1.7;
}
.byline {
  color: #71808d;
  font-size: 0.84rem;
  margin: 22px 0;
}
.read-link { color: #087eae; font-weight: 800; }

.sr-only {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  clip: rect(0, 0, 0, 0);
}

.topics-section,
.latest-section,
.related-section {
  margin: 0 auto;
  max-width: 1180px;
  padding: 55px 30px 85px;
}

.section-heading {
  margin: 0 auto 38px;
  max-width: 1040px;
  text-align: center;
}

.section-kicker {
  color: #1887b2;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.section-heading h2,
.resource-band h2,
.newsletter h2,
.related-section > h2 {
  color: var(--navy-dark);
  font-size: clamp(2rem, 4vw, 3.35rem);
  letter-spacing: -0.045em;
  line-height: 1.08;
  margin: 15px 0;
}

.section-heading p {
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.7;
  margin: 0;
}

.topic-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.topic-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  min-height: 270px;
  padding: 28px;
  position: relative;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.topic-card:hover {
  box-shadow: 0 18px 40px rgba(15, 54, 82, 0.1);
  transform: translateY(-4px);
}

.topic-mark {
  background: var(--card-accent, var(--blue));
  border-radius: 999px;
  height: 7px;
  margin-bottom: 28px;
  width: 44px;
}

.topic-card > span {
  color: var(--card-accent, #1787af);
  font-size: 0.77rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.topic-card h3 {
  color: var(--navy-dark);
  font-size: 1.35rem;
  line-height: 1.24;
  margin: 12px 0;
}

.topic-card p {
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.6;
  margin-bottom: 22px;
}

.topic-card a {
  color: var(--navy);
  font-size: 0.88rem;
  font-weight: 800;
  margin-top: auto;
}
.topic-status { color: #84919b !important; font-size: .82rem !important; font-weight: 750 !important; letter-spacing: 0 !important; margin-top: auto; text-transform: none !important; }

@media (min-width: 801px) and (max-width: 1100px) {
  .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topics-section { padding-left: 24px; padding-right: 24px; }
  .section-heading { max-width: 860px; }
}

.topic-blue { --card-accent: #157ead; }
.topic-cyan { --card-accent: #20a9c6; }
.topic-amber { --card-accent: #e19b2b; }
.topic-green { --card-accent: #3c9b78; }
.topic-violet { --card-accent: #7659b8; }
.topic-slate { --card-accent: #65788b; }
.topic-legal { --card-accent: #8d4e42; }
.cover-legal-duties-and-protection { background: linear-gradient(145deg,#18364c 0%,#4b3741 62%,#8d4e42 100%); color: #fff; }

.latest-section {
  max-width: none;
  padding-left: max(5vw, 28px);
  padding-right: max(5vw, 28px);
  background: var(--surface);
}

.split-heading {
  display: block;
  max-width: 1180px;
  text-align: left;
}

.split-heading > div:first-child { max-width: 820px; }

.filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  margin-top: 26px;
}

.filter {
  background: white;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #50606c;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 9px 14px;
}

.filter.active {
  background: var(--navy);
  border-color: var(--navy);
  color: white;
}
.search-result-notice { align-items: center; background: #eaf6fb; border: 1px solid #cce4ee; border-radius: 10px; color: var(--navy); display: flex; justify-content: space-between; margin: 0 auto 20px; max-width: 1180px; padding: 13px 16px; }
.search-result-notice button { background: transparent; border: 0; color: #087eae; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; }

.article-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1180px;
}

.article-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  contain-intrinsic-size: auto 520px;
  content-visibility: auto;
  overflow: hidden;
}

.article-card > img {
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  width: 100%;
}
.card-image-link { display: block; }
.card-image-link img { aspect-ratio: 16 / 9; display: block; object-fit: cover; width: 100%; }
.editorial-cover {
  align-content: space-between;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #08345a, #168ab5);
  color: white;
  display: grid;
  overflow: hidden;
  padding: 24px;
  position: relative;
}
.editorial-cover::after {
  background: rgba(255,255,255,.11);
  border-radius: 50%;
  content: "";
  height: 190px;
  position: absolute;
  right: -50px;
  top: -72px;
  width: 190px;
}
.editorial-cover span { font-size: .66rem; font-weight: 850; letter-spacing: .14em; }
.editorial-cover b { font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; line-height: 1.05; max-width: 80%; }
.cover-safety-and-welfare { background: linear-gradient(135deg, #5d3a15, #d18b2e); }
.cover-mess-and-facilities { background: linear-gradient(135deg, #145443, #3b9a78); }
.cover-role-based-practice { background: linear-gradient(135deg, #3e315f, #7760a8); }
.cover-wellbeing-and-inclusion { background: linear-gradient(135deg, #204c6b, #4d8fb5); }
.editorial-cover.knowledge-card-cover { align-content: start; background: linear-gradient(145deg, #0c3855, #1c5275); display: grid; gap: 10px; }
.editorial-cover.knowledge-card-cover b { font-size: 1rem; line-height: 1.25; max-width: 92%; position: relative; z-index: 1; }
.editorial-cover.knowledge-card-cover small { align-self: end; color: #d8e9f0; font-family: Georgia, "Times New Roman", serif; font-size: .9rem; line-height: 1.25; max-width: 90%; position: relative; z-index: 1; }
.editorial-cover.knowledge-card-cover.cover-role-based-practice { background: linear-gradient(145deg, #342b51, #63548b); }
.editorial-cover.knowledge-card-cover.cover-wellbeing-and-inclusion { background: linear-gradient(145deg, #273c62, #526d9d); }
.editorial-cover.knowledge-card-cover.cover-leadership-and-digital-governance { background: linear-gradient(145deg, #30384d, #59647f); }
.cover-leadership-and-digital-governance { background: linear-gradient(135deg, #28365d, #6676a8); }

.action-tools {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin: 10px auto 70px;
  max-width: 1120px;
  padding: 0 24px;
}
.action-tools a {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 12px 35px rgba(15,54,82,.07);
  display: flex;
  flex-direction: column;
  min-height: 190px;
  padding: 28px;
}
.action-tools a:first-child { border-top: 5px solid #7659b8; }
.action-tools a:nth-child(2) { border-top: 5px solid #2b9a83; }
.action-tools a:nth-child(3) { border-top: 5px solid #d49125; }
.action-tools a:nth-child(4) { border-top: 5px solid #7659b8; }
.action-tools a:last-child { border-top: 5px solid #168ab5; }
.action-tools span { color: #6d7b86; font-size: .7rem; font-weight: 850; letter-spacing: .12em; }
.action-tools b { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: 1.65rem; line-height: 1.2; margin: 16px 0; }
.action-tools em { color: #087eae; font-size: .86rem; font-style: normal; font-weight: 800; margin-top: auto; }

.tool-page { background: #f7f6f1; min-height: 80vh; padding: 55px 24px 90px; }
.tool-hero { margin: 0 auto 40px; max-width: 900px; text-align: center; }
.tool-hero h1 { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.4rem,5vw,4.5rem); letter-spacing: -.045em; line-height: 1.05; margin: 16px 0; }
.tool-hero p { color: #586873; font-size: 1.05rem; line-height: 1.7; margin: 0 auto; max-width: 760px; }
.tool-hero > a { color: #087eae; display: inline-block; font-weight: 800; margin-top: 18px; }
.scorecard-shell,.learning-shell { margin: 0 auto; max-width: 960px; }
.privacy-note { align-items: center; background: #e9f5ee; border: 1px solid #bedbc8; border-radius: 12px; color: #255f3a; display: flex; gap: 18px; margin-bottom: 20px; padding: 16px 20px; }
.privacy-note b { white-space: nowrap; }
.privacy-note span { font-size: .9rem; }
.scorecard-progress,.learning-progress { align-items: center; background: var(--navy-dark); border-radius: 12px; color: white; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 16px; padding: 18px 22px; }
.scorecard-progress progress { accent-color: #58c1e4; max-width: 430px; width: 55%; }
.scorecard-questions { display: grid; gap: 12px; }
.scorecard-questions fieldset { background: white; border: 1px solid var(--line); border-radius: 12px; margin: 0; padding: 20px; }
.scorecard-questions legend { align-items: flex-start; color: var(--navy-dark); display: flex; font-size: 1rem; font-weight: 750; gap: 12px; padding: 0; width: 100%; }
.scorecard-questions legend span { color: #168ab5; font-size: .72rem; padding-top: 3px; }
.scorecard-questions fieldset > div { display: grid; gap: 8px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 15px; }
.scorecard-questions label { background: #f6f7f5; border: 1px solid #e0e1dc; border-radius: 8px; cursor: pointer; font-size: .8rem; padding: 10px; text-align: center; }
.scorecard-questions label.selected { background: #e7f4fa; border-color: #168ab5; color: var(--navy); font-weight: 750; }
.scorecard-questions input { margin-right: 6px; }
.scorecard-result { background: white; border: 2px solid #168ab5; border-radius: 16px; margin-top: 25px; padding: 30px; }
.scorecard-result > div:first-child { text-align: center; }
.scorecard-result > div:first-child span { color: #6a7882; display: block; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.scorecard-result strong { color: var(--navy-dark); display: block; font-family: Georgia,"Times New Roman",serif; font-size: 4.5rem; line-height: 1; margin: 12px; }
.scorecard-priorities { margin: 30px auto; max-width: 680px; }
.scorecard-priorities h2 { color: var(--navy-dark); font-size: 1.3rem; }
.scorecard-priorities a { align-items: center; border-top: 1px solid var(--line); color: var(--navy); display: flex; justify-content: space-between; padding: 14px 0; }
.scorecard-priorities span { color: #087eae; font-size: .8rem; }
.scorecard-actions { display: flex; gap: 10px; justify-content: center; }
.scorecard-actions button,.next-lesson { background: var(--navy); border: 0; border-radius: 8px; color: white; cursor: pointer; font: inherit; font-weight: 800; padding: 12px 18px; }
.scorecard-actions button.secondary { background: white; border: 1px solid var(--line); color: var(--navy); }
.scorecard-disclaimer,.learning-note { color: #6d7880; font-size: .78rem; line-height: 1.55; margin: 20px auto; max-width: 760px; text-align: center; }
.scorecard-welcome,.scorecard-step { background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 16px 45px rgba(15,54,82,.08); margin: 0 auto; max-width: 820px; padding: clamp(25px,5vw,48px); }
.scorecard-welcome > span,.question-category { color: #168ab5; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.scorecard-welcome h2,.scorecard-step h2 { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.8rem,3.8vw,2.75rem); line-height: 1.15; margin: 14px 0; }
.scorecard-welcome > p,.question-help { color: #5b6871; line-height: 1.65; }
.scorecard-scale { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin: 24px 0; }
.scorecard-scale > div { background: #f5f7f7; border-radius: 8px; padding: 13px; }
.scorecard-scale b,.scorecard-scale span { display: block; }
.scorecard-scale b { color: var(--navy-dark); font-size: .84rem; }
.scorecard-scale span { color: #6a767e; font-size: .75rem; line-height: 1.4; margin-top: 4px; }
.scorecard-start { background: var(--navy); border: 0; border-radius: 9px; color: white; cursor: pointer; font: inherit; font-weight: 800; padding: 14px 18px; }
.scorecard-welcome > small { color: #78848c; display: block; font-size: .74rem; margin-top: 12px; }
.scorecard-step .scorecard-progress { margin: calc(clamp(25px,5vw,48px) * -1) calc(clamp(25px,5vw,48px) * -1) 35px; border-radius: 16px 16px 0 0; }
.guided-options { display: grid; gap: 10px; margin: 25px 0 18px; }
.guided-options label { align-items: center; background: #f7f8f7; border: 2px solid transparent; border-radius: 10px; cursor: pointer; display: grid; gap: 3px 12px; grid-template-columns: auto 1fr; padding: 14px 16px; }
.guided-options label.selected { background: #eaf6fb; border-color: #168ab5; }
.guided-options input { grid-row: 1 / 3; }
.guided-options b { color: var(--navy-dark); font-size: .9rem; }
.guided-options span { color: #67747c; font-size: .78rem; }
.answer-confirmation { background: #e9f5ee; border-radius: 8px; color: #285e3b; display: flex; flex-wrap: wrap; gap: 5px 12px; padding: 12px 14px; }
.answer-confirmation span { font-size: .78rem; }
.scorecard-navigation { display: flex; justify-content: space-between; margin-top: 25px; }
.scorecard-navigation button { background: var(--navy); border: 1px solid var(--navy); border-radius: 8px; color: white; cursor: pointer; font: inherit; font-weight: 800; padding: 12px 17px; }
.scorecard-navigation button.secondary { background: white; border-color: var(--line); color: var(--navy); }
.scorecard-navigation button:disabled { cursor: not-allowed; opacity: .4; }

.learning-progress span { font-size: .85rem; }
.micro-lesson { background: white; border: 1px solid var(--line); border-radius: 13px; margin-bottom: 12px; overflow: hidden; }
.lesson-toggle { align-items: center; background: white; border: 0; color: var(--navy-dark); cursor: pointer; display: grid; gap: 15px; grid-template-columns: 48px 1fr auto; padding: 20px; text-align: left; width: 100%; }
.lesson-toggle > span { align-items: center; background: #eaf6fb; border-radius: 50%; color: #087eae; display: flex; font-size: .75rem; font-weight: 900; height: 44px; justify-content: center; }
.lesson-toggle b,.lesson-toggle small { display: block; }
.lesson-toggle b { font-size: 1.05rem; }
.lesson-toggle small { color: #7a8790; margin-top: 5px; }
.lesson-toggle i { font-size: 1.4rem; font-style: normal; }
.lesson-body { border-top: 1px solid var(--line); padding: 25px; }
.lesson-columns { display: grid; gap: 15px; grid-template-columns: 1fr 1fr; }
.lesson-columns > div { background: #edf7f1; border-radius: 10px; padding: 18px; }
.lesson-columns > div.avoid { background: #fff5e8; }
.lesson-body h2 { color: var(--navy-dark); font-size: 1rem; margin: 0 0 12px; }
.lesson-body ul { margin: 0; padding-left: 20px; }
.lesson-body li { color: #43515a; line-height: 1.55; margin: 6px 0; }
.lesson-check { background: #f4f6f7; border-radius: 10px; margin: 18px 0; padding: 20px; }
.lesson-check p { color: var(--navy-dark); font-weight: 750; }
.lesson-check button { background: white; border: 1px solid #d8dddf; border-radius: 8px; cursor: pointer; display: block; font: inherit; margin: 8px 0; padding: 11px; text-align: left; width: 100%; }
.lesson-check button.correct { background: #e5f5e9; border-color: #58a76b; }
.lesson-check button.incorrect { background: #fff1e7; border-color: #d58b4c; }
.lesson-check strong { color: #43515a; display: block; font-size: .85rem; line-height: 1.5; margin-top: 12px; }
.next-lesson { display: block; margin-left: auto; }

.role-learning-page { background: #f7f6f1; padding-bottom: 90px; }
.role-learning-hero { background: white; border-bottom: 1px solid var(--line); padding: 72px 24px 65px; text-align: center; }
.role-learning-hero h1 { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.7rem,5.7vw,5.3rem); letter-spacing: -.055em; line-height: 1.02; margin: 18px auto; max-width: 1000px; }
.role-learning-hero > p { color: #596a75; font-size: 1.08rem; line-height: 1.7; margin: 0 auto; max-width: 740px; }
.role-learning-hero nav { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 28px; }
.role-learning-hero nav a { background: #eef6f9; border: 1px solid #d6e5eb; border-radius: 999px; color: var(--navy); font-size: .84rem; font-weight: 800; padding: 10px 16px; }
.role-path { background: white; border: 1px solid var(--line); border-radius: 18px; display: grid; gap: 36px; grid-template-columns: .78fr 1.22fr; margin: 48px auto 0; max-width: 1120px; padding: 42px; scroll-margin-top: 100px; }
.role-path-intro > span,.other-role-grid article > span { color: #7659b8; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.security-role .role-path-intro > span { color: #b87817; }
.role-path-intro h2 { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: clamp(2rem,3.4vw,3rem); letter-spacing: -.04em; line-height: 1.1; margin: 15px 0; }
.role-path-intro p { color: #5c6972; line-height: 1.65; }
.primary-role-action { background: var(--navy); border-radius: 9px; color: white; display: inline-block; font-size: .85rem; font-weight: 800; margin-top: 12px; padding: 13px 17px; }
.role-path-intro small { color: #77838b; display: block; font-size: .74rem; line-height: 1.45; margin-top: 10px; }
.role-guide-list { border-top: 1px solid var(--line); }
.role-guide-list > a { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 14px; grid-template-columns: 90px 1fr auto; padding: 14px 4px; }
.role-guide-list span { color: #7b8790; font-size: .7rem; text-transform: uppercase; }
.role-guide-list b { color: var(--navy-dark); font-size: .91rem; line-height: 1.4; }
.role-guide-list em { color: #087eae; font-size: .76rem; font-style: normal; font-weight: 800; }
.other-role-section { margin: 80px auto 0; max-width: 1120px; padding: 0 24px; scroll-margin-top: 100px; }
.other-role-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.other-role-grid > article { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 28px; }
.other-role-grid h3 { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: 1.65rem; line-height: 1.2; margin: 12px 0 22px; }

.expanded-role-section { margin: 80px auto 0; max-width: 1120px; padding: 0 24px; }
.expanded-role-grid { display: grid; gap: 20px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.expanded-role-grid > article { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 28px; scroll-margin-top: 105px; }
.expanded-role-grid > article > span { color: #7659b8; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.expanded-role-grid h3 { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: 1.65rem; line-height: 1.2; margin: 12px 0; }
.expanded-role-grid > article > p { color: #5c6972; line-height: 1.6; margin: 0 0 22px; }
.expanded-role-grid .role-guide-list > a { grid-template-columns: 1fr auto; padding: 15px 0; }
.expanded-role-grid .role-guide-list span { grid-column: 1 / -1; }

.tool-card-grid { display: grid; gap: 20px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 auto; max-width: 1040px; }
.tool-card-grid > a { background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 12px 35px rgba(15,54,82,.06); display: flex; flex-direction: column; min-height: 250px; padding: 30px; }
.tool-card-grid span { color: #168ab5; font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.tool-card-grid h2 { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: 2rem; line-height: 1.14; margin: 16px 0 10px; }
.tool-card-grid p { color: #5c6972; line-height: 1.65; }
.tool-card-grid b { color: #087eae; margin-top: auto; }
.legal-card-page { background: linear-gradient(180deg,#f4f7f8 0,#fff 44%); }
.legal-response-card { background: #fff; border: 1px solid #d7e1e6; border-radius: 18px; box-shadow: 0 24px 60px rgba(16,46,66,.1); margin: 0 auto 80px; max-width: 980px; overflow: hidden; }
.legal-response-card > header { background: linear-gradient(135deg,#143750,#334b59 66%,#75483f); color: white; padding: 34px clamp(22px,5vw,52px); }
.legal-response-card > header > span { color: #f2c76f; font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.legal-response-card > header h2 { font-family: Georgia,"Times New Roman",serif; font-size: clamp(2rem,5vw,3.5rem); font-weight: 500; line-height: 1.05; margin: 12px 0; }
.legal-response-card > header p { color: #dbe7ec; line-height: 1.65; margin: 0; max-width: 760px; }
.legal-card-picker { display: grid; gap: 8px; padding: 26px clamp(22px,5vw,52px) 6px; }
.legal-card-picker label { color: #526875; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.legal-card-picker select { background: #f7fafb; border: 1px solid #bccbd3; border-radius: 10px; color: #153c56; font: inherit; font-weight: 750; padding: 14px; width: 100%; }
.legal-card-grid { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 24px clamp(22px,5vw,52px); }
.legal-card-grid article { background: #f6f9fa; border: 1px solid #dce6ea; border-radius: 13px; padding: 24px; }
.legal-card-grid article > span { color: #a85b4b; font-weight: 900; }
.legal-card-grid h3 { color: #153b55; font-family: Georgia,"Times New Roman",serif; font-size: 1.35rem; margin: 8px 0 18px; }
.legal-card-grid ol { display: grid; gap: 13px; margin: 0; padding-left: 20px; }
.legal-card-grid li { color: #4e626e; line-height: 1.55; padding-left: 5px; }
.legal-card-never { background: #fff2ef; border-left: 5px solid #aa5144; margin: 0 clamp(22px,5vw,52px); padding: 18px 22px; }
.legal-card-never b { color: #8f392f; font-size: .7rem; letter-spacing: .12em; }
.legal-card-never p { color: #5f413d; line-height: 1.6; margin: 7px 0 0; }
.legal-card-disclaimer { color: #6e7e87; font-size: .75rem; line-height: 1.6; margin: 22px clamp(22px,5vw,52px); }
.legal-response-card > button { background: #177ea3; border: 0; border-radius: 8px; color: white; cursor: pointer; font: inherit; font-weight: 850; margin: 0 clamp(22px,5vw,52px) 34px; padding: 13px 18px; }
.legal-protection-links { display: grid; gap: 14px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: -42px auto 80px; max-width: 980px; }
.legal-protection-links a { background: #fff; border: 1px solid #d5e0e5; border-radius: 12px; padding: 20px; }
.legal-protection-links span,.role-liability-card > span,.documentation-intro span { color: #168ab5; display: block; font-size: .66rem; font-weight: 900; letter-spacing: .11em; margin-bottom: 8px; }
.legal-protection-links b { color: #173e57; line-height: 1.45; }
.role-liability-layout { align-items: start; display: grid; gap: 20px; grid-template-columns: 270px 1fr; }
.role-liability-layout > nav { background: #173e57; border-radius: 14px; display: grid; gap: 4px; padding: 14px; position: sticky; top: 105px; }
.role-liability-layout > nav > span { color: #8bd6ee; font-size: .68rem; font-weight: 900; letter-spacing: .08em; padding: 10px; text-transform: uppercase; }
.role-liability-layout nav button { background: transparent; border: 0; border-radius: 7px; color: #dbe8ed; cursor: pointer; font: inherit; font-size: .78rem; font-weight: 750; padding: 11px; text-align: left; }
.role-liability-layout nav button.active { background: #fff; color: #173e57; }
.role-liability-card { background: #fff; border: 1px solid #d5e0e5; border-radius: 16px; box-shadow: 0 18px 45px rgba(16,46,66,.07); padding: clamp(24px,5vw,44px); }
.role-liability-card h2 { color: #173e57; font: 500 clamp(2rem,4vw,3rem)/1.1 Georgia,serif; margin: 10px 0 24px; }
.role-liability-card > div { display: grid; gap: 14px; }
.role-liability-card section { background: #f5f8f9; border-left: 4px solid #168ab5; border-radius: 8px; padding: 20px; }
.role-liability-card section.consequence { background: #fff6ee; border-color: #b56c49; }
.role-liability-card h3 { color: #173e57; margin: 0 0 10px; }
.role-liability-card li,.documentation-grid li,.decision-actions li { color: #4f626d; line-height: 1.55; margin: 6px 0; }
.legal-protection-rule { align-items: center; background: #173e57; border-radius: 12px; color: #fff; display: flex; gap: 18px; justify-content: space-between; margin: 20px 0; padding: 20px 24px; }
.legal-protection-rule b { color: #8bd6ee; }.legal-protection-rule span { font: 500 1.25rem Georgia,serif; }
.legal-tool-notice { background: #fff6e8; border: 1px solid #e5cfae; border-radius: 10px; color: #614d3d; margin: 20px 0; padding: 18px 20px; }
.legal-tool-notice b { color: #934b35; }.legal-tool-notice p { line-height: 1.6; margin: 6px 0 0; }
.legal-tool-sources { border-top: 1px solid #d5e0e5; margin: 28px 0 70px; padding-top: 22px; }
.legal-tool-sources h2 { color: #173e57; font-family: Georgia,serif; }.legal-tool-sources p,.legal-tool-sources li { color: #5b6c75; line-height: 1.55; }
.legal-tool-sources ul { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); padding-left: 20px; }
.documentation-intro { align-items: center; background: #173e57; border-radius: 15px; color: #fff; display: flex; gap: 25px; justify-content: space-between; margin-bottom: 18px; padding: 28px; }
.documentation-intro h2 { font: 500 2rem Georgia,serif; margin: 7px 0; }.documentation-intro p { color: #d4e3e8; line-height: 1.55; margin: 0; max-width: 690px; }
.documentation-intro button,.documentation-grid button,.decision-print { background: #168ab5; border: 0; border-radius: 8px; color: #fff; cursor: pointer; flex: 0 0 auto; font: inherit; font-weight: 850; padding: 13px 17px; }
.documentation-grid { display: grid; gap: 15px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.documentation-grid article { background: #fff; border: 1px solid #d5e0e5; border-radius: 13px; display: flex; flex-direction: column; padding: 24px; }
.documentation-grid article > span,.decision-actions article > span { color: #168ab5; font-size: .72rem; font-weight: 900; letter-spacing: .1em; }
.documentation-grid h2 { color: #173e57; font: 500 1.55rem Georgia,serif; margin: 10px 0; }.documentation-grid p { color: #687983; line-height: 1.55; }
.documentation-grid button { align-self: start; margin-top: auto; }.record-integrity-strip { align-items: center; background: #eaf5f8; border-left: 5px solid #168ab5; display: flex; gap: 15px; margin: 20px 0; padding: 18px; }.record-integrity-strip span { color: #47606d; line-height: 1.5; }
.decision-guide { display: grid; gap: 18px; }
.decision-picker,.decision-checks,.decision-result,.decision-actions article { background: #fff; border: 1px solid #d5e0e5; border-radius: 13px; padding: 22px; }
.decision-picker { display: grid; gap: 8px; }.decision-picker label { color: #56707d; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.decision-picker select { border: 1px solid #bfcdd4; border-radius: 8px; color: #173e57; font: inherit; font-weight: 800; padding: 13px; }
.decision-checks h2 { color: #173e57; font: 500 1.8rem Georgia,serif; margin-top: 0; }.decision-checks article { align-items: center; border-top: 1px solid #e2e8ea; display: grid; gap: 14px; grid-template-columns: 1fr auto; padding: 12px 0; }.decision-checks p { color: #4e626d; line-height: 1.5; margin: 0; }.decision-checks article > div { display: flex; gap: 5px; }.decision-checks button { background: #f4f7f8; border: 1px solid #ccd7dc; border-radius: 7px; cursor: pointer; font-weight: 800; padding: 8px 12px; }.decision-checks button.active { background: #e2f2e8; border-color: #67a77e; }.decision-checks button.active.danger { background: #fff0e8; border-color: #c77b59; color: #933f2c; }
.decision-result { background: #e9f5f8; border-left: 6px solid #168ab5; }.decision-result.urgent { background: #fff0e8; border-left-color: #b24d37; }.decision-result > span { color: #55717e; font-size: .68rem; font-weight: 900; letter-spacing: .1em; }.decision-result h2 { color: #173e57; font: 500 2rem Georgia,serif; margin: 8px 0; }.decision-result p { color: #536873; line-height: 1.5; margin: 0; }
.decision-actions { display: grid; gap: 14px; grid-template-columns: repeat(3,minmax(0,1fr)); }.decision-actions h2 { color: #173e57; font: 500 1.5rem Georgia,serif; }.decision-actions article.avoid { background: #fff6ee; border-color: #ddbba8; }.decision-actions article.avoid p { color: #654d42; line-height: 1.6; }.decision-print { justify-self: start; }
.operations-assessment { max-width: 900px; }

.lesson-illustration { align-items: center; background: linear-gradient(135deg,#eaf6fb,#f7f1df); border: 1px solid #d9e5e9; border-radius: 14px; display: grid; gap: 12px; grid-template-columns: 76px 1fr auto; margin-bottom: 12px; min-height: 110px; overflow: hidden; padding: 20px; position: relative; }
.lesson-illustration > span { align-items: center; background: white; border-radius: 50%; box-shadow: 0 8px 24px rgba(16,61,87,.12); display: flex; font-size: 2.35rem; height: 68px; justify-content: center; width: 68px; z-index: 1; }
.lesson-illustration > b { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; font-size: 1.35rem; line-height: 1.2; z-index: 1; }
.lesson-illustration > i { background: rgba(41,164,205,.13); border-radius: 50%; height: 150px; position: absolute; right: -35px; top: -60px; width: 150px; }
.lesson-audio { background: white; border: 1px solid #9bc7d8; border-radius: 999px; color: #096f98; cursor: pointer; font: inherit; font-size: .78rem; font-weight: 850; margin: 0 0 18px; padding: 9px 14px; }
.five-question-check { background: #f3f6f7; border-radius: 12px; display: grid; gap: 12px; margin-top: 18px; padding: 20px; }
.five-question-check > div:first-child span { color: #168ab5; font-size: .65rem; font-weight: 900; letter-spacing: .12em; }
.five-question-check article { background: white; border: 1px solid #dde5e8; border-radius: 9px; padding: 15px; }
.five-question-check article > b { color: var(--navy-dark); display: block; font-size: .88rem; line-height: 1.45; }
.five-question-check article > div { display: grid; gap: 6px; margin-top: 10px; }
.five-question-check button { background: white; border: 1px solid #d4dde1; border-radius: 7px; color: #40515c; cursor: pointer; font: inherit; font-size: .76rem; padding: 9px; text-align: left; }
.five-question-check button.correct { background: #e5f5e9; border-color: #58a76b; }
.five-question-check button.incorrect { background: #fff1e7; border-color: #d58b4c; }
.five-question-check article small { color: #586971; display: block; font-size: .72rem; margin-top: 8px; }
.lesson-pass,.lesson-retry { border-radius: 8px; display: block; padding: 12px; text-align: center; }
.lesson-pass { background: #dff3e6; color: #21643c; }.lesson-retry { background: #fff0e4; color: #8c4a21; }
.housekeeping-hero .section-kicker { color: #38755e; }

.suite-shell { margin: 0 auto; max-width: 1040px; }
.suite-form-grid { background: white; border: 1px solid var(--line); border-radius: 15px; display: grid; gap: 15px; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 24px; }
.suite-form-grid label { color: #50616d; display: grid; font-size: .75rem; font-weight: 800; gap: 7px; }
.suite-form-grid input,.suite-form-grid select { background: #f8faf9; border: 1px solid #ccd9df; border-radius: 8px; color: var(--navy-dark); font: inherit; font-size: 1rem; padding: 11px; }
.suite-results,.occupancy-summary { display: grid; gap: 14px; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 18px 0; }
.suite-results article,.occupancy-summary article { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 20px; }
.suite-results span,.occupancy-summary span { color: #697b86; display: block; font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.suite-results strong,.occupancy-summary strong { color: var(--navy-dark); display: block; font-family: Georgia,"Times New Roman",serif; font-size: 2.8rem; margin: 10px 0; }
.suite-results p { color: #64737b; font-size: .72rem; line-height: 1.5; }
.occupancy-summary article.danger { border-color: #d27b56; }.occupancy-summary article.danger strong { color: #a0442e; }
.suite-primary,.suite-actions button,.pack-grid button,.learning-certificate button { background: var(--navy); border: 0; border-radius: 8px; color: white; cursor: pointer; font: inherit; font-weight: 800; padding: 12px 17px; }
.suite-insight,.suite-notice { background: #eaf6fb; border-left: 4px solid #168ab5; color: #435d6b; line-height: 1.55; margin: 18px 0; padding: 15px 18px; }
.suite-notice { background: #f2f0e9; border-color: #b9ae8d; font-size: .74rem; }
.binary-checks { display: grid; gap: 10px; }
.binary-checks article { align-items: center; background: white; border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 15px; grid-template-columns: 1fr auto; padding: 16px; }
.binary-checks b { color: var(--navy-dark); font-size: .88rem; line-height: 1.45; }
.binary-checks article > div { display: flex; gap: 6px; }
.binary-checks button { background: #f5f7f7; border: 1px solid #d4dde1; border-radius: 7px; cursor: pointer; min-width: 65px; padding: 9px; }.binary-checks button.selected { background: #dff2e6; border-color: #62a678; }.binary-checks button.danger { background: #fff0e7; border-color: #d88762; }
.incident-result { background: white; border-left: 7px solid #78909c; border-radius: 12px; margin-bottom: 18px; padding: 24px; }.incident-result.high { border-color: #d27f28; }.incident-result.critical { border-color: #b23a35; }.incident-result.moderate { border-color: #d5a435; }.incident-result span,.incident-result strong { display: block; }.incident-result span { color: #71808a; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.incident-result strong { color: var(--navy-dark); font-size: 1.8rem; margin: 8px 0; }
.suite-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }.suite-actions a { align-items: center; border: 1px solid var(--line); border-radius: 8px; color: #087eae; display: flex; font-weight: 800; padding: 11px 16px; }
.director-grid { display: grid; gap: 12px; grid-template-columns: repeat(4,minmax(0,1fr)); }.director-grid article { background: white; border: 1px solid var(--line); border-top: 5px solid #7f929d; border-radius: 10px; padding: 16px; }.director-grid article.good { border-top-color: #4f9c6d; }.director-grid article.watch { border-top-color: #d29a2e; }.director-grid article.risk { border-top-color: #b84c3b; }.director-grid label { color: #526571; display: grid; font-size: .7rem; font-weight: 800; gap: 8px; }.director-grid input { border: 0; color: var(--navy-dark); font: 800 2rem Georgia,serif; max-width: 100%; }.director-grid span { color: #6e7d85; font-size: .66rem; }
.dashboard-prompts,.survey-template,.certificate-builder { background: white; border: 1px solid var(--line); border-radius: 14px; margin: 18px 0; padding: 24px; }.dashboard-prompts h2,.survey-template h2,.certificate-builder h2 { color: var(--navy-dark); }.dashboard-prompts li { color: #4e606b; line-height: 1.5; margin: 8px 0; }
.survey-template > div > span { color: #168ab5; font-size: .68rem; font-weight: 900; letter-spacing: .1em; }.survey-template ol { display: grid; gap: 8px; padding-left: 24px; }.survey-template li { border-bottom: 1px solid #e4e9eb; color: #43545f; padding: 10px; }.survey-template li b,.survey-template li span { display: block; }.survey-template li span { color: #7b8990; font-size: .68rem; margin-top: 4px; }
.pack-grid { display: grid; gap: 15px; grid-template-columns: repeat(2,minmax(0,1fr)); }.pack-grid article { background: white; border: 1px solid var(--line); border-radius: 14px; display: flex; flex-direction: column; padding: 24px; }.pack-grid span { color: #168ab5; font-size: .65rem; font-weight: 900; letter-spacing: .1em; }.pack-grid h2 { color: var(--navy-dark); font-family: Georgia,"Times New Roman",serif; }.pack-grid li { color: #52636e; line-height: 1.5; margin: 5px 0; }.pack-grid button { margin-top: auto; }
.certificate-check { display: grid; gap: 8px; margin-top: 20px; }.certificate-check article { align-items: center; border-top: 1px solid #e1e7e9; display: grid; gap: 12px; grid-template-columns: 1fr auto; padding: 12px 0; }.certificate-check article b { color: #455965; font-size: .8rem; }.certificate-check article > div { display: flex; gap: 5px; }.certificate-check button { background: #f5f7f7; border: 1px solid #d4dde1; border-radius: 6px; cursor: pointer; padding: 8px; }.certificate-check button.selected { background: #e1f2e7; border-color: #69a77e; }.completion-declaration { align-items: flex-start; display: flex; gap: 10px; margin-top: 18px; }.completion-declaration span { color: #52646e; font-size: .78rem; line-height: 1.5; }
.learning-certificate { background: #fffdf6; border: 9px double #1a536f; box-shadow: 0 16px 45px rgba(15,54,82,.1); margin: 25px auto; max-width: 850px; padding: 45px; text-align: center; }.learning-certificate > span { color: #168ab5; font-size: .7rem; font-weight: 900; letter-spacing: .15em; }.learning-certificate h2 { color: var(--navy-dark); font: 2.7rem Georgia,serif; }.learning-certificate > strong { color: var(--navy-dark); display: block; font: 2.2rem Georgia,serif; margin: 16px; }.learning-certificate small { color: #687983; display: block; margin: 20px; }
.role-certificate-cta { align-items: center; background: var(--navy-dark); border-radius: 12px; color: white; display: flex; justify-content: space-between; margin-top: 22px; padding: 20px; }.role-certificate-cta b,.role-certificate-cta span { display: block; }.role-certificate-cta span { color: #8cdaee; font-size: .82rem; }

@media print { .site-header,.site-footer,.community-ribbon,.tool-hero,.privacy-note,.scorecard-progress,.scorecard-questions,.scorecard-disclaimer,.scorecard-actions,.suite-actions,.suite-primary,.suite-notice,.certificate-builder,.role-liability-layout > nav,.documentation-grid button,.documentation-intro button,.decision-picker,.decision-checks,.decision-print,.legal-protection-links { display:none !important; } .tool-page { background:white; padding:0; } .scorecard-result { border:0; } .learning-certificate { box-shadow:none; } }
@media print { .legal-card-picker,.legal-response-card > button { display:none !important; }.legal-response-card { border:0; box-shadow:none; margin:0; max-width:none; }.legal-card-grid { grid-template-columns:1fr 1fr; } }

.card-content { padding: 25px 24px 27px; }

.card-meta {
  color: #778592;
  display: flex;
  font-size: 0.72rem;
  font-weight: 700;
  justify-content: space-between;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.card-meta span:first-child { color: #168ab5; }

.article-card h3 {
  color: var(--navy-dark);
  font-size: 1.22rem;
  line-height: 1.3;
  margin: 14px 0 10px;
}

.article-card p {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.55;
  margin-bottom: 22px;
}

.article-card a,
.prototype-label {
  color: #087eae;
  font-size: 0.84rem;
  font-weight: 800;
}

.prototype-label { color: #84919b; }

.resource-band {
  align-items: center;
  background: var(--navy-dark);
  color: white;
  display: grid;
  gap: 60px;
  grid-template-columns: 1fr 1fr;
  padding: 75px max(7vw, 30px);
}

.resource-band .section-kicker { color: #75d4f1; }
.resource-band h2 { color: white; max-width: 650px; }

.resource-list {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.resource-list > div {
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  gap: 25px;
  padding: 17px 4px;
}

.resource-list b {
  color: #68d4f5;
  font-size: 0.76rem;
}

.resource-list span { color: #e4eef5; font-weight: 650; }

.newsletter {
  align-items: center;
  background: #e9f7fc;
  display: grid;
  gap: 50px;
  grid-template-columns: 1fr auto;
  margin: 70px auto;
  max-width: 1120px;
  padding: 45px 50px;
}

.newsletter > div > span {
  color: #168ab5;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.13em;
}

.newsletter h2 { font-size: clamp(1.7rem, 3vw, 2.55rem); margin: 10px 0; }
.newsletter p { color: var(--muted); line-height: 1.6; margin: 0; }

.newsletter form {
  display: flex;
  min-width: 390px;
}

.newsletter input {
  border: 1px solid #cbdde6;
  border-radius: 9px 0 0 9px;
  font: inherit;
  min-width: 0;
  padding: 14px;
  width: 100%;
}

.newsletter button {
  background: var(--blue);
  border: 0;
  border-radius: 0 9px 9px 0;
  color: white;
  font: inherit;
  font-weight: 800;
  padding: 0 20px;
}

.site-footer {
  background: #061f36;
  color: white;
  padding: 55px max(5vw, 24px) 25px;
}

.footer-top {
  display: grid;
  gap: 50px;
  grid-template-columns: 1.7fr repeat(3, 1fr);
  margin: 0 auto 42px;
  max-width: 1180px;
}

.footer-brand img {
  background: white;
  border-radius: 6px;
  height: 55px;
  object-fit: contain;
  padding: 3px;
  width: 145px;
}

.footer-brand p {
  color: #adbfcc;
  line-height: 1.6;
  max-width: 320px;
}

.trust-row { display: flex; flex-wrap: wrap; gap: 8px; }
.trust-row span {
  border: 1px solid #38556d;
  border-radius: 999px;
  color: #c7d5df;
  font-size: 0.71rem;
  padding: 7px 10px;
}

.footer-group { display: flex; flex-direction: column; gap: 10px; }
.footer-group h3 { font-size: 0.88rem; margin: 0 0 8px; }
.footer-group a { color: #9eb3c2; font-size: 0.84rem; }

.footer-bottom {
  border-top: 1px solid #294459;
  color: #8298a8;
  display: flex;
  font-size: 0.75rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1180px;
  padding-top: 23px;
}

/* Article template */
.article-hero {
  background:
    radial-gradient(circle at 82% 20%, rgba(42, 168, 216, 0.13), transparent 28%),
    #f1f7fa;
  border-bottom: 1px solid var(--line);
  padding: 44px 24px 70px;
}

.article-container {
  margin: 0 auto;
  max-width: 1050px;
}

.breadcrumbs {
  color: #687986;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.77rem;
  gap: 9px;
  margin-bottom: 48px;
}

.breadcrumbs a { color: #0c7fa9; }

.article-category {
  color: #168ab5;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.article-hero h1 {
  color: var(--navy-dark);
  font-size: clamp(2.65rem, 6vw, 5.35rem);
  letter-spacing: -0.055em;
  line-height: 1.01;
  margin: 20px 0 25px;
  max-width: 1020px;
}

.article-deck {
  color: #566977;
  font-size: clamp(1.05rem, 2vw, 1.32rem);
  line-height: 1.65;
  max-width: 820px;
}

.article-author-row {
  align-items: center;
  border-top: 1px solid #cfdee6;
  display: grid;
  gap: 15px;
  grid-template-columns: auto 1fr auto;
  margin-top: 38px;
  padding-top: 24px;
}

.author-avatar {
  align-items: center;
  background: var(--navy);
  border-radius: 50%;
  color: white;
  display: flex;
  font-size: 0.75rem;
  font-weight: 850;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.article-author-row strong,
.article-author-row span { display: block; }
.article-author-row strong { color: var(--navy-dark); font-size: 0.9rem; }
.article-author-row span { color: #6d7d89; font-size: 0.77rem; margin-top: 3px; }

.article-facts {
  display: flex;
  gap: 28px;
  text-align: right;
}

.article-image-wrap {
  margin: -35px auto 55px;
  max-width: 1120px;
  padding: 0 24px;
  position: relative;
}

.article-image-wrap img {
  aspect-ratio: 16 / 7;
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(11, 52, 80, 0.17);
  display: block;
  object-fit: cover;
  width: 100%;
}
.article-editorial-cover {
  align-content: space-between;
  aspect-ratio: 16 / 7;
  background: linear-gradient(135deg, #082c4d, #137da8 62%, #51b5d6);
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(11, 52, 80, 0.17);
  color: white;
  display: grid;
  min-height: 285px;
  overflow: hidden;
  padding: clamp(30px, 5vw, 64px);
  position: relative;
}
.article-editorial-cover::after {
  background: rgba(255,255,255,.1);
  border-radius: 50%;
  content: "";
  height: 420px;
  position: absolute;
  right: -90px;
  top: -210px;
  width: 420px;
}
.article-editorial-cover span { font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.article-editorial-cover b { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 5vw, 4rem); line-height: 1.02; max-width: 780px; }
.article-knowledge-cover { background: #0c3855; border-radius: 14px; color: white; display: grid; gap: 50px; grid-template-columns: 1.2fr .8fr; min-height: 470px; overflow: hidden; padding: clamp(34px, 6vw, 76px); position: relative; }
.article-knowledge-cover::after { border: 1px solid rgba(255,255,255,.16); border-radius: 50%; content: ""; height: 420px; position: absolute; right: -160px; top: -190px; width: 420px; }
.knowledge-cover-copy { display: flex; flex-direction: column; position: relative; z-index: 1; }
.knowledge-cover-copy > span { color: #72d4f2; font-size: .7rem; font-weight: 900; letter-spacing: .17em; }
.knowledge-cover-copy > small { color: #c4dce6; font-size: .72rem; margin-top: 30px; }
.knowledge-cover-copy > b { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.1rem, 4.5vw, 4.25rem); letter-spacing: -.04em; line-height: 1.02; margin-top: 12px; }
.knowledge-cover-map { align-self: center; display: grid; gap: 10px; position: relative; z-index: 1; }
.knowledge-cover-map div { align-items: center; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: 10px; display: grid; gap: 12px; grid-template-columns: 36px 1fr; padding: 13px; }
.knowledge-cover-map i { align-items: center; background: #73d4f2; border-radius: 50%; color: #07334e; display: flex; font-size: .62rem; font-style: normal; font-weight: 900; height: 32px; justify-content: center; width: 32px; }
.knowledge-cover-map span { font-size: .74rem; font-weight: 700; line-height: 1.4; }
.cover-palette-1 { background: #173f50; }
.cover-palette-2 { background: #223a60; }
.cover-palette-3 { background: #493d58; }
.cover-palette-4 { background: #563d36; }

.article-layout {
  display: grid;
  gap: 70px;
  grid-template-columns: 220px minmax(0, 740px);
  margin: 0 auto;
  max-width: 1090px;
  padding: 10px 24px 90px;
}

.article-aside {
  align-self: start;
  position: sticky;
  top: 110px;
}

.toc-label {
  color: #83909a;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  margin-bottom: 12px;
}

.article-aside nav {
  border-left: 2px solid #e0e8ed;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.article-aside nav a {
  color: #657682;
  font-size: 0.79rem;
  line-height: 1.35;
  padding: 7px 0 7px 15px;
}

.article-aside nav a:hover { color: #0785b3; }

.aside-share {
  border-top: 1px solid var(--line);
  color: #778691;
  font-size: 0.72rem;
  margin-top: 23px;
  padding-top: 17px;
}

.aside-share > div { display: flex; gap: 7px; margin-top: 9px; }
.aside-share button {
  background: white;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--navy);
  height: 32px;
  width: 32px;
}

.article-body {
  color: #2c3943;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.07rem;
  line-height: 1.82;
}

.mobile-article-toc { display: none; }

.article-visual-guide {
  background: #f7fafb;
  border: 1px solid #d9e6eb;
  border-radius: 18px;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  margin: 34px 0 48px;
  overflow: hidden;
  padding: 24px;
}
.article-visual-guide header { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 20px; }
.article-visual-guide header span { color: #087eae; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.article-visual-guide header small { color: #75828b; font-size: .68rem; max-width: 44%; text-align: right; }
.visual-guide-canvas { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); position: relative; }
.visual-guide-canvas::before { background: #b9dfe9; content: ""; height: 2px; left: 8%; position: absolute; right: 8%; top: 19px; }
.visual-guide-node { background: white; border: 1px solid #dce8ed; border-radius: 12px; min-height: 124px; padding: 14px 13px; position: relative; z-index: 1; }
.visual-guide-node i { align-items: center; background: #0d4f72; border: 4px solid #f7fafb; border-radius: 50%; color: white; display: flex; font-size: .63rem; font-style: normal; font-weight: 900; height: 36px; justify-content: center; margin: -13px 0 14px; width: 36px; }
.visual-guide-node b { color: var(--navy-dark); display: block; font-size: .78rem; line-height: 1.45; }
.article-visual-guide > p { color: #61727c; font-size: .73rem; line-height: 1.55; margin: 16px 0 0; }
.visual-map .visual-guide-canvas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.visual-map .visual-guide-canvas::before { background: linear-gradient(90deg, #b9dfe9 50%, transparent 50%) 0 0 / 12px 2px; bottom: 20%; height: auto; left: 50%; right: auto; top: 20%; width: 2px; }
.visual-custom .visual-guide-canvas { grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); }
.visual-custom .visual-guide-node { min-height: 118px; }
.visual-decision .visual-guide-node:nth-child(2),.visual-decision .visual-guide-node:nth-child(4) { background: #eef5f7; border-color: #c7dce3; }
.visual-decision .visual-guide-node:last-child { background: #edf6ef; border-color: #bed8c4; }
.article-evidence-strip { background: #f7f4eb; border: 1px solid #ded7c6; border-radius: 13px; display: grid; gap: 18px; grid-template-columns: minmax(190px,.7fr) 1.3fr; margin: 26px 0 34px; padding: 18px; }
.article-evidence-strip > div span { color: #8b641f; display: block; font-size: .62rem; font-weight: 900; letter-spacing: .13em; }
.article-evidence-strip > div b { color: var(--navy-dark); display: block; font-size: .86rem; line-height: 1.4; margin: 6px 0; }
.article-evidence-strip > div small { color: #66737b; display: block; font-size: .7rem; }
.article-evidence-strip nav { display: grid; gap: 6px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.article-evidence-strip nav a { align-items: flex-start; background: white; border: 1px solid #e2ddd0; border-radius: 8px; color: #38515f; display: flex; font-size: .68rem; gap: 8px; line-height: 1.35; padding: 8px; text-decoration: none; }
.article-evidence-strip nav i { align-items: center; background: var(--navy); border-radius: 50%; color: white; display: inline-flex; flex: 0 0 19px; font-size: .56rem; font-style: normal; height: 19px; justify-content: center; }
.source-verification { align-items: baseline; border-bottom: 1px solid #dce5e9; display: flex; justify-content: space-between; margin-bottom: 13px; padding-bottom: 10px; }
.source-verification b { color: var(--navy-dark); font-size: .8rem; }
.source-verification span { color: #718089; font-size: .68rem; }
.visual-map .visual-guide-node { min-height: 100px; }
.visual-responsibility .visual-guide-node i { background: #875c22; }

.article-action-board {
  background: #0b3855;
  border-radius: 18px;
  color: white;
  display: grid;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  gap: 28px;
  grid-template-columns: minmax(150px, .7fr) 1.3fr;
  margin: 48px 0;
  padding: 26px;
}
.article-action-board > div span { color: #74d4f2; display: block; font-size: .66rem; font-weight: 900; letter-spacing: .13em; margin-bottom: 10px; }
.article-action-board > div b { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.28rem; line-height: 1.25; }
.article-action-board ol { counter-reset: action; display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.article-action-board li { border-top: 1px solid rgba(255,255,255,.15); font-size: .78rem; line-height: 1.5; padding: 9px 0 0 28px; position: relative; }
.article-action-board li::before { color: #74d4f2; content: counter(list-item, decimal-leading-zero); font-size: .62rem; font-weight: 900; left: 0; position: absolute; top: 11px; }

.article-body .lead {
  color: #1c2d39;
  font-size: 1.25rem;
  line-height: 1.7;
}

.article-body section {
  scroll-margin-top: 110px;
  margin-top: 52px;
}
.article-block-heading { scroll-margin-top: 110px; margin-top: 52px !important; }
.article-list { margin: 18px 0 28px; }
.article-list li { margin-bottom: 8px; }
.article-source-list { margin-top: 20px; }

.article-body h2,
.article-body h3,
.key-takeaway,
.section-number,
.fretbox-callout,
.numbered-checklist,
.rhythm-grid {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.article-body h2 {
  color: var(--navy-dark);
  font-size: clamp(1.8rem, 3.8vw, 2.55rem);
  letter-spacing: -0.035em;
  line-height: 1.15;
  margin: 8px 0 20px;
}

.article-body h3 { color: var(--navy); font-size: 1.08rem; }
.article-body a { color: #087fa9; text-decoration: underline; }
.article-author-row a { color: inherit; }
.article-author-row span a { text-decoration: underline; text-decoration-color: #b6ced9; text-underline-offset: 3px; }

.editorial-method-page { margin: 0 auto; max-width: 1180px; padding: 80px 28px 100px; }
.editorial-method-page > header { max-width: 900px; }
.editorial-method-page > header h1 { color: var(--navy-dark); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 5.5vw, 5.2rem); letter-spacing: -.05em; line-height: 1.01; margin: 18px 0 24px; }
.editorial-method-page > header p { color: #536571; font-size: 1.08rem; line-height: 1.75; max-width: 780px; }
.editorial-method-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 58px; }
.editorial-method-grid section { background: #f5f9fb; border: 1px solid #dfe9ee; border-radius: 16px; padding: 30px; }
.editorial-method-grid section > span { color: #1fa8d7; font-size: .72rem; font-weight: 900; letter-spacing: .15em; }
.editorial-method-grid h2 { color: var(--navy-dark); font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; margin: 14px 0 10px; }
.editorial-method-grid p { color: #536571; line-height: 1.7; margin: 0; }
.editorial-method-note { background: #0b3855; border-radius: 18px; color: white; margin-top: 18px; padding: 34px; }
.editorial-method-note h2 { font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; margin: 0 0 10px; }
.editorial-method-note p { color: #d5e7ef; line-height: 1.7; max-width: 850px; }
.editorial-method-note a { color: #75daf6; display: inline-block; font-weight: 800; margin-top: 8px; }

.key-takeaway {
  background: #eaf6fb;
  border-left: 5px solid var(--blue);
  margin-bottom: 38px;
  padding: 25px 28px;
}

.key-takeaway span,
.fretbox-callout span {
  color: #168ab5;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.13em;
}

.key-takeaway p {
  color: var(--navy-dark);
  font-size: 1.03rem;
  font-weight: 700;
  line-height: 1.55;
  margin: 8px 0 0;
}

.section-number {
  color: #1ba4d2;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.inline-check {
  background: var(--surface);
  border: 1px solid var(--line);
  margin: 28px 0;
  padding: 20px 26px;
}

.inline-check ul { margin-bottom: 0; }

.rhythm-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}

.rhythm-grid div {
  background: var(--surface);
  border-left: 3px solid var(--blue);
  padding: 17px;
}

.rhythm-grid b,
.rhythm-grid span { display: block; }
.rhythm-grid b { color: var(--navy); font-size: 0.85rem; }
.rhythm-grid span { color: #5f6e79; font-size: 0.78rem; line-height: 1.45; margin-top: 5px; }

.article-body blockquote {
  border-left: 4px solid #b9dfe9;
  color: #354c5b;
  font-size: 1.15rem;
  font-style: italic;
  margin: 30px 0;
  padding-left: 25px;
}

.numbered-checklist {
  list-style: none;
  margin: 25px 0;
  padding: 0;
}

.numbered-checklist li {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 18px;
  grid-template-columns: 42px 1fr;
  padding: 15px 0;
}

.numbered-checklist li span {
  color: #1590bb;
  font-size: 0.72rem;
  font-weight: 900;
}

.fretbox-callout {
  background: var(--navy-dark);
  color: white;
  margin-left: -35px;
  margin-right: -35px;
  padding: 38px;
}

.fretbox-callout h2 { color: white; }
.fretbox-callout p { color: #c8d9e4; }
.fretbox-callout > a {
  background: var(--blue);
  border-radius: 8px;
  color: white;
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 850;
  margin-top: 9px;
  padding: 12px 16px;
  text-decoration: none;
}

.article-body details {
  border-top: 1px solid var(--line);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  padding: 18px 0;
}

.article-body details:last-of-type { border-bottom: 1px solid var(--line); }
.article-body summary {
  color: var(--navy-dark);
  cursor: pointer;
  font-weight: 800;
}
.article-body details p { color: #5a6873; font-size: 0.9rem; line-height: 1.65; }

.references {
  background: var(--surface);
  border: 1px solid var(--line);
  padding: 25px 30px;
}
.references h2 { font-size: 1.7rem; }
.references p, .references li, .references small { font-size: 0.85rem; line-height: 1.55; }
.references small { color: #6f7d87; display: block; margin-top: 18px; }

.related-section {
  border-top: 1px solid var(--line);
  text-align: center;
}
.related-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 30px;
  text-align: left;
}
.related-grid a {
  background: var(--surface);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-height: 145px;
  padding: 24px;
}
.related-grid span { color: #168ab5; font-size: 0.68rem; font-weight: 850; }
.related-grid b { color: var(--navy-dark); line-height: 1.35; }

@media (max-width: 800px) {
  .site-header {
    grid-template-columns: 1fr auto;
    min-height: 72px;
    padding: 0 20px;
  }
  .brand img { height: 44px; width: 118px; }
  .site-header nav { display: none; }
  .header-actions { gap: 10px; }
  .mobile-role-menu { display: block; }
  .mobile-role-menu summary { background: #eef6f9; border-radius: 8px; color: var(--navy); font-size: .78rem; padding: 9px 10px; }
  .mobile-role-menu .role-menu-panel { left: auto; right: -52px; top: calc(100% + 12px); transform: none; width: min(360px, calc(100vw - 24px)); }
  .mobile-menu-panel { max-height: 72vh; overflow-y: auto; }
  .community-ribbon-track { animation: none; min-width: 0; width: auto; }
  .community-ribbon-track span { line-height: 1.45; padding: 10px 18px; white-space: normal; }
  .community-ribbon-track span[aria-hidden="true"] { display: none; }
  .fretbox-link { display: none; }
  .demo-button { font-size: 0.85rem; padding: 10px 14px; }
  .hero { gap: 17px; grid-template-columns: 1fr; padding: 24px 18px 27px; }
  .hero h1 { font-size: clamp(2rem, 8.7vw, 2.75rem); margin: 10px 0 12px; }
  .hero-copy > p { font-size: .94rem; line-height: 1.48; }
  .hero-tools { padding: 14px 15px; }
  .search-shell { grid-template-columns: auto minmax(0, 1fr) auto; margin: 8px 0 12px; padding-left: 10px; }
  .search-shell input { font-size: .82rem; }
  .search-shell button { font-size: .76rem; padding: 10px 11px; }
  .hero-meta { display: flex; flex-wrap: wrap; gap: 5px 13px; justify-content: flex-start; }
  .hero-meta span { font-size: .7rem; }
  .featured-wrap {
    border-radius: 14px;
    grid-template-columns: 1fr;
    margin: 24px 16px 54px;
  }
  .featured-image { min-height: 235px; }
  .featured-copy { padding: 28px 24px 34px; }

  .topics-section, .latest-section, .related-section { padding: 42px 16px 60px; }
  .topic-grid, .article-grid, .related-grid { grid-template-columns: 1fr; }
  .latest-section .article-grid { gap: 10px; }
  .latest-section .article-card { align-items: stretch; display: grid; grid-template-columns: 106px minmax(0, 1fr); min-height: 112px; }
  .latest-section .card-image-link { height: 100%; min-height: 112px; }
  .latest-section .card-image-link img { height: 100%; object-fit: cover; }
  .latest-section .card-content { padding: 12px 13px; }
  .latest-section .card-content p { display: none; }
  .latest-section .card-content h3 { font-size: .93rem; line-height: 1.25; margin: 7px 0 8px; }
  .latest-section .card-content > a { font-size: .7rem; }
  .latest-section .card-meta { font-size: .59rem; gap: 7px; }
  .latest-section .knowledge-card-cover { border-radius: 0; min-height: 112px; padding: 11px 9px; }
  .latest-section .knowledge-card-cover span { font-size: .48rem; }
  .latest-section .knowledge-card-cover b { font-size: .67rem; }
  .latest-section .knowledge-card-cover small { display: none; }
  .action-tools,.lesson-columns,.expanded-role-grid,.tool-card-grid,.suite-form-grid,.suite-results,.occupancy-summary,.director-grid,.pack-grid,.legal-protection-links,.documentation-grid,.decision-actions { grid-template-columns: 1fr; }
  .role-liability-layout { grid-template-columns: 1fr; }.role-liability-layout > nav { position: static; }.documentation-intro,.legal-protection-rule,.record-integrity-strip { align-items: stretch; flex-direction: column; }.legal-tool-sources ul { grid-template-columns: 1fr; }.decision-checks article { grid-template-columns: 1fr; }
  .legal-card-grid { grid-template-columns: 1fr; }
  .role-path,.other-role-grid { grid-template-columns: 1fr; }
  .role-path { border-radius: 0; margin-top: 24px; padding: 28px 20px; }
  .role-learning-hero { padding: 48px 20px; }
  .role-guide-list > a { align-items: flex-start; grid-template-columns: 1fr auto; }
  .role-guide-list span { grid-column: 1 / -1; }
  .action-tools { margin-bottom: 45px; padding: 0 16px; }
  .tool-page { padding: 38px 16px 60px; }
  .privacy-note { align-items: flex-start; flex-direction: column; gap: 5px; }
  .scorecard-questions fieldset > div { grid-template-columns: 1fr 1fr; }
  .scorecard-scale { grid-template-columns: 1fr; }
  .scorecard-priorities a { align-items: flex-start; flex-direction: column; gap: 5px; }
  .binary-checks article,.certificate-check article { align-items: flex-start; grid-template-columns: 1fr; }
  .role-certificate-cta { align-items: flex-start; flex-direction: column; gap: 8px; }
  .learning-certificate { padding: 26px 16px; }.learning-certificate h2 { font-size: 2rem; }
  .topic-card { min-height: 0; padding: 24px 22px; }
  .topic-mark { margin-bottom: 22px; }
  .topic-card h3 { font-size: clamp(1.22rem, 5.5vw, 1.42rem); }
  .topic-card p { margin-bottom: 18px; }
  .filter-row { gap: 7px; margin-top: 20px; }
  .filter { font-size: .76rem; padding: 8px 11px; }
  .resource-band { gap: 28px; grid-template-columns: 1fr; padding: 52px 22px; }
  .newsletter { grid-template-columns: 1fr; margin: 35px 16px; padding: 30px 22px; }
  .newsletter form { min-width: 0; width: 100%; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 8px; }

  .article-hero { padding: 28px 20px 52px; }
  .breadcrumbs { margin-bottom: 32px; }
  .article-author-row { grid-template-columns: auto 1fr; }
  .article-facts {
    border-top: 1px solid #cfdee6;
    grid-column: 1 / -1;
    padding-top: 12px;
    text-align: left;
  }
  .article-image-wrap { margin-top: -25px; padding: 0 14px; }
  .article-image-wrap img { aspect-ratio: 16 / 9; border-radius: 9px; }
  .article-knowledge-cover { border-radius: 9px; gap: 30px; grid-template-columns: 1fr; min-height: 420px; padding: 34px 24px; }
  .knowledge-cover-copy > small { margin-top: 22px; }
  .knowledge-cover-map { align-self: end; }
  .article-layout { display: block; padding: 5px 20px 65px; }
  .article-aside { display: none; }
  .article-body { font-size: 1rem; line-height: 1.75; }
  .mobile-article-toc { background: #f4f8fa; border: 1px solid #dce8ed; border-radius: 12px; display: block; margin: 20px 0 28px; padding: 0 16px; }
  .mobile-article-toc summary { align-items: center; display: flex; justify-content: space-between; padding: 15px 0; }
  .mobile-article-toc nav { border-top: 1px solid #dce8ed; display: grid; padding: 10px 0 15px; }
  .mobile-article-toc nav a { color: #3c5361; font-size: .78rem; padding: 7px 0; text-decoration: none; }
  .article-visual-guide { margin: 28px 0 38px; padding: 18px; }
  .article-visual-guide header { align-items: flex-start; display: grid; gap: 4px; }
  .article-visual-guide header small { max-width: none; text-align: left; }
  .visual-guide-canvas,.visual-map .visual-guide-canvas { grid-template-columns: 1fr; }
  .visual-guide-canvas::before,.visual-map .visual-guide-canvas::before { bottom: 10%; height: auto; left: 18px; right: auto; top: 8%; width: 2px; }
  .visual-guide-node,.visual-map .visual-guide-node { min-height: 0; padding: 13px 14px 13px 56px; }
  .visual-guide-node i { left: 2px; margin: 0; position: absolute; top: 10px; }
  .article-action-board { grid-template-columns: 1fr; margin: 38px 0; }
  .article-evidence-strip { grid-template-columns: 1fr; }
  .article-evidence-strip nav { grid-template-columns: 1fr; }
  .source-verification { align-items: flex-start; flex-direction: column; gap: 4px; }
  .editorial-method-page { padding: 55px 20px 75px; }
  .editorial-method-grid { grid-template-columns: 1fr; margin-top: 40px; }
  .rhythm-grid { grid-template-columns: 1fr; }
  .fretbox-callout { margin-left: -20px; margin-right: -20px; padding: 28px 20px; }
}

/* Export-only compatibility */
[data-library-card][hidden]{display:none!important}.no-results{text-align:center;padding:30px}.form-status{color:#0b6b50;font-weight:700}.guided-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.guided-options label{background:#f5f7f7;border:1px solid #dce5eb;border-radius:8px;padding:12px}.lesson-toggle{list-style:none}.lesson-toggle::-webkit-details-marker{display:none}@media(max-width:800px){.guided-options{grid-template-columns:1fr 1fr}}