:root { --halo-ink: #1a1f11; --halo-paper: #eef5f7; --halo-muted: #566267; --halo-moss: #c9db81; --halo-card: #252d1c; --halo-note: #f7f9f9; --halo-radius-card: 14px; --halo-radius-well: 16px; --halo-radius-control: 8px; --halo-radius-pill: 999px; --sv-ink: var(--halo-ink); --sv-paper: var(--halo-paper); --sv-moss: var(--halo-moss); --sv-moss-dark: #5c6b32; --sv-card: var(--halo-card); --sv-line: rgba(26, 31, 17, 0.14); --sv-white-line: rgba(238, 245, 247, 0.14); }
.halo-scribe-lab, .halo-scribe-lab * { box-sizing: border-box; }
.halo-scribe-lab { background: var(--sv-paper); color: var(--sv-ink); display: block; isolation: isolate; position: relative; width: 100%; z-index: 1; }
.sv-page { min-height: 100vh; width: 100%; }
.sv-page h1, .sv-page h2, .sv-page h3, .sv-page p { margin-top: 0px; }
.sv-page h1, .sv-page h2 { font-family: "PP Museum Light", serif; font-weight: 300; letter-spacing: -0.035em; }
.sv-page p, .sv-page li, .sv-page a, .sv-page span, .sv-page button, .sv-page time, .sv-page blockquote { font-family: "Beausite Classic Web Regular", sans-serif; }
.sv01-wave, .sv03-wave, .sv06-wave, .sv04-wave, .sv09-wave, .sv11-wave, .sv12-wave, .sv13-wave, .sv15-wave { align-items: center; display: flex; gap: 2px; height: 42px; }
.sv01-wave i, .sv03-wave i, .sv06-wave i, .sv04-wave i, .sv09-wave i, .sv11-wave i, .sv12-wave i, .sv13-wave i, .sv15-wave i { animation-duration: 1.4s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: none; animation-play-state: running; animation-name: svWave; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--i) * -43ms); background: currentcolor; border-radius: 999px; height: calc(8px + (var(--i) % 7) * 4px); opacity: 0.78; width: 2px; }
.sv03-card, .sv03-dispatch { box-shadow: rgba(0, 0, 0, 0.3) 0px 24px 70px; width: min(400px, 92%); }
.sv03-card { border-radius: 16px; overflow: hidden; }
.sv03-record { background: rgb(37, 45, 28); border: 1px solid rgba(238, 245, 247, 0.1); color: var(--sv-paper); padding: 18px; }
.sv03-record header, .sv03-note header { align-items: center; display: flex; gap: 10px; }
.sv03-avatar { align-items: center; background: rgba(238, 245, 247, 0.12); border-radius: 50%; display: inline-flex; flex: 0 0 auto; font-size: 9px; height: 32px; justify-content: center; width: 32px; }
.sv03-avatar.is-ink { background: rgb(232, 238, 234); color: var(--sv-ink); }
.sv03-record header strong, .sv03-note header strong { display: block; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 13px; font-weight: 500; }
.sv03-record header small, .sv03-note header small { color: rgba(238, 245, 247, 0.5); display: block; font-size: 10px; margin-top: 3px; }
.sv03-note header small { color: rgb(106, 116, 119); }
.sv03-rec-bar { align-items: center; display: flex; justify-content: space-between; margin: 16px 0px 14px; }
.sv03-rec-bar span { align-items: center; background: rgba(201, 219, 129, 0.12); border: 1px solid rgba(201, 219, 129, 0.3); border-radius: 999px; color: var(--sv-moss); display: inline-flex; font-size: 10px; gap: 7px; letter-spacing: 0.06em; padding: 5px 9px; text-transform: uppercase; }
.sv03-rec-bar i { animation: 1.8s ease-in-out 0s infinite normal none running svPulse; background: var(--sv-moss); border-radius: 50%; height: 7px; width: 7px; }
.sv03-rec-bar time { color: rgba(238, 245, 247, 0.5); font-size: 11px; }
.sv03-wave { color: var(--sv-moss); height: 28px; justify-content: space-between; margin-bottom: 16px; width: 100%; }
.sv03-wave i { background: currentcolor; flex: 0 0 1.5px; height: 10px; width: 1.5px; }
.sv03-wave i:nth-child(2n+1) { height: 18px; }
.sv03-wave i:nth-child(3n) { height: 26px; }
.sv03-talk { border-top: 1px solid rgba(238, 245, 247, 0.1); display: grid; gap: 10px; padding-top: 14px; }
.sv03-talk p { color: rgba(238, 245, 247, 0.72); display: grid; font-size: 12px; gap: 4px; line-height: 1.4; margin: 0px; }
.sv03-talk p b { color: var(--sv-moss); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 10px; font-weight: 500; }
.sv03-talk p.is-live span { color: var(--sv-paper); }
.sv03-record footer { color: rgba(238, 245, 247, 0.42); font-size: 10px; letter-spacing: 0.04em; margin-top: 14px; }
.sv03-note { background: rgb(247, 249, 249); color: var(--sv-ink); padding: 18px 18px 16px; }
.sv03-soap { margin-top: 16px; }
.sv03-soap h3 { font-family: "Beausite Classic Web Medium", sans-serif; font-size: 11px; font-weight: 500; margin: 16px 0px 6px; }
.sv03-soap p, .sv03-soap li { color: rgb(61, 70, 57); font-size: 12px; line-height: 1.45; margin: 0px; }
.sv03-soap ol { margin: 0px; padding-left: 18px; }
.sv03-codes { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.sv03-codes span { color: rgb(106, 116, 119); font-size: 9px; letter-spacing: 0.08em; }
.sv03-codes b { background: rgb(232, 238, 234); border-radius: 999px; font-size: 10px; padding: 4px 8px; }
.sv03-sign { appearance: none; background: var(--sv-ink); border: 0px; border-radius: var(--halo-radius-control); color: var(--sv-paper); cursor: pointer; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 12px; margin-top: 18px; padding: 12px 14px; width: 100%; }
.sv03-sign span { color: var(--sv-moss); }
.sv03-dispatch { display: grid; gap: 10px; }
.sv03-dispatch article { background: rgba(37, 45, 28, 0.9); border: 1px solid rgba(238, 245, 247, 0.1); border-radius: 14px; display: grid; gap: 4px; padding: 16px 18px; }
.sv03-dispatch span, .sv03-dispatch em { color: var(--sv-moss); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; }
.sv03-dispatch strong { color: var(--sv-paper); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 15px; font-weight: 500; }
.sv03-dispatch small { color: rgba(238, 245, 247, 0.48); font-size: 11px; }
.sv03-dispatch em { font-style: normal; justify-self: start; margin-top: 6px; }
.sv-page:has(.sv03b) { height: 100svh; min-height: 100svh; overflow: hidden; }
.sv03b { background: rgb(17, 21, 14); color: var(--sv-paper); display: grid; grid-template-columns: 1fr 1fr; height: 100svh; overflow: hidden; position: relative; width: 100%; }
.sv03b-copy { backdrop-filter: blur(48px) saturate(1.75); background: rgba(16, 18, 16, 0.52); border-right: 0.5px solid rgba(255, 255, 255, 0.2); display: grid; grid-template-rows: auto 1fr auto auto; min-width: 0px; padding: 108px 56px 48px; position: relative; z-index: 1; }
.sv03b-brand { margin: 0px 0px 18px; }
.sv03b-brand-pill { align-items: center; background: rgb(255, 255, 255); border: 1px solid rgba(26, 31, 17, 0.14); border-radius: var(--halo-radius-pill); color: var(--halo-ink); display: inline-flex; font-size: 14px; gap: 6px; line-height: 1.3; min-height: 38px; padding: 9px 12px; font-family: "Beausite Classic Web Medium", sans-serif !important; }
.sv03b-brand-ico { color: currentcolor; display: inline-flex; height: 18px; opacity: 0.88; width: 20px; }
.sv03b-brand-ico svg { fill: currentcolor; height: 100%; width: 100%; }
.sv03b-copy-window { min-height: 0px; position: relative; }
.sv03b-copy-slide { display: flex; flex-direction: column; inset: 0px; justify-content: center; opacity: 0; pointer-events: none; position: absolute; transform: translate3d(0px, 12px, 0px); transition: opacity 480ms cubic-bezier(0.22, 1, 0.36, 1), transform 480ms cubic-bezier(0.22, 1, 0.36, 1); }
.sv03b-copy-slide.is-active { opacity: 1; pointer-events: auto; transform: translate3d(0px, 0px, 0px); }
.sv03b-copy-slide span { color: rgba(238, 245, 247, 0.64); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 12px; letter-spacing: 0.08em; }
.sv03b-copy-slide h1 { font-size: clamp(38px, 4.2vw, 62px); letter-spacing: -0.035em; line-height: 0.98; margin: 12px 0px 28px; text-wrap: balance; }
.sv03b-copy-slide p { color: var(--halo-paper); font-size: 17px; line-height: 1.45; margin: 0px 0px 22px; }
.sv03b-copy-slide ul { display: grid; gap: 8px; list-style: none; margin: 0px; padding: 0px; }
.sv03b-copy-slide li { color: rgba(238, 245, 247, 0.72); font-size: 16px; line-height: 1.45; padding-left: 16px; position: relative; }
.sv03b-copy-slide li::before { background: var(--halo-paper); border-radius: 50%; content: ""; height: 5px; left: 0px; opacity: 0.86; position: absolute; top: 9px; width: 5px; }
.sv03b-nav { display: grid; gap: 8px; margin-top: 28px; }
.sv03b-nav button { appearance: none; background: transparent; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(238, 245, 247, 0.16); border-image: none; color: rgba(238, 245, 247, 0.56); cursor: pointer; display: flex; font-family: "Beausite Classic Web Regular", sans-serif; font-size: 14px; gap: 12px; padding: 10px 0px; text-align: left; }
.sv03b-nav button em { color: inherit; font-family: "Beausite Classic Web Medium", sans-serif; font-style: normal; letter-spacing: 0.04em; width: 28px; }
.sv03b-nav button[aria-selected="true"] { color: var(--halo-paper); }
.sv03b-nav button[aria-selected="true"] em { color: var(--halo-paper); }
.sv03b-tools { align-items: center; display: flex; gap: 12px; margin-top: 22px; }
.sv03b-tools > button { align-items: center; appearance: none; background: rgba(238, 245, 247, 0.12); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: var(--halo-radius-pill); color: var(--halo-paper); cursor: pointer; display: inline-flex; height: 42px; justify-content: center; width: 42px; backdrop-filter: blur(22px) saturate(1.6); }
.sv03b-tools > button:hover { background: rgba(238, 245, 247, 0.2); border-color: rgba(255, 255, 255, 0.42); }
.sv03b-stage { overflow: hidden; position: relative; z-index: 1; }
.sv03b-flower { height: 100%; inset: 0px; object-fit: cover; object-position: 58% 42%; pointer-events: none; position: absolute; width: 100%; z-index: 0; }
.sv03b-flower::-webkit-media-controls, .sv03b-flower::-webkit-media-controls-start-playback-button, .sv03b-flower::-webkit-media-controls-overlay-play-button { display: none !important; appearance: none !important; opacity: 0 !important; pointer-events: none !important; }
.sv03b-card-window { inset: 0px; padding: 88px 48px 48px; position: absolute; z-index: 1; }
.sv03b-card-slide { align-items: center; display: flex; inset: 0px; justify-content: center; opacity: 0; padding: 88px 48px 48px; pointer-events: none; position: absolute; transform: translate3d(0px, 12px, 0px); transition: opacity 480ms cubic-bezier(0.22, 1, 0.36, 1), transform 480ms cubic-bezier(0.22, 1, 0.36, 1); }
.sv03b-card-slide.is-active { opacity: 1; pointer-events: auto; transform: translate3d(0px, 0px, 0px); }
.sv03b .sv03-card, .sv03b .sv03-dispatch { width: min(400px, 100%); }
.sv03b .sv03-card { border-radius: var(--halo-radius-card); box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px; }
.sv03b .sv03-record { background: var(--halo-card); border: 1px solid rgba(238, 245, 247, 0.09); }
.sv03b .sv03-talk p { align-items: start; gap: 10px; grid-template-columns: 52px minmax(0px, 1fr); }
.sv03b .sv03-talk p b { color: var(--sv-paper); }
.sv03b .sv03-talk p[data-who="doctor"] b { color: rgb(201, 219, 129); }
.sv03b .sv03-talk p.is-live span { color: rgba(238, 245, 247, 0.52); font-style: italic; }
.sv03b .sv03-note { background: var(--halo-note); }
.sv03b .sv03-soap h3 { margin: 12px 0px 4px; }
.sv03b .sv03-soap p, .sv03b .sv03-soap li { color: rgb(74, 83, 72); font-size: 10px; line-height: 1.4; }
.sv03b .sv03-codes b { background: rgb(237, 240, 232); border: 1px solid rgb(220, 226, 214); border-radius: 5px; font-size: 8px; padding: 3px 6px; }
.sv03b .sv03-sign { border-radius: var(--halo-radius-control); font-size: 10px; margin-top: 16px; min-height: 36px; padding: 0px 12px; }
.sv03b .sv03-sign span { color: inherit; margin-left: 7px; }
.sv03b .sv03-dispatch { display: flex; flex-direction: column; gap: 8px; }
.sv03b .sv03-dispatch article { background: var(--halo-note); border: 1px solid rgba(238, 245, 247, 0.14); border-radius: var(--halo-radius-card); box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px; color: var(--sv-ink); display: grid; font-family: "Beausite Classic Web Regular", sans-serif; gap: 2px 14px; grid-template-columns: 1fr auto; padding: 14px 16px 15px; }
.sv03b .sv03-dispatch span { color: rgb(122, 138, 61); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 10px; letter-spacing: 0.07em; text-transform: uppercase; }
.sv03b .sv03-dispatch strong { color: var(--sv-ink); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 14px; font-weight: 500; margin-top: 4px; }
.sv03b .sv03-dispatch small { color: rgb(106, 116, 104); font-size: 11px; }
.sv03b .sv03-dispatch em { align-items: center; align-self: center; color: rgb(106, 116, 104); display: flex; flex-direction: column; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 9px; font-style: normal; gap: 6px; grid-area: 1 / 2 / span 3; justify-content: center; letter-spacing: 0.04em; margin-top: 0px; text-transform: uppercase; width: 52px; }
.sv03b .sv03-dispatch article.is-sending em, .sv03b .sv03-dispatch article.is-done em { color: rgb(92, 107, 50); }
.sv03b .sv03-dispatch em svg { display: block; height: 20px; width: 20px; }
.sv03b .sv03-dispatch article.is-sending em svg { animation: 1.6s ease-in-out 0s infinite normal none running halo-dispatch-pulse; }
@media (prefers-reduced-motion: reduce){
.sv03b-copy-slide, .sv03b-card-slide { transition: opacity 160ms; transform: none; }
}
.sv03b-phone { display: block; fill: currentcolor; height: 12px; width: 12px; }
.sv03b .sv03-rec-bar span { gap: 6px; }
.sv03b-lines header { justify-content: space-between; }
.sv03b-lines header span { color: rgba(238, 245, 247, 0.48); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.sv03b-lines header b { color: rgb(201, 219, 129); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 11px; font-weight: 500; }
.sv03b-lines ul, .sv03b-appt ul, .sv03b-elig ul { list-style: none; margin: 16px 0px 0px; padding: 0px; }
.sv03b-lines ul { display: grid; gap: 8px; }
.sv03b-lines li { align-items: center; background: rgba(238, 245, 247, 0.05); border: 1px solid rgba(238, 245, 247, 0.08); border-radius: 12px; display: grid; gap: 10px; grid-template-columns: 8px 1fr auto; padding: 10px 12px; }
.sv03b-lines li.is-live { background: rgba(201, 219, 129, 0.1); border-color: rgba(201, 219, 129, 0.28); }
.sv03b-lines i { background: rgba(238, 245, 247, 0.28); border-radius: 50%; height: 8px; width: 8px; }
.sv03b-lines li.is-live i { animation: 1.8s ease-in-out 0s infinite normal none running svPulse; background: rgb(201, 219, 129); }
.sv03b-lines strong { display: block; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 13px; font-weight: 500; }
.sv03b-lines small { color: rgba(238, 245, 247, 0.5); display: block; font-size: 10px; margin-top: 3px; }
.sv03b-lines em { color: rgba(238, 245, 247, 0.42); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 9px; font-style: normal; letter-spacing: 0.06em; text-transform: uppercase; }
.sv03b-lines li.is-live em { color: rgb(201, 219, 129); }
.sv03b-appt-when { background: rgb(237, 240, 232); border-radius: 12px; margin-top: 16px; padding: 14px 16px 16px; }
.sv03b-appt-when em { color: rgb(92, 107, 50); display: block; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 10px; font-style: normal; letter-spacing: 0.08em; text-transform: uppercase; }
.sv03b-appt-when strong { display: block; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 28px; font-weight: 500; letter-spacing: -0.03em; margin: 4px 0px 2px; }
.sv03b-appt-when small, .sv03b-appt li { color: rgb(106, 116, 104); font-size: 12px; }
.sv03b-appt ul { display: grid; gap: 8px; }
.sv03b-appt li { padding-left: 14px; position: relative; }
.sv03b-appt li::before { background: rgb(201, 219, 129); border-radius: 50%; content: ""; height: 6px; left: 0px; position: absolute; top: 6px; width: 6px; }
.sv03b-handoff > p { color: rgb(201, 219, 129); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 10px; letter-spacing: 0.07em; margin: 0px 0px 14px; text-transform: uppercase; }
.sv03b-handoff blockquote { background: rgba(238, 245, 247, 0.06); border-left: 2px solid rgb(201, 219, 129); color: rgba(238, 245, 247, 0.82); font-size: 13px; line-height: 1.45; margin: 16px 0px 0px; padding: 10px 12px; }
.sv03b-handoff footer { align-items: center; display: flex; gap: 6px; }
.sv03b-elig-plan { align-items: center; display: flex; justify-content: space-between; margin-top: 16px; }
.sv03b-elig-plan span { font-family: "Beausite Classic Web Medium", sans-serif; font-size: 16px; font-weight: 500; }
.sv03b-elig-plan strong { background: rgba(201, 219, 129, 0.16); border: 1px solid rgba(201, 219, 129, 0.32); border-radius: 999px; color: rgb(201, 219, 129); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 11px; font-weight: 500; letter-spacing: 0.06em; padding: 5px 9px; text-transform: uppercase; }
.sv03b-elig ul { display: grid; gap: 10px; }
.sv03b-elig li { align-items: baseline; display: flex; justify-content: space-between; }
.sv03b-elig li span { color: rgba(238, 245, 247, 0.48); font-size: 12px; }
.sv03b-elig li b { font-family: "Beausite Classic Web Medium", sans-serif; font-size: 14px; font-weight: 500; }
.sv03b-route { padding: 20px 20px 18px; }
.sv03b-route > span { color: rgb(92, 107, 50); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.sv03b-route > p { color: rgb(106, 116, 104); font-size: 12px; margin: 8px 0px 0px; }
.sv03b-route > strong { display: block; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 36px; font-weight: 500; letter-spacing: -0.04em; line-height: 1; margin: 18px 0px 16px; }
.sv03b-route-path { align-items: center; color: rgb(106, 116, 104); display: flex; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 10px; gap: 10px; letter-spacing: 0.06em; text-transform: uppercase; }
.sv03b-route-path i { background: rgb(201, 219, 129); flex: 1 1 0%; height: 1px; }
.sv03b-route footer { color: rgb(106, 116, 104); font-size: 11px; margin-top: 16px; }
.sv03b-stamp { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 220px; padding: 28px 22px 22px; text-align: center; }
.sv03b-stamp-mark { align-items: center; border: 1.5px solid rgba(201, 219, 129, 0.55); border-radius: 50%; display: flex; flex-direction: column; height: 132px; justify-content: center; width: 132px; }
.sv03b-stamp-mark em { color: rgb(201, 219, 129); font-family: "Beausite Classic Web Medium", sans-serif; font-size: 10px; font-style: normal; letter-spacing: 0.12em; text-transform: uppercase; }
.sv03b-stamp-mark strong { display: block; font-family: "Beausite Classic Web Medium", sans-serif; font-size: 32px; font-weight: 500; letter-spacing: -0.04em; margin-top: 4px; }
.sv03b-stamp p { color: rgba(238, 245, 247, 0.48); font-size: 11px; margin: 18px 0px 0px; }
@media (max-width: 809.98px), (max-width: 1100px) and (max-height: 600px){
.sv-page:has(.sv03b), .sv03b { height: auto; min-height: 100svh; overflow: visible; }
.sv03b { grid-template-columns: 1fr; grid-template-rows: auto minmax(560px, 70vh); }
.sv03b-copy { padding: 88px 20px 28px; }
.sv03b-copy-slide h1 { font-size: 34px; }
.sv03b-copy-window { min-height: 210px; }
.sv03b-nav button { min-height: 44px; }
.sv03b-tools > button { min-height: 44px; min-width: 44px; }
.sv03b-card-slide { padding: 28px 16px; }
}
@media (prefers-reduced-motion: reduce){
.halo-scribe-lab *, .halo-scribe-lab ::before, .halo-scribe-lab ::after { animation-duration: 0.01ms !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
