.voice-ai-page{background:var(--paper)}
.voice-ai-page .header{max-width:1480px}
.voice-ai-page .header [aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}
.voice-main{max-width:1480px;margin:auto;padding:30px clamp(24px,5vw,72px) 0}
@media(max-width:1000px){.voice-main{padding-inline:24px}}
@media(max-width:760px){.voice-main{padding-top:20px}.voice-ai-page .header{padding-inline:24px}.voice-ai-page .header nav{gap:15px;font-size:13px}.voice-ai-page .identity>span:last-child{display:none}}
@media(max-width:390px){.voice-ai-page .header nav{gap:11px;font-size:12px}.voice-main{padding-inline:18px}}
/* One idea, one paragraph, one illustration. */
.voice-opening { max-width: 780px; margin: 65px auto 100px; }
.voice-byline { color: var(--muted); font-size: 15px; }
.voice-opening h1 { font-size: clamp(42px, 5.8vw, 76px); line-height: 1.09; margin: 22px 0 30px; letter-spacing: -.05em; }
.voice-opening > p:not(.voice-byline) { font-size: 22px; max-width: 49ch; line-height: 1.7; }
.reservation-story { max-width: 1180px; margin: auto; }
.voice-part { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); gap: clamp(40px, 7vw, 100px); align-items: center; min-height: 680px; padding: 100px 0; scroll-margin-top: 65px; }
.voice-prose h2 { font-size: clamp(28px, 3vw, 39px); line-height: 1.18; letter-spacing: -.035em; margin-bottom: 24px; }
.voice-prose p { font-size: 20px; line-height: 1.85; max-width: 35ch; }
.voice-visual { margin: 0; min-width: 0; color: var(--navy); }
.voice-visual svg { display: block; width: 100%; overflow: visible; }
.voice-visual svg text { fill: var(--muted); font: 14px Manrope, sans-serif; }
.wave-ink, .wave-muted { fill: none; stroke-width: 3; stroke-linecap: round; }
.wave-ink { stroke: #267e70; }
.wave-muted { stroke: #d5dfdf; }
.spoken-words { text-align: center; font-size: clamp(22px, 2.6vw, 32px); letter-spacing: -.025em; margin: 30px 0 40px; }
.spoken-words span { transition: opacity .15s; }
.voice-visual figcaption { color: var(--muted); font-size: 14px; text-align: center; margin-top: 20px; line-height: 1.6; min-height: 3.2em; }

.voice-visual [hidden] { display: none!important; }
.voice-visual button:focus-visible, .voice-visual input:focus-visible, .voice-opening a:focus-visible { outline: 3px solid #267e70; outline-offset: 5px; }
@media (max-width: 900px) { .voice-part { gap: 35px; }     }
@media (max-width: 760px) {
 .voice-opening { margin: 35px 0 70px; } .voice-opening > p:not(.voice-byline) { font-size: 19px; }
 .voice-part { grid-template-columns: 1fr; gap: 35px; min-height: 0; padding: 48px 0 70px; }
 .voice-prose p { font-size: 18px; max-width: none; line-height: 1.8; } .voice-prose h2 { margin-bottom: 18px; }
 .voice-visual { width: 100%; max-width: 520px; margin: auto; } .voice-visual figcaption { font-size: 13px; }


  .spoken-words { font-size: 27px; }
}
@media (max-width: 360px) {    .spoken-words { font-size: 23px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reservation-story *, .reservation-story *::before { animation: none!important; transition: none!important; } }
@media print { .voice-part { min-height: 0; break-inside: avoid; padding: 35px 0; } .visual-control, .voice-replay, .correction-button { display: none!important; } }

/* Audio uses its own playback clock. The plotted samples are never animated into invented shapes. */
.reservation-wave .wave-ink,.reservation-wave .wave-muted{stroke-width:1.25;stroke-linecap:round}
.playhead{stroke:var(--blue);stroke-width:1.5}
.play-controls{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.audio-play{display:block;border:1px solid var(--navy);border-radius:30px;padding:12px 24px;min-height:48px;background:transparent;color:var(--navy);font-size:16px;cursor:pointer}
.audio-play:hover{background:var(--navy);color:white}
.audio-visual .spoken-words{font-size:26px;line-height:1.6;margin:24px 0;min-height:3.2em}
.audio-visual .spoken-words span{color:var(--muted);transition:color .18s}
.audio-visual .spoken-words .word-spoken{color:#267e70}
.audio-visual .spoken-words .word-current{color:var(--navy);text-decoration:underline;text-underline-offset:7px}
.audio-status:empty{display:none}
.audio-status{font-size:16px;text-align:center;margin-top:20px}
.turn-signal{text-align:center;color:var(--muted);font-size:18px;min-height:2em;transition:color .2s,transform .2s}
.turn-signal.reply-started{color:#267e70;transform:translateY(-3px)}
.voice-opening{margin-bottom:70px}
@media(max-width:760px){.audio-visual .spoken-words{font-size:23px}.audio-play{padding:12px 20px}}

.interface-ending{max-width:1040px;margin:80px auto 120px}
.interface-ending h2{font-size:clamp(30px,4vw,46px);line-height:1.2;letter-spacing:-.035em}
.interface-ending>p{max-width:57ch;font-size:20px;line-height:1.85;margin:26px 0 52px}
.interface-ending>p a{color:inherit;text-decoration-color:#267e70;text-underline-offset:4px}
.interface-comparison{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:28px;align-items:start}
.interface-comparison figure{margin:0;min-width:0}
.interface-comparison figcaption{font-size:18px;margin-bottom:24px;color:var(--navy)}
.graphical-example{border:1px solid #b5c6d4;border-radius:12px;overflow:hidden;background:#fff}
.example-window-bar{display:flex;gap:6px;padding:14px 16px;border-bottom:1px solid #dce4ea;background:#f0f4f7}
.example-window-bar i{width:7px;height:7px;border-radius:50%;background:#aabcc9}
.example-form{padding:26px}
.example-form-title{display:block;font-size:23px;font-weight:500;margin-bottom:24px}
.example-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.example-fields>div>span{display:block;font-size:15px;margin-bottom:8px;color:var(--muted)}
.example-fields strong{display:flex;justify-content:space-between;border:1px solid #c7d4de;border-radius:5px;padding:10px 12px;font-size:16px;font-weight:400;gap:10px}
.loading-example{display:flex;justify-content:center;align-items:center;gap:12px;color:#246e60;background:#e5f2ed;border-radius:6px;padding:14px 10px;margin-top:24px;font-size:16px}
.loading-example i{height:18px;width:18px;border:2px solid #a1c8bd;border-top-color:#267e70;border-radius:50%;flex-shrink:0;transform:rotate(25deg)}
.spoken-example{display:flex;flex-direction:column;justify-content:center;min-height:293px;gap:28px}
.example-user-speech{align-self:flex-end;border:1px solid #c7d4de;border-radius:22px 22px 4px 22px;padding:16px 22px;margin:0;font-size:20px;line-height:1.5}
.example-voice-feedback{display:flex;align-items:center;gap:16px;align-self:flex-start;padding:20px 24px;background:#e5f2ed;border-radius:22px 22px 22px 4px;color:#246e60}
.example-voice-feedback svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.example-voice-feedback p{font-size:24px;line-height:1.4;margin:0}
@media(max-width:760px){.interface-ending{margin:40px 0 80px}.interface-ending>p{font-size:18px}.interface-comparison{grid-template-columns:1fr;gap:38px}.interface-comparison figcaption{margin-bottom:18px}.example-form{padding:20px}.spoken-example{min-height:0;gap:24px}.example-user-speech{font-size:18px}.example-voice-feedback p{font-size:22px}}

.voice-prose a{color:inherit;text-decoration-line:underline;text-decoration-color:#267e70;text-underline-offset:4px}
.voice-prose a:focus-visible,.interface-ending a:focus-visible{outline:3px solid #267e70;outline-offset:4px}
.is-transcribing [data-transcript="request"] span:not(.word-spoken){visibility:hidden}

.lookup-visual{max-width:420px;margin:auto;width:100%}
.lookup-request,.lookup-system{text-align:center}
.lookup-request>span,.lookup-system>span{font-size:16px;color:var(--muted)}
.lookup-request p{font-size:26px;margin:14px 0 0}
.lookup-connector{text-align:center;font-size:36px;color:#9cafbd;margin:20px 0}
.lookup-feedback{font-size:23px;min-height:1.5em;margin:14px 0 0;color:var(--muted)}
.lookup-complete .lookup-feedback{color:#267e70}
.interruption-chat{display:flex;flex-direction:column;gap:24px;min-height:235px}
.journey-bubble{position:relative;max-width:90%;padding:16px 22px;border-radius:24px;transition:opacity .18s,transform .18s}
.journey-ai{align-self:flex-start;background:#2762b2;color:white;border-bottom-left-radius:4px}
.journey-user{align-self:flex-end;background:#e5edf4;color:var(--navy);border-bottom-right-radius:4px}
.bubble-speaker{display:block;font-size:14px;margin-bottom:6px}
.journey-bubble p{font-size:22px;line-height:1.5;margin:0}
.is-started .journey-bubble:not(.is-visible){opacity:0;visibility:hidden;transform:translateY(8px)}
.journey-ai .current-word{background:#c6e8dd;color:var(--navy);border-radius:3px}
.journey-user .current-word{background:var(--navy);color:white;border-radius:3px}
@media(max-width:760px){.journey-bubble p{font-size:20px}.journey-bubble{padding:14px 18px}.lookup-request p{font-size:24px}}

/* A single conversation step, with persistent navigation and sound control. */
.reservation-story [hidden]{display:none!important}
.journey-navigation{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:16px 0;position:relative;z-index:1}
.journey-position{font-size:16px;color:var(--muted);min-width:45px}
.journey-directions{display:flex;gap:12px;margin-left:auto}
.journey-navigation button{border:1px solid var(--navy);background:transparent;border-radius:24px;padding:10px 20px;color:var(--navy);font-size:16px;min-height:44px;cursor:pointer}
.journey-navigation button:disabled{opacity:.35;cursor:default}
.journey-navigation #journey-next{background:var(--navy);color:white}
.journey-navigation button:focus-visible{outline:3px solid #267e70;outline-offset:4px}
.is-sequence .voice-part{min-height:490px;padding:46px 0;gap:60px;scroll-margin-top:150px}
.is-sequence .interface-ending{margin:40px auto 65px;scroll-margin-top:150px}
.voice-opening{max-width:1180px;margin:35px auto 25px}
.voice-opening h1{font-size:clamp(32px,3.6vw,44px);margin:0 0 16px}
.voice-opening>p:not(.voice-byline){font-size:18px;line-height:1.65;max-width:66ch}
.is-sequence .voice-prose p{font-size:18px;line-height:1.75}
.is-sequence .voice-prose h2{font-size:32px}
.is-sequence .interruption-chat{min-height:310px;gap:18px}
.is-sequence .journey-bubble p{font-size:19px}
.lookup-acknowledgment{text-align:center;font-size:22px;margin-top:28px;color:#267e70}
@media(max-width:760px){.journey-navigation{gap:10px;flex-wrap:wrap}.journey-navigation button{padding:9px 14px;font-size:14px}.journey-directions{gap:8px}.is-sequence .voice-part{min-height:0;padding:30px 0 50px;gap:28px}.is-sequence .voice-prose h2{font-size:28px}.voice-opening{margin:24px 0}.voice-opening>p:not(.voice-byline){font-size:17px}.is-sequence .interruption-chat{min-height:0}.is-sequence .journey-bubble p{font-size:18px}}

.interface-versus{align-self:center;justify-self:center;font-size:24px;font-weight:600;color:var(--navy)}
