/* ==========================================================================
   request-call.css — "Request a Call" (homepage)
   The hero opener + the popup: pick a demo industry, enter your details,
   Sarah (that demo's voice agent) dials you. Light surface, rose accent,
   Inter — the same tokens light-theme.css sets (--cy, --bg*, --t*, shadows,
   easing). Loads after aurora-cta.css so the light consent rules win inside
   the popup. 2026-10-05.
   ========================================================================== */

/* ------------------------------------------------------------ Hero opener */
/* The white .btn-aurora-primary (homepage-v2.css) with a phone icon; the
   second hero button keeps the transparent .btn-aurora-secondary format. */
.btn-aurora-primary--call { gap: .5rem; }
.btn-aurora-primary--call .ic { width: 16px; height: 16px; flex: 0 0 auto; }
.btn-aurora-primary--call:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .btn-aurora-primary--call { transition: none; } }

/* Footer opener — a button that reads exactly like the footer links */
.ft-links .ft-link-btn {
  font-family: var(--font-body); font-size: .82rem; color: var(--tmd);
  background: none; border: 0; padding: 0; margin: 0; cursor: pointer;
  text-align: left; transition: color .2s;
}
.ft-links .ft-link-btn:hover { color: var(--cy); }
.ft-links .ft-link-btn:focus-visible { outline: 2px solid var(--cy); outline-offset: 2px; border-radius: 2px; }

/* ------------------------------------------------------------------ Modal */
.rc-modal { position: fixed; inset: 0; z-index: 1200; /* above the nav (1000) and drawer (1100) */ }
.rc-modal[hidden] { display: none; }
.rc-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(11,10,26,.58);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  animation: rcFade .25s var(--ease-out, ease-out) both;
}
.rc-modal__panel {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  width: min(600px, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto; overscroll-behavior: contain;
  background: #fff; color: var(--tb, #1d1d1f);
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 22px;
  box-shadow: var(--shadow-xl, 0 40px 80px rgba(0,0,0,.18));
  padding: clamp(1.4rem, 3.5vw, 2.2rem);
  font-family: var(--font-body, 'Inter', sans-serif);
  animation: rcPop .32s var(--ease-spring, cubic-bezier(.16,1,.3,1)) both;
}
@keyframes rcFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rcPop { from { opacity: 0; transform: translate(-50%,-48%) scale(.97); } to { opacity: 1; transform: translate(-50%,-50%) scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .rc-modal__backdrop, .rc-modal__panel, .rc-step, .rc-success__check { animation: none !important; }
}

.rc-modal__close {
  position: absolute; top: 14px; right: 14px;
  width: 38px; height: 38px; border-radius: 12px;
  display: grid; place-items: center;
  background: transparent; border: 0; cursor: pointer;
  color: var(--tm, #6e6e73);
  transition: color .2s, background .2s;
}
.rc-modal__close:hover { color: var(--tb, #1d1d1f); background: var(--bg1, #f5f5f7); }
.rc-modal__close:focus-visible { outline: 2px solid var(--cy); outline-offset: 2px; }
.rc-modal__close .ic { width: 18px; height: 18px; }

/* Steps */
.rc-step { animation: rcStep .28s var(--ease-out, ease-out) both; }
.rc-step[hidden] { display: none; }
@keyframes rcStep { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.rc-head { margin-bottom: 1.25rem; padding-right: 2.25rem; }
.rc-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--cy, #9E5261);
}
.rc-eyebrow__dot {
  width: 7px; height: 7px; border-radius: 50%; background: #22a06b;
  box-shadow: 0 0 0 0 rgba(34,160,107,.45);
  animation: rcPulseGreen 2s cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes rcPulseGreen {
  0%   { box-shadow: 0 0 0 0 rgba(34,160,107,.45); }
  70%  { box-shadow: 0 0 0 6px rgba(34,160,107,0); }
  100% { box-shadow: 0 0 0 0 rgba(34,160,107,0); }
}
.rc-title {
  margin: .6rem 0 0; font-family: var(--font-display, 'Inter', sans-serif);
  font-size: clamp(1.35rem, 2.6vw, 1.6rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.2;
  color: var(--tbr, #0a0a0a);
}
.rc-desc { margin: .55rem 0 0; font-size: .93rem; line-height: 1.6; color: var(--tm, #6e6e73); }
.rc-desc b { color: var(--tb, #1d1d1f); font-weight: 600; }

/* Industry picker */
.rc-industries { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.rc-industries > li { display: flex; min-width: 0; }
.rc-industry {
  display: flex; align-items: center; gap: .85rem; width: 100%; min-height: 100%;
  padding: .95rem 1rem; text-align: left; cursor: pointer;
  background: #fff; color: var(--tb, #1d1d1f);
  border: 1.5px solid var(--bdrh, rgba(0,0,0,.09)); border-radius: 16px;
  font-family: inherit;
  box-shadow: var(--shadow-s, 0 1px 2px rgba(0,0,0,.03));
  transition: border-color .22s var(--ease-out, ease-out), background .22s var(--ease-out, ease-out),
              transform .22s var(--ease-out, ease-out), box-shadow .22s var(--ease-out, ease-out);
}
.rc-industry:hover, .rc-industry:focus-visible {
  border-color: rgba(158,82,97,.55); background: var(--cyd, rgba(158,82,97,.04));
  transform: translateY(-1px); box-shadow: var(--shadow-m, 0 4px 8px rgba(0,0,0,.03));
  outline: none;
}
.rc-industry:focus-visible { box-shadow: 0 0 0 3px rgba(158,82,97,.2); }
.rc-industry:active { transform: translateY(0); }
.rc-industry__icon {
  flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center;
  background: var(--bg1, #f5f5f7); color: var(--cy, #9E5261);
  transition: background .22s, color .22s;
}
.rc-industry:hover .rc-industry__icon { background: var(--cy, #9E5261); color: #fff; }
.rc-industry__icon .ic { width: 22px; height: 22px; }
.rc-industry__text { display: flex; flex-direction: column; gap: .15rem; min-width: 0; flex: 1 1 auto; }
.rc-industry__name { font-size: .98rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.rc-industry__sub { font-size: .76rem; color: var(--tm, #6e6e73); line-height: 1.35; }
.rc-industry__arrow {
  flex: 0 0 auto; width: 18px; height: 18px; color: var(--td, #86868b);
  opacity: .55; transform: translateX(-2px);
  transition: opacity .22s, transform .22s, color .22s;
}
.rc-industry:hover .rc-industry__arrow { opacity: 1; transform: none; color: var(--cy, #9E5261); }
.rc-industry__arrow .ic { width: 18px; height: 18px; }
.rc-foot { margin: 1.1rem 0 0; text-align: center; font-size: .76rem; color: var(--td, #86868b); letter-spacing: .005em; }

/* Selected-industry chip + change */
.rc-chip {
  display: inline-flex; align-items: center; gap: .55rem; max-width: 100%;
  padding: .4rem .7rem .4rem .5rem; border-radius: 980px;
  background: var(--cyd, rgba(158,82,97,.04)); border: 1px solid rgba(158,82,97,.22);
  font-size: .8rem; font-weight: 600; color: var(--tb, #1d1d1f);
}
.rc-chip__icon {
  width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center;
  background: var(--cy, #9E5261); color: #fff; flex: 0 0 auto;
}
.rc-chip__icon .ic { width: 13px; height: 13px; }
.rc-chip__change {
  margin-left: .2rem; background: none; border: 0; padding: 0; cursor: pointer;
  font-family: inherit; font-size: .78rem; font-weight: 500; color: var(--cy, #9E5261);
  text-decoration: underline; text-underline-offset: 2px; text-decoration-color: rgba(158,82,97,.4);
}
.rc-chip__change:hover { text-decoration-color: var(--cy, #9E5261); }
.rc-chip__change:focus-visible { outline: 2px solid var(--cy); outline-offset: 2px; border-radius: 3px; }

/* Form */
.rc-form { margin-top: .25rem; }
.rc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.rc-field { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.rc-field--full { grid-column: 1 / -1; }
.rc-field label { font-size: .78rem; font-weight: 600; color: var(--tmd, #48484a); letter-spacing: .005em; }
.rc-field .rc-req { color: var(--cy, #9E5261); }
.rc-input {
  width: 100%; box-sizing: border-box;
  font-family: inherit; font-size: .95rem; font-weight: 400; color: var(--tb, #1d1d1f);
  padding: .85rem 1.15rem; line-height: 1.4;
  background: var(--bg1, #f5f5f7); border: 1.5px solid rgba(0,0,0,.06); border-radius: 980px;
  outline: none; -webkit-appearance: none; appearance: none;
  transition: border-color .25s var(--ease-out, ease-out), background .25s var(--ease-out, ease-out), box-shadow .25s var(--ease-out, ease-out);
}
.rc-input::placeholder { color: var(--td, #86868b); }
.rc-input:hover { border-color: rgba(0,0,0,.12); background: #fff; }
.rc-input:focus { border-color: var(--cy, #9E5261); background: #fff; box-shadow: 0 0 0 3px rgba(158,82,97,.15); }
.rc-input[aria-invalid="true"] { border-color: #c03838; background: #fff; }

/* Consent — light surface (the aurora sheet styles these white-on-dark) */
.rc-modal .v2-form-consent { margin-top: .95rem; }
.rc-modal .v2-form-consent + .v2-form-consent { margin-top: .5rem; }
.rc-modal .v2-consent-label {
  display: flex; align-items: flex-start; justify-content: flex-start; gap: .625rem;
  cursor: pointer; user-select: none;
  font-family: var(--font-body, 'Inter', sans-serif); font-size: .72rem; line-height: 1.55;
  color: var(--tm, #6e6e73); letter-spacing: .005em; text-align: left;
}
.rc-modal .v2-consent-box {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  flex-shrink: 0; width: 16px; height: 16px; margin: 2px 0 0 0;
  border-radius: 4px; border: 1.5px solid var(--bg4, #c7c7cc); background: #fff;
  backdrop-filter: none; -webkit-backdrop-filter: none;
  cursor: pointer; position: relative;
  transition: all .18s cubic-bezier(.4,0,.2,1);
}
.rc-modal .v2-consent-box:hover { border-color: var(--cy, #9E5261); background: var(--cyd, rgba(158,82,97,.04)); }
.rc-modal .v2-consent-box:focus-visible { outline: none; border-color: var(--cy, #9E5261); box-shadow: 0 0 0 3px rgba(158,82,97,.18); }
.rc-modal .v2-consent-box:checked { background: var(--cy, #9E5261); border-color: var(--cy, #9E5261); }
.rc-modal .v2-consent-box:checked::after {
  content: ''; position: absolute; left: 4px; top: 1px; width: 5px; height: 9px;
  border: solid #fff; border-width: 0 1.8px 1.8px 0; transform: rotate(45deg);
}
.rc-modal .v2-consent-text { flex: 0 1 auto; min-width: 0; }
.rc-modal .v2-consent-link {
  color: var(--cy, #9E5261); text-decoration: underline;
  text-underline-offset: 2px; text-decoration-color: rgba(158,82,97,.4);
  transition: color .18s ease, text-decoration-color .18s ease;
}
.rc-modal .v2-consent-link:hover { color: #7F3F4D; text-decoration-color: #7F3F4D; }

/* Turnstile sits on its own row; the widget is rendered when the step opens */
.rc-turnstile { margin-top: 1rem; min-height: 0; }
.rc-turnstile:empty { display: none; }

.rc-error {
  margin-top: 1rem; padding: .8rem 1.1rem; border-radius: 14px;
  background: rgba(192,56,56,.05); border: 1px solid rgba(192,56,56,.22);
  color: #A03030; font-size: .86rem; line-height: 1.5;
}
.rc-error[hidden] { display: none; }
.rc-error a { color: inherit; font-weight: 600; }

.rc-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  width: 100%; margin-top: 1.2rem; box-sizing: border-box;
  padding: .95rem 1.5rem; border-radius: 980px;
  font-family: inherit; font-size: .95rem; font-weight: 600; letter-spacing: -.005em; line-height: 1.3;
  background: #1d1d1f; color: #f5f5f7; border: 1px solid rgba(255,255,255,.06);
  box-shadow: var(--shadow-m, 0 4px 8px rgba(0,0,0,.03)); cursor: pointer;
  transition: background .25s cubic-bezier(.16,1,.3,1), transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s cubic-bezier(.16,1,.3,1), opacity .2s;
}
.rc-submit:hover { background: #2d2d2f; transform: translateY(-1px); box-shadow: var(--shadow-l, 0 8px 16px rgba(0,0,0,.05)), 0 0 0 1px rgba(255,255,255,.08); }
.rc-submit:active { transform: translateY(0); box-shadow: var(--shadow-s, 0 1px 2px rgba(0,0,0,.03)); }
.rc-submit:focus-visible { outline: 2px solid var(--cy, #9E5261); outline-offset: 3px; }
.rc-submit:disabled { cursor: not-allowed; opacity: .65; transform: none; }
.rc-submit .ic { width: 17px; height: 17px; }
.rc-submit__spin {
  width: 16px; height: 16px; border-radius: 50%; flex: 0 0 auto;
  border: 2px solid rgba(255,255,255,.35); border-top-color: #fff;
  animation: rcSpin .8s linear infinite;
}
@keyframes rcSpin { to { transform: rotate(360deg); } }

.rc-alt { margin: .9rem 0 0; text-align: center; font-size: .78rem; color: var(--td, #86868b); line-height: 1.5; }
.rc-alt a { color: var(--cy, #9E5261); font-weight: 600; text-decoration: none; white-space: nowrap; }
.rc-alt a:hover { text-decoration: underline; text-underline-offset: 2px; }

/* Success */
.rc-success { text-align: center; padding: 1.2rem .4rem .4rem; }
.rc-success__check {
  width: 60px; height: 60px; margin: 0 auto 1.1rem; border-radius: 50%;
  background: var(--cy, #9E5261); color: #fff; display: grid; place-items: center;
  box-shadow: 0 10px 28px rgba(158,82,97,.32);
  animation: rcPopIn .45s var(--ease-spring, cubic-bezier(.16,1,.3,1)) both;
}
@keyframes rcPopIn { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: scale(1); } }
.rc-success__check .ic { width: 26px; height: 26px; }
.rc-success .rc-title { margin-top: 0; }
.rc-success p { margin: .7rem auto 0; max-width: 420px; font-size: .95rem; line-height: 1.65; color: var(--tm, #6e6e73); }
.rc-success p b { color: var(--tb, #1d1d1f); font-weight: 600; white-space: nowrap; }
.rc-success p a { color: var(--cy, #9E5261); font-weight: 600; text-decoration: none; white-space: nowrap; }
.rc-success p a:hover { text-decoration: underline; text-underline-offset: 2px; }
.rc-success__acts { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin-top: 1.5rem; }
.rc-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .8rem 1.3rem; border-radius: 980px; box-sizing: border-box;
  font-family: inherit; font-size: .9rem; font-weight: 600; text-decoration: none; cursor: pointer;
  background: #fff; color: var(--tb, #1d1d1f); border: 1.5px solid var(--bdrh, rgba(0,0,0,.09));
  transition: border-color .22s, background .22s, transform .22s;
}
.rc-btn-ghost:hover { border-color: rgba(158,82,97,.5); background: var(--cyd, rgba(158,82,97,.04)); transform: translateY(-1px); }
.rc-btn-ghost:focus-visible { outline: 2px solid var(--cy, #9E5261); outline-offset: 2px; }
.rc-btn-ghost .ic { width: 15px; height: 15px; flex: 0 0 auto; }
.rc-btn-ghost__label { text-align: center; line-height: 1.35; }
.rc-success .rc-submit { width: auto; margin-top: 0; padding: .8rem 1.5rem; }

/* Screen-reader-only (the honeypot) — light-theme.css also defines .sr-only; this is a safety net */
.rc-modal .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Scroll lock while open (the gutter is kept so the page never shifts) */
html.rc-lock, html.rc-lock body { overflow: hidden; }
html.rc-lock body { padding-right: var(--rc-sbw, 0px); }

/* Small screens */
@media (max-width: 560px) {
  .rc-modal__panel { width: calc(100vw - 1.25rem); padding: 1.35rem 1.1rem 1.25rem; border-radius: 20px; max-height: calc(100dvh - 1.25rem); }
  .rc-industries { grid-template-columns: 1fr; }
  .rc-grid { grid-template-columns: 1fr; }
  .rc-head { padding-right: 2rem; }
  .rc-title { font-size: 1.3rem; }
  .rc-industry { padding: .85rem .9rem; }
  .rc-success__acts { flex-direction: column; }
  .rc-success__acts .rc-btn-ghost, .rc-success .rc-submit { width: 100%; }
}
