/* Imepona reduced surface (2026-10-29) — trust-first palette, simple colour, one column.
   Scoped to .home and the booking sheet so the legacy demo screens keep their styles. */

.home {
  --home-ink: #14352c;
  --home-ink-soft: #4a6159;
  --home-paper: #f6f5ef;
  --home-card: #ffffff;
  --home-line: #e2e3d8;
  --home-accent: #1d6b52;
  --home-accent-soft: #e6f0ea;
  --home-amber: #b4641a;
  --home-danger: #a5241f;
  color: var(--home-ink);
  max-width: 780px;
  margin: 0 auto;
  padding: 8px 16px 40px;
}

.home .eyebrow {
  margin: 0 0 10px;
  font: 600 12px/1.2 Inter, system-ui, sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--home-ink-soft);
}

.home h1 {
  margin: 0 0 12px;
  font: 400 38px/1.12 "Instrument Serif", Georgia, serif;
  letter-spacing: -0.01em;
  color: var(--home-ink);
}

.home .entry-sub {
  margin: 0 0 22px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--home-ink-soft);
  max-width: 46ch;
}

.home .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.home .entry-form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.home .entry-form input {
  flex: 1 1 240px;
  min-width: 0;
  padding: 15px 16px;
  font-size: 16px;
  border: 1px solid var(--home-line);
  border-radius: 14px;
  background: var(--home-card);
  color: var(--home-ink);
  box-shadow: 0 1px 2px rgba(20, 53, 44, 0.05);
}

.home .entry-form input:focus-visible {
  outline: 2px solid var(--home-accent);
  outline-offset: 1px;
}

.home .btn {
  appearance: none;
  border: 0;
  border-radius: 14px;
  padding: 15px 22px;
  font: 600 15px/1 Inter, system-ui, sans-serif;
  background: var(--home-accent);
  color: #fff;
  cursor: pointer;
}

.home .btn:hover { background: #175741; }

.home .btn-ghost {
  background: transparent;
  color: var(--home-accent);
  border: 1px solid var(--home-accent);
  padding: 10px 16px;
  font-size: 14px;
}

.home .btn-danger { background: var(--home-danger); display: inline-block; text-decoration: none; }

.home .btn-block { width: 100%; margin-top: 12px; }

.home .quick { margin-top: 22px; }

.home .quick-label {
  margin: 0 0 8px;
  font: 600 12px/1.2 Inter, system-ui, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--home-ink-soft);
}

.home .quick-row { display: flex; flex-wrap: wrap; gap: 8px; }

.home .chip {
  appearance: none;
  border: 1px solid var(--home-line);
  background: var(--home-card);
  color: var(--home-ink);
  border-radius: 999px;
  padding: 9px 14px;
  font: 500 14px/1 Inter, system-ui, sans-serif;
  cursor: pointer;
}

.home .chip:hover { border-color: var(--home-accent); color: var(--home-accent); }

.home .entry-result { margin-top: 22px; }

/* Slice 1 — the persistent request action and the dispatch match card. */
.home .btn-book { margin-top: 12px; }

.home .match-card {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid var(--home-accent);
  border-radius: 18px;
  background: var(--home-card);
  box-shadow: 0 0 0 3px var(--home-accent-soft);
}

.home .match-kicker {
  margin: 0 0 6px;
  font: 600 12px/1.2 Inter, system-ui, sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--home-ink-soft);
}

.home .match-card h3 { margin: 0 0 4px; font: 600 20px/1.25 Inter, system-ui, sans-serif; }
.home .match-facility { margin: 0; font-size: 14px; color: var(--home-ink-soft); }
.home .match-why-label { margin: 14px 0 8px; font-size: 13px; color: var(--home-ink-soft); }

.home .match-why {
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.home .match-why li {
  font-size: 13px;
  line-height: 1.3;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--home-accent-soft);
  color: var(--home-ink);
}

.home .match-price {
  border-top: 1px solid var(--home-line);
  border-bottom: 1px solid var(--home-line);
  padding: 10px 0;
  margin: 0 0 14px;
}

.home .match-price-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  padding: 3px 0;
  color: var(--home-ink-soft);
}

.home .match-price-row strong { color: var(--home-ink); font-weight: 600; }

.home .match-price-row.is-total {
  border-top: 1px solid var(--home-line);
  margin-top: 6px;
  padding-top: 9px;
  font-size: 16px;
  color: var(--home-ink);
}

.home .routing-note {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--home-accent-soft);
  color: #23503f;
  font-size: 14px;
  line-height: 1.45;
}

.home .routing-note .lock { color: var(--home-accent); margin-right: 6px; }

.home .options { display: grid; gap: 12px; grid-template-columns: 1fr; }

.home .option {
  background: var(--home-card);
  border: 1px solid var(--home-line);
  border-radius: 16px;
  padding: 16px;
}

.home .option.is-lead {
  border-color: var(--home-accent);
  box-shadow: 0 0 0 1px var(--home-accent) inset;
}

.home .opt-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.home .opt-badge {
  font: 600 12px/1 Inter, system-ui, sans-serif;
  letter-spacing: 0.04em;
  color: var(--home-accent);
  background: var(--home-accent-soft);
  border-radius: 999px;
  padding: 6px 10px;
}

.home .opt-fee { font: 600 13px/1 Inter, system-ui, sans-serif; color: var(--home-ink-soft); }

.home .option h4 { margin: 0 0 4px; font: 600 17px/1.3 Inter, system-ui, sans-serif; }

.home .opt-area { margin: 0 0 10px; font-size: 14px; color: var(--home-ink-soft); }

.home .opt-slots { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }

.home .slot-chip {
  border: 1px solid var(--home-line);
  border-radius: 999px;
  padding: 5px 10px;
  font: 500 13px/1 Inter, system-ui, sans-serif;
  color: var(--home-ink);
  background: var(--home-paper);
}

.home .opt-actions { display: flex; gap: 8px; }

.home .emergency {
  border: 1px solid #e7c4c1;
  background: #fdf3f2;
  border-radius: 16px;
  padding: 18px;
}

.home .emergency h3 { margin: 0 0 8px; font: 600 18px/1.3 Inter, system-ui, sans-serif; color: var(--home-danger); }

.home .emergency p { margin: 0 0 14px; font-size: 15px; line-height: 1.5; }

.home .family { margin-top: 44px; border-top: 1px solid var(--home-line); padding-top: 28px; }

.home .family h2 { margin: 0 0 6px; font: 400 28px/1.2 "Instrument Serif", Georgia, serif; }

.home .section-sub { margin: 0 0 18px; font-size: 15px; color: var(--home-ink-soft); }

.home .members { display: grid; gap: 10px; }

.home .member {
  background: var(--home-card);
  border: 1px solid var(--home-line);
  border-radius: 16px;
  overflow: hidden;
}

.home .member-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  color: inherit;
}

.home .avatar {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font: 600 14px/1 Inter, system-ui, sans-serif;
  color: #fff;
  background: var(--home-accent);
}

.home .avatar-blue { background: #2f5d86; }
.home .avatar-amber { background: var(--home-amber); }

.home .member-id { display: grid; gap: 2px; flex: 1; }

.home .member-id strong { font: 600 16px/1.2 Inter, system-ui, sans-serif; }

.home .member-id small { font-size: 13px; color: var(--home-ink-soft); }

.home .member-toggle { font-size: 22px; line-height: 1; color: var(--home-ink-soft); }

.home .member-body { padding: 0 16px 16px; border-top: 1px solid var(--home-line); }

.home .rec-title {
  margin: 16px 0 8px;
  font: 600 12px/1.2 Inter, system-ui, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--home-ink-soft);
}

.home .rec-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }

.home .rec { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }

.home .rec-label { font-size: 14px; color: var(--home-ink-soft); }

.home .rec-value { font: 500 14px/1.4 Inter, system-ui, sans-serif; text-align: right; }

.home .rec-source { display: block; font-size: 12px; color: var(--home-ink-soft); }

.home .trend { margin: 6px 0 4px; }

.home .trend-head { display: flex; gap: 10px; align-items: baseline; font-size: 13px; color: var(--home-ink-soft); }

.home .trend-head strong { font: 600 18px/1 Inter, system-ui, sans-serif; color: var(--home-ink); }

.home .trend-delta { font-size: 12px; }

.home .trend-svg { width: 100%; height: auto; display: block; margin-top: 6px; }

.home .trend-line { fill: none; stroke: var(--home-accent); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.home .trend-area { fill: var(--home-accent-soft); stroke: none; }

.home .trend-dot { fill: #fff; stroke: var(--home-accent); stroke-width: 2; }

.home .privacy {
  margin: 16px 0 0;
  font-size: 14px;
  color: var(--home-ink-soft);
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.home .demo-line {
  margin: 28px 0 0;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #7c8b85;
}

/* Booking sheet (rendered outside .home, scoped to the sheet primitive). */
.bottom-sheet .sheet-body { padding: 4px 2px 8px; color: var(--home-ink); }

.bottom-sheet .sheet-body h2 { margin: 0 0 6px; font: 400 24px/1.2 "Instrument Serif", Georgia, serif; }

.bottom-sheet .sheet-provider { margin: 0 0 14px; font: 600 15px/1.3 Inter, system-ui, sans-serif; }

.bottom-sheet .sheet-provider span { display: block; font-weight: 400; font-size: 13px; color: var(--home-ink-soft); }

.bottom-sheet .sheet-h3 {
  margin: 16px 0 8px;
  font: 600 12px/1.2 Inter, system-ui, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--home-ink-soft);
}

.bottom-sheet .slot-row { display: flex; flex-wrap: wrap; gap: 8px; }

.bottom-sheet .slot-chip.is-button { cursor: pointer; background: #fff; }

.bottom-sheet .slot-chip.is-selected {
  border-color: var(--home-accent);
  background: var(--home-accent-soft);
  color: var(--home-accent);
  font-weight: 600;
}

.bottom-sheet .sheet-pay { margin-top: 18px; border-top: 1px solid var(--home-line); padding-top: 14px; }

.bottom-sheet .sheet-line { display: flex; justify-content: space-between; font-size: 15px; }

.bottom-sheet .sheet-note { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--home-ink-soft); }

.bottom-sheet .sheet-demo { font-size: 12px; }

.bottom-sheet .sheet-ref { margin: 12px 0 0; font-size: 14px; }

.bottom-sheet .sheet-ref strong { font-family: "DM Mono", ui-monospace, monospace; }

.bottom-sheet .btn {
  appearance: none;
  border: 0;
  border-radius: 14px;
  padding: 15px 22px;
  font: 600 15px/1 Inter, system-ui, sans-serif;
  background: var(--home-accent, #1d6b52);
  color: #fff;
  cursor: pointer;
}

.bottom-sheet .btn-block { width: 100%; margin-top: 12px; }

.bottom-sheet .sheet-done { text-align: left; }

.bottom-sheet .done-mark {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--home-accent-soft, #e6f0ea);
  color: var(--home-accent, #1d6b52);
  font-weight: 700;
  margin-bottom: 10px;
}

@media (min-width: 1024px) {
  .home { max-width: 980px; display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: start; }
  .home .family { margin-top: 8px; border-top: 0; padding-top: 8px; }
  .home .demo-line { grid-column: 1 / -1; }
}

@media (prefers-color-scheme: dark) {
  .home {
    --home-ink: #eef3ef;
    --home-ink-soft: #a9bcb3;
    --home-paper: #101613;
    --home-card: #17201c;
    --home-line: #2a3733;
    --home-accent: #6fd0a6;
    --home-accent-soft: #16342a;
  }
}

.home .request-choices { display: grid; gap: 10px; margin: 18px 0; }
.home .request-choice { display: grid; gap: 4px; width: 100%; padding: 14px 16px; text-align: left; border: 1px solid var(--home-line); border-radius: 14px; background: var(--home-card); color: var(--home-ink); cursor: pointer; }
.home .request-choice strong { font: 600 15px/1.3 Inter, system-ui, sans-serif; }
.home .request-choice span { font: 400 13px/1.4 Inter, system-ui, sans-serif; color: var(--home-ink-soft); }
.home .entry-form label { font: 600 13px/1.4 Inter, system-ui, sans-serif; }
.home .entry-form { display: grid; gap: 8px; }
.home .entry-form input { width: 100%; }
.home .emergency .btn { display: inline-block; margin: 8px 8px 0 0; }

/* Slice 6: fast, service-first booking loop */
.uber-page { max-width: 680px; margin: 0 auto; padding: 18px 16px 96px; color: var(--home-ink, #14251d); }
.uber-homehead { display:flex; justify-content:space-between; align-items:center; margin:12px 0 22px; }
.uber-homehead h1,.uber-page>h1 { margin:2px 0 14px; font-size:30px; letter-spacing:-.04em; }
.uber-eyebrow { margin:0; color:#61746b; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; }
.uber-avatar { width:44px;height:44px;border:0;border-radius:50%;background:#173d2c;color:white;font-weight:700; }
.uber-search { display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #dce4de;border-radius:18px;padding:12px;box-shadow:0 6px 22px #1639280b; }
.uber-search-main { flex:1;display:flex;gap:12px;align-items:center;color:#15251e;text-decoration:none;font-weight:650;padding:10px; }
.uber-timing { display:flex;padding:3px;background:#f0f3ef;border-radius:12px; }
.uber-timing button { border:0;border-radius:9px;padding:8px;background:transparent;color:#53645b; }
.uber-timing button.is-selected { background:#fff;color:#173d2c;box-shadow:0 1px 4px #0002; }
.uber-recent,.uber-suggestions,.uber-service-group { margin-top:26px; }
.uber-recent h2,.uber-suggestions h2,.uber-service-group h2 { font-size:16px;margin:0 0 12px; }
.uber-recent button,.uber-service-row { display:flex;width:100%;justify-content:space-between;align-items:center;padding:15px 4px;border:0;border-bottom:1px solid #e6ebe6;background:transparent;color:inherit;text-decoration:none;text-align:left; }
.uber-recent small { color:#718078; }
.uber-tiles { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.uber-tile { min-height:118px;padding:15px;border-radius:17px;background:#f0f3ef;color:inherit;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between; }
.uber-tile:nth-child(2){background:#e5eee8}.uber-glyph{font-size:26px;color:#17613f}.uber-tile strong{font-size:14px}
.uber-tabs { position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,680px);display:grid;grid-template-columns:repeat(4,1fr);padding:9px 8px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #e1e7e1;background:#fff; }
.uber-tabs a { text-align:center;text-decoration:none;color:#67766e;font-size:12px;padding:6px 2px; }
.uber-tabs a[aria-current=page]{color:#155b3b;font-weight:700; }
.uber-options { display:grid;gap:9px;margin:16px 0; }
.uber-option { display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:15px;border:1px solid #dfe6e0;border-radius:15px;background:#fff;text-align:left;color:inherit; }
.uber-option.is-selected { border:2px solid #17613f;padding:14px; }
.uber-option span { display:grid;gap:6px; }.uber-option small{color:#6c7b73}.uber-option b{width:max-content;color:#17613f;background:#e8f3ec;border-radius:20px;padding:3px 8px;font-size:10px;}
.uber-field { display:grid;gap:7px;margin:14px 0;font-weight:650; }.uber-field select { padding:13px;border:1px solid #d9e1db;border-radius:12px;background:white; }
.uber-payment,.uber-receipt>div { display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e6ebe6; }
.uber-primary,.uber-plan button { display:block;width:100%;border:0;border-radius:13px;background:#173d2c;color:white;font-weight:700;padding:15px;text-align:center;text-decoration:none;margin:16px 0; }
.uber-demo-note,.uber-keep p { color:#64746b;font-size:13px;line-height:1.5; }
.uber-skeleton { margin-top:20px;padding:22px;background:#f1f4f1;border-radius:16px;animation:uber-pulse 1s infinite alternate; }
@keyframes uber-pulse { to { opacity:.45; } }
.uber-plan,.uber-keep { margin:14px 0;padding:16px;border:1px solid #e0e7e1;border-radius:16px;background:#fff; }
.uber-status {font-size:22px;font-weight:700;color:#17613f}.uber-progress{padding-left:22px;line-height:2.3}.uber-progress li{color:#7b8981}.uber-progress li.is-done{color:#17613f;font-weight:650}
.uber-cancel {display:block;width:100%;padding:13px;border:1px solid #d9e1db;border-radius:12px;background:white;color:#8c322f;font-weight:650}.uber-stars{display:flex;gap:8px;margin:8px 0 25px}.uber-stars button{border:0;background:transparent;font-size:36px;color:#a87500}
@media(max-width:480px){.uber-page{padding-left:16px;padding-right:16px}.uber-homehead h1{font-size:28px}.uber-search{align-items:stretch;flex-direction:column}.uber-timing{justify-content:space-around}.uber-tabs{width:100%}}
