/* Demo requests use the homepage's shared shell and brand tokens. */
.demo-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(28px, 4.5vw, 64px); padding-block: 52px 64px; }
.demo-intro { --ink: #eaf0f7; --copy: #bdc9d6; --accent: #73c6ca; --surface: #142d45; --line: #345169; position: relative; isolation: isolate; overflow: hidden; padding: 44px 38px; border: 1px solid var(--line); border-radius: 22px; background: #10263f; color: var(--ink); }
.demo-intro::before { content: ""; position: absolute; z-index: -1; top: -120px; right: -150px; width: 400px; height: 400px; border: 1px solid #73c6ca45; border-radius: 50%; box-shadow: 0 0 0 42px #73c6ca08, 0 0 0 84px #73c6ca04; background: radial-gradient(circle, #2d8c9133, transparent 65%); pointer-events: none; }
.demo-intro .hero-eyebrow { margin-bottom: 28px; font-size: 10px; }
.demo-intro h1 { margin: 0 0 24px; font-size: clamp(40px, 4vw, 54px); line-height: 1.08; letter-spacing: -.055em; font-weight: 600; text-wrap: balance; }
.demo-intro h1 span { color: var(--accent); }
.demo-intro > p { color: var(--copy); font-size: 15px; line-height: 1.8; margin: 0; }
.demo-benefits { display: grid; gap: 24px; list-style: none; margin: 32px 0; padding: 0; }
.demo-benefits li { display: flex; align-items: flex-start; gap: 14px; }
.demo-benefits svg { width: 22px; height: 22px; margin-top: 2px; color: var(--accent); }
.demo-benefits strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.5; }
.demo-benefits p { margin: 5px 0 0; color: var(--copy); font-size: 13px; line-height: 1.7; }
.demo-intro .s-btn-secondary { border-color: #597185; background: #10263f80; color: var(--ink); }
.demo-intro .s-btn-secondary:hover { border-color: var(--accent); background: #1a354e; }
.demo-card { min-width: 0; padding: 32px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow); }
.demo-card h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.25; letter-spacing: -.035em; font-weight: 600; }
.demo-form-intro { margin: 0; color: var(--copy); font-size: 14px; line-height: 1.7; }
.demo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 28px 0 24px; }
.demo-grid label { display: flex; flex-direction: column; justify-content: space-between; gap: 7px; min-width: 0; color: var(--ink); font-size: 12px; line-height: 1.6; font-weight: 600; }
.demo-grid .demo-full { grid-column: 1 / -1; }
.demo-label-hint { color: var(--copy); font-weight: 400; }
.demo-grid input, .demo-grid textarea { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); font: inherit; font-size: 14px; line-height: 1.5; font-weight: 400; outline: none; transition: border-color 180ms, box-shadow 180ms; }
.demo-grid textarea { resize: vertical; min-height: 116px; }
.demo-grid input::placeholder, .demo-grid textarea::placeholder { color: var(--copy); opacity: 1; }
.demo-grid input:focus, .demo-grid textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.demo-consent { display: flex; align-items: flex-start; gap: 11px; color: var(--copy); font-size: 12px; line-height: 1.7; font-weight: 400; }
.demo-consent input { width: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0 0; accent-color: var(--accent); }
.demo-consent a, .demo-card noscript a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.demo-send { width: 100%; margin-top: 24px; }
.demo-send:disabled { opacity: .6; cursor: wait; }
.demo-status { margin: 14px 0 0; color: var(--accent); font-size: 13px; line-height: 1.7; }
.demo-status:empty { display: none; }
.demo-status[data-error="true"] { color: #a43f31; }
html[data-theme="dark"] .demo-status[data-error="true"] { color: #ffab9e; }
.demo-booking-note { margin: 16px 0 0; color: var(--copy); font-size: 12px; line-height: 1.7; }
.demo-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.s-header a[aria-current="page"] { color: var(--accent); }
.s-mobile-nav a[aria-current="page"] { font-weight: 600; }
@media (max-width: 1100px) {
  .demo-layout { gap: 28px; }
  .demo-intro { padding: 36px 28px; }
  .demo-card { padding: 28px; }
}
@media (max-width: 900px) {
  .demo-layout { grid-template-columns: minmax(0, 1fr); max-width: 680px; gap: 28px; padding-block: 32px 48px; }
  .demo-intro { padding: 32px; }
  .demo-intro h1 { font-size: 44px; }
  .demo-intro .hero-eyebrow { margin-bottom: 20px; }
  .demo-benefits { display: none; }
  .demo-intro .s-btn-secondary { margin-top: 24px; }
}
@media (max-width: 600px) {
  .demo-layout { gap: 24px; padding-block: 24px 40px; }
  .demo-intro { padding: 28px 24px; border-radius: 16px; }
  .demo-intro h1 { font-size: 38px; margin-bottom: 18px; }
  .demo-intro > p { font-size: 14px; }
  .demo-card { padding: 26px 22px; border-radius: 16px; }
  .demo-card h2 { font-size: 24px; }
  .demo-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 24px; }
  .demo-grid input, .demo-grid textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .demo-grid input, .demo-grid textarea { transition: none; }
}
