/* Cigma Solutions — main stylesheet (navy + amber) */

:root{
  --navy:#0B1F2E;
  --navy-surface:#123047;
  --navy-surface-2:#17384F;
  --navy-border:rgba(242,237,228,0.12);
  --amber:#E8A33D;
  --amber-light:#F3C98A;
  --amber-dark:#1A1204;
  --text-primary:#F2EDE4;
  --text-body:#D7CFC2;
  --text-muted:#9FB0BC;
  --max:1120px;
}

*, *::before, *::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--navy);
  color:var(--text-body);
  font-family:'IBM Plex Sans', Arial, sans-serif;
  font-size:16px;
  line-height:1.7;
}

h1,h2,h3,h4{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  color:var(--text-primary);
  margin:0 0 .5em;
  line-height:1.25;
}
h1{ font-size:2.5rem; }
h2{ font-size:2rem; }
h3{ font-size:1.3rem; }
h4{ font-size:1.05rem; font-weight:500; color:var(--amber-light); }

p{ margin:0 0 1.1em; }

a{ color:var(--amber); text-decoration:none; }
a:hover{ color:var(--amber-light); }

ul{ margin:0 0 1.1em; padding-left:1.2em; }
li{ margin-bottom:.5em; }

img{ max-width:100%; display:block; }

.wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }

/* ---------- Nav ---------- */
.site-nav{
  background:var(--navy);
  border-bottom:1px solid var(--navy-border);
  position:relative;
  z-index:100;
}
.site-nav .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:16px;
  padding-bottom:16px;
  flex-wrap:wrap;
  gap:12px;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand span{
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--text-primary);
  font-size:1.25rem;
}
.nav-links{
  list-style:none;
  display:flex;
  gap:26px;
  margin:0;
  padding:0;
  flex-wrap:wrap;
  align-items:center;
}
.nav-links > li{ margin:0; position:relative; }
.nav-links > li > a{
  color:var(--text-body);
  font-size:14px;
  font-weight:500;
  padding:8px 0;
  display:inline-block;
}
.nav-links > li > a:hover{ color:var(--amber); }
.dropdown-toggle{
  background:none;
  border:none;
  cursor:pointer;
  color:var(--text-body);
  font-size:14px;
  font-weight:500;
  font-family:'IBM Plex Sans', Arial, sans-serif;
  padding:8px 0;
}
.dropdown-toggle:hover,
.dropdown.open .dropdown-toggle{ color:var(--amber); }
.nav-links .dropdown{ position:relative; }
.nav-links .dropdown-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:var(--navy-surface);
  border:1px solid var(--navy-border);
  border-radius:8px;
  padding:8px;
  min-width:220px;
  list-style:none;
  margin:6px 0 0;
}
.nav-links .dropdown.open .dropdown-menu{ display:block; }
.dropdown-menu li a{
  display:block;
  padding:8px 12px;
  border-radius:6px;
  font-size:14px;
  color:var(--text-body);
}
.dropdown-menu li a:hover{ background:var(--navy-surface-2); color:var(--amber); }
.nav-cta{
  color:var(--text-body);
  font-size:14px;
  font-weight:500;
  padding:8px 0;
}
.nav-cta:hover{ color:var(--amber); }

/* mobile nav toggle */
.nav-toggle{ display:none; background:none; border:1px solid var(--navy-border); color:var(--text-primary); border-radius:6px; padding:8px 10px; font-size:14px; }
@media (max-width:860px){
  .nav-toggle{ display:inline-block; }
  .nav-links{
    display:none;
    flex-direction:column;
    align-items:flex-start;
    width:100%;
    gap:4px;
    padding-top:12px;
  }
  .nav-links.open{ display:flex; }
  .nav-links .dropdown-menu{ position:static; border:none; background:none; padding:0 0 0 12px; display:none; }
  .nav-links .dropdown.open .dropdown-menu{ display:block; }
  .nav-links > li{ width:100%; }
}

/* ---------- Hero ---------- */
.hero{ padding:72px 0 60px; text-align:center; }
.hero .eyebrow{
  color:var(--amber);
  font-weight:600;
  font-size:13px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  margin-bottom:16px;
}
.hero h1{ max-width:820px; margin-left:auto; margin-right:auto; }
.hero .lead{
  max-width:640px;
  margin:0 auto 30px;
  font-size:17px;
  color:var(--text-body);
}
.hero-buttons{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

.hero.hero-compact{ padding:52px 0 44px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;
  padding:13px 26px;
  border-radius:5px;
  font-weight:600;
  font-size:15px;
  text-align:center;
}
.btn-primary{ background:var(--amber); color:var(--amber-dark); }
.btn-primary:hover{ background:var(--amber-light); color:var(--amber-dark); }
.btn-secondary{ background:transparent; color:var(--text-primary); border:1.5px solid var(--navy-border); }
.btn-secondary:hover{ border-color:var(--amber); color:var(--amber); }

/* ---------- Sections ---------- */
.section{ padding:56px 0; }
.section-tight{ padding:32px 0; }
.section-title{ text-align:center; margin-bottom:36px; }
.section-title h2{ margin-bottom:10px; }
.section-title p{ color:var(--text-muted); max-width:600px; margin:0 auto; }

.prose{ max-width:760px; margin:0 auto; }
.prose h3{ margin-top:1.6em; }

/* ---------- Card grid ---------- */
.grid{ display:grid; gap:20px; }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:860px){
  .grid-3, .grid-2{ grid-template-columns:1fr; }
}

.card{
  background:var(--navy-surface);
  border:1px solid var(--navy-border);
  border-radius:10px;
  padding:26px 24px;
}
.card .icon{
  width:42px; height:42px;
  border-radius:8px;
  background:var(--navy-surface-2);
  color:var(--amber);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif; font-weight:600; font-size:16px;
  margin-bottom:14px;
  border:1px solid var(--navy-border);
}
.card h3{ font-size:1.1rem; margin-bottom:8px; }
.card p{ font-size:14px; color:var(--text-body); margin-bottom:0; }
.card p:not(:last-child){ margin-bottom:.6em; }

/* ---------- Checklist / benefit list ---------- */
.check-list{ list-style:none; padding:0; margin:0; }
.check-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px 0;
  border-bottom:1px solid var(--navy-border);
  font-size:14.5px;
  color:var(--text-body);
}
.check-list li:last-child{ border-bottom:none; }
.check-list li::before{
  content:"›";
  color:var(--amber);
  font-weight:700;
  font-size:18px;
  line-height:1.3;
}

/* ---------- Stats ---------- */
.stats{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; text-align:center; }
@media (max-width:860px){ .stats{ grid-template-columns:repeat(2,1fr); } }
.stat b{ display:block; font-family:'Fraunces',serif; font-size:1.8rem; color:var(--amber); }
.stat span{ font-size:13px; color:var(--text-muted); }

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--navy-surface);
  border-top:1px solid var(--navy-border);
  border-bottom:1px solid var(--navy-border);
  padding:48px 0;
  text-align:center;
}
.cta-band h3{ margin-bottom:10px; }
.cta-band p{ color:var(--text-body); max-width:560px; margin:0 auto 22px; }

/* ---------- Footer ---------- */
footer{
  background:#081620;
  color:var(--text-muted);
  padding:48px 0 24px;
  font-size:14px;
}
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:32px; margin-bottom:32px; }
@media (max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
.footer-grid h4{ color:var(--text-primary); font-size:14px; margin-bottom:14px; text-transform:uppercase; letter-spacing:.5px; }
.footer-grid ul{ list-style:none; padding:0; margin:0; }
.footer-grid ul li{ margin-bottom:8px; }
.footer-grid ul li a{ color:var(--text-muted); font-size:14px; }
.footer-grid ul li a:hover{ color:var(--amber); }
.footer-bottom{
  border-top:1px solid var(--navy-border);
  padding-top:20px;
  text-align:center;
  font-size:13px;
}
.footer-brand{ color:var(--text-primary); font-family:'Fraunces',serif; font-size:1.2rem; margin-bottom:8px; }

/* ---------- Utilities ---------- */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
@media (max-width:600px){
  .hero h1{ font-size:1.9rem; }
  h2{ font-size:1.6rem; }
}
