h1, h2, h3{
color:#1e3a8a;
font-weight:700;
}

h2{
font-size:34px;
margin-bottom:25px;
text-align:center;
}

h3{
font-size:22px;
}

h1{
font-size:42px;
}
section h2{
font-size:34px;
color:white;
text-align:center;
margin-bottom:30px;
font-weight:700;
}
body{
font-family:Arial;
margin:0;
background:#f5f5f5;
line-height:1.6;
}

header{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 10%;
background:white;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
}
header{
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 10%;
background:#e7dfcf;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
}
nav a{
margin-left:20px;
text-decoration:none;
color:black;
font-weight:bold;
}

.hero{
background-image:url("https://images.unsplash.com/photo-1556761175-b413da4baf72");
background-size:cover;
background-position:center;
color:white;
padding:160px 10%;
text-align:center;
}

.hero h1{
font-size:42px;
margin-bottom:20px;
}

.hero button{
padding:12px 24px;
border:none;
background:white;
color:#2563eb;
font-weight:bold;
border-radius:5px;
cursor:pointer;
}

.about, .mission, .clients, .revenue{
padding:80px 10%;
background:white;
margin-top:10px;
}

.service{
background:#f7f7f7;
padding:25px;
border-radius:8px;
}

.service-box{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:40px;
}
.service{
background:white;
padding:25px;
border-radius:8px;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
transition:0.3s;
}

.service:hover{
transform:translateY(-6px);
}
header{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 10%;
background:white;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
}
.logo{
height:120px;
width:auto;
display:block;
object-fit:contain;
}

.contact{
padding:80px 10%;
text-align:center;
background:white;
}

footer{
background:#111;
color:white;
text-align:center;
padding:20px;
margin-top:20px;
}
.slider{
height:300px;
background:#1e3a8a;
color:white;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

.slide{
display:none;
font-size:32px;
}

.slide.active{
display:block;
}
.ai-chat{
position:fixed;
bottom:20px;
right:20px;
background:#2563eb;
color:white;
font-size:24px;
padding:15px;
border-radius:50%;
cursor:pointer;
box-shadow:0 5px 20px rgba(0,0,0,0.3);
}
@media(max-width:768px){

header{
flex-direction:column;
}

nav{
margin-top:10px;
}

.service-box{
grid-template-columns:1fr;
}

.hero h1{
    .service-hero h1{
color:white;
font-size:20px;
text-align:center;
}
font-size:20px;
}
.service-hero{
width:100vw;
height:450px;

background-size:cover;
background-position:center;
background-repeat:no-repeat;

display:flex;
align-items:center;
justify-content:center;

position:relative;
text-align:center;

margin-left:calc(-50vw + 50%);
}

/* dark overlay */

.service-hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
}

/* heading */

.service-hero h1{
position:relative;
z-index:2;
color:white !important;
font-size:44px;
margin:0;
max-width:900px;
}
.service-hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
}

.service-hero h1{
position:relative;
z-index:2;
color:white;
font-size:42px;
}
}
.nav{
display:flex;
gap:25px;
align-items:center;
}

.mega-dropdown{
position:static;
}

.nav{
display:flex;
align-items:center;
gap:25px;
position:relative;
}

.mega-dropdown{
position:relative;
}

.mega-menu{
display:none;
position:absolute;
top:100%;
left:50%;
transform:translateX(-50%);

width:1000px;
max-width:90vw;

background:white;
padding:40px;

box-shadow:0 15px 40px rgba(0,0,0,0.15);
border-radius:8px;

grid-template-columns:repeat(4,1fr);
gap:40px;

z-index:1000;
}

/* Keep dropdown open while hovering either the parent OR the menu */

.mega-dropdown:hover .mega-menu,
.mega-menu:hover{
display:grid;
}

/* Invisible bridge so mouse movement doesn't close menu */

.mega-dropdown::after{
content:"";
position:absolute;
top:100%;
left:0;
width:100%;
height:20px;
}
.contact-intro{
margin-bottom:40px;
font-size:18px;
color:#444;
}
.contact-container{
display:flex;
justify-content:center;
align-items:flex-start;
gap:80px;
margin-top:50px;
}

.contact-form{
background:white;
padding:40px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
width:420px;
color:#222;
}

.contact-form h2{
text-align:center;
margin-bottom:30px;
color:#1e3a8a;
font-size:22px;
}

.form-row{
display:flex;
gap:20px;
margin-bottom:20px;
}

.input-group{
display:flex;
flex-direction:column;
width:100%;
}

.input-group label{
font-size:13px;
margin-bottom:6px;
color:#444;
}

.input-group input,
.input-group select,
.input-group textarea{
padding:12px;
border:1px solid #ddd;
border-radius:6px;
font-size:14px;
}

textarea{
resize:none;
}

.submit-btn{
background:#1e3a8a;
color:white;
padding:12px 25px;
border:none;
border-radius:6px;
cursor:pointer;
margin-top:10px;
font-weight:500;
}

.submit-btn:hover{
background:#162d66;
}

.contact-info{
text-align:left;
max-width:250px;
}

.contact-info h3{
color:#1e3a8a;
margin-top:20px;
}
.about-section{
padding:80px 10%;
background:white;
max-width:1000px;
margin:auto;
}

.about-section h2{
font-size:34px;
margin-bottom:20px;
color:black;
}
.about-tagline{
font-size:24px;
font-weight:600;
margin:30px auto;
color:#1e3a8a;
text-align:center;
max-width:700px;
}

.about-section p{
margin-bottom:18px;
line-height:1.7;
font-size:16px;
color:#333;
}
.mission-section h2{
font-size:34px;
margin-bottom:25px;
color:black;
}
.mission{
color:#1e3a8a;        /* consulting-style blue */
text-align:center;    /* center the text */
font-size:20px;
font-weight:500;
max-width:800px;
margin:40px auto;
line-height:1.6;
}
.about-page{
padding:40px 10%;
max-width:900px;
margin:auto;
line-height:1.7;
}
.about-page{
padding:40px 10%;
}

.logo-philosophy{
padding:90px 10%;
}
.about-page h1{
margin-bottom:5px;
}

.logo-philosophy h2{
margin-top:1px;
margin-bottom:15px;
}

.about-page h1{
font-size:36px;
color:black;
margin-bottom:25px;
}

.about-page h2{
font-size:24px;
margin-top:50px;
color:black;
}
section{
padding:60px 10%;
}

.logo-subtitle{
color:#1e3a8a;
text-align:center;
margin-bottom:30px;
}

.logo-diagram{
display:block;
margin:30px auto;
max-width:350px;
}/* ABOUT HERO */

.about-hero{
background-image:url("about-banner.jpg");
background-size:cover;
background-position:center;
height:320px;
display:flex;
align-items:center;
justify-content:center;
color:white;
font-size:36px;
font-weight:bold;
}

/* ABOUT TEXT */

.about-page{
padding:80px 10%;
max-width:900px;
margin:auto;
line-height:1.7;
}

/* LOGO PHILOSOPHY */

.logo-philosophy{
padding:80px 10%;
text-align:center;
max-width:1000px;
margin:auto;
}

.philosophy-subtitle{
color:#1e3a8a;
font-weight:600;
margin-bottom:30px;
}

.philosophy-image{
max-width:500px;
display:block;
margin:30px auto;
}

.philosophy-text{
line-height:1.7;
text-align:left;
margin-top:20px;
}
.about-hero{
background-image:url("about-banner.jpg");
background-size:cover;
background-position:center;
min-height:420px;
display:flex;
align-items:center;
justify-content:center;
color:white;
font-size:36px;
font-weight:bold;
}
.clients-section{
padding:80px 10%;
max-width:900px;
margin:auto;
line-height:1.7;
}

.clients-section h2{
font-size:34px;
color:black;
margin-bottom:25px;
}

.clients-quote{
color:#1e3a8a;
text-align:center;
font-weight:500;
font-size:18px;
margin-bottom:40px;
}

.ideal-heading{
text-align:center;
margin:30px 0 20px 0;
font-weight:600;
}

.industry-box{
border:2px solid #4CAF50;
border-radius:10px;
padding:15px;
text-align:center;
margin:25px 0;
font-weight:500;
}
.clients-section{
padding:80px 10%;
max-width:900px;
margin:auto;
line-height:1.7;
background:white;
}
.our services{
text-align:center;
font-size:34px;
color:black;
margin-bottom:30px;
}
form{
max-width:500px;
margin:30px auto;
}

input, textarea{
width:100%;
padding:10px;
margin-top:5px;
margin-bottom:15px;
border:1px solid #ccc;
border-radius:5px;
}

button{
background:#1e3a8a;
color:white;
padding:10px 20px;
border:none;
border-radius:5px;
cursor:pointer;
}
.contact-info{
background:white;
padding:40px;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
max-width:350px;
}

.contact-info h3{
color:#1e3a8a;
margin-bottom:10px;
}

.contact-info a{
color:black;
text-decoration:none;
font-weight:500;
}

.contact-info a:hover{
color:#1e3a8a;
}
.form-row{
display:flex;
gap:20px;
margin-bottom:20px;
}

.input-group{
flex:1;
display:flex;
flex-direction:column;
}

.input-group input,
.input-group select,
.input-group textarea{
width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:6px;
box-sizing:border-box;
}
.about-section h2,
.clients-section h2,
.revenue h2,
.services h2,
.contact h2,
.mission h2{
color:#1e3a8a;
font-size:34px;
text-align:center;
margin-bottom:30px;
}.hero h1{
color:white;
font-size:42px;
}
header{
display:flex;
justify-content:space-between;
align-items:center;
padding:0 10%;
background:white;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
height:120px;
}
.logo-container{
background:#faf7f0;
padding:8px 15px;
border-radius:6px;
}
.navbar {
  height: 70px;
  display: flex;
  align-items: center;
}

.navbar img {
  height: 48px;   /* bigger logo */
  width: auto;
}
.logo img {
  height: 48px;
  width: auto;
  transform: scale(1.3);
}
/* SERVICE PAGE HERO FIX */

.service-hero{
background-size:cover;
background-position:center;
height:420px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
position:relative;
overflow:hidden;
}

/* dark overlay for readability */

.service-hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
}

/* override blue heading */

.service-hero h1{
position:relative;
z-index:2;
color:white !important;
font-size:44px;
text-align:center;
margin:0;
}
/* SERVICE PAGE HERO */

.service-hero{
width:100vw;
height:420px;

background-size:cover;
background-position:center;
background-repeat:no-repeat;

display:flex;
align-items:center;
justify-content:center;

position:relative;
text-align:center;

/* override section padding */
margin-left:calc(-50vw + 50%);
padding:0;
}

/* dark overlay */

.service-hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
}

/* heading */

.service-hero h1{
position:relative;
z-index:2;
color:white !important;
font-size:44px;
margin:0;
max-width:900px;
}
/* ===== SERVICES DROPDOWN FIX ===== */

.mega-menu{

width:850px !important;
max-width:95vw !important;

left:50% !important;
transform:translateX(-50%) !important;

padding:25px !important;

grid-template-columns:repeat(4,1fr) !important;
gap:25px !important;

box-sizing:border-box;
}

/* category headings */

.mega-menu h4{
font-size:12px !important;
margin-bottom:10px !important;
border-bottom:1px solid #e5e5e5;
padding-bottom:6px;
}

/* sub items */

.mega-menu a{
display:block;
font-size:14px !important;
margin-bottom:6px;
line-height:1.4;
}

/* prevent overflow */

body{
overflow-x:hidden;
}
/* ===== Reduce spacing in Services dropdown ===== */

.mega-menu{
gap:15px !important;      /* was 40px */
padding:20px !important;  /* was 40px */
width:900px !important;   /* slightly smaller so it fits */
}

/* reduce category spacing */

.mega-menu h4{
margin-bottom:6px !important;
font-size:15px !important;
}

/* reduce space between service links */

.mega-menu a{
margin-bottom:4px !important;
font-size:13px !important;
line-height:1.3;
}
.service{
text-decoration:none;
color:black;
display:block;
}

.service:hover{
transform:translateY(-6px);
}
/* ===== HEADER WIDTH FIX ===== */

header{
max-width:1400px;
margin:auto;
padding:0 5%;
}

/* ===== NAVBAR SPACING ===== */

.nav{
display:flex;
gap:18px;
align-items:center;
flex-wrap:nowrap;
}

/* ===== MEGA MENU FIT FIX ===== */

.mega-menu{
width:820px !important;
max-width:90vw !important;

left:50%;
transform:translateX(-50%);

padding:20px !important;

grid-template-columns:repeat(4,1fr);
gap:20px;

box-sizing:border-box;
}

/* Prevent text from pushing menu wider */

.mega-menu a{
white-space:normal;
word-break:break-word;
}

/* Ensure menu never goes off screen */

.mega-dropdown{
position:relative;
}

/* Stop page horizontal scroll */

html, body{
overflow-x:hidden;
}
/* ===== CONSULTING STYLE MEGA MENU ===== */

.nav{
display:flex;
align-items:center;
gap:28px;
position:relative;
}

/* dropdown container */

.mega-dropdown{
position:relative;
}

/* mega menu */

.mega-menu{
display:none;
position:absolute;

top:100%;
left:50%;
transform:translateX(-50%);

width:880px;
max-width:92vw;

background:white;

padding:30px;

border-radius:8px;

box-shadow:0 20px 50px rgba(0,0,0,0.12);

grid-template-columns:repeat(4,1fr);
gap:30px;

z-index:1000;

box-sizing:border-box;
}

/* show on hover */

.mega-dropdown:hover .mega-menu{
display:grid;
}

/* category titles */

.mega-menu h4{
font-size:14px;
font-weight:700;
margin-bottom:10px;

border-bottom:1px solid #e5e5e5;
padding-bottom:6px;

color:#1e3a8a;
}

/* service links */

.mega-menu a{
display:block;
text-decoration:none;
color:#333;

font-size:14px;

margin-bottom:6px;

transition:0.2s;
}

/* hover effect */

.mega-menu a:hover{
color:#1e3a8a;
transform:translateX(3px);
}

/* prevent overflow */

body{
overflow-x:hidden;
}
.service{
text-decoration:none;
color:inherit;
display:block;
}
.service{
position:relative;
}

.service-link{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:10;
}
.footer{
background:#111;
color:#ddd;
padding:60px 10%;
}

.footer-container{
display:grid;
grid-template-columns:2fr 1fr 1.5fr 1fr;
gap:40px;
}

.footer-logo{
width:160px;
margin-bottom:15px;
}

.footer-column h4{
color:white;
margin-bottom:15px;
}

.footer-column a{
display:block;
color:#ccc;
text-decoration:none;
margin-bottom:8px;
font-size:14px;
}

.footer-column a:hover{
color:white;
}

.footer-about p{
font-size:14px;
line-height:1.6;
color:#bbb;
}

.footer-bottom{
border-top:1px solid #333;
margin-top:40px;
padding-top:20px;
text-align:center;
font-size:14px;
}

.footer-bottom a{
color:#ccc;
text-decoration:none;
margin:0 5px;
}
/* Reduce spacing on Revenue Imperative page */

.about-page{
padding:35px 10% !important;
}

.about-page img{
margin:10px 0 !important;
}
/* ===== Revenue Imperative Professional Layout ===== */

.about-page{
max-width:900px;
margin:auto;
padding:40px 10%;
line-height:1.7;
}

/* Strong consulting-style headings */

.about-page h2{
font-size:28px;
margin-bottom:15px;
margin-top:30px;
color:#1e3a8a;
text-align:left;
}

/* tighten text */

.about-page p{
margin-bottom:15px;
font-size:16px;
color:#333;
}

/* improve image layout */

.about-page img{
width:100%;
max-width:900px;
display:block;
margin:25px auto;
border-radius:10px;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
}

/* section spacing */

.about-page + .about-page{
padding-top:20px;
}

/* improve hero title */

.hero h1{
font-size:42px;
margin-top:20px;
}

/* make subtitle style */

.about-page strong{
color:#1e3a8a;
}

/* CTA improvement */

.contact{
padding:60px 10%;
text-align:center;
background:#f8f8f8;
margin-top:40px;
}
/* Fix logo background */

.logo{
height:190px;
width:auto;
background:transparent;
mix-blend-mode:multiply;
}
body{
font-family:'Inter', sans-serif;
}
html{
scroll-behavior:smooth;
}
/* Revenue Imperative hero text fix */

.hero h1{
color:white !important;
}

.hero p{
color:white !important;
}
nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap; /* KEY FIX */
}

nav ul {
  display: flex;
  gap: 20px;
  flex-wrap: wrap; /* prevents overflow */
  padding: 0;
  margin: 0;
  list-style: none;
}
nav ul li a {
  font-size: 14px;
  white-space: nowrap; /* prevents breaking */
}
.logo img {
  max-height: 50px;
  width: auto;
}
@media (max-width: 768px) {

  nav {
    flex-direction: column;
    align-items: center;
  }

  nav ul {
    flex-direction: column;
    width: 100%;
    text-align: center;
    gap: 10px;
  }

  nav ul li {
    width: 100%;
  }
}
.hero h1 {
  font-size: 36px;
}

@media (max-width: 768px) {
  .hero h1 {
    font-size: 24px;
  }

  .hero p {
    font-size: 14px;
  }
}
body {
  overflow-x: hidden; /* prevents sideways scroll */
}
/* ===== FORCE LOGO LEFT ===== */

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 5% !important; /* reduce side spacing */
}

/* make logo stick left */
header a {
  margin-right: auto;
  display: flex;
  align-items: center;
}


/* push nav to right */
.nav {
  margin-left: auto;
  display: flex;
  gap: 9px;
  align-items: center;
}
/* ===== FIX ONLY REVENUE GROWTH PAGE ===== */

body:has(title:contains("Revenue Growth")) .page-header {
  background: url('images/revenue-growth-sales-transformation.jpg') no-repeat center center !important;
  background-size: cover !important;
  height: 450px !important;
}

/* REMOVE DARK OVERLAY */
body:has(title:contains("Revenue Growth")) .page-header::before {
  background: rgba(0, 0, 0, 0.2) !important; /* lighter */
}

/* FIX TEXT VISIBILITY */
body:has(title:contains("Revenue Growth")) .page-header h1 {
  color: #fff !important;
  font-size: 48px !important;
}
/* ===== REVENUE PAGE HERO (HOMEPAGE STYLE) ===== */

.revenue-page .page-header {
  background: url('images/revenue-growth-sales-transformation-resized.jpg') no-repeat center center !important;
  background-size: cover !important;
  height: 500px !important;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* LIGHT, CLEAN OVERLAY (like homepage) */
.revenue-page .page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35) !important; /* lighter than before */
  z-index: 1;
}

/* TEXT ON TOP */
.revenue-page .page-header * {
  position: relative;
  z-index: 2;
  color: white !important;
}

/* HEADING STYLE */
.revenue-page .page-header h1 {
  font-size: 48px !important;
  font-weight: 700;
  margin-bottom: 10px;
}

/* SUBTEXT (add if you include paragraph) */
.revenue-page .page-header p {
  font-size: 18px;
  max-width: 800px;
  margin: auto;
}

/* MOBILE */
@media (max-width: 768px) {
  .revenue-page .page-header {
    height: 320px !important;
  }

  .revenue-page .page-header h1 {
    font-size: 28px !important;
  }
}
.revenue-page .hero-text h5 {
  color: white !important;
}
.revenue-page .service-hero .hero-text h5 {
  color: #ffffff !important;
}
.revenue-page .service-hero .hero-text p {
  color: whitesmoke !important;
}
.revenue-page .service-hero .hero-text h2 {
  color: #ffffff !important;
  opacity: 1 !important;
}
.hero::before,
.service-hero::before {
  display: none;
}
/* ============================= */
/* SAFE RESPONSIVE PATCH */
/* Paste at VERY END of your CSS */
/* ============================= */

/* Prevent horizontal scroll */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Make all elements behave nicely */
* {
  box-sizing: border-box;
}

/* Images never overflow */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Videos/iframes responsive */
iframe, video {
  max-width: 100%;
}

/* Fix common container overflow */
.container, .wrapper, .content, section, div {
  max-width: 100%;
}

/* ============================= */
/* SMALL LAPTOPS / TABLETS */
/* ============================= */
@media (max-width: 1024px) {

  /* Reduce heading sizes */
  h1 { font-size: 42px !important; }
  h2 { font-size: 30px !important; }
  h3 { font-size: 22px !important; }

  /* Stack grids */
  .split,
  .grid,
  .row,
  .services,
  .services-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  /* Reduce spacing */
  section {
    padding: 70px 20px !important;
  }

  /* Fix padding */
  .container {
    padding: 0 20px !important;
  }
}

/* ============================= */
/* MOBILE */
/* ============================= */
@media (max-width: 768px) {

  /* Smaller text */
  h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }

  h2 { font-size: 24px !important; }
  h3 { font-size: 20px !important; }

  p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  /* Stack EVERYTHING safely */
  .split,
  .grid,
  .row,
  .services,
  .services-grid,
  .columns {
    display: block !important;
  }

  /* Fix spacing */
  section {
    padding: 60px 16px !important;
  }

  .container {
    padding: 0 16px !important;
  }

  /* Buttons full width (optional but clean) */
  .btn, button {
    width: 100%;
    text-align: center;
  }

  /* Prevent elements from overflowing */
  div, section {
    overflow-x: hidden;
  }
}
/* LIGHT, CLEAN OVERLAY (like homepage) */
.revenue-page .page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25) !important; /* lighter than before */
  z-index: 1;
}
