.scheduler-page {
  min-height: 100vh;
  padding: calc(var(--header-height) + 76px) 24px 80px;
  background: radial-gradient(circle at 78% 14%, rgba(20, 121, 139, 0.18), transparent 30%), var(--navy-950);
}

.scheduler-shell { max-width: 1120px; }
.scheduler-intro { max-width: 720px; }
.scheduler-intro h1 { margin: 18px 0 0; color: var(--ink-strong); font: 600 clamp(48px, 6vw, 78px)/.98 "Hanken Grotesk", sans-serif; letter-spacing: -.055em; }
.scheduler-intro p { max-width: 650px; margin: 25px 0 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.scheduler-card { position: relative; display: grid; grid-template-columns: minmax(0, .84fr) minmax(420px, 1.16fr); gap: 56px; margin-top: 58px; padding: 31px; border: 1px solid rgba(72, 229, 193, .28); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(14, 53, 67, .83), rgba(8, 21, 37, .98)); box-shadow: var(--shadow-soft); }
.scheduler-selection { min-width: 0; }
.scheduler-panel-heading .panel-topline { color: var(--aqua); font-size: 9px; }
.scheduler-panel-heading h2 { margin: 17px 0 0; color: var(--ink); font: 600 clamp(27px, 3vw, 39px)/1.05 "Hanken Grotesk", sans-serif; letter-spacing: -.05em; }
.scheduler-label, .scheduler-form label { display: block; margin-top: 29px; color: #c9dcda; font: 600 10px "JetBrains Mono", monospace; letter-spacing: .06em; text-transform: uppercase; }
.scheduler-label input, .scheduler-form input, .scheduler-form select, .scheduler-form textarea { display: block; width: 100%; margin-top: 8px; padding: 12px 13px; color: #eef8f4; border: 1px solid rgba(181, 205, 222, .24); border-radius: var(--radius-sm); outline: none; background: #173849; font: 14px/1.45 Inter, sans-serif; letter-spacing: 0; text-transform: none; transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease; }
.scheduler-label input:focus, .scheduler-form input:focus, .scheduler-form select:focus, .scheduler-form textarea:focus { border-color: var(--aqua); box-shadow: 0 0 0 3px rgba(72, 229, 193, .14); background: #1d4653; }
.scheduler-form textarea { min-height: 102px; resize: vertical; }
.scheduler-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--aqua) 50%), linear-gradient(135deg, var(--aqua) 50%, transparent 50%); background-position: calc(100% - 17px) 53%, calc(100% - 12px) 53%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.scheduler-timezone { margin: 12px 0 0; color: var(--subtle); font-size: 11px; }
.scheduler-status { min-height: 24px; margin: 22px 0 0; color: var(--muted); font-size: 12px; }
.scheduler-status.is-error, .scheduler-feedback.is-error { color: #ffadad; }
.scheduler-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 12px; }
.scheduler-slot { min-height: 46px; padding: 9px 10px; color: var(--ink); border: 1px solid rgba(181, 205, 222, .18); border-radius: var(--radius-sm); background: rgba(16, 47, 62, .76); font: 600 11px/1.25 Inter, sans-serif; text-align: left; transition: border-color 150ms ease, background 150ms ease, transform 150ms ease; }
.scheduler-slot:hover { border-color: var(--aqua); background: rgba(72, 229, 193, .12); transform: translateY(-1px); }
.scheduler-slot.is-selected { color: #062822; border-color: var(--aqua); background: var(--aqua); }
.scheduler-empty { grid-column: 1 / -1; padding: 16px; color: var(--subtle); border: 1px dashed rgba(181, 205, 222, .2); border-radius: var(--radius-sm); font-size: 12px; }
.scheduler-form { padding: 26px; border: 1px solid rgba(72, 229, 193, .24); border-radius: var(--radius-md); background: rgba(5, 14, 32, .5); }
.scheduler-form .scheduler-panel-heading h2 { font-size: clamp(26px, 3vw, 35px); }
.scheduler-selected { min-height: 22px; margin: 16px 0 0; color: var(--aqua); font-size: 12px; }
.scheduler-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.scheduler-form-row label { margin-top: 20px; }
.scheduler-form > label:not(.scheduler-consent) { margin-top: 17px; }
.scheduler-consent { display: flex !important; align-items: flex-start; gap: 9px; margin-top: 20px !important; color: #c3d6d3 !important; font: 12px/1.45 Inter, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; }
.scheduler-consent input { width: 17px !important; height: 17px; flex: 0 0 auto; margin: 1px 0 0 !important; accent-color: #287367; }
.scheduler-consent a { color: #6bf0d0; text-decoration: underline; text-underline-offset: 3px; }
.scheduler-submit { width: 100%; margin-top: 23px; }
.scheduler-feedback { min-height: 20px; margin: 11px 0 0; color: #6bf0d0; font-size: 12px; }
.scheduler-success { grid-column: 1 / -1; padding: 33px; border: 1px solid rgba(72, 229, 193, .34); border-radius: var(--radius-md); background: rgba(72, 229, 193, .08); }
.scheduler-success h2 { max-width: 620px; margin: 17px 0 0; color: var(--ink); font: 600 clamp(32px, 4vw, 51px)/1 "Hanken Grotesk", sans-serif; letter-spacing: -.05em; }
.scheduler-success p { max-width: 620px; margin: 18px 0 24px; color: var(--muted); }
.scheduler-footnote { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; color: var(--subtle); font-size: 11px; }
.scheduler-footnote .status-dot { width: 6px; height: 6px; box-shadow: none; }

@media (max-width: 900px) {
  .scheduler-card { display: block; }
  .scheduler-form { margin-top: 42px; }
  .scheduler-success { margin-top: 42px; }
}

@media (max-width: 680px) {
  .scheduler-page { padding: calc(var(--header-height) + 48px) 18px 58px; }
  .scheduler-intro h1 { font-size: clamp(45px, 13.5vw, 65px); }
  .scheduler-intro p { margin-top: 21px; font-size: 16px; }
  .scheduler-card { margin-top: 38px; padding: 21px; }
  .scheduler-slots { grid-template-columns: 1fr; }
  .scheduler-form { padding: 21px; }
  .scheduler-form-row { display: block; }
  .scheduler-form-row label + label { margin-top: 17px; }
  .scheduler-success { padding: 24px; }
  .scheduler-footnote { align-items: flex-start; }
}
