
:root{
  --blue:#1857d9;--blue2:#2f72ff;--navy:#0d1c3d;--purple:#7757ea;--text:#17213a;
  --muted:#667085;--border:#e7ebf3;--soft:#f7f9fd;--white:#fff;--shadow:0 24px 60px rgba(25,55,110,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}img{max-width:100%}.container{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:88px 0}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(231,235,243,.9)}
.nav-wrap{height:76px;display:flex;align-items:center;gap:24px;position:relative}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}
.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--purple));display:grid;place-items:center;color:white;font-weight:800;letter-spacing:-1px;box-shadow:0 8px 20px rgba(52,93,220,.22)}
.brand-name{font-family:Manrope,Inter,sans-serif;font-weight:800;font-size:17px;line-height:1}.brand-sub{font-size:10px;letter-spacing:2.4px;color:#788298;margin-top:5px}
.nav-group{display:flex;align-items:center;gap:22px;margin-left:auto}.nav{display:flex;align-items:center;gap:22px}.nav a{font-size:13px;font-weight:700;color:#46506a}.nav a:hover,.nav a.active{color:var(--blue)}
.nav-item{position:relative}.nav-item>a{display:flex;align-items:center;gap:6px}.nav-arrow{font-size:11px;transition:.2s}
.dropdown{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%) translateY(-4px);width:340px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 22px 55px rgba(22,48,96,.14);padding:10px;opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease;z-index:100}
.nav-item:hover .dropdown,.nav-item.open .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dropdown a{display:grid!important;grid-template-columns:40px 1fr;gap:11px;align-items:center;padding:12px;border-radius:11px;color:#27334f!important}.dropdown a:hover{background:#f5f8ff;color:var(--blue)!important}
.drop-icon{width:38px;height:38px;border-radius:10px;background:#edf3ff;color:var(--blue);display:grid;place-items:center;font-size:16px;font-weight:800}.drop-title{display:block;font-size:13px;font-weight:800}.drop-sub{display:block;font-size:10px;color:#8a94a8;margin-top:1px;font-weight:500}
.top-contact{display:flex;align-items:center;gap:16px}.top-contact a{font-size:12px;color:#526078;font-weight:600;white-space:nowrap}.top-contact .sep{width:1px;height:26px;background:#e3e8f1}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:12px;font-weight:800;font-size:14px;border:1px solid transparent;transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 10px 24px rgba(33,91,223,.22)}.btn-secondary{background:#fff;border-color:#dfe5ef;color:#27334f}.btn-white{background:#fff;color:var(--blue)}.btn-sm{padding:11px 15px}.menu-btn{display:none;margin-left:auto;background:none;border:0;font-size:26px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:2.2px;color:var(--blue);margin-bottom:16px}h1,h2,h3{font-family:Manrope,Inter,sans-serif;color:var(--navy);margin-top:0}h1{font-size:56px;line-height:1.07;letter-spacing:-2.4px;margin-bottom:18px}h2{font-size:40px;line-height:1.18;letter-spacing:-1.3px}h3{font-size:20px}p{color:var(--muted)}
.hero{position:relative;overflow:hidden;padding:46px 0 68px;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:58px;align-items:center;min-height:500px}.hero h1 span{color:var(--blue)}.hero-desc{font-size:17px;max-width:690px;margin-top:0;margin-bottom:0;line-height:1.7}.hero-actions{display:flex;gap:12px;margin:26px 0 26px}.hero-points{display:flex;flex-wrap:wrap;gap:11px}.hero-points span{font-size:12px;font-weight:700;color:#43506d;padding:8px 11px;background:#f7f9fd;border:1px solid var(--border);border-radius:999px}
.visual-card{border:1px solid #edf0f7;border-radius:24px;background:#fff;padding:24px;box-shadow:0 24px 65px rgba(25,55,110,.11)}.visual-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.visual-top small{color:#8993a9;font-weight:800;letter-spacing:1.4px}.visual-top strong{display:block;font-size:21px;color:var(--navy)}.badge{font-size:11px;font-weight:800;padding:7px 9px;border-radius:999px;background:#ebf8f2;color:#14885f}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.metric{padding:16px;border-radius:14px;background:#f8faff}.metric span,.metric small{display:block;font-size:11px;color:#7b869d}.metric strong{display:block;font-size:20px;margin:2px 0;color:var(--navy)}.chart{height:165px;border:1px solid #eef2f8;border-radius:15px;padding:18px;display:flex;align-items:flex-end;gap:12px;background:linear-gradient(180deg,#f6f9ff,#fff)}.chart span{flex:1;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--purple),var(--blue))}
.mini-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.mini-row div{border:1px solid var(--border);border-radius:11px;padding:11px}.mini-row small{display:block;color:#8791a3}.mini-row strong{font-size:13px}
.soft{background:var(--soft)}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:40px}.service-grid,.post-grid,.team-grid,.testimonial-grid,.logo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card,.post-card,.team-card,.testimonial-card,.logo-card{padding:27px;border:1px solid var(--border);border-radius:19px;background:#fff;transition:.2s}.service-card:hover,.post-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(24,54,104,.09)}
.service-card .num{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#eef4ff;color:var(--blue);font-size:12px;font-weight:800;margin-bottom:20px}.service-card p{font-size:14px;min-height:95px}.service-card a,.post-card a{font-size:13px;color:var(--blue);font-weight:800}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.feature-list{display:grid;gap:13px}.feature{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:16px 0;border-bottom:1px solid var(--border)}.feature b{color:var(--purple);font-size:12px}.feature strong{display:block;color:var(--navy);margin-bottom:3px}.feature p{margin:0;font-size:13px}
.panel{border:1px solid var(--border);border-radius:22px;background:#fff;padding:30px;box-shadow:0 16px 45px rgba(28,56,105,.06)}.panel.blue{background:linear-gradient(145deg,#102451,#12357c);color:white;border:0}.panel.blue h3,.panel.blue strong{color:#fff}.panel.blue p,.panel.blue li{color:#cad4e8}.checks{list-style:none;padding:0;margin:18px 0 0}.checks li{padding:10px 0;border-bottom:1px solid rgba(128,144,174,.2);font-size:13px}.checks li:before{content:"✓";color:#5ec7a0;font-weight:900;margin-right:9px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:23px 19px;border-top:3px solid #dce6fb;background:#fbfcff}.step span{font-size:12px;font-weight:800;color:var(--blue)}.step h3{margin:14px 0 7px;font-size:17px}.step p{font-size:13px}
.cta{padding:45px;border-radius:28px;background:linear-gradient(135deg,#174bc5 0%,#275ed9 52%,#7357de 100%);color:#fff;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}.cta h2{color:#fff;margin-bottom:10px}.cta p{color:#e3eaff;margin:0}
.page-hero{padding:78px 0 72px;background:linear-gradient(180deg,#fbfdff,#f6f8fd);border-bottom:1px solid var(--border)}.page-hero-grid{display:grid;grid-template-columns:1fr .75fr;gap:65px;align-items:center}.page-hero h1{font-size:48px}.tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--blue);background:#edf3ff;border-radius:999px;padding:8px 11px;margin-bottom:16px}
.content-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:45px}.content-main h2{font-size:32px}.content-main h3{font-size:20px;margin-top:32px}.sidebar{position:sticky;top:105px;align-self:start}.side-box{border:1px solid var(--border);border-radius:18px;padding:22px;background:#fff;margin-bottom:15px}
.contact-page-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:55px;align-items:start}.contact-info-stack{display:grid;gap:14px;margin-top:26px}.contact-info-box{display:grid;grid-template-columns:46px 1fr;gap:14px;border:1px solid var(--border);border-radius:16px;padding:18px;background:#fff}.contact-info-box .cicon{width:46px;height:46px;border-radius:12px;background:#edf3ff;color:var(--blue);display:grid;place-items:center;font-weight:900}.contact-info-box small{display:block;color:#8a94a6}.contact-info-box strong{display:block;color:var(--navy)}
.contact-form{border:1px solid var(--border);border-radius:20px;padding:28px;background:#fff;box-shadow:0 18px 45px rgba(30,60,110,.06)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{font-size:12px;font-weight:800;color:#36415b;display:block;margin-bottom:14px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;border:1px solid #dfe5ef;border-radius:10px;padding:12px 13px;font:inherit;font-size:13px}
.team-card img{width:100%;height:230px;object-fit:cover;border-radius:13px;margin-bottom:14px}.team-card small,.post-card small{color:#7e889b}.testimonial-card blockquote{margin:0 0 18px;font-size:14px;color:#4c5872}.logo-card{display:grid;place-items:center;min-height:120px}.logo-card img{max-height:54px;max-width:160px}
.post-card img{width:100%;height:190px;object-fit:cover;border-radius:13px;margin-bottom:15px}.post-content{max-width:820px}.post-content img{max-width:100%;border-radius:16px}.post-content h2,.post-content h3{margin-top:28px}
.footer{background:#0a1631;color:#d9e1f3;padding:55px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}.footer-brand .brand-name{color:#fff}.footer p{font-size:13px;color:#9ca9c5;max-width:310px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:8px}.footer-grid strong{color:#fff;font-size:13px;margin-bottom:5px}.footer-grid a,.footer-grid span{font-size:12px;color:#9ca9c5}.copyright{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:34px;display:flex;justify-content:space-between;font-size:11px;color:#7e8baa}
@media(max-width:1180px){.top-contact{display:none}}@media(max-width:980px){.nav-group>.nav{display:none}.menu-btn{display:block}.nav-group>.nav.open{display:flex;position:absolute;left:20px;right:20px;top:72px;flex-direction:column;align-items:stretch;padding:18px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.nav-item{width:100%}.nav-item>a{justify-content:space-between}.dropdown{position:static;transform:none!important;width:100%;box-shadow:none;border:0;padding:7px 0 0;opacity:1;visibility:visible;pointer-events:auto;display:none}.nav-item.open .dropdown{display:block}.hero-grid,.two-col,.page-hero-grid,.content-grid,.cta,.contact-page-grid{grid-template-columns:1fr}.service-grid,.post-grid,.team-grid,.testimonial-grid,.logo-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr;gap:15px}.sidebar{position:static}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.container{width:min(100% - 28px,1160px)}.section{padding:65px 0}h1{font-size:40px}.page-hero h1{font-size:38px}h2{font-size:31px}.service-grid,.post-grid,.team-grid,.testimonial-grid,.logo-grid,.steps,.metric-grid,.mini-row,.form-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.footer-grid{grid-template-columns:1fr}.copyright{flex-direction:column;gap:5px}}


/* ===== V2.1 HERO SPACING & POLISH ===== */
.hero > .container{
  position:relative;
  z-index:2;
}
.hero-grid > div:first-child{
  padding-top:4px;
}
.hero .eyebrow{
  margin-bottom:14px;
}
.hero-points{
  margin-top:4px;
  padding-top:20px;
  border-top:1px solid #e9edf4;
  gap:0;
}
.hero-points span{
  background:transparent;
  border:0;
  border-radius:0;
  padding:2px 20px;
  position:relative;
  color:#35425f;
  font-size:12px;
  font-weight:700;
}
.hero-points span:first-child{
  padding-left:0;
}
.hero-points span:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:2px;
  width:1px;
  height:20px;
  background:#dfe5ef;
}
.header{
  box-shadow:0 5px 18px rgba(23,49,91,.035);
}
.visual-card{
  transform:translateY(0);
}
@media(min-width:981px){
  .hero{
    min-height:auto;
  }
}
@media(max-width:980px){
  .hero{
    padding:40px 0 58px;
  }
  .hero-grid{
    min-height:auto;
    gap:42px;
  }
}
@media(max-width:640px){
  .nav-wrap{
    height:68px;
  }
  .hero{
    padding:30px 0 48px;
  }
  .hero-grid{
    gap:32px;
  }
  .hero .eyebrow{
    margin-bottom:11px;
  }
  .hero-actions{
    margin:22px 0;
  }
  .hero-points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 12px;
    padding-top:16px;
  }
  .hero-points span{
    padding:6px 0;
  }
  .hero-points span::after{
    display:none!important;
  }
}


/* =========================================================
   FR CONSULTANT CMS V2.2 - FORCED HERO SPACING FIX
   DO NOT REMOVE: placed at end so these rules override prior CSS
   ========================================================= */
html body .header{
  min-height:76px !important;
}
html body .nav-wrap{
  height:76px !important;
  min-height:76px !important;
}
html body .hero{
  padding-top:28px !important;
  padding-bottom:54px !important;
  margin-top:0 !important;
}
html body .hero .container{
  margin-top:0 !important;
  padding-top:0 !important;
}
html body .hero-grid{
  min-height:0 !important;
  margin-top:0 !important;
  padding-top:0 !important;
  gap:52px !important;
  align-items:center !important;
}
html body .hero-grid > div:first-child{
  margin-top:0 !important;
  padding-top:0 !important;
}
html body .hero .eyebrow{
  margin-top:0 !important;
  margin-bottom:12px !important;
}
html body .hero h1{
  margin-top:0 !important;
  margin-bottom:16px !important;
}
html body .hero-desc{
  margin-top:0 !important;
}
html body .visual-card{
  margin-top:0 !important;
}
@media (min-width:981px){
  html body .hero{
    padding-top:28px !important;
  }
}
@media (max-width:980px){
  html body .hero{
    padding-top:24px !important;
    padding-bottom:46px !important;
  }
  html body .nav-wrap{
    height:70px !important;
    min-height:70px !important;
  }
}
@media (max-width:640px){
  html body .hero{
    padding-top:20px !important;
    padding-bottom:38px !important;
  }
}
