html, body { margin: 0; padding: 0; background: #fff; }
* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }

body.page-doc a { color: #0f2f4a; text-decoration: underline; text-underline-offset: 2px; }
body.page-doc a:hover { color: #16704f; }
body.page-doc [data-chrome] a { color: inherit; text-decoration: none; }
body.page-doc [data-chrome] a:hover { text-decoration: underline; }

summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }

[data-nav-desktop] { display: flex; align-items: center; gap: 30px; }
@media (max-width: 1100px) { [data-nav-desktop] { display: none; } }

[data-hero-bg] {
  position: relative;
  background-image:
    linear-gradient(rgba(255,255,255,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px);
  background-size: 46px 46px, 46px 46px;
  background-position: center top;
}
[data-hero-bg] > * { position: relative; z-index: 1; }

[data-r="hero"] > div { min-width: 0; }
@media (max-width: 1100px) {
  [data-r="hero"] { grid-template-columns: 1fr !important; gap: 32px !important; }
  [data-r="hero"] > div:last-child { padding: 0 0 48px !important; min-height: 0 !important; }
}

@media (max-width: 900px) {
  [data-r="two"], [data-r="split"], [data-r="hero"] { grid-template-columns: 1fr !important; gap: 32px !important; }
  [data-r="four"] { grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
  [data-r="footer"] { grid-template-columns: 1fr 1fr !important; gap: 34px !important; }
  [data-r="split"] > div:first-child { border-right: none !important; padding: 56px 0 24px !important; }
  [data-r="split"] > div:last-child { padding: 0 0 56px !important; }
  [data-r="hero"] > div:last-child { padding: 0 0 48px !important; min-height: 0 !important; }
}

@media (max-width: 720px) {
  [data-sec] { padding-left: 22px !important; padding-right: 22px !important; }
  [data-navrow] { gap: 10px !important; }
  [data-navrow] > div { gap: 10px !important; }
  [data-logo-sub] { display: none !important; }
  [data-wordmark] { font-size: 18px !important; }
  [data-logo-img] { width: 34px !important; height: 34px !important; }
  [data-cta-top] { padding: 10px 14px !important; font-size: 14px !important; }
  [data-cta-top] > i { display: none !important; }
  [data-r="three"], [data-r="four"], [data-r="footer"] { grid-template-columns: 1fr !important; gap: 18px !important; }
  [data-r="callout"] { grid-template-columns: 1fr !important; gap: 14px !important; padding: 26px 24px !important; }
  [data-r="row"] { grid-template-columns: 1fr auto !important; gap: 8px 12px !important; }
  [data-r="row"] > *:nth-child(2) { display: none; }
  [data-r="row"] > *:nth-child(3) { grid-column: 1 / -1; }
  [data-r="rowhead"] { grid-template-columns: 1fr auto !important; }
  [data-r="rowhead"] > *:nth-child(2), [data-r="rowhead"] > *:nth-child(3) { display: none; }
  [data-r="stat3"] { grid-template-columns: 1fr !important; gap: 8px !important; }
  [data-h1] { font-size: 38px !important; }
  [data-h2] { font-size: 29px !important; }
  [data-quote] { font-size: 24px !important; }
  [data-lead] { font-size: 17px !important; }
  [data-cta-row] { flex-direction: column !important; align-items: stretch !important; }
  [data-cta-row] > a { text-align: center; }
  [data-footbar] { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
}

@media (max-width: 900px) {
  [data-r="hero-card"] { grid-template-columns: 1fr !important; gap: 20px !important; }
  [data-r="hero-card"] > div:first-child { align-items: flex-start !important; }
}

/* showError / showInfo */
#msgLayer { position: fixed; inset: 0; z-index: 9000; pointer-events: none; }
#msgLayer .msgBox {
  position: absolute; left: 50%; width: 100%; max-width: 500px;
  min-height: 100px; box-sizing: border-box;
  display: grid; grid-template-columns: 60px 1fr; grid-template-rows: 1fr auto;
  gap: 4px 18px; align-items: center;
  padding: 22px 25px 14px; border-radius: 12px;
  font-family: 'IBM Plex Sans', Helvetica, sans-serif;
  box-shadow: 0 22px 60px rgba(8,36,58,0.34);
  pointer-events: auto; opacity: 0; transition: opacity 0.25s ease, transform 0.25s ease;
}
#msgLayer .msgBox > .msgIcon { grid-row: 1; font-size: 50px; line-height: 1; text-align: center; }
#msgLayer .msgBox > .msgText { grid-row: 1; font-size: 17px; line-height: 1.55; }
#msgLayer .msgBox > .msgClose {
  grid-column: 1 / -1; grid-row: 2; justify-self: stretch;
  margin-top: 10px; padding: 12px 18px; border: 0; border-radius: 8px;
  font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
#msgLayer .msgBox > .msgClose:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(8,36,58,0.22); }
#msgLayer .msgError {
  bottom: 34px; transform: translate(-50%, 14px);
  background: #fff; border-left: 4px solid #b3352f;
  margin: 0 25px; width: calc(100% - 50px);
}
#msgLayer .msgError > .msgIcon { color: #b3352f; }
#msgLayer .msgError > .msgText { color: #0f2f4a; }
#msgLayer .msgError > .msgClose { background: #b3352f; color: #fff; }
#msgLayer .msgInfo {
  top: 50%; transform: translate(-50%, calc(-50% + 14px));
  background: #0f2f4a; border-left: 4px solid #5cbb96;
  margin: 0 25px; width: calc(100% - 50px);
}
#msgLayer .msgInfo > .msgIcon { color: #5cbb96; }
#msgLayer .msgInfo > .msgText { color: #fff; }
#msgLayer .msgInfo > .msgClose { background: #5cbb96; color: #08243a; }
#msgLayer .msgError.msgShow { opacity: 1; transform: translate(-50%, 0); }
#msgLayer .msgInfo.msgShow { opacity: 1; transform: translate(-50%, -50%); }
