/* TrainAway — clean board-level aesthetic (no external fonts, no tracking) */
:root{
  --ink:#0b1220;
  --muted:#5b677a;
  --line:#e6ebf2;
  --bg:#ffffff;
  --alt:#f6f8fb;
  --navy:#0b2b55;
  --blue:#0e5ea8;
  --blue2:#0a4f91;
  --radius: 14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--bg);
  font: 16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
.container{max-width:1120px;margin:0 auto;padding:0 22px}
h1,h2,h3{letter-spacing:-0.02em}
h1{font-size:46px;line-height:1.08;margin:12px 0 14px}
h2{font-size:30px;margin:0 0 12px}
h3{font-size:18px;margin:0 0 8px}
p{margin:0 0 12px}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}

/* Topbar */
.topbar{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(150%) blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.wordmark{
  font-weight:700;
  letter-spacing:0.02em;
  font-size:20px;
  color:var(--navy);
}
.topnav{display:flex;gap:18px;align-items:center}
.topnav a{color:var(--muted);font-size:14px}
.topnav a:hover{color:var(--ink);text-decoration:none}
.navcta{
  padding:10px 14px;border-radius:999px;
  background:linear-gradient(135deg,var(--blue),var(--blue2));
  color:#fff !important;
  box-shadow: 0 10px 22px rgba(14,94,168,.18);
}
.navcta:hover{filter:brightness(.98)}

/* Hero (abstract clean) */
.hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  padding:78px 0 58px;
}
.hero:before{
  content:"";
  position:absolute; inset:-30% -10% auto -10%;
  height:420px;
  background:
    radial-gradient(60% 90% at 30% 20%, rgba(14,94,168,.22), transparent 60%),
    radial-gradient(60% 90% at 70% 30%, rgba(11,43,85,.18), transparent 55%),
    radial-gradient(60% 90% at 55% 55%, rgba(14,94,168,.10), transparent 60%);
  pointer-events:none;
}
.hero:after{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='520'%3E%3Cg fill='none' stroke='%230e5ea8' stroke-opacity='.10' stroke-width='1'%3E%3Cpath d='M70 440 C260 340 360 360 540 250 S920 150 1320 90'/%3E%3Cpath d='M120 160 C320 240 420 180 600 240 S980 350 1360 280'/%3E%3Cpath d='M170 500 C360 380 480 450 660 320 S980 180 1290 150'/%3E%3C/g%3E%3Cg fill='%230e5ea8' fill-opacity='.12'%3E%3Ccircle cx='70' cy='440' r='4'/%3E%3Ccircle cx='540' cy='250' r='4'/%3E%3Ccircle cx='1320' cy='90' r='4'/%3E%3Ccircle cx='120' cy='160' r='4'/%3E%3Ccircle cx='1360' cy='280' r='4'/%3E%3Ccircle cx='1290' cy='150' r='4'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position: 55% 18%;
  background-size: 1550px auto;
  pointer-events:none;
  opacity:.85;
}
.hero__inner{position:relative; z-index:1; max-width:860px}
.kicker{
  display:inline-block;
  color:var(--navy);
  background:rgba(14,94,168,.10);
  border:1px solid rgba(14,94,168,.18);
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
}
.lead{font-size:18px;color:var(--muted);max-width:60ch}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.chips span{
  font-size:12px;color:var(--muted);
  border:1px solid var(--line);
  background:#fff;
  padding:7px 10px;border-radius:999px;
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-weight:600;
  text-decoration:none !important;
}
.btn:hover{box-shadow:0 10px 24px rgba(11,18,32,.08)}
.btn--primary{
  border:none;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--blue2));
}
.btn--ghost{background:transparent}
.btn--small{padding:10px 14px;border-radius:10px}
.btn--invert{
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  background:rgba(255,255,255,.08);
}
.btn--invert:hover{background:rgba(255,255,255,.12)}

/* Sections */
.section{padding:64px 0}
.section--alt{background:var(--alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sectionlead{color:var(--muted);max-width:75ch}

.grid3{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: 0 8px 18px rgba(11,18,32,.06);
}
.card p{color:var(--muted)}

.prose{max-width:78ch}
.callout{
  margin-top:18px;
  background:#fff;
  border:1px solid rgba(14,94,168,.18);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: 0 10px 24px rgba(14,94,168,.08);
  display:flex; gap:14px; align-items:center; justify-content:space-between;
}
.callout__h{font-weight:700;color:var(--navy)}
.callout__p{color:var(--muted);max-width:72ch}

/* Mandates */
.listcards{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.listcard{
  background:#fff;
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:18px;
}
.listcard__h{font-weight:700;color:var(--navy);margin-bottom:6px}
.listcard__p{color:var(--muted)}

/* CTA */
.section--cta{
  background:linear-gradient(135deg,var(--navy),var(--blue2));
  color:#fff;
}
.ctabox{
  padding:42px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.ctatitle{margin:0 0 8px;font-size:28px}
.ctatext{margin:0;color:rgba(255,255,255,.82);max-width:75ch}

/* Footer */
.footer{
  border-top:1px solid var(--line);
  padding:26px 0 18px;
}
.footer__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;
}
.footer__left{display:flex;align-items:center;gap:12px}
.footerlogo{height:26px;width:auto;opacity:.95}
.footname{font-weight:700;color:var(--navy)}
.footsub{font-size:12px;color:var(--muted)}
.footer__right{font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:center}
.sep{opacity:.6}
.footer__legal{padding:10px 0 0}
details{border-top:1px dashed var(--line);padding-top:12px}
summary{cursor:pointer;color:var(--muted);font-size:13px}
.legal{margin-top:10px;max-width:80ch;color:var(--muted)}
.legal h4{margin:14px 0 6px;color:var(--ink);font-size:14px}

/* Responsive */
@media (max-width: 980px){
  h1{font-size:38px}
  .grid3{grid-template-columns:1fr}
  .listcards{grid-template-columns:1fr}
  .ctabox{flex-direction:column;align-items:flex-start}
  .topnav a:not(.navcta){display:none}
  .callout{flex-direction:column;align-items:flex-start}
}
