@charset "UTF-8";
/* ai.nodavis.com only. site.css is a verbatim copy of the corporate site; changes for this site live here so the copy can be refreshed later. */

/* Icons are inline SVG so the site has no icon-font dependency; sizing follows the .ph rules in site.css. */
svg.ph { height: 1em; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
@media (min-width: 761px) {
  .pain-list svg.ph { margin-inline: auto; }
}

.brand-label { display: block; margin-top: 6px; color: var(--muted); font-size: 17px; letter-spacing: .12em; line-height: 1.5; }
.brand-label .latin { font-size: 1.15em; letter-spacing: .04em; }
.muted-text { color: var(--muted); }

.ai-hero h1 { font-size: clamp(32px, 3.2vw, 46px); line-height: 1.65; }
.hero-accent { color: var(--accent-ink); }

/* A neutral chat mock: it illustrates the conversation without copying any messaging app's interface. */
.chat-mock { min-width: 0; }
.chat-window { display: grid; gap: 14px; padding: 24px 22px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.chat-head { padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-weight: 700; text-align: center; line-height: 1.6; }
.msg { max-width: 82%; padding: 10px 16px; border-radius: 14px; line-height: 1.75; }
.msg-me { justify-self: end; background: var(--accent); color: var(--on-accent); border-bottom-right-radius: 3px; }
.msg-ai { justify-self: start; background: var(--background); border: 1px solid var(--line); border-bottom-left-radius: 3px; }
.chat-mock figcaption { margin-top: 14px; }

.ai-features { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 40px; }
.ai-features .service-item h3 { font-size: 23px; }
.feature-callout { align-self: stretch; padding: 28px; border: 1px solid var(--accent); border-radius: var(--radius); background: var(--surface); }
.feature-callout h3 { color: var(--accent-ink); }

.self-flow { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.self-flow li { position: relative; padding: 18px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--background); text-align: center; font-weight: 500; line-height: 1.65; }
.self-flow li + li::before { content: "→" / ""; position: absolute; top: 50%; left: -22px; transform: translateY(-50%); color: var(--accent-ink); font-size: 18px; }
.self-flow-num { display: block; font-family: var(--font-display); font-size: 28px; line-height: 1.2; color: var(--accent-ink); }

/* Confidentiality is the first question for licensed professionals, so this block is visually the strongest on the page. */
.data-panel { padding: clamp(28px, 5vw, 64px); border: 1px solid var(--line); border-top: 4px solid var(--accent); border-radius: var(--radius); background: var(--surface); }
.data-points { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.data-points li { padding-top: 22px; border-top: 1px solid var(--line); }
.data-num { display: block; font-family: var(--font-display); font-size: 44px; line-height: 1.15; color: var(--accent-ink); }
.data-points h3 { margin: 12px 0 10px; font-size: 23px; }

.cannot-list { list-style: none; }
.cannot-list li { display: flex; gap: 18px; align-items: flex-start; padding-block: 20px; border-top: 1px solid var(--line); font-size: 19px; font-weight: 500; }
.cannot-list li:last-child { border-bottom: 1px solid var(--line); }
.cannot-list .ph { margin-top: 5px; color: var(--accent-ink); }

.steps-five { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; }
.steps-five h3 { font-size: 22px; }

.founder-role { color: var(--muted); }
.credential { margin-top: 10px; font-size: 21px; }
.about-link { margin-top: 28px; }

.contact-section .contact-note { margin: 24px auto 0; font-size: 17px; }
.desktop-break { display: initial; }

@media (max-width: 1100px) {
  .ai-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps-five { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
  .self-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .self-flow li:nth-child(3)::before { content: none; }
}
@media (min-width: 761px) and (max-width: 960px) {
  .ai-hero { grid-template-columns: 1fr; }
  .chat-mock { max-width: 560px; }
}
@media (max-width: 760px) {
  .brand-label { margin-top: 4px; letter-spacing: .08em; }
  .ai-hero h1 { font-size: clamp(27px, 7.4vw, 38px); letter-spacing: .03em; }
  .msg { max-width: 90%; }
  .chat-window { padding: 18px 14px 22px; }
  .ai-features { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .feature-callout { padding: 22px 20px; }
  .self-flow { grid-template-columns: minmax(0, 1fr); gap: 26px; margin-top: 24px; }
  .self-flow li { display: flex; gap: 14px; align-items: center; text-align: left; padding: 12px 16px; }
  .self-flow li + li::before, .self-flow li:nth-child(3)::before { content: "↓" / ""; top: -24px; left: 28px; transform: none; }
  .self-flow-num { font-size: 24px; }
  .data-points { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .data-num { font-size: 34px; }
  .data-points h3 { font-size: 21px; }
  .cannot-list li { font-size: 18px; }
  .steps-five { grid-template-columns: minmax(0, 1fr); }
  .desktop-break { display: none; }
}
