:root {
  --ai-night: #432c34;
  --ai-rose: #a94458;
  --ai-coral: #e87a63;
  --ai-sun: #f3b75e;
  --ai-honey: #ffe0a6;
  --ai-mint: #dceee8;
  --ai-forest: #245f57;
  --ai-cloud: #fffdf9;
  --ai-line: rgba(92, 48, 56, .14);
  --ai-ease: cubic-bezier(.2, .8, .2, 1);
}

.ai-care-page {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(243, 183, 94, .12), transparent 25rem),
    var(--cream);
}

.ai-emergency-band {
  color: #fff;
  background: #704052;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.ai-emergency-inner {
  display: flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding-block: .48rem;
  font-size: .84rem;
  text-align: center;
}

.ai-emergency-inner strong { color: #fff; }
.ai-emergency-inner a {
  color: #fff4d8;
  font-weight: 900;
  text-underline-offset: .2rem;
}

.ai-workspace {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4.5rem) 0 clamp(4rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 88% 12%, rgba(243, 183, 94, .22), transparent 22rem),
    radial-gradient(circle at 8% 75%, rgba(46, 111, 104, .13), transparent 28rem),
    linear-gradient(145deg, #fffdf9 0%, #fff5e9 52%, #fcebea 100%);
}

.ai-ambient {
  position: absolute;
  z-index: -1;
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
  filter: blur(1px);
  opacity: .62;
  pointer-events: none;
}

.ai-ambient.one {
  right: -9rem;
  top: 18%;
  background: radial-gradient(circle, rgba(255, 202, 115, .32), transparent 68%);
  animation: ai-drift-one 13s var(--ai-ease) infinite alternate;
}

.ai-ambient.two {
  left: -12rem;
  bottom: -8rem;
  background: radial-gradient(circle, rgba(70, 139, 126, .2), transparent 68%);
  animation: ai-drift-two 16s var(--ai-ease) infinite alternate;
}

@keyframes ai-drift-one {
  to { transform: translate3d(-3.2rem, 2rem, 0) scale(1.08); }
}

@keyframes ai-drift-two {
  to { transform: translate3d(4rem, -2rem, 0) scale(.92); }
}

.ai-page-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 1.5rem;
}

.ai-page-intro h1 {
  max-width: 920px;
  margin-bottom: .6rem;
  font-size: clamp(2.2rem, 5vw, 4.2rem);
}

.ai-page-intro .page-lead {
  max-width: 860px;
  margin-bottom: 0;
  font-size: 1.02rem;
}

.ai-mode-note {
  max-width: 320px;
  padding: 1rem 1.1rem;
  color: var(--ai-forest);
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(36, 95, 87, .2);
  border-radius: 1rem;
  box-shadow: 0 14px 34px rgba(73, 46, 43, .07);
  font-size: .82rem;
  line-height: 1.65;
}

.ai-mode-note strong { display: block; margin-bottom: .2rem; color: var(--ai-forest); }

.ai-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(275px, .55fr);
  gap: 1.2rem;
  align-items: start;
}

.ai-assistant {
  overflow: hidden;
  background: rgba(255, 255, 255, .92);
  border: 1px solid var(--ai-line);
  border-radius: 1.65rem;
  box-shadow: 0 28px 80px rgba(83, 43, 50, .13);
  backdrop-filter: blur(18px);
}

.ai-assistant-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: center;
  padding: 1rem 1.15rem;
  background:
    radial-gradient(circle at 90% 0, rgba(255, 220, 158, .3), transparent 13rem),
    #fff9f2;
  border-bottom: 1px solid var(--ai-line);
}

.ai-avatar {
  position: relative;
  width: 3.15rem;
  height: 3.15rem;
  overflow: hidden;
  background: #fff;
  border: 2px solid rgba(232, 122, 99, .28);
  border-radius: 1rem;
  box-shadow: 0 8px 22px rgba(116, 51, 63, .12);
}

.ai-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
}

.ai-avatar::after {
  position: absolute;
  right: -.08rem;
  bottom: -.08rem;
  width: .78rem;
  height: .78rem;
  background: #38a073;
  border: 3px solid #fff;
  border-radius: 50%;
  content: "";
}

.ai-identity { min-width: 0; }
.ai-identity strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-family: "Noto Serif TC", "Songti TC", serif;
  font-size: 1.06rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-identity span { color: var(--ink-soft); font-size: .76rem; }

.ai-local-badge {
  padding: .42rem .65rem;
  color: var(--ai-forest);
  background: var(--ai-mint);
  border: 1px solid rgba(36, 95, 87, .18);
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  white-space: nowrap;
}

.ai-progress {
  padding: .72rem 1.15rem;
  background: rgba(255, 253, 249, .88);
  border-bottom: 1px solid var(--ai-line);
}

.ai-progress-row {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .42rem;
  color: var(--ink-soft);
  font-size: .75rem;
  font-weight: 800;
}

.ai-progress-track {
  height: .45rem;
  overflow: hidden;
  background: #f1e6dc;
  border-radius: 999px;
}

.ai-progress-track span {
  display: block;
  width: var(--ai-progress, 25%);
  height: 100%;
  background: linear-gradient(90deg, var(--ai-forest), var(--ai-coral), var(--ai-sun));
  border-radius: inherit;
  transition: width .55s var(--ai-ease);
}

.ai-conversation {
  display: grid;
  min-height: 250px;
  max-height: 390px;
  gap: .8rem;
  align-content: start;
  overflow-y: auto;
  padding: 1.2rem;
  background:
    linear-gradient(rgba(255, 255, 255, .88), rgba(255, 255, 255, .88)),
    radial-gradient(circle at 10% 10%, rgba(243, 183, 94, .15), transparent 17rem);
  scroll-behavior: smooth;
}

.ai-message {
  max-width: min(88%, 720px);
  padding: .9rem 1rem;
  border-radius: 1rem;
  font-size: .92rem;
  line-height: 1.75;
  animation: ai-message-in .45s var(--ai-ease) both;
}

.ai-message.assistant {
  justify-self: start;
  color: var(--ink);
  background: #fff5ea;
  border: 1px solid rgba(232, 122, 99, .16);
  border-bottom-left-radius: .3rem;
}

.ai-message.user {
  justify-self: end;
  color: #fff;
  background: var(--ai-forest);
  border-bottom-right-radius: .3rem;
}

.ai-message strong { display: block; margin-bottom: .15rem; }

@keyframes ai-message-in {
  from { opacity: 0; transform: translateY(.55rem) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.ai-choice-zone {
  padding: 1rem 1.15rem 1.15rem;
  background: #fffdf9;
  border-top: 1px solid var(--ai-line);
}

.ai-choice-label {
  display: block;
  margin-bottom: .65rem;
  color: var(--ink-soft);
  font-size: .78rem;
  font-weight: 850;
}

.ai-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.ai-choice {
  position: relative;
  min-height: 4.8rem;
  overflow: hidden;
  padding: .8rem .9rem;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--ai-line);
  border-radius: .9rem;
  cursor: pointer;
  font: inherit;
  line-height: 1.45;
  text-align: left;
  transition: transform .25s var(--ai-ease), border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.ai-choice:hover {
  transform: translateY(-2px);
  background: #fff8f0;
  border-color: rgba(232, 122, 99, .48);
  box-shadow: 0 10px 24px rgba(91, 48, 55, .09);
}

.ai-choice strong { display: block; margin-bottom: .16rem; font-size: .91rem; }
.ai-choice small { display: block; color: var(--ink-soft); font-size: .75rem; line-height: 1.5; }

.ai-choice.danger {
  color: #6f2033;
  background: #fff1f0;
  border-color: rgba(140, 47, 66, .28);
}

.ai-choice.safe {
  color: var(--ai-forest);
  background: #f0f8f5;
  border-color: rgba(36, 95, 87, .25);
}

.ai-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  margin-top: .8rem;
}

.ai-text-button {
  min-height: 2.55rem;
  padding: .5rem .72rem;
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid transparent;
  border-radius: .7rem;
  cursor: pointer;
  font-size: .78rem;
  font-weight: 850;
}

.ai-text-button:hover { color: var(--wine); background: var(--rose-2); }
.ai-text-button[hidden] { display: none; }

.ai-side {
  display: grid;
  gap: 1rem;
}

.ai-side-card {
  padding: 1.15rem;
  background: rgba(255, 255, 255, .82);
  border: 1px solid var(--ai-line);
  border-radius: 1.2rem;
  box-shadow: 0 16px 42px rgba(79, 46, 48, .08);
  backdrop-filter: blur(12px);
}

.ai-side-card h2, .ai-side-card h3 {
  margin-bottom: .45rem;
  font-size: 1.17rem;
}

.ai-side-card p { margin-bottom: .8rem; color: var(--ink-soft); font-size: .82rem; line-height: 1.65; }
.ai-side-card p:last-child { margin-bottom: 0; }

.ai-privacy-list {
  display: grid;
  gap: .55rem;
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
}

.ai-privacy-list li {
  display: grid;
  grid-template-columns: 1.2rem 1fr;
  gap: .45rem;
  color: var(--ink-soft);
  font-size: .8rem;
  line-height: 1.55;
}

.ai-privacy-list li::before { color: var(--ai-forest); content: "✓"; font-weight: 950; }

.ai-calm-card {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(145deg, #326f66, #224f49);
}

.ai-calm-card::after {
  position: absolute;
  width: 8rem;
  height: 8rem;
  right: -3.4rem;
  top: -3.8rem;
  background: radial-gradient(circle, rgba(255, 224, 166, .38), transparent 67%);
  border-radius: 50%;
  content: "";
}

.ai-calm-card h2, .ai-calm-card h3 { position: relative; color: #fff; }
.ai-calm-card p { position: relative; color: rgba(255, 255, 255, .8); }

.ai-calm-button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: .6rem .82rem;
  color: #493127;
  background: #ffe1a9;
  border: 0;
  border-radius: .75rem;
  cursor: pointer;
  font-weight: 900;
}

.ai-quick-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
}

.ai-quick-link {
  display: grid;
  min-height: 3.65rem;
  place-items: center;
  padding: .55rem;
  color: var(--ai-forest);
  background: #f2f8f6;
  border: 1px solid rgba(36, 95, 87, .18);
  border-radius: .75rem;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
}

.ai-quick-link strong { display: block; font-size: 1rem; }

.ai-result {
  padding: 1.15rem;
  background: linear-gradient(145deg, #fffdf9, #fff6ea);
  border-top: 1px solid var(--ai-line);
}

.ai-result[hidden] { display: none; }

.ai-result-header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .85rem;
  align-items: start;
  margin-bottom: 1rem;
}

.ai-result-mark {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  place-items: center;
  color: #fff;
  background: var(--ai-coral);
  border-radius: 1rem;
  box-shadow: 0 0 0 .45rem rgba(232, 122, 99, .1);
  font-family: Georgia, serif;
  font-size: 1.5rem;
}

.ai-result-header h2 { margin-bottom: .25rem; font-size: clamp(1.45rem, 3vw, 2rem); }
.ai-result-header p { margin-bottom: 0; color: var(--ink-soft); font-size: .86rem; }

.ai-action-plan {
  display: grid;
  gap: .6rem;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
  counter-reset: ai-plan;
}

.ai-action-plan li {
  position: relative;
  min-height: 3.4rem;
  padding: .75rem .8rem .75rem 3.25rem;
  background: #fff;
  border: 1px solid var(--ai-line);
  border-radius: .85rem;
  counter-increment: ai-plan;
  font-size: .85rem;
  line-height: 1.6;
}

.ai-action-plan li::before {
  position: absolute;
  left: .7rem;
  top: .68rem;
  display: grid;
  width: 1.95rem;
  height: 1.95rem;
  place-items: center;
  color: #fff;
  background: var(--ai-forest);
  border-radius: 50%;
  content: counter(ai-plan);
  font-size: .72rem;
  font-weight: 900;
}

.ai-result-contacts {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: .9rem;
}

.ai-contact-link {
  display: inline-flex;
  min-height: 2.8rem;
  align-items: center;
  justify-content: center;
  padding: .58rem .78rem;
  color: #fff;
  background: var(--ai-rose);
  border-radius: .72rem;
  font-size: .8rem;
  font-weight: 900;
  text-decoration: none;
}

.ai-contact-link.secondary { color: var(--ai-forest); background: var(--ai-mint); }

.ai-result-tools {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding-top: .9rem;
  border-top: 1px solid var(--ai-line);
}

.ai-tool-button {
  min-height: 2.65rem;
  padding: .55rem .72rem;
  color: var(--ink-soft);
  background: #fff;
  border: 1px solid var(--ai-line);
  border-radius: .7rem;
  cursor: pointer;
  font-size: .78rem;
  font-weight: 850;
}

.ai-tool-button:hover { color: var(--wine); border-color: rgba(140, 47, 66, .35); }
.ai-tool-status { min-height: 1.4rem; margin: .5rem 0 0; color: var(--ai-forest); font-size: .76rem; font-weight: 800; }

.ai-emergency-result {
  padding: 1.15rem;
  background: #fff5f3;
  border-top: 1px solid rgba(140, 47, 66, .18);
}

.ai-emergency-result[hidden] { display: none; }
.ai-emergency-result h2 { color: var(--wine-deep); font-size: clamp(1.5rem, 3vw, 2.1rem); }
.ai-emergency-result > p { color: var(--ink-soft); }

.ai-emergency-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin: 1rem 0;
}

.ai-emergency-link {
  display: block;
  padding: .85rem;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(140, 47, 66, .2);
  border-radius: .85rem;
  text-decoration: none;
}

.ai-emergency-link strong { display: block; color: var(--wine-deep); }
.ai-emergency-link span { color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }

.ai-disclosure {
  margin-top: 1rem;
  background: rgba(255, 255, 255, .7);
  border: 1px solid var(--ai-line);
  border-radius: 1rem;
}

.ai-disclosure summary {
  padding: .85rem 1rem;
  color: var(--ai-forest);
  cursor: pointer;
  font-size: .82rem;
  font-weight: 900;
}

.ai-disclosure div { padding: 0 1rem 1rem; color: var(--ink-soft); font-size: .8rem; line-height: 1.7; }
.ai-disclosure p:last-child { margin-bottom: 0; }

.ai-safety-section {
  background:
    radial-gradient(circle at 90% 20%, rgba(255, 208, 126, .18), transparent 23rem),
    var(--paper);
}

.ai-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.ai-capability-card {
  min-height: 13rem;
  padding: 1.35rem;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 1.15rem;
}

.ai-capability-number {
  display: block;
  margin-bottom: .75rem;
  color: var(--ai-coral);
  font-family: "Noto Serif TC", serif;
  font-size: 2.1rem;
  font-weight: 900;
}

.ai-capability-card p { margin-bottom: 0; color: var(--ink-soft); font-size: .88rem; }

.ai-boundary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1.2rem;
}

.ai-boundary article {
  padding: 1.25rem;
  border-radius: 1.1rem;
}

.ai-boundary .can { background: rgba(46, 111, 104, .09); border: 1px solid rgba(46, 111, 104, .22); }
.ai-boundary .cannot { background: var(--rose-2); border: 1px solid rgba(140, 47, 66, .17); }
.ai-boundary h3 { font-size: 1.2rem; }
.ai-boundary ul { margin-bottom: 0; padding-left: 1.15rem; color: var(--ink-soft); }

.ai-source-note {
  margin-top: 1rem;
  color: var(--ink-soft);
  font-size: .8rem;
}

.ai-source-note a { color: var(--wine); font-weight: 800; text-underline-offset: .18rem; }

.calm-dialog {
  width: min(540px, calc(100% - 1.5rem));
  padding: 0;
  color: var(--ink);
  background: transparent;
  border: 0;
}

.calm-dialog::backdrop { background: rgba(41, 28, 32, .58); backdrop-filter: blur(6px); }

.calm-card {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 5vw, 2.5rem);
  background: linear-gradient(150deg, #fffdf8, #fff2df);
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 1.7rem;
  box-shadow: 0 35px 100px rgba(31, 19, 23, .3);
  text-align: center;
}

.calm-close {
  position: absolute;
  z-index: 2;
  right: .8rem;
  top: .8rem;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--ink-soft);
  background: rgba(255,255,255,.76);
  border: 1px solid var(--ai-line);
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.1rem;
}

.breath-orb {
  display: grid;
  width: 8rem;
  height: 8rem;
  margin: 1.2rem auto;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.38), transparent 24%),
    linear-gradient(145deg, var(--ai-sun), var(--ai-coral));
  border-radius: 50%;
  box-shadow: 0 0 0 1rem rgba(243, 183, 94, .12), 0 0 0 2rem rgba(232, 122, 99, .06);
  font-family: "Noto Serif TC", serif;
  font-size: 1rem;
  font-weight: 900;
}

.breath-orb.is-running { animation: breath-orb 10s ease-in-out infinite; }

@keyframes breath-orb {
  0%, 100% { transform: scale(.82); box-shadow: 0 0 0 .7rem rgba(243, 183, 94, .1), 0 0 0 1.4rem rgba(232, 122, 99, .04); }
  40% { transform: scale(1.08); box-shadow: 0 0 0 1.2rem rgba(243, 183, 94, .15), 0 0 0 2.4rem rgba(232, 122, 99, .07); }
  55% { transform: scale(1.08); }
}

.calm-card h2 { margin-bottom: .5rem; font-size: 1.75rem; }
.calm-card p { color: var(--ink-soft); }
.calm-timer { color: var(--ai-forest); font-size: .82rem; font-weight: 900; }
.calm-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }

.warm-spark {
  position: fixed;
  z-index: 10001;
  color: var(--ai-coral);
  pointer-events: none;
  font-family: Georgia, serif;
  font-size: 1.25rem;
  animation: warm-spark .85s var(--ai-ease) both;
}

@keyframes warm-spark {
  from { opacity: 0; transform: translate(-50%, -50%) scale(.5); }
  28% { opacity: .95; }
  to { opacity: 0; transform: translate(calc(-50% + var(--spark-x)), calc(-50% - 3rem)) scale(1.15) rotate(var(--spark-r)); }
}

.ai-enhanced .warm-reveal { opacity: 0; transform: translateY(1.1rem); transition: opacity .7s ease, transform .7s var(--ai-ease); }
.ai-enhanced .warm-reveal.is-visible { opacity: 1; transform: translateY(0); }

.ai-home-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 20%, rgba(255, 205, 121, .23), transparent 23rem),
    linear-gradient(145deg, #fffdf9, #fff1e6);
}

.ai-home-section::before,
.ai-home-section::after {
  position: absolute;
  z-index: -1;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.ai-home-section::before {
  right: -7rem;
  top: -8rem;
  background: radial-gradient(circle, rgba(243, 183, 94, .23), transparent 68%);
  animation: ai-home-glow 12s var(--ai-ease) infinite alternate;
}

.ai-home-section::after {
  left: -10rem;
  bottom: -11rem;
  background: radial-gradient(circle, rgba(46, 111, 104, .14), transparent 68%);
  animation: ai-home-glow 16s var(--ai-ease) 1.5s infinite alternate-reverse;
}

@keyframes ai-home-glow {
  to { transform: translate3d(2.5rem, 1.5rem, 0) scale(1.1); }
}

.ai-home-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: center;
}

.ai-home-demo {
  overflow: hidden;
  background: rgba(255, 255, 255, .9);
  border: 1px solid var(--ai-line);
  border-radius: 1.5rem;
  box-shadow: 0 25px 60px rgba(90, 48, 55, .12);
  transition: transform .5s var(--ai-ease), box-shadow .5s ease;
}

.ai-home-demo:hover { transform: translateY(-5px) rotate(.25deg); box-shadow: 0 32px 72px rgba(90, 48, 55, .16); }

.ai-home-demo-head {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .9rem 1rem;
  background: #fff8f0;
  border-bottom: 1px solid var(--ai-line);
}

.ai-home-demo-head img { width: 2.5rem; height: 2.5rem; object-fit: cover; object-position: center 25%; border-radius: .8rem; }
.ai-home-demo-head strong { display: block; }
.ai-home-demo-head small { color: var(--ink-soft); }
.ai-home-chat { display: grid; gap: .7rem; padding: 1rem; }
.ai-home-bubble { max-width: 86%; padding: .8rem .9rem; background: #fff1e4; border-radius: .9rem .9rem .9rem .25rem; font-size: .85rem; }
.ai-home-bubble.answer { justify-self: end; color: white; background: var(--ai-forest); border-radius: .9rem .9rem .25rem .9rem; }
.ai-home-choices { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: 0 1rem 1rem; }
.ai-home-choice { padding: .65rem; color: var(--ink-soft); background: #fff; border: 1px solid var(--ai-line); border-radius: .75rem; font-size: .76rem; font-weight: 850; }

@media (max-width: 980px) {
  .ai-page-intro, .ai-layout, .ai-home-layout { grid-template-columns: 1fr; }
  .ai-mode-note { max-width: none; }
  .ai-side { grid-template-columns: 1fr 1fr; }
  .ai-side-card:first-child { grid-row: span 2; }
}

@media (max-width: 700px) {
  .ai-emergency-inner { align-items: flex-start; flex-direction: column; }
  .ai-page-intro h1 { font-size: clamp(2rem, 10vw, 3rem); }
  .ai-assistant-head { grid-template-columns: auto 1fr; }
  .ai-local-badge { grid-column: 1 / -1; justify-self: start; }
  .ai-conversation { max-height: 330px; padding: .85rem; }
  .ai-message { max-width: 94%; }
  .ai-choices, .ai-emergency-grid, .ai-capability-grid, .ai-boundary, .ai-side { grid-template-columns: 1fr; }
  .ai-choice { min-height: 4.3rem; }
  .ai-result-header { grid-template-columns: 1fr; }
  .ai-home-choices { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .ai-ambient, .ai-home-section::before, .ai-home-section::after, .breath-orb.is-running, .warm-spark { animation: none !important; }
  .ai-message, .ai-progress-track span, .ai-choice, .warm-reveal { animation: none !important; transition: none !important; }
  .ai-home-demo { transition: none; }
  .ai-home-demo:hover { transform: none; }
  .ai-enhanced .warm-reveal { opacity: 1; transform: none; }
}

@media print {
  .ai-emergency-band, .ai-page-intro, .ai-side, .ai-progress, .ai-conversation,
  .ai-choice-zone, .ai-safety-section, .calm-dialog, .ai-disclosure { display: none !important; }
  .ai-workspace { padding: 0; background: #fff !important; }
  .ai-layout { display: block; }
  .ai-assistant { border: 0; box-shadow: none; }
  .ai-assistant-head { display: none; }
  .ai-result[hidden] { display: none !important; }
  .ai-result { display: block !important; padding: 0; border: 0; }
  .ai-result-tools { display: none; }
  .ai-contact-link { color: #000; background: #fff; border: 1px solid #777; }
}
