.demand-page {
  --demand-navy: #071d31;
  --demand-navy-2: #0c304d;
  --demand-blue: #185f8d;
  --demand-cream: #f7f3ea;
  --demand-gold: #b88a3c;
  --demand-ink: #102a3f;
  --demand-muted: #607482;
  background: #fbfaf7;
  color: var(--demand-ink);
}

.demand-page .production-header {
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid #e6e0d5;
}

.demand-page .header-cta {
  color: #fff !important;
  background: var(--demand-navy-2);
}

.demand-hero {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 54px;
  align-items: center;
  min-height: 650px;
  padding: 90px max(32px, calc((100% - 1180px)/2));
  background:
    radial-gradient(circle at 80% 18%, rgba(23,95,141,.17), transparent 30%),
    linear-gradient(115deg,#faf7ef 0%,#f4efe5 55%,#eef4f7 100%);
}

.demand-hero-copy {
  max-width: 720px;
}

.demand-eyebrow {
  margin: 0 0 15px;
  color: var(--demand-gold);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
}

.demand-eyebrow.light {
  color: #e2bd72;
}

.demand-hero h1 {
  margin: 0;
  color: var(--demand-navy);
  font: 400 clamp(50px,6vw,78px)/.98 Georgia,serif;
  letter-spacing: -.045em;
}

.demand-lead {
  max-width: 680px;
  margin: 26px 0 0;
  color: #536b7b;
  font: 19px/1.65 Georgia,serif;
}

.demand-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.demand-primary,
.demand-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.demand-primary {
  gap: 14px;
  color: #fff;
  background: var(--demand-navy-2);
}

.demand-secondary {
  color: var(--demand-navy-2);
  border: 1px solid #b9c6ce;
  background: rgba(255,255,255,.6);
}

.demand-trust-panel {
  padding: 36px;
  color: #fff;
  background: linear-gradient(150deg,#0d3655,#061a2c);
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(7,29,49,.16);
}

.demand-panel-label {
  margin: 0 0 12px;
  color: #d4aa59;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}

.demand-trust-panel h2 {
  margin: 0;
  font: 400 34px/1.08 Georgia,serif;
}

.demand-trust-panel > p:not(.demand-panel-label) {
  margin: 18px 0 0;
  color: #bdcbd4;
  line-height: 1.65;
}

.demand-mini-rules {
  display: grid;
  gap: 9px;
  margin-top: 26px;
}

.demand-mini-rules span {
  padding: 10px 12px;
  color: #e5ebef;
  font-size: 11px;
  font-weight: 700;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 9px;
}

.demand-section {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 94px 0;
}

.demand-section-head {
  max-width: 760px;
  margin-bottom: 42px;
}

.demand-section-head h2,
.confidence-copy h2 {
  margin: 0;
  color: var(--demand-navy);
  font: 400 clamp(38px,4.5vw,58px)/1.02 Georgia,serif;
  letter-spacing: -.035em;
}

.demand-section-head > p:last-child,
.confidence-copy > p:last-child {
  margin: 18px 0 0;
  color: var(--demand-muted);
  font-size: 17px;
  line-height: 1.68;
}

.audience-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.audience-card {
  display: flex;
  min-height: 430px;
  flex-direction: column;
  padding: 30px;
  background: #fff;
  border: 1px solid #e0ddd5;
  border-radius: 18px;
}

.audience-card.patient {
  border-top: 3px solid #4f7fa0;
}

.audience-card.physician {
  border-top: 3px solid #0f536f;
}

.audience-card.organization {
  border-top: 3px solid #b98a3b;
}

.audience-number {
  color: #a9b4ba;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

.audience-label {
  margin: 26px 0 9px;
  color: var(--demand-gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

.audience-card h3 {
  margin: 0;
  color: var(--demand-navy);
  font: 500 28px/1.13 Georgia,serif;
}

.audience-card > p:not(.audience-label) {
  color: var(--demand-muted);
  line-height: 1.6;
}

.audience-card ul {
  display: grid;
  gap: 8px;
  margin: 10px 0 24px;
  padding: 0;
  list-style: none;
}

.audience-card li {
  color: #405968;
  font-size: 13px;
}

.audience-card li::before {
  content: '✓';
  margin-right: 8px;
  color: var(--demand-gold);
  font-weight: 900;
}

.audience-card a {
  margin-top: auto;
  color: var(--demand-blue);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.demand-dark-section {
  padding: 86px max(32px, calc((100% - 1180px)/2));
  color: #fff;
  background: linear-gradient(120deg,#081e31,#0a2b46);
}

.demand-dark-head {
  max-width: 700px;
}

.demand-dark-head h2 {
  margin: 0;
  font: 400 clamp(38px,4.5vw,58px)/1.02 Georgia,serif;
}

.service-need-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
  margin-top: 44px;
}

.service-need-grid article {
  min-height: 230px;
  padding: 24px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
}

.service-need-grid span {
  color: #d9b66f;
  font-size: 10px;
  font-weight: 900;
}

.service-need-grid h3 {
  margin: 22px 0 10px;
  font: 500 23px Georgia,serif;
}

.service-need-grid p {
  margin: 0;
  color: #b7c7d1;
  font-size: 13px;
  line-height: 1.6;
}

.demand-process {
  display: grid;
  gap: 0;
  margin-top: 20px;
  border-top: 1px solid #ded9cf;
}

.demand-process article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid #ded9cf;
}

.demand-process b {
  color: var(--demand-gold);
  font: 500 26px Georgia,serif;
}

.demand-process h3 {
  margin: 0;
  color: var(--demand-navy);
  font: 500 23px Georgia,serif;
}

.demand-process p {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--demand-muted);
  line-height: 1.6;
}

.confidence-section {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 64px;
  align-items: start;
}

.confidence-copy {
  position: sticky;
  top: 40px;
}

.confidence-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.confidence-grid article {
  min-height: 190px;
  padding: 24px;
  background: #fff;
  border: 1px solid #e0ddd5;
  border-radius: 15px;
}

.confidence-grid b {
  color: var(--demand-navy);
  font: 500 21px Georgia,serif;
}

.confidence-grid p {
  margin: 10px 0 0;
  color: var(--demand-muted);
  font-size: 13px;
  line-height: 1.58;
}

.request-section {
  padding: 0 24px 90px;
  background: #f0eee8;
}

.request-shell {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  width: min(1180px,100%);
  margin: 0 auto;
  overflow: hidden;
  color: #fff;
  background: var(--demand-navy);
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(7,29,49,.14);
}

.request-copy {
  padding: 48px 42px;
  background: linear-gradient(150deg,#0e3a5b,#061b2d);
}

.request-copy h2 {
  margin: 0;
  font: 400 42px/1.04 Georgia,serif;
}

.request-copy > p:not(.demand-eyebrow):not(.emergency-note) {
  margin: 18px 0 0;
  color: #bdcbd4;
  line-height: 1.65;
}

.request-boundary {
  display: grid;
  gap: 6px;
  margin-top: 30px;
  padding: 16px;
  color: #e7ecef;
  font-size: 12px;
  line-height: 1.55;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 10px;
}

.request-boundary strong {
  color: #e4bc70;
}

.emergency-note {
  margin: 22px 0 0;
  color: #9eb2c0;
  font-size: 11px;
  line-height: 1.55;
}

.emergency-note b {
  color: #fff;
}

.demand-request-form {
  padding: 48px 42px;
  color: var(--demand-ink);
  background: #fff;
}

.demand-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.demand-form-grid label {
  display: grid;
  gap: 7px;
}

.demand-form-grid label.full {
  grid-column: 1/-1;
}

.demand-form-grid label > span {
  color: #324c5c;
  font-size: 11px;
  font-weight: 900;
}

.demand-form-grid small {
  color: #8b9aa3;
  font-weight: 500;
}

.demand-form-grid input,
.demand-form-grid select {
  width: 100%;
  min-height: 46px;
  padding: 0 12px;
  color: #183246;
  background: #faf9f6;
  border: 1px solid #d7d9d7;
  border-radius: 9px;
  font: inherit;
}

.demand-form-grid input:focus,
.demand-form-grid select:focus {
  outline: 2px solid rgba(24,95,141,.15);
  border-color: #477895;
}

.demand-check {
  margin-top: 22px;
}

.demand-submit {
  margin-top: 22px;
}

.demand-page .form-status {
  color: #35586a;
}

@media (max-width: 980px) {
  .demand-hero,
  .confidence-section,
  .request-shell {
    grid-template-columns: 1fr;
  }

  .demand-hero {
    gap: 36px;
  }

  .audience-grid {
    grid-template-columns: 1fr;
  }

  .audience-card {
    min-height: 0;
  }

  .service-need-grid {
    grid-template-columns: 1fr 1fr;
  }

  .confidence-copy {
    position: static;
  }
}

@media (max-width: 767px) {
  .demand-hero {
    min-height: 0;
    padding: 58px 20px;
  }

  .demand-hero h1 {
    font-size: clamp(44px,13vw,62px);
  }

  .demand-lead {
    font-size: 17px;
  }

  .demand-trust-panel {
    padding: 28px 24px;
  }

  .demand-section {
    width: calc(100% - 36px);
    padding: 66px 0;
  }

  .service-need-grid,
  .confidence-grid,
  .demand-form-grid {
    grid-template-columns: 1fr;
  }

  .demand-dark-section {
    padding: 66px 20px;
  }

  .demand-process article {
    grid-template-columns: 42px 1fr;
  }

  .request-section {
    padding: 0 18px 70px;
  }

  .request-copy,
  .demand-request-form {
    padding: 34px 24px;
  }

  .request-copy h2 {
    font-size: 34px;
  }

  .demand-form-grid label.full {
    grid-column: auto;
  }
}
