/* Centered logo header for Thank You page */
.thanks-header{
  background:#ffffff;
  border-bottom:1px solid #e5e7eb;
  padding:18px 16px;
}

.thanks-header__link{
  display:flex;
  justify-content:center;
  align-items:center;
  text-decoration:none;
}

.thanks-header__logo{
  height:58px;          /* adjust slightly if you want bigger/smaller */
  width:auto;
  display:block;
}
@media (max-width: 480px){
  .thanks-header__logo{ height:50px; }
}


:root{
  --bg:#eef2f7;
  --bg2:#e6efff;
  --panel:#ffffff;
  --panel2:#fbfcff;
  --text:#0f172a;
  --muted:#475569;
  --line:#d7dee8;
  --primary:#2563eb;
  --primary2:#1d4ed8;
  --shadow: 0 14px 40px rgba(15, 23, 42, .08);
  --shadow2: 0 8px 22px rgba(15, 23, 42, .08);
  --radius: 18px;
  --max: 1120px;
  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-size:16px;
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background: radial-gradient(1200px 600px at 15% 10%, rgba(37,99,235,.10), transparent 55%),
              radial-gradient(1000px 600px at 85% 20%, rgba(29,78,216,.08), transparent 55%),
              var(--bg);
  line-height:1.5;
}
a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding:0 18px}

/* Simple grids */
.grid2{display:grid; gap:24px; align-items:start}
@media (min-width: 900px){
  .grid2{grid-template-columns: 1fr 420px}
  .grid2 > .section__head{grid-column: 1 / -1}
}


.small{font-size:.92rem}
.center{text-align:center}

/* Header */
.header{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(229,231,235,.8);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:12px 0;
}

.nav{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.nav a{
  text-decoration:none;
  color:var(--muted);
  font-size:.95rem;
  padding:8px 10px;
  border-radius:12px;
}
.nav a:hover{background: rgba(15,23,42,.04); color:var(--text)}
.header__cta{display:flex; gap:10px; margin-left:10px}

/* Buttons */
.btn{
  --btn-bg: #ffffff;
  --btn-fg: var(--text);
  --btn-glow: rgba(11,95,255,.18);
  --btn-glow-strong: rgba(11,95,255,.30);

  border: 1px solid rgba(148,163,184,.55);
  background: var(--btn-bg);
  color: var(--btn-fg);
  padding: 11px 16px;
  border-radius: 14px;
  text-decoration: none;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  box-shadow:
    0 12px 26px rgba(2,6,23,.10),
    0 0 0 0 rgba(11,95,255,0);

  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background-color .18s ease;
}

.btn svg{
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: block;
}

.btn:hover{
  transform: translateY(-2px);
  box-shadow:
    0 16px 34px rgba(2,6,23,.12),
    0 0 0 6px var(--btn-glow);
  filter: brightness(1.02);
}

.btn:active{
  transform: translateY(-1px);
  box-shadow:
    0 14px 30px rgba(2,6,23,.12),
    0 0 0 5px rgba(11,95,255,.14);
}

.btn:focus-visible{
  outline: 0;
  box-shadow:
    0 0 0 4px rgba(11,95,255,.22),
    0 16px 34px rgba(2,6,23,.12);
}

.btn--primary{
  --btn-bg: var(--primary);
  --btn-fg: #ffffff;
  --btn-glow: rgba(11,95,255,.20);
  --btn-glow-strong: rgba(11,95,255,.34);

  border-color: rgba(29,78,216,.35);
}

.btn--primary:hover{
  box-shadow:
    0 16px 34px rgba(2,6,23,.14),
    0 0 0 7px var(--btn-glow-strong);
}

.btn--ghost{
  --btn-bg: rgba(255,255,255,1);
  --btn-fg: var(--primary);
  --btn-glow: rgba(11,95,255,.16);
  --btn-glow-strong: rgba(11,95,255,.28);

  border-color: rgba(11,95,255,.25);
}

.btn--lg{padding:12px 16px; border-radius:16px; font-weight:800}
.btn--full{width:100%}
/* Hero */
.hero{
  padding:52px 0 26px;
}
.hero__inner{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:22px;
  align-items:stretch;
}
.hero__copy{
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  border:1px solid rgba(229,231,235,.9);
  border-radius: calc(var(--radius) + 6px);
  box-shadow: var(--shadow);
  padding:28px 26px;
}
.hero h1{margin:0 0 10px; font-size: clamp(1.9rem, 3.2vw, 2.6rem); line-height:1.1}
.lead{margin:0; color:var(--muted); font-size:1.05rem}
.hero__actions{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 10px}
.trust{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:14px; color:var(--muted); font-size:.92rem
}
.trust span{
  background: rgba(15,23,42,.03);
  border:1px solid rgba(229,231,235,.9);
  padding:8px 10px;
  border-radius:999px;
}
.callout{
  background: linear-gradient(180deg, rgba(37,99,235,.12), rgba(37,99,235,.06));
  border:1px solid rgba(37,99,235,.18);
  border-radius: calc(var(--radius) + 6px);
  padding:20px 18px;
  box-shadow: var(--shadow);
}
.callout h3{margin:0 0 8px}
.biglink{
  display:inline-flex;
  font-weight:900;
  text-decoration:none;
  font-size:1.3rem;
  padding:10px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.7);
  border:1px solid rgba(37,99,235,.22);
}
.note{color:var(--muted); margin:10px 0 0}

/* Sections (panelled look) */
.section{
  padding:46px 0;
  background: transparent;
}
.section--alt{
  padding:46px 0;
  background: linear-gradient(180deg, rgba(230,239,255,.9), rgba(238,242,247,1));
}
.section > .container{
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border:1px solid rgba(203,213,225,.9);
  border-radius: calc(var(--radius) + 8px);
  box-shadow: var(--shadow);
  padding:42px 28px;
  overflow: hidden;
}
.section > .container::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background: linear-gradient(90deg, rgba(37,99,235,.55), rgba(34,197,94,.35), rgba(37,99,235,.15));
}

.section--alt > .container{
  background: var(--panel2);
}
.section__head{margin-bottom:22px}
.section__head h2{margin:0 0 8px; font-size: clamp(1.4rem, 2.3vw, 1.9rem)}
.cardSub{margin:0 0 14px; color:var(--muted); font-weight:600;}

.section__head p{margin:0; color:var(--muted)}

/* Cards */
.cards{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
.card{
  background: rgba(255,255,255,.9);
  border:1px solid rgba(229,231,235,.95);
  border-radius: var(--radius);
  padding:16px 14px;
  box-shadow: 0 1px 0 rgba(15,23,42,.03);
}
.card h3{margin:0 0 6px; font-size:1.05rem}
.card p{margin:0; color:var(--muted)}
.card__actions{margin-top:12px; display:flex; gap:10px; flex-wrap:wrap}

/* Steps */
.steps{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
.step{
  background: rgba(255,255,255,.9);
  border:1px solid rgba(229,231,235,.95);
  border-radius: var(--radius);
  padding:16px 14px;
}
.step__num{
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  background: rgba(37,99,235,.12);
  border:1px solid rgba(37,99,235,.22);
  color: var(--primary2);
  font-weight:900;
  margin-bottom:10px;
}
.step h3{margin:0 0 6px}
.step p{margin:0; color:var(--muted)}

/* FAQ */
.faq{
  display:grid; gap:10px;
}
.faq details{
  background: rgba(255,255,255,.9);
  border:1px solid rgba(229,231,235,.95);
  border-radius: var(--radius);
  padding:14px 14px;
}
.faq summary{
  cursor:pointer;
  font-weight:800;
}
.faq p{margin:10px 0 0; color:var(--muted)}

/* Form */
.form{display:grid; gap:10px; margin-top:10px}
label{display:grid; gap:6px; font-size:.95rem}
input, select, textarea{
  font: inherit;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(229,231,235,.95);
  background: rgba(255,255,255,.9);
  color:var(--text);
  outline:none;
}

.formActions{display:flex; gap:12px; align-items:center; justify-content:flex-start; flex-wrap:wrap; margin-top:14px}
.formActions .btn{width:auto}


input:focus, select:focus, textarea:focus{
  border-color: rgba(37,99,235,.45);
  box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}
.hp{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.alert{
  border-radius:14px;
  padding:12px 12px;
  border:1px solid var(--line);
  background: rgba(15,23,42,.03);
  color:var(--muted);
}
.alert--success{
  background: rgba(16,185,129,.10);
  border-color: rgba(16,185,129,.25);
  color:#065f46;
}
.alert--error{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.25);
  color:#7f1d1d;
}

.contactGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  align-items:start;
}

/* Footer */
.footer{
  padding:18px 0 42px;
  color:var(--muted);
}
.footer p{margin:0 0 6px;}
.footer p:last-child{margin-bottom:0;}
.footerLine{font-weight:600; color:rgba(17,24,39,.82);}

.footer .container{
  background: transparent;
  border: none;
  box-shadow:none;
  padding: 0 18px;
}

/* Mobile sticky bar */
.stickyBar{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  display:none;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border-top:1px solid rgba(229,231,235,.85);
}
.stickyBar__inner{display:flex; justify-content:center; gap:10px; padding:10px 12px}
.stickyBar__btn{
  flex:0 1 auto;
  width:min(360px, 100%);
  border-radius:16px;
  padding:12px 12px;
  text-decoration:none;
  font-weight:900;
  text-align:center;
  border:1px solid rgba(148,163,184,.55);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
  box-shadow:
    0 10px 22px rgba(15,23,42,.10),
    0 2px 0 rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.9);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color: var(--text);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.stickyBar__btn svg{width:18px;height:18px;display:block;flex:0 0 18px}
.stickyBar__btn:hover{
  transform: translateY(-1px);
  border-color: rgba(100,116,139,.55);
  box-shadow:
    0 16px 32px rgba(15,23,42,.12),
    0 4px 0 rgba(15,23,42,.07),
    inset 0 1px 0 rgba(255,255,255,.92);
}
.stickyBar__btn:active{transform: translateY(0)}
.stickyBar__btn--primary{
  background: linear-gradient(180deg, var(--primary), var(--primary2));
  color:#fff;
  border-color: rgba(29,78,216,.35);
  text-shadow: 0 1px 0 rgba(15,23,42,.18);
  box-shadow:
    0 14px 26px rgba(29,78,216,.22),
    0 3px 0 rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.25);
}
.stickyBar__btn--primary:hover{
  box-shadow:
    0 18px 34px rgba(29,78,216,.26),
    0 4px 0 rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.28);
}

.stickyBar__btn--dark{
  background:#111827;
  color:#fff;
  border-color: rgba(17,24,39,.55);
  text-shadow: 0 1px 0 rgba(15,23,42,.18);
  box-shadow:
    0 14px 26px rgba(15,23,42,.18),
    0 3px 0 rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.18);
}
.stickyBar__btn--dark:hover{
  box-shadow:
    0 18px 34px rgba(15,23,42,.22),
    0 4px 0 rgba(15,23,42,.12),
    inset 0 1px 0 rgba(255,255,255,.20);
}
/* Mobile menu button */
.hamburger{display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:10px; border:1px solid rgba(0,0,0,.10); background:#fff; border-radius:12px; box-shadow:0 8px 20px rgba(15,23,42,.10);} 
.hamburger span{display:block; width:22px; height:2px; background:#0b1220; border-radius:999px;}

/* Mobile nav overlay */
.mobileNav{position:fixed; inset:0; z-index:90; padding:18px; background:rgba(2,6,23,.45); backdrop-filter: blur(2px)}
.mobileNav[hidden]{display:none}
.mobileNav__inner{
  max-width:520px;
  margin:0 auto;
  background:#ffffff;
  border-radius:20px;
  padding:16px;
  box-shadow:0 20px 50px rgba(2,6,23,.35);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
}

.mobileClose{
  align-self:flex-end;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(15,23,42,.12);
}
.mobileClose span{font-size:22px; line-height:1; color:#0b1220}

.mobileNav__links{display:flex; flex-direction:column; gap:10px; padding:6px 0}
.mobileNav__links a{
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  text-decoration:none;
  color:#0b1220;
  font-weight:700;
  background:#f8fafc;
}
.mobileNav__links a:hover{background:#eef2ff}
.mobileNav__top{display:flex; align-items:center; justify-content:space-between; gap:10px}
.mobileNav ul{list-style:none; padding:0; margin:10px 0 0 0; display:flex; flex-direction:column; gap:10px}
.mobileNav a{display:block; padding:12px 14px; border-radius:12px; border:1px solid rgba(0,0,0,.08); background:#fff; text-decoration:none; color:#0b1220; font-weight:700}
.mobileNav a:hover{box-shadow:0 12px 22px rgba(15,23,42,.10)}
.mobileClose{margin-left:auto; border:1px solid rgba(0,0,0,.10); background:#fff; border-radius:12px; padding:8px 12px; font-size:18px; line-height:1; cursor:pointer;}
.mobileClose:hover{box-shadow:0 10px 22px rgba(15,23,42,.10)}

/* Responsive */
@media (max-width: 980px){
  .hero__inner{grid-template-columns: 1fr; }
  .cards{grid-template-columns: repeat(2, 1fr)}
  .steps{grid-template-columns: 1fr}
  .contactGrid{grid-template-columns: 1fr}
}
@media (max-width: 720px){
  .nav{display:none}
  .header__cta{display:none}
  .hamburger{display:inline-flex}
  .stickyBar{display:flex}
  .section > .container{padding:34px 18px}
  .hero__copy{padding:22px 18px}
  .callout{padding:18px 16px}
  
}



/* Eyebrow labels */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: rgba(71,85,105,.95);
  background: rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.16);
  padding:6px 10px;
  border-radius:999px;
  margin:0 0 10px;
}

/* Brand lockup */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.brand__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  background: linear-gradient(180deg, rgba(37,99,235,.12), rgba(37,99,235,.06));
  border:1px solid rgba(37,99,235,.18);
  border-radius:14px;
}
.brand__logo{
  height:86px;
  width:auto;
  display:block;
}
.brand__lockup{
  display:inline-flex;
  align-items:baseline;
  gap:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.96rem;
}
.brand__student{ color: #1e6fd9; }
.brand__loans{ color: #111; }

@media (max-width: 780px){
  .brand__lockup{letter-spacing:.10em; font-size:.9rem; gap:8px;}
  .brand__mark{width:44px; height:44px;}
  .brand__logo{height:72px;}
}

/* Signature accent sections */
.section--accent{
  background: radial-gradient(1200px 420px at 15% 0%, rgba(37,99,235,.18), rgba(246,248,251,0) 70%),
              linear-gradient(180deg, rgba(238,244,255,.95), rgba(246,248,251,1));
}
.section--accent > .container{
  border:1px solid rgba(37,99,235,.18);
  box-shadow: 0 18px 50px rgba(37,99,235,.12);
}
.section--accent .card{
  background: rgba(255,255,255,.50);
}
.section--accent .card h3{
  color: rgba(15,23,42,.95);
}

.section--accent2{
  background: radial-gradient(1000px 360px at 85% 0%, rgba(34,197,94,.16), rgba(246,248,251,0) 70%),
              linear-gradient(180deg, rgba(240,253,244,.6), rgba(246,248,251,1));
}
.section--accent2 > .container{
  border:1px solid rgba(34,197,94,.18);
  box-shadow: 0 18px 50px rgba(15,23,42,.08);
}

/* Section head polish */
.section__head{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.section__head h2{
  position:relative;
  padding-bottom:10px;
}
.section__head h2:after{
  content:"";
  width:54px;
  height:4px;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(37,99,235,1), rgba(37,99,235,.2));
  position:absolute;
  left:0;
  bottom:0;
}

/* Give panels a subtle left accent stripe */
.section > .container{
  position:relative;
}
.section > .container:before{
  content:"";
  position:absolute;
  left:0; top:18px; bottom:18px;
  width:6px;
  border-radius: 999px;
  background: rgba(37,99,235,.18);
}
.section--accent2 > .container:before{
  background: rgba(34,197,94,.20);
}
.section--accent > .container:before{
  background: rgba(37,99,235,.24);
}



/* === v4 overrides: cleaner sections + hero banner === */
:root{
  --page:#eef2f7;
  --text:#0f172a;
  --muted:#475569;
  --border:rgba(15,23,42,.12);
  --shadow:0 14px 40px rgba(15,23,42,.10);
  --radius:18px;
  --blue:#1e6fd9;
  --blue2:#0b5bd3;
}

body{ background:var(--page); color:var(--text); }
p{ color:var(--muted); line-height:1.55; }
.lead{ font-size:1.05rem; color:var(--muted); max-width:58ch; }

h1{ font-size:clamp(2.1rem, 4vw, 3.1rem); line-height:1.08; letter-spacing:-0.02em; }
h2{ font-size:clamp(1.55rem, 2.2vw, 2rem); line-height:1.2; }
h3{ font-size:1.1rem; line-height:1.25; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.78rem 1.05rem;
  border-radius:14px;
  white-space:nowrap;
}

.btn--primary{
  --btn-bg: var(--primary);
  --btn-fg: #ffffff;
  --btn-glow: rgba(11,95,255,.20);
  --btn-glow-strong: rgba(11,95,255,.34);

  border-color: rgba(29,78,216,.35);
}
.btn--secondary{ background:#0f172a; color:#fff; }
.btn--ghost{
  --btn-bg: rgba(255,255,255,1);
  --btn-fg: var(--primary);
  --btn-glow: rgba(11,95,255,.16);
  --btn-glow-strong: rgba(11,95,255,.28);

  border-color: rgba(11,95,255,.25);
}
.btn--ghost:hover{
  box-shadow:
    0 16px 34px rgba(2,6,23,.14),
    0 0 0 7px var(--btn-glow-strong);
  transform: translateY(-1px);
}


header.siteHeader{
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--border);
}

.hero
.hero--image{
  position:relative;
  padding:76px 0 54px;
  overflow:hidden;
}

.hero--static{
  position:relative;
  padding:76px 0 54px;
  overflow:hidden;
  background-size:cover;
  background-position: 45% 18%;
}

.heroSlides{
  position:absolute;
  inset:0;
  z-index:0;
}
.heroSlide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position: 45% 18%;
  opacity:0;
  transform: scale(1.06);
  transition:
    opacity 1400ms ease-in-out,
    transform 9000ms ease-in-out;
  will-change: opacity, transform;
}
.heroSlide.is-active{
  opacity:1;
  transform: scale(1.12);
}
.heroOverlay{
  position:absolute;
  inset:0;
  z-index:1;
  background: linear-gradient(90deg, rgba(2,6,23,.55) 0%, rgba(2,6,23,.35) 45%, rgba(2,6,23,.15) 100%);
}

/* Hero carousel navigation arrows */
.heroArrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.16);
  backdrop-filter:saturate(140%) blur(8px);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background 180ms ease, transform 180ms ease, border-color 180ms ease;
}
.heroArrow svg{ width:20px; height:20px; }
.heroArrow:hover{
  background:rgba(255,255,255,.24);
  border-color:rgba(255,255,255,.38);
  transform:translateY(-50%) scale(1.03);
}
.heroArrow:active{ transform:translateY(-50%) scale(.98); }
.heroArrow:focus-visible{ outline:3px solid rgba(30,111,217,.55); outline-offset:3px; }
.heroArrow--prev{ left:18px; }
.heroArrow--next{ right:18px; }

@media (max-width: 680px){
  .heroArrow{ width:40px; height:40px; }
  .heroArrow--prev{ left:12px; }
  .heroArrow--next{ right:12px; }
}
.hero--image > .container{
  position:relative;
  z-index:2;
}
@media (prefers-reduced-motion: reduce){
  .heroSlide{
    transition: opacity 1ms linear, transform 1ms linear;
    transform: none;
  }
  .heroSlide.is-active{ transform:none; }
}

.hero.hero--image .container{ position:relative; z-index:1; }
.heroCopy .lead{ color:rgba(255,255,255,.86); }
.heroCopy h1{ color:#fff; }
.heroActions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.heroBadges{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; padding:0; list-style:none; }
.heroBadges li{
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  padding:.5rem .65rem;
  border-radius:999px;
  font-size:.92rem;
}

.heroGrid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:22px;
  align-items:stretch;
}
.heroCard{
  background:rgba(255,255,255,.60);
  backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,.40);
  border-radius:20px;
  padding:18px;
  box-shadow:0 20px 60px rgba(2,6,23,.28);
}
.heroCard__title{ font-weight:800; color:#0f172a; margin-bottom:6px; }
.heroCard p{ margin:0 0 12px; }

@media (max-width: 920px){
  .heroGrid{ grid-template-columns:1fr; }
  .btn--ghost{
  --btn-bg: rgba(255,255,255,1);
  --btn-fg: var(--primary);
  --btn-glow: rgba(11,95,255,.16);
  --btn-glow-strong: rgba(11,95,255,.28);

  border-color: rgba(11,95,255,.25);
}
}

.band{
  padding:28px 0;
}
.band--sky{ background:#eef2ff; }
.band--blue{ background:#eaf3ff; }
.band--mint{ background:#eafff6; }
.band--sand{ background:#fff7e8; }
.band--slate{ background:#edf2f7; }

.band .container{ padding:0 16px; }
.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:26px;
}
.card + .card{ margin-top:16px; }

.section__head{ margin-bottom:14px; }
.section__head .lead{ margin-top:6px; }

.grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
@media (max-width: 920px){
  .grid2{ grid-template-columns:1fr; }
  .card{ padding:20px; }
}

.cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}
.cards .card{
  box-shadow:none;
  border:1px solid rgba(15,23,42,.10);
  padding:16px;
}
.cards .card h3{ margin:0 0 6px; }
.cards .card p{ margin:0; font-size:.98rem; }

.steps{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}
.step{
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  padding:16px;
  background:#fff;
}
.step__num{
  display:inline-flex;
  width:30px; height:30px;
  align-items:center; justify-content:center;
  background:#eaf3ff;
  color:#0f172a;
  border-radius:10px;
  font-weight:800;
  margin-bottom:10px;
}
@media (max-width: 920px){
  .cards{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
}

.faq details{
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
  margin:10px 0;
}
.faq summary{ cursor:pointer; font-weight:700; color:#0f172a; }
.faq p{ margin:10px 0 0; font-size:.98rem; }

.contactLayout .section__head{ margin-bottom:18px; }
.contactGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:start;
}
.infoBlock{
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  padding:14px;
  background:#fff;
  margin-bottom:12px;
}
.infoLabel{ font-size:.84rem; color:#64748b; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.infoValue{ display:inline-block; margin-top:4px; font-weight:800; color:#0f172a; text-decoration:none; }
.infoValue:hover{ color:var(--blue2); }

.calloutMini{
  border-radius:18px;
  padding:16px;
  border:1px solid rgba(30,111,217,.22);
  background:linear-gradient(180deg, rgba(234,243,255,.85), rgba(255,255,255,.95));
}
.calloutMini h3{ margin:0 0 6px; }
.calloutMini p{ margin:0 0 12px; }
.ctaRow{ display:flex; gap:12px; flex-wrap:wrap; }

.formCard{
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  padding:16px;
  background:#fff;
}
.formCard h3{ margin:0 0 10px; }

form .row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
form input, form textarea, form select{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.14);
  padding:.72rem .9rem;
  font-size:1rem;
}
form textarea{ min-height:110px; resize:vertical; }
form .actions{ margin-top:12px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }

@media (max-width: 920px){
  .contactGrid{ grid-template-columns:1fr; }
  form .row{ grid-template-columns:1fr; }
}


/* Header call button */
.btn--call{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
}
.btn--call .icon{
  width:18px;
  height:18px;
  fill: currentColor;
}

/* Hero tagline */
.heroTagline{
  backdrop-filter: blur(6px);
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.50);
  border: 1px solid rgba(17,24,39,.20);
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:12px;
  color: #111;
}

/* Mini form in hero card */
.miniForm{display:grid; gap:10px; margin-top:12px}
.miniForm .field{display:grid; gap:6px}
.miniForm label{font-size:.85rem; font-weight:700; color: var(--muted)}
.miniForm input, .miniForm select{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.18);
  background:#fff;
  font-size:.95rem;
}
.miniForm input:focus, .miniForm select:focus{
  outline:none;
  border-color: rgba(37,99,235,.45);
  box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}
.miniForm .btn--submit{justify-self:stretch; margin-top:4px}



.heroCard__sub{margin:6px 0 12px; color: rgba(17,24,39,.78); font-size:.95rem; line-height:1.35;}


/* ===== Hero Carousel ===== */
.hero{position:relative; overflow:hidden;}
.heroCarousel{position:absolute; inset:0; z-index:0;}
.heroCarousel__bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0;
  transition: opacity 2500ms ease-in-out;
  transform: scale(1.02);
}
.heroCarousel__bg.is-active{opacity:1; animation: heroKenburns 15000ms ease-in-out both;}
@keyframes heroKenburns{
  0%{ transform: scale(1.10) translateY(10px); }
  50%{ transform: scale(1.06) translateY(0px); }
  100%{ transform: scale(1.03) translateY(-10px); }
}
/* subtle overlay for readability */
.hero::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 48%, rgba(255,255,255,.70) 100%);
  z-index:1;
}
.hero .container{position:relative; z-index:2;}
.heroTagline{
  background: rgba(255,255,255,.50) !important;
  color:#111 !important;
  border:1px solid rgba(15,23,42,.10);
}

/* kill any leftover "bubble" wrappers near header CTA */
.header__cta::after, .header__inner::after{content:none !important;}


/* Hero rotating text fade + drift */
#heroSlogan, #heroSubtag{
  transition: opacity 1800ms ease-in-out, transform 1800ms ease-in-out;
  will-change: opacity, transform;
  transform: translateY(-6px);
}
#heroSlogan.fade-out, #heroSubtag.fade-out{
  opacity: 0;
  transform: translateY(14px);
}


.heroCard__hint{ margin-top:6px; font-size:.95rem; color:rgba(15,23,42,.85); line-height:1.35; }

.icon{ width:18px; height:18px; vertical-align:-3px; fill:currentColor; }


/* ===== v14 layout: independent grid sections (below hero) ===== */
.below-hero{
  padding: 38px 0 44px;
  background: transparent;
}
.container{
  width: min(1100px, calc(100% - 32px));
  margin: 0 auto;
}
.card-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}
.card--span{
  grid-column: 1 / -1;
}
@media (max-width: 920px){
  .card-grid{ grid-template-columns: 1fr; }
  .card--span{ grid-column: auto; }
}

/* Card visual separation */
.card{
  position: relative;
  border: 1px solid rgba(15, 23, 42, .12);
  box-shadow: 0 10px 26px rgba(2,6,23,.10);
  border-radius: 18px;
  overflow:hidden;
}
.card > h2{
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 1.15rem;
}
.card .muted{ color: rgba(15,23,42,.70); }

/* subtle per-section background tint */
.tone{
  background: rgba(255,255,255,.92);
}
.tone:before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--tone, rgba(255,255,255,.92));
  z-index:0;
}
.tone > *{ position:relative; z-index:1; }

.tone--1{ --tone: rgba(224, 242, 254, .55); } /* sky */
.tone--2{ --tone: rgba(219, 234, 254, .55); } /* blue */
.tone--3{ --tone: rgba(209, 250, 229, .50); } /* mint */
.tone--4{ --tone: rgba(254, 249, 195, .45); } /* sand */
.tone--5{ --tone: rgba(241, 245, 249, .70); } /* slate */
.tone--6{ --tone: rgba(226, 232, 240, .55); } /* cool gray */

/* inner components */
.bullets{
  margin: 12px 0 0;
  padding-left: 18px;
}
.bullets li{ margin: 8px 0; }

.mini-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 12px;
}
.mini{
  padding: 14px 14px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 14px;
}
.mini h3{
  margin: 0 0 6px;
  font-size: 1rem;
}
@media (max-width: 920px){
  .mini-grid{ grid-template-columns: 1fr; }
}

.inline-cta{
  display:flex;
  align-items:center;
  gap: 14px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.small{ font-size: .92rem; }

.qa{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(255,255,255,.55);
  margin-top: 12px;
}
.qa summary{
  cursor:pointer;
  font-weight: 700;
}
.qa p{ margin: 10px 0 0; }

.contact-box{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
}

/* chips */
.chips{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.chip{
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(15,23,42,.10);
  font-weight: 700;
  font-size: .92rem;
}


/* --- Layout grid (below hero) --- */
.layout-grid{
  display:flex;
  flex-direction:column;
  gap: 26px;
}

.grid-row{
  display:grid;
  gap: 26px;
}

.grid-row--wide-left{
  grid-template-columns: 2.35fr 1fr; /* ~70/30 */
  align-items:stretch;
}

.grid-row--wide-right{
  grid-template-columns: 1fr 2.35fr; /* ~30/70 */
  align-items:start;
}

.grid-row--full{
  grid-template-columns: 1fr;
}

/* Stack cards in the narrow column so we don't get dead space under the form */
.cardStack{
  display:flex;
  flex-direction:column;
  gap: 26px;
  align-self:start;
}
.cardStack > .card{
  height:auto;
}

/* Full-bleed image/link card (placeholder) */
.card--imageLink{
  padding:0;
  overflow:hidden;
}
.imageLink{
  position:relative;
  height:100%;
  min-height: 220px;
}
.imageLink img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;

.imageLink__full{
  position:absolute;
  inset:0;
  display:block;
  border-radius:inherit;
}
.imageLink__full img{ border-radius:inherit; }
.imageLink__full::after{
  content:'';
  position:absolute;
  inset:0;
  background: rgba(15,23,42,.10);
  opacity:0;
  transition: opacity .18s ease;
}
.imageLink__full:hover::after{ opacity:1; }
}
.imageLink__cta{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom: 18px;
  background: rgba(255,255,255,.55);
  color: var(--brand);
  border: 1px solid rgba(255,255,255,.7);
  backdrop-filter: blur(8px);
}

.imageLink__cta.btn:hover{
  transform: translateY(-2px);
  box-shadow:
    0 16px 34px rgba(2,6,23,.12),
    0 0 0 6px var(--btn-glow);
  filter: brightness(1.02);
}
.imageLink__cta.btn:active{
  transform: translateY(-1px);
  box-shadow:
    0 14px 30px rgba(2,6,23,.12),
    0 0 0 5px rgba(11,95,255,.14);
}

@media (max-width: 900px){
  .grid-row--wide-left,
  .grid-row--wide-right{
    grid-template-columns: 1fr;
  }
}

/* Call image placeholder */
.call-image{
  margin-top: 14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding: 18px;
  border-radius: 16px;
  min-height: 200px;
  border: 1px dashed rgba(17,24,39,.25);
  background:
    radial-gradient(600px 240px at 20% 10%, rgba(30,111,217,.16), transparent 60%),
    radial-gradient(520px 240px at 90% 80%, rgba(16,185,129,.14), transparent 55%),
    rgba(255,255,255,.55);
  text-decoration:none;
}

.call-image:hover{
  transform: translateY(-1px);
}

.call-image__badge{
  display:inline-flex;
  align-self:flex-start;
  font-size: .72rem;
  letter-spacing: .08em;
  font-weight: 800;
  padding: 8px 10px;
  border-radius: 999px;
  color: rgba(17,24,39,.9);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(17,24,39,.08);
}

.call-image__number{
  font-size: 1.05rem;
  font-weight: 800;
  color: rgba(17,24,39,.92);
}

/* Ensure cards keep consistent padding and don't feel cramped in smaller columns */
.card h2{ margin-bottom: 10px; }
.card .muted{ margin-top: 0; }

/* Typography tightening for content-heavy sections */
.card p{margin:0 0 12px}
.card p:last-child{margin-bottom:0}
.card ul{margin:10px 0 0 18px; padding:0}
.card li{margin:6px 0}
.card .body{font-size:.95rem; line-height:1.55; color:var(--muted)}
.card .body strong{color:var(--text)}

/* How It Works 2x2 steps */
.steps-grid{
  display:grid;
  gap:16px;
  margin-top:14px;
}
@media (min-width: 760px){
  .steps-grid{grid-template-columns: 1fr 1fr;}
}
.step-card{
  background: var(--panel2);
  border:1px solid var(--line);
  border-radius: 16px;
  padding:16px;
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
}
.step-top{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.step-icon{
  width:38px;
  height:38px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  color: var(--primary);
  background: rgba(37,99,235,.10);
  flex:0 0 auto;
}
.step-icon svg{width:20px; height:20px}
.step-title{
  font-weight:800;
  color:var(--text);
  margin:0;
  font-size:1rem;
}
.step-desc{
  margin:0;
  color:var(--muted);
  font-size:.93rem;
  line-height:1.55;
}


/* Call Us image card */
.card--media{
  padding: 0;
  overflow: hidden;
  position: relative;
}

.callCard{
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 260px;
}

.callCard__img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.btn--overlayCall{
  position: absolute;
  left: 50%;
  bottom: 50px;
  transform: translateX(-50%);
  background: rgba(255,255,255,.50);
  border: 1px solid rgba(37,99,235,.22);
  color: var(--primary);
  padding: 12px 18px;
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.75);
  backdrop-filter: blur(6px);
  font-weight: 800;
  letter-spacing: .02em;
  white-space: nowrap;
}

.btn--overlayCall svg{
  fill: currentColor;
  width: 18px;
  height: 18px;
}

.btn--overlayCall:hover{
  transform: translateX(-50%) translateY(-1px);
  box-shadow: 0 18px 40px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.8);
}

.btn--overlayCall:active{
  transform: translateX(-50%) translateY(0);
}


/* Services section */
.servicesIntro p { margin: 0 0 10px 0; }
.servicesIntro p:last-child { margin-bottom: 0; }

.servicesGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 18px;
}

.svcItem{
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(15,23,42,0.10);
  border-radius: 18px;
  padding: 16px 16px 14px;
  box-shadow: 0 10px 30px rgba(15,23,42,0.06);
}

.svcHead{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom: 10px;
}

.svcIcon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(30,111,217,0.10);
  color: var(--primary);
  margin-bottom: 0;
}
.svcIcon svg{ width:22px; height:22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svcItem h3{ margin: 0; font-size: 1.02rem; }
.svcItem p{ margin: 0 0 10px 0; }
.svcList{ margin: 0; padding-left: 18px; color: var(--text); }
.svcList li{ margin: 6px 0; }
.svcNote{ font-weight: 700; color: var(--text); margin-top: 6px; }

.svcTruth{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 16px;
}

.truthCol{
  border-radius: 18px;
  padding: 16px;
  border: 1px solid rgba(15,23,42,0.10);
  background: rgba(255,255,255,0.72);
}

.truthCol--yes{ border-left: 6px solid rgba(16,185,129,0.75); }
.truthCol--no{ border-left: 6px solid rgba(239,68,68,0.70); }

.truthCol h3{ margin:0 0 8px 0; font-size: 1.05rem; }
.truthList{ margin:0; padding-left: 18px; }
.truthList li{ margin: 7px 0; }
.truthFoot{ margin-top: 10px; color: var(--muted); }

@media (max-width: 860px){
  .servicesGrid, .svcTruth{ grid-template-columns: 1fr; }
}


/* =========================
   Unified section headers
   ========================= */
.section__head { margin-bottom: 16px !important; }
.section__head h2,
.card > h2{
  margin: 0 0 10px !important;
  font-size: clamp(1.35rem, 1.9vw, 1.65rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em;
  padding-bottom: 10px !important;
}
.section__head h2:after{
  height: 3px !important;
  width: 56px !important;
  opacity: .9 !important;
}

/* Disclaimer at very bottom */
.site-disclaimer{
  margin: 8px 0 14px;
}
.site-disclaimer p{
  margin: 0;
  font-size: .85rem;
  line-height: 1.45;
  color: rgba(55,65,81,.82);
}


/* Match CTA style between image cards */
.callCard__cta{ bottom: 50px; }


/* Hero text animation + per-slide coloring */
.heroCopy{
  --heroTextColor: #0f172a;
}

.heroAnimText{
  color: var(--heroTextColor);
  transition: opacity 700ms ease, transform 900ms ease, color 400ms ease;
  will-change: opacity, transform;
}

.heroTextOut{
  opacity: 0;
  transform: translateY(18px);
}

.heroTextInPrep{
  opacity: 0;
  transform: translateY(-18px);
}


/* Header full logo */
.brand__logoFull{
  height:44px;
  width:auto;
  display:block;
  max-width:260px;
}
@media (max-width: 720px){
  .brand__logoFull{ height:38px; max-width:210px; }
}
/* Static hero: let the image pop (we already have .heroOverlay for readability) */
.hero--static::before{ background: transparent !important; }


/* News & Updates article cards (web-friendly version of the email layout) */

/* News category filters */
.newsFilters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.chip{
  appearance:none;
  border:1px solid rgba(148,163,184,.55);
  background:rgba(255,255,255,.65);
  color:#0b1220;
  font-weight:700;
  font-size:12px;
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
  transition: box-shadow .18s ease, transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
  box-shadow: 0 6px 14px rgba(2,6,23,.06);
}
.chip:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(2,6,23,.10);
}
.chip.is-active{
  background:#0B5FFF;
  border-color: rgba(11,95,255,.55);
  color:#fff;
  box-shadow: 0 12px 28px rgba(11,95,255,.22);
}
.chip:focus{
  outline:none;
  box-shadow: 0 0 0 3px rgba(11,95,255,.25), 0 10px 22px rgba(2,6,23,.10);
}

.newsEmpty{
  margin-top:10px;
  padding:14px 16px;
  border:1px dashed rgba(148,163,184,.65);
  border-radius:14px;
  background:rgba(255,255,255,.55);
  color:#475569;
  font-size:13px;
}

/* Smooth show/hide for filtered news cards */
.newsCard{
  transition: opacity .26s ease, transform .26s ease;
  will-change: opacity, transform;
}
.newsCard.is-hiding{ opacity:0; transform: translateY(10px); }
.newsCard.is-showing{ opacity:0; transform: translateY(-10px); }
.newsCard.is-hidden{ display:none; }

.newsIntro{ margin-top:10px; }
.newsGrid{ display:flex; flex-direction:column; gap:14px; margin-top:14px; }

.newsCard{
  display:flex;
  gap:14px;
  align-items:stretch;
  border:1px solid rgba(148,163,184,.45);
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,.72);
  box-shadow: 0 10px 22px rgba(2,6,23,.06);
}
.newsCard--flip{ flex-direction:row-reverse; }

.newsThumb{
  flex: 0 0 210px;
  display:block;
  background:#f3f4f6;
}
.newsThumb img{
  width:100%;
  height:100%;
  min-height:150px;
  object-fit:cover;
  display:block;
}

.newsBody{
  padding:18px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
  text-align:right;
}
.newsTitle{
  margin:0;
  font-size:14px;
  font-weight:800;
  color:#0b1220;
  line-height:1.3;
}
.newsDesc{
  margin:6px 0 0 0;
  font-size:13px;
  color:#475569;
  line-height:1.6;
}
.newsCta{ margin-top:10px; }

/* Match the email alignment: odd cards right-aligned, even cards left-aligned */
.newsCard:not(.newsCard--flip) .newsBody{ text-align:right; align-items:flex-end; }
.newsCard:not(.newsCard--flip) .newsCta{ width:100%; display:flex; justify-content:flex-end; }
.newsCard--flip .newsBody{ text-align:left; align-items:flex-start; }
.newsCard--flip .newsCta{ width:100%; display:flex; justify-content:flex-start; }

@media (max-width: 860px){
  /* Stack image on top for mobile */
  .newsCard, .newsCard--flip{ flex-direction:column; }
  .newsThumb{ flex: 0 0 auto; width:100%; }
  .newsThumb img{ min-height:180px; }
  .newsBody{ padding: 16px 18px; }
  .newsCard .newsBody{ text-align:left; align-items:flex-start; }
  .newsCard .newsCta{ justify-content:flex-start; }
}


/* News cards alignment (site) */
.newsBody{
  flex:1;
  min-width:0;
  padding:18px 44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}

.newsCard:not(.newsCard--flip) .newsBody{
  text-align:right;
  align-items:flex-end;
}
.newsCard.newsCard--flip .newsBody{
  text-align:left;
  align-items:flex-start;
}

.newsTitle{
  margin:0;
  font-size:14px;
  font-weight:800;
  color:#0b1220;
  line-height:1.3;
  max-width: 720px;
}

.newsDesc{
  margin:0;
  font-size:13px;
  color:#475569;
  line-height:1.6;
  max-width: 720px;
}

.newsCta{
  margin-top:10px;
}

.newsCard:not(.newsCard--flip) .newsCta{
  display:flex;
  justify-content:flex-end;
  width:100%;
}
.newsCard.newsCard--flip .newsCta{
  display:flex;
  justify-content:flex-start;
  width:100%;
}

/* Mobile: stack and align left */
@media (max-width: 860px){
  .newsBody{
    padding:16px 18px;
    text-align:left;
    align-items:flex-start;
  }
  .newsCta{ justify-content:flex-start !important; }
}


#news .sectionHeader{
  margin:0 0 10px 0;
  padding:0;
}
#news .sectionTitle{
  margin:0 0 8px 0;
}

/* Disable image-link hover overlays/animations (images are fully clickable) */
.imageLink__full::after{display:none !important;}
.imageLink__full:hover::after{opacity:0 !important;}


/* v47: About Us highlights */
.aboutHighlights{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}
.highlight{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 14px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.45);
  background:rgba(255,255,255,.72);
  box-shadow: 0 10px 22px rgba(2,6,23,.06);
}
.highlightIcon{
  width:40px;
  height:40px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--primary);
  background: rgba(11,95,255,.10);
  border: 1px solid rgba(11,95,255,.16);
  flex: 0 0 auto;
}
.highlightTitle{
  font-weight:800;
  color: var(--text);
  line-height:1.2;
  font-size:13px;
}
.highlightSub{
  color: var(--muted);
  line-height:1.35;
  font-size:12.5px;
  margin-top:2px;
}
@media (max-width: 860px){
  .aboutHighlights{ grid-template-columns: 1fr; }
}

/* v47: Services "What we are not" last paragraph smaller */
.truthFoot{
  font-size:12.5px;
  color: var(--muted);
  line-height:1.55;
}

@media (max-width: 860px){
  .newsThumb img{ border-radius:14px 14px 0 0; }
}

/* Mobile safety: prevent accidental horizontal scroll */
html, body{ overflow-x:hidden; }
