.appointment-panel {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(500px, 1.4fr);
  gap: 54px;
  margin: -8px 0 58px;
  padding: 48px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--mist);
}
.appointment-intro h3 {
  margin: 0 0 18px;
  color: var(--navy);
  font: 500 2.25rem/1.1 Georgia, "Times New Roman", serif;
}
.appointment-intro > p:not(.eyebrow) { color: var(--muted); }
.privacy-note {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 30px;
  padding: 18px;
  border-left: 4px solid var(--teal);
  background: #fff;
  font-size: .9rem;
}
.privacy-note strong { color: var(--navy); }
.privacy-note span { color: var(--muted); }
.appointment-form {
  padding: 30px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(8,45,79,.08);
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.appointment-form label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: var(--navy);
  font-size: .9rem;
  font-weight: 750;
}
.full-field { grid-column: 1 / -1; }
.appointment-form input, .appointment-form select {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #b8c8d0;
  border-radius: 5px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
.appointment-form input:focus, .appointment-form select:focus {
  border-color: var(--teal);
  outline: 3px solid rgba(21,154,152,.18);
}
.consent-field {
  flex-direction: row !important;
  align-items: flex-start;
  margin: 22px 0 18px;
  color: #435863 !important;
  font-weight: 500 !important;
}
.consent-field input {
  width: 18px;
  height: 18px;
  min-height: 18px;
  flex: 0 0 18px;
  margin: 3px 2px 0 0;
}
.submit-button { width: 100%; border: 0; cursor: pointer; font-size: 1rem; }
.form-help, .arthur-note, .form-status { margin: 14px 0 0; color: var(--muted); font-size: .82rem; }
.arthur-note { padding: 12px 14px; border-radius: 5px; background: #e7f5f4; color: #285f61; }
.form-status { color: var(--teal); font-weight: 700; }
.services h3 a { text-decoration: none; }
.service-link, .route-link { display: inline-block; margin-top: 14px; color: var(--teal); font-size: .86rem; font-weight: 750; text-decoration: none; }
.route-link { margin: 0 0 14px; }
.route-link-light { color: #74d3ce; }
.coverage-alert { margin: 20px 0 0; padding: 14px 16px; border-radius: 5px; background: #fff4dc; color: #694b0f; font-size: .86rem; line-height: 1.5; }
.scheduling-layout { display: grid; grid-template-columns: minmax(560px, 1.35fr) minmax(330px, .65fr); gap: 24px; align-items: start; margin-bottom: 36px; }
.scheduling-layout .appointment-panel { grid-template-columns: 1fr; gap: 28px; margin: 0; padding: 36px; }
.scheduling-layout .location-grid { grid-template-columns: 1fr; gap: 14px; }
.scheduling-layout .location-card { min-height: 0; padding: 24px; }
.scheduling-layout .location-card > p { margin: 10px 0; font-size: .9rem; }
.scheduling-layout .location-card dl { margin: 10px 0 18px; font-size: .88rem; }
.scheduling-layout .location-card dl div { padding: 9px 0; }
.scheduling-layout .location-card .button { min-height: 44px; }
.insurance-guide { margin: 0 0 28px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.insurance-guide > summary { cursor: pointer; padding: 20px 24px; color: var(--navy); font-weight: 750; }
.insurance-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; padding: 4px 24px 22px; }
.insurance-columns h3 { margin: 0 0 8px; color: var(--navy); }
.insurance-columns p, .insurance-disclaimer { color: var(--muted); font-size: .88rem; }
.insurance-disclaimer { margin: 0 24px 24px; padding-top: 18px; border-top: 1px solid var(--line); }
@media (max-width: 900px) {
  .appointment-panel { grid-template-columns: 1fr; gap: 30px; padding: 30px; }
  .scheduling-layout .location-grid { grid-template-columns: 1fr; }
  .insurance-columns { grid-template-columns: 1fr; }
}
@media (max-width: 1050px) and (min-width: 901px) {
  .scheduling-layout { grid-template-columns: 1fr; }
  .scheduling-layout .location-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1051px) {
  .scheduling-layout .location-card h3 { font-size: 1.25rem; }
  .scheduling-layout .location-type { font-size: .66rem; }
}
@media (max-width: 600px) {
  .appointment-panel { margin-bottom: 42px; padding: 20px; }
  .appointment-intro h3 { font-size: 1.9rem; }
  .appointment-form { padding: 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .full-field { grid-column: auto; }
}

.surgery-highlight { width: 100%; margin-top: 34px; padding: 30px 34px; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: var(--navy); color: #fff; border-radius: 6px; box-shadow: 0 18px 40px rgba(8,45,79,.12); }
.surgery-highlight h3 { margin: 4px 0 8px; font-size: clamp(1.3rem, 2.2vw, 1.8rem); }
.surgery-highlight p { margin: 0; color: rgba(255,255,255,.78); }
.surgery-highlight .eyebrow { color: #69d7d2; }
.surgery-highlight .button { flex: 0 0 auto; background: #fff; color: var(--navy); }
@media (max-width: 700px) { .surgery-highlight { align-items: flex-start; flex-direction: column; padding: 24px; } .surgery-highlight .button { width: 100%; } }
