@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --navy: #0F2138;
  --navy-2: #16304F;
  --cloud: #F6F8FA;
  --panel: #FFFFFF;
  --slate: #55647A;
  --slate-soft: #8896A8;
  --amber: #E8A33D;
  --amber-dark: #C77E1C;
  --teal: #2E8B87;
  --coral: #D9583F;
  --line: #E3E8EE;
  --radius: 14px;
  --maxw: 1180px;
}

/* ---- Custom from Aldz --- */
.section-head,
.steps .step {
    padding: 0 20px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html, body{max-width:100%; overflow-x:hidden;}
body{
  margin:0; background:var(--cloud); color:var(--navy);
  font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif; margin:0 0 .4em; line-height:1.2; overflow-wrap:break-word;}
p{margin:0 0 1em; overflow-wrap:break-word;}
a{color:inherit;}
img{max-width:100%; display:block;}
.mono{font-family:'IBM Plex Mono',monospace;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 20px; width:100%;}
.section{padding:64px 0;}
.section-sm{padding:36px 0;}
@media (max-width:700px){ .section{padding:44px 0;} }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 24px; border-radius:9px; font-weight:700; font-size:14.5px;
  text-decoration:none; cursor:pointer; border:none; font-family:'Inter',sans-serif;
  transition:all .15s ease;
}
.btn-primary{background:var(--amber); color:var(--navy);}
.btn-primary:hover{background:var(--amber-dark); color:#fff;}
.btn-outline{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5);}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.08);}
.btn-navy{background:var(--navy); color:#fff;}
.btn-navy:hover{background:var(--navy-2);}
.btn-block{width:100%;}

/* ---------- Header / Nav ---------- */
#site-header{position:sticky; top:0; z-index:100; background:var(--navy); box-shadow:0 1px 0 rgba(255,255,255,.06);}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:14px 20px; max-width:var(--maxw); margin:0 auto;}
.nav-logo img{height:42px; width:auto;}
.nav-links{display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0;}
.nav-links a{color:#CBD6E4; text-decoration:none; font-size:14px; font-weight:600; transition:color .15s;}
.nav-links a:hover, .nav-links a.active{color:#fff;}
.nav-cta{background:var(--amber); color:var(--navy) !important; padding:10px 18px; border-radius:8px; font-weight:700;}
.nav-cta:hover{background:var(--amber-dark); color:#fff !important;}
.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
.nav-toggle span{display:block; width:24px; height:2px; background:#fff; margin:5px 0; border-radius:2px;}

@media (max-width:860px){
  .nav-toggle{display:block;}
  .nav-links{
    position:absolute; top:100%; left:0; right:0; background:var(--navy-2);
    flex-direction:column; align-items:flex-start; gap:0; padding:8px 20px 18px;
    display:none; border-top:1px solid rgba(255,255,255,.08);
  }
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;}
  .nav-links a{display:block; padding:12px 0; width:100%; border-bottom:1px solid rgba(255,255,255,.06);}
  .nav-cta{margin-top:10px; text-align:center;}
}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff; padding:72px 0 84px; position:relative; overflow:hidden;}
.hero .badge{
  display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.06em;
  background:rgba(232,163,61,.15); color:var(--amber); padding:6px 12px; border-radius:20px;
  border:1px solid rgba(232,163,61,.35); margin-bottom:18px;
}
.hero h1{font-size:42px; max-width:640px; letter-spacing:-0.01em;}
.hero p.lead{font-size:17px; color:#B9C6D6; max-width:520px; margin-bottom:28px;}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap;}
@media (max-width:600px){ .hero h1{font-size:30px;} .hero{padding:48px 0 60px;} }

.page-hero{background:linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff; padding:52px 0;}
.page-hero h1{font-size:32px;}
.page-hero p{color:#B9C6D6; max-width:560px; font-size:15.5px;}

/* ---------- Cards / grids ---------- */
.grid{display:grid; gap:20px;}
.grid-3{grid-template-columns:repeat(3, minmax(0,1fr));}
.grid-2{grid-template-columns:repeat(2, minmax(0,1fr));}
.grid > *{min-width:0;}
@media (max-width:860px){ .grid-3{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width:600px){ .grid-3, .grid-2{grid-template-columns:minmax(0,1fr);} }

.card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:0 1px 2px rgba(15,33,56,.03);}
.card h3{font-size:17px; margin-bottom:8px;}
.card p{color:var(--slate); font-size:14.5px; margin-bottom:0;}
.icon-badge{
  width:44px; height:44px; border-radius:11px; background:#FFF3E0; color:var(--amber-dark);
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}

/* ---------- Footer ---------- */
#site-footer{background:var(--navy); color:#B9C6D6; padding:44px 0 24px; margin-top:40px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px; margin-bottom:32px;}
.footer-grid > *{min-width:0;}
@media (max-width:700px){ .footer-grid{grid-template-columns:minmax(0,1fr); gap:24px;} }
.footer-grid img{height:36px; width:auto; margin-bottom:10px;}
.footer-grid h4{color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px;}
.footer-grid ul{list-style:none; margin:0; padding:0;}
.footer-grid li{margin-bottom:8px;}
.footer-grid a{color:#B9C6D6; text-decoration:none; font-size:14px;}
.footer-grid a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding-top:18px; font-size:12.5px; color:#7E8FA6; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;}

/* ---------- Section heading ---------- */
.eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.08em; color:var(--teal); text-transform:uppercase; margin-bottom:8px;}
.section-head{max-width:600px; margin-bottom:36px;}
.section-head h2{font-size:28px;}
.section-head p{color:var(--slate); font-size:15.5px;}

/* ---------- Forms (shared) ---------- */
label.field-label{display:block; font-size:12px; font-weight:600; color:var(--slate); margin:0 0 6px; text-transform:uppercase; letter-spacing:.03em;}
.field{margin-bottom:16px;}
input[type=text], input[type=email], input[type=tel], input[type=date], input[type=time], select, textarea{
  width:100%; min-width:0; padding:11px 12px; border-radius:9px; border:1px solid var(--line);
  font-family:'Inter',sans-serif; font-size:14px; background:#fff; color:var(--navy);
}
textarea{resize:vertical; min-height:110px;}
input:focus, select:focus, textarea:focus{outline:2px solid var(--amber); outline-offset:1px;}
input:disabled{background:#F0F2F5; color:var(--slate-soft); cursor:not-allowed;}
