:root {
  --ink: #18252e;
  --muted: #53636e;
  --paper: #f5f8fa;
  --line: #d4dfe5;
  --cyan: #70e9f2;
  --dark: #111d26;
  --steel: #b6c5ce;
  --white: #fff;
  --blue: #006676;
  font-family: Inter, Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
a {
  color: inherit;
  text-underline-offset: 4px;
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a,
input,
select,
textarea,
summary {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
a,
button {
  touch-action: manipulation;
}
h1,
h2,
h3,
p {
  margin: 0 0 1rem;
}
h1 {
  font-size: clamp(2.5rem, 4.5vw, 4.8rem);
  letter-spacing: -0.055em;
  line-height: 1.08;
  font-weight: 600;
}
h2 {
  font-size: clamp(1.75rem, 3vw, 2.7rem);
  letter-spacing: -0.04em;
  line-height: 1.15;
  font-weight: 600;
}
h3 {
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.02em;
}
p,
li {
  line-height: 1.65;
}
p {
  color: var(--muted);
}
img {
  max-width: 100%;
  object-fit: contain;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #008da1;
  outline-offset: 4px;
}
main:focus {
  outline: none;
}
.container {
  width: min(1200px, calc(100% - 64px));
  margin: auto;
}
.skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  background: var(--white);
  padding: 16px;
  z-index: 30;
}
.skip-link:focus {
  top: 12px;
}
.site-header {
  background: var(--white);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 104px;
}
.brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.brand img {
  height: 96px;
  width: 144px;
}
.site-header nav {
  display: flex;
  gap: 28px;
}
.site-header nav a {
  text-decoration: none;
  font-size: 0.9rem;
  padding: 12px 0;
}
.site-header nav a[aria-current="page"] {
  border-bottom: 2px solid var(--blue);
}
.header-actions {
  display: flex;
  gap: 24px;
  align-items: center;
}
.login-link {
  font-size: 0.9rem;
  white-space: nowrap;
  text-decoration: none;
  font-weight: 600;
}
.button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 5px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.3;
}
.primary {
  background: var(--cyan);
  color: #102129;
  border-color: var(--cyan);
}
.primary:hover {
  background: #a0f4fa;
}
.secondary {
  background: white;
  color: var(--ink);
  border-color: var(--line);
}
.secondary:hover {
  background: #e7eff3;
}
.header-actions .primary {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
  font-size: 0.8rem;
  padding: 12px 16px;
}
.menu-toggle {
  display: none;
}
.hero {
  background: var(--dark);
  color: #f4f8fb;
  padding: 88px 0 84px;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 72px;
  align-items: center;
}
.hero h1 {
  font-size: clamp(2.7rem, 4.2vw, 4.1rem);
}
.hero h1 em {
  font-style: normal;
  color: var(--cyan);
}
.hero .lead {
  color: #bccbd4;
  font-size: 1.12rem;
  max-width: 570px;
  margin: 28px 0;
}
.hero-note {
  color: #bccbd4;
  font-size: 0.8rem;
  margin: 18px 0 0;
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--blue);
  margin-bottom: 22px;
}
.hero .eyebrow {
  color: var(--cyan);
}
.hero-card {
  padding: 30px;
  border: 1px solid #40505b;
  border-radius: 10px;
  background: #192833;
}
.hero-card > .eyebrow {
  display: block;
}
.hero-step {
  display: flex;
  gap: 18px;
  padding: 24px 0;
  border-bottom: 1px solid #344650;
}
.hero-step b {
  color: var(--cyan);
  font-weight: 400;
  font-size: 0.8rem;
  padding-top: 4px;
}
.hero-step span {
  font-size: 1.15rem;
}
.hero-step small {
  display: block;
  color: #b4c6d0;
  font-size: 0.83rem;
  margin-top: 8px;
  line-height: 1.5;
}
.hero-card > a {
  display: inline-block;
  margin-top: 28px;
  font-size: 0.83rem;
  color: var(--cyan);
}
.section {
  padding-top: 80px;
  padding-bottom: 80px;
}
.section-heading {
  margin-bottom: 40px;
  max-width: 650px;
}
.section-heading p:last-child {
  max-width: 590px;
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.service-card {
  padding: 28px 25px 25px 0;
}
.service-card + .service-card {
  padding-left: 25px;
  border-left: 1px solid var(--line);
}
.serial {
  font-size: 0.73rem;
  font-weight: 700;
  color: var(--blue);
  display: block;
  margin-bottom: 30px;
}
.service-card h3 {
  min-height: 50px;
}
.service-card p {
  font-size: 0.9rem;
}
.demo-section {
  background: #e8eff3;
}
.assessment-demo {
  background: white;
  border: 1px solid #c2d1da;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 15px 40px #1725300b;
}
.demo-top {
  background: var(--dark);
  color: white;
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
}
.demo-badge {
  color: var(--cyan);
}
.demo-question {
  padding: 28px 28px 10px;
}
.demo-question h2 {
  font-size: 1.7rem;
  max-width: 800px;
}
.demo-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
}
.demo-agent {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 14px 28px;
  background: #f0f7f8;
  border-block: 1px solid #d9e7e8;
  font-size: 0.78rem;
}
.demo-agent span {
  font-weight: 600;
  color: #006676;
  white-space: nowrap;
}
.demo-agent p {
  margin: 0;
}
.demo-body {
  display: grid;
  grid-template-columns: 310px 1fr;
}
.finding-selector {
  background: #f8fafb;
  padding: 24px;
  border-right: 1px solid var(--line);
}
.finding-selector button {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-align: left;
  border: 1px solid transparent;
  background: transparent;
  padding: 16px 12px;
  margin-bottom: 10px;
  border-radius: 5px;
  color: var(--ink);
  line-height: 1.5;
}
.finding-selector button[aria-pressed="true"] {
  border-color: #88c6cf;
  background: #e6f5f7;
}
.finding-selector button small {
  display: block;
  font-size: 0.7rem;
  margin-bottom: 4px;
  color: #405c69;
}
.finding-selector button strong {
  font-size: 0.85rem;
  font-weight: 600;
  display: block;
}
.finding-number {
  font-size: 0.7rem;
  color: var(--blue);
  padding-top: 3px;
}
.finding-selector svg {
  flex-shrink: 0;
  margin-top: 4px;
}
.finding-detail {
  padding: 30px;
}
.evidence-label {
  display: flex;
  gap: 8px;
  align-items: center;
  text-transform: uppercase;
  font-size: 0.67rem;
  letter-spacing: 0.1em;
  color: var(--blue);
}
.evidence-source {
  font-size: 0.75rem;
  margin: 12px 0;
}
.evidence-extract {
  background: #162b37;
  color: #d2edf1;
  font-family: monospace;
  font-size: 0.82rem;
  padding: 20px;
  border-radius: 4px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.demo-finding,
.demo-action {
  margin-top: 22px;
}
.demo-finding h3,
.demo-action h3,
.review-line h3 {
  font-size: 0.83rem;
  margin-bottom: 8px;
}
.finding-detail p {
  font-size: 0.86rem;
}
.demo-action > div {
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.priority-badge {
  font-size: 0.65rem;
  background: #eef3f6;
  padding: 5px 8px;
  height: max-content;
  white-space: nowrap;
}
.priority-reason {
  font-size: 0.76rem !important;
}
.review-line {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--line);
  padding-top: 22px;
  margin-top: 22px;
}
.sample-approval {
  border: 1px solid #8299a7;
  background: white;
  padding: 12px;
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 0.75rem;
  border-radius: 4px;
  flex-shrink: 0;
}
.review-line p {
  margin: 0;
}
.retest-line {
  background: #f2f6f8;
  padding: 16px;
  margin-top: 20px;
  font-size: 0.8rem;
}
.retest-line p {
  margin: 8px 0;
}
.retest-line span {
  font-size: 0.75rem;
}
.demo-disclaimer {
  border-top: 1px solid var(--line);
  padding: 16px 24px;
  margin: 0;
  font-size: 0.72rem;
}
.benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}
.benefits span {
  display: block;
  color: var(--blue);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 18px;
}
.benefits h2 {
  font-size: 1.65rem;
}
.status-note {
  padding: 24px;
  border-left: 3px solid #007888;
  background: #eaf1f4;
  margin-top: 35px;
}
.status-note strong {
  font-size: 0.9rem;
}
.status-note p {
  margin: 8px 0 0;
  font-size: 0.88rem;
}
.cta-strip {
  padding: 55px 0;
  background: var(--dark);
  color: white;
}
.cta-strip > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.cta-strip .eyebrow {
  color: var(--cyan);
}
.cta-strip h2 {
  font-size: 2rem;
  margin-bottom: 0;
}
footer {
  background: white;
  border-top: 1px solid var(--line);
  padding: 50px 0 22px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
}
.footer-grid > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.footer-grid a {
  font-size: 0.83rem;
}
.footer-grid p {
  font-size: 0.8rem;
  margin: 0;
}
.footer-grid strong {
  font-size: 1.1rem;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--line);
  margin-top: 38px;
  padding-top: 24px;
  font-size: 0.72rem;
  color: var(--muted);
}
.footer-bottom > div {
  display: flex;
  gap: 24px;
}
.small {
  font-size: 0.8rem;
  line-height: 1.6;
}
.page-intro {
  padding-top: 70px;
  padding-bottom: 48px;
  max-width: 1200px;
  border-bottom: 1px solid var(--line);
}
.page-intro h1 {
  max-width: 900px;
  font-size: clamp(2.5rem, 4.4vw, 4rem);
}
.lead {
  font-size: 1.13rem;
  line-height: 1.6;
  max-width: 730px;
}
.journey {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px 60px;
}
.journey article {
  display: flex;
  gap: 22px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--line);
}
.journey .serial {
  margin-top: 8px;
}
.journey h2 {
  font-size: 1.65rem;
  margin-top: 16px;
}
.badge {
  display: inline-block;
  border: 1px solid #c0d2dc;
  background: #eff6f8;
  color: #235260;
  font-size: 0.65rem;
  letter-spacing: 0.04em;
  padding: 6px 10px;
  border-radius: 20px;
  white-space: nowrap;
  width: max-content;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.pale {
  background: #e7eff3;
}
.panel {
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 30px;
  min-width: 0;
}
.panel h2 {
  font-size: 1.65rem;
}
.method-line {
  font-size: 1.4rem;
  line-height: 1.9;
  color: var(--ink);
}
.contact-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 75px;
}
.contact-grid aside {
  align-self: start;
}
.contact-grid aside > a {
  display: inline-block;
  margin-top: 30px;
}
.form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.form p {
  margin-bottom: 0;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 0.85rem;
  line-height: 1.5;
}
.field > span {
  font-weight: 600;
}
.field small {
  color: var(--muted);
}
input,
select,
textarea {
  padding: 12px 13px;
  border: 1px solid #9fafb8;
  border-radius: 4px;
  background: white;
  color: var(--ink);
  min-height: 46px;
  max-width: 100%;
  width: 100%;
  font-size: 1rem;
}
textarea {
  resize: vertical;
}
input[type="checkbox"] {
  width: 20px;
  min-height: 20px;
  accent-color: #006676;
}
.honeypot {
  position: absolute;
  left: -10000px;
}
.notice {
  background: #edf3f7;
  padding: 16px 18px;
  border-left: 3px solid #527486;
  font-size: 0.85rem;
  line-height: 1.7;
  color: #243d4c;
}
.feedback {
  color: #194d5d;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.feedback:empty {
  display: none;
}
.error {
  color: #9d2020;
}
.button-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.draft-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.8rem;
  background: #edf3f6;
  padding: 18px;
  max-height: 340px;
  overflow: auto;
}
.legal {
  max-width: 850px;
}
.legal h2 {
  font-size: 1.6rem;
  margin-top: 38px;
}
.legal p {
  font-size: 0.97rem;
}
.auth-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  padding-top: 80px;
  padding-bottom: 100px;
  align-items: start;
}
.auth-layout h1 {
  font-size: 3rem;
}
.auth-links {
  display: flex;
  align-items: center;
  gap: 24px;
}
.auth-layout > div > a {
  display: inline-block;
  margin-top: 20px;
}
.app-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 32px;
  background: var(--dark);
  color: white;
  gap: 24px;
}
.app-header a {
  font-size: 0.85rem;
}
.app-wordmark {
  font-size: 1.6rem !important;
  letter-spacing: 0.08em;
  text-decoration: none;
  font-weight: 700;
}
.app-wordmark span {
  display: block;
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  margin-top: 5px;
  color: #b7cbd5;
}
.app-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: calc(100vh - 90px);
}
.sidebar {
  padding: 28px 18px;
  background: white;
  border-right: 1px solid var(--line);
}
.sidebar select {
  font-size: 0.75rem;
}
.sidebar nav {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 25px 0 40px;
}
.sidebar nav button {
  display: flex;
  justify-content: space-between;
  padding: 13px 12px;
  text-align: left;
  color: var(--muted);
  border: 0;
  background: transparent;
  border-radius: 5px;
  font-size: 0.84rem;
  min-height: 46px;
}
.sidebar nav button[aria-current="page"] {
  background: #e1f4f6;
  color: #075765;
  font-weight: 600;
}
.sidebar-bottom {
  border-top: 1px solid var(--line);
  padding: 25px 12px;
  font-size: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sidebar-bottom p {
  font-size: 0.7rem;
}
.app-main {
  padding: 30px 40px 80px;
  min-width: 0;
  max-width: 1500px;
  width: 100%;
}
.app-heading {
  margin: 35px 0 22px;
}
.app-heading h1 {
  font-size: 2.7rem;
}
.app-heading .eyebrow {
  margin-bottom: 15px;
}
.workspace-banner {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  background: #e4edf2;
  padding: 13px 16px;
  font-size: 0.75rem;
  border-radius: 4px;
}
.workspace-banner.sample {
  background: #fff0ca;
  color: #584407;
}
.workspace-banner span {
  line-height: 1.5;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 28px 0;
}
.stats article {
  padding: 22px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.stats span {
  display: block;
  color: var(--muted);
  font-size: 0.8rem;
}
.stats strong {
  display: block;
  font-size: 2.5rem;
  font-weight: 500;
  margin-top: 15px;
}
.section-title {
  margin-top: 40px;
}
.list-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  margin: 25px 0;
}
.search-label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 0.78rem;
  min-width: 230px;
}
.list-toolbar .button {
  white-space: nowrap;
}
.record-list {
  display: grid;
  gap: 18px;
}
.record-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 24px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.record-title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
}
.record-title .eyebrow {
  font-size: 0.6rem;
  margin-bottom: 10px;
  display: block;
}
.record-card p {
  font-size: 0.88rem;
  white-space: pre-wrap;
}
.record-card a {
  font-size: 0.8rem;
}
.record-footer {
  display: flex;
  gap: 24px;
  margin-top: 20px;
  border-top: 1px solid #e5ebee;
  padding-top: 16px;
}
.text-button {
  border: 0;
  background: none;
  color: var(--blue);
  font-size: 0.82rem;
  font-weight: 600;
  min-height: 40px;
  padding: 8px 0;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.empty {
  border: 1px dashed #afc3cd;
  border-radius: 7px;
  padding: 35px;
  text-align: center;
}
.empty p {
  font-size: 0.9rem;
  margin-bottom: 0;
}
.agent-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 30px;
}
.agent-grid .panel {
  position: relative;
}
.agent-grid .badge {
  position: absolute;
  top: 27px;
  right: 26px;
}
.agent-grid h2 {
  font-size: 1.5rem;
  margin-top: 18px;
}
.agent-grid .panel:has(> .badge:first-child) h2 {
  margin-top: 45px;
}
.assessment-sections > section {
  padding: 32px 0;
  border-bottom: 1px solid var(--line);
}
.assessment-sections h2 {
  font-size: 1.6rem;
}
.metric {
  display: block;
  font-size: 2rem;
  padding: 20px 0;
  color: var(--blue);
}
details {
  border-bottom: 1px solid var(--line);
  padding: 17px 0;
}
summary {
  cursor: pointer;
  font-weight: 600;
  padding: 8px 0;
}
details p {
  margin: 14px 0 0;
}
.access-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.85rem;
  overflow-wrap: anywhere;
}
.check {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
}
.token {
  display: block;
  overflow-wrap: anywhere;
  font-size: 0.85rem;
  margin-top: 14px;
}
fieldset {
  border: 1px solid var(--line);
  border-radius: 4px;
}
legend {
  font-size: 0.85rem;
  padding: 0 8px;
}
.record-dialog {
  border: 1px solid #9fb3bf;
  border-radius: 10px;
  width: min(700px, calc(100% - 32px));
  max-height: 90dvh;
  padding: 28px;
  background: var(--paper);
  color: var(--ink);
}
.record-dialog::backdrop {
  background: #061722b0;
}
.dialog-top {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  margin-bottom: 20px;
}
.dialog-top h2 {
  font-size: 1.6rem;
}
.record-dialog .form {
  gap: 17px;
}
.record-dialog .feedback {
  margin-top: 18px;
}
.preserve {
  white-space: pre-wrap;
}
.record-card pre {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
@media (max-width: 1050px) {
  .header-inner {
    gap: 16px;
  }
  .site-header nav {
    gap: 18px;
  }
  .header-actions {
    gap: 16px;
  }
  .hero-grid {
    gap: 36px;
  }
  .app-layout {
    grid-template-columns: 210px 1fr;
  }
  .app-main {
    padding: 25px;
  }
  .app-main .split {
    grid-template-columns: 1fr;
  }
  .service-grid {
    grid-template-columns: 1fr 1fr;
  }
  .service-card:nth-child(3) {
    border-left: 0;
    padding-left: 0;
  }
  .service-card:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }
  .contact-grid,
  .auth-layout {
    gap: 40px;
  }
}
@media (max-width: 800px) {
  .container {
    width: calc(100% - 40px);
  }
  .header-inner {
    flex-wrap: wrap;
    gap: 10px;
    padding-bottom: 16px;
  }
  .brand img {
    width: 116px;
    height: 77px;
  }
  .menu-toggle {
    display: block;
    margin-left: auto;
    border: 1px solid var(--line);
    background: white;
    border-radius: 4px;
    padding: 10px 14px;
    min-height: 44px;
  }
  .site-header nav {
    display: none;
    order: 4;
    width: 100%;
    flex-direction: column;
    gap: 0;
  }
  .site-header nav.open {
    display: flex;
  }
  .site-header nav a {
    padding: 15px 8px;
    border-bottom: 1px solid var(--line);
  }
  .header-actions {
    width: 100%;
    justify-content: space-between;
  }
  .header-actions .primary {
    flex: 1;
  }
  .header-actions .login-link {
    padding: 12px 18px;
  }
  .hero {
    padding: 55px 0;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .hero h1 {
    max-width: 650px;
  }
  .hero-card {
    padding: 24px;
  }
  .hero-step {
    padding: 18px 0;
  }
  .hero .lead {
    font-size: 1rem;
  }
  .section {
    padding-block: 50px;
  }
  .demo-body {
    grid-template-columns: 1fr;
  }
  .finding-selector {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 20px;
  }
  .finding-selector button {
    margin: 0 0 6px;
    padding: 12px;
  }
  .finding-selector button > span:nth-child(2) {
    flex: 1;
  }
  .finding-detail {
    padding: 24px;
  }
  .benefits {
    gap: 28px;
  }
  .benefits h2 {
    font-size: 1.35rem;
  }
  .benefits p {
    font-size: 0.9rem;
  }
  .footer-grid {
    gap: 28px;
  }
  .page-intro {
    padding-top: 50px;
  }
  .contact-grid,
  .auth-layout {
    grid-template-columns: 1fr;
  }
  .contact-grid aside {
    max-width: 600px;
  }
  .auth-layout {
    padding-block: 50px;
  }
  .auth-layout h1 {
    font-size: 2.6rem;
  }
  .app-header {
    padding: 18px 20px;
    align-items: start;
    flex-wrap: wrap;
  }
  .app-header .button-row {
    gap: 18px;
  }
  .app-layout {
    grid-template-columns: 1fr;
  }
  .sidebar {
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
    border-right: 0;
  }
  .sidebar > .field {
    max-width: 400px;
  }
  .sidebar nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    margin: 15px 0 0;
  }
  .sidebar nav button {
    font-size: 0.75rem;
    gap: 8px;
  }
  .sidebar nav span {
    display: none;
  }
  .sidebar-bottom {
    display: none;
  }
  .app-main {
    padding: 25px 20px 50px;
  }
  .workspace-banner {
    flex-direction: column;
    gap: 5px;
  }
  .app-heading h1 {
    font-size: 2.2rem;
  }
  .stats {
    gap: 10px;
  }
  .stats article {
    padding: 16px;
  }
  .stats strong {
    font-size: 2rem;
  }
  .agent-grid {
    gap: 16px;
  }
  .journey {
    gap: 24px;
  }
  .journey h2 {
    font-size: 1.45rem;
  }
}
@media (max-width: 520px) {
  .container {
    width: calc(100% - 32px);
  }
  h1 {
    font-size: 2.65rem;
  }
  .hero h1 {
    font-size: 2.65rem;
  }
  .hero-card {
    padding: 23px;
  }
  .hero-step span {
    font-size: 1rem;
  }
  .service-grid {
    grid-template-columns: 1fr;
  }
  .service-card,
  .service-card + .service-card {
    padding: 24px 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .service-card:first-child {
    border-top: 0;
  }
  .serial {
    margin-bottom: 18px;
  }
  .service-card h3 {
    min-height: 0;
  }
  .service-card p {
    margin-bottom: 0;
  }
  .section-heading {
    margin-bottom: 25px;
  }
  .demo-top {
    padding: 16px;
    flex-wrap: wrap;
    font-size: 0.62rem;
  }
  .demo-question {
    padding: 24px 18px 10px;
  }
  .demo-question h2 {
    font-size: 1.35rem;
  }
  .demo-agent {
    display: block;
    padding: 16px 18px;
  }
  .demo-agent p {
    margin-top: 5px;
  }
  .finding-detail {
    padding: 20px 18px;
  }
  .demo-action > div {
    align-items: start;
  }
  .review-line {
    display: block;
  }
  .sample-approval {
    margin-top: 14px;
  }
  .demo-disclaimer {
    padding: 16px 18px;
  }
  .benefits {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .benefits h2 {
    font-size: 1.6rem;
  }
  .benefits p {
    margin: 0;
  }
  .cta-strip > .container {
    display: block;
  }
  .cta-strip .button {
    margin-top: 25px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 16px;
  }
  .footer-grid > div:first-child {
    grid-column: 1/-1;
  }
  .footer-bottom {
    flex-direction: column;
  }
  .footer-bottom > div {
    flex-wrap: wrap;
    gap: 16px;
  }
  .journey {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .split {
    grid-template-columns: 1fr;
  }
  .panel {
    padding: 22px;
  }
  .page-intro h1 {
    font-size: 2.5rem;
  }
  .legal {
    padding-top: 30px;
  }
  .legal p {
    font-size: 0.92rem;
  }
  .method-line {
    font-size: 1.2rem;
  }
  .auth-links {
    flex-wrap: wrap;
  }
  .app-header .button-row {
    gap: 14px;
  }
  .app-header .button-row a {
    font-size: 0.74rem;
  }
  .app-header .button-row .button {
    padding: 9px 12px;
    font-size: 0.75rem;
  }
  .sidebar nav {
    grid-template-columns: repeat(2, 1fr);
  }
  .sidebar nav button {
    font-size: 0.78rem;
  }
  .stats {
    grid-template-columns: 1fr 1fr;
  }
  .stats span {
    font-size: 0.7rem;
  }
  .list-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .search-label {
    min-width: 0;
  }
  .agent-grid {
    grid-template-columns: 1fr;
  }
  .record-title {
    flex-wrap: wrap;
    gap: 10px;
  }
  .record-card {
    padding: 20px;
  }
  .app-heading h1 {
    font-size: 2rem;
  }
  .record-dialog {
    padding: 20px;
  }
  .dialog-top {
    gap: 12px;
  }
  .dialog-top h2 {
    font-size: 1.3rem;
  }
  .access-row {
    align-items: start;
    flex-direction: column;
  }
  .empty {
    padding: 24px;
  }
  .header-actions .primary {
    font-size: 0.73rem;
  }
  .login-link {
    font-size: 0.8rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Public landing page refinement, September 2026. */
.landing-hero { padding: 92px 0; }
.hero-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.quiet-link { color: #e1edf2; font-size: .88rem; text-decoration: none; padding: 12px 0; }
.quiet-link:hover, .text-link:hover { text-decoration: underline; }
.deliverable-card { border-radius: 8px; padding: 34px; }
.deliverable-card h2 { font-size: 1.85rem; max-width: 340px; line-height: 1.2; }
.deliverable-card .hero-step { padding: 20px 0; }
.deliverable-card .hero-step span { font-size: 1rem; font-weight: 600; }
.deliverable-card .hero-step small { font-weight: 400; }
.heading-row { display: flex; align-items: end; justify-content: space-between; gap: 32px; max-width: none; }
.heading-row h2 { max-width: 600px; margin-bottom: 0; }
.text-link { color: var(--blue); font-size: .9rem; font-weight: 600; white-space: nowrap; }
.landing-services .service-card { padding-top: 34px; padding-bottom: 34px; }
.service-card h3 a { text-decoration: none; }
.service-card h3 a:hover { text-decoration: underline; }
.service-card p { margin-bottom: 0; }
.development-note { display: grid; grid-template-columns: 1fr 2fr; gap: 32px; padding-top: 30px; margin-top: 30px; border-top: 1px solid #bfced7; }
.development-note strong { font-size: 1rem; line-height: 1.6; }
.development-note p { font-size: .9rem; margin: 0; }
.service-details { padding-top: 0; }
.service-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; border-bottom: 1px solid var(--line); padding: 48px 0; scroll-margin-top: 24px; }
.service-detail h2 { font-size: clamp(1.8rem, 2.7vw, 2.5rem); max-width: 440px; }
.service-detail .eyebrow { margin-bottom: 18px; }
.service-output { padding-left: 20px; border-left: 2px solid #008092; margin-bottom: 0; font-size: .9rem; }
.service-output strong { display: block; color: var(--ink); margin-bottom: 6px; }
.planned-services { align-items: center; gap: 70px; }
.cta-note { color: #bfced8; font-size: .9rem; margin: 18px 0 0; }
.enquiry-dialog { width: min(690px, calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; overflow: auto; border: 1px solid #9fb3bf; border-radius: 10px; padding: 32px; color: var(--ink); background: #fff; box-shadow: 0 24px 90px #06172255; }
.enquiry-dialog::backdrop { background: #061722c9; }
.enquiry-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.enquiry-heading .eyebrow { margin-bottom: 12px; }
.enquiry-heading h2 { font-size: 1.9rem; margin: 0; }
.close-enquiry { flex-shrink: 0; background: #f0f5f7; border: 1px solid var(--line); border-radius: 50%; width: 44px; height: 44px; font-size: 1.6rem; color: var(--ink); }
.enquiry-form { gap: 18px; }
@media (max-width: 800px) {
  .landing-hero { padding: 52px 0; }
  .heading-row { display: block; }
  .heading-row .text-link { display: inline-block; margin-top: 20px; }
  .service-detail { gap: 35px; }
  .planned-services { gap: 30px; }
}
@media (max-width: 520px) {
  .landing-hero h1 { font-size: 2.5rem; }
  .deliverable-card { padding: 24px; }
  .deliverable-card h2 { font-size: 1.6rem; }
  .development-note, .service-detail { grid-template-columns: 1fr; gap: 18px; }
  .service-detail { padding: 32px 0; }
  .service-detail h2 { margin-bottom: 0; }
  .enquiry-dialog { padding: 22px; max-height: calc(100dvh - 24px); width: calc(100% - 24px); }
  .enquiry-heading h2 { font-size: 1.5rem; }
  .enquiry-heading { gap: 12px; }
  .hero-actions { gap: 12px 24px; }
}

/* Header grouping and quieter public-page hierarchy. */
.header-inner { min-height: 108px; }
.header-controls { margin-left: auto; display: flex; align-items: center; gap: 34px; }
.site-header nav { gap: 28px; }
.site-header nav a { font-size: .88rem; font-weight: 500; }
.header-actions { gap: 24px; }
.header-actions .primary { border-radius: 3px; min-height: 44px; }
.landing-hero { padding: 80px 0 88px; }
.landing-hero .hero-grid { grid-template-columns: 1.4fr 1fr; gap: 80px; }
.landing-hero h1 { font-weight: 500; letter-spacing: -.047em; font-size: clamp(2.5rem, 4vw, 4rem); line-height: 1.12; }
.landing-hero .lead { font-size: 1.08rem; line-height: 1.7; margin: 28px 0 22px; }
.landing-hero .hero-note { margin-top: 0; }
.deliverable-card { background: transparent; padding: 12px 0 12px 36px; border: 0; border-left: 1px solid #40505b; border-radius: 0; }
.deliverable-card h2 { font-weight: 500; font-size: 1.7rem; }
.deliverable-card .hero-step { padding: 18px 0; }
.deliverable-card .hero-step span { font-weight: 500; }
.deliverable-card > a { margin-top: 22px; }
.service-card h3 { font-size: 1.08rem; }
.service-detail h2 { font-weight: 500; }
.footer-grid { grid-template-columns: 1fr auto; align-items: start; }
.footer-grid > div:last-child { flex-direction: row; flex-wrap: wrap; justify-content: end; gap: 24px; }
@media (max-width: 1050px) {
  .header-controls { gap: 26px; }
  .header-actions { gap: 20px; }
  .landing-hero .hero-grid { gap: 42px; }
}
@media (max-width: 800px) {
  .header-controls { display: contents; }
  .header-inner { min-height: auto; }
  .site-header nav { gap: 0; }
  .landing-hero { padding: 52px 0; }
  .landing-hero .hero-grid { grid-template-columns: 1fr; gap: 38px; }
  .deliverable-card { padding: 24px 0 0; border-left: 0; border-top: 1px solid #40505b; }
  .deliverable-card h2 { max-width: 440px; }
}
@media (max-width: 520px) {
  .landing-hero h1 { font-size: 2.4rem; }
  .landing-hero .lead { font-size: 1rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-grid > div:last-child { justify-content: start; gap: 20px; }
}

/* Compact Login card; owner registration keeps its full-page layout. */
.login-dialog { width: min(460px, calc(100% - 32px)); padding: 32px; border-radius: 8px; }
.login-dialog .enquiry-heading { margin-bottom: 26px; }
.login-dialog .enquiry-heading h2 { font-size: 1.85rem; }
.login-dialog .eyebrow { font-size: .65rem; letter-spacing: .1em; }
.login-form { gap: 20px; }
.login-form .auth-links { justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); padding-top: 20px; }
.login-form .auth-links > a { font-size: .82rem; }
.login-form .feedback:empty { display: none; }
@media (max-width: 520px) {
  .login-dialog { padding: 26px; }
  .login-form .auth-links { gap: 14px; }
}
.launch-contact { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.launch-status { border:1px solid #d8d8d8; padding:16px; margin-top:18px; border-radius:8px; }
.company-line { margin-top:8px; }

/* PRAI public launch refinement v2 */
.header-controls { display:flex; align-items:center; gap:34px; }
.hero-copy { max-width: 690px; }
.hero-cta { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin:30px 0 10px; }
.hero-primary { background:var(--cyan); color:#102129; border-color:var(--cyan); }
.text-link { color:#e3f7fa; font-weight:600; text-decoration:none; border-bottom:1px solid #57717b; padding-bottom:4px; }
.proof-strip { background:#fff; border-bottom:1px solid var(--line); }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.proof-grid > div { padding:27px 28px 25px 0; }
.proof-grid > div + div { border-left:1px solid var(--line); padding-left:28px; }
.proof-grid strong { display:block; font-size:.85rem; margin-bottom:6px; }
.proof-grid span { color:var(--muted); font-size:.78rem; line-height:1.45; display:block; }
.service-kicker { display:block; color:var(--blue); font-size:.7rem; font-weight:700; letter-spacing:.12em; margin-bottom:22px; }
.process-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start; }
.process-card { background:#fff; border:1px solid #cad7dd; border-radius:12px; overflow:hidden; box-shadow:0 16px 40px rgba(17,29,38,.05); }
.process-card > div { display:grid; grid-template-columns:48px 120px 1fr; gap:14px; align-items:start; padding:24px 26px; border-bottom:1px solid var(--line); }
.process-card > div:last-child { border-bottom:0; }
.process-card span { color:var(--blue); font-size:.72rem; font-weight:700; }
.process-card strong { font-size:.95rem; }
.process-card p { margin:0; font-size:.86rem; }
.assessment-section { background:#111d26; color:#fff; }
.assessment-section .eyebrow { color:var(--cyan); }
.assessment-section p { color:#b9c8d0; }
.assessment-grid { display:grid; grid-template-columns:1fr .95fr; gap:72px; align-items:center; }
.assessment-panel { background:#192833; border:1px solid #40505b; border-radius:12px; padding:30px; }
.assessment-panel h3 { font-size:1.4rem; }
.social-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:24px; }
.social-button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:13px 14px; border:1px solid #51636e; border-radius:7px; color:#fff; text-decoration:none; font-weight:600; font-size:.82rem; background:#13222c; }
.social-button:hover { border-color:var(--cyan); background:#18303b; }
.social-button svg { width:20px; height:20px; fill:var(--cyan); flex:0 0 auto; }
.footer-social { min-width:180px; }
@media (max-width: 820px) {
  .proof-grid, .process-grid, .assessment-grid { grid-template-columns:1fr; }
  .proof-grid > div + div { border-left:0; border-top:1px solid var(--line); padding-left:0; }
  .process-grid, .assessment-grid { gap:36px; }
  .process-card > div { grid-template-columns:36px 1fr; }
  .process-card p { grid-column:2; }
  .social-actions { grid-template-columns:1fr; }
  .header-controls { gap:18px; }
}

/* PRAI v3: unnumbered sections, icon-only social links and assessment page. */
.process-card > div { grid-template-columns: 104px minmax(0, 1fr); gap: 20px; }
.process-card p { grid-column: auto; }
.footer-grid > .social-icons { display: flex; flex-direction: row; align-items: center; justify-content: flex-end; gap: 10px; min-width: 0; }
.social-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; color: var(--ink); text-decoration: none; transition: background-color .15s, color .15s; }
.social-icon:hover { background: #e5f1f4; color: var(--blue); }
.social-icon svg { display: block; width: 22px; height: 22px; fill: currentColor; }
.assessment-cta { display: flex; align-items: center; justify-content: space-between; gap: 64px; }
.assessment-cta > div { max-width: 710px; }
.assessment-cta p:last-child { margin-bottom: 0; }
.assessment-cta > .button { flex: 0 0 auto; }
.assessment-page { background: var(--paper); }
.assessment-page-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); align-items: start; gap: 72px; }
.assessment-intro { padding-top: 18px; }
.assessment-intro h1 { font-size: clamp(2.55rem, 4.2vw, 4rem); line-height: 1.12; max-width: 460px; }
.assessment-intro .lead { margin-top: 28px; font-size: 1.08rem; }
.assessment-expectations { border-top: 1px solid var(--line); margin-top: 40px; padding-top: 30px; }
.assessment-expectations h2 { font-size: 1.38rem; letter-spacing: -.025em; }
.assessment-expectations p { font-size: .93rem; }
.assessment-safety { margin: 28px 0 0; font-size: .8rem; max-width: 370px; }
.assessment-form-panel { min-width: 0; background: #fff; padding: 34px; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 40px #111d2606; }
.form-heading .eyebrow { margin-bottom: 14px; }
.form-heading h2 { font-size: 1.65rem; line-height: 1.2; letter-spacing: -.03em; margin-bottom: 24px; }
.form-status { padding: 17px 18px; background: #edf5f6; border-left: 3px solid var(--blue); border-radius: 0 6px 6px 0; margin: 0 0 26px; font-size: .85rem; line-height: 1.6; }
.form-status strong { font-weight: 600; }
.form-status p { margin: 6px 0 0; color: #35515c; font-size: .82rem; }
.form-status a { color: #005463; font-weight: 600; }
.assessment-form { margin: 0; }
.assessment-form fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.form-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 18px; }
.form-field-grid .field { min-width: 0; gap: 7px; }
.form-field-grid .field-full { grid-column: 1 / -1; }
.field label { font-size: .82rem; font-weight: 600; }
.field .optional { font-weight: 400; color: var(--muted); }
.assessment-form input:disabled, .assessment-form select:disabled, .assessment-form textarea:disabled { background: #f5f7f8; color: #53636e; border-color: #d0dce2; cursor: not-allowed; opacity: 1; -webkit-text-fill-color: #53636e; }
.assessment-form textarea { resize: none; }
.form-privacy { font-size: .75rem; line-height: 1.6; margin: 20px 0; }
.form-submit { width: 100%; }
.form-submit:disabled { opacity: 1; background: #e4edf0; color: #53636e; border: 1px solid #d0dce2; font-size: .84rem; cursor: not-allowed; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1000px) {
  .assessment-page-grid { gap: 36px; }
  .assessment-form-panel { padding: 28px; }
  .assessment-cta { gap: 36px; }
}
@media (max-width: 820px) {
  .process-card > div { grid-template-columns: 94px minmax(0,1fr); }
  .process-card p { grid-column: auto; }
  .assessment-page-grid { grid-template-columns: 1fr; gap: 30px; }
  .assessment-intro { padding-top: 0; }
  .assessment-intro h1 { max-width: 640px; }
  .assessment-expectations { margin-top: 26px; padding-top: 24px; }
  .assessment-safety { max-width: 600px; }
  .assessment-cta { align-items: flex-start; flex-direction: column; gap: 24px; }
}
@media (max-width: 800px) {
  .header-controls { display: contents; }
  .site-header nav { order: 4; }
  .header-actions { order: 3; }
}
@media (max-width: 520px) {
  .footer-grid > .social-icons { justify-content: flex-start; gap: 10px; }
  .process-card > div { grid-template-columns: 1fr; gap: 8px; padding: 24px; }
  .assessment-cta > .button { width: 100%; }
  .assessment-form-panel { padding: 24px 20px; }
  .form-field-grid { grid-template-columns: 1fr; gap: 17px; }
  .form-heading h2 { font-size: 1.48rem; }
  .assessment-intro h1 { font-size: 2.55rem; }
}

@media (max-width: 800px) {
  .site-header .header-inner:not(:has(.menu-toggle)) #main-nav { display: flex; flex-direction: row; width: auto; gap: 20px; }
}
