
:root{
  --navy:#0f2447;
  --navy-2:#12315e;
  --blue:#2c6fff;
  --ink:#111a2c;
  --muted:#52627d;
  --line:#d7deea;
  --panel:#ffffff;
  --bg:#f6f8fc;
  --bg2:#eef2f8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink);
  background:#fff;
}
a{text-decoration:none;color:inherit}
.container{width:min(1180px, calc(100% - 48px)); margin:0 auto}
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.9);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(17,26,44,.08);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  min-height:88px;
}
.brand-name, .nav a, .hero-title { text-rendering: optimizeLegibility; }
.brand{display:flex; align-items:center; gap:12px}
.brand-logo{width:66px; height:66px; display:block}
.brand-name{font-size:1.9rem; font-weight:700; letter-spacing:-.04em; line-height:1}
.nav{display:flex; align-items:center; gap:34px}
.nav a{color:#24344e; font-weight:600}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:18px;
  padding:16px 24px;
  font-weight:700;
  transition:all .22s ease;
  border:1px solid transparent;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  color:#fff;
  background:linear-gradient(180deg, #173b73 0%, #0f2447 100%);
  box-shadow:0 8px 20px rgba(15,36,71,.18), 0 1px 0 rgba(255,255,255,.14) inset;
}
.btn-primary:hover{box-shadow:0 12px 26px rgba(15,36,71,.22), 0 1px 0 rgba(255,255,255,.14) inset}
.btn-secondary, .btn-outline{
  background:linear-gradient(180deg, #ffffff 0%, #f7f9fd 100%);
  color:var(--navy);
  border:1px solid #b9c7dd;
  box-shadow:0 8px 20px rgba(15,36,71,.06);
}
.btn-large{padding:18px 34px; font-size:1.1rem}
.hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(245,248,253,.92), rgba(243,246,251,.96)),
    radial-gradient(circle at 72% 24%, rgba(30,64,122,.06), transparent 26%),
    radial-gradient(circle at 24% 72%, rgba(30,64,122,.05), transparent 18%);
}
.hero-textured::before,
.section-textured::before,
.cta-textured::before,
.site-footer::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    url('../img/blueprint-texture.svg'),
    url('../img/industrial-lines.svg');
  background-repeat:no-repeat, no-repeat;
  background-position:center center, center center;
  background-size:cover, cover;
  opacity:.23;
  pointer-events:none;
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.26), rgba(255,255,255,.06) 45%, rgba(255,255,255,.2)),
    linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.18));
  pointer-events:none;
}
.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:56px;
  align-items:center;
  min-height:760px;
  padding:64px 0 76px;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.95rem;
  font-weight:800;
  color:#2b62d6;
  margin-bottom:20px;
}
h1{
  font-size:clamp(3.8rem, 8vw, 6.3rem);
  line-height:.92;
  letter-spacing:-.065em;
  margin:0 0 26px;
  max-width:760px;
}
h2{
  font-size:clamp(2.3rem, 5vw, 4rem);
  line-height:1;
  letter-spacing:-.05em;
  margin:0 0 18px;
}
h3{font-size:1.7rem; letter-spacing:-.03em; margin:0 0 16px}
.lead, .section p, li{
  font-size:1.18rem;
  line-height:1.6;
  color:var(--muted);
}
.hero-left .lead{max-width:760px}
.hero-actions{display:flex; gap:18px; margin-top:30px; flex-wrap:wrap}
.cred-card, .card, .mini-panel{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.93), rgba(255,255,255,.9));
  border:1px solid rgba(168,183,208,.58);
  border-radius:32px;
  padding:34px 34px 30px;
  box-shadow:
    0 24px 60px rgba(16,33,68,.08),
    0 2px 0 rgba(255,255,255,.95) inset;
}
.cred-card h3{margin-bottom:18px}
.cred-card ul{margin:0; padding-left:24px}
.cred-card li{margin-bottom:14px}
.trust-strip{
  position:relative;
  background:#fff;
  border-top:1px solid rgba(17,26,44,.06);
  border-bottom:1px solid rgba(17,26,44,.06);
}
.trust-items{
  display:flex; gap:22px; justify-content:center; flex-wrap:wrap;
  padding:18px 0;
  color:#334868; font-weight:700;
}
.trust-items span::before{
  content:"•";
  color:#5f7ebf;
  margin-right:10px;
}
.trust-items span:first-child::before{content:""}
.section{
  position:relative;
  padding:88px 0;
  background:#fff;
}
.light-section{background:linear-gradient(180deg,#fbfcfe,#f5f8fc)}
.subtle-alt{background:linear-gradient(180deg,#f7f9fd,#f3f6fb)}
.narrow-head{max-width:950px; margin:0 auto 34px; text-align:center}
.narrow-head p{max-width:840px; margin:0 auto}
.cards{
  display:grid;
  gap:22px;
}
.three-up{grid-template-columns:repeat(3,1fr)}
.two-up{grid-template-columns:repeat(2,1fr)}
.card{
  padding:28px 26px;
  min-height:250px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 62px rgba(16,33,68,.11), 0 2px 0 rgba(255,255,255,.95) inset;
}
.card-icon{
  font-size:2rem;
  color:var(--navy-2);
  margin-bottom:14px;
}
.card ul{padding-left:22px; color:var(--muted)}
.split{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:30px;
  align-items:start;
}
.cta-section{
  position:relative;
  background:linear-gradient(180deg,#f8fafd,#f3f6fb);
}
.cta-box{
  position:relative;
  text-align:center;
  padding:24px 0;
}
.cta-box p{margin:0 0 28px}
.site-footer{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#10254a,#0a1730);
  color:#fff;
  padding:34px 0 28px;
}
.site-footer::before{opacity:.16}
.footer-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.0));
}
.footer-inner{
  position:relative;
  display:flex; justify-content:space-between; gap:24px; align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.footer-brand-row{display:flex; align-items:center; gap:14px}
.footer-logo{width:46px; height:46px}
.footer-brand-text{font-size:2rem; font-weight:600; letter-spacing:-.04em}
.footer-email{margin-top:10px; color:rgba(255,255,255,.88); font-size:1.1rem}
.footer-links{display:flex; gap:28px}
.footer-links a{color:rgba(255,255,255,.95)}
.footer-bottom{
  position:relative;
  padding-top:16px;
  color:rgba(255,255,255,.82);
}
@media (max-width: 980px){
  .hero-grid,.split,.three-up,.two-up{grid-template-columns:1fr}
  .hero-grid{min-height:auto; padding:46px 0 62px}
  .nav{gap:18px}
  .brand-name{font-size:1.5rem}
}
@media (max-width: 700px){
  .container{width:min(100% - 28px, 1180px)}
  .header-inner{min-height:74px}
  .brand-logo{width:42px;height:42px}
  .brand-name{font-size:1.22rem}
  .nav a:not(.btn){display:none}
  h1{font-size:clamp(3rem, 13vw, 4.7rem)}
  h2{font-size:clamp(2rem, 9vw, 3rem)}
  .lead,.section p,li{font-size:1.03rem}
  .btn{padding:14px 18px; border-radius:16px}
  .cred-card,.card,.mini-panel{border-radius:24px}
}
