
:root{color-scheme:light;--ink:#16283d;--muted:#57677a;--line:#e1e7ed;--bg:#f6f8fa;--red:#b43445;--navy:#10243b;--teal:#177a75}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}a{color:inherit}button,input{font:inherit}button{cursor:pointer}.skip{position:absolute;top:-100px;left:10px;background:white;padding:12px;z-index:30}.skip:focus{top:10px}.shell{max-width:1140px;margin:auto;padding:0 24px}.top{background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.navrow{height:76px;display:flex;align-items:center;gap:28px}.logo{font-size:22px;font-weight:800;text-decoration:none;letter-spacing:-.8px}.logo span{color:var(--teal)}nav{display:flex;gap:24px;margin-left:auto;align-items:center}nav a{text-decoration:none;color:#304459;font-size:14px;font-weight:600}nav a:hover,nav a:focus{color:var(--teal)}.urgent{background:var(--red);border:0;border-radius:9px;color:white;padding:11px 16px;font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap}.mobilemenu{display:none;background:transparent;border:1px solid var(--line);border-radius:9px;padding:9px 12px}.hero{background:var(--navy);color:white;padding:82px 0 74px}.hero .shell{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;gap:72px}.eyebrow{color:#82d5c8;font-size:12px;font-weight:800;letter-spacing:1.9px;text-transform:uppercase}h1{font-size:clamp(36px,5vw,62px);line-height:1.12;letter-spacing:-2px;margin:18px 0 22px;max-width:650px}h2{font-size:clamp(27px,3vw,36px);letter-spacing:-1px;line-height:1.2;margin:0 0 12px}h3{font-size:19px;margin:0 0 9px;line-height:1.3}.lead{color:#ccd7e1;font-size:18px;max-width:570px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{border-radius:10px;padding:13px 20px;text-decoration:none;font-weight:750;display:inline-block;border:1px solid transparent}.btn.primary{background:#f9fbfc;color:#10243b}.btn.secondary{border-color:#7d8fa2;color:white}.heroaside{border:1px solid #526579;border-radius:16px;padding:24px;background:#1a3047}.heroaside .small{color:#a8bac9}.heroaside strong{font-size:23px}.heroaside p{margin:8px 0 20px;color:#d0dbe5}.heroaside a{display:block;color:white;text-decoration:none;border-top:1px solid #40546c;padding:14px 0;font-weight:650}.heroaside a:last-child{padding-bottom:0}.section{padding:70px 0}.sectionintro{max-width:740px;margin-bottom:28px}.sectionintro p,.subtle{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tile{background:white;border:1px solid var(--line);border-radius:13px;padding:24px;min-height:142px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .15s,transform .15s}.tile:hover{border-color:#7dbab0;transform:translateY(-2px)}.arrow{font-size:22px;color:var(--teal);align-self:flex-end}.light{background:white;border-block:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.step{padding:22px;background:#f5f8fa;border:1px solid var(--line);border-radius:12px}.step .number{color:var(--teal);font-weight:800;font-size:13px;margin-bottom:14px}.step p{margin-bottom:0;color:var(--muted)}.platforms{display:flex;flex-wrap:wrap;gap:10px}.chip{background:white;border:1px solid var(--line);border-radius:9px;padding:11px 16px;font-weight:650;color:var(--ink);text-decoration:none}.chip:hover{border-color:var(--teal)}.resources{display:grid;grid-template-columns:1fr 1fr;gap:16px}.resource{background:white;border-radius:12px;border:1px solid var(--line);padding:22px}.resource p{color:var(--muted)}.resource a{color:#116d68;font-weight:700}.mutednote{margin-top:18px;color:var(--muted);font-size:13px}.footer{background:#0c1d30;color:#c9d5dd;padding:38px 0}.footer .shell{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer a{color:inherit}.footer small{max-width:600px}dialog{border:0;border-radius:17px;padding:0;width:min(540px,calc(100% - 30px));box-shadow:0 20px 90px #0007}dialog::backdrop{background:#0c1d30a9}.modal{padding:28px}.modal h2{font-size:27px}.modal p{color:var(--muted)}.modal a{display:block;padding:14px;border-radius:10px;text-align:center;margin:12px 0;text-decoration:none;font-weight:800;border:1px solid var(--line)}.modal .red{background:var(--red);color:white}.close{float:right;background:none;border:0;font-size:25px}.searchbox{max-width:580px;background:white;border:1px solid var(--line);border-radius:11px;display:flex;padding:6px;margin-top:20px}.searchbox input{min-width:0;flex:1;border:0;padding:10px;outline-offset:4px}.searchbox button{background:var(--navy);color:white;border:0;border-radius:8px;padding:8px 17px}.feedback{font-size:14px;color:#446075;margin-top:9px;min-height:20px} :focus-visible{outline:3px solid #116d68;outline-offset:3px}
@media(max-width:900px){.hero .shell{grid-template-columns:1fr;gap:32px}.hero{padding:56px 0}.grid{grid-template-columns:repeat(2,1fr)}.navrow{height:67px}.mobilemenu{display:block;margin-left:auto}nav{display:none;position:absolute;top:67px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:20px 24px;flex-direction:column;align-items:stretch;gap:16px}nav.open{display:flex}.urgent{margin-left:0}.steps{grid-template-columns:1fr}}@media(max-width:600px){.shell{padding:0 18px}h1{letter-spacing:-1.4px}.section{padding:52px 0}.grid,.resources{grid-template-columns:1fr}.tile{min-height:110px}.heroaside{padding:20px}.urgent{padding:10px;font-size:12px}.logo{font-size:19px}.actions .btn{width:100%;text-align:center}}

[hidden]{display:none!important}[id]{scroll-margin-top:92px}
.section .eyebrow{color:#116d68}.hero{padding-block:65px}.hero .shell{gap:48px}
.heroaside h2{margin-top:7px}.section{padding-block:54px}
.tile{min-height:86px;justify-content:center}.tile h3{margin:0}
.resource a{display:block;margin-top:12px}.close{width:44px;height:44px;margin:-12px -10px 0 8px}
.mobilemenu,.urgent,.searchbox button{min-height:44px}
nav a:hover,nav a:focus-visible,.heroaside a:hover,.heroaside a:focus-visible{text-decoration:underline}
@media(max-width:1050px){
.navrow{height:67px;gap:12px}.mobilemenu{display:block;margin-left:auto}
nav{display:none;position:absolute;top:67px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:12px 24px;flex-direction:column;align-items:stretch;gap:0}
nav.open{display:flex}nav a{padding:10px 0}}
@media(max-width:900px){.hero{padding-block:48px}.hero .shell{gap:28px}}
@media(max-width:600px){.section{padding-block:38px}.hero{padding-block:36px}.lead{font-size:17px}.navrow{gap:8px;padding-inline:12px}.mobilemenu{padding-inline:8px;font-size:14px}.tile{min-height:68px;padding:16px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile{transition:none}}

.library-intro { margin-bottom: 18px; }
.guide-grid { margin-top: 12px; }
.guide-grid .tile { min-height: 108px; }
.tile p { margin: 8px 0 0; color: var(--muted); font-size: .91rem; }
.tile:hover h3, .tile:focus-visible h3 { text-decoration: underline; }
.guide-hero { background: var(--navy); color: white; padding: 38px 0 42px; }
.guide-hero h1 { max-width: 900px; margin: 12px 0 16px; }
.guide-hero .lead { margin-block: 0 14px; max-width: 690px; }
.breadcrumb { font-size: .92rem; color: #b6d5df; }
.breadcrumb a { text-underline-offset: 3px; }
.revision { color: #c2d1df; font-size: .86rem; margin: 0; }
.guide-layout { display: grid; grid-template-columns: 220px minmax(0, 735px); gap: clamp(24px, 5vw, 64px); align-items: start; padding-block: 34px 50px; }
.guide-index { position: sticky; top: 98px; border-left: 2px solid #c9d9e2; padding-left: 16px; }
.guide-index p { margin: 0 0 8px; font-weight: 750; }
.guide-index ul { list-style: none; padding: 0; margin: 0; }
.guide-index a { display: block; padding: 7px 0; color: #116d68; text-underline-offset: 3px; }
.guide-body { min-width: 0; }
.guide-body section { padding: 25px 0; border-bottom: 1px solid var(--line); }
.guide-body section:first-of-type { padding-top: 20px; }
.guide-body h2 { font-size: clamp(24px, 3.5vw, 31px); }
.guide-body h3 { font-size: 17px; margin-top: 18px; }
.guide-body p, .guide-body ul, .guide-body ol { margin-block: 9px; }
.guide-body ul, .guide-body ol { padding-inline-start: 23px; }
.guide-body li + li { margin-top: 8px; }
.guide-body a { color: #116d68; text-underline-offset: 3px; overflow-wrap: anywhere; }
.guide-body .notice { border-left: 4px solid var(--teal); background: #eaf4f2; border-radius: 0 9px 9px 0; padding: 13px 16px; margin: 0; }
.guide-body .urgent-notice { border-color: var(--red); background: #f9e9ec; }
.guide-body .urgent-notice a { color: #8b2634; }
.case { margin: 0; padding: 15px 18px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.case + .case { margin-top: 10px; }
.case p { margin: 0 0 5px; }
.case cite { font-size: .9rem; font-style: normal; }
.related { margin-top: 22px; }
.related h2 { font-size: 22px; }
.related ul { padding-left: 20px; }
.searchbox input { font-size: 16px; border-radius: 6px; }
.no-script-note { margin-top: 8px; color: var(--muted); }
@media (min-width: 901px) { .resources { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) {
  .guide-layout { display: block; padding-top: 24px; }
  .guide-index { position: static; border-left: 0; padding: 13px 16px; background: white; border: 1px solid var(--line); border-radius: 10px; margin-bottom: 18px; }
  .guide-index ul { display: flex; flex-wrap: wrap; column-gap: 16px; }
  .guide-index a { display: flex; align-items: center; min-height: 44px; padding-block: 4px; }
}
@media (max-width: 600px) {
  .guide-hero { padding-block: 24px; }
  .guide-hero h1 { font-size: clamp(31px, 8vw, 42px); }
  .guide-grid .tile { min-height: 80px; }
  .guide-body section { padding-block: 20px; }
}

.action-shell { max-width: 1010px; padding-block: 26px 48px; }
.action-emergency {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
  padding: 13px 18px;
  margin-bottom: 24px;
  background: #f9e9ec;
  border-left: 4px solid var(--red);
  border-radius: 0 10px 10px 0;
}
.action-emergency p { margin: 0; }
.action-emergency .urgent { display: inline-flex; align-items: center; }
.action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  list-style: none;
}
.action-grid a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  height: 100%;
  min-height: 68px;
  padding: 10px 14px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 9px;
  text-decoration: none;
}
.action-grid a:hover { border-color: var(--teal); }
.action-grid a:hover strong, .action-grid a:focus-visible strong { text-decoration: underline; }
.action-grid span { color: var(--muted); font-size: .87rem; }
.action-body { max-width: 760px; margin-top: 13px; }
.action-body section { padding-block: 26px; }
.action-body .action-sources, .action-note { color: var(--muted); font-size: .91rem; }
.action-options { margin-block: 14px; }
.action-options div { border-bottom: 1px solid var(--line); padding-block: 10px; }
.action-options dt { font-weight: 750; }
.action-options dd { margin: 3px 0 0; }
.action-details {
  padding-inline: 14px;
  margin-block: 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
}
.action-details summary {
  padding-block: 11px;
  min-height: 44px;
  font-weight: 750;
  cursor: pointer;
}
.action-details[open] { padding-bottom: 10px; }
.action-details summary::marker { color: var(--teal); }
.chronology label { display: block; margin: 12px 0 5px; font-weight: 650; }
.chronology textarea {
  width: 100%;
  min-height: 210px;
  padding: 10px;
  resize: vertical;
  border: 1px solid #aebdc9;
  border-radius: 6px;
  background: var(--bg);
  color: var(--ink);
  font: inherit;
}
.chronology-actions, .action-end { display: flex; align-items: center; gap: 8px 18px; flex-wrap: wrap; }
.chronology-actions button {
  min-height: 44px;
  padding: 8px 14px;
  border: 0;
  border-radius: 8px;
  background: var(--navy);
  color: white;
  font-weight: 700;
}
.guide-body .action-end { margin-top: 22px; }
@media (max-width: 710px) {
  .action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 440px) {
  .action-grid { grid-template-columns: 1fr; gap: 7px; }
  .action-grid a { min-height: 58px; padding-block: 7px; }
  .action-emergency { align-items: flex-start; flex-direction: column; }
}
html:has(.action-center) { scroll-behavior: auto; }

.platform-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin-block: 19px 12px;
}
.platform-controls label { display: grid; gap: 5px; min-width: 0; font-weight: 650; }
.platform-controls label:first-child { flex: 1 1 250px; }
.platform-controls label:nth-child(2) { flex: 0 1 240px; }
.platform-controls input, .platform-controls select, .platform-controls button {
  min-height: 44px;
  padding: 7px 12px;
  border: 1px solid #adbcc8;
  border-radius: 8px;
  background: white;
  color: var(--ink);
  font: inherit;
}
.platform-controls button { font-weight: 700; }
.platform-count, .platform-card span { color: var(--muted); font-size: .92rem; }
.platform-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0 22px;
  padding: 0;
  list-style: none;
}
.platform-card a {
  display: flex;
  min-height: 76px;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 12px 16px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 10px;
  text-decoration: none;
}
.platform-card a:hover, .platform-card a:focus-visible { border-color: var(--teal); }
.platform-card a:hover strong, .platform-card a:focus-visible strong { text-decoration: underline; }
.platform-guide .action-body { margin-top: 0; }
.platform-guide .platform-limit {
  margin-block: 8px;
  color: #6b4a11;
  font-size: .9rem;
  font-weight: 700;
}
html:has(.platform-guide) { scroll-behavior: auto; }
@media (max-width: 720px) {
  .platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 470px) {
  .platform-controls label:first-child { flex-basis: 100%; }
  .platform-controls label:nth-child(2) { flex: 1 1 160px; }
  .platform-grid { gap: 8px; }
  .platform-card a { min-height: 64px; padding: 9px 11px; }
}

html:has(.assistant) { scroll-behavior: auto; }
.assistant-shell { max-width: 890px; }
.assistant .guide-hero h1 { margin-top: 0; }
.assistant .guide-hero .lead { margin-bottom: 0; }
.assistant-main { padding-block: 24px 52px; }
.assistant-panel {
  padding: clamp(16px, 4vw, 30px);
  background: white;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.assistant-progress {
  display: grid;
  gap: 7px;
  margin-bottom: 22px;
  color: var(--muted);
  font-size: .9rem;
}
.assistant-progress progress { width: 100%; height: 8px; accent-color: var(--teal); }
.assistant-panel h2 { font-size: clamp(25px, 4vw, 35px); }
.assistant-panel h2:focus { outline: none; }
.assistant-detail, .assistant-privacy, .assistant-choice small { color: var(--muted); }
.assistant-choices {
  display: grid;
  gap: 8px;
  margin-block: 15px;
}
.assistant-choices-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.assistant-choice, .assistant-panel select {
  width: 100%;
  min-height: 52px;
  border: 1px solid #b6c5cf;
  border-radius: 9px;
  background: white;
  color: var(--ink);
  font: inherit;
}
.assistant-choice {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 13px;
  text-align: left;
  cursor: pointer;
}
.assistant-choice-text { display: grid; gap: 3px; }
.assistant-choice input { flex: 0 0 auto; width: 19px; height: 19px; margin: 0; accent-color: var(--teal); }
.assistant-choice:hover, .assistant-choice.selected, .assistant-choice:has(:checked) {
  border-color: var(--teal);
  background: #edf7f4;
}
.assistant-choice:focus-within { outline-offset: 3px; }
.assistant-panel label[for] { display: block; margin-top: 14px; font-weight: 700; }
.assistant-panel select { display: block; margin-block: 5px 12px; padding-inline: 11px; }
.assistant-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding-top: 12px;
  margin-top: 16px;
  border-top: 1px solid var(--line);
}
.assistant-controls button, .assistant-controls a, .assistant-primary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font: inherit;
  font-weight: 650;
}
.assistant-controls button { padding: 4px 0; border: 0; background: transparent; color: #116d68; text-decoration: underline; }
.assistant-primary {
  border: 0;
  border-radius: 8px;
  background: var(--navy);
  color: white;
  padding: 7px 14px;
}
.assistant-primary:disabled { opacity: .55; cursor: default; }
.assistant-panel a { color: #116d68; overflow-wrap: anywhere; text-underline-offset: 3px; }
.assistant-panel .assistant-call { display: inline-flex; align-items: center; color: white; }
.assistant-alert {
  padding: 16px;
  border-left: 4px solid var(--red);
  background: #f9e9ec;
  border-radius: 0 9px 9px 0;
  margin-bottom: 12px;
}
.assistant-alert p, .assistant-result-section p { margin-block: 7px 11px; }
.assistant-result-section { border-bottom: 1px solid var(--line); padding-block: 13px; }
.assistant-result-section h3 { margin: 0 0 4px; }
.assistant-result-section ol, .assistant-result-section ul, .assistant-result-detail ul { padding-left: 22px; margin-block: 7px; }
.assistant-result-section li + li { margin-top: 5px; }
.assistant-result-detail, .assistant-privacy { margin-top: 14px; }
.assistant-result-detail summary, .assistant-privacy summary { cursor: pointer; padding-block: 9px; font-weight: 700; }
.assistant-summary { display: grid; grid-template-columns: auto 1fr; gap: 5px 13px; }
.assistant-summary dt { font-weight: 650; }
.assistant-summary dd { margin: 0; }
@media (max-width: 560px) {
  .assistant-main { padding-block: 16px 34px; }
  .assistant-choices-grid { grid-template-columns: 1fr; }
  .assistant-primary { justify-content: center; width: 100%; }
  .assistant-summary { display: block; }
  .assistant-summary dd + dt { margin-top: 8px; }
}
.assistant-result-situation { margin-block: 8px; font-weight: 700; }

html:has(.tools-page) { scroll-behavior: auto; }
.tools-shell { max-width: 1000px; padding-block: 22px 54px; }
.tools-page .guide-hero h1 { margin-top: 0; }
.tools-page .guide-hero .lead { margin-bottom: 0; }
.tools-page a { text-underline-offset: 3px; }
.tools-index {
  display: flex; flex-wrap: wrap; gap: 8px;
  list-style: none; padding: 0; margin: 0 0 20px;
}
.tools-index a, .tools-buttons a {
  display: inline-flex; align-items: center; min-height: 44px;
  color: #116d68; font-weight: 700;
}
.tools-index a { border: 1px solid var(--line); border-radius: 8px; background: white; padding: 5px 12px; }
.tools-privacy, .tools-export {
  border: 1px solid #cbdedb; border-radius: 10px;
  padding: clamp(14px, 3vw, 22px); background: #edf7f4;
}
.tools-privacy h2 { font-size: 24px; }
.tools-privacy p, .tools-export p { margin: 8px 0; }
.tools-muted { font-size: .92rem; color: var(--muted); }
.tools-section { padding-block: 28px; border-bottom: 1px solid var(--line); }
.tools-section h3 { margin: 10px 0 6px; }
.tools-section form { margin-block: 17px; padding: clamp(13px, 3vw, 22px); background: white; border: 1px solid var(--line); border-radius: 10px; }
.tools-section form h3 { margin-top: 0; }
.tools-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px 14px; }
.tools-wide { grid-column: 1 / -1; }
.tools-section label { font-weight: 650; }
.tools-section label small { font-weight: 400; }
.tools-section input:not([type=checkbox]), .tools-section select, .tools-section textarea {
  display: block; width: 100%; min-width: 0; min-height: 44px; margin-top: 5px;
  padding: 8px 10px; border: 1px solid #adbeca; border-radius: 7px;
  color: var(--ink); background: white; font: inherit; font-weight: 400;
}
.tools-section textarea { resize: vertical; }
.tools-section .action-details .tools-fields { padding-bottom: 5px; }
.tools-check { display: flex; align-items: flex-start; gap: 9px; padding-block: 8px; min-height: 44px; }
.tools-check input { margin: 3px 0 0; width: 19px; height: 19px; flex: 0 0 auto; accent-color: var(--teal); }
.tools-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-top: 10px; }
.tools-primary, .tools-secondary {
  min-height: 44px; border: 1px solid transparent; border-radius: 8px;
  padding: 7px 12px; font: inherit; font-weight: 700;
}
.tools-primary { background: var(--navy); color: white; }
.tools-secondary { background: white; border-color: #bdcbd4; color: var(--ink); }
.tools-primary:disabled { opacity: .55; cursor: default; }
.tools-list-heading { display: flex; align-items: end; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.tools-records, .tools-timeline { list-style: none; padding: 0; }
.tools-record { padding: 12px 14px; background: white; border: 1px solid var(--line); border-radius: 8px; margin-bottom: 8px; overflow-wrap: anywhere; }
.tools-record p { margin: 4px 0; color: var(--muted); }
.tools-record .tools-buttons { margin-top: 4px; }
.tools-timeline { padding-left: 12px; border-left: 2px solid #8fb9b3; }
.tools-timeline:empty { border: 0; padding-left: 0; }
.tools-user-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.tools-personal { background: var(--bg); padding: 9px; border-radius: 6px; }
.tools-checklists { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.tools-checklist { border: 1px solid var(--line); border-radius: 9px; background: white; padding: 10px 14px; }
.tools-checklist label { font-weight: 400; }
#incident-error { color: #972d3c; }
#document-model { max-width: 100%; }
.tools-offline-header .navrow { justify-content: space-between; }
@media (max-width: 630px) {
  .tools-fields, .tools-checklists { grid-template-columns: 1fr; }
  .tools-section { padding-block: 23px; }
  .tools-list-heading { align-items: flex-start; flex-direction: column; }
}


/* Keep focused controls clear of the persistent header. */
html { scroll-padding-top: 84px; }
[id] { scroll-margin-top: 12px; }
.hero :focus-visible, .guide-hero :focus-visible { outline-color: #82d5c8; }
.assistant-panel h2:focus-visible { outline: 3px solid #116d68; }
.platform-controls input, .platform-controls select, .platform-controls button,
.tools-section input:not([type=checkbox]), .tools-section select, .tools-section textarea,
.tools-secondary, .assistant-choice, .assistant-panel select, .chronology textarea,
.mobilemenu, .searchbox { border-color: #778999; }
.chip, .heroaside a { display: inline-flex; align-items: center; min-height: 44px; }
.heroaside a { display: flex; }
.heroaside a:last-child { padding-bottom: 12px; }
@media (max-width: 1050px) {
  nav.open { max-height: calc(100vh - 67px); max-height: calc(100dvh - 67px); overflow-y: auto; }
  nav a { min-height: 44px; }
  html:not(.nav-enhanced) .top:not(.tools-offline-header) { position: static; }
  html:not(.nav-enhanced) .top:not(.tools-offline-header) .navrow { flex-wrap: wrap; height: auto; padding-block: 10px; }
  html:not(.nav-enhanced) nav { position: static; display: flex; flex: 1 0 100%; order: 1; padding: 0; border: 0; }
  html:not(.nav-enhanced) .top:not(.tools-offline-header) .urgent { margin-left: auto; }
}
@media (max-width: 360px) {
  .platform-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 360px) {
  .navrow { gap: 5px; padding-inline: 8px; }
  .navrow .logo { font-size: 17px; }
  .navrow .mobilemenu { padding-inline: 7px; }
  .navrow .urgent { padding-inline: 7px; }
}

.home > section { scroll-margin-top: 85px; }
.home .shell { max-width: 1240px; }

.home .hero {
  padding-block: clamp(28px, 5vw, 68px);
  background: linear-gradient(110deg, #10243b, #173b52);
}
.home .hero .shell {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 72px);
}
.home-kicker {
  margin: 0 0 12px;
  color: #a4e5df;
  font-size: 15px;
  font-weight: 700;
}
.home .hero h1 { margin: 0 0 14px; }
.home .hero .lead { margin: 0; }
.home .hero .actions { margin-top: 20px; }
.home .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
.home .btn.primary { background: #40d1cd; color: #10243b; }
.home .btn.primary:hover { background: #79e2df; }
.home .btn.secondary:hover { background: #ffffff14; }
.home-support { display: grid; gap: 8px; }
.home-support a {
  display: grid;
  gap: 2px;
  padding: 12px 16px;
  border: 1px solid #7698aa;
  border-radius: 10px;
  text-decoration: none;
  background: #10243b60;
}
.home-support a:hover { background: #ffffff14; }
.home-support strong { font-size: 28px; line-height: 1.1; }
.home-support span { color: #d6e5ee; font-size: 14px; }
.home-support .home-support-label { color: white; font-weight: 750; }
.home-support .home-emergency { background: #be2438; border-color: #ed8090; }
.home-support .home-emergency:hover { background: #93273a; }
.home-support .home-emergency span { color: white; }

.home-start { background: #f2f6fa; }
.home-start .sectionintro { margin-bottom: 20px; }
.home-situations, .home-profile-grid { display: grid; gap: 12px; }
.home-situations { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-situations .tile { min-height: 0; padding: 16px; border-color: #cfdee9; }
.home-situations .tile:hover { border-color: var(--teal); }
.home-situations .tile h3 { font-size: 17px; }
.home-situations .tile p { margin: 0; }

.home-orient { background: #e6f4f3; }
.home-orient .shell { display: flex; align-items: center; justify-content: space-between; gap: 18px 32px; }
.home-orient p { max-width: 64ch; margin: 0; }
.home-orient .btn { flex-shrink: 0; }

.home-steps { background: #f2f6fa; }
.home-step-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
}
.home-step-list li { list-style: none; border-top: 2px solid #bacddb; padding-top: 14px; }
.home-step-list h3 { font-size: 17px; }
.home-step-list a { text-underline-offset: 3px; }
.home-step-list p { margin: 0; color: var(--muted); font-size: 15px; }
.home-links { display: flex; flex-wrap: wrap; gap: 0 24px; margin-top: 8px; }
.home-links a { display: inline-flex; align-items: center; min-height: 44px; color: #11655f; font-weight: 650; }
.home-profile-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-profiles { border-top: 1px solid #c9dae6; margin-top: 16px; padding-top: 20px; }
.home-profiles h2 { font-size: 22px; letter-spacing: -.3px; }

.home-help { background: #eef3f8; }
.home-emergency-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid #e4abb3;
  border-radius: 12px;
  background: #fff0f2;
  color: #741d2e;
}
.home-emergency-banner p { margin: 0; }
.home-emergency-banner .btn { flex-shrink: 0; background: #aa2e42; color: white; }
.home-emergency-banner .btn:hover { background: #93273a; }
.home-help .resource { display: flex; flex-direction: column; }
.home-help .resource-actions { display: grid; justify-items: start; margin-top: auto; }
.home-help .resource-actions a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }

.home-library { background: white; }
.home-library .library-intro {
  max-width: none;
  padding: 20px 24px;
  border: 1px solid #cfdee9;
  border-radius: 12px;
  background: #edf5fb;
}
.home-library .feedback { min-height: 0; }
.home-library .feedback:empty { margin-top: 0; }
.home-library h4 { font-size: 18px; line-height: 1.3; margin: 0; }
.home-library #platform-guides-title { margin-top: 24px; }
.home-library #guias-por-plataforma .chip { border-color: #bacddb; }
.home-library #guias-por-plataforma .chip:hover { border-color: var(--teal); }
.home #plataformas, .home #incibe { scroll-margin-top: 85px; }

@media (max-width: 900px) {
  .home .hero .shell { grid-template-columns: 1fr; }
  .home-support { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-situations, .home-step-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .home-profile-grid, .home-step-list { grid-template-columns: 1fr; }
  .home-support { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-support a:last-child { grid-column: 1 / -1; }
  .home-support a { padding: 10px 12px; }
  .home-orient .shell, .home-emergency-banner { flex-direction: column; align-items: flex-start; }
  .home-library .library-intro { padding: 16px; }
}
@media (max-width: 380px) {
  .home-situations { grid-template-columns: 1fr; }
}
