.tour-hero { background: var(--maroon); color: var(--cream); padding: 56px 0 60px; text-align: center; }
.tour-hero .eyebrow { margin: 0 0 10px; font: 500 13px 'Oswald', sans-serif; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); }
.tour-hero h1 { margin: 0 0 14px; font-size: 64px; font-weight: 700; color: #fff; line-height: 1; }
.tour-hero .sub { max-width: 700px; margin: 0 auto; font-size: 18px; opacity: 0.92; }

.tour { padding-block: 56px 72px; display: flex; flex-direction: column; gap: 56px; }
.tour h2 { margin: 0 0 14px; color: var(--maroon); font-size: 28px; font-weight: 700; }
.tour .lead { margin: 0 0 22px; max-width: 720px; color: #4a3a40; font: 16px/1.6 'IBM Plex Sans', sans-serif; }

.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.feature { background: #fff; border: 1px solid #e8ddc9; border-top: 4px solid var(--maroon); border-radius: 6px; padding: 20px 22px; }
.feature h3 { margin: 0 0 8px; color: var(--maroon); font-size: 19px; }
.feature p { margin: 0; font: 15px/1.6 'IBM Plex Sans', sans-serif; }

.specialists { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0 28px; }
.specialists li { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-bottom: 1px solid #e8ddc9; }
.specialists strong { color: var(--maroon); font-size: 17px; letter-spacing: 0.02em; }
.specialists span { font: 14px/1.5 'IBM Plex Sans', sans-serif; color: #4a3a40; }

.demo { max-width: 760px; display: flex; flex-direction: column; gap: 14px; }
.msg { border-radius: 8px; padding: 14px 18px; font: 15px/1.6 'IBM Plex Sans', sans-serif; max-width: 92%; }
.msg p { margin: 0; }
.msg p + p { margin-top: 8px; }
.msg .who { display: block; margin-bottom: 4px; font: 600 12px 'Oswald', sans-serif; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.msg.member { background: #fff; border: 1px solid #e8ddc9; align-self: flex-end; }
.msg.ai { background: #fbf6e4; border: 1px solid var(--gold-dark); border-left-width: 5px; }
.ai-tag { font-style: normal; background: var(--maroon); color: var(--gold); padding: 1px 7px; border-radius: 3px; margin-left: 6px; letter-spacing: 0.05em; }
.msg .src { font: 12px 'IBM Plex Mono', monospace; color: var(--muted); }

.wontlist { margin: 0; padding-left: 22px; font: 16px/1.9 'IBM Plex Sans', sans-serif; }
.cta { text-align: center; background: #fff; border: 2px solid var(--gold); border-radius: 8px; padding: 36px 24px; }
.cta p { margin: 0 0 18px; color: var(--muted); }
.cta .tour-note { margin: 18px 0 0; font-size: 13px; }
.cta .tour-note a { color: var(--maroon); font-weight: 600; }

@media (max-width: 720px) {
  .tour-hero h1 { font-size: 44px; }
  .msg { max-width: 100%; }
}

.tour-footnote { margin: 18px 0 0; font-size: 13px; color: var(--muted); max-width: 70ch; }
.tour-footnote a { color: var(--maroon); }
