/* In Context / 2027 clinic waitlists
   Isolated component styling to preserve the rest of the existing website. */
.ic-wl {
  --wl-navy: #152b41;
  --wl-ink: #283e50;
  --wl-muted: #586775;
  --wl-rose: #b68276;
  --wl-rust: #925f55;
  --wl-cream: #fcf8f2;
  --wl-peach: #f1e1d9;
  --wl-line: #dfd2c8;
  position: relative;
  isolation: isolate;
  padding: clamp(70px, 8vw, 126px) max(24px, calc((100vw - 1160px) / 2));
  background: var(--wl-cream);
  color: var(--wl-ink);
  font-family: var(--body, 'Poppins'), Arial, sans-serif;
  overflow: hidden;
}
.ic-wl, .ic-wl * { box-sizing: border-box; }
.ic-wl a { color: inherit; }
.ic-wl a:focus-visible, .ic-wl button:focus-visible, .ic-wl input:focus-visible, .ic-wl select:focus-visible {
  outline: 3px solid var(--wl-rust); outline-offset: 4px;
}
.ic-wl__top { display: grid; grid-template-columns: minmax(0,1fr) 290px; column-gap: 5vw; align-items: center; max-width: 1160px; margin: 0 auto; }
.ic-wl__eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .16em; color: var(--wl-rust); font-weight: 750; margin: 0 0 28px; }
.ic-wl__title { font: 400 clamp(44px, 5.3vw, 76px)/1.07 var(--heading); letter-spacing: -.045em; color: var(--wl-navy); margin: 0 0 25px; max-width: 850px; }
.ic-wl__title em { color: var(--wl-rust); font-weight: 400; font-style: italic; }
.ic-wl__intro { font-size: clamp(16px, 1.6vw, 19px); line-height: 1.75; color: var(--wl-ink); margin: 0; max-width: 740px; }
.ic-wl__art { position: relative; width: 100%; min-width: 0; aspect-ratio: 1/1.02; display: block; }
.ic-wl__art svg { display: block; width: 100%; height: 100%; }
.ic-wl__divisions { margin: 55px auto 0; max-width: 1160px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--wl-line); border-bottom: 1px solid var(--wl-line); }
.ic-wl__division { min-width: 0; padding: clamp(30px, 4vw, 58px) clamp(18px, 4vw, 62px) 58px 0; }
.ic-wl__division + .ic-wl__division { border-left: 1px solid var(--wl-line); padding-left: clamp(22px, 4vw, 62px); padding-right: 0; }
.ic-wl__index { display: flex; gap: 12px; align-items: baseline; color: var(--wl-rust); margin: 0 0 17px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ic-wl__index span { width: 28px; height: 1px; flex: 0 0 28px; background: var(--wl-rose); display: inline-block; vertical-align: middle; }
.ic-wl__division h3 { font: 400 clamp(30px, 3.2vw, 44px)/1.16 var(--heading); color: var(--wl-navy); letter-spacing: -.035em; margin: 0 0 28px; }
.ic-wl__promise { display: flex; align-items: center; gap: 16px; margin: 0 0 21px; }
.ic-wl__thirty { color: var(--wl-rose); font: 400 80px/.9 var(--heading); letter-spacing: -.09em; min-width: 97px; }
.ic-wl__promise-copy { font-weight: 800; font-size: 16px; color: var(--wl-navy); line-height: 1.48; max-width: 235px; }
.ic-wl__description { margin: 0 0 24px; max-width: 470px; font-size: 15px; line-height: 1.7; color: var(--wl-ink); }
.ic-wl__small-title { margin: 0 0 16px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .10em; color: var(--wl-rust); }
.ic-wl__form { display: grid; gap: 16px; width: 100%; max-width: 435px; }
.ic-wl__field { display: grid; gap: 7px; }
.ic-wl__label { font-size: 13px; font-weight: 750; color: var(--wl-navy); }
.ic-wl__field input, .ic-wl__field select {
  border: 1px solid var(--wl-line); padding: 12px 13px; min-height: 47px; background: #fffefa;
  color: var(--wl-navy); border-radius: 3px; font: 400 15px/1.4 Abadi, Arial, sans-serif; width: 100%;
}
.ic-wl__field input::placeholder { color: #74818a; }
.ic-wl__hint { font-size: 12px; color: var(--wl-muted); line-height: 1.6; margin: -5px 0 0; }
.ic-wl__consent { display: grid; grid-template-columns: 20px auto; align-items: start; gap: 11px; font-size: 12px; line-height: 1.7; color: var(--wl-muted); }
.ic-wl__consent input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--wl-rust); }
.ic-wl__consent a, .ic-wl__fine a, .ic-wl__tele a { text-decoration: underline; text-underline-offset: 3px; }
.ic-wl__submit {
  display: inline-flex; min-height: 51px; align-items: center; justify-content: center;
  gap: 15px; padding: 13px 24px; border: 1px solid var(--wl-navy); background: var(--wl-navy);
  color: #fff; font: 700 15px/1.3 Abadi, Arial, sans-serif; cursor: pointer;
  border-radius: 3px; transition: background .18s ease, transform .18s ease;
}
.ic-wl__submit:hover { background: #32506a; transform: translateY(-1px); }
.ic-wl__submit svg { flex: none; width: 18px; height: 18px; }
.ic-wl__closed { display: none; border-top: 1px solid var(--wl-line); padding-top: 18px; color: var(--wl-rust); margin: 0; font-size: 13px; line-height: 1.65; }
.ic-wl__closed[data-visible='true'] { display: block; }
.ic-wl__fields-hidden { position: absolute !important; top: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ic-wl__bottom { max-width: 1160px; margin: 27px auto 0; display: grid; gap: 15px; }
.ic-wl__fine { color: var(--wl-muted); font-size: 13px; line-height: 1.75; margin: 0; max-width: 985px; }
.ic-wl__tele { display: flex; gap: 13px; align-items: flex-start; border-top: 1px solid var(--wl-line); margin-top: 12px; padding-top: 25px; }
.ic-wl__tele .ic-wl__star { color: var(--wl-rose); font-size: 27px; line-height: .9; }
.ic-wl__tele p { font-size: 15px; line-height: 1.65; margin: 0; }
.ic-wl__tele strong { color: var(--wl-navy); }
@media(max-width:850px) { .ic-wl__top { grid-template-columns: minmax(0,1fr) 170px; } }
@media(max-width:670px) {
  .ic-wl { padding: 69px 21px 76px; }
  .ic-wl__top { display: block; }
  .ic-wl__art { max-width: 172px; margin: 17px auto 0; aspect-ratio: 1/.72; }
  .ic-wl__title { font-size: clamp(41px, 10.2vw, 55px); }
  .ic-wl__divisions { grid-template-columns: 1fr; margin-top: 34px; }
  .ic-wl__division { padding: 32px 0 40px; }
  .ic-wl__division + .ic-wl__division { border-left: none; border-top: 1px solid var(--wl-line); padding: 36px 0 42px; }
  .ic-wl__thirty { font-size: 69px; min-width: 86px; }
}
@media(prefers-reduced-motion:reduce) { .ic-wl__submit { transition: none; } .ic-wl__submit:hover { transform:none; } }

/* Dedicated thank you and existing registration pages: no disruptive cards. */
.ic-wl-confirmation {
  --wl-navy:#152b41; --wl-rust:#925f55; --wl-line:#dfd2c8;
  min-height: calc(100vh - 95px); display: flex; align-items: center; justify-content: center;
  background: #fcf8f2; padding: 80px 26px;
  color: var(--wl-navy); font-family: var(--body, 'Poppins'), Arial, sans-serif;
}
.ic-wl-confirmation__inner { width: min(850px, 100%); }
.ic-wl-confirmation__motif { display: block; width: 75px; height: 75px; margin-bottom: 37px; }
.ic-wl-confirmation__eyebrow { font-size: 12px; text-transform: uppercase; font-weight: 800; letter-spacing: .18em; color: var(--wl-rust); margin: 0 0 23px; }
.ic-wl-confirmation h1 { font: 400 clamp(49px, 7vw, 90px)/1.07 var(--heading); letter-spacing: -.04em; margin: 0 0 20px; }
.ic-wl-confirmation h1 em { color: var(--wl-rust); }
.ic-wl-confirmation__copy { max-width: 660px; font-size: clamp(16px,1.8vw,20px); line-height: 1.65; margin: 0 0 32px; }
.ic-wl-confirmation__rule { height: 1px; width: 100%; max-width: 700px; background: var(--wl-line); margin: 35px 0; }
.ic-wl-confirmation__foot { font-size: 14px; line-height: 1.7; }
.ic-wl-confirmation__foot a { color: var(--wl-navy); text-underline-offset: 4px; }
