/* Scholarship Speed System — page theme (matches the redesigned homepage).
   Loaded AFTER each page's own <style>, so it only changes the look: colours, type, buttons, cards,
   video frames. Text, videos and layout order stay exactly as they were. */

:root {
  --black: #0d0d0c;
  --gray: #141413;
  --gray2: #1b1b19;
  --red: #e00000;
  --red-text: #ff3030;
  --white: #f6f6f1;
  --muted: #b4b4ac;
  --bdr: rgba(246, 246, 241, 0.12);
  --font: 'Inter', system-ui, sans-serif;
  --radius: 6px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

html { -webkit-text-size-adjust: 100%; overflow-x: clip; }
.ticker { overflow: hidden !important; max-width: 100%; }
body { background: var(--black) !important; color: var(--white); font-family: var(--font); -webkit-font-smoothing: antialiased; overflow-x: clip; }
::selection { background: var(--red); color: #fff; }
:focus-visible { outline: 2px solid var(--red-text); outline-offset: 3px; }

/* sections: two dark tones, like the homepage */
section, .ap-form-section, .ap-hero, .ac-section, .cf-section, .cf-hero { background-color: var(--black); }
.alt, section.alt { background: var(--gray) !important; }

/* headlines: heavy, all caps, red second part */
h1, h2 { font-family: var(--font); font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: -0.02em !important; line-height: 1.06 !important; text-wrap: balance; }
h1 span, h2 span, h1 .red, h2 .red, h3 .red, .red { color: var(--red-text) !important; }
h1 .white, h2 .white { color: #fff !important; }
h3 { font-family: var(--font); letter-spacing: -0.01em; }
.watch-first, .proof-heading, .faq-heading { text-transform: uppercase !important; font-weight: 900 !important; letter-spacing: -0.02em; line-height: 1.1 !important; }
.watch-first { font-size: clamp(1.5rem, 1rem + 2vw, 2.25rem) !important; }
.sub, .hero-sub, .watch-sub, .ap-hero p, .ac-hero p, .cf-hero p { color: #d2d2cb !important; }

/* header bar */
.ap-header, .ac-header, .cf-header, .ty-header, body > nav, .page-header {
  background: var(--black) !important; border-bottom: 1px solid var(--bdr) !important; backdrop-filter: none !important;
}
.ap-header img, .ac-header img, .cf-header img, .ty-header img, body > nav .logo img, .page-header img { height: 44px !important; width: auto !important; max-height: 44px; }

/* small labels / badges */
.spots-badge, .step-badge, .ac-confirmed-badge, .confirmed-badge, .ty-notice-label, .ac-notice-label, .notice-label {
  font-family: var(--font); font-weight: 800 !important; font-size: 0.75rem !important; letter-spacing: 0.14em !important; text-transform: uppercase;
}
.spots-badge, .step-badge { background: var(--red) !important; color: #fff !important; border-radius: 999px !important; padding: 0.45rem 1rem !important; border: 0 !important; }

/* buttons: red pills */
.cta, .ap-final-btn, .ac-closing-btn, .cf-closing-btn, a.btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 0.5rem;
  min-height: 3.25rem; padding: 0 1.8rem !important; border-radius: 999px !important; border: 0 !important;
  background: var(--red) !important; color: #fff !important; box-shadow: none !important;
  font-family: var(--font); font-weight: 800 !important; font-size: 0.875rem !important; letter-spacing: 0.08em !important; text-transform: uppercase; text-decoration: none !important;
  transition: transform 160ms var(--ease), background-color 180ms ease;
}
body > nav .cta { min-height: 2.75rem; padding: 0 1.3rem !important; font-size: 0.8125rem !important; }
.cta:active, .ap-final-btn:active, .ac-closing-btn:active { transform: scale(0.97); }
@media (hover: hover) and (pointer: fine) {
  .cta:hover, .ap-final-btn:hover, .ac-closing-btn:hover { background: #ff2626 !important; transform: translateY(-2px); opacity: 1 !important; }
}

/* stats bar (apply page) */
.ap-statsbar { background: var(--black) !important; border-color: var(--bdr) !important; }
.ap-stat { text-align: center; border-color: var(--bdr) !important; }
.ap-stat-n { color: #fff !important; font-weight: 900 !important; letter-spacing: -0.02em !important; }
.ap-stat-l { color: #fff !important; font-weight: 800; text-transform: uppercase; letter-spacing: 0.12em; }

/* cards: testimonials, steps, notices */
.proof-featured { background: var(--gray2) !important; border: 0 !important; border-radius: var(--radius) !important; overflow: hidden; }
.proof-info { padding: 1.3rem 1.3rem 1.5rem !important; }
.proof-name, .proof-short-name { font-weight: 900 !important; text-transform: uppercase; letter-spacing: -0.01em; color: #fff !important; }
.proof-result, .proof-short-result { color: var(--red-text) !important; font-weight: 800 !important; }
.proof-quote { color: #deded7 !important; font-style: normal !important; }
.proof-shorts-label { font-weight: 900 !important; text-transform: uppercase; letter-spacing: -0.01em !important; color: #fff !important; font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem) !important; }
.proof-video, .vid-wrap, .hero-video, .video-wrap { border-radius: var(--radius) !important; overflow: hidden; border: 0 !important; background: #000; }
.proof-video--short { border-radius: var(--radius) !important; }

.ac-steps li, .next-list li, .ac-notice, .notice-box, .ty-notice, .checklist li, .next-step, .vid-card {
  background: var(--gray2) !important; border: 0 !important; border-radius: var(--radius) !important;
}
.ac-notice, .notice-box, .ty-notice { border-top: 4px solid var(--red) !important; }
.ac-step-num, .next-num, .step-num, .check-icon {
  background: var(--red) !important; color: #fff !important; border: 0 !important; border-radius: 50% !important; font-weight: 900 !important;
}
.qa-item-label { font-weight: 900 !important; text-transform: uppercase; letter-spacing: -0.01em; font-style: normal !important; }

/* closing blocks get the same red glow as the homepage application section */
.ap-final, .ac-closing, .cf-closing, .final-cta { position: relative; isolation: isolate; overflow: hidden; }
.ap-final::before, .ac-closing::before, .cf-closing::before, .final-cta::before {
  content: ""; position: absolute; z-index: -1; top: 50%; left: 50%; width: 140%; height: 160%; transform: translate(-50%, -50%); pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(255, 0, 0, 0.4) 0%, rgba(255, 0, 0, 0.12) 35%, transparent 65%);
}
.ap-final, .ac-closing, .cf-closing { background: #1a1a1a !important; }

/* footer */
.ap-footer, .ac-footer, .cf-footer, .ty-footer, body > footer { background: var(--gray) !important; border-top: 1px solid var(--bdr) !important; color: var(--muted) !important; }
.ap-footer a, .ac-footer a, .cf-footer a, .ty-footer a, body > footer a { color: #fff !important; font-weight: 700; }

/* video posters: the player loads only when tapped (much lighter on phones) */
.yt { position: absolute; inset: 0; width: 100%; height: 100%; display: block; padding: 0; border: 0; cursor: pointer; background: #000; }
.yt img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 700ms var(--ease); }
.yt__play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: var(--red); display: grid; place-items: center; box-shadow: 0 0 0 9px rgba(224, 0, 0, 0.25); transition: transform 200ms var(--ease), background-color 180ms ease; }
.yt__play::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 11px 0 11px 17px; border-color: transparent transparent transparent #fff; margin-left: 5px; }
.proof-video--short .yt__play { width: 50px; height: 50px; margin: -25px 0 0 -25px; box-shadow: 0 0 0 7px rgba(224, 0, 0, 0.25); }
.proof-video--short .yt__play::before { border-width: 9px 0 9px 14px; margin-left: 4px; }
@media (hover: hover) and (pointer: fine) { .yt:hover img { transform: scale(1.04); } .yt:hover .yt__play { transform: scale(1.1); background: #ff2626; } }

/* phones */
@media (max-width: 600px) {
  .proof-4-grid { grid-template-columns: 1fr !important; }
  .proof-shorts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  h1 { font-size: clamp(1.75rem, 7.6vw, 2.4rem) !important; }
  h2 { font-size: clamp(1.5rem, 6.6vw, 2.1rem) !important; }
}
@media (prefers-reduced-motion: reduce) { .yt img, .yt__play, .cta { transition: none !important; } }

/* apply page: two stats after removing the average-drop figure */
.ap-stats-inner { grid-template-columns: repeat(2, 1fr) !important; }

/* application form: the form draws its own dark card (max 800px) on a white page —
   size the frame to the card and trim the white corners and bottom edge */
.ap-form-embed { max-width: 800px !important; }
.ap-form-embed iframe { clip-path: inset(0 0 7px 0 round 12px); margin-bottom: -7px; }
