/* css/agentic-os.css — /agentic-os, the Agentic OS preview and its prototype.
 * Loaded after skins.css, attorneys-nyc.css and brain-hero.css: the night sky, the nav, buttons,
 * glass cards and footer are the attorney pages' own. This file adds the hero core, the WebGL
 * layer, the prototype desk, the feature list and the vision.
 *
 * Every moving part has a finished still (no script, no WebGL, reduced motion, Save-Data,
 * "Pause motion"); every box that will hold a canvas reserves its size first, so nothing shifts.
 * No backdrop-filter over the WebGL layer: blurring a live canvas every frame costs more than the
 * whole scene.
 */

body.aos { --aos-panel: rgba(10, 16, 38, 0.86); --aos-panel-2: rgba(16, 24, 54, 0.9); --aos-line: rgba(200, 214, 255, 0.13);
  --aos-ink: #EEF2FC; --aos-soft: #C3CCE0; --aos-muted: #9AA6C0; --aos-amber: #F2C46B; --aos-cyan: #5FD3F3; --aos-violet: #A9A6FF;
  --aos-green: #6EE7B7; --aos-orange: #FF9A4D; }
body.aos main { position: relative; z-index: 1; }
body.aos .tcd-nav { z-index: 40; }

/* ── The WebGL layer ────────────────────────────────────────────────────────────────────── */
.aos-gl-layer { position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0; transition: opacity .9s ease; }
.aos-gl-layer canvas { display: block; width: 100%; height: 100%; }
html.aos-gl-live .aos-gl-layer { opacity: 1; }
html.aos-gl-live.aos-gl-away .aos-gl-layer { opacity: 0; }
html.aos-gl-live:not(.aos-gl-away):not(.aos-gl-dock) body.space::before { opacity: 0; transition: opacity .9s ease; }
/* In the dock the layer draws only the core, above the page (under the nav), so the dock's glass
   doesn't hide it. pointer-events stay off, so nothing under it stops working. */
html.aos-gl-dock .aos-gl-layer { z-index: 30; }

/* ── Hero ───────────────────────────────────────────────────────────────────────────────── */
.aos-hero { position: relative; isolation: isolate; padding: clamp(28px, 5vh, 64px) 0 clamp(36px, 6vh, 72px);
  background:
    radial-gradient(60% 55% at 74% 46%, rgba(70, 92, 210, 0.24), transparent 64%),
    radial-gradient(40% 40% at 88% 16%, rgba(143, 140, 255, 0.14), transparent 70%),
    radial-gradient(45% 40% at 6% 90%, rgba(232, 119, 34, 0.10), transparent 70%); }
.aos-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .85; transition: opacity 1s ease;
  background-image:
    radial-gradient(1.2px 1.2px at 8% 12%, #fff, transparent 60%), radial-gradient(1px 1px at 22% 38%, #dfe7ff, transparent 60%),
    radial-gradient(1.4px 1.4px at 41% 9%, #fff, transparent 60%), radial-gradient(1px 1px at 57% 27%, #cfdcff, transparent 60%),
    radial-gradient(1px 1px at 73% 7%, #fff, transparent 60%), radial-gradient(1.6px 1.6px at 91% 22%, #ffe3c2, transparent 60%),
    radial-gradient(1px 1px at 14% 71%, #dfe7ff, transparent 60%), radial-gradient(1.3px 1.3px at 35% 86%, #fff, transparent 60%),
    radial-gradient(1px 1px at 62% 66%, #cfdcff, transparent 60%), radial-gradient(1px 1px at 82% 91%, #fff, transparent 60%);
  background-size: 640px 420px; }
html.aos-gl-live .aos-hero::before { opacity: 0; }
body.tcd-skinned .aos-hero > .wrap { max-width: 1360px; }
.aos-hero-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(20px, 3vw, 48px); align-items: center; }
@media (max-width: 980px) {
  .aos-hero-grid { grid-template-columns: 1fr; gap: 6px; }
  /* Phones and tablets: the core first, so the first screen has it. */
  .aos-core-fig { order: -1; }
  .aos-core-stage { max-width: min(78vw, 420px); }
  .aos-core-cap { margin-top: 0; font-size: 13px; }
}
.aos-hero-copy .eyebrow-pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 12px; border-radius: 999px;
  font: 700 12px/1.25 var(--font-body); letter-spacing: 0.04em; color: #DCE6FF; background: rgba(110, 168, 255, 0.10); box-shadow: inset 0 0 0 1px rgba(110, 168, 255, 0.32); }
.aos-hero-copy .eyebrow-pill .dot { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: var(--sp-gold); box-shadow: 0 0 12px 2px rgba(242,196,107,.75); }
html.nyc-motion .aos-hero-copy .eyebrow-pill .dot { animation: bh-pulse 2.8s ease-in-out infinite; }
.aos-hero-copy h1 { font-family: var(--font-display); font-weight: 800; font-size: clamp(40px, 5.2vw, 78px); line-height: 0.98; letter-spacing: -0.04em;
  margin: 20px 0 22px; color: #F6F2EA; text-wrap: balance; }
.aos-hero-copy h1 .serif { display: block; width: fit-content; font-family: var(--nyc-serif); font-style: italic; font-weight: 600; letter-spacing: -0.015em;
  background: linear-gradient(100deg, #FFB46B 0%, #F2A65A 30%, #FFD7A8 55%, #C9B8FF 80%, #8FD9FF 100%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .08em; }
.aos-hero-copy .lede { font-size: clamp(16px, 1.35vw, 18.5px); line-height: 1.62; color: #CFD8EA; max-width: 54ch; margin: 0 0 20px; }
.aos-hero-points { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 8px; }
.aos-hero-points li { display: flex; align-items: center; gap: 12px; font: 600 15.5px/1.35 var(--font-body); color: #E8EDF8; }
.aos-hero-points .k { flex: 0 0 auto; display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; font: 800 13px/1 var(--font-numeric); color: #fff;
  background: linear-gradient(140deg, rgba(110,168,255,.35), rgba(143,140,255,.18)); box-shadow: inset 0 0 0 1px rgba(160,190,255,.35); }
.aos-hero-copy .ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.aos-hero-copy .btn.ghost.glow { box-shadow: inset 0 0 0 1px rgba(143, 140, 255, 0.55), 0 0 30px -8px rgba(143, 140, 255, 0.6); }
.aos-hero-copy .fineprint { margin-top: 18px; font-size: 13px; color: #AEB8CE; max-width: 54ch; }

.aos-core-fig { margin: 0; position: relative; }
.aos-core-stage { position: relative; width: 100%; aspect-ratio: 1 / 1; max-width: 640px; max-height: 640px; margin: 0 auto; }
.aos-core-stage::before { content: ""; position: absolute; inset: 10%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(110, 140, 255, 0.18), rgba(110, 140, 255, 0.05) 55%, transparent 72%); }
.aos-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity .9s ease; }
html.aos-gl-live .aos-poster { opacity: 0; }
.aos-doc-cap { position: absolute; left: 50%; bottom: 3%; transform: translateX(-50%); width: max-content; max-width: min(92%, 380px); text-align: center;
  padding: 10px 14px; border-radius: 12px; background: rgba(7, 11, 30, 0.82); box-shadow: inset 0 0 0 1px var(--sp-line), 0 20px 50px -20px rgba(0,0,0,.9);
  opacity: 0; transition: opacity .5s ease, transform .5s ease; }
.aos-doc-cap.on { opacity: 1; transform: translateX(-50%) translateY(-4px); }
.aos-doc-cap[hidden] { display: none; }
.aos-doc-cap .k { display: inline-block; margin-right: 6px; font: 800 11px/1 var(--font-numeric); letter-spacing: .06em; color: var(--sp-gold); }
.aos-doc-cap .t { font: 700 13px/1.3 var(--font-body); color: #fff; }
.aos-doc-cap .s { display: block; margin-top: 4px; font-size: 12px; line-height: 1.4; color: #B9C4DB; }
.aos-core-cap { margin: 10px auto 0; max-width: 46ch; text-align: center; font-size: 14px; line-height: 1.5; color: #C8D2E8; }
.aos-core-cap b { display: block; font: 700 clamp(15px, 1.3vw, 17px)/1.35 var(--font-body); color: #F3F6FD; letter-spacing: -0.005em; }
.aos-manifest { display: inline-flex; gap: 6px; align-items: center; margin-top: 6px; font: 600 12.5px/1 var(--font-body); color: #9FB0D6; }
.aos-manifest .lbl { font: 800 10px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: #7F8DB0; }
.aos-manifest [data-manifest] { color: #DCE6FF; transition: opacity .35s ease; }

/* ── Section heads ──────────────────────────────────────────────────────────────────────── */
.aos-sec, .aos-demo-sec { position: relative; padding: clamp(48px, 8vh, 96px) 0; }
.aos-sec, .aos-demo-sec, #early-access { scroll-margin-top: 72px; }
.aos-sec-head { max-width: 760px; margin: 0 0 clamp(22px, 3.5vh, 36px); }
.aos-sec-head .num { display: inline-flex; align-items: center; gap: 10px; font: 800 12px/1 var(--font-body); letter-spacing: .14em; color: var(--sp-gold); }
.aos-sec-head h2 { margin: 14px 0 12px; font: 800 clamp(30px, 3.6vw, 50px)/1.04 var(--font-display) !important; letter-spacing: -0.03em; color: #F6F2EA; text-wrap: balance; }
.aos-sec-head h2 .serif { font-family: var(--nyc-serif); font-style: italic; font-weight: 600; }
.aos-sec-head h2 .accent { color: #FFC08A; }
.aos-sec-lede { font-size: clamp(15.5px, 1.25vw, 17.5px); line-height: 1.62; color: #C9D2E6 !important; margin: 0; }
.aos-lang-note { display: flex; align-items: center; gap: 10px; margin: 12px 0 0; font-size: 13.5px; color: #AEB8CE !important; }
.aos-lang-note .pill { padding: 4px 9px; border-radius: 999px; font: 800 10.5px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase;
  color: #CDE9FF; background: rgba(95,211,243,.12); box-shadow: inset 0 0 0 1px rgba(95,211,243,.4); }

/* ── The prototype desk ─────────────────────────────────────────────────────────────────── */
body.tcd-skinned .aos-demo-sec > .wrap { max-width: 1380px; }
.aos-os { position: relative; border-radius: 24px; padding: 14px; background: linear-gradient(170deg, rgba(14, 22, 52, 0.92), rgba(6, 10, 26, 0.94));
  box-shadow: inset 0 0 0 1px rgba(160, 190, 255, 0.20), 0 60px 140px -60px rgba(70, 90, 255, 0.55), 0 0 0 1px rgba(0,0,0,.4); color: var(--aos-ink); }
.aos-os::before { content: ""; position: absolute; inset: -1px; border-radius: 25px; pointer-events: none; padding: 1px;
  background: linear-gradient(120deg, rgba(110,168,255,.55), rgba(143,140,255,.15) 30%, rgba(242,196,107,.0) 60%, rgba(242,196,107,.45));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.aos-os-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 4px 6px 12px; }
.aos-os-title { display: flex; align-items: center; gap: 10px; font: 600 14px/1.2 var(--font-body); color: var(--aos-soft); }
.aos-os-title b { color: #fff; font-weight: 800; letter-spacing: -0.01em; }
.aos-os-logo { width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #8FB5FF 35%, #6A5CFF 70%, transparent 72%);
  box-shadow: 0 0 16px rgba(120,150,255,.8); }
.aos-os-firm { color: var(--aos-muted); font-weight: 600; margin-left: 4px; }
.aos-badge { padding: 4px 9px; border-radius: 999px; font: 800 10.5px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.aos-badge.warn { color: #1B1205; background: var(--aos-amber); }
.aos-os-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aos-voice-src { display: inline-flex; align-items: center; gap: 7px; padding: 0 10px; min-height: 34px; font: 700 12px/1 var(--font-body); color: var(--aos-soft); }
.aos-voice-src .dot { width: 7px; height: 7px; border-radius: 50%; background: #8A93AA; }
.aos-voice-src.natural .dot { background: var(--aos-green); box-shadow: 0 0 8px rgba(110,231,183,.8); }
.aos-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border: 0; border-radius: 999px; cursor: pointer;
  font: 700 12.5px/1 var(--font-body); color: #DCE4F5; background: rgba(9, 14, 34, 0.9); box-shadow: inset 0 0 0 1px var(--aos-line); }
.aos-toggle:hover { box-shadow: inset 0 0 0 1px rgba(160,190,255,.45); }
.aos-toggle[aria-pressed="true"] { color: #fff; background: linear-gradient(180deg, rgba(95,211,243,.28), rgba(110,168,255,.18)); box-shadow: inset 0 0 0 1px rgba(95,211,243,.6); }
.aos-toggle .sw { position: relative; width: 26px; height: 14px; border-radius: 999px; background: rgba(255,255,255,.18); }
.aos-toggle .sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 10px; height: 10px; border-radius: 50%; background: #DCE4F5; transition: transform .2s ease; }
.aos-toggle[aria-pressed="true"] .sw { background: var(--aos-cyan); }
.aos-toggle[aria-pressed="true"] .sw::after { transform: translateX(12px); background: #062033; }
.aos-toggle .eye { width: 16px; height: 10px; border-radius: 50% / 60%; box-shadow: inset 0 0 0 1.6px currentColor; position: relative; }
.aos-toggle .eye::after { content: ""; position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; margin: -2px; border-radius: 50%; background: currentColor; }
.aos-toggle .exp, .aos-dialog .exp { font-weight: 600; color: var(--aos-muted); }
.aos-toggle:focus-visible, .aos-mic:focus-visible, .aos-chip:focus-visible, .aos-case:focus-visible, .aos-mini:focus-visible, .aos-mobile-tabs button:focus-visible,
.aos-stage button:focus-visible, .aos-panel:focus-visible, .aos-type input:focus-visible { outline: 2px solid var(--skin-accent); outline-offset: 2px; }

.aos-mobile-tabs { display: none; }
.aos-grid { display: grid; grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) minmax(250px, 300px); gap: 12px; align-items: stretch; }
.aos-col { display: grid; gap: 12px; align-content: start; min-width: 0; }
.aos-panel { position: relative; min-width: 0; border-radius: 16px; padding: 12px 12px 14px; background: var(--aos-panel); box-shadow: inset 0 0 0 1px var(--aos-line);
  transition: box-shadow .25s ease, transform .25s ease; }
.aos-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 2px 10px; }
.aos-panel h3 { margin: 0; font: 800 11px/1.2 var(--font-body) !important; letter-spacing: .14em; text-transform: uppercase; color: #AFC0E6; }
.aos-count { min-width: 22px; padding: 3px 7px; border-radius: 999px; text-align: center; font: 800 11px/1 var(--font-numeric); color: #DCE6FF; background: rgba(110,168,255,.16); }
.aos-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--aos-green); box-shadow: 0 0 10px rgba(110,231,183,.9); }
html.nyc-motion .aos-live-dot { animation: bh-pulse 2s ease-in-out infinite; }
.aos-mini { min-height: 28px; padding: 0 10px; border: 0; border-radius: 999px; cursor: pointer; font: 700 11.5px/1 var(--font-body); color: #DCE4F5; background: rgba(110,168,255,.14); }
.aos-panel.gaze-hot, .aos-panel.focus-hot { box-shadow: inset 0 0 0 1.5px rgba(95,211,243,.75), 0 0 34px -6px rgba(95,211,243,.45); }

/* Cases */
.aos-cases { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.aos-case { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: center; text-align: left; padding: 8px 9px; border: 0; border-radius: 12px; cursor: pointer;
  background: rgba(255,255,255,.025); color: inherit; box-shadow: inset 0 0 0 1px transparent; transition: background .2s ease, box-shadow .2s ease; }
.aos-case:hover { background: rgba(110,168,255,.08); }
.aos-case[aria-current="true"] { background: rgba(110,168,255,.14); box-shadow: inset 0 0 0 1px rgba(110,168,255,.45); }
.aos-av { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; font: 800 12px/1 var(--font-body); color: #0B1426; }
.aos-av.gold { background: linear-gradient(140deg, #FFE1A8, #F2C46B); } .aos-av.cyan { background: linear-gradient(140deg, #BDF3FF, #5FD3F3); }
.aos-av.violet { background: linear-gradient(140deg, #DCDAFF, #A9A6FF); } .aos-av.blue { background: linear-gradient(140deg, #CFE1FF, #6EA8FF); }
.aos-av.orange { background: linear-gradient(140deg, #FFD3B0, #FF9A4D); }
.aos-case .nm { display: block; font: 700 13.5px/1.25 var(--font-body); color: #F3F6FD; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aos-case .mt { display: block; margin-top: 3px; font: 500 11.5px/1.3 var(--font-body); color: var(--aos-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aos-case .mt b { font-family: var(--font-numeric); font-weight: 700; color: #B9C6E2; margin-right: 4px; }

/* Calendar */
.aos-cal { display: grid; gap: 6px; }
.aos-day { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 8px; padding: 6px 6px; border-radius: 10px; transition: background .3s ease, box-shadow .3s ease; }
.aos-day.hot { background: rgba(242,196,107,.10); box-shadow: inset 0 0 0 1px rgba(242,196,107,.45); }
.aos-day .d { font: 800 10.5px/1.25 var(--font-body); letter-spacing: .04em; overflow-wrap: anywhere; text-transform: uppercase; color: #9FB0D6; }
.aos-day .d b { display: block; font: 800 17px/1.1 var(--font-numeric); color: #fff; letter-spacing: 0; text-transform: none; }
.aos-day ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.aos-ev { display: flex; gap: 6px; align-items: baseline; font: 600 11.5px/1.3 var(--font-body); color: #DCE4F5; min-width: 0; }
.aos-ev::before { content: ""; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; transform: translateY(-1px); background: var(--aos-amber); }
.aos-ev.deposition::before { background: var(--aos-violet); } .aos-ev.ime::before { background: var(--aos-cyan); }
.aos-ev .tm { flex: 0 0 auto; font-family: var(--font-numeric); color: #B9C6E2; font-weight: 700; }
.aos-ev .w { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aos-day .none { font-size: 11.5px; color: #6F7C99; }

/* Feed */
.aos-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; max-height: 560px; overflow: hidden; }
.aos-fi { position: relative; padding: 9px 10px 9px 12px; border-radius: 12px; background: rgba(255,255,255,.03); box-shadow: inset 2px 0 0 var(--c, var(--aos-green));
  animation: none; }
html.nyc-motion .aos-fi.new { animation: aos-in .6s cubic-bezier(.2,.8,.2,1) both; }
@keyframes aos-in { from { opacity: 0; transform: translateY(-8px) scale(.98); } }
.aos-fi .ag { display: flex; align-items: center; justify-content: space-between; gap: 8px; font: 800 10.5px/1.2 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #AFC0E6; }
.aos-fi .stt { flex: 0 0 auto; padding: 3px 7px; border-radius: 999px; font: 800 9.5px/1 var(--font-body); letter-spacing: .08em; color: #06121F; background: var(--c, var(--aos-green)); }
.aos-fi .did { margin: 5px 0 0; font: 600 13px/1.35 var(--font-body); color: #EEF2FC; }
.aos-fi .src { display: inline-flex; gap: 5px; align-items: center; margin-top: 5px; font: 600 11px/1.3 var(--font-body); color: var(--aos-muted); }
.aos-fi .src::before { content: "§"; color: var(--aos-amber); font-weight: 800; }
.aos-fi[data-state="draft"] { --c: var(--aos-amber); } .aos-fi[data-state="review"] { --c: var(--aos-orange); } .aos-fi[data-state="waiting"] { --c: var(--aos-cyan); }

/* Stage */
.aos-stage { display: flex; flex-direction: column; min-height: 560px; padding: 16px 18px 18px; background: linear-gradient(180deg, rgba(16, 26, 60, 0.92), rgba(9, 14, 34, 0.92)); }
.aos-stage-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 0 0 14px !important; }
.aos-stage-k { display: block; font: 800 11px/1.2 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--aos-amber); }
.aos-stage h3#aos-stage-h { margin: 6px 0 0; font: 800 clamp(20px, 1.8vw, 26px)/1.15 var(--font-display) !important; letter-spacing: -0.02em; text-transform: none; color: #fff; outline: none; }
.aos-stage-state { flex: 0 0 auto; padding: 5px 10px; border-radius: 999px; font: 800 10.5px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.aos-stage-state:empty { display: none; }
.aos-stage-state.drafting { color: #06121F; background: var(--aos-cyan); }
.aos-stage-state.review { color: #1B1205; background: var(--aos-amber); }
.aos-stage-state.done { color: #052016; background: var(--aos-green); }
.aos-stage-body { position: relative; flex: 1 1 auto; min-height: 0; }
html.nyc-motion .aos-stage-body.enter > * { animation: aos-materialise .7s cubic-bezier(.2,.8,.2,1) both; }
html.nyc-motion .aos-stage-body.enter > *:nth-child(2) { animation-delay: .08s; } html.nyc-motion .aos-stage-body.enter > *:nth-child(3) { animation-delay: .16s; }
@keyframes aos-materialise { from { opacity: 0; transform: translateY(14px) scale(.97); filter: blur(6px); } }

/* Today overview */
.aos-today { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.aos-tile { padding: 14px; border-radius: 14px; background: rgba(255,255,255,.035); box-shadow: inset 0 0 0 1px var(--aos-line); }
.aos-tile .n { display: block; font: 800 30px/1 var(--font-numeric); color: #fff; letter-spacing: -0.02em; }
.aos-tile .l { display: block; margin-top: 6px; font: 600 12.5px/1.35 var(--font-body); color: var(--aos-soft); }
.aos-tile.warm .n { color: var(--aos-amber); } .aos-tile.cool .n { color: var(--aos-cyan); }
.aos-today-list { grid-column: 1 / -1; list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 8px; }
.aos-today-list li { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.03); font: 600 13.5px/1.4 var(--font-body); color: #E6EBF7; }
.aos-today-list li .ic { flex: 0 0 auto; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; font: 800 12px/1 var(--font-numeric); color: #06121F; background: var(--aos-cyan); }
.aos-today-list li .ic.w { background: var(--aos-amber); color: #1B1205; } .aos-today-list li .ic.o { background: var(--aos-orange); color: #1B1205; }

/* Checklist */
.aos-check { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.aos-check li { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; gap: 10px; align-items: start; padding: 11px 12px; border-radius: 12px; background: rgba(255,255,255,.035); box-shadow: inset 0 0 0 1px var(--aos-line); }
.aos-check li.pending { opacity: .35; }
html.nyc-motion .aos-check li.typing .t::after { content: "▍"; color: var(--aos-cyan); animation: aos-caret .8s steps(1) infinite; margin-left: 1px; }
@keyframes aos-caret { 50% { opacity: 0; } }
.aos-check .bx { width: 22px; height: 22px; border-radius: 7px; box-shadow: inset 0 0 0 1.6px rgba(160,190,255,.5); display: grid; place-items: center; font: 800 13px/1 var(--font-body); color: transparent; }
.aos-check li.ok .bx { background: var(--aos-green); box-shadow: none; color: #052016; }
.aos-check .t { font: 600 14px/1.45 var(--font-body); color: #EEF2FC; }
.aos-cite { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; padding: 4px 8px; border-radius: 8px; font: 700 11px/1.2 var(--font-body); color: #FFE3B3;
  background: rgba(242,196,107,.10); box-shadow: inset 0 0 0 1px rgba(242,196,107,.32); }
.aos-cite::before { content: "§"; font-weight: 800; color: var(--aos-amber); }
.aos-check .ap { min-height: 30px; padding: 0 10px; border: 0; border-radius: 999px; cursor: pointer; font: 700 11.5px/1 var(--font-body); color: #DCE4F5; background: rgba(110,168,255,.16); }
.aos-check li.ok .ap { visibility: hidden; }

/* Forms (a demo rendering, not the official form) */
.aos-paper { position: relative; border-radius: 12px; padding: 18px 20px 20px; color: #1A2340; background: linear-gradient(180deg, #FBF8F1, #F2EDE2);
  box-shadow: 0 30px 70px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.4); }
.aos-paper::after { content: "DRAFT"; position: absolute; right: 18px; top: 14px; font: 800 12px/1 var(--font-body); letter-spacing: .3em; color: rgba(176,86,10,.55); }
.aos-paper .hd { display: flex; align-items: baseline; gap: 10px; padding-bottom: 10px; margin-bottom: 12px; border-bottom: 2px solid #1A2340; }
.aos-paper .code { font: 800 22px/1 var(--font-numeric); letter-spacing: -0.01em; color: #1A2340; }
.aos-paper .ttl { font: 700 15px/1.2 var(--font-body); color: #2B3557; }
.aos-paper .note { margin: -4px 0 12px; font: 600 11.5px/1.4 var(--font-body); color: #5A6482; }
.aos-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 14px; margin: 0; }
.aos-fields .f { min-width: 0; padding: 6px 8px 7px; border-radius: 8px; background: rgba(26,35,64,.04); box-shadow: inset 0 -1.5px 0 rgba(26,35,64,.28); }
.aos-fields .f.wide { grid-column: 1 / -1; }
.aos-fields dt { font: 800 10px/1.2 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: #5A6482; }
.aos-fields dd { margin: 4px 0 0; min-height: 1.35em; font: 600 13.5px/1.35 var(--font-body); color: #121A33; overflow-wrap: anywhere; }
.aos-fields .f.fill { background: rgba(95,211,243,.16); box-shadow: inset 0 -2px 0 #1E8BB0; }
.aos-fields .f.need { background: rgba(242,196,107,.22); box-shadow: inset 0 0 0 1.5px #B0560A; }
.aos-fields .f.need dd { color: #8A3F05; font-weight: 700; }
.aos-fields .f.pending dd { color: transparent; }
.aos-form-foot { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: space-between; margin-top: 12px; }
.aos-form-foot .from { font: 600 12px/1.4 var(--font-body); color: var(--aos-soft); }
.aos-form-foot .from::before { content: "§ "; color: var(--aos-amber); font-weight: 800; }

/* Medical report */
.aos-med { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 12px; }
.aos-med .page { font: 500 13px/1.6 var(--nyc-serif, Georgia, serif); }
.aos-med .page .meta { display: block; margin-bottom: 8px; font: 700 12px/1.35 var(--font-body); color: #3D4769; }
.aos-med mark { padding: 0 2px; border-radius: 3px; color: inherit; background: rgba(242,196,107,.55); }
.aos-find { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; align-content: start; }
.aos-find li { padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px var(--aos-line); }
.aos-find .k { display: block; font: 800 10.5px/1.2 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #AFC0E6; }
.aos-find .v { display: block; margin-top: 4px; font: 700 15px/1.3 var(--font-body); color: #fff; }
.aos-find li.cmp { box-shadow: inset 0 0 0 1px rgba(255,154,77,.5); background: rgba(255,154,77,.07); }

/* Chat */
.aos-chat { display: grid; gap: 10px; }
.aos-msg { max-width: 82%; padding: 11px 13px; border-radius: 16px; font: 500 14px/1.5 var(--font-body); }
.aos-msg .who { display: block; margin-bottom: 4px; font: 800 10.5px/1.2 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: #AFC0E6; }
.aos-msg.client { justify-self: start; background: rgba(255,255,255,.06); border-bottom-left-radius: 6px; color: #EEF2FC; }
.aos-msg.client .tr { display: block; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--aos-line); font-size: 13px; color: var(--aos-soft); }
.aos-msg.client .tr i { display: block; font-style: normal; font: 700 10.5px/1.3 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--aos-muted); margin-bottom: 2px; }
.aos-msg.draft { justify-self: end; background: rgba(242,196,107,.08); box-shadow: inset 0 0 0 1.5px rgba(242,196,107,.6); border-bottom-right-radius: 6px; color: #FFF5E0; }
.aos-msg.draft .who { color: var(--aos-amber); }
.aos-msg.sent { justify-self: end; background: linear-gradient(160deg, #3D63C9, #2A49A3); border-bottom-right-radius: 6px; color: #fff; }
.aos-msg.sent .who { color: #D6E2FF; }
.aos-msg .es { display: block; margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(242,196,107,.35); font-size: 13px; color: #EBDDBF; }
.aos-msg .es i { display: block; font-style: normal; font: 700 10.5px/1.3 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: #C9B48A; margin-bottom: 2px; }
.aos-msg-actions { justify-self: end; display: flex; gap: 8px; }
.aos-msg-actions .btn { min-height: 38px; padding: 0 14px; font-size: 13px; }

/* Lists: inbox, follow-ups, calls, rules */
.aos-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.aos-rows li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 12px; align-items: center; padding: 11px 12px; border-radius: 12px; background: rgba(255,255,255,.035); box-shadow: inset 0 0 0 1px var(--aos-line); }
.aos-rows .s { font: 700 13.5px/1.35 var(--font-body); color: #F3F6FD; min-width: 0; overflow-wrap: anywhere; }
.aos-rows .m { grid-column: 1; font: 600 11.5px/1.35 var(--font-body); color: var(--aos-muted); overflow-wrap: anywhere; }
.aos-rows .tg { grid-row: 1 / span 2; grid-column: 2; padding: 4px 8px; border-radius: 999px; font: 800 10px/1.1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: #DCE6FF; background: rgba(110,168,255,.16); text-align: center; }
.aos-rows li.triage { box-shadow: inset 0 0 0 1.5px rgba(242,196,107,.6); }
.aos-rows li.triage .tg { color: #1B1205; background: var(--aos-amber); }
.aos-rows li.ok .tg { color: #052016; background: var(--aos-green); }
.aos-slots { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.aos-slots span { padding: 8px 12px; border-radius: 10px; font: 700 13px/1 var(--font-numeric); color: #fff; background: rgba(95,211,243,.14); box-shadow: inset 0 0 0 1px rgba(95,211,243,.45); }
.aos-push { margin-top: 12px; padding: 12px 14px; border-radius: 16px; max-width: 360px; background: rgba(240,244,255,.95); color: #1A2340; font: 600 13px/1.4 var(--font-body); box-shadow: 0 20px 40px -20px rgba(0,0,0,.8); }
.aos-push b { display: block; font: 800 11px/1.2 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: #5A6482; margin-bottom: 3px; }

/* The dock: presence, mic, waveform, transcript, chips */
.aos-dock { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 14px; align-items: start; margin-top: 12px; padding: 12px 14px; border-radius: 18px;
  background: linear-gradient(180deg, rgba(14,22,52,.94), rgba(8,12,30,.96)); box-shadow: inset 0 0 0 1px rgba(160,190,255,.2); }
.aos-presence { position: relative; width: 132px; height: 132px; margin-top: -26px; border-radius: 50%; }
.aos-presence .orb { position: absolute; inset: 22%; border-radius: 50%; transition: opacity .6s ease, box-shadow .4s ease, background .4s ease;
  background: radial-gradient(circle at 38% 34%, #fff 0%, #BFD3FF 18%, #6E8BFF 46%, #4B36C9 70%, rgba(40,30,120,0) 74%); box-shadow: 0 0 40px 6px rgba(110,140,255,.45); }
html.aos-gl-live .aos-presence .orb { opacity: 0; }
.aos-os[data-voice="listening"] .aos-presence .orb { background: radial-gradient(circle at 38% 34%, #fff 0%, #C6F5FF 18%, #5FD3F3 46%, #1C6C9C 70%, rgba(20,60,100,0) 74%); box-shadow: 0 0 44px 8px rgba(95,211,243,.5); }
.aos-os[data-voice="thinking"] .aos-presence .orb { background: radial-gradient(circle at 38% 34%, #fff 0%, #E2DFFF 18%, #A9A6FF 46%, #5B3FD0 70%, rgba(60,40,140,0) 74%); }
.aos-os[data-voice="speaking"] .aos-presence .orb { background: radial-gradient(circle at 38% 34%, #fff 0%, #FFE3B3 18%, #F2A65A 46%, #B0560A 70%, rgba(120,60,10,0) 74%); box-shadow: 0 0 46px 10px rgba(242,166,90,.5); }
.aos-dock-main { min-width: 0; }
.aos-dock-row { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; gap: 12px; align-items: center; }
.aos-mic { position: relative; width: 64px; height: 64px; border: 0; border-radius: 50%; cursor: pointer; display: grid; place-items: center; color: #fff; touch-action: none; -webkit-user-select: none; user-select: none;
  background: radial-gradient(circle at 35% 30%, #E98A3E, #B0560A 70%); box-shadow: 0 10px 30px -8px rgba(232,119,34,.8), inset 0 0 0 1px rgba(255,255,255,.25); }
.aos-mic svg { width: 28px; height: 28px; fill: currentColor; }
.aos-mic .ring { position: absolute; inset: -6px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(95,211,243,0); transition: box-shadow .2s ease; }
.aos-mic[aria-pressed="true"] { background: radial-gradient(circle at 35% 30%, #7FE3FA, #1E8BB0 70%); box-shadow: 0 10px 34px -6px rgba(95,211,243,.9), inset 0 0 0 1px rgba(255,255,255,.3); }
.aos-mic[aria-pressed="true"] .ring { box-shadow: 0 0 0 2px rgba(95,211,243,.8); }
html.nyc-motion .aos-mic[aria-pressed="true"] .ring { animation: aos-ring 1.4s ease-out infinite; }
@keyframes aos-ring { from { box-shadow: 0 0 0 2px rgba(95,211,243,.8); transform: scale(1); } to { box-shadow: 0 0 0 2px rgba(95,211,243,0); transform: scale(1.35); } }
.aos-mic[disabled] { cursor: not-allowed; filter: grayscale(.8); opacity: .6; }
.aos-wave { width: 100%; height: 48px; display: block; border-radius: 10px; background: rgba(255,255,255,.025); }
.aos-state { min-width: 96px; text-align: right; font: 800 11px/1.2 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: #AFC0E6; }
.aos-os[data-voice="listening"] .aos-state { color: var(--aos-cyan); } .aos-os[data-voice="thinking"] .aos-state { color: var(--aos-violet); }
.aos-os[data-voice="speaking"] .aos-state { color: var(--aos-amber); }
.aos-mic-hint { margin: 6px 0 0 76px; font-size: 12px; color: var(--aos-muted) !important; }
.aos-transcript { display: grid; gap: 4px; margin: 10px 0 0; }
.aos-transcript p { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 8px; margin: 0; font: 500 14.5px/1.5 var(--font-body); }
.aos-transcript .lbl { padding-top: 3px; font: 800 10px/1.2 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--aos-muted); }
.aos-transcript .you .txt { color: #CFE9FF !important; }
.aos-transcript .you .txt.interim { color: #7FA6C9 !important; font-style: italic; }
.aos-transcript .os .txt { color: #FFF5E0 !important; font-weight: 600; }
.aos-transcript .os .txt .w { transition: color .12s ease; }
.aos-transcript .os .txt .w.said { color: #FFD08A; }
.aos-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.aos-chip { min-height: 36px; padding: 0 13px; border: 0; border-radius: 999px; cursor: pointer; font: 700 13px/1 var(--font-body); color: #E3EBFF;
  background: rgba(110,168,255,.12); box-shadow: inset 0 0 0 1px rgba(110,168,255,.35); transition: background .2s ease, transform .2s ease; }
.aos-chip:hover { background: rgba(110,168,255,.22); }
.aos-chip.hot { color: #1B1205; background: var(--aos-amber); box-shadow: none; }
.aos-type { display: flex; gap: 8px; margin-top: 10px; }
.aos-type input { flex: 1 1 auto; min-width: 0; min-height: 40px; padding: 0 14px; border: 0; border-radius: 12px; font: 500 14px/1 var(--font-body); color: #fff;
  background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px var(--aos-line); }
.aos-type input::placeholder { color: #8C97B2; }
.aos-type .btn { min-height: 40px; padding: 0 16px; }
.aos-voice-note { margin: 8px 0 0; font-size: 12.5px; color: #C9B48A !important; }
.aos-privacy { max-width: 900px; margin: 16px auto 0; text-align: center; font-size: 13px; line-height: 1.6; color: #A6B1C9 !important; }
.aos-privacy b { color: #DCE4F5; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ── Features ───────────────────────────────────────────────────────────────────────────── */
.aos-stages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; counter-reset: st; }
@media (max-width: 1100px) { .aos-stages { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .aos-stages { grid-template-columns: 1fr; } }
.aos-feat { position: relative; padding: 18px 18px 20px; border-radius: 16px; background: linear-gradient(160deg, rgba(20,30,62,.84), rgba(10,16,38,.84)); box-shadow: inset 0 0 0 1px var(--sp-line); counter-increment: st; }
.aos-feat .st { display: inline-flex; align-items: center; gap: 8px; font: 800 10.5px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--aos-cyan); }
.aos-feat .st::before { content: counter(st, decimal-leading-zero); display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
  font: 800 11px/1 var(--font-numeric); color: #0B1426; background: radial-gradient(circle at 35% 35%, #fff, #F2C46B); box-shadow: 0 0 14px rgba(242,196,107,.55); letter-spacing: 0; }
.aos-feat h3 { margin: 12px 0 6px; font: 800 17px/1.25 var(--font-display) !important; color: #fff; letter-spacing: -0.01em; }
.aos-feat p { margin: 0; font-size: 14px; line-height: 1.55; color: #B9C3D8; }
.aos-feat .tag, .aos-around .tag { display: inline-block; margin-top: 12px; font: 800 10.5px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--sp-gold); }
.aos-around { margin-top: clamp(28px, 5vh, 48px); }
.aos-around-h { margin: 0 0 14px; font: 800 13px/1 var(--font-body) !important; letter-spacing: .14em; text-transform: uppercase; color: #AFC0E6; }
.aos-principles { list-style: none; margin: clamp(28px, 5vh, 48px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
@media (max-width: 1100px) { .aos-principles { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .aos-principles { grid-template-columns: 1fr; } }
.aos-principles li { padding: 16px; border-radius: 14px; font-size: 14px; line-height: 1.5; color: #B9C3D8; background: rgba(242,196,107,.05); box-shadow: inset 0 0 0 1px rgba(242,196,107,.25); }
.aos-principles b { display: block; margin-bottom: 4px; font: 800 15px/1.3 var(--font-body); color: #FFE3B3; }

/* ── The vision ─────────────────────────────────────────────────────────────────────────── */
.aos-vision { background: radial-gradient(60% 50% at 50% 40%, rgba(143,140,255,.10), transparent 70%); }
.aos-vision-flag { display: inline-block; margin-right: 8px; padding: 4px 9px; border-radius: 999px; font: 800 10.5px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase;
  color: #E9E7FF; background: rgba(143,140,255,.18); box-shadow: inset 0 0 0 1px rgba(169,166,255,.55); vertical-align: 2px; }
.aos-vision-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
@media (max-width: 1100px) { .aos-vision-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .aos-vision-grid { grid-template-columns: 1fr; } }
.aos-vis { padding: 18px; border-radius: 16px; background: linear-gradient(170deg, rgba(40,34,92,.55), rgba(10,14,36,.8)); box-shadow: inset 0 0 0 1px rgba(169,166,255,.28); }
.aos-vis .n { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font: 800 13px/1 var(--font-numeric); color: #0B1426; background: radial-gradient(circle at 35% 35%, #fff, #A9A6FF); box-shadow: 0 0 16px rgba(169,166,255,.6); }
.aos-vis h3 { margin: 12px 0 6px; font: 800 17px/1.25 var(--font-display) !important; color: #fff; }
.aos-vis p { margin: 0; font-size: 14px; line-height: 1.55; color: #C2C6E6; }

/* ── CTA + footer ───────────────────────────────────────────────────────────────────────── */
.aos-cta h2 { text-wrap: balance; }
.aos-cta-note { margin-top: 14px; font-size: 12.5px; color: #AEB8CE !important; }
body.aos .tcd-footer .aos-legal { max-width: 860px; margin: 0 auto 10px; font-size: 12.5px; line-height: 1.6; }

/* ── Gaze: dialog, calibration, reticle ─────────────────────────────────────────────────── */
.aos-dialog { max-width: 520px; width: calc(100% - 32px); padding: 22px 22px 20px; border: 0; border-radius: 18px; color: #EEF2FC;
  background: linear-gradient(170deg, #121B40, #070B1E); box-shadow: inset 0 0 0 1px rgba(160,190,255,.25), 0 40px 120px rgba(0,0,0,.7); }
.aos-dialog::backdrop { background: rgba(3,5,15,.72); }
.aos-dialog h2 { margin: 0 0 10px; font: 800 22px/1.2 var(--font-display) !important; color: #fff; }
.aos-dialog p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.55; color: #C9D2E6 !important; }
.aos-dialog p b { color: #fff; }
.aos-dialog .small { font-size: 12.5px; color: #9AA6C0 !important; }
.aos-dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.aos-calib { position: fixed; inset: 0; z-index: 80; background: rgba(3,5,15,.9); }
.aos-calib[hidden] { display: none; }
.aos-calib p { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; max-width: 80%; text-align: center; font: 700 18px/1.4 var(--font-body); color: #fff; }
.aos-calib .dot { position: absolute; width: 26px; height: 26px; margin: -13px; border-radius: 50%; background: conic-gradient(var(--aos-cyan) calc(var(--p, 0) * 1turn), rgba(255,255,255,.18) 0);
  box-shadow: 0 0 24px rgba(95,211,243,.8); transition: left .35s ease, top .35s ease; }
.aos-calib .btn { position: absolute; left: 50%; bottom: 32px; transform: translateX(-50%); }
.aos-reticle { position: fixed; left: 0; top: 0; z-index: 70; width: 44px; height: 44px; margin: -22px 0 0 -22px; pointer-events: none; will-change: transform; }
.aos-reticle[hidden] { display: none; }
.aos-reticle svg { width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.aos-reticle .bg { fill: rgba(95,211,243,.10); stroke: rgba(95,211,243,.9); stroke-width: 2; }
.aos-reticle .fill { fill: none; stroke: #FFD08A; stroke-width: 3.5; stroke-dasharray: 100.53; stroke-dashoffset: calc(100.53 * (1 - var(--dwell, 0))); stroke-linecap: round; }
.aos-reticle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px; border-radius: 50%; background: #fff; box-shadow: 0 0 10px #5FD3F3; }
.aos-cam { position: fixed; width: 1px; height: 1px; opacity: 0; pointer-events: none; left: -10px; top: -10px; }

/* ── Phones and tablets ─────────────────────────────────────────────────────────────────── */
@media (max-width: 1180px) {
  .aos-grid { grid-template-columns: minmax(210px, 240px) minmax(0, 1fr); }
  .aos-right { grid-column: 1 / -1; }
  .aos-feed { grid-template-columns: repeat(2, minmax(0,1fr)); max-height: none; }
}
@media (max-width: 900px) {
  .aos-os { padding: 10px; border-radius: 20px; }
  .aos-mobile-tabs { display: flex; gap: 4px; padding: 3px; margin: 0 0 10px; border-radius: 999px; background: rgba(9,14,34,.9); box-shadow: inset 0 0 0 1px var(--aos-line); }
  .aos-mobile-tabs button { flex: 1 1 0; min-height: 38px; border: 0; border-radius: 999px; cursor: pointer; background: transparent; color: #B9C4DB; font: 700 13px/1 var(--font-body); }
  .aos-mobile-tabs button[aria-selected="true"] { color: #fff; background: linear-gradient(180deg, rgba(110,168,255,.32), rgba(143,140,255,.22)); box-shadow: inset 0 0 0 1px rgba(160,190,255,.45); }
  .aos-grid { display: block; }
  .aos-col { display: contents; }
  .aos-panel { display: none; }
  .aos-os[data-mtab="stage"] .aos-panel[data-panel="stage"], .aos-os[data-mtab="cases"] .aos-panel[data-panel="cases"],
  .aos-os[data-mtab="cal"] .aos-panel[data-panel="cal"], .aos-os[data-mtab="feed"] .aos-panel[data-panel="feed"] { display: block; }
  .aos-stage { min-height: 420px; padding: 14px; }
  .aos-feed { grid-template-columns: 1fr; }
  .aos-today { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .aos-med { grid-template-columns: 1fr; }
  .aos-dock { position: sticky; bottom: 8px; z-index: 5; grid-template-columns: 76px minmax(0,1fr); gap: 10px; padding: 10px; box-shadow: inset 0 0 0 1px rgba(160,190,255,.25), 0 -20px 40px -10px rgba(3,5,15,.85); }
  .aos-presence { width: 76px; height: 76px; margin-top: 0; }
  html.aos-demo-in .nyc-motion-fab { opacity: 0; pointer-events: none; }
  /* The site chat steps aside while the desk's sticky voice dock is on screen (it returns below it). */
  html.aos-demo-in #cd-site-chat { display: none; }
  .aos-dock { background: linear-gradient(180deg, #0E1634, #080C1E); }
  .aos-dock-row { grid-template-columns: 56px minmax(0,1fr); }
  .aos-mic { width: 56px; height: 56px; }
  .aos-state { grid-column: 1 / -1; text-align: left; min-width: 0; }
  .aos-mic-hint { display: none; }
  .aos-type { display: none; }
  .aos-os.typing-open .aos-type { display: flex; }
  .aos-transcript p { font-size: 13.5px; }
}
@media (max-width: 560px) {
  .aos-os-bar { padding-bottom: 8px; }
  .aos-voice-src { display: none; }
  .aos-toggle { min-height: 34px; padding: 0 10px; font-size: 12px; }
  .aos-toggle .exp { display: none; }
  .aos-fields { grid-template-columns: 1fr; }
  .aos-today { grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
  .aos-tile { padding: 10px; } .aos-tile .n { font-size: 24px; } .aos-tile .l { font-size: 11.5px; }
  .aos-check li { grid-template-columns: 22px minmax(0,1fr); }
  .aos-check .ap { grid-column: 2; justify-self: start; }
  .aos-msg { max-width: 94%; }
  .aos-stage-head { flex-direction: column-reverse; align-items: flex-start; gap: 8px; text-align: left; }
  .aos-stage-head > div { text-align: left; }
  .aos-stage h3#aos-stage-h { font-size: 20px !important; }
  .aos-dock { bottom: 6px; padding: 8px 10px; }
  .aos-dock-row { grid-template-columns: 52px minmax(0,1fr) auto; }
  .aos-mic { width: 52px; height: 52px; }
  .aos-state { grid-column: auto; text-align: right; min-width: 0; font-size: 10px; }
  .aos-wave { height: 36px; }
  .aos-transcript { margin-top: 6px; }
  .aos-transcript .you .txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .aos-transcript .os .txt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .aos-transcript p { font-size: 13px; line-height: 1.45; }
  .aos-chips { margin-top: 8px; }
  .aos-dock { grid-template-columns: 46px minmax(0,1fr); gap: 8px; }
  .aos-presence { width: 46px; height: 46px; margin-top: 3px; }
  .aos-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: -2px; padding: 2px; }
  .aos-chips::-webkit-scrollbar { display: none; }
  .aos-chip { flex: 0 0 auto; }
  .aos-hero-copy h1 .serif { display: inline; }
}

/* Still: reduced motion, Save-Data, Pause motion. */
@media (prefers-reduced-motion: reduce) {
  .aos-stage-body.enter > *, .aos-fi.new { animation: none !important; }
  .aos-calib .dot, .aos-doc-cap { transition: none; }
}
