/* ===== AiLeap design system ===== */
:root{
  --navy:#0a1a3c; --navy-2:#0f234e; --ink:#0b1530; --blue:#2f6bff; --blue-2:#5b8cff;
  --cyan:#34d0e0; --slate:#5a6785; --line:#e6ebf5; --bg:#f7f9fd; --white:#fff;
  --radius:16px; --max:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.brand{font-family:'Sora',sans-serif;letter-spacing:-.02em;line-height:1.15}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.tag{color:var(--blue);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase}

.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;transition:.2s;cursor:pointer;border:0}
.btn-primary{background:linear-gradient(120deg,var(--blue),var(--blue-2));color:#fff;box-shadow:0 8px 24px rgba(47,107,255,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(47,107,255,.45)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25)}
.btn-ghost:hover{background:rgba(255,255,255,.16)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{transform:translateY(-2px)}
.btn-outline{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn-outline:hover{border-color:var(--blue);color:var(--blue)}

/* NAV */
header{position:sticky;top:0;z-index:50;background:rgba(10,26,60,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:22px}
.logo{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:grid;place-items:center;font-weight:800;color:#04122e}
.navlinks{display:flex;gap:28px;align-items:center}
.navlinks a{color:#c8d3ee;font-size:15px;font-weight:500}
.navlinks a:hover,.navlinks a.active{color:#fff}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}

/* HERO (home) */
.hero{position:relative;background:radial-gradient(1100px 600px at 75% -10%,rgba(52,208,224,.18),transparent),linear-gradient(160deg,var(--navy),var(--navy-2));color:#fff;overflow:hidden;padding:90px 0 110px}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(800px 500px at 70% 0,#000,transparent)}
.hero .wrap{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(91,140,255,.15);border:1px solid rgba(91,140,255,.35);color:#bcd0ff;padding:7px 15px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:24px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.hero h1{font-size:clamp(34px,5.4vw,60px);font-weight:800;max-width:15ch}
.hero h1 .grad,.grad{background:linear-gradient(110deg,var(--cyan),var(--blue-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(17px,2vw,21px);color:#c3cfe8;max-width:62ch;margin:22px 0 34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.stats{display:flex;gap:40px;flex-wrap:wrap;margin-top:56px;padding-top:34px;border-top:1px solid rgba(255,255,255,.1)}
.stat b{font-family:'Sora';font-size:30px;font-weight:700;color:#fff;display:block}
.stat span{color:#9fb0d4;font-size:14px}

/* PAGE HERO (sub pages) */
.page-hero{background:radial-gradient(900px 500px at 80% -20%,rgba(52,208,224,.16),transparent),linear-gradient(160deg,var(--navy),var(--navy-2));color:#fff;padding:74px 0 64px}
.page-hero .crumbs{font-size:13px;color:#90a2c8;margin-bottom:16px}
.page-hero .crumbs a:hover{color:#fff}
.page-hero h1{font-size:clamp(30px,4.6vw,50px);font-weight:800;max-width:18ch}
.page-hero p{color:#c3cfe8;font-size:clamp(16px,1.8vw,20px);max-width:64ch;margin-top:18px}

/* TRUST */
.trust{background:var(--ink);color:#7f8cab;text-align:center;padding:26px 0;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.badges{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.badges span{color:#aeb9d6;font-weight:600;letter-spacing:.04em}

/* SECTION */
section.block{padding:90px 0}
.alt{background:var(--bg)}
.shead{max-width:64ch;margin:0 auto 54px;text-align:center}
.shead h2{font-size:clamp(28px,3.6vw,42px);margin:12px 0;font-weight:700}
.shead p{color:var(--slate);font-size:18px}
.prose{max-width:74ch;margin:0 auto}
.prose h2{font-size:clamp(24px,3vw,34px);margin:40px 0 14px}
.prose h3{font-size:21px;margin:28px 0 10px}
.prose p{color:#37436a;margin-bottom:16px;font-size:17px}
.prose ul{margin:0 0 18px 22px;color:#37436a}
.prose li{margin-bottom:8px}

/* GRID CARDS */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:.25s}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(15,35,78,.1);border-color:#cfd9f2}
.card .ic{width:50px;height:50px;border-radius:13px;background:linear-gradient(135deg,#eaf0ff,#dfeaff);display:grid;place-items:center;font-size:23px;margin-bottom:18px}
.card h3{font-size:20px;margin-bottom:9px}
.card p{color:var(--slate);font-size:15px}
.card ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:7px}
.card li{font-size:14px;color:#46527a;padding-left:22px;position:relative}
.card li:before{content:"→";position:absolute;left:0;color:var(--blue);font-weight:700}
.card.dark{background:linear-gradient(160deg,#0a1a3c,#15295a);color:#fff;border:0}
.card.dark .ic{background:rgba(255,255,255,.1)} .card.dark h3{color:#fff} .card.dark p{color:#bccbe9}

/* SECTORS */
.sec-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sec{background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px}
.sec.gov{background:linear-gradient(160deg,#0a1a3c,#13285a);color:#fff;border:0}
.sec h3{font-size:24px;display:flex;align-items:center;gap:10px;margin-bottom:8px}
.sec.gov p{color:#bccbe9} .sec p{color:var(--slate);margin-bottom:18px}
.sec .row{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-top:1px solid rgba(0,0,0,.06);font-size:15px}
.sec.gov .row{border-top:1px solid rgba(255,255,255,.12)}
.check{color:var(--blue);font-weight:800;flex-shrink:0} .sec.gov .check{color:var(--cyan)}

/* STEPS / PROCESS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.steps.five{grid-template-columns:repeat(5,1fr)}
.step{text-align:left;padding:28px 22px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.step .n{font-family:'Sora';font-weight:800;font-size:14px;color:#fff;width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--blue-2));display:grid;place-items:center;margin-bottom:14px}
.step h4{font-size:17px;margin-bottom:6px}
.step p{font-size:14px;color:var(--slate)}

/* CASE / OUTCOME CARDS */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.case:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(15,35,78,.1)}
.case .top{padding:22px 24px;background:linear-gradient(160deg,#0e2150,#16306a);color:#fff}
.case .top .k{font-size:13px;color:#9fc7ff;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.case .top .v{font-family:'Sora';font-size:30px;font-weight:700;margin-top:4px}
.case .body{padding:22px 24px;flex:1}
.case .body h3{font-size:17px;margin-bottom:8px}
.case .body p{font-size:14.5px;color:var(--slate)}

/* FAQ */
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:13px;padding:4px 22px;transition:.2s}
.faq details[open]{border-color:#cfd9f2;box-shadow:0 10px 30px rgba(15,35,78,.06)}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;font-size:17px;font-family:'Sora';display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--blue);font-size:24px;font-weight:400;transition:.2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq p{color:#37436a;padding:0 0 20px;font-size:15.5px}

/* KICKSTART CTA */
.kick{background:linear-gradient(130deg,var(--navy),#16306a);color:#fff;border-radius:26px;padding:60px;text-align:center;position:relative;overflow:hidden}
.kick:before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(52,208,224,.25),transparent 70%);top:-120px;right:-80px}
.kick h2{font-size:clamp(26px,3.4vw,38px);position:relative}
.kick p{color:#c3cfe8;max-width:56ch;margin:14px auto 28px;position:relative;font-size:18px}

/* CONTACT */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.cgrid h2{font-size:34px;margin-bottom:14px}
.cgrid p{color:var(--slate);font-size:17px;margin-bottom:18px}
form{display:flex;flex-direction:column;gap:14px;background:#fff;padding:32px;border-radius:20px;border:1px solid var(--line)}
label{font-size:13px;font-weight:600;color:#3a466b;margin-bottom:-8px}
input,textarea,select{padding:13px 15px;border:1px solid var(--line);border-radius:11px;font-family:inherit;font-size:15px;background:#fbfcff}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,107,255,.12)}

/* FOOTER */
footer{background:var(--ink);color:#9aa6c6;padding:54px 0 30px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
footer .brand{color:#fff;margin-bottom:14px}
footer p{font-size:14px;max-width:34ch}
footer h5{color:#fff;font-size:14px;margin-bottom:14px;font-family:'Sora'}
footer .col a{display:block;color:#9aa6c6;font-size:14px;padding:5px 0}
footer .col a:hover{color:#fff}
.fbot{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px}

@media(max-width:900px){
  .grid,.steps,.steps.five,.cases{grid-template-columns:1fr 1fr}
  .grid-2,.sec-grid,.cgrid,.fgrid{grid-template-columns:1fr}
  .navlinks{display:none}.menu-btn{display:block}
  .kick{padding:40px 24px}
}
@media(max-width:560px){.grid,.steps,.steps.five,.cases{grid-template-columns:1fr}}
