.ks-main {
  --ks-blue: #073a5a;
  --ks-cyan: #0c7189;
  --ks-orange: #b44700;
  --ks-ink: #062b43;
  --ks-soft: #eef5f8;
  background: #f6f9fb;
  color: var(--ks-ink);
}

.ks-hero {
  padding: 168px 0 58px;
  background: linear-gradient(130deg, #05283f, #073a5a 62%, #0e687f);
  color: #fff;
}

.ks-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: clamp(28px, 5vw, 72px); align-items: end; }
.ks-hero h1 { max-width: 820px; margin: 10px 0 22px; color: #fff; font-size: clamp(42px, 5.5vw, 76px); line-height: .98; letter-spacing: -.045em; }
.ks-hero p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.78); font-size: clamp(17px, 1.35vw, 21px); line-height: 1.65; }
.ks-hero-note { padding: 25px; border-left: 4px solid #ff9a55; background: rgba(255,255,255,.08); }
.ks-hero-note strong { display: block; margin-bottom: 8px; color: #fff; font-size: 18px; }
.ks-hero-note p { margin: 0; font-size: 14px !important; }

.ks-proofbar { background: #fff; border-bottom: 1px solid #d8e4ea; }
.ks-proofbar .shell { display: grid; grid-template-columns: repeat(4, 1fr); }
.ks-proofbar span { padding: 18px 16px; border-right: 1px solid #d8e4ea; font-size: 13px; font-weight: 700; }
.ks-proofbar strong { margin-right: 8px; color: var(--ks-orange); }

.ks-app { padding: 44px 0 80px; }
.ks-app-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 420px); grid-template-areas: "toolbar toolbar" "steps steps" "form sidebar"; gap: 28px; align-items: start; }
.ks-toolbar { grid-area: toolbar; display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 20px; border: 1px solid #cfdee6; background: #fff; box-shadow: 0 10px 28px rgba(8,47,70,.06); }
.ks-toolbar-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ks-toolbar button, .ks-cases button, .ks-stepnav button { min-height: 42px; border: 1px solid #aec5d1; background: #fff; color: var(--ks-blue); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.ks-toolbar button { padding: 0 14px; }
.ks-toolbar button:hover, .ks-toolbar button:focus-visible, .ks-cases button:hover, .ks-cases button:focus-visible { border-color: var(--ks-orange); outline: none; }
.ks-save-state { display: flex; align-items: center; gap: 9px; color: #587180; font-size: 12px; }
.ks-save-state::before { width: 9px; height: 9px; border-radius: 50%; background: #22a06b; content: ""; }

.ks-stepnav { grid-area: steps; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; overflow: hidden; border: 1px solid #cfdee6; background: #cfdee6; }
.ks-stepnav button { min-height: 62px; padding: 8px 12px; border: 0; text-align: left; }
.ks-stepnav button span { display: block; color: var(--ks-orange); font-size: 10px; letter-spacing: .11em; }
.ks-stepnav button strong { display: block; margin-top: 4px; font-size: 13px; }

.ks-form { grid-area: form; display: grid; gap: 18px; }
.ks-card { scroll-margin-top: 120px; border: 1px solid #cfdee6; background: #fff; box-shadow: 0 8px 28px rgba(8,47,70,.04); }
.ks-card > header { padding: 24px 26px 18px; border-bottom: 1px solid #dbe7ed; }
.ks-card > header span { color: var(--ks-orange); font-size: 10px; font-weight: 850; letter-spacing: .13em; }
.ks-card > header h2 { margin: 5px 0 5px; color: var(--ks-blue); font-size: clamp(22px, 2.5vw, 30px); }
.ks-card > header p { margin: 0; color: #5b7280; font-size: 14px; line-height: 1.55; }
.ks-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; padding: 24px 26px 28px; }
.ks-field { display: grid; gap: 7px; }
.ks-field--wide { grid-column: 1 / -1; }
.ks-field > span { font-size: 12px; font-weight: 780; }
.ks-field small { color: #617985; font-size: 11px; line-height: 1.45; }
.ks-field input, .ks-field select, .ks-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #a9c1cd; border-radius: 0; background: #fff; color: var(--ks-ink); font: inherit; }
.ks-field textarea { min-height: 110px; resize: vertical; }
.ks-field input:focus, .ks-field select:focus, .ks-field textarea:focus { border-color: var(--ks-orange); box-shadow: 0 0 0 3px rgba(245,121,38,.13); outline: 0; }
.ks-input-unit { position: relative; }
.ks-input-unit input { padding-right: 64px; }
.ks-input-unit span { position: absolute; top: 50%; right: 13px; transform: translateY(-50%); color: #627985; font-size: 12px; font-weight: 700; }
.ks-checks { display: grid; gap: 10px; padding: 24px 26px 28px; }
.ks-check { display: grid; grid-template-columns: 22px 1fr; gap: 11px; align-items: start; padding: 14px; border: 1px solid #d4e1e7; cursor: pointer; }
.ks-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ks-orange); }
.ks-check strong { display: block; font-size: 13px; }
.ks-check small { display: block; margin-top: 4px; color: #5f7784; line-height: 1.45; }

.ks-sidebar { grid-area: sidebar; position: sticky; top: 104px; display: grid; gap: 18px; }
.ks-sidebar-panel { border: 1px solid #c9dbe4; background: #fff; box-shadow: 0 12px 34px rgba(8,47,70,.07); }
.ks-sidebar-panel > header { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 20px; border-bottom: 1px solid #dce7ec; }
.ks-sidebar-panel > header h2 { margin: 0; font-size: 17px; }
.ks-sidebar-panel > header span { color: #647985; font-size: 10px; }
.ks-result-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; }
.ks-result-head > strong { font-size: 12px; }
.ks-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 99px; font-size: 11px; font-weight: 850; }
.ks-status::before { width: 8px; height: 8px; border-radius: 50%; content: ""; }
.ks-status--ok { background: #e4f6ed; color: #146641; }.ks-status--ok::before { background: #20a66c; }
.ks-status--review { background: #fff1df; color: #8d4a13; }.ks-status--review::before { background: #f08a2e; }
.ks-status--stop { background: #fde9e8; color: #92342e; }.ks-status--stop::before { background: #d84c43; }
.ks-metrics { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #e0e9ed; border-bottom: 1px solid #e0e9ed; }
.ks-metrics article { display: grid; gap: 5px; min-height: 96px; padding: 15px 18px; border-right: 1px solid #e0e9ed; border-bottom: 1px solid #e0e9ed; }
.ks-metrics article:nth-child(even) { border-right: 0; }
.ks-metrics span { color: #58717e; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.ks-metrics strong { color: var(--ks-blue); font-size: 20px; }
.ks-metrics small { color: #607986; font-size: 10px; }
.ks-alert { margin: 14px 18px 0; padding: 13px 14px; font-size: 11px; line-height: 1.5; }
.ks-alert ul { margin: 7px 0 0; padding-left: 18px; }
.ks-alert--review { border-left: 3px solid #f08a2e; background: #fff7ed; }.ks-alert--stop { border-left: 3px solid #d84c43; background: #fff1f0; }
.ks-decision-list { display: grid; padding: 12px 18px 18px; }
.ks-decision { display: grid; grid-template-columns: 9px 1fr; gap: 11px; padding: 13px 0; border-bottom: 1px solid #e3ebef; }
.ks-decision:last-child { border-bottom: 0; }
.ks-decision > span { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: #9aadb7; }
.ks-decision--ok > span { background: #20a66c; }.ks-decision--attention > span, .ks-decision--manual > span { background: #f08a2e; }.ks-decision--stop > span { background: #d84c43; }
.ks-decision strong { font-size: 12px; }.ks-decision p { margin: 4px 0; color: #445f6e; font-size: 11px; line-height: 1.48; }.ks-decision small { color: #5d7480; font-size: 9px; }

.ks-cases { display: grid; gap: 7px; padding: 16px; }
.ks-cases button { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; text-align: left; }
.ks-cases button[aria-pressed="true"] { border-color: var(--ks-blue); background: var(--ks-blue); color: #fff; }
.ks-cases button small { opacity: .72; }
.ks-cases .ks-add-case { justify-content: center; border-style: dashed; color: var(--ks-orange); }

.ks-material-sheet { margin: 0 26px 26px; padding: 18px; border: 1px solid #c9dce5; background: linear-gradient(135deg, #f7fbfd, #eef6f9); }
.ks-material-head { display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.ks-material-head > div { display: grid; gap: 3px; }
.ks-material-head > div > span { color: var(--ks-orange); font-size: 9px; font-weight: 850; letter-spacing: .11em; }
.ks-material-head strong { color: var(--ks-blue); font-size: 19px; }
.ks-safety-class { display: inline-grid; place-items: center; min-width: 42px; height: 31px; padding: 0 9px; border: 1px solid #0e86aa; border-radius: 99px; background: #fff; color: var(--ks-blue); font-size: 11px; font-weight: 850; }
.ks-material-sheet > p { margin: 11px 0 14px; color: #496776; font-size: 12px; }
.ks-material-sheet dl, .ks-library-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid #cbdce4; border-left: 1px solid #cbdce4; }
.ks-material-sheet dl div, .ks-library-card dl div { min-width: 0; padding: 9px 10px; border-right: 1px solid #cbdce4; border-bottom: 1px solid #cbdce4; }
.ks-material-sheet dt, .ks-library-card dt { color: #5d7480; font-size: 9px; text-transform: uppercase; letter-spacing: .035em; }
.ks-material-sheet dd, .ks-library-card dd { margin: 3px 0 0; overflow-wrap: anywhere; color: var(--ks-blue); font-size: 11px; font-weight: 760; }
.ks-material-sheet > small { display: block; margin-top: 12px; color: #617985; font-size: 9px; line-height: 1.55; }
.ks-material-sheet a, .ks-library-card a { color: var(--ks-cyan); }

.ks-library, .ks-standards { padding: 72px 0; }
.ks-library { border-top: 1px solid #d7e4ea; background: #fff; }
.ks-standards { background: #edf4f7; }
.ks-library-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: 42px; align-items: end; margin-bottom: 26px; }
.ks-library-intro h2 { margin: 5px 0 12px; color: var(--ks-blue); font-size: clamp(28px, 3.5vw, 45px); }
.ks-library-intro p:not(.eyebrow) { max-width: 820px; margin: 0; color: #536e7c; line-height: 1.65; }
.ks-library-search { display: grid; gap: 7px; }
.ks-library-search span { font-size: 11px; font-weight: 800; }
.ks-library-search input { min-height: 50px; width: 100%; padding: 11px 14px; border: 1px solid #9fbac7; border-radius: 0; background: #fff; color: var(--ks-ink); font: inherit; }
.ks-library-search input:focus { border-color: var(--ks-orange); box-shadow: 0 0 0 3px rgba(245,121,38,.13); outline: 0; }
.ks-library-notice, .ks-copyright-note { display: grid; grid-template-columns: auto 1fr; gap: 18px; margin-bottom: 22px; padding: 16px 18px; border-left: 4px solid var(--ks-orange); background: #f5f9fb; color: #4d6978; font-size: 11px; line-height: 1.55; }
.ks-library-notice strong, .ks-copyright-note strong { color: var(--ks-blue); white-space: nowrap; }
.ks-copyright-note { background: #fff; }
.ks-library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ks-library-card { align-self: start; border: 1px solid #c7d9e2; background: #fff; }
.ks-library-card { content-visibility: auto; contain-intrinsic-size: auto 74px; }
.ks-library-card summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 74px; padding: 14px 16px; cursor: pointer; list-style: none; }
.ks-library-card summary::-webkit-details-marker { display: none; }
.ks-library-card summary > span:first-child { display: grid; gap: 4px; }
.ks-library-card summary strong { color: var(--ks-blue); font-size: 15px; }
.ks-library-card summary small { color: #607986; font-size: 10px; }
.ks-library-card[open] summary { border-bottom: 1px solid #d7e4ea; }
.ks-library-card-body { padding: 16px; }
.ks-library-card-body > p:first-child { margin: 0 0 13px; color: #4f6c79; font-size: 11px; line-height: 1.5; }
.ks-library-links { margin: 13px 0 0; color: #607986; font-size: 10px; line-height: 1.5; }
.ks-empty { grid-column: 1 / -1; margin: 0; padding: 28px; border: 1px dashed #a8bfca; background: #fff; color: #5b7380; text-align: center; }

.ks-standard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ks-standard-card { display: grid; grid-template-rows: auto auto auto 1fr; min-height: 318px; padding: 20px; border-top: 4px solid var(--ks-blue); background: #fff; box-shadow: 0 7px 22px rgba(8,47,70,.04); }
.ks-standard-card { content-visibility: auto; contain-intrinsic-size: auto 318px; }
.ks-standard-card header { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.ks-standard-card header span { color: var(--ks-orange); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.ks-standard-card h3 { margin: 5px 0 0; color: var(--ks-blue); font-size: 16px; line-height: 1.25; }
.ks-standard-card header a { flex: 0 0 auto; color: var(--ks-cyan); font-size: 10px; font-weight: 750; }
.ks-standard-card > p { color: #4f6977; font-size: 11px; line-height: 1.55; }
.ks-regulatory-outlook { display: grid; gap: 5px; margin: 0 0 18px; padding: 13px 15px; border: 1px solid #f0c57a; border-left: 4px solid var(--ks-orange); border-radius: 10px; background: #fff8eb; color: #4e6470; }
.ks-regulatory-outlook strong { color: var(--ks-blue); font-size: 12px; }
.ks-regulatory-outlook span { font-size: 10px; line-height: 1.5; }
.ks-decision--future { border-color: #92b4c3; background: #f0f7fa; }
.ks-decision--future > span { background: var(--ks-cyan); }
.ks-standard-access { display: grid; gap: 3px; margin: 0 0 10px; padding: 9px 10px; border-left: 3px solid var(--ks-cyan); background: #eef8fb; }
.ks-standard-access strong { color: var(--ks-blue); font-size: 10px; }
.ks-standard-access span { color: #426573; font-size: 9px; line-height: 1.35; }
.ks-standard-meta { display: grid; gap: 4px; margin: 6px 0 16px; padding: 11px 0; border-top: 1px solid #dbe6eb; border-bottom: 1px solid #dbe6eb; }
.ks-standard-meta strong { color: var(--ks-blue); font-size: 10px; }
.ks-standard-meta span { color: #5d7480; font-size: 9px; line-height: 1.4; }
.ks-standard-card details { align-self: end; }
.ks-standard-card summary { color: var(--ks-blue); font-size: 11px; font-weight: 800; cursor: pointer; }
.ks-standard-card ul { margin: 10px 0 0; padding-left: 18px; color: #506b78; font-size: 10px; line-height: 1.55; }

.ks-sources { padding: 24px 0 70px; background: #fff; }
.ks-sources-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 52px; }
.ks-sources h2 { margin: 4px 0 12px; font-size: clamp(28px, 3.5vw, 45px); }
.ks-sources-list { display: grid; gap: 10px; }
.ks-sources-list details { border: 1px solid #cbdce4; }
.ks-sources-list summary { padding: 16px 18px; color: var(--ks-blue); font-size: 13px; font-weight: 800; cursor: pointer; }
.ks-sources-list p { margin: 0; padding: 0 18px 17px; color: #58707d; font-size: 12px; line-height: 1.58; }
.ks-sources-list a { color: var(--ks-cyan); }

.ks-report { display: none; }
.ks-report header { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 3px solid var(--ks-blue); }
.ks-report header span { color: var(--ks-orange); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.ks-report h2 { margin: 7px 0; }.ks-report h3 { margin: 24px 0 10px; font-size: 16px; }
.ks-report dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid #ccdce4; }
.ks-report dl div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 12px; padding: 10px 12px; border-bottom: 1px solid #dbe6eb; }
.ks-report dt { color: #5e7682; }.ks-report dd { margin: 0; font-weight: 700; }
.ks-report article { padding: 10px 0; border-bottom: 1px solid #dbe6eb; }.ks-report article p { margin: 4px 0; }
.ks-report footer { margin-top: 26px; padding-top: 14px; border-top: 1px solid #b9cdd7; color: #536b78; font-size: 10px; line-height: 1.5; }

@media (max-width: 980px) {
  .ks-hero-grid, .ks-sources-grid { grid-template-columns: 1fr; }
  .ks-app-layout { grid-template-columns: 1fr; grid-template-areas: "toolbar" "steps" "sidebar" "form"; }
  .ks-sidebar { position: static; }
  .ks-proofbar .shell { grid-template-columns: repeat(2, 1fr); }
  .ks-standard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .ks-hero { padding-top: 126px; }
  .ks-stepnav { grid-template-columns: repeat(2, 1fr); }
  .ks-fields { grid-template-columns: 1fr; padding: 20px 18px; }
  .ks-field--wide { grid-column: auto; }
  .ks-toolbar { align-items: flex-start; flex-direction: column; }
  .ks-proofbar .shell { grid-template-columns: 1fr; }
  .ks-proofbar span { border-bottom: 1px solid #d8e4ea; }
  .ks-material-sheet { margin: 0 18px 20px; }
  .ks-material-sheet dl, .ks-library-card dl, .ks-library-grid, .ks-standard-grid, .ks-library-intro { grid-template-columns: 1fr; }
  .ks-library-notice, .ks-copyright-note { grid-template-columns: 1fr; gap: 5px; }
  .ks-library-notice strong, .ks-copyright-note strong { white-space: normal; }
  .ks-library, .ks-standards { padding: 52px 0; }
}

@media print {
  body.ks-printing .site-header, body.ks-printing .site-footer, body.ks-printing .ks-hero, body.ks-printing .ks-proofbar, body.ks-printing .ks-app, body.ks-printing .ks-library, body.ks-printing .ks-standards, body.ks-printing .ks-sources { display: none !important; }
  body.ks-printing .ks-main { background: #fff; }
  body.ks-printing .ks-report { display: block; padding: 12mm; color: #062b43; font-family: Arial, sans-serif; }
  @page { size: A4; margin: 12mm; }
}
