@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap');

/* ── Variables ─────────────────────────────────────────────── */
:root {
  --navy:       #0f172a;
  --navy-mid:   #1e293b;
  --navy-light: #334155;
  --sky:        #0ea5e9;
  --sky-light:  #38bdf8;
  --sky-pale:   #e0f2fe;
  --green:      #16a34a;
  --amber:      #d97706;
  --white:      #ffffff;
  --off-white:  #f8fafc;
  --slate:      #64748b;
  --slate-light:#94a3b8;
  --border:     #e2e8f0;

  --font-display: 'Barlow Condensed', sans-serif;
  --font-body:    'DM Sans', sans-serif;

  --radius:   12px;
  --radius-lg:20px;
  --shadow:   0 4px 24px rgba(15,23,42,.10);
  --shadow-lg:0 12px 48px rgba(15,23,42,.16);

  --container:1180px;
  --nav-h:    72px;
}

/* ── Reset ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--font-body); color:var(--navy); background:var(--white); line-height:1.6; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; font-family:inherit; }
ul { list-style:none; }

/* ── Container ─────────────────────────────────────────────── */
.container { max-width:var(--container); margin:0 auto; padding:0 24px; }

/* ── Typography ────────────────────────────────────────────── */
.display { font-family:var(--font-display); font-weight:800; letter-spacing:-.01em; line-height:1.05; }
.eyebrow { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; color:var(--sky); }
.section-title { font-family:var(--font-display); font-size:clamp(32px,5vw,52px); font-weight:800; letter-spacing:-.01em; line-height:1.1; color:var(--navy); }
.section-sub { font-size:18px; color:var(--slate); max-width:560px; margin:0 auto; line-height:1.7; font-weight:300; }

/* ── Buttons ────────────────────────────────────────────────── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:var(--radius); font-size:15px; font-weight:600; transition:all .2s; border:2px solid transparent; white-space:nowrap; }
.btn-primary { background:var(--sky); color:var(--white); }
.btn-primary:hover { background:var(--sky-light); transform:translateY(-2px); box-shadow:0 8px 24px rgba(14,165,233,.35); }
.btn-outline { background:transparent; color:var(--navy); border-color:var(--border); }
.btn-outline:hover { border-color:var(--navy); background:var(--navy); color:var(--white); transform:translateY(-2px); }
.btn-outline-white { background:transparent; color:var(--white); border-color:rgba(255,255,255,.45); }
.btn-outline-white:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.7); transform:translateY(-2px); }
.btn-lg { padding:18px 36px; font-size:17px; border-radius:14px; }

/* ── Section spacing ────────────────────────────────────────── */
.section { padding:96px 0; }
.section-sm { padding:64px 0; }
.section-header { text-align:center; margin-bottom:64px; }
.section-header .eyebrow { margin-bottom:12px; }
.section-header .section-title { margin-bottom:20px; }

/* ── Cards ──────────────────────────────────────────────────── */
.card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px; transition:box-shadow .2s, transform .2s; }
.card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); }

/* ── Badge ──────────────────────────────────────────────────── */
.badge { display:inline-flex; align-items:center; padding:4px 12px; border-radius:99px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.badge-lpa { background:var(--sky-pale); color:var(--sky); }
.badge-green { background:#dcfce7; color:var(--green); }
.badge-amber { background:#fef3c7; color:var(--amber); }

/* ── Page header (inner pages) ──────────────────────────────── */
.page-hero { background:var(--navy); padding:120px 0 80px; text-align:center; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 60% 0%, rgba(14,165,233,.18) 0%, transparent 70%); }
.page-hero .eyebrow { color:var(--sky-light); }
.page-hero .section-title { color:var(--white); margin-bottom:16px; }
.page-hero .section-sub { color:var(--slate-light); }

/* ── Divider ────────────────────────────────────────────────── */
.divider { height:1px; background:var(--border); margin:0; }

/* ── Responsive grid helpers ────────────────────────────────── */
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

/* ── Footer ─────────────────────────────────────────────────── */
.site-footer { background:var(--navy); color:var(--slate-light); padding:64px 0 32px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:48px; border-bottom:1px solid rgba(148,163,184,.15); }
.footer-brand .brand-text { font-family:var(--font-display); font-size:24px; font-weight:800; color:var(--white); letter-spacing:-.01em; }
.footer-brand .brand-text em { font-style:italic; color:var(--sky-light); }
.footer-brand p { margin-top:12px; font-size:14px; line-height:1.7; font-weight:300; }
.footer-col h4 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--white); margin-bottom:16px; }
.footer-col a { display:block; font-size:14px; color:var(--slate-light); padding:4px 0; transition:color .15s; font-weight:300; }
.footer-col a:hover { color:var(--white); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:32px; font-size:13px; flex-wrap:wrap; gap:12px; }
.footer-bottom em { font-style:italic; color:var(--sky-light); }

/* ── Animations ─────────────────────────────────────────────── */
@keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
.fade-up { animation:fadeUp .6s ease both; }
.fade-up-2 { animation:fadeUp .6s ease .1s both; }
.fade-up-3 { animation:fadeUp .6s ease .2s both; }
.fade-up-4 { animation:fadeUp .6s ease .3s both; }

/* ── Mobile ─────────────────────────────────────────────────── */
@media (max-width:900px) {
  .grid-3, .grid-4 { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:640px) {
  .section { padding:64px 0; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .btn-lg { width:100%; justify-content:center; }
}
