
:root{
  --bg:#0b1220;--panel:#0f1a2b;--line:#192a4a;--txt:#dfe9ff;--muted:#9db6e3;--accent:#34d3ff;--primary:#1da1f2;
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--txt);font-family:Inter,system-ui,Segoe UI,Arial,Helvetica,sans-serif}
a{color:#cfe3ff}
.container,.section{max-width:1160px;margin:0 auto;padding:0 20px}
.nav{height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav a{color:#e8f1ff;text-decoration:none;margin:0 8px;font-size:.95rem}
.nav .brand{display:flex;align-items:center;gap:10px}
.nav .brand img{width:24px;height:24px;border-radius:6px}
.btn{font-size:.95rem;padding:.65rem 1rem;border-radius:10px;border:0;display:inline-block}
.btn-primary{background:var(--primary);color:#fff}
.btn-outline{background:transparent;color:#cfe8ff;border:1px solid #2f6fb8}
.btn-sm{font-size:.85rem;padding:.45rem .8rem}
.hero-gradient{background:linear-gradient(to bottom right,#0f172a 0%, #1e3a8a 50%, #1e293b 100%)}
.hero-wrap{max-width:1160px;margin:0 auto;padding:72px 20px 54px;display:grid;grid-template-columns:1.1fr .9fr;gap:32px}
@media (max-width:960px){.hero-wrap{grid-template-columns:1fr;padding-top:56px}}
.pill{display:inline-flex;gap:8px;align-items:center;background:#0b274e;color:#cce3ff;border:1px solid #1e4e95;padding:.35rem .6rem;border-radius:999px;font-size:.8rem}
.chip{display:inline-flex;gap:8px;align-items:center;background:#0b274e;color:#cce3ff;border:1px solid #1e4e95;padding:.4rem .6rem;border-radius:999px;font-size:.8rem}
.accent{color:var(--accent)}
.hero-actions{display:flex;gap:12px;margin-bottom:18px}
.stats{display:flex;gap:28px;flex-wrap:wrap}
.stat-num{color:#fff;font-weight:700}
.stat-label{color:#98b3df;font-size:.85rem}
.media-card{position:relative;background:#0b1220;border:1px solid var(--line);border-radius:16px;padding:10px}
.section{padding:40px 20px}
.section-narrow{max-width:860px;margin:0 auto;padding:36px 20px}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.tiles{grid-template-columns:1fr}}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}
.tile img{width:100%;height:180px;object-fit:cover;border-radius:10px}
.form-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}
input,select,textarea{background:#0a1423;color:#dce8ff;border:1px solid #27406f;border-radius:10px;padding:.7rem .9rem;width:100%}
input::placeholder,textarea::placeholder{color:#8aa7d5}
.site-footer{background:#0c1423;border-top:1px solid var(--line);margin-top:18px}
.footer-grid{max-width:1160px;margin:0 auto;padding:28px 20px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-bottom{max-width:1160px;margin:0 auto;padding:10px 20px;color:#8fb0e1;border-top:1px solid rgba(255,255,255,.04)}

/* === FONT SIZE LIFT (GLOBAL, SAFE) =============================== */
/* Put this block at the very end of assets/css/boddel.css */

:root{
  /* Slightly larger base text; scales up on wider screens */
  --base-fs: 16.5px;
  --base-fs-lg: 17.5px;

  /* Headings (tuned for your design) */
  --h1: clamp(28px, 2.2vw + 16px, 40px);
  --h2: clamp(24px, 1.8vw + 14px, 34px);
  --h3: clamp(20px, 1.4vw + 12px, 28px);
  --h4: clamp(18px, 1.0vw + 12px, 24px);

  /* UI text sizes */
  --nav-fs: .98rem;          /* top nav */
  --btn-fs: .98rem;          /* buttons */
  --chip-fs: .95rem;         /* pills: 24/7 support, certified experts, etc. */
  --card-title-fs: 1.02rem;  /* service tiles headings */
  --card-body-fs: .98rem;    /* service tiles body text */
  --stat-num-fs: 1.02rem;    /* 14 / 99.8% / 100+ / 500+ */
  --stat-label-fs: .93rem;   /* labels under the numbers */
}

/* base text */
html { font-size: var(--base-fs); }
@media (min-width: 1024px){
  html { font-size: var(--base-fs-lg); }
}
body { line-height: 1.55; }

/* headings */
h1, .hero-title { font-size: var(--h1); line-height: 1.2; }
h2, .section-head { font-size: var(--h2); line-height: 1.25; }
h3 { font-size: var(--h3); line-height: 1.3; }
h4 { font-size: var(--h4); line-height: 1.35; }

/* nav */
.header nav a,
.header .nav a,
.site-nav a { font-size: var(--nav-fs); }

/* hero paragraph */
.hero p,
.hero .lead,
.hero .hero-lead { font-size: 1.02rem; }

/* chips / pills over hero image */
.chip,
.pill,
.badge-pill { font-size: var(--chip-fs); }

/* buttons */
.btn,
.btn-primary,
.btn-outline { 
  font-size: var(--btn-fs);
  line-height: 1.1;
  padding: .72rem 1.05rem;  /* keep size balanced with larger text */
}

/* stats under hero */
.stats .stat-num { font-size: var(--stat-num-fs); }
.stats .stat-label { font-size: var(--stat-label-fs); }

/* service tiles */
.tile .tile-title,
.card .card-title { font-size: var(--card-title-fs); }
.tile p,
.card .card-body,
.card p { font-size: var(--card-body-fs); }

/* general card spacing so larger text doesn’t feel cramped */
.card, .tile { padding: 1.15rem; }

/* forms (contact, quote) */
input, select, textarea {
  font-size: 1rem;
  line-height: 1.45;
}
label { font-size: .98rem; }

/* footer */
.footer, .footer a, .footer p, .footer li { font-size: .98rem; }

/* small helpers (don’t let tiny text slip in badges/labels) */
.small, .muted, .label { font-size: .93rem; }

/* === MICRO LIFT: +½ step readability =================================== */
/* Append after the previous font-size block */

:root{
  /* Base body size (up from 16.5/17.5) */
  --base-fs: 17px;
  --base-fs-lg: 18px;

  /* Headings: subtle nudge */
  --h1: clamp(30px, 2.35vw + 16px, 42px);
  --h2: clamp(25px, 1.95vw + 14px, 36px);

  /* UI text sizes: slight bump */
  --nav-fs: 1rem;
  --btn-fs: 1.02rem;
  --chip-fs: .98rem;
  --card-title-fs: 1.06rem;
  --card-body-fs: 1.01rem;
  --stat-num-fs: 1.06rem;
  --stat-label-fs: .96rem;
}

/* keep button comfort with the larger text */
.btn,
.btn-primary,
.btn-outline {
  padding: .78rem 1.1rem;
}
