/* 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:1280px;
}

*, *::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:clamp(2.35rem,4.4vw,4.25rem); }
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:78px 0 66px; text-align:left; background:radial-gradient(circle at 83% 12%,rgba(37,77,102,.38),transparent 36%); }
.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:920px; }
.hero .lead{
  max-width:720px;
  margin:0 0 30px;
  font-size:17px;
  color:var(--text-body);
}
.hero-buttons{ display:flex; gap:14px; justify-content:flex-start; 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:left; margin-bottom:32px; }
.section-title h2{ margin-bottom:10px; }
.section-title p{ color:var(--text-muted); max-width:720px; margin:0; }

.prose{ max-width:880px; margin:0; }
.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; }

/* Wider editorial layouts keep long text readable while using the canvas. */
.section-soft{ background:#102a3d; border-block:1px solid var(--navy-border); }
.home-hero .wrap{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:clamp(28px,5vw,80px); align-items:center; }
.home-hero h1{ max-width:760px; }
.workflow-visual{ position:relative; background:linear-gradient(145deg,#17384f,#0e2638); border:1px solid rgba(243,201,138,.25); border-radius:18px; padding:28px; box-shadow:0 22px 48px rgba(0,0,0,.18); overflow:hidden; }
.workflow-visual::before{ content:""; position:absolute; width:180px; height:180px; border-radius:50%; background:rgba(232,163,61,.1); filter:blur(32px); right:-50px; top:-50px; }
.workflow-label{ color:var(--amber-light); font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:16px; }
.workflow-step{ position:relative; display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:center; background:rgba(11,31,46,.83); border:1px solid var(--navy-border); border-radius:10px; padding:14px; margin-bottom:10px; }
.workflow-step:last-child{ margin-bottom:0; }
.workflow-step span{ display:grid; place-items:center; width:38px; height:38px; border-radius:8px; background:var(--navy-surface-2); color:var(--amber); font-weight:600; }
.workflow-step strong{ display:block; color:var(--text-primary); font-size:.93rem; }
.workflow-step small{ display:block; color:var(--text-muted); line-height:1.4; }
.project-card{ padding:0; overflow:hidden; }
.project-art{ display:flex; align-items:flex-end; min-height:165px; padding:20px 24px; background:linear-gradient(130deg,#214b63,#123047 58%,#0b1f2e); border-bottom:1px solid var(--navy-border); }
.project-art span{ display:inline-block; color:var(--amber-light); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:600; }
.project-card .project-body{ padding:24px; }
.project-card .project-body h3{ font-size:1.3rem; }
.project-card .project-body p{ font-size:15px; }
.project-card .project-body a{ display:inline-block; margin-top:12px; font-weight:600; }
.project-card:hover{ border-color:rgba(232,163,61,.5); transform:translateY(-3px); box-shadow:0 16px 28px rgba(0,0,0,.14); }
.project-card:focus-within{ border-color:var(--amber); }
.project-card,.btn{ transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease; }
.btn:hover{ transform:translateY(-2px); }
.split-feature{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,5vw,70px); align-items:center; }
.split-feature .prose{ max-width:620px; }
.feature-panel{ background:var(--navy-surface); border:1px solid var(--navy-border); border-radius:14px; padding:28px; }
.feature-panel ul{ margin-bottom:0; }
.eyebrow-inline{ color:var(--amber); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; margin-bottom:12px; }
@media (max-width:900px){ .home-hero .wrap,.split-feature{ grid-template-columns:1fr; } .workflow-visual{ max-width:650px; } }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .project-card,.btn{transition:none} .project-card:hover,.btn:hover{transform:none} }

/* ---------- 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;
}

/* Digital Marketing service navigation */
.marketing-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;list-style:none;padding:0;margin:0}
.marketing-link-grid li{margin:0}
.marketing-link-grid a{display:block;height:100%;padding:13px 16px;border:1px solid var(--navy-border);border-radius:8px;background:var(--navy-surface);font-weight:500}
.marketing-link-grid a:hover,.marketing-link-grid a:focus-visible{border-color:var(--amber);background:var(--navy-surface-2)}
.marketing-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.marketing-directory section{background:var(--navy-surface);border:1px solid var(--navy-border);border-radius:10px;padding:24px}
.marketing-directory h3{margin-bottom:14px}
.marketing-directory ul{margin:0;padding-left:20px}
@media(max-width:860px){.marketing-link-grid,.marketing-directory{grid-template-columns:1fr}}

/* ---------- Stats ---------- */

/* ---------- 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; }
}
