:root{
  --navy:#1F3864;
  --navy-deep:#142844;
  --accent:#2F5496;
  --accent-light:#5B7FB5;
  --bg:#FAFAF8;
  --panel:#FFFFFF;
  --line:#E0E0DC;
  --text:#262626;
  --text-soft:#5C5C58;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family: Arial, Helvetica, sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
a{color:var(--accent);text-decoration:none;}
.container{max-width:1080px;margin:0 auto;padding:0 24px;}
.container.narrow{max-width:680px;}

/* ---------- NAV ---------- */
.site-nav{
  background:var(--panel);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:100;
}
.nav-inner{
  max-width:1080px;
  margin:0 auto;
  padding:16px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.nav-brand{
  font-weight:800;
  font-size:17px;
  letter-spacing:0.03em;
  color:var(--navy);
}
.nav-brand span{color:var(--accent);}
.nav-links{
  display:flex;
  gap:28px;
}
.nav-links a{
  font-size:14.5px;
  font-weight:600;
  color:var(--text-soft);
}
.nav-links a.active, .nav-links a:hover{color:var(--navy);}
.nav-cta{
  background:var(--navy);
  color:#fff !important;
  padding:10px 20px;
  border-radius:8px;
  font-size:14px;
  font-weight:700;
}
.nav-cta:hover{background:var(--navy-deep);}
@media(max-width:760px){
  .nav-links{display:none;}
}

/* ---------- HERO ---------- */
.hero{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);
  padding:80px 24px 70px;
  color:#fff;
}
.hero-inner{max-width:680px;margin:0 auto;text-align:center;}
.eyebrow{
  font-size:13px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#9FB4D8;
  margin:0 0 16px;
}
.hero h1{
  font-size:38px;
  line-height:1.25;
  margin:0 0 18px;
  font-weight:800;
}
.hero-sub{
  font-size:17px;
  color:#D9E2F3;
  margin:0 0 32px;
  line-height:1.6;
}
.hero-actions{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
}
.btn-primary{
  display:inline-block;
  background:#fff;
  color:var(--navy);
  padding:15px 28px;
  border-radius:10px;
  font-weight:700;
  font-size:15.5px;
}
.btn-primary:hover{background:#EFEFEF;}
.btn-secondary{
  display:inline-block;
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,0.4);
  padding:13px 26px;
  border-radius:10px;
  font-weight:700;
  font-size:15.5px;
}
.btn-secondary:hover{border-color:#fff;}
.hero-note{
  font-size:13px;
  color:#9FB4D8;
  margin-top:18px;
}

/* ---------- CREDIBILITY STRIP ---------- */
.credibility{
  background:var(--panel);
  border-bottom:1px solid var(--line);
  padding:36px 0;
}
.cred-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  text-align:center;
}
.cred-num{
  display:block;
  font-size:26px;
  font-weight:800;
  color:var(--navy);
}
.cred-label{
  font-size:13px;
  color:var(--text-soft);
}
@media(max-width:600px){
  .cred-grid{grid-template-columns:1fr;gap:24px;}
}

/* ---------- PROBLEM SECTION ---------- */
.problem-section{padding:70px 0;}
.problem-section h2{
  font-size:27px;
  color:var(--navy);
  text-align:center;
  margin:0 0 22px;
  line-height:1.35;
}
.problem-section p{
  font-size:16px;
  color:var(--text-soft);
  text-align:center;
  margin:0 0 16px;
}

/* ---------- SERVICES PREVIEW ---------- */
.services-preview{
  background:var(--panel);
  padding:70px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.section-title{
  font-size:27px;
  color:var(--navy);
  text-align:center;
  margin:0 0 40px;
}
.service-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
@media(max-width:900px){
  .service-cards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .service-cards{grid-template-columns:1fr;}
}
.service-card{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:14px;
  padding:26px 22px;
}
.sc-num{
  font-size:13px;
  font-weight:800;
  color:var(--accent-light);
  letter-spacing:0.05em;
}
.service-card h3{
  font-size:17px;
  color:var(--navy);
  margin:10px 0 10px;
}
.service-card p{
  font-size:14px;
  color:var(--text-soft);
  margin:0 0 14px;
}
.service-card a{
  font-size:13.5px;
  font-weight:700;
}

/* ---------- CTA SECTION ---------- */
.cta-section{
  padding:70px 0;
  text-align:center;
}
.cta-section h2{
  font-size:26px;
  color:var(--navy);
  margin:0 0 16px;
}
.cta-section p{
  font-size:15.5px;
  color:var(--text-soft);
  margin:0 0 26px;
}

/* ---------- FOOTER ---------- */
.site-footer{
  background:var(--navy-deep);
  color:#B9C6DE;
  padding:30px 0;
  text-align:center;
  font-size:13.5px;
}
.footer-sub{
  margin-top:4px;
  color:#7E92B5;
  font-size:12.5px;
}

/* ---------- GENERIC PAGE HEADER (About / Services / Contact) ---------- */
.page-header{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);
  padding:56px 24px 50px;
  color:#fff;
  text-align:center;
}
.page-header h1{
  font-size:32px;
  margin:0 0 10px;
}
.page-header p{
  color:#D9E2F3;
  font-size:15.5px;
  max-width:560px;
  margin:0 auto;
}

/* ---------- SERVICE DETAIL BLOCKS ---------- */
.service-detail{
  padding:60px 0;
  border-bottom:1px solid var(--line);
}
.service-detail:last-child{border-bottom:none;}
.sd-head{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.sd-head h2{
  font-size:24px;
  color:var(--navy);
  margin:0;
}
.sd-tag{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--accent);
  background:#EEF2F8;
  padding:4px 12px;
  border-radius:20px;
}
.sd-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:36px;
  margin-top:20px;
}
@media(max-width:760px){
  .sd-grid{grid-template-columns:1fr;}
}
.sd-grid p{color:var(--text-soft);font-size:15px;}
.sd-list{
  list-style:none;
  margin:0;
  padding:0;
}
.sd-list li{
  font-size:14.5px;
  color:var(--text);
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.sd-list li:last-child{border-bottom:none;}
.sd-side{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px;
}
.sd-side h4{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--navy);
  margin:0 0 14px;
}
.sd-price{
  font-size:20px;
  font-weight:800;
  color:var(--navy);
  margin-bottom:4px;
}
.sd-price-note{
  font-size:12.5px;
  color:var(--text-soft);
  margin-bottom:18px;
}
.sd-cta{
  display:block;
  text-align:center;
  background:var(--navy);
  color:#fff !important;
  padding:12px;
  border-radius:8px;
  font-weight:700;
  font-size:14px;
}
.sd-cta:hover{background:var(--navy-deep);}

/* ---------- ABOUT PAGE ---------- */
.about-section{padding:60px 0;}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  align-items:start;
}
@media(max-width:760px){
  .about-grid{grid-template-columns:1fr;}
}
.about-grid h2{
  font-size:24px;
  color:var(--navy);
  margin-top:0;
}
.about-grid p{font-size:15px;color:var(--text-soft);}
.value-list{
  list-style:none;
  margin:0;padding:0;
}
.value-list li{
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-size:14.5px;
}
.value-list li strong{color:var(--navy);display:block;margin-bottom:3px;}

/* ---------- LINKEDIN LINK ---------- */
.linkedin-link{margin-top:20px;}
.linkedin-link a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--accent);
  font-weight:700;
  font-size:14.5px;
}
.linkedin-link a:hover{color:var(--navy);}
.linkedin-link svg{flex-shrink:0;}

/* ---------- CONTACT PAGE ---------- */
.contact-section{padding:60px 0;}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
@media(max-width:760px){
  .contact-grid{grid-template-columns:1fr;}
}
.contact-form{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:14px;
  padding:30px;
}
.results-banner{
  background:#E9F3EA;
  border:1px solid #BFE0C4;
  color:#2D5A35;
  font-size:13.5px;
  font-weight:600;
  padding:12px 16px;
  border-radius:8px;
  margin-bottom:20px;
}
.hidden{display:none !important;}
.form-row{margin-bottom:18px;}
.form-row label{
  display:block;
  font-size:13.5px;
  font-weight:700;
  color:var(--navy);
  margin-bottom:6px;
}
.form-row input, .form-row textarea, .form-row select{
  width:100%;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  font-family:Arial,sans-serif;
  font-size:14.5px;
  color:var(--text);
}
.form-row textarea{resize:vertical;min-height:90px;}
.form-submit{
  width:100%;
  background:var(--navy);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:14px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
.form-submit:hover{background:var(--navy-deep);}
.contact-info h3{
  font-size:18px;
  color:var(--navy);
  margin-top:0;
}
.contact-info p{font-size:14.5px;color:var(--text-soft);}
.contact-detail{
  margin:24px 0;
  padding:18px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
}
.contact-detail strong{color:var(--navy);display:block;font-size:13px;margin-bottom:4px;}
