
/* APPLY PAGE CRITICAL BASE — intentionally self-contained for fast first paint */
:root{
  --site-font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --graphite:#171044;
  --graphite-soft:#24165F;
  --graphite-card:#332078;
  --limestone:#FAF9FF;
  --limestone-card:#FFFFFF;
  --limestone-line:rgba(119,76,247,.12);
  --ink:#171044;
  --ink-soft:#625B7A;
  --ink-faint:#7E7597;
  --on-dark:#FFFFFF;
  --on-dark-soft:#BDA8FF;
  --signal-blue:#774CF7;
  --signal-blue-dim:#6034D8;
  --warm-metal:#774CF7;
  --radius-lg:28px;
  --radius-md:20px;
  --radius-sm:14px;
  --radius-pill:999px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur-fast:.25s;
  --dur-med:.4s;
  --dur-slow:.6s;
  --shadow-card:0 2px 4px rgba(23,16,68,.05),0 18px 40px -14px rgba(23,16,68,.14);
  --shadow-lift:0 24px 70px -18px rgba(23,16,68,.28);
  --icon-blue-bg:#F0EBFF;
  --icon-blue-fg:#6034D8;
  --icon-metal-bg:#F4F0FF;
  --icon-metal-fg:#774CF7;
  --icon-green-bg:#E2F6EA;
  --icon-green-fg:#16803C;
}
*,*::before,*::after{box-sizing:border-box}
html{
  width:100%;
  height:100%;
  margin:0;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  margin:0;
  min-height:100%;
  font-family:var(--site-font-family);
  font-size:15.5px;
  line-height:1.5;
  color:var(--ink);
  background:#FAF9FF;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.92) 1.2px,transparent 0);
  background-size:18px 18px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img,svg{display:block;max-width:100%}
button{border:0}
::selection{background:#774CF7;color:#fff}

/* ==========================================================================
   Application flow: one-question-at-a-time, branded to match the main site
   ========================================================================== */

.apply-body{
  overflow:hidden;
  height:100vh;
}

.apply-logo{
  position:fixed; top:28px; left:32px; z-index:20;
  display:flex; align-items:center; gap:10px;
  text-decoration:none;
}
.apply-logo .nav-logo-text{ font-weight:900; font-size:24px; letter-spacing:0.01em; text-transform:uppercase; color:var(--ink); }

.apply-lang{
  position:fixed; top:32px; right:88px; z-index:20;
}

.apply-exit{
  position:fixed; top:28px; right:32px; z-index:20;
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  background:var(--limestone-card);
  border:1px solid var(--limestone-line);
  color:var(--ink-soft);
  box-shadow:var(--shadow-card);
  transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.apply-exit:hover{ color:var(--signal-blue); border-color:var(--signal-blue); transform:rotate(90deg); }

.apply-progress{
  position:fixed; top:0; left:0; right:0; height:4px;
  background:var(--limestone-line);
  z-index:30;
}
.apply-progress-fill{
  height:100%; width:12.5%;
  background:var(--signal-blue);
  transition:width var(--dur-med) var(--ease);
}

.apply-stage{
  position:relative;
  height:100vh;
}

.apply-step{
  position:absolute;
  top:50%; left:0; right:0;
  max-width:720px;
  margin:0 auto;
  padding:0 32px;
  text-align:left;
  --slide:24px;
  opacity:0;
  transform:translateY(calc(-50% + var(--slide)));
  pointer-events:none;
  transition:opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease);
}
.apply-step.is-active{
  opacity:1;
  --slide:0px;
  pointer-events:auto;
}
.apply-step.is-leaving{
  opacity:0;
  --slide:-24px;
}

.apply-step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px;
  border-radius:9px;
  background:var(--signal-blue);
  color:#fff;
  font-size:14px; font-weight:800;
  margin-bottom:22px;
}

.apply-question{
  font-size:clamp(1.7rem, 3.4vw, 2.5rem) !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  line-height:1.2 !important;
  text-transform:none !important;
  color:var(--ink) !important;
  margin:0 0 32px;
}
.apply-question:has(+ .apply-question-sub){ margin-bottom:10px; }

.apply-question-sub{
  font-size:15px;
  color:var(--ink-faint);
  margin:0 0 28px;
  max-width:520px;
}

.apply-field-label{
  display:block;
  font-size:13px; font-weight:600;
  color:var(--ink-soft);
  margin-bottom:8px;
}

.apply-phone-fields{
  display:flex; align-items:flex-end; gap:14px;
}
.apply-phone-code{
  font-family:inherit;
  font-size:1.1rem;
  color:var(--ink);
  background:transparent;
  border:none;
  border-bottom:2px solid var(--limestone-line);
  padding:10px 4px 14px;
  flex-shrink:0;
  cursor:pointer;
}
.apply-phone-code:focus{ outline:none; border-color:var(--signal-blue); }
.apply-phone-fields input{ flex:1; }

.apply-input-row{ width:100%; }
.apply-input-row input,
.apply-input-row textarea{
  width:100%;
  text-align:left;
  font-family:inherit;
  font-size:clamp(1.15rem, 2vw, 1.5rem);
  font-weight:500;
  color:var(--ink);
  background:transparent;
  border:none;
  border-bottom:2px solid var(--limestone-line);
  padding:10px 2px 14px;
  resize:none;
  transition:border-color var(--dur-fast) var(--ease);
}
.apply-input-row textarea{ line-height:1.5; }
.apply-input-row input:focus,
.apply-input-row textarea:focus{
  outline:none;
  border-color:var(--signal-blue);
}
.apply-input-row input::placeholder,
.apply-input-row textarea::placeholder{ color:var(--ink-faint); }

.apply-step-actions{
  display:flex; align-items:center; justify-content:flex-start; gap:18px;
  width:100%;
  margin-top:32px;
}
.apply-hint{ font-size:13px; color:var(--ink-faint); }
.apply-hint strong{ color:var(--ink-soft); }

.apply-choice-list{
  display:flex; flex-direction:column; gap:12px;
  width:100%;
}
.apply-choice{
  display:flex; align-items:center; gap:14px;
  width:100%;
  text-align:left;
  font-family:inherit;
  font-size:17px; font-weight:600;
  color:var(--ink);
  background:var(--limestone-card);
  border:1.5px solid var(--limestone-line);
  border-radius:14px;
  padding:16px 20px;
  cursor:pointer;
  transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
@media (hover:hover){
  .apply-choice:hover{ border-color:var(--signal-blue); transform:translateX(4px); }
}
.apply-choice:active{ border-color:var(--signal-blue); transform:scale(0.98); }
.apply-choice.is-selected{
  border-color:var(--signal-blue);
  background:var(--icon-blue-bg, #ffe8e1);
}
.apply-choice-key{
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; flex-shrink:0;
  border-radius:8px;
  border:1.5px solid var(--limestone-line);
  font-size:13px; font-weight:800;
  color:var(--ink-soft);
}
.apply-choice.is-selected .apply-choice-key{
  border-color:var(--signal-blue);
  background:var(--signal-blue);
  color:#fff;
}
.apply-choice-note{ font-weight:500; color:var(--ink-faint); margin-left:4px; }

.apply-nav{
  position:fixed; right:32px; bottom:32px; z-index:20;
  display:flex; flex-direction:column; gap:8px;
}
.apply-nav-btn{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  border:none;
  cursor:pointer;
  box-shadow:var(--shadow-card);
  transition:background var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.apply-nav-btn:hover:not(:disabled){ background:var(--signal-blue); transform:translateY(-1px); }
.apply-nav-btn:disabled{ opacity:0.35; cursor:default; }

/* ---- Submission overlay: bridges "Submit application" and the /thank-you/
   redirect so nobody sees the thank-you page before the GHL sync has
   actually resolved (or the safety timeout in apply.js elapses). Reuses the
   same warm cream dot-grid as <body> so it reads as a state change on the
   same page, not a popup. ---- */
.apply-submit-overlay{
  position:fixed; inset:0; z-index:60;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  background-color:#ecebe6;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.92) 1.2px, transparent 0);
  background-size:18px 18px;
  opacity:0;
  pointer-events:none;
  transition:opacity var(--dur-med) var(--ease);
}
.apply-submit-overlay.is-active{
  opacity:1;
  pointer-events:auto;
}

.apply-submit-card{
  display:flex; flex-direction:column; align-items:center;
  text-align:center;
  width:100%; max-width:380px;
  padding:48px 40px;
  background:var(--limestone-card);
  border:1px solid var(--limestone-line);
  border-radius:24px;
  box-shadow:var(--shadow-card);
  transform:translateY(10px);
  opacity:0;
  transition:opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease);
}
.apply-submit-overlay.is-active .apply-submit-card{
  opacity:1;
  transform:translateY(0);
}

.apply-submit-icon{
  position:relative;
  width:52px; height:52px;
  margin-bottom:24px;
}
.apply-submit-spinner{
  position:absolute; inset:0;
  border-radius:50%;
  border:3px solid var(--limestone-line);
  border-top-color:var(--signal-blue);
  animation:apply-spin 0.85s linear infinite;
  transition:opacity var(--dur-fast) var(--ease);
}
.apply-submit-check{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--signal-blue);
  color:#fff;
  transform:scale(0.6);
  opacity:0;
  transition:transform 0.4s cubic-bezier(.34,1.56,.64,1), opacity 0.3s var(--ease);
}
.apply-submit-check svg{ width:26px; height:26px; }

.apply-submit-overlay.is-success .apply-submit-spinner{ opacity:0; }
.apply-submit-overlay.is-success .apply-submit-check{ opacity:1; transform:scale(1); }

.apply-submit-title{
  font-size:1.3rem !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
  text-transform:none !important;
  line-height:1.3 !important;
  color:var(--ink) !important;
  margin:0 0 8px;
}
.apply-submit-sub{
  font-size:14px;
  color:var(--ink-faint);
  margin:0;
}

/* Hidden until the success state — this is the only way out of the
   confirmation screen, since there is no automatic redirect. */
.apply-submit-home{
  display:none;
  margin-top:24px;
  font-size:14px;
  font-weight:700;
  color:var(--signal-blue);
  text-decoration:none;
}
.apply-submit-home:hover{ text-decoration:underline; }
.apply-submit-overlay.is-success .apply-submit-home{ display:inline-block; }

@keyframes apply-spin{ to{ transform:rotate(360deg); } }

@media (prefers-reduced-motion:reduce){
  .apply-submit-spinner{ animation:none; border-top-color:var(--limestone-line); }
  .apply-submit-check{ transition:opacity 0.2s linear; }
}

@media (max-width:760px){
  .apply-logo{ top:18px; left:18px; }
  .apply-logo .nav-logo-text{ display:none; }
  .apply-exit{ top:18px; right:18px; width:36px; height:36px; }
  .apply-step{ padding:0 24px; }
  .apply-question{ font-size:clamp(1.4rem, 6vw, 2rem) !important; margin-bottom:24px; }
  .apply-step-actions{ flex-direction:column; align-items:flex-start; gap:10px; margin-top:24px; }
  .apply-nav{ right:18px; bottom:18px; }
  .apply-choice{ padding:14px 16px; font-size:15.5px; }

  /* tak.html reuses this shared file but, unlike the single-viewport
     application flow (.apply-body, height:100vh, no scroll), it's a normal
     scrolling page. A fixed-position switcher there stayed pinned over the
     video cards and FAQ text as the page scrolled underneath it. Only
     tak.html's <body> lacks the .apply-body class, so this scopes the fix
     to just that page without touching the application flow. */
  body:not(.apply-body) .apply-lang{ position:absolute; top:18px; right:18px; }
}

/* =========================================================
   10MULTIPLY FINAL — STABLE STEP POSITION
   Based on the supplied reference CSS.
   ========================================================= */

html,
body.apply-body{
  width:100%;
  margin:0 !important;
  height:100%;
  min-height:100%;
  overflow:hidden !important;
}

.apply-stage{
  position:relative;
  width:100%;
  height:100vh;
  overflow:hidden;
}

/* Every step uses exactly the same anchor point.
   This prevents step 2/3/etc. from jumping to a different position. */
.apply-step{
  top:78px !important;
  left:0 !important;
  transform:none !important;
  right:0 !important;
  max-width:720px !important;
  max-height:calc(100vh - 100px) !important;
  margin:0 auto !important;
  padding:0 32px !important;
  box-sizing:border-box;
}

/* Never allow a choice list to push the step out of the viewport. */
.apply-choice-list{
  max-height:none !important;
  overflow:visible !important;
}

/* The original global nav is hidden; per-step nav is inserted below
   the current field/choice list by apply.js. */
body.apply-body > .apply-nav,
.apply-stage > .apply-nav,
#applyForm > .apply-nav{
  display:none !important;
}

/* Navigation directly below the current field, right aligned. */
.apply-inline-nav{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}

.apply-inline-nav .apply-nav-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  height:40px;
  padding:0 16px;
  border-radius:999px;
  background:#774CF7;
  color:#fff;
  border:1px solid #774CF7;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(119,76,247,.18);
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}

.apply-inline-nav .apply-nav-btn:hover{
  background:#000 !important;
  color:#fff !important;
  border-color:#000 !important;
  transform:translateY(-1px);
}

.apply-inline-nav .apply-nav-btn:focus-visible{
  outline:3px solid rgba(119,76,247,.25);
  outline-offset:3px;
}

.apply-inline-nav .apply-nav-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
}

.apply-inline-hint{
  margin-top:9px;
  font-size:13px;
  line-height:1.4;
  color:var(--ink-faint);
}

.apply-inline-hint strong{
  color:var(--ink-soft);
}

/* Visible validation text without changing the reference layout. */
.apply-validation-error{
  display:none;
  margin-top:9px;
  color:#C62828;
  font-size:13px;
  line-height:1.45;
  font-weight:600;
}
.apply-validation-error.is-visible{display:block;}

.apply-input-row.has-error input,
.apply-input-row.has-error textarea,
.apply-phone-fields.has-error input,
.apply-phone-fields.has-error select{
  border-bottom-color:#C62828 !important;
}

.apply-choice-list.has-error .apply-choice{
  border-color:rgba(198,40,40,.35);
}

/* Keep the form slightly above dead-center, matching the supplied screenshot. */
@media (min-width:901px){
  .apply-step{
    top:78px !important;
  }
}

@media (max-width:900px){
  .apply-step{
    top:60px !important;
    transform:none !important;
    max-width:100% !important;
    max-height:calc(100vh - 70px) !important;
    padding:0 24px !important;
  }
}

@media (max-height:720px) and (min-width:901px){
  .apply-step{
    top:60px !important;
  }
}

/* =========================================================
   10MULTIPLY FINAL POLISH
   Typography + cursor refinement
   ========================================================= */

/* Use the same restrained system/UI font feel as the main site.
   Keep the form premium and lighter rather than oversized/heavy. */
.apply-body,
.apply-body input,
.apply-body textarea,
.apply-body select,
.apply-body button{
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Helvetica, Arial, sans-serif;
}

/* Main question: smaller, lighter, more premium. */
.apply-step h1,
.apply-step h2,
.apply-question,
.apply-title{
  font-size:clamp(2rem, 3.25vw, 3.35rem) !important;
  line-height:1.10 !important;
  font-weight:600 !important;
  letter-spacing:-0.035em !important;
}

/* Keep supporting text visually consistent with the rest of the site. */
.apply-step p,
.apply-step .apply-subtitle,
.apply-step .apply-description{
  font-weight:400 !important;
  line-height:1.55 !important;
}

/* Input text / placeholders should not compete with the heading. */
.apply-body input,
.apply-body textarea,
.apply-body select{
  font-size:clamp(1rem, 1.25vw, 1.12rem);
  font-weight:400;
}

.apply-body input::placeholder,
.apply-body textarea::placeholder{
  font-weight:400;
  opacity:.72;
}

/* Choice labels: lighter and slightly smaller. */
.apply-choice,
.apply-choice span,
.apply-choice label{
  font-weight:400 !important;
  font-size:clamp(.98rem, 1.15vw, 1.08rem);
}

/* Step number stays compact. */
.apply-step-number,
.apply-step .step-number{
  font-weight:600 !important;
}

/* Next/Back buttons remain attractive but not oversized. */
.apply-inline-nav .apply-nav-btn,
.apply-nav-btn{
  font-weight:600 !important;
  cursor:pointer !important;
}

/* Close/X button — pointer must always appear. */
.apply-close,
.apply-close-btn,
button.apply-close,
a.apply-close{
  cursor:pointer !important;
}

/* If the close control is an icon/button with an aria label,
   make sure it still receives pointer behavior. */
button[aria-label*="Close"],
button[aria-label*="close"],
[title="Close"],
[title="close"]{
  cursor:pointer !important;
}

/* Purple hover for the close control, white X. */
.apply-close:hover,
.apply-close-btn:hover,
button.apply-close:hover,
a.apply-close:hover{
  background:#774CF7 !important;
  color:#fff !important;
  border-color:#774CF7 !important;
}

/* Do not allow a heavy inherited font weight from the main site. */
.apply-step *{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Responsive type refinement. */
@media(max-width:900px){
  .apply-step h1,
  .apply-step h2,
  .apply-question,
  .apply-title{
    font-size:clamp(1.8rem, 6vw, 2.65rem) !important;
    line-height:1.12 !important;
  }
}

@media(max-width:520px){
  .apply-step h1,
  .apply-step h2,
  .apply-question,
  .apply-title{
    font-size:clamp(1.65rem, 7.2vw, 2.15rem) !important;
    letter-spacing:-0.025em !important;
  }
}

/* =========================================================
   10MULTIPLY FINAL TYPOGRAPHY
   Lightweight, premium, consistent with the main site.
   ========================================================= */

/* The Apply page inherits the global font variable from style.css. */
.apply-body,
.apply-body input,
.apply-body textarea,
.apply-body select,
.apply-body button{
  font-family:var(--site-font-family);
}

/* Question title:
   Previous: clamp(2rem, 3.25vw, 3.35rem), weight 600
   Final: smaller and lighter to avoid oversized/bold appearance. */
.apply-question{
  display:block;
  font-size:clamp(1.55rem, 2.65vw, 2.25rem) !important;
  line-height:1.16 !important;
  font-weight:500 !important;
  letter-spacing:-0.025em !important;
  color:var(--ink) !important;
  margin:0 0 26px !important;
}

/* Supporting copy */
.apply-question-sub{
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}

/* Inputs: refined, not oversized */
.apply-input-row input,
.apply-input-row textarea{
  font-size:clamp(1rem, 1.35vw, 1.18rem) !important;
  line-height:1.45 !important;
  font-weight:400 !important;
}

/* Choice labels: slightly smaller and lighter */
.apply-choice{
  font-size:15.5px !important;
  line-height:1.4 !important;
  font-weight:400 !important;
}

/* Choice letter stays slightly stronger for hierarchy */
.apply-choice-key{
  font-weight:600 !important;
}

/* Step number */
.apply-step-num{
  font-size:13px !important;
  font-weight:600 !important;
}

/* Navigation */
.apply-nav-btn{
  font-weight:500 !important;
  cursor:pointer !important;
}

/* =========================================================
   CLOSE / X BUTTON
   Pointer + subtle 90° animation that returns to normal.
   ========================================================= */
.apply-exit{
  cursor:pointer !important;
  overflow:hidden;
}

.apply-exit-icon{
  display:inline-block;
  line-height:1;
  transform-origin:center;
  will-change:transform;
}

@keyframes applyExitXRotate{
  0%   { transform:rotate(0deg); }
  55%  { transform:rotate(90deg); }
  100% { transform:rotate(0deg); }
}

@media (hover:hover){
  .apply-exit:hover{
    cursor:pointer !important;
    background:#774CF7 !important;
    color:#fff !important;
    border-color:#774CF7 !important;
    transform:none !important;
  }

  .apply-exit:hover .apply-exit-icon{
    animation:applyExitXRotate .48s cubic-bezier(.22,.61,.36,1) both;
  }
}

.apply-exit:focus-visible{
  cursor:pointer !important;
  background:#774CF7 !important;
  color:#fff !important;
  border-color:#774CF7 !important;
}

/* Desktop question sizing */
@media (min-width:901px){
  .apply-question{
    font-size:clamp(1.55rem, 2.45vw, 2.2rem) !important;
  }
}

/* Mobile: compact but still clearly readable */
@media (max-width:900px){
  .apply-question{
    font-size:clamp(1.45rem, 5.4vw, 1.95rem) !important;
    line-height:1.18 !important;
  }

  .apply-input-row input,
  .apply-input-row textarea{
    font-size:1rem !important;
  }

  .apply-choice{
    font-size:15px !important;
  }
}

@media (max-width:520px){
  .apply-question{
    font-size:clamp(1.35rem, 6.4vw, 1.75rem) !important;
    letter-spacing:-0.015em !important;
  }
}

/* Respect users who request reduced motion. */
@media (prefers-reduced-motion:reduce){
  .apply-exit:hover .apply-exit-icon{
    animation:none;
  }
}

/* APPLY PAGE BRAND LOGO */
.apply-logo{
  display:inline-flex;
  align-items:center;
}
.apply-logo img{
  display:block;
  width:148px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:760px){
  .apply-logo img{width:132px;}
}

/* FINAL APPLY LOGO SIZE */
.apply-logo{
  width:auto;
  height:auto;
}
.apply-logo img{
  display:block;
  width:152px;
  height:auto;
  max-width:152px;
  object-fit:contain;
}
@media(max-width:760px){
  .apply-logo img{
    width:132px;
    max-width:132px;
  }
}

/* FINAL APPLY TYPOGRAPHY — same visual scale as main section headings */
.apply-question,
.apply-step h1,
.apply-step h2,
.apply-title{
  font-size:clamp(2rem,3.6vw,3rem) !important;
  line-height:1.12 !important;
  font-weight:600 !important;
  letter-spacing:-.02em !important;
  color:#171044 !important;
}
@media(max-width:760px){
  .apply-question,
  .apply-step h1,
  .apply-step h2,
  .apply-title{
    font-size:30px !important;
    line-height:1.18 !important;
    font-weight:600 !important;
    letter-spacing:-.02em !important;
  }
}
.apply-logo{
  top:24px !important;
  left:28px !important;
}
.apply-logo img{
  display:block !important;
  width:148px !important;
  height:auto !important;
  max-width:148px !important;
}
@media(max-width:760px){
  .apply-logo img{
    width:132px !important;
    max-width:132px !important;
  }
}


/* =========================================================
   APPLY QUESTIONS — MATCH THE CLIENT STORIES TYPOGRAPHY
   Questions are span elements (not H1s), so SEO heading
   hierarchy remains clean while the visual treatment matches
   the site's main section headings.
   ========================================================= */
.apply-question{
  font-size:clamp(2rem,3.6vw,3rem) !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
  color:#171044 !important;
}

@media(max-width:760px){
  .apply-question{
    font-size:30px !important;
    line-height:1.18 !important;
    font-weight:800 !important;
    letter-spacing:-0.02em !important;
  }
}

@media(max-width:520px){
  .apply-question{
    font-size:clamp(1.55rem,7vw,1.9rem) !important;
    line-height:1.16 !important;
    font-weight:800 !important;
    letter-spacing:-0.015em !important;
  }
}

/* =========================================================
   FINAL APPLY FORM POLISH
   Question titles: max 22px desktop / 16px mobile.
   Navigation buttons: compact + aligned.
   ========================================================= */

.apply-question,
.apply-step h1,
.apply-step h2,
.apply-title,
.question-title,
.form-question,
[data-question-title]{
  font-size:22px !important;
  line-height:1.28 !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
}

@media (max-width:760px){
  .apply-question,
  .apply-step h1,
  .apply-step h2,
  .apply-title,
  .question-title,
  .form-question,
  [data-question-title]{
    font-size:16px !important;
    line-height:1.35 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
  }
}

/* Bottom navigation — keep Back and Submit as two clean controls.
   Submit is intentionally horizontal instead of the tall/wrapped look. */
.apply-actions,
.apply-nav,
.form-actions,
.step-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}

.apply-actions button,
.apply-nav button,
.form-actions button,
.step-actions button,
.apply-back,
.apply-next,
.apply-submit,
button[type="submit"]{
  min-width:150px !important;
  min-height:54px !important;
  height:54px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  line-height:1 !important;
  font-size:16px !important;
  font-weight:600 !important;
  box-sizing:border-box !important;
}

.apply-submit,
.apply-next,
button[type="submit"]{
  background:#774CF7 !important;
  color:#fff !important;
}

.apply-back{
  background:#774CF7 !important;
  color:#fff !important;
}

.apply-actions button:hover,
.apply-nav button:hover,
.form-actions button:hover,
.step-actions button:hover{
  background:#171044 !important;
  color:#fff !important;
  transform:translateY(-1px);
}

@media(max-width:600px){
  .apply-actions,
  .apply-nav,
  .form-actions,
  .step-actions{
    gap:10px !important;
  }

  .apply-actions button,
  .apply-nav button,
  .form-actions button,
  .step-actions button,
  .apply-back,
  .apply-next,
  .apply-submit,
  button[type="submit"]{
    min-width:130px !important;
    width:auto !important;
    min-height:48px !important;
    height:48px !important;
    padding:0 18px !important;
    font-size:15px !important;
  }
}

/* =========================================================
   URGENT FINAL APPLY FIX
   The actual buttons are .apply-inline-nav .apply-nav-btn
   (created by apply.js), so target that selector directly.
   ========================================================= */

.apply-inline-nav{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  margin-top:16px !important;
  flex-wrap:nowrap !important;
}

.apply-inline-nav .apply-nav-btn{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:120px !important;
  max-width:none !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 20px !important;
  margin:0 !important;
  border-radius:999px !important;
  border:1px solid #774CF7 !important;
  background:#774CF7 !important;
  color:#fff !important;
  font-family:var(--site-font-family) !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  cursor:pointer !important;
  box-shadow:0 8px 22px rgba(119,76,247,.16) !important;
}

.apply-inline-nav .apply-inline-back{
  min-width:112px !important;
}

.apply-inline-nav .apply-inline-next{
  min-width:128px !important;
}

.apply-inline-nav .apply-nav-btn:hover:not(:disabled){
  background:#171044 !important;
  border-color:#171044 !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}

.apply-inline-nav .apply-nav-btn:active{
  transform:translateY(0) !important;
}

.apply-inline-nav .apply-nav-btn:disabled{
  opacity:.35 !important;
  cursor:not-allowed !important;
}

/* Actual field input / textarea / placeholder sizing */
.apply-input-row input,
.apply-input-row textarea,
.apply-body input,
.apply-body textarea,
.apply-body select{
  font-size:15px !important;
  line-height:1.45 !important;
}

.apply-input-row input::placeholder,
.apply-input-row textarea::placeholder,
.apply-body input::placeholder,
.apply-body textarea::placeholder{
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  opacity:.68 !important;
}

.apply-phone-code{
  font-size:15px !important;
}

/* Choice text */
.apply-choice{
  font-size:15px !important;
  line-height:1.4 !important;
}

.apply-choice-key{
  font-size:12px !important;
}

/* Question — keep the requested compact hierarchy */
.apply-question{
  font-size:22px !important;
  line-height:1.28 !important;
  font-weight:500 !important;
}

@media(max-width:760px){
  .apply-inline-nav{
    gap:9px !important;
  }

  .apply-inline-nav .apply-nav-btn{
    min-width:104px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 16px !important;
    font-size:14px !important;
  }

  .apply-inline-nav .apply-inline-next{
    min-width:112px !important;
  }

  .apply-input-row input,
  .apply-input-row textarea,
  .apply-body input,
  .apply-body textarea,
  .apply-body select{
    font-size:14px !important;
  }

  .apply-input-row input::placeholder,
  .apply-input-row textarea::placeholder,
  .apply-body input::placeholder,
  .apply-body textarea::placeholder{
    font-size:13px !important;
  }

  .apply-choice{
    font-size:14px !important;
  }

  .apply-question{
    font-size:16px !important;
    line-height:1.35 !important;
  }
}

/* Same-page success popup close control */
.apply-submit-home{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:18px !important;
  min-height:42px !important;
  padding:0 20px !important;
  border:1px solid rgba(119,76,247,.25) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#774CF7 !important;
  font-size:14px !important;
  font-weight:600 !important;
  cursor:pointer !important;
}
.apply-submit-home:hover{
  background:#774CF7 !important;
  border-color:#774CF7 !important;
  color:#fff !important;
}

/* First step: Back is hidden and non-interactive.
   From step 2 onward the existing Back button is visible/clickable. */
.apply-nav .apply-nav-btn:disabled[aria-hidden="true"]{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* FINAL APPLY NAV — first step has Next only */
.apply-step[data-step="0"] .apply-inline-back,
.apply-step.is-active[data-step="0"] .apply-inline-back{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.apply-step[data-step="0"] .apply-inline-nav{
  justify-content:flex-end !important;
}

/* FINAL: first form step has no Back button */
#applyForm > .apply-step:first-of-type.is-active .apply-inline-back,
#applyForm .apply-step:first-of-type.is-active #applyPrev{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Success popup — premium purple Back to home link */
.apply-submit-home{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  margin-top:18px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#774CF7 !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:600 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  transition:color .25s ease, transform .25s ease !important;
}

.apply-submit-home:hover{
  color:#171044 !important;
  transform:translateX(2px) !important;
  background:transparent !important;
}

.apply-submit-home span{
  font-size:18px !important;
  line-height:1 !important;
}

@media(max-width:600px){
  .apply-submit-home{
    font-size:14px !important;
  }
}
