/* Public-site styles stay separate from workspace density and appearance controls. */
#loginScreen {
  color: #121827;
  background: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  letter-spacing: 0;
}

#loginScreen .sentinel-site-header {
  gap: 22px;
  background: rgba(9, 15, 30, 0.97);
}

#loginScreen .sentinel-site-brand strong { font-size: 18px; }
#loginScreen .sentinel-site-brand small { font-size: 12px; }
#loginScreen .sentinel-site-nav { gap: 20px; scrollbar-width: thin; scrollbar-color: #8194b9 #121827; }
#loginScreen .sentinel-site-nav a,
#loginScreen .sentinel-site-signin { font-size: 14px; white-space: nowrap; }

#loginScreen .sentinel-hero {
  min-height: min(660px, calc(100svh - 176px));
  padding-top: 122px;
  padding-bottom: 64px;
}

#loginScreen .sentinel-hero-content { width: min(790px, 100%); }
#loginScreen .sentinel-hero::before { background: rgba(6, 10, 24, 0.82); }
#loginScreen .sentinel-hero h1 { max-width: none; font-size: 76px; line-height: 1.08; }
#loginScreen .sentinel-hero-lede { max-width: 680px; font-size: 21px; line-height: 1.6; }
#loginScreen .sentinel-kicker,
#loginScreen .sentinel-section-label { font-size: 13px; line-height: 1.5; }
#loginScreen .sentinel-kicker { max-width: 680px; }
#loginScreen .sentinel-section-label { color: #275dc5; }
#loginScreen .sentinel-cta { min-height: 48px; padding: 10px 20px; font-size: 16px; }
#loginScreen .sentinel-cta.primary { background: #2563eb; border-color: #2563eb; color: #fff; }
#loginScreen .sentinel-cta.primary:hover { background: #1d4ed8; border-color: #1d4ed8; }
#loginScreen .sentinel-suite-rail { max-width: 740px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
#loginScreen .sentinel-suite-rail span { display: grid; grid-template-columns: 1fr; gap: 5px; font-size: 13px; font-weight: 400; }
#loginScreen .sentinel-suite-rail b { font-size: 15px; color: #a7c6ff; }

#loginScreen .sentinel-marketing-site h2 {
  font-size: 42px;
  line-height: 1.16;
  letter-spacing: 0;
}

#loginScreen .sentinel-section-intro > p:not(.sentinel-section-label),
#loginScreen .sentinel-product-copy > p:not(.sentinel-section-label),
#loginScreen .sentinel-report-copy > p:not(.sentinel-section-label),
#loginScreen .login-access-copy > p:not(.sentinel-section-label) {
  font-size: 18px;
  line-height: 1.7;
}

#loginScreen .sentinel-product-copy li,
#loginScreen .sentinel-report-copy li { font-size: 16px; line-height: 1.65; }
#loginScreen .sentinel-marketing-site section[id] { scroll-margin-top: 90px; }
#loginScreen .sentinel-marketing-site :is(a, button, summary):focus-visible {
  outline: 3px solid #d89521;
  outline-offset: 5px;
}

#loginScreen .sentinel-identity-band { padding-top: 48px; padding-bottom: 64px; background: #f2f4f9; }
#loginScreen .sentinel-platform-story { padding-top: 84px; padding-bottom: 72px; }
#loginScreen .sentinel-market-map { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
#loginScreen .sentinel-market-map article {
  padding: 22px 0 0;
  gap: 14px;
  border: 0;
  border-top: 2px solid #cad2e5;
  border-radius: 0;
  background: transparent;
}

#loginScreen .sentinel-market-map article > span { font-size: 12px; color: #50658e; }
#loginScreen .sentinel-market-map article > strong { font-size: 22px; line-height: 1.3; color: #121827; }
#loginScreen .sentinel-market-map article > p { font-size: 16px; line-height: 1.65; color: #4b5a61; }
#loginScreen .sentinel-market-map a,
#loginScreen .sentinel-solution-grid a,
#loginScreen .sentinel-text-link {
  width: fit-content;
  color: #2455b6;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  text-underline-offset: 4px;
}

#loginScreen .sentinel-flow { margin-top: 58px; }
#loginScreen .sentinel-flow strong { font-size: 17px; }
#loginScreen .sentinel-flow small { font-size: 14px; }
#loginScreen .sentinel-flow span { color: #275dc5; }

#loginScreen .sentinel-solutions-band,
#loginScreen .sentinel-remote-band,
#loginScreen .sentinel-faq-band,
#loginScreen .sentinel-closing-band {
  padding: 88px max(24px, calc((100vw - 1240px) / 2));
}

#loginScreen .sentinel-solutions-band { background: #f4f1fa; }
#loginScreen .sentinel-solutions-band .sentinel-section-label { color: #693c91; }
#loginScreen .sentinel-solution-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin-top: 48px; }
#loginScreen .sentinel-solution-grid article { min-width: 0; border-top: 2px solid #cec1de; padding-top: 22px; }
#loginScreen .sentinel-solution-grid h3 { margin: 0; font-size: 21px; line-height: 1.4; }
#loginScreen .sentinel-solution-grid p { margin: 14px 0 20px; color: #514a5b; font-size: 16px; line-height: 1.7; }
#loginScreen .sentinel-solution-grid a { color: #65378b; }

#loginScreen .sentinel-desk-proof { background: #fff; }
#loginScreen .sentinel-screen { box-shadow: 0 12px 30px rgba(15, 25, 30, 0.13); }
#loginScreen .sentinel-screen > img { max-height: none; aspect-ratio: auto; object-fit: contain; }
#loginScreen .sentinel-screen > figcaption {
  grid-template-columns: 1fr;
  gap: 5px;
  padding: 18px 20px;
  font-size: 14px;
  background: #121827;
  color: #c6d6da;
}
#loginScreen .sentinel-screen > figcaption strong { font-size: 16px; }
#loginScreen .sentinel-screen > figcaption a { color: #a7c6ff; font-size: 14px; width: fit-content; text-underline-offset: 4px; }
#loginScreen .sentinel-intelligence-proof { color: #121827; background: #f0f3fa; }
#loginScreen .sentinel-intelligence-proof .sentinel-section-label { color: #275dc5; }
#loginScreen .sentinel-intelligence-proof .sentinel-section-intro h2 { color: #121827; }
#loginScreen .sentinel-intelligence-proof .sentinel-section-intro > p:not(.sentinel-section-label),
#loginScreen .sentinel-intelligence-points dd { color: #52627f; }
#loginScreen .sentinel-intelligence-points dt { color: #121827; font-size: 19px; }
#loginScreen .sentinel-intelligence-points dd { font-size: 16px; }
#loginScreen .sentinel-intelligence-points > div { border-color: #275dc5; }
#loginScreen .sentinel-report-proof { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; }
#loginScreen .sentinel-product-band { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 54px; }
#loginScreen .sentinel-assistant-band { background: #f4f1fa; }
#loginScreen .sentinel-assistant-band .sentinel-section-label { color: #693c91; }
#loginScreen .sentinel-assistant-band .sentinel-product-copy li::before { background: #8052a6; }
#loginScreen .patch-sentinel-band { background: #fff; color: #121827; grid-template-columns: 1fr; gap: 46px; }
#loginScreen .patch-sentinel-band .sentinel-product-copy { max-width: 950px; }
#loginScreen .patch-sentinel-band .sentinel-section-label { color: #275dc5; }
#loginScreen .patch-sentinel-band .sentinel-product-copy h2 { color: #121827; }
#loginScreen .patch-sentinel-band .sentinel-product-copy > p:not(.sentinel-section-label),
#loginScreen .patch-sentinel-band .sentinel-product-copy li { color: #4b5a61; }

#loginScreen .sentinel-remote-band { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; background: #171b32; color: #fff; }
#loginScreen .sentinel-remote-band h2 { color: #fff; }
#loginScreen .sentinel-remote-band .sentinel-section-label { color: #a7c6ff; }
#loginScreen .sentinel-remote-band .sentinel-section-intro > p:not(.sentinel-section-label) { color: #d1d8ed; }
#loginScreen .sentinel-remote-details { min-width: 0; }
#loginScreen .sentinel-remote-details dl { margin: 0; }
#loginScreen .sentinel-remote-details dl > div { padding: 18px 0; border-top: 1px solid #4b567b; }
#loginScreen .sentinel-remote-details dt { font-size: 20px; font-weight: 700; }
#loginScreen .sentinel-remote-details dd { margin: 8px 0 0; font-size: 16px; line-height: 1.65; color: #d1d8ed; }
#loginScreen .sentinel-remote-details > p { font-size: 16px; line-height: 1.7; }
#loginScreen .sentinel-availability { padding: 16px 0 0; border-top: 2px solid #a78bfa; color: #d1d8ed; }
#loginScreen .sentinel-availability strong { color: #fff; }
#loginScreen .sentinel-example-label { font-size: 14px; font-weight: 700; color: #275dc5; }
#loginScreen .sentinel-record-band { background: #f6f7fb; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
#loginScreen .sentinel-record-steps li { grid-template-columns: 105px minmax(0, 1fr); }
#loginScreen .sentinel-record-steps span { font-size: 13px; }
#loginScreen .sentinel-record-steps strong { font-size: 16px; line-height: 1.6; }
#loginScreen .sentinel-trust-band { background: #101729; grid-template-columns: 1fr; gap: 40px; }
#loginScreen .sentinel-trust-band > div:first-child { max-width: 800px; }
#loginScreen .sentinel-trust-band .sentinel-section-label { color: #a7c6ff; }
#loginScreen .sentinel-trust-points strong { font-size: 20px; }
#loginScreen .sentinel-trust-points p { font-size: 16px; color: #c4cee0; }

#loginScreen .sentinel-faq-band { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 72px; background: #fff; }
#loginScreen .sentinel-faq-band .sentinel-section-intro { align-content: start; }
#loginScreen .sentinel-faq-list { min-width: 0; border-top: 1px solid #d0d6e3; }
#loginScreen .sentinel-faq-list details { border-bottom: 1px solid #d0d6e3; padding: 22px 0; }
#loginScreen .sentinel-faq-list summary { font-size: 19px; line-height: 1.5; font-weight: 650; cursor: pointer; }
#loginScreen .sentinel-faq-list summary::marker { color: #275dc5; }
#loginScreen .sentinel-faq-list p { margin: 16px 0 0; font-size: 16px; line-height: 1.75; color: #4b5a61; }
#loginScreen .sentinel-closing-band { background: #f0f3fa; text-align: center; }
#loginScreen .sentinel-closing-band h2 { margin: 14px 0; }
#loginScreen .sentinel-closing-band > p:not(.sentinel-section-label) { font-size: 19px; line-height: 1.6; }
#loginScreen .sentinel-closing-band .sentinel-cta { margin-top: 14px; }
#loginScreen .sentinel-closing-band nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 24px; margin-top: 28px; }
#loginScreen .sentinel-closing-band nav a { font-size: 15px; color: #2455b6; text-underline-offset: 4px; }
#loginScreen .sentinel-site-footer { background: #0b1020; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 14px; padding: 32px 20px; text-align: center; }
#loginScreen .sentinel-site-footer .sentinel-site-brand { justify-content: center; gap: 12px; }
#loginScreen .sentinel-site-footer .sentinel-site-brand img { width: 48px; height: 48px; flex-shrink: 0; }
#loginScreen .sentinel-site-footer .sentinel-site-brand strong { font-size: 20px; line-height: 1.3; }
#loginScreen .sentinel-site-footer .sentinel-site-copyright { display: block; font-size: 13px; line-height: 1.5; }

@media (max-width: 1100px) {
  #loginScreen .sentinel-site-header { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 20px; padding: 10px 24px; }
  #loginScreen .sentinel-site-signin { grid-column: 2; grid-row: 1; }
  #loginScreen .sentinel-site-nav { grid-column: 1 / -1; display: flex; min-width: 0; justify-content: flex-start; overflow-x: auto; padding: 8px 0; }
  #loginScreen .sentinel-marketing-site section[id] { scroll-margin-top: 124px; }
  #loginScreen .sentinel-hero { padding-top: 160px; }
  #loginScreen .sentinel-solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #loginScreen .sentinel-product-heading { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
}

@media (max-width: 900px) {
  #loginScreen .sentinel-market-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #loginScreen .sentinel-identity-inner,
  #loginScreen .sentinel-product-heading,
  #loginScreen .sentinel-product-band,
  #loginScreen .sentinel-report-proof,
  #loginScreen .sentinel-record-band,
  #loginScreen .sentinel-remote-band,
  #loginScreen .sentinel-faq-band { grid-template-columns: 1fr; gap: 38px; }
  #loginScreen .sentinel-product-detail { padding-top: 0; }
  #loginScreen .sentinel-screen { width: 100%; }
  #loginScreen .sentinel-assistant-screen { order: 2; }
  #loginScreen .sentinel-assistant-band .sentinel-product-copy { order: 1; }
}

@media (max-width: 600px) {
  #loginScreen .sentinel-site-header { padding: 10px 18px; }
  #loginScreen .sentinel-site-brand strong { font-size: 17px; }
  #loginScreen .sentinel-hero { padding: 142px 20px 36px; align-items: center; min-height: calc(100svh - 132px); }
  #loginScreen .sentinel-hero-content { gap: 18px; }
  #loginScreen .sentinel-hero h1 { font-size: 46px; }
  #loginScreen .sentinel-hero-lede { font-size: 18px; line-height: 1.6; }
  #loginScreen .sentinel-hero-actions { display: flex; flex-wrap: wrap; }
  #loginScreen .sentinel-hero-actions .secondary { padding-left: 0; border: 0; }
  #loginScreen .sentinel-suite-rail { display: none; }
  #loginScreen .sentinel-marketing-site h2 { font-size: 32px; }
  #loginScreen .sentinel-marketing-site > section:not(.sentinel-hero) { padding: 56px 20px; }
  #loginScreen .sentinel-section-intro > p:not(.sentinel-section-label),
  #loginScreen .sentinel-product-copy > p:not(.sentinel-section-label),
  #loginScreen .sentinel-report-copy > p:not(.sentinel-section-label),
  #loginScreen .login-access-copy > p:not(.sentinel-section-label) { font-size: 17px; }
  #loginScreen .sentinel-market-map,
  #loginScreen .sentinel-solution-grid,
  #loginScreen .sentinel-screen-grid,
  #loginScreen .sentinel-intelligence-points { grid-template-columns: 1fr; gap: 28px; }
  #loginScreen .sentinel-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #loginScreen .sentinel-record-steps li { grid-template-columns: 1fr; gap: 8px; }
  #loginScreen .sentinel-screen-wide { margin-top: 34px; }
  #loginScreen .sentinel-screen > figcaption { padding: 14px; }
  #loginScreen .sentinel-faq-list summary { font-size: 18px; }
}

@media (max-width: 360px) {
  #loginScreen .sentinel-hero h1 { font-size: 40px; }
  #loginScreen .sentinel-hero-lede { font-size: 17px; }
  #loginScreen .sentinel-hero-actions { gap: 8px; }
}

@media (max-width: 600px) and (max-height: 650px) {
  #loginScreen .sentinel-hero { padding-top: 126px; padding-bottom: 24px; min-height: calc(100svh - 100px); }
  #loginScreen .sentinel-hero-content { gap: 14px; }
  #loginScreen .sentinel-hero .sentinel-kicker,
  #loginScreen .sentinel-hero-actions .secondary { display: none; }
  #loginScreen .sentinel-marketing-site > .sentinel-identity-band { padding-top: 24px; }
}

#loginScreen .sentinel-hero .sentinel-kicker { color: #a7c6ff; }
#loginScreen .sentinel-trust-points article:nth-child(2),
#loginScreen .sentinel-intelligence-points > div:nth-child(2) { border-top-color: #8b5cf6; }
#loginScreen .patch-sentinel-band .sentinel-product-copy li::before { background: #3b82f6; }
