/* Concrete scenario illustrations. Existing page grid, photography and palette stay in charge. */
/* Bound the photographed composition on large displays; page content keeps its existing grid. */
.hero { max-width:1680px; margin-inline:auto; width:calc(100% - 32px); }
.monitor-preview { background:#f1f4fa; }
.monitor-top { height:66px; display:flex; align-items:center; justify-content:space-between; padding:0 30px; border-bottom:1px solid #dbe2ef; color:#566177; font-size:18px; }
.monitor-top>span:first-child { display:flex; align-items:center; gap:10px; color:#20252f; font-size:23px; }
.monitor-top .icon { width:24px; height:24px; color:var(--accent); }
.monitor-body { display:grid; grid-template-columns:352px 1fr; gap:24px; padding:24px 26px; height:469px; }
.monitor-conversation { min-width:0; padding-top:7px; }
.monitor-conversation-title { display:flex; align-items:center; gap:11px; font-size:25px; line-height:1.3; letter-spacing:-.5px; }
.monitor-conversation-title .icon { width:23px; height:23px; color:#526783; }
.monitor-chat { display:flex; flex-direction:column; gap:12px; list-style:none; margin:20px 0 0; padding:0; }
.monitor-chat>li { max-width:94%; padding:13px 17px; font-size:23px; line-height:1.35; }
.monitor-chat strong { font-weight:600; }
.monitor-chat-client { align-self:flex-end; border:1px solid #d8e0ee; border-radius:13px 13px 3px 13px; background:#fff; }
.monitor-chat-assistant { align-self:flex-start; border-radius:13px 13px 13px 3px; background:#e1e9fa; }
.monitor-chat-confirmed { display:flex; align-items:flex-start; gap:10px; align-self:flex-start; border-radius:13px 13px 13px 3px; background:#e1e9fa; color:#254982; }
.monitor-chat-confirmed>.icon { width:19px; height:19px; margin-top:5px; flex-shrink:0; color:var(--accent); }
.monitor-admin { min-width:0; padding:20px 21px; border:1px solid #d4deef; border-radius:14px; background:#fff; box-shadow:0 12px 36px #20252f08; }
.monitor-admin-heading { display:flex; align-items:center; gap:10px; padding-bottom:14px; border-bottom:1px solid #e1e7f0; }
.monitor-admin-heading>.icon { width:22px; height:22px; color:var(--accent); }
.monitor-admin-title { font-size:24px; letter-spacing:-.4px; }
.monitor-admin-heading>span { margin-left:auto; font-size:18px; color:#526783; }
.monitor-month { margin-top:14px; font-size:25px; line-height:1.25; letter-spacing:-.4px; }
.monitor-week { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:13px; }
.monitor-week>span { display:flex; flex-direction:column; align-items:center; gap:1px; padding:5px 0; border-radius:8px; font-size:17px; line-height:1.25; color:#647084; }
.monitor-week strong { font-size:23px; font-weight:500; color:#20252f; }
.monitor-week>.monitor-day-selected { background:#e6edff; color:#3159b7; }
.monitor-day-selected strong { color:#3159b7; font-weight:600; }
.monitor-agenda { margin-top:16px; }
.monitor-agenda-row { display:grid; grid-template-columns:58px 1fr; gap:11px; min-height:38px; }
.monitor-hour { font-size:18px; line-height:1; color:#647084; font-variant-numeric:tabular-nums; }
.monitor-agenda-empty { border-top:1px solid #e1e7f0; }
.monitor-agenda-booked { min-height:112px; }
.monitor-agenda-booked>.monitor-hour { color:#3159b7; font-weight:600; }
.monitor-appointment { display:flex; flex-direction:column; gap:4px; align-self:start; padding:11px 14px; margin-top:-9px; background:var(--accent); color:#fff; border-radius:8px; box-shadow:0 7px 18px #3566ff20; }
.monitor-new { display:flex; align-items:center; gap:7px; font-size:17px; }
.monitor-new>.icon { width:17px; height:17px; }
.monitor-appointment>strong { font-size:23px; line-height:1.35; font-weight:600; letter-spacing:-.4px; white-space:nowrap; }
.monitor-appointment>span:last-child { font-size:18px; line-height:1.4; }
@media (prefers-reduced-motion:no-preference) {
  .monitor-preview.ready .monitor-appointment { animation:monitor-entry 280ms cubic-bezier(.23,1,.32,1) 650ms backwards; }
}
@keyframes monitor-entry { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1101px) and (max-width:1399px) {
  .hero { height:clamp(700px,57vw,790px); }
  .hero-copy { left:41px; width:min(490px,calc(45% - 88px)); }
  .hero h1 { font-size:clamp(48px,4.2vw,58px); }
}
@media(max-width:1000px) and (min-width:701px) {
  .hero { width:calc(100% - 24px); }
}
/* The five navigation links need a menu before they squeeze the contact button. */
@media(max-width:900px) {
  .nav,.header-contact { display:none; }
  .menu-button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; border:1px solid #a8bde12b; border-radius:50%; background:#ffffff07; margin-left:auto; }
  .mobile-menu { position:absolute; display:flex; flex-direction:column; left:0; right:0; top:calc(100% - 7px); padding:15px; border:1px solid #ffffff22; border-radius:10px; background:#151922; box-shadow:0 12px 25px #0b101e50; max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; }
  .mobile-menu a { min-height:44px; width:100%; padding:12px 8px; font-size:14px; color:#dfe6f4; }
}
@media(max-width:700px) {
  .hero { width:calc(100% - 16px); }
  .hero-visual { height:min(350px,90vw); }
}
@media(max-width:370px) {
  .hero h1 { font-size:clamp(29px,9.1vw,33.5px); }
}
.hero-demo-entry { position:absolute; left:max(56px,calc((100% - 1320px)/2)); bottom:45px; }
.hero-demo-link { display:inline-flex; gap:22px; align-items:center; padding-block:12px; font-size:16px; color:#fff; border-bottom:1px solid #ffffff55; transition:color 180ms ease; }
.hero-demo-link .icon { width:17px; height:17px; transition:transform 180ms var(--ease); }
.hero-demo-entry>p { font-size:13px; line-height:1.55; color:#c5d2eb; margin-top:11px; }
.engine .section-intro h2 { font-size:clamp(32px,3.05vw,44px); }
.engine .section-intro>p { flex-shrink:0; }
.scenario-demo { --demo-bg:#151922; --demo-panel:#1d2330; --demo-line:#364052; --demo-ink:#f3f6fc; --demo-muted:#bac6db; background:var(--demo-bg); color:var(--demo-ink); border-radius:15px; overflow:hidden; margin-top:36px; }
.scenario-demo-top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:23px 32px 17px; font-size:12px; color:var(--demo-muted); }
.demo-brand { display:flex; align-items:center; gap:9px; font-size:16px; color:var(--demo-ink); }
.demo-brand .icon { color:#85a6ff; width:18px; height:18px; }
.scenario-tabs { display:flex; gap:10px; padding:0 32px 24px; flex-wrap:wrap; }
.scenario-tabs>button { display:flex; align-items:center; gap:9px; min-height:44px; padding:11px 17px; border:1px solid var(--demo-line); border-radius:8px; background:transparent; color:var(--demo-muted); font-size:14px; transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,transform 140ms var(--ease); }
.scenario-tabs>button .icon { width:15px; height:15px; }
.scenario-tabs>button[aria-selected="true"] { background:#23365f; border-color:#668ef4; color:#fff; }
.scenario-panel { padding:7px 32px 0; }
.demo-columns { display:grid; grid-template-columns:1fr 1fr; gap:52px; min-height:371px; align-items:start; }
.demo-columns>div { min-width:0; }
.demo-label { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--demo-muted); margin-bottom:17px; }
.demo-label .icon { width:14px; height:14px; }
.demo-chat { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.chat-message { max-width:94%; padding:14px 17px; border-radius:12px 12px 12px 3px; background:var(--demo-panel); font-size:15px; line-height:1.55; }
.chat-message small { display:block; font-size:12px; color:var(--demo-muted); margin-bottom:5px; }
.from-client { align-self:flex-end; border-radius:12px 12px 3px 12px; background:#23365f; }
.chat-confirmation { border-left:2px solid #7da1ff; }
.booking-calendar { background:var(--demo-panel); border:1px solid var(--demo-line); border-radius:12px; padding:22px; }
.calendar-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.calendar-month { display:block; color:var(--demo-muted); font-size:13px; margin-bottom:3px; }
.calendar-heading h3 { font-size:24px; letter-spacing:-.6px; }
.calendar-heading>.icon { width:27px; height:27px; color:#85a6ff; }
.booking-slots { display:flex; gap:10px; margin-top:19px; }
.booking-slots>button { padding:9px 19px; background:var(--demo-bg); color:var(--demo-ink); border:1px solid #52617a; border-radius:7px; min-height:43px; font-size:15px; font-variant-numeric:tabular-nums; transition:background-color 180ms ease,border-color 180ms ease,transform 140ms var(--ease); }
.booking-slots>button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); }
.booking-details { display:grid; gap:9px; font-size:13px; margin:21px 0; }
.booking-details>div { display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.booking-details dt { color:var(--demo-muted); }
.booking-details dd { margin:0; text-align:right; }
.demo-action { display:flex; align-items:center; justify-content:center; gap:16px; padding:12px 17px; width:100%; min-height:46px; border:1px solid transparent; border-radius:8px; background:var(--accent); color:#fff; font-size:14px; line-height:1.45; transition:background-color 180ms ease,transform 140ms var(--ease); }
.demo-action>.icon { width:14px; height:14px; }
.demo-action:disabled { cursor:default; background:#2c3953; color:#c2cfe4; }
.booking-receipt { position:relative; padding:28px 29px; background:#f3f6fc; color:#20252f; border-radius:12px; min-height:328px; border-top:4px solid #7195f4; }
.receipt-label { display:flex; align-items:center; gap:10px; font-size:14px; color:#3159b7; }
.receipt-label>.icon { width:19px; height:19px; }
.booking-receipt>strong { display:block; font-size:65px; line-height:1.1; letter-spacing:-3px; font-weight:400; margin:19px 0 10px; font-variant-numeric:tabular-nums; }
.booking-receipt h3 { font-size:21px; line-height:1.35; letter-spacing:-.3px; }
.booking-receipt>p { margin-top:4px; font-size:14px; color:#59677d; }
.receipt-footer { display:flex; align-items:center; gap:8px; margin-top:23px; padding-top:16px; border-top:1px solid #d8e0ed; font-size:12px; color:#40516c; }
.receipt-footer>.icon { width:13px; height:13px; color:#3159b7; }
.demo-human { display:flex; align-items:flex-start; gap:11px; border-top:1px solid var(--demo-line); margin-top:25px; padding:19px 0 22px; color:var(--demo-muted); }
.demo-human>.icon { width:15px; height:15px; margin-top:3px; }
.demo-human>p { font-size:13px; line-height:1.6; max-width:670px; }
.demo-reset { display:inline-flex; align-items:center; justify-content:flex-end; gap:9px; align-self:center; margin-left:auto; padding:8px 0 8px 16px; flex-shrink:0; font-size:12px; color:#d4e0fc; border:0; background:none; }
.demo-reset>.icon { width:12px; height:12px; }
.scenario-demo-note { display:flex; justify-content:space-between; gap:15px 35px; padding:16px 32px; background:var(--demo-panel); font-size:12px; color:var(--demo-muted); }
.source-document { background:#f4f6fc; color:#252e3e; border-radius:4px 4px 12px 4px; padding:23px; box-shadow:0 9px 0 -4px #4d5a73; }
.document-heading { display:flex; align-items:center; gap:11px; font-size:19px; }
.document-heading>.icon { width:21px; height:26px; color:#3159b7; }
.document-heading small { display:block; font-size:12px; color:#59677d; margin-top:4px; }
.document-format { font-size:11px; margin-left:auto; color:#59677d; }
.document-lines { margin-top:22px; }
.document-lines>div { display:flex; justify-content:space-between; gap:16px; margin:0 -7px; padding:12px 7px; border-top:1px solid #d8e0ed; font-size:15px; transition:background-color 180ms ease; }
.document-lines[data-extracted="true"]>div { background:#dce6ff; }
.document-source-note { font-size:12px; color:#59677d; margin-top:18px; }
.demo-source>.demo-action { margin-top:25px; }
.document-output { border:1px solid var(--demo-line); background:var(--demo-panel); border-radius:12px; padding:23px; min-height:305px; }
.demo-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:258px; text-align:center; }
.demo-empty>.icon { width:29px; height:29px; color:#8eacec; margin-bottom:17px; }
.demo-empty>h3 { font-size:18px; letter-spacing:-.2px; }
.demo-empty>p { margin-top:9px; font-size:14px; line-height:1.6; color:var(--demo-muted); }
.output-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:11px; }
.output-heading h3 { font-size:19px; letter-spacing:-.3px; }
.output-heading>span { font-size:11px; border:1px solid #5876b0; border-radius:5px; padding:3px 7px; color:#d0ddfa; white-space:nowrap; }
.extracted-row { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:14px 0; border-top:1px solid var(--demo-line); font-size:14px; }
.extracted-row strong { font-weight:500; }
.extracted-row small { display:flex; align-items:center; gap:6px; color:var(--demo-muted); font-size:12px; margin-top:5px; }
.extracted-row small>.icon { width:11px; height:11px; color:#b0c6fb; }
.extracted-row>span { white-space:nowrap; }
.review-note { display:flex; align-items:flex-start; gap:9px; padding:12px 13px; background:#263858; border-radius:6px; color:#dce6fb; margin-top:7px; font-size:13px; line-height:1.55; }
.review-note>.icon { width:13px; height:13px; margin-top:3px; }
.request-email { background:var(--demo-panel); border:1px solid var(--demo-line); border-radius:10px; padding:20px 22px; }
.request-email>span { font-size:12px; color:var(--demo-muted); }
.request-email h3 { font-size:19px; letter-spacing:-.3px; margin-top:9px; }
.request-email>p { font-size:15px; margin-top:14px; line-height:1.6; }
.email-attachment { display:flex; align-items:center; gap:7px; color:var(--demo-muted); font-size:12px; margin-top:17px; }
.email-attachment>.icon { width:12px; height:12px; }
.quote-sources { padding-top:18px; }
.quote-sources>p { font-size:12px; color:var(--demo-muted); margin-bottom:7px; }
.quote-sources>div { display:flex; justify-content:space-between; gap:20px; padding-block:4px; font-size:13px; }
.quote-sources strong { font-weight:400; }
.quote-sources>div>span { color:var(--demo-muted); }
.quote-empty { border:1px solid var(--demo-line); border-radius:12px; background:var(--demo-panel); min-height:368px; }
.quote-paper { background:#f4f6fc; color:#252e3e; padding:25px; border-radius:4px 4px 12px 4px; box-shadow:0 9px 0 -4px #4d5a73; }
.quote-paper-top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#59677d; font-size:11px; }
.quote-paper-top>span:last-child { border:1px solid #bcc9e2; padding:3px 7px; border-radius:4px; }
.quote-paper h3 { font-size:25px; letter-spacing:-.7px; line-height:1.2; margin:21px 0; }
.quote-line { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:13px 0; font-size:14px; border-top:1px solid #d5deed; }
.quote-line small { display:block; font-size:12px; color:#59677d; margin-top:4px; }
.quote-line strong { font-weight:500; white-space:nowrap; font-variant-numeric:tabular-nums; }
.quote-total { display:flex; justify-content:space-between; gap:20px; font-size:21px; margin-top:8px; }
.quote-total strong { font-weight:500; }
.quote-review { display:flex; align-items:flex-start; gap:9px; margin-top:20px; padding:12px; border-radius:5px; background:#e0e8f9; font-size:12px; color:#344b79; }
.quote-review>.icon { width:13px; height:13px; margin-top:3px; }
.scenario-service .solution-photo { aspect-ratio:1.8; }
.scenario-service .solution-copy { padding:23px 23px 20px; }
.scenario-service .solution-copy h3 { font-size:22px; min-height:58px; }
.scenario-service .solution-copy>p { margin-top:14px; margin-bottom:20px; }
.service-result { display:flex; align-items:flex-start; gap:9px; font-size:13px; color:#395789; margin-top:20px; padding-top:17px; border-top:1px solid var(--line); }
.service-result>.icon { width:14px; height:14px; margin-top:3px; }
.scenario-service .service-result { margin-top:auto; }
.scenario-service .solution-link { margin-top:0; padding-top:21px; }
.implementation-steps { grid-template-columns:1fr 1.04fr; align-items:start; gap:70px; }
.implementation-steps h2 { font-size:42px; line-height:1.15; }
.implementation-steps .principles-description { max-width:420px; margin-top:24px; }
.implementation-boundary { display:flex; gap:13px; padding:22px 0; border-top:1px solid var(--line); margin-top:32px; color:#53627c; max-width:420px; }
.implementation-boundary>.icon { color:var(--accent); width:18px; height:18px; margin-top:3px; }
.implementation-boundary p { font-size:14px; line-height:1.65; }
.implementation-timeline { padding:0; margin:7px 0 0; list-style:none; }
.implementation-timeline li { display:grid; grid-template-columns:36px 1fr; gap:20px; position:relative; padding-bottom:29px; }
.implementation-timeline li:last-child { padding-bottom:0; }
.implementation-timeline li:not(:last-child)::after { content:""; position:absolute; width:1px; background:#c7d6f7; top:39px; bottom:3px; left:17px; }
.step-icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#edf2ff; color:#3565d9; }
.step-icon>.icon { width:15px; height:15px; }
.implementation-timeline h3 { font-size:21px; line-height:1.4; letter-spacing:-.4px; }
.implementation-timeline p { font-size:14px; line-height:1.65; color:#59677d; margin-top:8px; }
.step-result { display:block; font-size:12px; color:#3159b7; margin-top:10px; }
.nav>a { white-space:nowrap; }
.faq { display:grid; grid-template-columns:320px minmax(0,1fr); align-items:start; gap:76px; padding-top:0; padding-bottom:96px; }
.faq-intro h2 { font-size:42px; line-height:1.15; letter-spacing:-1.4px; margin-top:19px; }
.faq-intro>p:last-child { font-size:16px; line-height:1.65; color:var(--muted); margin-top:23px; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item>summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:77px; padding:22px 0; list-style:none; font-size:18px; line-height:1.45; color:var(--ink); cursor:pointer; transition:color 180ms ease; }
.faq-item>summary::-webkit-details-marker { display:none; }
.faq-item>summary>.icon { width:16px; height:16px; flex-shrink:0; color:var(--accent); transition:transform 180ms var(--ease); }
.faq-item[open]>summary { color:#3159b7; }
.faq-item[open]>summary>.icon { transform:rotate(45deg); }
.faq-item>summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; border-radius:3px; }
.faq-answer { padding:0 40px 25px 0; }
.faq-answer p { font-size:15px; line-height:1.75; color:#59677d; }
.faq-answer p+p { margin-top:12px; }
.faq-answer strong { font-weight:600; color:var(--ink); }
@media(hover:hover) and (pointer:fine) {
  .faq-item>summary:hover { color:var(--accent); }
}
@media(prefers-reduced-motion:no-preference) {
  .faq-item[open] .faq-answer { animation:faq-answer-in 200ms var(--ease); }
}
@keyframes faq-answer-in { from { opacity:.4; transform:translateY(-3px); } to { opacity:1; transform:translateY(0); } }
html[data-input="keyboard"] .faq-item>summary,
html[data-input="keyboard"] .faq-item>summary>.icon { transition:none; }
html[data-input="keyboard"] .faq-answer { animation:none; }
@media(hover:hover) and (pointer:fine) {
  .hero-demo-link:hover { color:#adc4ff; }
  .hero-demo-link:hover>.icon { transform:translateX(4px); }
  .scenario-tabs>button:hover { background:#263249; color:#fff; }
  .scenario-tabs>button[aria-selected="true"]:hover { background:#2b4274; }
  .booking-slots>button:hover { border-color:#85a6ff; background:#23365f; }
  .booking-slots>button[aria-pressed="true"]:hover,.demo-action:hover:not(:disabled) { background:var(--accent-hover); }
  .demo-reset:hover { color:#fff; }
}
.demo-action:active:not(:disabled),.booking-slots>button:active,.scenario-tabs>button:active { transform:scale(.98); }
/* Reuse the existing page breakpoints; this is not a separate responsive redesign. */
@media(max-width:1250px) and (min-width:701px) {
  .faq { grid-template-columns:290px minmax(0,1fr); gap:42px; }
  .faq-intro h2 { font-size:37px; }
  .hero-demo-entry { left:41px; }
  .scenario-demo-top,.scenario-demo-note { padding-inline:26px; }
  .scenario-tabs { padding-inline:26px; }
  .scenario-panel { padding-inline:26px; }
  .demo-columns { gap:30px; }
  .scenario-service .solution-copy { padding-inline:19px; }
  .scenario-service .solution-copy h3 { font-size:20px; }
  .implementation-steps { gap:40px; }
  .implementation-steps h2 { font-size:37px; }
}
@media(max-width:1100px) and (min-width:701px) {
  .hero-demo-entry { position:static; grid-column:2; grid-row:2; align-self:center; margin:25px 30px 25px 0; }
  .hero-demo-link { font-size:14px; gap:13px; }
  .hero-demo-entry>p { font-size:12px; }
  .engine .section-intro { flex-wrap:wrap; gap:22px; }
  .engine .section-intro>p br { display:none; }
  .engine .section-intro>p { max-width:510px; }
  .demo-human { flex-wrap:wrap; }
  .demo-human>p { flex:1; }
  .demo-reset { margin-left:26px; padding-left:0; }
  .scenario-demo-note { flex-direction:column; gap:5px; }
}
@media(max-width:900px) {
  .faq { grid-template-columns:1fr; gap:28px; }
  .faq-intro>p:last-child br { display:none; }
  .scenario-service .solution-copy h3 { min-height:0; }
  .scenario-service .solution-photo { aspect-ratio:auto; min-height:230px; }
  .scenario-tabs { gap:8px; }
  .scenario-tabs>button { padding:10px 12px; font-size:13px; }
  .demo-columns { gap:24px; }
  .booking-calendar,.source-document,.document-output,.quote-paper { padding:18px; }
  .output-heading { flex-wrap:wrap; }
}
@media(max-width:700px) {
  .faq { padding-bottom:54px; }
  .faq-intro h2 { font-size:33px; }
  .faq-item>summary { font-size:17px; gap:20px; }
  .faq-answer { padding-right:10px; }
  .hero-demo-entry { position:static; order:2; margin:20px 23px 27px; }
  .hero-demo-entry>p { font-size:12px; }
  .hero-demo-link { font-size:14px; }
  .context-strip>div { flex-wrap:wrap; }
  .context-strip>div>span { font-size:16px; }
  .engine .section-intro h2 { font-size:32px; }
  .engine .section-intro h2 br { display:none; }
  .scenario-demo-top { padding:20px 19px 16px; font-size:11px; gap:12px; flex-wrap:wrap; }
  .scenario-tabs { padding:0 19px 20px; }
  .scenario-tabs>button { flex:1 1 100%; justify-content:flex-start; font-size:14px; }
  .scenario-panel { padding:0 19px; }
  .demo-columns { grid-template-columns:1fr; min-height:0; gap:25px; }
  .chat-message { font-size:14px; }
  .booking-calendar,.document-output,.source-document,.quote-paper { padding:20px; }
  .demo-label { font-size:12px; }
  .demo-human { gap:10px; margin-top:25px; flex-wrap:wrap; }
  .demo-human>p { font-size:12px; flex:1; min-width:170px; }
  .demo-reset { padding-left:0; margin-left:25px; }
  .scenario-demo-note { flex-direction:column; gap:7px; padding:16px 19px; font-size:11px; }
  .demo-empty,.quote-empty { min-height:220px; }
  .booking-receipt { min-height:0; padding:24px; }
  .document-heading { font-size:18px; }
  .scenario-service .solution-photo { min-height:0; aspect-ratio:1.8; }
  .scenario-service .solution-copy { padding:22px; }
  .scenario-service .solution-copy h3 { font-size:23px; }
  .implementation-steps { grid-template-columns:1fr; gap:20px; }
  .implementation-steps h2 { font-size:33px; }
  .implementation-boundary { margin-top:24px; }
  .implementation-timeline li { gap:16px; }
  .implementation-timeline h3 { font-size:20px; }
  .implementation-timeline p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-demo-link>.icon,.scenario-tabs>button,.booking-slots>button,.demo-action,.document-lines>div { transition:none; }
  .hero-demo-link:hover>.icon,.demo-action:active:not(:disabled),.booking-slots>button:active,.scenario-tabs>button:active { transform:none; }
}
html[data-input="keyboard"] .scenario-demo * { transition:none!important; }
