/* Standalone Solutions surface in /solutions/. Shared Ayah tokens remain authoritative. */
.solutions-page { --sol-section-gap: 72px; --sol-heading-gap: 20px; --sol-content-gap: 28px; margin: 0; font-family: "Quicksand", sans-serif; background: var(--canvas); color: var(--text-primary); }
.solutions-page *, .solutions-page *::before, .solutions-page *::after { box-sizing: border-box; }
.solutions-page [hidden] { display: none !important; }
.solutions-page a { color: inherit; text-decoration: none; }
.solutions-page button { font: inherit; cursor: pointer; }
.solutions-page p, .solutions-page h1, .solutions-page h2, .solutions-page h3, .solutions-page h4, .solutions-page figure { margin: 0; }
.solutions-page a:focus-visible, .solutions-page button:focus-visible, .sol-module:focus-visible { outline: 3px solid var(--accent-solid); outline-offset: 5px; }
.sol-wrap { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.sol-skip { position: absolute; left: 20px; top: -100px; z-index: 10; padding: 16px; background: var(--canvas); }
.sol-skip:focus { top: 12px; }
.sol-launch { display: flex; justify-content: center; gap: 24px; padding: 12px 20px; background: var(--accent-tint-bg); color: var(--accent-solid); font-size: 13px; font-weight: 600; }
.sol-launch > span { display: inline-flex; align-items: center; gap: 8px; }
.sol-launch a { text-decoration: underline; text-underline-offset: 3px; }
.sol-dot { display: inline-block; flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sol-nav { display: flex; align-items: center; gap: 22px; padding-block: 24px; }
.sol-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; line-height: 1.25; font-weight: 700; }
.sol-brand strong { display: block; font-size: 13px; font-weight: 500; color: var(--text-secondary); letter-spacing: .06em; }
.sol-nav nav { margin-left: auto; display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 600; }
.sol-nav-demo { padding: 12px 20px; border: 1px solid var(--accent-tint-border); border-radius: 999px; }
.sol-theme { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; border: 1px solid var(--border-hairline); background: var(--surface); color: var(--text-primary); }
.sol-theme svg { width: 19px; height: 19px; }
.sol-hero { display: flex; flex-direction: column; gap: 0; padding-block: 58px 65px; }
.sol-hero-copy { text-align: center; width: 100%; max-width: 940px; margin-inline: auto; }
.sol-hero h1 { font-size: clamp(46px, 4.9vw, 68px); font-weight: 600; line-height: 1.06; letter-spacing: -.035em; margin-block: 23px; text-wrap: balance; }
.sol-hero h1 span { color: var(--accent-solid); }
.sol-lead { max-width: 710px; margin-inline: auto !important; font-size: 19px; line-height: 1.75; color: var(--text-secondary); }
.sol-founder-proof { margin: 16px auto 0 !important; font-size: 14px; line-height: 1.7; max-width: 650px; color: var(--text-secondary); }
.sol-founder-proof a, .sol-control-intro a { color: var(--accent-solid); text-decoration: underline; text-underline-offset: 3px; }
.solutions-page ::selection { background: var(--accent-solid); color: var(--text-on-accent); }
.sol-actions { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin-block: 30px 17px; }
.solutions-page a.sol-cta { min-height: 52px; padding: 15px 30px; font-size: 15px; border-radius: 999px; color: var(--text-on-accent); }
.sol-text-link { font-size: 14px; font-weight: 700; display: inline-flex; align-items: center; gap: 12px; }
.sol-small { font-size: 12px; color: var(--text-muted); line-height: 1.7; }
.sol-engine { border: 1px solid var(--border-hairline); border-radius: var(--radius-l); background: var(--surface); min-width: 0; overflow: hidden; }
.sol-engine-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 20px 24px; font-size: 12px; border-bottom: 1px solid var(--border-hairline); }
.sol-engine-top > span:first-child { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.sol-preview-label { font-size: 12px; color: var(--text-muted); }
.sol-engine-body { padding: 28px; }
.sol-source, .sol-review { display: flex; align-items: center; gap: 14px; padding: 19px; border-radius: 18px; background: var(--canvas); border: 1px solid var(--border-hairline); }
.sol-source strong, .sol-review strong, .sol-draft-heading strong { font-size: 14px; font-weight: 700; }
.sol-source p, .sol-review p { font-size: 12px; color: var(--text-secondary); margin-top: 4px; }
.sol-step-num { font-size: 12px; font-weight: 700; color: var(--accent-solid); padding: 8px; background: var(--accent-tint-bg); border-radius: 9px; }
.sol-check { margin-left: auto; width: 7px; height: 12px; border: solid var(--accent-solid); border-width: 0 1.7px 1.7px 0; transform: rotate(45deg); }
.sol-connector { height: 28px; position: relative; margin-left: 35px; width: 1px; background: var(--border-hairline); }
.sol-connector > span { display: block; height: 100%; width: 1px; background: var(--accent-solid); transform-origin: top; }
.sol-connector > i { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--accent-solid); top: 0; left: -2px; opacity: 0; }
.sol-draft { padding: 20px; background: var(--canvas); border: 1px solid var(--accent-tint-border); border-radius: 18px; }
.sol-draft-heading { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sol-ai-label { margin-left: auto; font-size: 12px; color: var(--accent-solid); font-weight: 700; }
.sol-context-tags { display: flex; flex-wrap: wrap; gap: 7px; padding-block: 17px; }
.sol-context-tags span { font-size: 12px; font-weight: 600; background: var(--accent-tint-bg); color: var(--accent-solid); border-radius: 6px; padding: 6px 9px; }
.sol-note-preview { border-top: 1px solid var(--border-hairline); padding-top: 12px; }
.sol-note-preview p { font-size: 12px; font-weight: 700; margin-bottom: 9px; }
.sol-note-preview p:not(:first-child) { margin-top: 15px; }
.sol-note-rule { height: 5px; border-radius: 4px; background: var(--surface-2); margin-top: 9px; width: 100%; }
.sol-note-rule.medium { width: 75%; }
.sol-note-rule.short { width: 55%; }
.sol-review { background: var(--accent-tint-bg); border-color: var(--accent-tint-border); }
.sol-review .sol-step-num { background: var(--canvas); }
.sol-review svg { width: 26px; height: 26px; margin-left: auto; color: var(--accent-solid); flex-shrink: 0; }
.sol-engine figcaption { padding: 15px 24px; display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--border-hairline); font-size: 12px; color: var(--text-secondary); }
.sol-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 48px; margin-bottom: 38px; }
.solutions-page h2 { font-size: clamp(32px, 3.4vw, 46px); line-height: 1.16; letter-spacing: -.035em; font-weight: 600; margin-top: 16px; }
.sol-section-heading > p { max-width: 350px; font-size: 16px; line-height: 1.75; color: var(--text-secondary); }
.sol-platform { padding-block: 38px 100px; scroll-margin-top: 28px; }
.sol-tabs { display: flex; border-bottom: 1px solid var(--border-hairline); gap: 8px; margin-bottom: 28px; padding-bottom: 10px; }
.sol-tabs a { flex: 1; text-align: center; padding: 15px 10px; border-radius: 999px; font-size: 15px; font-weight: 700; color: var(--text-secondary); transition: background-color 180ms var(--easing), color 180ms var(--easing); }
.sol-tabs a[aria-selected="true"] { background: var(--accent-solid); color: var(--text-on-accent); }
.sol-module { display: grid; grid-template-columns: 1fr 1.15fr; gap: 60px; align-items: center; padding: 35px 0; min-height: 385px; scroll-margin-top: 20px; }
.sol-module + .sol-module { border-top: 1px solid var(--border-hairline); }
.sol-module-copy h3 { font-size: 32px; line-height: 1.2; letter-spacing: -.03em; margin-block: 15px 20px; font-weight: 600; }
.sol-module-copy > p:not(.sol-kicker) { font-size: 16px; line-height: 1.75; color: var(--text-secondary); }
.sol-module-copy ul { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; font-size: 13px; font-weight: 600; }
.sol-module-copy li { display: flex; gap: 9px; align-items: baseline; }
.sol-module-copy li::before { content: ''; width: 6px; height: 10px; flex: 0 0 6px; border: solid var(--accent-solid); border-width: 0 1.7px 1.7px 0; transform: rotate(45deg); }
.sol-module-visual { border: 1px solid var(--border-hairline); border-radius: var(--radius-l); background: var(--surface); padding: 25px; min-height: 335px; }
.sol-mock-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding-bottom: 22px; font-size: 13px; }
.sol-mock-heading > span { font-size: 12px; color: var(--text-muted); }
.sol-mini-tabs { display: flex; gap: 18px; font-size: 12px; padding: 12px 0; border-block: 1px solid var(--border-hairline); }
.sol-mini-tabs .current { color: var(--accent-solid); font-weight: 700; }
.sol-split-preview { display: grid; grid-template-columns: 115px 1fr; gap: 24px; padding-top: 20px; }
.sol-split-preview aside { font-size: 12px; border-right: 1px solid var(--border-hairline); display: flex; flex-direction: column; gap: 15px; }
.sol-split-preview aside p { font-weight: 700; }
.sol-status { color: var(--accent-solid); font-size: 12px; font-weight: 700; }
.sol-split-preview h4 { font-size: 12px; margin-block: 17px 12px; }
.sol-preview-action { display: inline-block; font-size: 12px; font-weight: 700; color: var(--accent-solid); border: 1px solid var(--accent-tint-border); padding: 9px 12px; border-radius: 999px; margin-top: 20px; }
.sol-trend-label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; margin-top: 10px; }
.sol-trend-label > span { font-size: 12px; color: var(--text-muted); }
.sol-trend { width: 100%; height: 150px; margin-top: 14px; overflow: visible; }
.sol-gridline { stroke: var(--border-hairline); fill: none; }
.sol-trend-path { stroke: var(--accent-solid); stroke-width: 3; fill: none; stroke-linecap: round; }
.sol-trend circle { fill: var(--accent-solid); }
.sol-trend-months { display: flex; justify-content: space-between; font-size: 12px; color: var(--text-muted); }
.sol-vertical-flow { list-style: none; padding: 0; margin: 0; display: grid; gap: 22px; }
.sol-vertical-flow li { display: flex; gap: 18px; align-items: center; }
.sol-vertical-flow li > span { background: var(--canvas); border: 1px solid var(--border-hairline); border-radius: 14px; padding: 16px; color: var(--accent-solid); font-size: 12px; }
.sol-vertical-flow strong { font-size: 14px; }
.sol-vertical-flow p { font-size: 12px; margin-top: 6px; color: var(--text-secondary); }
.sol-waveform { height: 80px; display: flex; gap: 6px; align-items: center; justify-content: center; }
.sol-waveform i { width: 5px; height: 26%; border-radius: 4px; background: var(--accent-solid); }
.sol-waveform i:nth-child(3n) { height: 65%; }.sol-waveform i:nth-child(4n) { height: 40%; }.sol-waveform i:nth-child(5n) { height: 80%; }
.sol-scribe-note { padding: 18px; border-radius: 16px; background: var(--canvas); font-size: 12px; }
.sol-chat-example { display: flex; flex-direction: column; gap: 16px; }
.sol-chat-example > p { background: var(--canvas); padding: 15px 18px; max-width: 88%; font-size: 14px; line-height: 1.55; border-radius: 16px 16px 16px 3px; }
.sol-chat-example > .sol-chat-answer { align-self: flex-end; background: var(--accent-solid); color: var(--text-on-accent); border-radius: 16px 16px 3px 16px; }
.sol-chat-example > span { font-size: 12px; color: var(--text-muted); text-align: center; }
.sol-workflow { background: #073d3a; color: #f2fcfa; padding-block: 86px 92px; }
.sol-workflow .sol-kicker { color: #a3ded4; }.sol-workflow .sol-section-heading > p { color: #c1dbd7; }
.sol-flow-track { margin-top: 50px; height: 1px; background: #39645f; }.sol-flow-track span { display: block; width: 100%; height: 1px; background: #a3ded4; transform-origin: left; }
.sol-flow-stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 35px; margin: 30px 0 0; padding: 0; list-style: none; }
.sol-flow-stages li > span { font-size: 12px; color: #a3ded4; font-weight: 600; }
.sol-flow-stages h3 { font-size: 21px; letter-spacing: -.025em; font-weight: 600; line-height: 1.3; margin-block: 23px 15px; }
.sol-flow-stages p { font-size: 14px; line-height: 1.75; color: #c1dbd7; }
.sol-control { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; padding-block: 110px; }
.sol-control-intro { font-size: 16px; line-height: 1.75; color: var(--text-secondary); max-width: 370px; margin-top: 22px !important; }
.sol-control-list { margin: 0; }.sol-control-list > div { padding-block: 25px; border-bottom: 1px solid var(--border-hairline); }.sol-control-list > div:first-child { padding-top: 0; }
.sol-control-list dt { font-size: 19px; font-weight: 700; margin-bottom: 12px; }.sol-control-list dd { margin: 0; font-size: 15px; line-height: 1.75; color: var(--text-secondary); }
.sol-contact { border-radius: var(--radius-l); background: var(--accent-tint-bg); padding: 56px; display: flex; justify-content: space-between; align-items: center; gap: 45px; }
.sol-contact h2 { font-size: clamp(30px, 3.5vw, 46px); }.sol-contact p:not(.sol-kicker):not(.sol-small) { font-size: 17px; line-height: 1.75; margin-top: 20px; color: var(--text-secondary); }.sol-contact > img { flex-shrink: 0; width: 200px; height: 200px; }
.sol-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; padding-block: 45px; font-size: 12px; color: var(--text-secondary); }.sol-footer > p { margin-right: auto; }.sol-footer .sol-brand { font-size: 13px; }.sol-footer .sol-brand strong { font-size: 12px; }
@media (hover: hover) and (pointer: fine) { .sol-text-link:hover, .sol-nav nav > a:not(.sol-nav-demo):hover { color: var(--accent-solid); }.sol-tabs a:hover:not([aria-selected="true"]), .sol-nav-demo:hover { background: var(--accent-tint-bg); } }
@media (max-width: 1000px) { .sol-wrap { width: calc(100% - 48px); }.sol-hero { gap: 28px; }.sol-hero h1 { font-size: 52px; }.sol-engine-body { padding: 20px; }.sol-module { gap: 35px; }.sol-flow-stages { gap: 22px; }.sol-control { gap: 45px; }.sol-contact { padding: 40px; }.sol-contact > img { width: 150px; height: 150px; } }
@media (max-width: 760px) {
  .sol-launch { gap: 8px 18px; flex-wrap: wrap; font-size: 12px; }.sol-nav { padding-block: 20px; gap: 12px; }.sol-nav nav { gap: 0; }.sol-nav nav a:not(.sol-nav-demo) { display: none; }.sol-nav-demo { padding: 11px 16px; font-size: 12px; }.sol-brand { font-size: 14px; }.sol-brand strong { font-size: 12px; }.sol-brand img { width: 36px; height: 36px; }.sol-theme { width: 34px; height: 34px; flex-basis: 34px; }
  .sol-hero { grid-template-columns: 1fr; padding-block: 36px 64px; gap: 40px; }.sol-hero h1 { font-size: clamp(46px, 8vw, 64px); }.sol-lead { font-size: 17px; max-width: 560px; }.sol-hero-copy { max-width: 570px; }.sol-engine { width: 100%; max-width: 570px; margin-inline: auto !important; }.sol-engine-body { padding: 22px; }.sol-engine figcaption { font-size: 12px; }
  .sol-section-heading { display: block; }.sol-section-heading > p { margin-top: 22px; }.sol-platform { padding-block: 20px 60px; }.sol-tabs { gap: 4px; flex-wrap: wrap; }.sol-tabs a { flex: 1 0 auto; padding: 12px 14px; font-size: 13px; }.sol-module { grid-template-columns: 1fr; gap: 30px; padding-block: 18px; }.sol-module-copy { max-width: 570px; }.sol-module-visual { min-height: 320px; }.sol-module-copy h3 { font-size: 30px; }
  .sol-workflow { padding-block: 60px; }.sol-flow-stages { grid-template-columns: 1fr 1fr; gap: 36px 25px; }.sol-flow-stages h3 { margin-top: 14px; }.sol-control { grid-template-columns: 1fr; padding-block: 65px; gap: 35px; }.sol-contact { padding: 30px; }.sol-contact > img { display: none; }.sol-contact .sol-actions { gap: 20px; }.sol-footer { gap: 20px; padding-block: 35px; }.sol-footer > p { width: calc(100% - 200px); margin: 0; }.sol-footer > span { margin-left: auto; }
}
@media (max-width: 390px) { .sol-wrap { width: calc(100% - 32px); }.sol-nav { gap: 8px; }.sol-nav-demo { padding: 10px 12px; }.sol-brand { gap: 6px; font-size: 12px; }.sol-brand strong { font-size: 12px; }.sol-brand img { width: 30px; height: 30px; }.sol-kicker { font-size: 12px; }.sol-actions { gap: 18px; }.sol-text-link { font-size: 12px; }.solutions-page a.sol-cta { padding-inline: 24px; }.sol-engine-top { padding: 18px; }.sol-engine-body { padding: 16px; }.sol-draft, .sol-source, .sol-review { padding: 15px; }.sol-draft-heading { gap: 6px; }.sol-draft-heading strong { font-size: 12px; }.sol-engine figcaption { padding: 12px 16px; }.sol-module-visual { padding: 18px; }.sol-split-preview { grid-template-columns: 88px 1fr; gap: 15px; }.sol-flow-stages { grid-template-columns: 1fr; }.sol-contact { padding: 25px; }.sol-contact .sol-small { font-size: 12px; }.sol-footer > p { width: 100%; }.sol-desktop-break { display: none; } }
/* Intake is the lead product. Color families come from the shared marketing sheet. */
.sol-hero h1 { font-size: clamp(42px, 5.2vw, 72px); margin-block: 0 22px; }
.sol-physician-line { font-size: 20px; font-weight: 600; margin-bottom: 15px !important; }
.sol-hero-copy .sol-actions { justify-content: center; }
.sol-intake-engine { width: 100%; max-width: 1100px; margin: 45px auto 0 !important; background: var(--canvas); }
.sol-intake-engine .sol-engine-top { background: var(--step-green-tint-bg); color: var(--text-primary); padding: 18px 26px; }
.sol-intake-engine .sol-engine-top > span:first-child { font-size: 16px; }
.sol-intake-engine .sol-preview-label { color: var(--text-secondary); margin-left: auto; }

.sol-intake-demo { display: grid; grid-template-columns: 1.15fr 1fr; }
.sol-conversation { display: flex; flex-direction: column; gap: 14px; padding: 30px; background: var(--step-green-tint-bg); }
.sol-demo-message { padding: 13px 18px; border-radius: 18px 18px 18px 4px; background: var(--canvas); max-width: 88%; align-self: flex-start; }
.sol-demo-message > span { display: block; font-size: 12px; font-weight: 700; color: var(--text-secondary); margin-bottom: 5px; }
.sol-demo-message > p { font-size: 15px; line-height: 1.6; }
.sol-demo-answer { align-self: flex-end; background: var(--accent-solid); color: var(--text-on-accent); border-radius: 18px 18px 4px 18px; }
.sol-demo-answer > span { color: inherit; }
.sol-context-preview { padding: 38px 30px; display: flex; flex-direction: column; justify-content: center; background: var(--step-blue-tint-bg); }
.sol-context-preview h2 { margin: 0; font-size: 29px; line-height: 1.25; }
.sol-context-preview > p { margin-top: 15px; font-size: 15px; line-height: 1.65; color: var(--text-secondary); }
.sol-extracted-context { margin-block: 25px; display: grid; gap: 18px; }
.sol-extracted-context > div { border-bottom: 1px solid var(--border-hairline); padding-bottom: 15px; }
.sol-extracted-context dt { font-size: 12px; font-weight: 700; color: var(--step-blue-solid); margin-bottom: 5px; }
.sol-extracted-context dd { margin: 0; font-size: 15px; line-height: 1.5; }
.sol-context-preview .sol-review { padding: 15px; background: var(--canvas); }
.sol-context-preview .sol-review svg { margin: 0; }
.sol-intake-engine figcaption { justify-content: center; padding: 18px; background: var(--canvas); font-size: 13px; text-align: center; }
.sol-intake-destinations { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 1100px; width: 100%; margin: 28px auto 0; }
.sol-intake-destinations button { position: relative; border-radius: 16px; padding: 20px 12px; font-size: 15px; font-weight: 600; text-align: center; background: var(--step-blue-tint-bg); }
.sol-intake-destinations button::before { content: ''; position: absolute; top: -28px; height: 28px; left: 50%; width: 1px; background: var(--border-hairline); }
.sol-intake-destinations button[data-destination="telehealth"] { background: var(--step-purple-tint-bg); }
.sol-intake-destinations button[data-destination="wellness"] { background: var(--step-green-tint-bg); }
.sol-intake-destinations button[data-destination="scribe"] { background: var(--step-orange-tint-bg); }
.sol-ai-foundation { padding-block: 35px 80px; max-width: 850px; text-align: center; }
.sol-ai-foundation h2 { font-size: clamp(30px, 3.2vw, 44px); margin: 0 0 24px; text-wrap: balance; }
.sol-ai-foundation p { font-size: 18px; line-height: 1.8; color: var(--text-secondary); }
.sol-ai-foundation p + p { margin-top: 16px; font-size: 15px; }
.sol-platform .sol-section-heading { display: block; text-align: center; }
.sol-platform .sol-section-heading > p { max-width: 600px; margin: 20px auto 0; }
.sol-clinic-preview { background: var(--step-blue-tint-bg); }
.sol-wellness-preview, .sol-intake-preview { background: var(--step-green-tint-bg); }
[data-panel="telehealth"] .sol-module-visual { background: var(--step-purple-tint-bg); }
.sol-scribe-preview { background: var(--step-orange-tint-bg); }
.sol-contact { background: var(--step-purple-tint-bg); }
.sol-flow-stages li:nth-child(1) > span { color: #b5ebc9; }
.sol-flow-stages li:nth-child(2) > span { color: #b7d1fd; }
.sol-flow-stages li:nth-child(3) > span { color: #f6d4ab; }
.sol-flow-stages li:nth-child(4) > span { color: #decaf5; }
@media (hover: hover) and (pointer: fine) { .sol-intake-destinations button:hover { text-decoration: underline; text-underline-offset: 4px; } }
@media (max-width: 760px) {
  .sol-hero { gap: 0; padding-block: 32px 45px; }.sol-hero-copy { max-width: 650px; }.sol-hero h1 { font-size: clamp(38px, 6.8vw, 52px); }.sol-physician-line { font-size: 17px; }.sol-lead { font-size: 17px; }
  .sol-intake-engine { max-width: none; margin-top: 32px !important; }.sol-intake-engine .sol-engine-top { padding: 16px; }.sol-intake-engine .sol-engine-top > span:first-child { font-size: 15px; }.sol-intake-engine .sol-preview-label { order: 3; width: 100%; margin: 0; }
  .sol-intake-demo { grid-template-columns: 1fr; }.sol-conversation { padding: 20px; }.sol-demo-message { max-width: 92%; }.sol-context-preview { padding: 28px 22px; }.sol-context-preview h2 { font-size: 27px; }.sol-context-preview h2 br { display: none; }
  .sol-intake-destinations { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }.sol-intake-destinations button { padding: 17px 10px; font-size: 14px; }.sol-intake-destinations button::before { display: none; }
  .sol-ai-foundation { padding-block: 20px 45px; }.sol-ai-foundation p { font-size: 16px; }.sol-ai-foundation h2 { font-size: 30px; }
}
@media (max-width: 390px) { .sol-hero h1 { font-size: 38px; }.sol-conversation { padding: 16px; }.sol-demo-message { padding: 12px 14px; }.sol-context-preview { padding: 25px 18px; }.sol-intake-engine .sol-engine-top > span:first-child img { width: 24px; height: 24px; } }
/* A readable visit story first; scroll-linked emphasis is progressive enhancement. */
.sol-intake-destinations button { border: 0; color: var(--text-primary); background: var(--feature-bg); font: inherit; font-size: 15px; font-weight: 600; }
[data-destination="clinic"], #sol-feature-dialog[data-feature="clinic"] { --feature-bg: var(--step-blue-tint-bg); --feature-accent: var(--step-blue-solid); }
[data-destination="telehealth"], #sol-feature-dialog[data-feature="telehealth"] { --feature-bg: var(--step-purple-tint-bg); --feature-accent: var(--step-purple-solid); }
[data-destination="wellness"], #sol-feature-dialog[data-feature="wellness"] { --feature-bg: var(--step-green-tint-bg); --feature-accent: var(--step-green-solid); }
[data-destination="scribe"], #sol-feature-dialog[data-feature="scribe"] { --feature-bg: var(--step-orange-tint-bg); --feature-accent: var(--step-orange-solid); }
.sol-intake-destinations button[data-expanded] { visibility: hidden; }
#sol-feature-dialog { position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 24px; border: 0; background: rgb(0 15 20 / .32); color: var(--text-primary); overflow: hidden; }
#sol-feature-dialog[open] { display: grid; place-items: center; }
#sol-feature-dialog::backdrop { background: transparent; }
.sol-feature-card { position: relative; width: min(600px, 100%); max-height: 100%; padding: 34px 38px; border-radius: var(--radius-l); background: linear-gradient(var(--feature-bg), var(--feature-bg)), var(--canvas); transform-origin: center; }
.sol-feature-close { display: grid; place-items: center; position: absolute; top: 15px; right: 15px; width: 40px; height: 40px; border: 1px solid var(--border-hairline); border-radius: 50%; background: var(--canvas); color: var(--text-primary); }
.sol-feature-close svg { width: 20px; height: 20px; }
.solutions-page .sol-feature-close:focus-visible { outline: 2px solid var(--text-primary); outline-offset: 3px; }
.solutions-page #sol-feature-dialog[data-pointer-open] .sol-feature-close:focus { outline: none; }
.sol-feature-card h2 { padding-right: 38px; margin: 4px 0 10px; font-size: 35px; }
.sol-feature-lead { font-size: 17px; line-height: 1.45; max-width: 42ch; }
.sol-feature-card dl { margin: 18px 0 0; }
.sol-feature-card dl > div { padding-block: 13px; border-top: 1px solid var(--border-hairline); }
.sol-feature-card dl > div:last-child { padding-bottom: 0; }
.sol-feature-card dt { margin-bottom: 6px; font-size: 14px; font-weight: 700; color: var(--feature-accent); }
.sol-feature-card dd { margin: 0; font-size: 15px; line-height: 1.5; }
@media (max-width: 760px) { #sol-feature-dialog { padding: 14px; }.sol-feature-card { padding: 26px 24px; }.sol-feature-card h2 { font-size: 30px; margin-top: 7px; }.sol-feature-lead { font-size: 16px; }.sol-feature-card dd { font-size: 14px; }.sol-feature-card dl { margin-top: 15px; } }
@media (max-width: 390px), (max-height: 650px) { #sol-feature-dialog { padding: 10px; }.sol-feature-card { padding: 20px; }.sol-feature-card h2 { font-size: 27px; margin: 4px 0 7px; }.sol-feature-lead { font-size: 14px; line-height: 1.4; }.sol-feature-card dl { margin-top: 11px; }.sol-feature-card dl > div { padding-block: 9px; }.sol-feature-card dt { margin-bottom: 3px; font-size: 13px; }.sol-feature-card dd { font-size: 13px; line-height: 1.4; }.sol-feature-close { top: 10px; right: 10px; width: 34px; height: 34px; } }
.sol-visit { padding-block: 35px 90px; }
.sol-visit-heading { text-align: center; max-width: 740px; margin: 0 auto 60px; }
.sol-visit-heading h2 { margin: 0 0 22px; }
.sol-visit-heading > p { font-size: 18px; line-height: 1.7; color: var(--text-secondary); }
.sol-visit-heading > .sol-small { margin-top: 16px; font-size: 12px; }
.sol-visit-layout { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 65px; align-items: start; }
.sol-visit-nav { position: sticky; top: 40px; }
.sol-visit-nav ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.sol-visit-nav a { display: flex; align-items: center; gap: 12px; padding: 13px 10px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.sol-visit-nav a span { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border: 1px solid var(--border-hairline); border-radius: 50%; font-size: 12px; }
.sol-visit-nav a[aria-current="step"] { background: var(--accent-tint-bg); color: var(--accent-solid); }
.sol-visit-nav a[aria-current="step"] span { background: var(--accent-solid); color: var(--text-on-accent); border-color: transparent; }
.sol-visit-nav > p { margin: 30px 10px 0; color: var(--text-secondary); font-size: 14px; line-height: 1.7; }
.sol-visit-scene { scroll-margin-top: 32px; padding-bottom: 100px; }
.sol-visit-scene:last-child { padding-bottom: 0; }
.sol-scene-copy { max-width: 670px; margin-bottom: 28px; }
.sol-scene-copy h3 { font-size: clamp(26px, 2.5vw, 34px); line-height: 1.2; font-weight: 600; letter-spacing: -.025em; margin-bottom: 16px; text-wrap: balance; }
.sol-scene-copy p { font-size: 16px; line-height: 1.75; color: var(--text-secondary); }
.sol-scene-screen { border: 1px solid var(--border-hairline); border-radius: var(--radius-l); overflow: hidden; background: var(--surface); }
.sol-screen-bar { display: flex; gap: 15px; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 20px 26px; border-bottom: 1px solid var(--border-hairline); font-size: 14px; }
.sol-screen-bar > span { font-size: 12px; color: var(--text-secondary); }
.sol-scene-chat, .sol-scene-transfer { background: var(--step-green-tint-bg); }
.sol-scene-draft { background: var(--step-blue-tint-bg); }
.sol-scene-scribe { background: var(--step-orange-tint-bg); }
.sol-scene-soap { background: var(--step-purple-tint-bg); }
.sol-case-chat { display: flex; flex-direction: column; gap: 14px; padding: 26px; }
.sol-case-chat > p { max-width: 88%; padding: 14px 18px; background: var(--canvas); border-radius: 16px 16px 16px 4px; font-size: 15px; line-height: 1.6; align-self: flex-start; }
.sol-case-chat strong { display: block; font-size: 12px; margin-bottom: 4px; }
.sol-case-chat > .sol-case-answer { align-self: flex-end; background: var(--accent-solid); color: var(--text-on-accent); border-radius: 16px 16px 4px 16px; }
.sol-screen-foot { padding: 18px 26px; font-size: 12px; line-height: 1.7; color: var(--text-secondary); border-top: 1px solid var(--border-hairline); }
.sol-draft-mapping { padding: 8px 26px; }
.sol-draft-mapping > div { padding: 24px 0; display: grid; grid-template-columns: minmax(120px, .65fr) 1.4fr; gap: 24px; }
.sol-draft-mapping > div + div { border-top: 1px solid var(--border-hairline); }
.sol-draft-mapping span { font-size: 13px; font-weight: 600; color: var(--step-blue-solid); line-height: 1.7; }
.sol-draft-mapping p { font-size: 15px; line-height: 1.75; }
.sol-draft-mapping strong { display: block; margin-bottom: 8px; }
.sol-scribe-session { padding: 24px 26px 0; }
.sol-consent-line { font-size: 13px; font-weight: 600; }
.sol-case-wave { height: 58px; display: flex; align-items: center; gap: 5px; margin-block: 20px; overflow: hidden; }
.sol-case-wave i { width: 5px; height: 24px; border-radius: 3px; background: var(--step-orange-solid); }
.sol-case-wave i:nth-child(3n) { height: 46px; }.sol-case-wave i:nth-child(4n) { height: 14px; }.sol-case-wave i:nth-child(5n) { height: 36px; }
.sol-scribe-session blockquote { margin: 0; padding-block: 20px; border-top: 1px solid var(--border-hairline); font-size: 15px; line-height: 1.75; }
.sol-scribe-session blockquote strong { font-size: 12px; display: block; margin-bottom: 6px; }
.sol-scribe-session .sol-screen-foot { padding-inline: 0; }
.sol-soap-note { padding: 8px 26px 26px; background: var(--canvas); }
.sol-soap-note section { padding-top: 22px; }
.sol-soap-note h4 { font-size: 15px; font-weight: 700; margin-bottom: 8px; color: var(--step-purple-solid); }
.sol-soap-note p, .sol-soap-note ul { font-size: 14px; line-height: 1.8; }
.sol-soap-note ul { list-style: disc; margin: 0; padding-left: 20px; }.sol-soap-note li + li { margin-top: 8px; }
.sol-transfer-layout { display: grid; grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr); gap: 14px; padding: 28px; }
.sol-transfer-layout h4 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.sol-transfer-layout p { font-size: 13px; line-height: 1.7; }
.sol-note-sheet { margin-block: 20px; background: var(--canvas); border-radius: 12px; padding: 20px; min-height: 180px; }
.sol-note-sheet strong { display: block; font-size: 14px; line-height: 1.6; margin-bottom: 14px; }
.sol-transfer-bridge { align-self: center; color: var(--accent-solid); }.sol-transfer-bridge svg { width: 100%; }
.sol-transfer-action { font-size: 12px; font-weight: 700; }

@media (max-width: 1000px) { .sol-visit-layout { grid-template-columns: 195px minmax(0, 1fr); gap: 32px; }.sol-visit-nav a { font-size: 13px; gap: 8px; }.sol-transfer-layout { grid-template-columns: 1fr; }.sol-transfer-bridge { width: 24px; height: 30px; justify-self: center; transform: rotate(90deg); }.sol-note-sheet { min-height: 0; } }
@media (max-width: 760px) {
  .sol-visit { padding-block: 20px 60px; }.sol-visit-heading { margin-bottom: 32px; }.sol-visit-heading > p { font-size: 16px; }.sol-visit-layout { display: block; }.sol-visit-nav { position: static; margin-bottom: 36px; }.sol-visit-nav ol { display: flex; flex-wrap: wrap; gap: 6px; }.sol-visit-nav a { font-size: 12px; padding: 8px; gap: 7px; }.sol-visit-nav a span { width: 23px; height: 23px; }.sol-visit-nav > p { display: none; }.sol-visit-scene { padding-bottom: 60px; }.sol-scene-copy h3 { font-size: 27px; }.sol-scene-copy p { font-size: 15px; }.sol-screen-bar { padding: 18px; gap: 8px; }.sol-case-chat { padding: 18px; }.sol-case-chat > p { max-width: 94%; padding: 12px 14px; font-size: 14px; }.sol-screen-foot { padding: 16px 18px; }.sol-draft-mapping { padding-inline: 18px; }.sol-draft-mapping > div { grid-template-columns: 1fr; gap: 10px; padding-block: 20px; }.sol-draft-mapping p { font-size: 14px; }.sol-scribe-session { padding: 20px 18px 0; }.sol-scribe-session blockquote { font-size: 14px; }.sol-soap-note { padding: 0 18px 22px; }.sol-transfer-layout { padding: 22px 18px; }
}
/* Compact, sequential Solutions story. */
.solutions-page main { display: flex; flex-direction: column; gap: var(--sol-section-gap); }
.sol-hero { order: 1; }
.sol-ai-foundation { order: 2; }
.sol-platform { order: 3; display: flex; flex-direction: column; }
.sol-visit { order: 4; }
.sol-control { order: 5; }
.sol-pricing { order: 6; }
.sol-contact { order: 7; }
.sol-platform .sol-section-heading { margin-bottom: 22px; }
.sol-platform .sol-section-heading > p { margin-top: 13px; }
.sol-tabs { margin-bottom: 14px; padding: 4px; border: 0; border-radius: 999px; background: var(--surface-2); }
.sol-tabs a { padding-block: 13px; }
.sol-swipe-cue { display: none; }
.sol-module { min-height: 0; padding-block: 22px; }
.sol-module + .sol-module { border-top: 0; }
.sol-visit-heading { margin-bottom: 30px; }
.sol-visit-scenes { display: grid; gap: var(--sol-section-gap); }
.sol-visit-scene { min-height: 0; padding-block: 0; }
.sol-visit-scene:last-child { padding-bottom: 0; }
.sol-scene-handoff { background: var(--step-green-tint-bg); }
.sol-handoff-steps { list-style: none; margin: 0; padding: 24px 26px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.sol-handoff-steps li { min-width: 0; padding: 18px; border-radius: 16px; background: var(--canvas); display: flex; align-items: flex-start; gap: 12px; }
.sol-handoff-steps li > span { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: var(--accent-solid); color: var(--text-on-accent); font-size: 12px; font-weight: 700; }
.sol-handoff-steps strong { display: block; margin-bottom: 5px; font-size: 14px; }
.sol-handoff-steps p { font-size: 13px; line-height: 1.55; color: var(--text-secondary); }
.sol-footer { flex-wrap: nowrap; gap: 18px; }
.sol-footer > p { margin-right: auto; white-space: nowrap; }
.sol-footer > span { white-space: nowrap; }

/* Pricing and note-format callouts extend the existing step-color system. */
.sol-note-formats { display: flex; align-items: flex-start; gap: 16px; margin-top: var(--sol-content-gap); padding: 24px; border-radius: var(--radius-l); background: var(--step-purple-tint-bg); }
.sol-note-formats > svg { width: 22px; height: 22px; flex: 0 0 22px; color: var(--step-purple-solid); }
.sol-note-formats h3 { font-size: 19px; line-height: 1.35; font-weight: 700; margin-bottom: 8px; }
.sol-note-formats p { color: var(--text-secondary); font-size: 15px; line-height: 1.7; }
.sol-pricing { scroll-margin-top: 28px; }
.sol-pricing-heading { text-align: center; max-width: 760px; margin: 0 auto var(--sol-content-gap); }
.sol-pricing-heading h2 { margin-top: 0; }
.sol-pricing-heading p { margin-top: var(--sol-heading-gap); color: var(--text-secondary); font-size: 16px; line-height: 1.75; }
.sol-pricing-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 28px; align-items: stretch; }
.sol-price-summary { padding: 30px; border-radius: var(--radius-l); background: var(--step-blue-tint-bg); }
.sol-price-summary h3, .sol-price-modules h3 { font-size: 21px; line-height: 1.3; font-weight: 700; }
.sol-price-amounts { margin: 22px 0 0; }
.sol-price-amounts > div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding-block: 15px; border-top: 1px solid var(--border-hairline); }
.sol-price-amounts dt { color: var(--text-secondary); font-size: 14px; }
.sol-price-amounts dd { margin: 0; color: var(--step-blue-solid); font-size: 18px; line-height: 1.3; font-weight: 700; font-variant-numeric: tabular-nums; }
.sol-price-summary > p { margin-top: 18px; color: var(--text-secondary); font-size: 14px; line-height: 1.7; }
.sol-price-modules { padding-block: 8px; }
.sol-price-modules ul { display: grid; gap: 20px; margin: 22px 0 0; padding: 0; list-style: none; }
.sol-price-modules li { display: flex; align-items: flex-start; gap: 14px; }
.sol-price-modules li > svg { width: 22px; height: 22px; flex: 0 0 22px; color: var(--step-green-solid); }
.sol-price-modules li strong { display: block; font-size: 15px; line-height: 1.4; }
.sol-price-modules li p { margin-top: 4px; color: var(--text-secondary); font-size: 14px; line-height: 1.65; }
.sol-price-modules > .sol-pricing-custom { margin-top: 20px; color: var(--text-secondary); font-size: 14px; line-height: 1.65; }
.sol-pricing-details { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: var(--sol-content-gap); }
.sol-pricing-details > div { display: flex; align-items: flex-start; gap: 14px; }
.sol-pricing-details > div > svg { width: 22px; height: 22px; flex: 0 0 22px; color: var(--step-purple-solid); }
.sol-pricing-details h3 { font-size: 16px; line-height: 1.4; font-weight: 700; margin-bottom: 6px; }
.sol-pricing-details p { color: var(--text-secondary); font-size: 14px; line-height: 1.7; }
.sol-footer .sol-theme { margin-left: 2px; }

@media (max-width: 760px) {
  .sol-note-formats { padding: 20px; }
  .sol-pricing-heading { margin-bottom: var(--sol-content-gap); }
  .sol-pricing-heading p { font-size: 15px; }
  .sol-pricing-layout, .sol-pricing-details { grid-template-columns: 1fr; gap: 24px; }
  .sol-price-summary { padding: 24px; }
  .sol-price-modules { padding: 0; }
  .sol-platform { overflow: hidden; }
  .sol-platform .sol-section-heading { margin-bottom: 16px; }
  .sol-platform .sol-section-heading > p { margin-top: 10px; }
  .sol-tabs { width: 100%; overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; margin-bottom: 4px; scrollbar-width: none; }
  .sol-tabs::-webkit-scrollbar, .sol-modules::-webkit-scrollbar { display: none; }
  .sol-tabs a { flex: 0 0 auto; min-width: 92px; padding: 9px 12px; font-size: 13px; }
  .sol-tabs a[aria-current="true"] { background: var(--accent-solid); color: var(--text-on-accent); }
  .sol-swipe-cue { display: flex; align-items: center; justify-content: center; min-height: 32px; margin-bottom: 8px; }
  .sol-swipe-dots { display: flex; align-items: center; gap: 10px; }
  .sol-swipe-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--text-muted); }
  .sol-swipe-dots i[data-active] { background: var(--accent-solid); }
  .sol-modules { display: grid; grid-auto-flow: column; grid-auto-columns: calc(100% - 20px); align-items: stretch; gap: 10px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scroll-padding-inline: 0; scrollbar-width: none; }
  .sol-module { grid-template-columns: 1fr; align-content: start; gap: 14px; min-height: 0; padding: 18px; border: 1px solid var(--border-hairline); border-radius: var(--radius-l); background: var(--surface); scroll-snap-align: start; scroll-snap-stop: always; }
  .sol-module[data-panel="intake"] { order: 1; }
  .sol-module[data-panel="clinic"] { order: 2; }
  .sol-module[data-panel="wellness"] { order: 3; }
  .sol-module[data-panel="telehealth"] { order: 4; }
  .sol-module[data-panel="scribe"] { order: 5; }
  .sol-module-copy h3 { margin: 0 0 9px; font-size: 24px; line-height: 1.18; }
  .sol-module-copy > p:not(.sol-kicker) { font-size: 14.5px; line-height: 1.5; }
  .sol-module-copy ul { display: none; }
  .sol-module-visual { min-height: 0; padding: 15px; border-radius: 14px; }
  .sol-mock-heading { gap: 8px; padding-bottom: 12px; font-size: 12px; }
  .sol-mock-heading > span { font-size: 11.5px; }
  .sol-chat-example { gap: 9px; }
  .sol-chat-example > p { padding: 10px 12px; font-size: 12.5px; line-height: 1.4; border-radius: 12px 12px 12px 3px; }
  .sol-chat-example > .sol-chat-answer { border-radius: 12px 12px 3px 12px; }
  .sol-chat-example > span { font-size: 11px; }
  .sol-mini-tabs { gap: 8px; padding: 7px 0; font-size: 11px; }
  .sol-split-preview { grid-template-columns: 78px 1fr; gap: 10px; padding-top: 9px; }
  .sol-split-preview aside { gap: 9px; font-size: 11px; }
  .sol-split-preview h4 { margin-block: 10px 8px; }
  .sol-preview-action { margin-top: 9px; padding: 6px 9px; font-size: 11px; }
  .sol-trend-label { margin-top: 4px; gap: 4px; }
  .sol-trend { height: 72px; margin-top: 4px; }
  .sol-context-tags { gap: 5px; padding-block: 10px 0; }
  .sol-context-tags span { padding: 5px 7px; font-size: 11px; }
  .sol-vertical-flow { gap: 9px; }
  .sol-vertical-flow li { gap: 12px; }
  .sol-vertical-flow li > span { padding: 10px; border-radius: 11px; }
  .sol-waveform { height: 40px; gap: 4px; }
  .sol-scribe-note { padding: 13px; }
  .sol-visit { padding-block: 34px 50px; }
  .sol-visit-heading { margin-bottom: 20px; }
  .sol-visit-nav { position: sticky; top: 0; z-index: 4; margin: 0 calc(-1 * (100vw - 100%) / 2) 18px; padding: 8px max(16px, calc((100vw - 100%) / 2)); background: color-mix(in srgb, var(--canvas) 94%, transparent); backdrop-filter: blur(12px); overflow-x: auto; scrollbar-width: none; }
  .sol-visit-nav::-webkit-scrollbar { display: none; }
  .sol-visit-nav ol { flex-wrap: nowrap; width: max-content; }
  .sol-visit-nav a { white-space: nowrap; }
  .sol-visit-scene { scroll-margin-top: 55px; }
  .sol-handoff-steps { grid-template-columns: 1fr; padding: 18px; }
  .sol-footer { gap: 10px; padding-block: 24px; }
  .sol-footer > p { display: none; }
  .sol-footer > span { margin-left: auto; font-size: 11px; }
  .sol-footer .sol-theme { width: 34px; height: 34px; flex-basis: 34px; }
}
@media (max-width: 390px) {
  .sol-footer { gap: 8px; }
  .sol-footer .sol-brand { gap: 6px; font-size: 11px; }
  .sol-footer .sol-brand strong { font-size: 11px; }
  .sol-footer .sol-brand img { width: 28px; height: 28px; }
  .sol-footer > span { font-size: 11px; }
}
/* Shared vertical rhythm: section gaps own separation; content owns its height. */
.solutions-page main > :is(.sol-hero, .sol-ai-foundation, .sol-platform, .sol-visit, .sol-control) { padding-block: 0; }
.solutions-page main > .sol-hero { padding-top: 40px; }
.sol-platform .sol-section-heading, .sol-visit-heading { margin-bottom: var(--sol-content-gap); }
.sol-platform .sol-section-heading h2, .sol-control h2, .sol-contact h2 { margin-top: 0; }
.sol-ai-foundation h2, .sol-visit-heading h2 { margin-bottom: var(--sol-heading-gap); }
.sol-platform .sol-section-heading > p { margin-top: var(--sol-heading-gap); }
.sol-scene-copy { margin-bottom: var(--sol-content-gap); }
.sol-scene-copy h3 { margin-bottom: var(--sol-heading-gap); }
.sol-control-intro { margin-top: var(--sol-heading-gap) !important; }
.sol-control-list > div { padding-block: var(--sol-content-gap); }
.sol-control-list > div:first-child { padding-top: 0; }
.sol-control-list > div:last-child { padding-bottom: 0; }
.sol-footer { padding-block: 32px; }
@media (min-width: 761px) {
  .sol-module { min-height: var(--sol-panel-height, 0px); }
  .sol-module-visual { min-height: var(--sol-visual-height, 335px); }
}
@media (max-width: 760px) {
  .solutions-page { --sol-section-gap: 48px; --sol-heading-gap: 16px; --sol-content-gap: 24px; }
  .solutions-page main > .sol-hero { padding-top: 24px; }
  .sol-control { gap: var(--sol-content-gap); }
  .sol-visit-scene { padding-block: 0; }
  .sol-visit-nav { margin-bottom: var(--sol-content-gap); }
  .sol-footer { padding-block: 24px; }
}
@media (prefers-reduced-motion: reduce) { .solutions-page *, .solutions-page *::before, .solutions-page *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation: none !important; } }

/* Pricing uses the existing Ayah type, color, and spacing system. */
.sol-pricing-heading { max-width: 800px; }
.sol-pricing-heading h2 { text-wrap: balance; }
.sol-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.sol-plan { display: flex; flex-direction: column; min-width: 0; padding: 28px; border-radius: 16px; background: var(--surface); }
.sol-plan-featured { background: var(--step-green-tint-bg); }
.sol-plan-head { padding-bottom: 19px; border-bottom: 1px solid var(--border-hairline); }
.sol-plan-head h3 { font-size: 23px; font-weight: 700; line-height: 1.2; }
.sol-plan-head p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 7px; margin-top: 20px; }
.sol-plan-head strong { font-size: clamp(37px, 3.3vw, 48px); font-weight: 700; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.sol-plan-head span { font-size: 13px; color: var(--text-secondary); }
.sol-plan-intro { margin-top: 19px !important; font-size: 15px; font-weight: 700; line-height: 1.5; }
.sol-plan ul { margin: 20px 0 0; padding: 0; list-style: none; display: grid; gap: 13px; }
.sol-plan li { position: relative; padding-left: 22px; font-size: 14px; line-height: 1.55; color: var(--text-secondary); }
.sol-plan li::before { content: ''; position: absolute; left: 1px; top: .55em; width: 9px; height: 5px; border: solid var(--accent-solid); border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.sol-plan-note { max-width: 790px; margin: 20px auto 0 !important; text-align: center; font-size: 13px; line-height: 1.7; color: var(--text-secondary); }
.sol-pricing-subsection, .sol-compare { margin-top: 56px; }
.sol-subheading { max-width: 700px; margin-bottom: 22px; }
.sol-subheading h3 { font-size: clamp(24px, 2.4vw, 32px); font-weight: 700; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.sol-subheading p { margin-top: 8px; color: var(--text-secondary); font-size: 15px; line-height: 1.65; }
.sol-option-list { border-top: 1px solid var(--border-hairline); }
.sol-option-list > div { display: grid; grid-template-columns: 150px minmax(0, 1fr) minmax(180px, auto); align-items: baseline; gap: 22px; padding: 22px 0; border-bottom: 1px solid var(--border-hairline); }
.sol-option-list h4 { font-size: 18px; font-weight: 700; line-height: 1.4; }
.sol-option-list p { max-width: 66ch; color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
.sol-option-list strong { justify-self: end; white-space: nowrap; font-size: 19px; font-variant-numeric: tabular-nums; }
.sol-option-list strong span { font-size: 12px; font-weight: 500; color: var(--text-secondary); }
.sol-pricing-terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 56px; }
.sol-pricing-terms > div { min-width: 0; padding-top: 18px; border-top: 1px solid var(--accent-solid); }
.sol-pricing-terms h3 { font-size: 18px; font-weight: 700; line-height: 1.3; }
.sol-pricing-terms p { margin-top: 10px; color: var(--text-secondary); font-size: 14px; line-height: 1.7; }
.sol-enterprise { margin-top: 26px !important; max-width: 75ch; color: var(--text-secondary); font-size: 14px; line-height: 1.7; }
.sol-enterprise a, .sol-compare a { color: var(--accent-solid); text-decoration: underline; text-underline-offset: 3px; }
.comparison-scroll { width: 100%; overflow-x: auto; border-radius: 14px; background: var(--surface); }
.comparison-scroll:focus-visible { outline: 3px solid var(--accent-solid); outline-offset: 4px; }
.pricing-comparison { width: 100%; min-width: 650px; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.pricing-comparison caption { padding: 15px 18px 0; text-align: left; color: var(--text-secondary); font-size: 12px; }
.pricing-comparison :is(th, td) { padding: 14px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border-hairline); }
.pricing-comparison thead th { color: var(--text-secondary); font-size: 12px; font-weight: 700; }
.pricing-comparison tbody th { width: 25%; font-weight: 700; }
.pricing-comparison tbody td:nth-child(2) { width: 22%; white-space: nowrap; font-weight: 700; font-variant-numeric: tabular-nums; }
.pricing-comparison tbody tr:last-child :is(th, td) { border-bottom: 0; }
.comparison-featured { background: var(--step-green-tint-bg); }
.sol-source-note { margin-top: 13px !important; color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
@media (max-width: 900px) { .sol-plan-grid { gap: 10px; }.sol-plan { padding: 22px; }.sol-pricing-terms { gap: 20px; } }
@media (max-width: 760px) { .sol-plan-grid, .sol-pricing-terms { grid-template-columns: 1fr; gap: 12px; }.sol-plan { padding: 24px; }.sol-plan-head strong { font-size: 42px; }.sol-pricing-subsection, .sol-compare, .sol-pricing-terms { margin-top: 42px; }.sol-option-list > div { grid-template-columns: 1fr; gap: 7px; padding: 19px 0; }.sol-option-list strong { justify-self: start; margin-top: 3px; }.sol-pricing-terms { gap: 26px; }.comparison-scroll { scrollbar-color: var(--accent-solid) var(--surface-2); } }

.sol-choice { margin-top: 40px; padding: 32px; border-radius: var(--radius-l); background: var(--accent-tint-bg); display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; row-gap: 14px; align-items: center; }
.sol-choice h3 { font-size: clamp(23px, 2.5vw, 30px); font-weight: 700; line-height: 1.25; }
.sol-choice p { max-width: 65ch; color: var(--text-secondary); line-height: 1.75; font-size: 15px; }
.sol-choice .sol-cta { grid-column: 2; grid-row: 1 / 3; text-align: center; }
@media (max-width: 900px) { .sol-choice { grid-template-columns: 1fr; padding: 24px; }.sol-choice .sol-cta { grid-column: 1; grid-row: auto; justify-self: center; margin-top: 8px; } }


/* Approved Ayah wave hero. Decorative, noninteractive, independent of page layout. */
.solutions-page main > .sol-hero { padding-top: 0; gap: 0; }
.sol-hero-art {
  --sol-wave-canvas: 255,255,255;
  --sol-wave-tint: #0f766e;
  position: relative; isolation: isolate; overflow: hidden;
  align-self: center; width: 100vw; padding-block: 40px 56px;
}
.sol-hero-art::before {
  content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
  opacity: .65;
  background: radial-gradient(ellipse at 0% 42%,rgba(78,177,162,.22),transparent 52%),
    radial-gradient(ellipse at 100% 58%,rgba(78,177,162,.22),transparent 52%);
}
.sol-hero-waves {
  position: absolute; top: 0; left: 50%; width: 100%; min-width: 1100px; height: 100%;
  transform: translateX(-50%); z-index: -1; pointer-events: none;
}
.sol-wave-fills path:nth-child(1) { opacity: .025; }
.sol-wave-fills path:nth-child(2) { opacity: .055; }
.sol-wave-fills path:nth-child(3) { opacity: .09; }
.sol-wave-edges { opacity: .10; }
.sol-hero-waves > g[mask] { opacity: .7; }
.sol-hero-art .sol-hero-copy { position: relative; z-index: 0; width: min(940px, calc(100% - 80px)); }
.sol-hero-art .sol-hero-copy::before {
  content: ""; position: absolute; inset: -35px -80px; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at center,rgba(var(--sol-wave-canvas),.78) 0%,rgba(var(--sol-wave-canvas),.55) 48%,transparent 73%);
}
html:not(.dark) .sol-hero-art .sol-lead { color: #435552; }
html:not(.dark) .sol-hero-art :is(.sol-founder-proof,.sol-small) { color: #4e605d; }
.sol-wave-current { animation: sol-wave-current 8s linear infinite; transform: translateX(-300px); }
.sol-wave-current.second { animation-duration: 10s; animation-delay: -4s; }
@keyframes sol-wave-current { from { transform: translateX(-300px); } to { transform: translateX(1700px); } }
.sol-hero-art + .sol-intake-engine { margin-top: 0 !important; }
html.dark .sol-hero-art { --sol-wave-canvas: 6,7,8; --sol-wave-tint: #14b8a6; }
html.dark #sol-wave-pulse stop { stop-color: #5eead4; }
@media (max-width: 1000px) {
  .sol-hero-art .sol-hero-copy { width: calc(100% - 48px); }
}
@media (max-width: 760px) {
  .sol-hero-art { padding-block: 24px 32px; }
  .sol-hero-art .sol-hero-copy::before {
    inset: 0 -12px;
    background: linear-gradient(90deg,transparent,rgba(var(--sol-wave-canvas),.12) 4%,rgba(var(--sol-wave-canvas),.35) 10%,rgba(var(--sol-wave-canvas),.56) 17%,rgba(var(--sol-wave-canvas),.68) 26%,rgba(var(--sol-wave-canvas),.72) 38%,rgba(var(--sol-wave-canvas),.73) 50%,rgba(var(--sol-wave-canvas),.72) 62%,rgba(var(--sol-wave-canvas),.68) 74%,rgba(var(--sol-wave-canvas),.56) 83%,rgba(var(--sol-wave-canvas),.35) 90%,rgba(var(--sol-wave-canvas),.12) 96%,transparent);
  }
  .sol-hero-art .sol-actions { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) { .sol-wave-current { display: none; animation: none; } }
@media print { .sol-hero-waves,.sol-hero-art::before,.sol-hero-art .sol-hero-copy::before { display: none; } }
