
/* ============================================================
   ACT TUITION — FINAL RED + DEEP BLUE THEME
   Loaded LAST across the whole website.
   Deep blue is intentionally visibly blue, not near-black.
   ============================================================ */

:root {
  --act-deep-blue:#0B2A55;
  --act-blue:#123F7A;
  --act-red:#C1122F;
  --act-red-dark:#981023;
  --act-red-soft:#FBEAEC;
  --act-blue-soft:#EEF4FB;
  --act-white:#FFFFFF;
  --act-text:#102B4E;
  --act-muted:#5C6F84;
  --act-line:#D7E0EA;

  /* Override every legacy semantic colour token. */
  --ink:#0B2A55 !important;
  --ink2:#123F7A !important;
  --navy:#0B2A55 !important;
  --navy2:#123F7A !important;
  --lime:#C1122F !important;
  --teal:#123F7A !important;
  --paper:#F7F9FC !important;
  --warm:#F5F7FA !important;
  --muted:#5C6F84 !important;
  --line:#D7E0EA !important;

  --v7lime:#C1122F !important;
  --v7navy:#0B2A55 !important;
  --v7navy2:#123F7A !important;
  --v7aqua:#EEF4FB !important;
  --v7paper:#F7F9FC !important;
  --v7blue:#EEF4FB !important;
  --v7gold:#FBEAEC !important;

  --v8-ink:#0B2A55 !important;
  --v8-lime:#C1122F !important;
  --v8-aqua:#EEF4FB !important;
  --v8-paper:#F7F9FC !important;
  --v8-blue:#EEF4FB !important;
  --v8-red:#FBEAEC !important;
  --v8-gold:#F7F9FC !important;
}

html,body {
  background:#FFFFFF !important;
  color:#102B4E !important;
}

body, p, li, label, input, select, textarea {
  color:#102B4E;
}

a { color:inherit; }

.utility {
  background:#0B2A55 !important;
  color:#D9E4F1 !important;
}
.utility a { color:#FFFFFF !important; }

header {
  background:#FFFFFF !important;
  border-bottom:1px solid #D7E0EA !important;
}
.mark {
  background:#0B2A55 !important;
  color:#FFFFFF !important;
  border:3px solid #C1122F !important;
}
.word b { color:#0B2A55 !important; }
.word small { color:#C1122F !important; }

nav a {
  color:#0B2A55 !important;
}
nav a:hover {
  color:#C1122F !important;
}

.v5-subnav,
.v7bar {
  background:#123F7A !important;
  color:#FFFFFF !important;
  border-color:rgba(255,255,255,.15) !important;
}
.v5-subnav a,
.v7bar a {
  color:#FFFFFF !important;
}
.v5-subnav a:hover,
.v7bar a:hover,
.v7bar a:first-child {
  color:#FFD7DE !important;
}

.v8-mini-nav {
  background:#EEF4FB !important;
  border-bottom:1px solid #D7E0EA !important;
}
.v8-mini-nav a {
  color:#0B2A55 !important;
}
.v8-mini-nav a:hover {
  color:#C1122F !important;
}

.btn.primary,
button.btn.primary,
a.btn.primary {
  background:#C1122F !important;
  color:#FFFFFF !important;
  border-color:#C1122F !important;
  box-shadow:none !important;
}
.btn.primary:hover {
  background:#981023 !important;
  border-color:#981023 !important;
  color:#FFFFFF !important;
}
.btn.dark,
a.btn.dark,
button.btn.dark {
  background:#0B2A55 !important;
  color:#FFFFFF !important;
  border-color:#0B2A55 !important;
}
.btn.dark:hover {
  background:#123F7A !important;
}
.btn.ghost {
  background:#FFFFFF !important;
  color:#0B2A55 !important;
  border-color:#AAB9CA !important;
}

.hero,
.pagehero,
.v7hero,
.v8-pagehero,
.v9-portal-showcase,
.dark,
.scale-section,
.builder-result,
.v8-countdown,
.v8-conversion {
  background:linear-gradient(135deg,#0B2A55 0%,#123F7A 100%) !important;
  color:#FFFFFF !important;
}

.hero h1,
.hero h2,
.pagehero h1,
.pagehero h2,
.v7hero h1,
.v8-pagehero h1,
.v9-portal-showcase h1,
.v9-portal-showcase h2,
.dark h1,.dark h2,.dark h3,
.scale-section h1,.scale-section h2,.scale-section h3,
.builder-result h3,
.v8-conversion b {
  color:#FFFFFF !important;
}

.hero h1 em,
.v7hero h1 span {
  color:#FFFFFF !important;
  text-decoration:underline !important;
  text-decoration-color:#C1122F !important;
  text-decoration-thickness:.09em !important;
  text-underline-offset:.08em !important;
}

.herolead,
.hero .lead,
.pagehero .lead,
.v7hero .lead,
.v8-pagehero .lead,
.v9-portal-showcase .lead,
.dark p,
.scale-section p,
.builder-result p,
.v8-conversion span {
  color:#D7E3F0 !important;
}

.hero .btn.ghost,
.pagehero .btn.ghost,
.v7hero .btn.ghost,
.v8-pagehero .btn.ghost,
.v9-portal-showcase .btn.ghost,
.dark .btn.ghost,
.v8-conversion .btn.ghost {
  background:transparent !important;
  color:#FFFFFF !important;
  border-color:#9EB1C7 !important;
}

.eyebrow {
  color:#C1122F !important;
}
.eyebrow:before {
  background:#C1122F !important;
}

.badge,.chip,.pill,.api-badge,.status.match,.status.booked,.portal-badge {
  background:#FBEAEC !important;
  color:#981023 !important;
  border-color:#E8BBC4 !important;
}

.marquee,
.eco.accent,
.card.accent,
.solution.lime,
.v7choice.acid {
  background:#C1122F !important;
  border-color:#C1122F !important;
  color:#FFFFFF !important;
}
.marquee *,
.eco.accent *,
.card.accent *,
.solution.lime *,
.v7choice.acid * {
  color:#FFFFFF !important;
}

.solution.dark,
.eco.feature,
.card.darkcard,
.portalside,
.v9-appnav,
.v9-phone,
.v9-notch {
  background:#0B2A55 !important;
  color:#FFFFFF !important;
}

.teal,
.solution.aqua,
.v7-callout,
.v8-segment.aqua,
.v8-segment.blue,
.v8-mini-nav,
.security-item i,
.api-badge,
.portal-flash {
  background:#EEF4FB !important;
  color:#0B2A55 !important;
}

.warm,
.soft,
.v8-segment.gold {
  background:#F5F7FA !important;
}

.v8-segment.lime,
.notice,
.demo-warning,
.v8-plan.featured,
.portal-flash.error,
.portal-btn.alt {
  background:#FBEAEC !important;
  color:#981023 !important;
  border-color:#E8BBC4 !important;
}

.v8-step:before,
.flow i,
.orbit span,
.progress span,
.concierge i {
  background:#C1122F !important;
  color:#FFFFFF !important;
  border-color:#C1122F !important;
}

.orbit span {
  box-shadow:0 0 0 10px rgba(193,18,47,.12) !important;
}

.flow {
  background:#123F7A !important;
}
.flow article {
  background:#0B2A55 !important;
}
.flow p {
  color:#D2DFEC !important;
}

.v8-banner {
  background:linear-gradient(90deg,#EEF4FB,#FBEAEC) !important;
  border-color:#D7E0EA !important;
}
.v8-banner h3,
.v8-banner p {
  color:#0B2A55 !important;
}

.v8-plan.featured {
  border:2px solid #C1122F !important;
}
.v8-plan .flag {
  background:#C1122F !important;
  color:#FFFFFF !important;
}

input[type=range] {
  accent-color:#C1122F !important;
}

input:focus,
select:focus,
textarea:focus,
.field:focus,
.v8-field input:focus,
.v8-field select:focus,
.v8-field textarea:focus {
  border-color:#C1122F !important;
  outline:3px solid rgba(193,18,47,.18) !important;
}

.concierge em {
  background:#0B2A55 !important;
  color:#FFFFFF !important;
}

footer {
  background:#0B2A55 !important;
  color:#D1DCE8 !important;
}
footer h4,
footer b,
footer .word b {
  color:#FFFFFF !important;
}
footer a {
  color:#D9E4F1 !important;
}
footer a:hover {
  color:#FFFFFF !important;
}
footer .inv .mark {
  background:#C1122F !important;
  color:#FFFFFF !important;
  border-color:#C1122F !important;
}

.v9-desktop {
  border-color:#123F7A !important;
}
.v9-phone {
  background:#123F7A !important;
}
.v9-phone-screen,
.v9-desktop {
  background:#F7F9FC !important;
  color:#0B2A55 !important;
}
.v9-appnav {
  background:#0B2A55 !important;
}
.v9-appnav span {
  color:#D5E0EC !important;
}

.portal {
  border-color:#D7E0EA !important;
}
.portalmain,
.matchcard,
.card,
.eco,
.tool,
.offer,
.market,
.v7metric,
.v8-plan,
.v8-proof,
.v8-sidecard,
.v8-form,
.v8-checklist,
.v9-feature {
  background:#FFFFFF !important;
  color:#102B4E !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline:3px solid #C1122F !important;
  outline-offset:3px !important;
}

::selection {
  background:#C1122F;
  color:#FFFFFF;
}


/* ACT TUITION V11 — READABILITY STANDARD
   Public-facing text is intentionally kept comfortably readable.
   This block loads last and overrides older tiny V5/V7/V8 component text. */
html{font-size:16px !important}
body{font-size:17px !important;line-height:1.62 !important}
p,li,dd,dt,blockquote{font-size:16px !important;line-height:1.68 !important}
small,.tiny{font-size:13px !important;line-height:1.5 !important}
.utility,.utility a{font-size:13px !important}
.word small{font-size:12px !important;letter-spacing:.12em !important}
nav a,.v5-subnav a,.v7bar a,.v8-mini-nav a{font-size:14px !important;line-height:1.35 !important}
.btn,.button,button{font-size:15px !important;line-height:1.2 !important}
.chip,.badge,.pill,.api-badge,.portal-badge,.eyebrow{font-size:12px !important;line-height:1.35 !important}
.card p,.eco p,.solution p,.tool p,.offer p,.market p,.v7metric p,.v8-plan p,.v8-proof p,.v8-sidecard p,.v9-feature p,
.v8-segment p,.v8-step p,.v8-article p,.v8-banner p,.notice,.builder-list,.matchcard p{font-size:15px !important;line-height:1.62 !important}
.card li,.eco li,.solution li,.v8-plan li{font-size:15px !important;line-height:1.62 !important}
.card h3,.eco h3,.solution h3,.tool h3,.offer h3,.market h3,.v8-sidecard h3,.v9-feature h3{font-size:20px !important;line-height:1.22 !important}
.v8-field label,.fieldlabel,.portal-form label{font-size:13px !important;line-height:1.4 !important}
input,select,textarea,.field,.v8-field input,.v8-field select,.v8-field textarea{
  font-size:16px !important;
  line-height:1.4 !important;
  min-height:46px;
}
textarea,.v8-field textarea{min-height:130px}
footer,footer p,footer a,footer span{font-size:14px !important;line-height:1.55 !important}
footer h4{font-size:15px !important}
.crumb{font-size:13px !important}
.lead,.herolead{font-size:19px !important;line-height:1.58 !important}
.v8-conversion span{font-size:14px !important}
.v8-conversion b{font-size:22px !important}
.v8-kpi span,.v8-plan .price,.v8-note{font-size:13px !important}
.v8-article small,.v8-proof small{font-size:12px !important}
.v9-appnav span{font-size:11px !important}
.v9-mini-card small,.v9-mobile-card small{font-size:11px !important}
.v9-mini-card b{font-size:14px !important}
.v9-row{font-size:12px !important}
.v9-mobile-card b{font-size:14px !important}
.portal-body{font-size:15px !important;line-height:1.55 !important}
.portal-user,.portal-nav a{font-size:13px !important}
.portal-title p{font-size:12px !important}
.portal-table{font-size:13px !important}
.portal-table th{font-size:12px !important}
.portal-card span{font-size:12px !important}
.portal-card small{font-size:13px !important}
.portal-panel p{font-size:14px !important}
.portal-btn{font-size:13px !important}
.portal-form input,.portal-form select,.portal-form textarea{font-size:15px !important;min-height:43px}
.terms-shell{max-width:1020px;margin:auto}
.terms-intro{font-size:17px !important}
.terms-section{padding:26px 0;border-bottom:1px solid var(--act-line)}
.terms-section h2{font-family:Georgia,serif;font-size:27px;line-height:1.18;margin:0 0 12px;color:var(--act-deep-blue)}
.terms-section p,.terms-section li{font-size:16px !important;line-height:1.7 !important}
.terms-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.terms-meta div{background:var(--act-blue-soft);border:1px solid var(--act-line);border-radius:10px;padding:16px}
.terms-meta b{display:block;color:var(--act-deep-blue);font-size:14px;margin-bottom:4px}
.terms-meta span{font-size:14px;color:var(--act-muted)}
.application-legal{background:var(--act-blue-soft);border:1px solid var(--act-line);border-radius:10px;padding:16px;margin:16px 0}
.application-legal p{font-size:14px !important;margin:0}
.application-legal a{color:var(--act-red);font-weight:800}
@media(max-width:760px){
  body{font-size:16px !important}
  p,li{font-size:16px !important}
  .lead,.herolead{font-size:18px !important}
  .terms-meta{grid-template-columns:1fr}
  nav a,.v5-subnav a,.v8-mini-nav a{font-size:14px !important}
}
