/*
 * Gromby demo scenes
 * A small, dependency-free UI illustration system for the prerecorded-demo
 * storyboard. Every number and customer is synthetic and labeled in markup.
 */
.demo-scene {
  --scene-ink: #202823;
  --scene-charcoal: #26312b;
  --scene-charcoal-2: #303b34;
  --scene-paper: #f6f3eb;
  --scene-white: #fffdf8;
  --scene-muted: #657067;
  --scene-line: #d4d9cf;
  --scene-sage: #dce7c9;
  --scene-sage-deep: #92a77f;
  --scene-orange: #ef6235;
  --scene-orange-soft: #fde1d3;
  --scene-shadow: rgba(30, 40, 34, .12);
  width: 100%;
  overflow: hidden;
  color: var(--scene-ink);
  background: var(--scene-paper);
  border: 1px solid var(--scene-line);
  border-radius: 8px;
  box-shadow: 0 18px 42px var(--scene-shadow);
  font-family: 'DM Sans', system-ui, sans-serif;
  line-height: 1.45;
}

.demo-scene *,
.demo-scene *::before,
.demo-scene *::after { box-sizing: border-box; }
.demo-scene h2,
.demo-scene h3,
.demo-scene p,
.demo-scene ul { margin: 0; }
.demo-scene h2,
.demo-scene h3 { color: var(--scene-ink); letter-spacing: -.035em; }
.demo-scene h2 { font-size: clamp(30px, 4vw, 54px); line-height: .98; max-width: 740px; }
.demo-scene h3 { font-size: clamp(18px, 2.2vw, 25px); line-height: 1.05; }
.demo-scene p { color: var(--scene-muted); font-size: 15px; }

.demo-scene__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  padding: clamp(20px, 3vw, 26px);
  background:
    radial-gradient(circle at 95% 0%, rgba(239, 98, 53, .15), transparent 30%),
    var(--scene-sage);
}
.demo-scene__header p { max-width: 700px; margin-top: 16px; font-size: 17px; color: #47564b; }
.demo-scene__eyebrow,
.scene-label,
.scene-message__tag,
.scene-panel-kicker {
  display: inline-block;
  color: #667665;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.25;
  text-transform: uppercase;
}
.demo-scene__eyebrow { margin-bottom: 18px; color: #b44020; }
.demo-scene__context {
  display: grid;
  justify-items: end;
  gap: 9px;
  min-width: 170px;
  padding-top: 2px;
  text-align: right;
}
.demo-scene__badge,
.demo-scene__route,
.demo-scene .badge,
.demo-scene .scene-pill {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 7px 9px;
  border: 1px solid rgba(32, 40, 35, .16);
  border-radius: 3px;
  color: #4f5c52;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.15;
  text-transform: uppercase;
}
.demo-scene__badge { color: #a94226; background: rgba(255, 253, 248, .58); }
.demo-scene__route { border: 0; padding: 0; color: #5f6e61; }

.demo-scene__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .28fr);
  gap: clamp(20px, 3vw, 42px);
  align-items: stretch;
  padding: clamp(20px, 3.8vw, 48px);
}
.scene-window {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #49584d;
  border-radius: 6px;
  background: var(--scene-charcoal);
  box-shadow: 9px 9px 0 rgba(115, 134, 103, .23);
}
.scene-appbar {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 13px 17px;
  color: #eff2e9;
  border-bottom: 1px solid #4b5b50;
  background: #202a24;
  font-size: 12px;
}
.scene-appbar__brand { display: flex; align-items: center; gap: 9px; min-width: max-content; }
.scene-appbar__brand strong { font-size: 12px; letter-spacing: -.01em; }
.scene-mark,
.scene-avatar,
.scene-team-icon,
.scene-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 3px;
  font-weight: 800;
}
.scene-mark { width: 27px; height: 27px; color: var(--scene-ink); background: var(--scene-orange); font-family: Impact, sans-serif; font-size: 19px; transform: skewY(-5deg); }
.scene-appbar__detail { min-width: 0; overflow: hidden; color: #aebbac; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.scene-appbar__status { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: #c2cfb8; font-size: 10px; white-space: nowrap; }
.scene-appbar__status i,
.scene-dot,
.scene-clock__dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--scene-sage-deep); }
.scene-window__content { padding: clamp(18px, 3vw, 30px); }
.scene-window__title,
.scene-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; }
.scene-window__title h3 { margin-top: 8px; color: #f4f5ed; }
.scene-window__title .scene-label,
.scene-window__title .scene-filter { color: #9ead9c; }
.scene-filter { padding: 7px 9px; border: 1px solid #516055; border-radius: 3px; color: #cfdbcb; font-size: 10px; white-space: nowrap; }
.scene-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.scene-metric { min-width: 0; padding: 13px; border: 1px solid #4c5d51; border-radius: 4px; background: #2d3931; }
.scene-metric--orange { border-color: #bd5b3c; background: #3b302a; }
.scene-metric--sage { border-color: #63785d; background: #303b31; }
.scene-metric span,
.scene-metric small { display: block; color: #afbcad; font-size: 10px; }
.scene-metric strong { display: block; margin: 5px 0 2px; color: #f8f5ed; font-size: clamp(17px, 2.3vw, 26px); letter-spacing: -.04em; line-height: 1; }
.scene-metric--orange strong { color: #ff9d78; }
.scene-metric--sage strong { color: #dce8c9; }

/* Recognition / pipeline */
.scene-pipeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 23px; }
.scene-pipeline__col { min-width: 0; padding: 10px; border: 1px solid #46564b; border-radius: 4px; background: #202b25; }
.scene-pipeline__head { display: flex; justify-content: space-between; gap: 8px; padding: 2px 1px 10px; color: #d7dfd2; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.scene-pipeline__head b { color: #99aa94; font-size: 11px; }
.scene-pipeline__card { display: flex; align-items: center; gap: 7px; min-width: 0; margin-top: 8px; padding: 10px 8px; border: 1px solid #4e5d51; border-radius: 3px; background: #344037; }
.scene-pipeline__card--focus { border-color: #c15d3f; background: #3e302b; }
.scene-pipeline__card--muted { opacity: .68; }
.scene-pipeline__card--empty { justify-content: center; min-height: 50px; border-style: dashed; background: transparent; color: #879688; font-size: 10px; }
.scene-pipeline__card > div { min-width: 0; flex: 1; }
.scene-pipeline__card strong,
.scene-pipeline__card small { display: block; overflow: hidden; color: #f2f4eb; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.scene-pipeline__card small { margin-top: 3px; color: #aab8a7; font-size: 9px; }
.scene-avatar { width: 26px; height: 26px; color: #314033; background: var(--scene-sage); font-size: 9px; }
.scene-avatar--dark { color: #f8f4eb; background: var(--scene-orange); }
.scene-pill { flex: 0 0 auto; padding: 4px 5px; border-color: #5d6f5e; color: #cee0c6; font-size: 8px; }
.scene-pill--orange { border-color: #b9583c; color: #ffab8c; background: rgba(148, 54, 25, .15); }
.scene-pill--sage { border-color: #637c5f; color: #d9e8ca; background: rgba(139, 167, 118, .13); }
.scene-window__footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 20px; border-top: 1px solid #4c5a50; color: #9cae9c; font-size: 10px; }
.scene-window__footer span { min-width: 0; }
.scene-window__footer span:last-child { text-align: right; }
.scene-footer-note { display: flex; align-items: center; gap: 7px; margin-top: 14px; color: #a8b6a5; font-size: 10px; }
.scene-dot--orange { background: var(--scene-orange); }
.scene-dot--sage { background: var(--scene-sage-deep); }

/* Shared side content */
.demo-scene__aside { display: flex; flex-direction: column; gap: 15px; min-width: 0; }
.scene-callout,
.scene-brief,
.scene-mini-stat,
.scene-legend,
.scene-approval,
.scene-claim-note { border: 1px solid var(--scene-line); border-radius: 5px; background: var(--scene-white); }
.scene-callout { display: grid; grid-template-columns: 35px minmax(0, 1fr); gap: 12px; padding: 19px; }
.scene-callout__mark { color: var(--scene-orange); font-family: Impact, sans-serif; font-size: 28px; line-height: 1; }
.scene-callout strong { display: block; margin: 5px 0 8px; color: var(--scene-ink); font-size: 18px; letter-spacing: -.03em; line-height: 1.05; }
.scene-callout p { font-size: 13px; line-height: 1.55; }
.scene-legend { display: flex; flex-wrap: wrap; gap: 10px 15px; padding: 13px 15px; color: var(--scene-muted); font-size: 10px; }
.scene-legend span { display: inline-flex; align-items: center; gap: 6px; }
.scene-mini-stat { display: flex; align-items: baseline; gap: 10px; padding: 18px; }
.scene-mini-stat strong { color: var(--scene-orange); font-family: Impact, sans-serif; font-size: 30px; line-height: 1; }
.scene-mini-stat span { color: var(--scene-muted); font-size: 12px; }

/* Estimate / conversation */
.scene-estimate-layout,
.scene-adaptation-layout,
.scene-inquiry-layout,
.scene-expansion-layout,
.scene-close-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; padding: clamp(15px, 2.4vw, 25px); }
.scene-sms-panel,
.scene-scope-panel,
.scene-chat-panel,
.scene-before-after,
.scene-inquiry-main,
.scene-inquiry-side > *,
.scene-mini-site,
.scene-expansion-map,
.scene-team-map,
.scene-offer-card { min-width: 0; padding: clamp(16px, 2vw, 22px); border: 1px solid var(--scene-line); border-radius: 5px; background: var(--scene-white); }
.scene-panel-head strong { display: block; margin-top: 5px; color: var(--scene-ink); font-size: 15px; letter-spacing: -.02em; }
.scene-time { color: var(--scene-orange); font-size: 10px; font-weight: 800; white-space: nowrap; }
.scene-clock { display: flex; align-items: center; gap: 7px; margin: 17px 0 13px; padding: 8px 10px; border: 1px dashed #b8c3b6; border-radius: 3px; color: #667469; font-size: 10px; }
.scene-clock span:last-child { margin-left: auto; color: #a4492c; font-weight: 800; }
.scene-message { padding: 13px; border-radius: 5px; }
.scene-message + .scene-message { margin-top: 10px; }
.scene-message__tag { margin-bottom: 8px; font-size: 9px; }
.scene-message p { color: var(--scene-ink); font-size: 13px; line-height: 1.5; }
.scene-message--system { border: 1px solid #cfdbc9; background: #edf3e6; }
.scene-message--customer { border: 1px solid #efc6b7; background: #fff0e9; }
.scene-message--large { display: flex; align-items: flex-start; gap: 12px; margin-top: 18px; }
.scene-message--large > div { min-width: 0; }
.scene-sms-status { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 1px 8px; align-items: center; margin-top: 15px; padding: 11px 12px; border: 1px solid #c5d4bd; border-radius: 4px; background: #edf4e8; }
.scene-status-check { display: inline-grid; place-items: center; width: 22px; height: 22px; grid-row: span 2; border-radius: 50%; color: #f7fff1; background: #6f9363; font-weight: 800; }
.scene-sms-status strong { color: #3d5e3c; font-size: 12px; }
.scene-sms-status small { color: #6b7d69; font-size: 10px; }
.scene-scope-card { display: flex; align-items: flex-start; gap: 12px; margin-top: 18px; padding: 12px; border-radius: 4px; background: #f0f4ec; }
.scene-scope-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 3px; color: #f9e9df; background: var(--scene-charcoal); }
.scene-scope-card strong,
.scene-scope-card small { display: block; }
.scene-scope-card strong { margin: 3px 0; font-size: 13px; }
.scene-scope-card small { color: var(--scene-muted); font-size: 10px; }
.scene-scope-question { margin-top: 18px; padding: 12px 0; border-top: 1px solid var(--scene-line); border-bottom: 1px solid var(--scene-line); }
.scene-scope-question p { margin-top: 6px; color: var(--scene-ink); font-size: 13px; font-style: italic; }
.scene-owner-task { display: flex; align-items: center; gap: 9px; padding-top: 15px; }
.scene-owner-task > div { min-width: 0; flex: 1; }
.scene-owner-task strong,
.scene-owner-task small { display: block; }
.scene-owner-task strong { font-size: 12px; }
.scene-owner-task small { margin-top: 3px; color: var(--scene-muted); font-size: 10px; }
.scene-arrow { color: var(--scene-orange); font-size: 20px; }
.scene-safe-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.scene-safe-row span { padding: 5px 7px; border-radius: 2px; color: #5d7257; background: #e9f1e4; font-size: 9px; font-weight: 800; }

/* Owner adaptation */
.scene-chat-panel,
.scene-before-after { background: var(--scene-charcoal); border-color: #4c5b4f; }
.scene-chat-panel .scene-panel-head strong,
.scene-before-after .scene-panel-head strong { color: #f1f3e9; }
.scene-chat-panel .scene-label,
.scene-before-after .scene-label { color: #a4b49e; }
.scene-chat-panel .scene-pill,
.scene-before-after .scene-pill { background: transparent; }
.scene-chat-bubble { margin-top: 17px; padding: 14px; border-radius: 5px; }
.scene-chat-bubble p { color: var(--scene-ink); font-size: 13px; line-height: 1.55; }
.scene-chat-bubble .scene-message__tag { color: #667365; }
.scene-chat-bubble--owner { margin-left: 16px; background: var(--scene-paper); }
.scene-chat-bubble--system { border: 1px solid #61725e; background: #344137; }
.scene-chat-bubble--system p { color: #e8eee1; }
.scene-chat-bubble--system .scene-message__tag { color: #afc1a9; }
.scene-chat-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.scene-chat-tags span { padding: 4px 6px; border: 1px solid #698066; color: #d7e6cf; font-size: 9px; }
.scene-chat-foot { display: flex; align-items: center; gap: 7px; margin-top: 15px; color: #adbcaa; font-size: 10px; }
.scene-before-after > .scene-panel-head { margin-bottom: 20px; }
.scene-compare-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(100px, .8fr); gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid #4a594e; }
.scene-compare-row--after { padding: 14px 10px; border: 1px solid #bd5a3d; border-radius: 3px; background: #3d302b; }
.scene-compare-label span,
.scene-compare-label small { display: block; }
.scene-compare-label span { color: #dce6d9; font-size: 12px; }
.scene-compare-label small { margin-top: 4px; color: #98aa96; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.scene-compare-value { color: #f4a085; font-size: 11px; font-weight: 800; text-align: right; }
.scene-compare-arrow { padding: 7px 0; color: var(--scene-orange); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.scene-approval { display: flex; align-items: flex-start; gap: 10px; padding: 15px; background: #eef4e9; }
.scene-approval__icon { display: grid; place-items: center; flex: 0 0 auto; width: 23px; height: 23px; border-radius: 50%; color: white; background: #6d8d5f; font-size: 13px; font-weight: 800; }
.scene-approval strong,
.scene-approval small { display: block; }
.scene-approval strong { color: #3e573e; font-size: 12px; }
.scene-approval small { margin-top: 3px; color: #6d7b6b; font-size: 10px; }

/* Inquiry / intake */
.scene-inquiry-main { background: var(--scene-white); }
.scene-inquiry-side { display: grid; grid-template-rows: auto auto; gap: 14px; min-width: 0; }
.scene-inquiry-steps { display: grid; gap: 9px; margin-top: 18px; }
.scene-inquiry-step { display: grid; grid-template-columns: 26px minmax(0, 1fr) 20px; gap: 10px; align-items: center; padding: 9px; border: 1px solid var(--scene-line); border-radius: 3px; }
.scene-inquiry-step > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 3px; color: #667567; background: #eef2e9; font-size: 9px; font-weight: 800; }
.scene-inquiry-step strong,
.scene-inquiry-step small { display: block; }
.scene-inquiry-step strong { font-size: 12px; }
.scene-inquiry-step small { margin-top: 2px; color: var(--scene-muted); font-size: 10px; }
.scene-inquiry-step b { color: #739264; font-size: 15px; text-align: right; }
.scene-inquiry-step.is-current { border-color: #edaa91; background: #fff6f1; }
.scene-inquiry-step.is-current > span { color: #fff7f2; background: var(--scene-orange); }
.scene-inquiry-step.is-current b { color: var(--scene-orange); }
.scene-response { margin-top: 18px; padding: 12px; border-left: 3px solid var(--scene-orange); background: #f5f1e9; }
.scene-response p { margin-top: 5px; color: var(--scene-ink); font-size: 12px; }
.scene-calendar-card { background: #f5f7f1; }
.scene-calendar-date { display: flex; align-items: baseline; gap: 9px; margin: 20px 0 10px; }
.scene-calendar-date strong { color: var(--scene-ink); font-size: 25px; line-height: 1; }
.scene-calendar-date span { color: var(--scene-muted); font-size: 11px; }
.scene-calendar-slot { padding: 13px; border: 1px solid #bccbb4; border-radius: 4px; background: #fffefa; }
.scene-calendar-slot span,
.scene-calendar-slot strong,
.scene-calendar-slot small { display: block; }
.scene-calendar-slot span { color: var(--scene-muted); font-size: 10px; }
.scene-calendar-slot strong { margin: 5px 0; color: #415c3e; font-size: 16px; }
.scene-calendar-slot small { color: #7b877a; font-size: 10px; }
.scene-calendar-note { margin-top: 12px; color: #aa4d30; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.scene-intake-card { display: grid; gap: 8px; background: var(--scene-white); }
.scene-intake-card > div { display: grid; gap: 2px; }
.scene-intake-card > div strong { font-size: 16px; }
.scene-intake-card > div span { color: var(--scene-muted); font-size: 11px; }

/* Brief */
.scene-brief { padding: 16px; }
.scene-brief__head { display: flex; align-items: center; gap: 9px; }
.scene-icon--brief { width: 27px; height: 27px; color: #fff7ef; background: var(--scene-orange); }
.scene-brief__head > div { min-width: 0; flex: 1; }
.scene-brief__head strong { display: block; margin-top: 3px; font-size: 13px; line-height: 1.05; }
.scene-count { color: var(--scene-muted); font-size: 9px; white-space: nowrap; }
.scene-brief ul { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.scene-brief li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 7px; align-items: start; }
.scene-check { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; color: #fff; background: var(--scene-orange); font-size: 11px; font-weight: 800; }
.scene-brief li:first-child .scene-check { background: #778e6c; }
.scene-brief li strong,
.scene-brief li small { display: block; }
.scene-brief li strong { font-size: 11px; }
.scene-brief li small { margin-top: 2px; color: var(--scene-muted); font-size: 10px; }

/* Expansion / campaign mini-site */
.scene-expansion-layout { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
.scene-mini-site { overflow: hidden; padding: 0; background: #fffefa; }
.scene-site-toolbar { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 8px 11px; border-bottom: 1px solid var(--scene-line); color: #657266; font-size: 9px; }
.scene-site-toolbar > span:nth-child(2) { min-width: 0; overflow: hidden; flex: 1; text-overflow: ellipsis; white-space: nowrap; }
.scene-site-dots { display: flex; gap: 4px; }
.scene-site-dots i { width: 6px; height: 6px; border-radius: 50%; background: #d4a08d; }
.scene-site-dots i:nth-child(2) { background: #d7c48d; }
.scene-site-dots i:nth-child(3) { background: #abc297; }
.scene-site-toolbar .scene-pill { border-color: #a8ba9c; color: #577050; }
.scene-site-hero { position: relative; min-height: 285px; overflow: hidden; background: var(--scene-charcoal); }
.scene-site-hero::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgba(22, 33, 26, .88), rgba(22, 33, 26, .2) 80%); }
.scene-site-hero img { display: block; width: 100%; height: 100%; min-height: 285px; object-fit: cover; object-position: center; opacity: .8; }
.scene-site-overlay { position: absolute; z-index: 1; top: 0; left: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: min(76%, 360px); height: 100%; padding: 27px; }
.scene-site-overlay .scene-label { color: #d9e8c8; }
.scene-site-overlay h3 { margin-top: 10px; color: #fffdf7; font-size: clamp(23px, 3vw, 38px); line-height: .99; }
.scene-site-overlay p { margin-top: 12px; color: #d9e0d2; font-size: 12px; }
.scene-site-cta { display: inline-flex; gap: 15px; align-items: center; margin-top: 23px; padding: 10px 12px; color: #223027; background: var(--scene-orange); font-size: 10px; font-weight: 800; }
.scene-site-cta b { margin-left: auto; font-size: 17px; line-height: .7; }
.scene-site-body { display: flex; justify-content: space-between; gap: 22px; padding: 17px; }
.scene-site-body strong { display: block; margin-top: 5px; font-size: 13px; }
.scene-site-lines { display: grid; align-content: center; gap: 5px; width: 110px; }
.scene-site-lines span { display: block; height: 4px; border-radius: 2px; background: #d7ddd1; }
.scene-site-lines span:first-child { width: 100%; background: #9bb392; }
.scene-site-lines span:nth-child(2) { width: 78%; }
.scene-site-lines span:nth-child(3) { width: 56%; }
.scene-expansion-map { background: var(--scene-charcoal); border-color: #4d5c50; }
.scene-expansion-map .scene-panel-head strong { color: #f4f5ed; }
.scene-expansion-map .scene-label { color: #a9b89f; }
.scene-command-line { display: flex; align-items: flex-start; gap: 9px; margin-top: 18px; padding: 12px; border-radius: 4px; background: #f1f2e9; }
.scene-command-line p { color: var(--scene-ink); font-size: 12px; line-height: 1.45; }
.scene-connection-map { display: grid; grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr); align-items: center; gap: 7px; margin-top: 21px; }
.scene-map-node { min-width: 0; padding: 11px 7px; border: 1px solid #63735e; border-radius: 4px; background: #303c33; text-align: center; }
.scene-map-node > span { display: grid; place-items: center; width: 25px; height: 25px; margin: 0 auto 8px; border-radius: 50%; color: #263329; background: var(--scene-sage); font-weight: 800; }
.scene-map-node--page > span { color: #fff5ec; background: var(--scene-orange); }
.scene-map-node strong,
.scene-map-node small { display: block; color: #f3f6ed; }
.scene-map-node strong { font-size: 10px; }
.scene-map-node small { margin-top: 4px; color: #aec0aa; font-size: 8px; }
.scene-map-line { height: 1px; background: #8ba083; }
.scene-expansion-foot { display: flex; align-items: center; gap: 7px; margin-top: 20px; color: #b4c2ae; font-size: 10px; }

/* Close / connected team */
.scene-team-map { background: var(--scene-charcoal); border-color: #4d5c50; }
.scene-team-map .scene-panel-head strong { color: #f4f5ed; }
.scene-team-map .scene-label { color: #a9b89f; }
.scene-team-nodes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.scene-team-node { min-width: 0; padding: 15px 12px; border: 1px solid #5b6d5d; border-radius: 4px; background: #303c33; }
.scene-team-node--primary { border-color: #cb6546; background: #3b302c; }
.scene-team-icon { width: 28px; height: 28px; margin-bottom: 12px; color: #233127; background: var(--scene-sage); }
.scene-team-node--primary .scene-team-icon { color: #fff5eb; background: var(--scene-orange); }
.scene-team-node strong,
.scene-team-node small { display: block; }
.scene-team-node strong { color: #f3f6ed; font-size: 12px; }
.scene-team-node small { margin-top: 4px; color: #b0c0ae; font-size: 10px; }
.scene-team-connector { position: relative; display: flex; justify-content: center; margin: 20px 0; border-top: 1px dashed #82967b; }
.scene-team-connector span { position: relative; top: -8px; padding: 0 10px; color: #bac9b3; background: var(--scene-charcoal); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.scene-team-footer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; color: #9faf9b; font-size: 9px; text-align: center; }
.scene-team-footer span { padding-top: 8px; border-top: 2px solid var(--scene-orange); }
.scene-offer-card { background: var(--scene-white); }
.scene-offer-card h3 { margin-top: 8px; font-size: 27px; }
.scene-offer-card > p { margin-top: 12px; font-size: 13px; line-height: 1.58; }
.scene-offer-list { display: grid; gap: 0; margin-top: 19px; border-top: 1px solid var(--scene-line); }
.scene-offer-list span { padding: 10px 0; border-bottom: 1px solid var(--scene-line); color: var(--scene-muted); font-size: 11px; }
.scene-offer-list b { display: inline-block; width: 27px; color: var(--scene-orange); font-size: 10px; }
.scene-offer-actions { display: grid; gap: 8px; margin-top: 19px; }
.scene-cta-chip { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 13px; color: #212a23; background: var(--scene-orange); font-size: 11px; font-weight: 800; text-decoration: none; }
.scene-cta-chip b { font-size: 18px; line-height: .7; }
.scene-text-link { padding-left: 1px; color: #556851; font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.scene-claim-note { display: grid; gap: 6px; padding: 16px; border-color: #e4b8a9; background: #fff4ee; }
.scene-claim-note span { color: #af4a2b; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.scene-claim-note strong { color: #743b2a; font-size: 12px; }
.scene-claim-note small { color: #8b675b; font-size: 10px; }

@media (max-width: 980px) {
  .demo-scene__body { grid-template-columns: minmax(0, 1fr); }
  .demo-scene__aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .demo-scene__aside .scene-brief,
  .demo-scene__aside .scene-callout { grid-column: span 2; }
}

@media (max-width: 720px) {
  .demo-scene__header { display: block; }
  .demo-scene__context { display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; margin-top: 22px; text-align: left; }
  .demo-scene__body { padding: 16px; }
  .scene-appbar { flex-wrap: wrap; }
  .scene-appbar__status { margin-left: 0; }
  .scene-metrics,
  .scene-pipeline,
  .scene-estimate-layout,
  .scene-adaptation-layout,
  .scene-inquiry-layout,
  .scene-expansion-layout,
  .scene-close-layout { grid-template-columns: minmax(0, 1fr); }
  .scene-pipeline { gap: 8px; }
  .scene-pipeline__card { padding: 9px 7px; }
  .scene-window__footer { display: block; }
  .scene-window__footer span { display: block; }
  .scene-window__footer span:last-child { margin-top: 5px; text-align: left; }
  .demo-scene__aside { grid-template-columns: minmax(0, 1fr); }
  .demo-scene__aside .scene-brief,
  .demo-scene__aside .scene-callout { grid-column: auto; }
  .scene-connection-map { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .scene-map-line { width: 1px; height: 13px; margin: auto; }
  .scene-site-hero,
  .scene-site-hero img { min-height: 260px; }
  .scene-site-overlay { width: 85%; padding: 20px; }
  .scene-team-nodes { gap: 8px; }
  .scene-team-node { padding: 12px 9px; }
}

@media (max-width: 430px) {
  .demo-scene__header { padding: 20px; }
  .demo-scene__header p { font-size: 15px; }
  .demo-scene__body { padding: 12px; }
  .scene-window__content { padding: 15px 12px; }
  .scene-metrics { gap: 6px; }
  .scene-metric { padding: 10px 8px; }
  .scene-metric strong { font-size: 17px; }
  .scene-metric span,
  .scene-metric small { font-size: 8px; }
  .scene-pipeline { display: block; }
  .scene-pipeline__col + .scene-pipeline__col { margin-top: 8px; }
  .scene-team-nodes { grid-template-columns: minmax(0, 1fr); }
  .scene-team-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .demo-scene * { scroll-behavior: auto; }
}

/* Keep status labels readable on the dark team and owner-chat panels. */
.scene-team-map .scene-pill--sage,
.scene-owner-chat .scene-pill--sage { color: #24352a; background: #dce8cc; }
